Skip to main content

What You’ll Have Built

After implementing this workflow:
  • Active accounts from the AS are reflected as Accounts in Pleo.
  • Accounts are automatically kept up to date on a scheduled basis.
  • Bookkeepers can assign current, accurate accounts to expense categories in Pleo.
  • The integration aligns with Pleo’s Chart of Accounts Sync guarantees and matching model.

Who This Guide Is For

This guide is intended for:
  • Integration developers
  • Solution architects
  • Accounting platform integrators
It focuses on workflow understanding, not implementation details.

Before You Start

You should be familiar with:

Chart of Accounts Sync Workflow Overview

The Chart of Accounts in the Accounting System is the definitive list of accounts used to classify and bookkeep expenses. Each account has a code (the account number visible to admins/bookkeepers), a name, and a stable externalId that uniquely identifies it in the AS. Chart of Accounts Sync copies this structure into Pleo. The Accounting System is the source of truth; the integration’s role is to keep Pleo’s Accounts aligned with the current state of the AS so bookkeepers always have accurate, up-to-date options when assigning accounts to expense categories. Unlike Tags Sync, Chart of Accounts Sync does not have a selection step. All active accounts from the AS are synchronised into Pleo. The how-to articles in this section use a consistent example to illustrate each step. The table below shows the starting state in both systems before the sync runs.
Account (AS)AS StatusAccount (Pleo)Pleo StatusDesired Pleo State
1000 - Office SuppliesActive1000 - Office SuppliesActiveActive (no change)
2000 - TravelActive2000 - TravelArchivedUnarchived
3000 - SoftwareActiveDoes not existCreated
4000 - MarketingActive4000 - AdvertisingActiveUpdated to match AS
5000 - EntertainmentActiveArchived (not in AS)
The two steps progress as follows:
StepIntegration actionOutcome
1. Fetch and Match AccountsFetches accounts from AS and Pleo, matches by externalIdEach account is paired with a required action
2. Create, Update, and Archive AccountsCreates, updates, unarchives, and archives Accounts in PleoPleo reflects the current Chart of Accounts

Steps

1. Fetch and Match Accounts

Purpose

This step runs at the start of every Chart of Accounts Sync cycle. The integration retrieves all active accounts from the Accounting System and all Accounts from Pleo (active and archived), then matches them using the externalId field to determine what action is needed for each account.

Input

  • Active accounts from the AS Chart of Accounts
  • Active and archived Accounts from Pleo. Archived Accounts are included so they can be unarchived rather than duplicated if an account becomes active in the AS again.

Workflow Process

Output

  • Each AS account matched to a Pleo Account (or identified as new)
  • Each Pleo Account identified as requiring creation, unarchiving, updating, or no action
  • Active Pleo Accounts with no AS match flagged for archiving

Why It Matters

The matching step is the foundation of the reconciliation. Accurate matching by externalId ensures accounts are updated rather than duplicated, and that accounts removed from the AS are archived rather than left stale in Pleo.

Integration Design

If you’re an integration developer or architect, read the Sync Accounts integration design doc before implementing this step. It covers the matching rules, archiving behaviour, the taxCodeExternalId reference field, and how the sync handles each reconciliation outcome.

Step-by-Step Instructions

When you’re ready to start implementing, follow the step-by-step instructions in the accompanying how-to article.

2. Create, Update, and Archive Accounts

Purpose

This step runs immediately after the matching step. For each account requiring action, the integration creates, updates, unarchives, or archives the corresponding Account in Pleo. After all AS accounts are processed, any active Pleo Account with no matching AS account is archived.

Input

  • Active accounts from the AS Chart of Accounts (used to drive create, update, and unarchive operations)
  • The matched account set from Step 1, identifying which Pleo Accounts require action and which active Pleo Accounts have no AS match

Workflow Process

Output

  • Accounts created for AS accounts with no existing match in Pleo
  • Archived Accounts unarchived where an active AS account matches
  • Account names and codes updated where they differ from the current AS
  • Active Accounts archived where their AS account is no longer active

Why It Matters

These write operations bring Pleo’s Chart of Accounts into alignment with the AS. Without them, the account list in Pleo will drift out of date, causing bookkeepers to assign incorrect accounts to expense categories before export.

Integration Design

If you’re an integration developer or architect, read the Sync Accounts integration design doc before implementing this step. It covers the API operations, request and response structure, and the data mapping requirements.

Step-by-Step Instructions

When you’re ready to start implementing, follow the step-by-step instructions in the accompanying how-to article.

What Comes Next?

Once Chart of Accounts Sync is live, admin/bookkeepers and spenders can start using the synced accounts in Pleo: To extend your integration further:
  • Tax Sync: Sync tax codes from your Accounting System into Pleo.