Moneybird – Gotchas
Dutch online accounting software for entrepreneurs and small businesses
24 gotchas across 17 resources
These are connector-specific behaviors and limitations to be aware of when integrating.
Bank Accounts2 gotchas
bankAccountsAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
bankAccountsOneMoneybird does not provide a financial account detail endpoint — this operation is unsupported. Use the bank accounts list to find the account.
Bank Feed Accounts3 gotchas
bankFeedAccountsAllMoneybird cash accounts (financial accounts with type: "cash") are surfaced with
bank_account_type: "bank", since the unified enum has no cash value. Cash accounts cannot
meaningfully receive bank feed statements and are not distinguishable from real bank accounts in
this list.
source_account_id is always null — Moneybird financial accounts have no concept of a separate
"source" account distinct from the ledger account itself.
bankFeedAccountsAddMoneybird does not support creating financial accounts via its API — this operation returns an
unsupported-operation error. Bank accounts must be set up in the Moneybird UI; once created they
appear in the Bank Feed Accounts list and their IDs can be used as bank_feed_account_id when
creating bank feed statements.
bankFeedAccountsOneMoneybird does not provide a financial account detail endpoint — this operation is unsupported. Use the bank feed accounts list to find the account.
Bank Feed Statements4 gotchas
bankFeedStatementsAllMoneybird has no bank statement list endpoint, so this operation is backed by financial mutations:
each returned statement contains exactly one transaction, and statement-level balance fields
(start_balance, end_balance) are not populated.
Results default to the current financial year and are capped at 100 records per page. To read older
mutations, pass an explicit period via pass_through: ?pass_through[filter]=period:20250101..20251231.
status reflects Moneybird's bookkeeping reconciliation state, not feed-delivery status: pending
means the transaction has not yet been manually reconciled in the Moneybird UI and can remain
pending indefinitely — it does not indicate a delivery problem. Moneybird never returns rejected.
bankFeedStatementsAddThe bank_feed_account_id must be the ID of an existing Moneybird financial account, as returned by the
Bank Feed Accounts (or Bank Accounts) list. Financial accounts cannot be created via the Moneybird API —
they must be set up in the Moneybird UI first.
Transaction amounts are sent to Moneybird as signed values derived from credit_or_debit
(debit becomes negative).
Moneybird requires a statement reference; since the unified model has no statement-level reference field,
one is generated automatically from the statement period (e.g. STMT-2026-06-30) plus the target account
and a timestamp, to reduce (not guarantee) collisions between statements created in the same request burst.
Moneybird does not deduplicate transactions by any client-supplied identifier — retrying a timed-out
request will create duplicate transactions with no way to detect the duplication via the API.
Moneybird only stores posted_date, a message (from description, or reference when description
is absent), and the signed amount per transaction. counterparty and source_transaction_id sent on
write are not persisted and will not be returned on reads; if description is present, reference is
also dropped on write. Reads always return a reference value, but it is derived from Moneybird's own
data (batch reference or transaction id), never the value originally submitted.
The response id is the id of the first transaction created (Moneybird's mutation id), consistent with
the ids returned by the list/get-one operations — it is not the id of the underlying Moneybird financial
statement, which has no direct read endpoint.
bankFeedStatementsOneMoneybird has no endpoint to fetch a bank feed statement directly; this operation reads the underlying financial mutation by id (the same id returned by the list operation and by creating a statement).
bankFeedStatementsDeleteMoneybird can only delete an entire bank statement batch, not a single transaction. The connector
resolves the passed id (a transaction id, as returned by list/get-one/create) to its parent statement
and deletes that statement — if the statement contains other transactions from the same creation
request, they are deleted too, not just the transaction identified by id.
Bill Payments1 gotcha
billPaymentsAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Bills1 gotcha
billsAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Categories1 gotcha
categoriesAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Customers1 gotcha
customersAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Expenses1 gotcha
expensesAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Invoice Items1 gotcha
invoiceItemsAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Invoices1 gotcha
invoicesAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Journal Entries1 gotcha
journalEntriesAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Ledger Accounts2 gotchas
ledgerAccountsAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
ledgerAccountsAddWhen the Moneybird administration uses the RGS chart-of-accounts scheme (the default for new Dutch
administrations), Moneybird requires an rgs_code when creating a ledger account and returns
Rgs Code is required otherwise. Provide it via pass_through:
"pass_through": [{"service_id": "moneybird", "extend_object": {"rgs_code": "WOmzNopOlv"}}]
Payments1 gotcha
paymentsAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Subsidiaries1 gotcha
subsidiariesAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Suppliers1 gotcha
suppliersAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Tax Rates1 gotcha
taxRatesAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.
Tracking Categories1 gotcha
trackingCategoriesAllMoneybird does not expose a total record count in list responses. meta.total_count will not appear.