Business Central Integration

Sync projects, tasks, and time entries between Dime.Sheets and Microsoft Dynamics 365 Business Central.

Business Central Integration

Dime.Sheets integrates natively with Microsoft Dynamics 365 Business Central (BC), enabling your team to track time in Dime.Sheets while keeping your ERP system up to date.

What gets synced

Dime.Sheets entityBusiness Central entityDirection
ProjectsJobsBidirectional
TasksJob TasksBidirectional
Approved time entriesJob Journal LinesPush only

Time entries are pushed to BC only after they are approved in Dime.Sheets, ensuring that your ERP receives clean, validated data.

Prerequisites

Before configuring the integration, ensure you have:

  • A Business Central environment (online or on-premises with API access enabled)
  • An API key or service account with permissions to read/write Jobs, Job Tasks, and Job Journal Lines
  • The Dime.Sheets Business Central extension installed (available in the bc/ directory of the Dime.Sheets repository or via AppSource)

Configuration

  1. In Dime.Sheets, navigate to Settings > Integrations.
  2. Click Add Integration and select Business Central.
  3. Enter the following details:
FieldDescription
Environment URLThe OData endpoint for your BC environment (e.g., https://api.businesscentral.dynamics.com/v2.0/{tenant}/{environment})
CompanyThe BC company name to sync with
API KeyThe API key for authentication
Sync DirectionPush, Pull, or Bidirectional
  1. Click Test Connection to verify that Dime.Sheets can reach your BC environment.
  2. Click Save and Enable.

Initial sync

When the integration is first enabled, Dime.Sheets performs a full sync:

  • Pull -- Existing Jobs and Job Tasks are imported as projects and tasks in Dime.Sheets. External IDs are mapped automatically.
  • Push -- Existing Dime.Sheets projects and tasks are created in BC if they do not already exist (matched by External ID).

After the initial sync, only incremental changes are processed.

Ongoing synchronization

  • Projects and tasks sync whenever they are created or updated in either system.
  • Time entries are pushed to BC when they are approved in Dime.Sheets. Each approved entry creates a Job Journal Line in BC with the mapped Job and Job Task.
  • Sync frequency is configurable: real-time (event-driven), hourly, or daily.

Monitoring

The Sync Log in Settings shows all sync activity:

  • Timestamp of each sync operation
  • Number of records pushed and pulled
  • Any errors with details and affected records
  • Retry status for failed operations

Troubleshooting

Connection failed: Verify your environment URL includes the correct tenant and environment name. Ensure the API key has not expired.

Records not syncing: Check that the External ID is set on both sides. Records without an External ID cannot be matched during bidirectional sync.

Duplicate entries: If you see duplicates in BC, ensure that the initial sync completed before users started creating records manually in both systems.