Magento 2 → FreeAgent. Hands-off.
Invoices, credit notes, customers, products, payments — synced from Magento into FreeAgent within minutes. Bank-transaction explanations attached against the matching invoice automatically. Full audit trail per sync run. We host the connector — you install a thin Magento module and forget about it.
Five Magento entity events flow into FreeAgent automatically — with full idempotency, retry, and audit on every step.
Invoices + payments
Magento invoices land in FreeAgent as Open AR the moment they're raised. invoice.paid attaches a bank_transaction_explanation against the matching FreeAgent invoice automatically. B2B net-terms flows leave invoices Open for manual reconciliation.
Credit notes
Magento credit memos sync as FreeAgent credit notes with original-invoice linkage. Offline-payment refunds (no parent invoice) handled. Same per-line discount + per-line tax invariants as invoices.
Income categories
Set a default FreeAgent income category URL on the binding — every invoice line that doesn't carry its own routing books to it. Live-validated against your account's category list, so typos surface form-time, not as a 422 dead-letter.
See sync status without leaving the Magento admin you already live in.
FreeAgent Status chip on grids
Sortable + filterable FreeAgent Status column on Sales → Invoices and Sales → Credit Memos. Pending / Synced / Skipped / Failed chips with hover tooltips for the underlying FreeAgent reference, skip-reason, or error code.
Detail-page info block
Every Invoice and Credit Memo detail page gets a FreeAgent info block beside Order Information — chip, FreeAgent entity reference, last sync timestamp, skip / error context.
Dead-letter banner
Failed deliveries surface as a banner on the admin config page — operator-visible without log diving. Per-row retry from the ledger dashboard re-enters the queue cleanly.
The Magento module is thin by design. The heavy lifting lives in the hosted ledger — so you never patch your connector.
No OAuth in PHP
FreeAgent OAuth lives entirely in our hosted ledger SaaS. Magento never talks to api.freeagent.com directly — no client secret on disk, no token rotation logic on your server, no breaking-API patches to ship.
Pairing-code Connect
Generate a 30-min pairing code in your Magento admin, paste it into ledger.byte8.io, and the chassis handshakes back in. No callback URL wrangling, no app secret on disk.
Centrally-patched
FreeAgent API breaks? We patch the chassis and every connected merchant gets the fix. The two known FreeAgent v2 quirks (payment_terms_in_days required on every POST, stringified numbers on responses) already catalogued and worked around — your invoice flow stays green through API drift.
60 seconds to live sync.
composer require byte8/magento-freeagent-accounting · run setup:upgrade · pair with ledger.byte8.io.