Payroll → Books GL posting
When a payroll run completes, Fluide Payroll publishes aPAYROLL_RUN_COMPLETED event. Fluide Books consumes it and posts a double-entry journal entry using subsidiary-scoped payroll account mappings.
Prerequisites
- Books subsidiary configured for the company
- Payroll runs completing successfully — Run payroll
- Payroll GL mappings configured per subsidiary
Required mapping codes
Each subsidiary needs mappings for at minimum:componentCode | Debit | Credit |
|---|---|---|
SALARY_EXPENSE | Required | — |
EMPLOYER_CONTRIBUTION_EXPENSE | Required | — |
NET_SALARY_PAYABLE | — | Required |
PAYROLL_CASH | — | Required |
Steps
Complete a payroll run
Process and complete a run — Run payroll. GL posting triggers on completion, not on draft or calculate.
Tips
- Mappings are per subsidiary — multi-entity companies need a complete set for each legal entity.
- Posting is event-driven and idempotent on replay — re-consuming the same run event does not duplicate entries.
- Partner integrations: include acting-client headers on Books API calls when scoping to a merchant.
Troubleshooting
| Problem | Resolution |
|---|---|
| Run completed, no journal | Missing or incomplete payroll_account_mappings for the subsidiary. |
| Unbalanced entry | Verify debit/credit account IDs exist in the subsidiary COA. |
| Wrong amounts | Check run totals and mapping componentCode coverage. |
Related
Run payroll
Complete a run to trigger posting.
Books API reference
Mappings and journal entry endpoints.