Codat
Codat companies, connections, sync status and the accounting data model (invoices, bills, customers, suppliers, accounts, journals, payments) with push writes.
Read and write your SMB customers' accounting data across QuickBooks, Xero, Sage, NetSuite and more through one Codat model.
Source actions
39
Destination actions
11
Data types
21
Validation status
Implemented · fixture tested.
Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.
What you can map
accounts
- Get accountSource
One account by ID.
accounts.get - List accountsSourceIncremental
Accounts from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
accounts.list
bill payments
- Get bill paymentSource
One bill payment by ID.
bill_payments.get - List bill paymentsSourceIncremental
Bill payments from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
bill_payments.list
bills
- Create billDestinationNot retried automaticallyApproval before production
Pushes a new bill to the company's accounting platform through Codat.
bills.create - Get billSource
One bill by ID.
bills.get - List billsSourceIncremental
Bills from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
bills.list - Update billDestinationProvider duplicate protectionApproval before production
Pushes a full replacement of an existing bill through Codat (PUT); send every field the platform needs.
bills.update
companies
- Create companyDestinationNot retried automaticallyApproval before production
Creates a Codat company and returns its redirect link for the SMB to connect.
companies.create - Get companySource
One company with its connections.
companies.get - List companiesSource
Companies (your SMB customers) in the Codat instance with their connections.
companies.list - Update companyDestinationProvider duplicate protectionApproval before production
Updates a company's name or description (PATCH).
companies.update
connections
- Get connectionSource
One data connection with status and errors.
connections.get - List connectionsSource
Data connections (accounting, banking, commerce) for a company.
connections.list
credit notes
- Get credit noteSource
One credit note by ID.
credit_notes.get - List credit notesSourceIncremental
Credit notes from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
credit_notes.list
customers
- Create customerDestinationNot retried automaticallyApproval before production
Pushes a new customer to the company's accounting platform through Codat.
customers.create - Get customerSource
One customer by ID.
customers.get - List customersSourceIncremental
Customers from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
customers.list - Update customerDestinationProvider duplicate protectionApproval before production
Pushes a full replacement of an existing customer through Codat (PUT); send every field the platform needs.
customers.update
data refresh
- Refresh data typeDestinationProvider duplicate protectionApproval before production
Queues a sync of one data type from the company's platform and returns the pull operation.
data_refresh.create
data status
- List data statusSource
Last successful sync and current status per data type for a company.
data_status.list
invoices
- Create invoiceDestinationNot retried automaticallyApproval before production
Pushes a new invoice to the company's accounting platform through Codat.
invoices.create - Get invoiceSource
One invoice by ID.
invoices.get - List invoicesSourceIncremental
Invoices from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
invoices.list - Update invoiceDestinationProvider duplicate protectionApproval before production
Pushes a full replacement of an existing invoice through Codat (PUT); send every field the platform needs.
invoices.update
items
- Get itemSource
One item by ID.
items.get - List itemsSourceIncremental
Items from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
items.list
journal entries
- Get journal entrySource
One journal entry by ID.
journal_entries.get - List journal entriesSourceIncremental
Journal entries from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
journal_entries.list
journals
- Get journalSource
One journal by ID.
journals.get - List journalsSourceIncremental
Journals from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
journals.list
payments
- Get paymentSource
One payment by ID.
payments.get - List paymentsSourceIncremental
Payments from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
payments.list
pull operations
- Get pull operationSource
One data sync with progress and status.
pull_operations.get - List pull operationsSource
History of data syncs for a company.
pull_operations.list
purchase orders
- Get purchase orderSource
One purchase order by ID.
purchase_orders.get - List purchase ordersSourceIncremental
Purchase orders from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
purchase_orders.list
push operations
- Get push operationSource
Status of one push operation, including validation errors and the created record ID.
push_operations.get - List push operationsSource
History of writes pushed to the company's platform.
push_operations.list
sales orders
- Get sales orderSource
One sales order by ID.
sales_orders.get - List sales ordersSourceIncremental
Sales orders from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
sales_orders.list
suppliers
- Create supplierDestinationNot retried automaticallyApproval before production
Pushes a new supplier to the company's accounting platform through Codat.
suppliers.create - Get supplierSource
One supplier by ID.
suppliers.get - List suppliersSourceIncremental
Suppliers from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
suppliers.list - Update supplierDestinationProvider duplicate protectionApproval before production
Pushes a full replacement of an existing supplier through Codat (PUT); send every field the platform needs.
suppliers.update
tax rates
- Get tax rateSource
One tax rate by ID.
tax_rates.get - List tax ratesSourceIncremental
Tax rates from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
tax_rates.list
tracking categories
- Get tracking categorySource
One tracking category by ID.
tracking_categories.get - List tracking categoriesSourceIncremental
Tracking categories from the company's accounting platform as last synced by Codat, with modifiedDate incremental filtering.
tracking_categories.list
Authentication
Codat API key (Basic, base64-encoded)
Plans and access
Codat client with the Accounting API (or a product that includes it) enabled; write-back depends on each platform's support. The API key acts for the whole Codat instance. Data is the last synced copy; pushes write to the SMB's live accounting platform.
Test environment
Codat instances include a sandbox integration with synthetic company data; use a separate instance or companies for testing.
Rate limits
1,000 × (1 + active connected companies) requests per day and 10 concurrent requests per active company; HTTP 429 with Retry-After. Underlying platform limits also apply.
Pagination
page and pageSize (up to 5,000; Nexra uses 500) with totalResults.
Provider events
Codat webhooks for company, connection, data sync completion, push operation and record change events. Nexra event triggers are not yet available; flows run on demand or on a schedule.
Before you build a flow
- Deleting companies, connections, invoices, bills, bill payments, direct costs and journal entries, unlinking connections, API key, webhook and settings management are intentionally not automated.
- Payment, bill payment, transfer, bank transaction and journal entry pushes are not exposed; payments are read-only records in the accounting platform.
- Reads return Codat's last synced copy; queue a refresh and watch pull operations or webhooks for fresh data.
- Pushes are asynchronous and platform-dependent; a push can be Pending, then succeed or fail validation in the target platform.
- Updates are full replacements (PUT); omitted fields may be cleared by the platform.
- Codat documents no idempotency key for pushes; uncertain creates are not repeated automatically.
- Incremental reads use the documented query language (modifiedDate>…); other free-form queries are not exposed.
- Codat returns HTTP 402 when the product or plan does not include an endpoint; Nexra reports it as a permission error.
- Banking, commerce, lending, expenses and bank feeds products are not covered.
Developer reference
- Create the Codat credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Codat, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/codat and the Connections API.