BCCL Documentation
Index

Glossary

This glossary defines the key terms and concepts used throughout the BCCL documentation. Terms are listed in alphabetical order for quick reference.


Term Definition
Agent A BCCL service instance that connects to Business Central and listens for Service Tasks to execute. Each agent registers itself with BC and appears in the Available Agents factbox on the BCCL page. Agents are identified by a unique agent ID.
Automation A reusable Service Task template configured in Business Central that can be run repeatedly on demand or on a schedule. When an Automation runs, it creates a Clone for that specific execution, preserving the template for future use.
Change Log A built-in Business Central feature that tracks record modifications (inserts, updates, deletes) for audit trail purposes. BCCL can export Change Log entries like any other BC table, which is useful for incremental data synchronization.
Clone An instance of an Automation task created for a single execution. Each time an Automation runs, BCCL creates a Clone containing the Automation's parameters. The Clone tracks the execution status, start time, end time, and any errors. The original Automation template remains unchanged.
CreateRelatedStub A mapping setting that instructs BCCL to automatically create minimal stub records in related tables during import. For example, when importing sales orders that reference a customer number not yet in BC, BCCL can create a stub Customer record with only the primary key filled in. This prevents foreign-key errors during import.
DELETEALL A BCCL task that bulk-deletes all records in a Business Central table that match a specified filter (view). Unlike DELETEDATA, which deletes specific records by primary key, DELETEALL applies a filter and removes every matching record in a single operation.
DELETEDATA A BCCL task that deletes specific records from a Business Central table. The records to delete are identified by their primary key values, provided in an input file (JSON, CSV, XML, or Excel). Only records whose primary keys match the input data are removed.
Delayed Insert An import pattern where BCCL assigns all mapped field values to a new record first and delays the Insert() until the record is complete. Without it, BCCL assigns the primary key fields, inserts, and then assigns the remaining fields. Delayed insert is designed for tables whose OnInsert trigger requires a non-primary-key field to be filled, which otherwise fails with "must have a value ... It cannot be zero or empty." Enabled with the -d flag.
Dimension Set ID A numeric identifier in Business Central that maps to a unique combination of dimension values. Rather than storing individual dimension values on each record, BC stores a single Dimension Set ID that references a set of dimension code/value pairs. BCCL can extract individual dimensions from a Dimension Set using the DimensionFromSet() mapping function.
DimensionFromSet() A mapping function available in BCCL's field mapping that extracts an individual dimension value from a Dimension Set ID field. For example, DimensionFromSet(DEPARTMENT) extracts the value of the DEPARTMENT dimension from the record's Dimension Set. This allows you to export dimensions as separate columns without writing custom AL code.
Field Mapping A JSON configuration file that defines how data columns in an external file correspond to fields in a Business Central table. A mapping specifies which fields to include, their external names (MappedName), validation behavior, format strings, and special functions like dimension extraction. See also Mapping File.
GETDATA The primary BCCL export task. GETDATA reads records from a Business Central table (optionally filtered by a view) and writes them to an output file in JSON, CSV, XML, XLSX, or SQL format. It supports paging for large datasets and field mapping for column selection and renaming.
Isolated Storage The Windows per-user encrypted storage mechanism where BCCL saves credentials, tokens, and connection settings when you use the --remember parameter. Data stored in Isolated Storage is accessible only to the Windows user who saved it, providing a secure alternative to putting credentials in scripts or configuration files.
Admin Consent Approval granted by a Microsoft Entra ID (Azure AD) tenant administrator that allows the BCCL application to sign users in with OAuth. Until it is granted, sign-in fails with an admin-approval message. An administrator grants it by using the "Have an admin account? Sign in with that account" link in the sign-in window, or from the Azure Portal under Enterprise Applications.
Mapping File A JSON file (typically named mapping.json) that defines field selection, column renaming, validation rules, format strings, and special functions for a BCCL data operation. You can create a mapping file using the Mapping Builder in the Request Builder, or generate one from the command line with -t mapping. The mapping file is referenced by the -m parameter at runtime.
MASSUPDATE A BCCL task that applies the same set of field values to every record in a Business Central table that matches a specified filter. This is useful for bulk updates such as changing a status field on all records meeting certain criteria, without needing to provide an input file with per-record values.
MappedName The external column name assigned to a Business Central field in a mapping file. When exporting data, the MappedName becomes the column header (CSV) or property name (JSON/XML). When importing data, BCCL matches incoming column headers or property names to MappedName values to determine which BC field receives each value. This allows you to use friendly names that differ from internal BC field names.
OAuth An authentication method supported by BCCL that uses the Microsoft identity platform's device code flow. When using OAuth, BCCL displays a code and URL. You open the URL in a browser, enter the code, and sign in with your Microsoft account. The access token is cached for one hour; after that, a new sign-in is required, which is why OAuth is unsuitable for long or scheduled runs. Specified with --auth OAuth.
Paging The technique of splitting large data transfers into smaller chunks (pages) to manage memory usage and avoid timeouts. BCCL requests records in pages of a configurable size (default 1000 records). The page size is set with the -z parameter. Smaller pages use less memory but require more HTTP requests.
PUTDATA The primary BCCL import task. PUTDATA reads records from an input file (JSON, CSV, XML, XLSX, or SQL query) and writes them into a Business Central table. It performs an upsert operation: new records are inserted, and existing records (matched by primary key) are updated.
Request Builder A graphical wizard built into the BCCL page in Business Central. The Request Builder lets you configure BCCL commands through a form-based interface without typing command-line parameters. It provides real-time command preview, an integrated Mapping Builder, a FilterPageBuilder for visual filter creation, and script bundle generation.
RUNCODEUNIT A BCCL task that executes a custom AL codeunit in Business Central. This allows you to trigger arbitrary server-side business logic from the command line or from a Service Task, enabling advanced automation scenarios beyond simple data import and export.
S2S Service-to-Service authentication, an OAuth 2.0 client credentials flow that uses an Azure AD application's client ID and client secret to authenticate without user interaction. S2S is the recommended authentication method for unattended automation, scheduled tasks, and CI/CD pipelines. Specified with --auth S2S.
Service Mode The run mode BCCL enters when a file named bccl_service.json exists in the same folder as BCCL.EXE. In service mode BCCL registers as an Agent and polls Business Central for Service Tasks instead of executing the task given on the command line. Without that file, BCCL runs in command-line task mode.
SystemModifiedAt A Business Central system field (field no. 2000000003) that records when a record was last modified. In BCCL view filters it is addressed as Field2000000003, for example view=WHERE(Field2000000003=1({today(-1D)}..)), to export only records changed recently. This is how command-line GETDATA runs achieve incremental replication of inserts and modifications.
Service Task A BCCL operation that is configured and managed from within Business Central rather than from the command line. Service Tasks are stored in BC, assigned to an Agent for execution, and tracked with status, logging, and error reporting. They can be one-time tasks or Automations that run repeatedly.
SQL Bundle Builder A report available in the BCCL extension for Business Central that generates complete SQL replication packages. The package includes scripts to create SQL Server tables matching BC table structures, mapping files, and BCCL commands to export data from BC into the SQL tables. This provides a turnkey solution for replicating BC data to SQL Server.
Stub Record A minimal record created in a related table during import when the CreateRelatedStub mapping option is enabled. A stub record contains only the primary key fields and is intended to satisfy foreign-key relationships. You are expected to complete the stub record with full data later.
TABLES A BCCL task that searches for Business Central tables by name or number. It is useful for discovering table numbers when you know only the table name, or for verifying that a table exists and is accessible through web services.
Upsert An operation that combines insert and update logic. When BCCL performs a PUTDATA task, it checks whether a record with the same primary key already exists. If it does, BCCL updates the existing record. If it does not, BCCL inserts a new record. This insert-or-update behavior is called an upsert.
View A filter expression in Business Central syntax that restricts which records a BCCL operation affects. Views use the BC WHERE clause format, for example: WHERE(Status=CONST(Open)). They are specified with the -s view=... parameter and are equivalent to setting a filter on a BC page.
Web Service Access Key A password alternative used for Basic authentication with Business Central cloud (SaaS) environments. Instead of your regular Microsoft account password, you generate a Web Service Access Key on your BC user card and use it as the password parameter in BCCL. Access keys have an expiration date and can be regenerated at any time.

Additional Acronyms and Abbreviations

Abbreviation Full Form
AL Application Language -- the programming language for Business Central extensions.
BC Business Central (Microsoft Dynamics 365 Business Central).
BCCL Business Central Command Line -- the data integration tool by hougaard.com.
BLOB Binary Large Object -- a field type that stores binary data such as images or documents.
CLI Command-Line Interface.
CSV Comma-Separated Values.
FTP File Transfer Protocol.
FTPS FTP over TLS/SSL (explicit encryption).
GUID Globally Unique Identifier -- a 128-bit identifier in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
JSON JavaScript Object Notation.
OData Open Data Protocol -- the web service protocol used by BC for external data access.
S2S Service-to-Service (see entry above).
SaaS Software as a Service (cloud-hosted BC).
SFTP SSH File Transfer Protocol (file transfer over SSH).
SQL Structured Query Language.
TLS Transport Layer Security (encryption for HTTPS).
UNC Universal Naming Convention -- a path format for network resources (e.g., &#\;server\share).
XML Extensible Markup Language.
XLSX The file format for modern Excel workbooks (Excel 2007 and later).
ZIP A compressed archive file format.