List manual taxable documents
Operation ID: manualTaxableDocuments
Group: Accounting › Tax Documents › Manual Taxable Documents
Open in the interactive reference
GET /tax-documents/manual-taxable-documents
Read-only: Reads and returns; changes nothing.
Lists manual taxable documents, also called ad hoc documents. Each document has its main fields only. For the full record, with its lines, use GET tax-documents/manual-taxable-documents/:id or POST tax-documents/manual-taxable-documents/search. To match on customer name, document number, or text, use POST tax-documents/manual-taxable-documents/search.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
Query surface
id— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, liketype— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeinvoiceDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenserviceDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweendueDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweencurrency— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likepaymentStatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likehasAttachment— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweencustomerId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeentityId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, liketotalTaxAmount— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweentotalAmount— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweentotalAllocatedAmount— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweentotalOpenAmount— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenlastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, type, invoiceDate, serviceDate, dueDate, currency, paymentStatus, hasAttachment, customerId, entityId, totalTaxAmount, totalAmount, totalAllocatedAmount, totalOpenAmount, lastModifiedDate
- Selectable: id, type, taxDocumentNumber, documentNumber, title, description, invoiceDate, serviceDate, dueDate, currency, paymentStatus, paymentTerms, hasAttachment, customerId, customerName, customerNumber, entityId, entityName, totalTaxAmount, totalAmount, totalAllocatedAmount, totalOpenAmount, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of manualTaxableDocumentsRow:
| Field | Type | Required | Filter | Sort | Description |
|---|---|---|---|---|---|
id |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | Stable, platform-assigned id (a UUID) of the document — the public identifier used by GET tax-documents/manual-taxable-documents/:id. Filter e.g. filter[id][in]=<id1>,<id2>. |
type |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | Kind of document. One of 'outgoingInvoice', 'outgoingCredit', 'incomingInvoice', 'incomingCredit'. Filter target: filter[type][eq]=outgoingInvoice, which with filter[totalOpenAmount][gt]=0 selects the unmatched customer invoices. |
taxDocumentNumber |
string | null | no | no | no | System-generated tax document number, unique per tenant and human-readable. Absent until one has been assigned. Returned but NOT filterable or orderable — it identifies a specific financial document, and a sorted page would disclose the numbers in issue order; match on it through POST tax-documents/manual-taxable-documents/search. |
documentNumber |
string | null | no | no | no | Document number as it appears on the source document — the counterparty's own number for an incoming document, or one carried over from an external system. Returned but NOT filterable or orderable, on the same grounds as taxDocumentNumber; match on it through POST tax-documents/manual-taxable-documents/search. |
title |
string | null | no | no | no | Title of the document. Returned but NOT filterable or orderable by design — free text must never travel in a URL, so match on it through POST tax-documents/manual-taxable-documents/search. |
description |
string | null | no | no | no | Free-text description of the document. Returned but NOT filterable or orderable by design — free text must never travel in a URL; match on it through POST tax-documents/manual-taxable-documents/search. |
invoiceDate |
date | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Date the document was issued, as a calendar date (YYYY-MM-DD). Filter target: filter[invoiceDate][between]=2026-01-01,2026-03-31; bounds are inclusive. |
serviceDate |
date | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Date the underlying service was provided, as a calendar date (YYYY-MM-DD). Drives the tax point where it differs from the invoice date. Filter target: filter[serviceDate][gte]=2026-01-01. |
dueDate |
date | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Date payment falls due, as a calendar date (YYYY-MM-DD). Filter target: filter[dueDate][lt]=2026-01-01 selects what was already due by then. |
currency |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | Currency of this document as a 3-letter ISO 4217 code (e.g. USD, EUR). It governs every amount on this row. Filter target: filter[currency][in]=USD,EUR. |
paymentStatus |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | Settlement status of the document. One of 'paid', 'partiallyPaid', 'unpaid', 'noPaymentNeeded', 'voided', 'applied', 'unapplied', 'partiallyApplied', 'noApplicationNeeded'. Filter target: filter[paymentStatus][in]=unpaid,partiallyPaid. |
paymentTerms |
string | null | no | no | no | Payment terms recorded on the document, as free text (e.g. 'Net 30'). Returned but NOT filterable or orderable by design — free text must never travel in a URL; match on it through POST tax-documents/manual-taxable-documents/search. |
hasAttachment |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | True when the document has at least one attachment. The attachments themselves are not published by this API. Filter target: filter[hasAttachment][eq]=false finds documents still missing their supporting file. |
customerId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | Id of the customer the document is issued to (a UUID). Filter target: filter[customerId][eq]=<customerId> — this is how a customer's documents are listed. |
customerName |
string | null | no | no | no | Display name of the customer. Returned but NOT filterable or orderable — a counterparty name must not travel in a URL, and a sorted page would disclose the names in order; match on it through POST tax-documents/manual-taxable-documents/search. |
customerNumber |
string | null | no | no | no | System-generated customer number of the customer. Returned but NOT filterable or orderable, on the same grounds as customerName; match on it through POST tax-documents/manual-taxable-documents/search. |
entityId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | Id of the legal entity the document belongs to (a UUID). Filter target: filter[entityId][eq]=<entityId>. |
entityName |
string | null | no | no | no | Name of the legal entity the document belongs to. Returned but NOT filterable or orderable — it names internal organisational structure, which a sorted page would disclose in order; match on it through POST tax-documents/manual-taxable-documents/search. |
totalTaxAmount |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Sum of the tax amounts of every line, in the document currency (see currency). Filter target: filter[totalTaxAmount][gt]=0. |
totalAmount |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Sum of the total amounts of every line — the gross document total, in the document currency (see currency). Filter target: filter[totalAmount][between]=100,5000. |
totalAllocatedAmount |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Amount already allocated to this document by payments or credits, in the document currency (see currency). |
totalOpenAmount |
decimal | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Remaining unallocated balance on this document, in the document currency (see currency). Filter target: filter[totalOpenAmount][gt]=0 combined with filter[type][eq]=outgoingInvoice selects the open customer receivables. |
lastModifiedDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Instant the document record last changed, as ISO 8601 UTC (YYYY-MM-DDTHH:mm:ss.sssZ). Filter with filter[lastModifiedDate][gte]= and sort with sort=lastModifiedDate for a complete incremental-sync cursor. |
{
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"type": "<type>",
"taxDocumentNumber": "<taxDocumentNumber>",
"documentNumber": "<documentNumber>",
"title": "<title>",
"description": "<description>",
"invoiceDate": "2026-01-15",
"serviceDate": "2026-01-15",
"dueDate": "2026-01-15",
"currency": "<currency>",
"paymentStatus": "<paymentStatus>",
"paymentTerms": "<paymentTerms>",
"hasAttachment": true,
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerName": "<customerName>",
"customerNumber": "<customerNumber>",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"entityName": "<entityName>",
"totalTaxAmount": "19.99",
"totalAmount": "19.99",
"totalAllocatedAmount": "19.99",
"totalOpenAmount": "19.99",
"lastModifiedDate": "2026-01-15T09:30:00.000Z"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<nextCursor>"
}
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error