Skip to main content
Chart of Accounts Sync is how Pleo keeps its Chart of Accounts up to date by synchronising account records from an external Accounting System into Pleo. It ensures bookkeepers always have an accurate, current list of accounts to reference when mapping expense categories to accounts in Pleo, without having to manually maintain those accounts.

Purpose of Chart of Accounts Sync

Chart of Accounts Sync exists to:
  • Remove the need to manually create or maintain accounts in Pleo
  • Reflect the current state of the Chart of Accounts from the Accounting System
  • Enable accurate bookkeeping by ensuring expense categories map to the correct accounts
  • Keep account data synchronised between systems

Core Concept

Chart of Accounts Sync is based on a direct mapping between systems:
Accounting SystemPleo
Chart of Accounts entryAccount
Account identifierAccount externalId
Account numberAccount code
Account nameAccount name
Default tax code referenceAccount taxCodeExternalId
For detailed field-level mapping, see Chart of Accounts Sync Data Mapping.

How Accounts Are Used in Pleo

Accounts synced into Pleo are not assigned directly to expenses. Instead, bookkeepers map each expense category to an account in the Pleo Web App. When a spender assigns a category to an expense, the account mapped to that category is what gets used for bookkeeping and exported to the Accounting System. The full chain is:
  1. Accounting System Chart of Accounts: the source of account data
  2. Pleo Chart of Accounts: accounts are synced in and kept up to date via Chart of Accounts Sync
  3. Pleo Categories: bookkeepers map each category to an account in the Pleo Web App
  4. Expenses: when a spender selects a category on an expense, the mapped account is used for bookkeeping
This is why keeping Pleo’s Chart of Accounts accurate matters: if the account data is stale or incorrect, categories may reference the wrong accounts when expenses are exported.

What Happens in Pleo Once Synchronised

  • Each active account from the Accounting System is reflected as an account in Pleo
  • Accounts are available for bookkeepers to assign to expense categories
  • If an account’s name or code changes in the Accounting System, it is updated in Pleo on the next sync
  • Accounts no longer active in the Accounting System are archived in Pleo
This ensures expense categories always reference the correct accounts without requiring manual input.

System Guarantees

These are invariant rules that always hold true regardless of implementation or sync frequency.
GuaranteeDescription
Source of TruthThe Accounting System is the authoritative source of all account data
Structural MappingAccounts map directly from the Accounting System into Pleo
Identity ModelMatching is performed using externalId, not account name or code
Non-Destructive BehaviourAccounts are never deleted; they are only archived when no longer active in the Accounting System
IdempotencyRe-running a sync produces the same final state without duplication

Responsibility Model

Integrator Responsibilities

The integration is responsible for all synchronisation logic and API interaction.
AreaResponsibility
ConnectionConnect to the Accounting System
Data RetrievalRetrieve active accounts from the Chart of Accounts
Sync ExecutionExecute reconciliation operations in Pleo via the Chart of Accounts API
SchedulingDefine and execute sync schedule (including optional manual triggers)

Pleo Responsibilities

Pleo provides storage, user experience, and downstream usage of accounts.
AreaResponsibility
Data StorageStore accounts
User InterfaceDisplay accounts for category assignment
Category MappingAllow bookkeepers to assign accounts to expense categories
Data RetentionRetain archived accounts for historical consistency

High-Level Process

Chart of Accounts Sync runs as a single reconciliation process:
  1. Fetch active accounts from the Accounting System
  2. Fetch accounts from Pleo (active and archived)
  3. Reconcile: match by externalId and apply create, update, unarchive, or archive operations
Each sync run reconciles Pleo against the current state of the Accounting System.

Operational Model

Sync Direction

Chart of Accounts Sync is one-way only:
  • The Accounting System is the source of truth
  • The integration synchronises data from the Accounting System into Pleo
  • Pleo does not modify Accounting System data

Operational Constraints

ConstraintDescription
Scheduling OwnershipThe integration is responsible for defining when sync runs occur, including optional manual triggers
Sync ExecutionThe integration is responsible for executing sync runs and applying all changes to Pleo via the API
Execution ModelEach sync run performs full reconciliation of Pleo against the Accounting System
Rate LimitsThe integration must respect Accounting System API rate limits. See Pleo API rate limits.
ConcurrencySync runs must not overlap; only one execution may run at a time

Sync Lifecycle and Frequency

The integration is responsible for triggering all sync runs. For schedule, frequency, and rate limit details, see Chart of Accounts Sync Periodicity and Scheduling.