Requires `manage:bank_accounts` — this writes accounting data.
**Omit `entry_ids` entirely** to book every `pending` row. Sending the
key with nothing usable in it — `[]`, or values that are not integers —
is refused with 422, never treated as "book everything". Rows flagged
`duplicate` are left alone unless you name their ids: the flag means a
transaction like this already exists, and booking it anyway is a
decision, not a default.
Refused with 422 when the statement does not balance. Resend with
`force: true` if you have checked the rows yourself.
`updated` counts rows that overwrote an existing hand-entered
transaction in place rather than creating a new one — that transaction
keeps its id and whatever it already settles.
`entries` carries every row you named that belongs to this statement,
including ones that were skipped as already `imported` or `failed`, each
with its resulting status — so a retry after a partial failure reports
what happened to every id.
Request
This endpoint expects an object.
entry_idslist of longsOptional
Rows to book. Omit the key to book every pending row; an empty or unparseable value is a 422, not a whole-statement import.
forcebooleanOptional
Book the rows even though the statement does not balance.
Response
OK
updatedinteger
Rows that overwrote an existing manual transaction in place.
transaction_idslist of longs
balance_checkobject or nullOptional