Deel's accounting integrations connect your Deel account to your accounting software and automatically push financial data to your General Ledger (GL). Supported platforms include NetSuite, Xero, QuickBooks, Sage, SAP, and Microsoft Dynamics Finance.
There are two types of data you can sync, each managed through a separate plugin within the same integration:
- Bill Sync Plugin - syncs invoices from contractors, EOR employees, and COR workers to your accounting software as bills, bill payments, and supporting attachments.
- GL Sync Plugin - syncs your Global Payroll (GP) and PEO data as Journal Entries to your General Ledger.
Both plugins can run simultaneously on the same integration. You don't need two separate integrations to use both.
In this article
- Understanding the two integration types
- Supported platforms
- Bill Sync Plugin (accounts payable)
- GL Sync Plugin (Global Payroll / PEO)
- Using both plugins together
Supported platforms
| Platform | Connection method |
| NetSuite | OAuth |
| Xero | OAuth |
| QuickBooks | OAuth |
| Sage | API credentials |
| SAP (GL Sync only) | API credentials |
| Microsoft Dynamics Finance | API credentials |
Understanding the two integration types
Deel offers two distinct accounting integration types. They share a common setup framework but serve different purposes.
Bill Sync (accounts payable)
- Who it's for: Teams managing invoices from contractors, EOR employees, and COR workers
- What syncs: Bills, bill payments, and PDF attachments per invoice
- Entity type: Contractors mapped as individual vendors; EOR employees and COR workers represented under a single Deel billing vendor
- Sync trigger: Configurable on invoice issued, payment initiated, or payment confirmed. Plus a daily catch-up for any invoices from the past 48 hours that failed or were missed.
GL Sync (Global Payroll / PEO)
- Who it's for: Teams running Global Payroll or PEO who need to post payroll data to their General Ledger
- What syncs: Journal Entries representing payroll runs, based on a mapping template you configure
- Entity type: Global Payroll entities mapped to your General Ledger
- Sync trigger: Manual - triggered by you after a payroll report is generated
Bill Sync Plugin (accounts payable)
The Bill Sync Plugin automates the transfer of invoice data from Deel to your accounting software. It covers invoices from contractors, EOR employees, and COR workers (formerly Shield), and creates corresponding bills, bill payments, and attachments in your accounting system.
Core capabilities
- Vendor management - contractors each map to their own individual vendor record. EOR employees and COR workers sync under the Deel billing entity (the EOR entity or Deel Ltd), not under individual employee records.
- Bill and payment sync - for each invoice, Deel creates a Bill (the payable record) and a separate Bill Payment (the payment record), even if multiple invoices were paid in a single transaction.
- Document attachment - the original invoice PDF and supporting line-item detail are automatically attached to each bill. No manual uploads needed.
What gets created in your accounting software
For each invoice, Deel creates four resources in your accounting system:
- Bill - records the invoice as a payable in your ledger.
- Bill Payment - records the payment for that specific invoice, at the same amount. This is created per invoice, even if you paid multiple invoices in one transaction.
- Bill PDF - the original invoice document, automatically attached to the Bill.
- Bill Line Attachment - the supporting line-item detail, attached to the Bill.
What syncs - and what doesn't
A common source of confusion: Deel does not sync bulk payment receipts or account statements. Instead, a separate Bill Payment is created per invoice at the exact invoice amount. Whether an invoice syncs at all depends on your integration's sync setting.
What does sync:
- Bills (one per invoice, as a payable in your ledger)
- Bill Payments (one per invoice, reflecting the payment)
- Invoice PDF attachments (auto-attached to each bill)
- Bill line attachments (supporting line-item detail)
- Adjustments (bonuses, deductions, employer taxes)
- Expense reimbursements
What does not sync:
- Bulk payment receipts or bank confirmations - a Bill Payment is created per invoice instead
- Account statements or balance reports
- Worker profile data or contract details
- Real-time or draft invoice previews
- Payslips or payroll summaries
- Invoices outside your Sync when setting's scope - see sync timing table below
Sync timing: how the "Sync when" setting works
By default, Deel only syncs invoices after payment is fully confirmed. However, you can change this behaviour in your integration's advanced settings to sync invoices earlier in the payment process.
There are three options:
| Setting | What it does |
| Sync when issued | Syncs the invoice as soon as it's finalized, before any payment has been made. When payment is later initiated, the payment record syncs automatically. |
| Sync when payment is sent | Syncs the invoice once payment is in progress (initiated or processing). Does not sync invoices that haven't entered the payment process yet. |
| Sync when paid | Syncs the invoice only after payment is fully complete. This is the most conservative option. |
Setup: five steps
Step-by-step technical instructions specific to your platform are covered in the platform-specific setup guides.
- Connect your accounting platform - authenticate using OAuth (NetSuite, Xero, QuickBooks) or API credentials (Sage, SAP, Microsoft Dynamics Finance).
- Map your billing entities - map each Deel entity to the corresponding organizational unit in your accounting platform. Depending on your platform, this is called a Subsidiary (NetSuite), Company (QuickBooks), Organization (Xero), or Entity (Sage).
- Map your accounts - assign each Deel invoice type and adjustment type to the appropriate account in your Chart of Accounts. For example: Contractor Management Fees → Software Subscriptions; EOR Salary → International Payroll.
- Advanced mapping settings (optional) - assign tracking categories to segment your costs by department, cost center, project, or location. These map to Classes, Dimensions, or Locations depending on your platform.
-
General settings - review and configure the following options to match your workflow:
- Autolink vendor - when enabled, Deel automatically links each billing entity to a matching vendor record in your accounting system once setup is complete. If disabled, vendor mapping must be done manually after setup.
- Autosync invoices - when enabled, any invoice from the previous 48 hours is included automatically whenever a sync runs.
- Sync documents - controls whether Bill PDFs and line attachments are pushed to your accounting software.
- Folder selection - specify where synced documents are stored in your accounting system.
- Default payment method mapping - set the default payment method used when creating Bill Payments in your accounting software.
Syncing protocols
- Configurable sync timing - when invoices sync depends on your Sync when setting. See the [sync timing table above]().
- Daily catch-up - a daily sync automatically picks up any invoices from the past 48 hours that failed or were missed, regardless of trigger setting.
- Validation before push - Deel checks that required fields - such as assigned GL accounts - are present before syncing. Missing data pauses the sync to prevent ledger errors.
- Multi-currency support - exchange rates are calculated at the moment of payment. If you pay in USD but a contractor receives EUR, the value in your accounting software reflects the rate at payment time.
- Audit-ready documents - every bill includes the original invoice PDF and supporting line attachment, automatically attached.
Pricing
Some ERP platforms require a specific API license or higher-tier subscription to allow external data syncing. Deel doesn't charge for the connection itself.
Key terminology
| Deel term | What it means | Also known as |
| Bill | The record of an invoice created in your accounting software, representing a payable | Invoice, Purchase Invoice, Voucher |
| Bill Payment | A separate record created per invoice to reflect its payment - created individually even if multiple invoices were paid at once | Payment posting |
| Billing entity | The party issuing the invoice. Contractors get individual vendor records; EOR employees and COR workers sync under the Deel entity | Vendor, Supplier, Creditor |
| Adjustment | A line item modifying the base invoice - bonuses, expense reimbursements, or employer taxes | Line Item, Credit/Debit Note, Surcharge |
| Chart of Accounts (COA) | Your organization's complete list of accounts categorizing money in and out | Account List, Nominal Codes |
| General Ledger (GL) | The master record of all your company's financial transactions | Nominal Ledger, Book of Accounts |
| Historical sync | Pushing invoices from before the integration was connected into your software | Back-filling, Retroactive Posting |
| Tracking category | Labels used to segment financial data by Department, Cost Center, or Project | Classes, Dimensions, Locations |
Frequently asked questions
GL Sync Plugin (Global Payroll / PEO)
The GL Sync Plugin syncs your Global Payroll (GP) and PEO data as Journal Entries to your General Ledger. Unlike the Bill Sync Plugin, this sync is triggered manually and requires setup work on the payroll side before your first sync.
Core capabilities
- Journal Entry sync - payroll data is posted to your GL as Journal Entries, not as bills. Each entry can cover multiple employees and multiple payroll line items from a single run.
- Template-based mapping - the sync is driven by a CSV mapping template configured by you, that defines how G2N payroll line items map to your Chart of Accounts.
- Manual trigger - the sync does not fire automatically. You trigger it manually after a payroll report has been generated.
Before you begin
Before connecting the GL Sync Plugin, your payroll team needs to complete G2N mapping setup. G2N mappings define the types of payroll line items for each country - such as taxable salary, employer taxes, severance, and public holiday pay. These are configured per entity on the payroll side.
Once G2N mappings are in place, you'll need to:
- Create or confirm your Chart of Accounts in your accounting software.
- Build a payroll mapping template: a CSV file that maps each G2N line item to your GL accounts and tracking categories.
- Upload the template to Deel before triggering your first sync.
What syncs - and what doesn't
What does sync:
- Journal Entries representing Global Payroll runs
- Multiple employees and line items per entry
- Account and tracking category assignments per your template
What does not sync:
- Individual payslips or pay stubs
- Payment receipts or bank confirmations
- EOR invoices - handled by the Bill Sync Plugin
- Automatic syncs on payroll approval - the sync must be triggered manually
Setup: two steps
- Connect your accounting platform - same authentication process as Bill Sync (OAuth or API credentials depending on your platform).
- Map your billing entities - map each Global Payroll entity to the corresponding organizational unit in your accounting platform: Subsidiary (NetSuite), Company (QuickBooks), Organization (Xero), or Entity (Sage).
Syncing protocols
- Manual trigger - the GL sync does not fire automatically when payroll is approved or processed. You trigger it manually once your payroll report is generated and your mapping template is ready.
- Template-driven - the sync reads your CSV mapping template to determine which G2N line items map to which GL accounts and tracking categories. Changes to your template take effect on the next sync.
- Multi-currency support - exchange rates are calculated at the time of payroll confirmation and reflected correctly in your accounting software.
Key terminology
| Deel term | What it means | Also known as |
| Journal Entry | The record created by the GL Sync representing a payroll run, posted to your GL. Can include multiple employees and line items. | GL Entry, Journal Voucher |
| G2N mapping | The configuration that defines payroll line item types per country - salary, employer taxes, severance, etc. Set up on the payroll side before syncing. | Payroll line item mapping |
| Mapping template | The CSV file that maps G2N line items to your GL accounts and tracking categories. Uploaded by you before triggering a sync. | Payroll mapping CSV |
| General Ledger (GL) | The master record where all payroll transactions are posted | Nominal Ledger, Book of Accounts |
| Tracking category | Labels used to segment payroll costs by Cost Center, Department, or Project | Classes, Dimensions, Locations |
| Chart of Accounts (COA) | Your organization's account list that payroll costs are mapped to via the template | Account List, Nominal Codes |
Frequently asked questions
Using both plugins together
The Bill Sync Plugin and GL Sync Plugin are independent of each other but can run simultaneously on the same integration. Note that Deel creates one integration per Deel entity, so running both plugins together is only possible if your Global Payroll and contractor contracts sit under the same entity. If they do, you can use a single integration to handle both day-to-day invoice syncing and Global Payroll reporting with no conflict between the two.