Business Central Command Line
PutData
First, we’ll let BCCL remember our credentials to BC and URL to avoid having to retype these parameters:
BCCL -w "http://bcserver:7047/BC/WS/CRONUS/Codeunit/bccl" -u demo -p jf394584jfefjg --remember
Now, we’ll create a simple file with a few new customers, in this let’s use csv:
Number,Name
"1000","Erik Hougaard"
"2000","Peter Hansson"
"3000","Mads Mathiesen"
Since there are more fields in the Customer table then the two we have in this file, we need a mapping file to link our fields to database fields. If you don’t specify a mapping file, you must supply a file with all the fields from the table.
BCCL -t mapping -s table=18 -o table18.mapping.json
First, we remove the field we don’t need and then we’ll activate all the validations.
{
"Customer": [
{
"FieldNo": 1,
"FieldName": "No.",
"MappedName": "Number",
"Validate": "true"
},
{
"FieldNo": 2,
"FieldName": "Name",
"MappedName": "Name",
"Validate": "true"
}
],
"ValidateOnInsert": "true",
"ValidateOnModify": "true"
}
Now we call BCCL, with the putdata tasktype, specify the input file with -i customers.csv, if you forget to specify the -f parameter, BCCL will try to figure out the format from the filename. We specify the mapping file and the parameter table=18.
bccl -t putdata -i customers.csv -m table18.mapping.json -s table=18
The result is returned as json, tallying up the total operations:
{
"Table": 18,
"Inserted": 3,
"Modified": 0
}
A quick look in BC find the three new customers:

If we remove the No. column from the mapping file, so there’s only one column mapping (even though there still two columns in the file)
{
"Customer": [
{
"FieldNo": 2,
"FieldName": "Name",
"MappedName": "Name",
"Validate": "true"
}
],
"ValidateOnInsert": "true",
"ValidateOnModify": "true"
}
And run the import again:
bccl -t putdata -i customers.csv -m table18.mapping.json -s table=18
The result is three new customers, this time, customer number are created from the number series:

XML
If your file is XML, you need to supply the -r parameter, to tell BCCL where the record is located in the XML file. Example, if your XML is looking like this:
12200
Adatum Corporation
.....
Then the parameter should -r /Customer/Record to tell BCCL that the Record structure under Customer is the repeating structure.
bccl -t putdata -i customers.xml -m table18.mapping.json -s table=18 -r /Customer/Record
Stub Records
BCCL can insert stub records in related tables, to fulfill relational requirements, read about stub records here.