Moneybird logo
Moneybird API

Financial mutations

Financial mutations are the transactions on your financial accounts.


List all ids and versions

GET
https://moneybird.com/api/v2
/{administration_id}/financial_mutations/synchronization{format}

Returns all financial mutations in the administration. The list contains the id and the version of the financial mutation. Check if the version of the financial mutation is newer than the version you have stored locally, use the POST variant for fetching financial mutations with the given ids.

Required scope(s)

bank

List all ids and versionspath Parameters

administration_id
administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

List all ids and versionsquery Parameters

filter
string

Filters are key:value terms separated by commas (e.g. period:this_year,state:all). Any filter you pass replaces the defaults below entirely, so include every key you need — in particular pass an explicit period (a named period or a YYYYMMDD..YYYYMMDD range) to look beyond the default financial year. Available filters:

FilterTypeDefaultDescription
periodStringthis_yearThis can either be the description of a period (this_week, prev_week, next_week, this_month, prev_month, next_month, this_quarter, prev_quarter, next_quarter, this_year, prev_year, next_year) or a custom period (201301..201302, 20130101..20130131)
stateStringCan be all, unprocessed or processed
mutation_typeStringCan be all, debit or credit
financial_account_idString
Default: period:this_year

List all ids and versions Responses

200

IDs and versions of records

object[]
id
integer | string
version
integer | string

Fetch financial mutations with given ids

POST
https://moneybird.com/api/v2
/{administration_id}/financial_mutations/synchronization{format}

Given a list of financial mutation ids, returns the financial mutation information belonging to the financial mutation. Returns a maximum of 100 financial mutations, even if more ids are provided.

Required scope(s)

bank

Fetch financial mutations with given idspath Parameters

administration_id
administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Fetch financial mutations with given ids Request Body

ids
(integer | string)[] · required

Fetch financial mutations with given ids Responses

A financial mutation

id
identifier · pattern: ^\d+$

A unique record identifier

administration_id
administration_id · pattern: ^\d+$

A unique record identifier

amount
string
code
string | null
date
string · date
message
string | null
contra_account_name
string | null
contra_account_number
string
state
string · enum
Enum values:
unprocessed
processed
Default: unprocessed
settlement_state
string · enum
Enum values:
authorised
cancelled
expired
settled
pending
refused
error
captured
Default: settled
amount_open
string
sepa_fields
object | null
batch_reference
string | null
financial_account_id
identifier · pattern: ^\d+$

A unique record identifier

currency
currency

ISO 4217 currency code

original_amount
string | null
created_at
timestamp · date-time
updated_at
timestamp · date-time
version
version
financial_statement_id
identifier · pattern: ^\d+$

A unique record identifier

processed_at
string | null · date-time
account_servicer_transaction_id
string | null
ledger_account_booking_response[]

PATCH
https://moneybird.com/api/v2
/{administration_id}/financial_mutations/{id}/link_booking{format}

Linking a booking to a financial mutation allows you to process financial mutations. Financial mutations can be linked to invoices, documents, ledger accounts and payment batches.

Required scope(s)

bank

administration_id
administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
identifier · pattern: ^\d+$ · required

A unique record identifier

format
string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json
booking_type
string · enum · required

The type of record to link the mutation to.

Enum values:
SalesInvoice
Document
LedgerAccount
PaymentTransactionBatch
PurchaseTransaction
NewPurchaseInvoice
NewReceipt
PaymentTransaction
booking_id
identifier · pattern: ^\d+$

The id of the record to link, of the type set in booking_type (e.g. the ledger account id when booking_type is LedgerAccount). Not allowed for NewPurchaseInvoice and NewReceipt — those create a new record instead of linking an existing one. To link an existing purchase invoice or receipt, use booking_type Document with the document's id.

money

The booking amount, in the administration's base currency. This is the field that carries the amount for most booking types; when linking a payment to an invoice it is the base-currency counterpart of price. For booking_type LedgerAccount send the amount here — price is ignored.

Whether to send a positive or a negative amount depends on booking_type:

booking_typeAmount
SalesInvoice, ExternalSalesInvoice, DocumentAlways positive. The payment direction is taken from the financial mutation, so refunds and credit notes also take a positive amount, whichever way the money moved
LedgerAccountPositive books in the same direction as the mutation, negative against it. Splitting a mutation over several bookings takes one request per part: an outgoing mutation of -95 consisting of 100 in costs and 5 received back takes one request with 100 and one with -5. One exception: once an incoming mutation has more booked than its own amount (its open amount went negative), positive and negative swap — a positive amount then books against the mutation
VatDocumentThe amount as it appears on the VAT return: positive when VAT is payable, negative for a refund
NewPurchaseInvoice, NewReceiptPositive when the mutation is outgoing (a purchase you paid), negative when it is incoming (money received back)
Payment, PaymentTransaction, PaymentTransactionBatch, PurchaseTransactionBatch, PurchaseTransactionIgnored — the amount comes from the record being linked
money

Amount in the booking's own currency, used when linking a payment to an invoice. The same positive/negative rules apply as for price_base (see the table there). For a foreign-currency invoice both price and price_base are required; otherwise price_base alone is enough. Only used when booking_type is SalesInvoice, ExternalSalesInvoice, Document or VatDocument; every other booking type takes its amount from price_base or ignores it.

description
string
payment_batch_identifier
string
project_id
identifier · pattern: ^\d+$

Should be a valid project id.

mark_open_sepa_transaction_as_paid
boolean | string

Status code

integer

DELETE
https://moneybird.com/api/v2
/{administration_id}/financial_mutations/{id}/unlink_booking{format}

Unlinks a booking from a financial mutation.

Required scope(s)

bank

administration_id
administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
identifier · pattern: ^\d+$ · required

A unique record identifier

format
string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json
booking_type
string · enum · required

Can be Payment or LedgerAccountBooking.

Enum values:
Payment
LedgerAccountBooking
booking_id
identifier · pattern: ^\d+$ · required

A unique record identifier

A financial mutation

id
identifier · pattern: ^\d+$

A unique record identifier

administration_id
administration_id · pattern: ^\d+$

A unique record identifier

amount
string
code
string | null
date
string · date
message
string | null
contra_account_name
string | null
contra_account_number
string
state
string · enum
Enum values:
unprocessed
processed
Default: unprocessed
settlement_state
string · enum
Enum values:
authorised
cancelled
expired
settled
pending
refused
error
captured
Default: settled
amount_open
string
sepa_fields
object | null
batch_reference
string | null
financial_account_id
identifier · pattern: ^\d+$

A unique record identifier

currency
currency

ISO 4217 currency code

original_amount
string | null
created_at
timestamp · date-time
updated_at
timestamp · date-time
version
version
financial_statement_id
identifier · pattern: ^\d+$

A unique record identifier

processed_at
string | null · date-time
account_servicer_transaction_id
string | null
ledger_account_booking_response[]

Get a financial mutation by id

GET
https://moneybird.com/api/v2
/{administration_id}/financial_mutations/{id}{format}

Returns a single financial mutation in the administration.

Required scope(s)

bank

Get a financial mutation by idpath Parameters

administration_id
administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
identifier · pattern: ^\d+$ · required

A unique record identifier

format
string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Get a financial mutation by id Responses

A financial mutation

id
identifier · pattern: ^\d+$

A unique record identifier

administration_id
administration_id · pattern: ^\d+$

A unique record identifier

amount
string
code
string | null
date
string · date
message
string | null
contra_account_name
string | null
contra_account_number
string
state
string · enum
Enum values:
unprocessed
processed
Default: unprocessed
settlement_state
string · enum
Enum values:
authorised
cancelled
expired
settled
pending
refused
error
captured
Default: settled
amount_open
string
sepa_fields
object | null
batch_reference
string | null
financial_account_id
identifier · pattern: ^\d+$

A unique record identifier

currency
currency

ISO 4217 currency code

original_amount
string | null
created_at
timestamp · date-time
updated_at
timestamp · date-time
version
version
financial_statement_id
identifier · pattern: ^\d+$

A unique record identifier

processed_at
string | null · date-time
account_servicer_transaction_id
string | null
ledger_account_booking_response[]

List all financial mutations

GET
https://moneybird.com/api/v2
/{administration_id}/financial_mutations{format}

Returns a list of financial mutations in the administration. Limited to 100 financial mutations. If you need more financial mutations, use the synchronize API.

Required scope(s)

bank

List all financial mutationspath Parameters

administration_id
administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

List all financial mutationsquery Parameters

filter
string

Filters are key:value terms separated by commas (e.g. period:this_year,state:unprocessed). Any filter you pass replaces the defaults below entirely, so include every key you need — in particular pass an explicit period (a named period or a YYYYMMDD..YYYYMMDD range) to look beyond the default financial year. Available filters:

FilterTypeDefaultDescription
periodStringthis_yearA named period (this_week, prev_week, next_week, this_month, prev_month, next_month, this_quarter, prev_quarter, next_quarter, this_year, prev_year, next_year) or a custom range (201301..201302, 20130101..20130131)
stateStringallall, unprocessed, processed or auto_booked
mutation_typeStringallall, debit or credit
financial_account_idIntegerRestrict to a single financial account
amount_fromStringLower bound on the absolute mutation amount (negative input is treated as positive)
amount_toStringUpper bound on the absolute mutation amount

Multiple values for state and mutation_type can be combined with a pipe, e.g. state:unprocessed|processed.

Default: period:this_year

List all financial mutations Responses

A list of financial mutations

id
identifier · pattern: ^\d+$

A unique record identifier

administration_id
administration_id · pattern: ^\d+$

A unique record identifier

amount
string
code
string | null
date
string · date
message
string | null
contra_account_name
string | null
contra_account_number
string
state
string · enum
Enum values:
unprocessed
processed
Default: unprocessed
settlement_state
string · enum
Enum values:
authorised
cancelled
expired
settled
pending
refused
error
captured
Default: settled
amount_open
string
sepa_fields
object | null
batch_reference
string | null
financial_account_id
identifier · pattern: ^\d+$

A unique record identifier

currency
currency

ISO 4217 currency code

original_amount
string | null
created_at
timestamp · date-time
updated_at
timestamp · date-time
version
version
financial_statement_id
identifier · pattern: ^\d+$

A unique record identifier

processed_at
string | null · date-time
account_servicer_transaction_id
string | null
ledger_account_booking_response[]