List intercompany bills
Operation ID: intercompanyBills
Group: Accounting › Intercompany Bills
Open in the interactive reference
GET /accounting/intercompany-bills
Read-only: Reads and returns; changes nothing.
Lists intercompany bills. Each intercompany bill is returned without its lines. To get the lines, use GET accounting/intercompany-bills/:id or POST accounting/intercompany-bills/search. To filter by intercompanyBillNumber, name, description, exchangeRate, markupAmount, or eitherEntityId, use POST accounting/intercompany-bills/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, likefromEntityId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, liketoEntityId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeintercompanyProcessId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecurrency— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likebillMarkup— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likebillDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenpaymentTerms— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likedueDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenserviceDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenstatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, liketype— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likepostingDirection— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likelastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: billDate, dueDate, serviceDate, status, type, billMarkup, postingDirection, currency, paymentTerms, lastModifiedDate
- Selectable: id, intercompanyBillNumber, name, description, fromEntityId, fromEntityName, toEntityId, toEntityName, intercompanyProcessId, intercompanyProcessName, currency, exchangeRate, billMarkup, markupAmount, billDate, paymentTerms, dueDate, serviceDate, status, voidReason, type, postingDirection, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of intercompanyBillsRow:
| Field | Type | Required | Filter | Sort | Description |
|---|---|---|---|---|---|
id |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The unique identifier for the intercompany bill. |
intercompanyBillNumber |
string | null | no | no | no | The intercompany bill number. Unique within the tenant. Example: 'ICB-1'. |
name |
string | null | no | no | no | The name of the intercompany bill. |
description |
string | null | no | no | no | A description of the intercompany bill. |
fromEntityId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The legal entity that issues the intercompany bill and is owed the amount. See id on GET base/entities. |
fromEntityName |
string | null | no | no | no | The name of the issuing legal entity. See entityName on GET base/entities. |
toEntityId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The legal entity that receives the intercompany bill and is charged for it. See id on GET base/entities. |
toEntityName |
string | null | no | no | no | The name of the receiving legal entity. See entityName on GET base/entities. |
intercompanyProcessId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The intercompany process whose intercompany receivable and payable accounts balance each legal entity's side of the bill's journal entry. Bills created by a system process that don't name one use the default 'Intercompany Transaction' process. No endpoint returns intercompany processes. |
intercompanyProcessName |
string | null | no | no | no | The name of the intercompany process. |
currency |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The currency of the intercompany bill. Every amount on the bill and its lines is in this currency. Format ISO 4217, for example 'USD'. |
exchangeRate |
decimal | null | no | no | no | The rate used to convert amounts from the intercompany bill's currency to each legal entity's functional currency. The same rate is used for both legal entities. |
billMarkup |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | How markupAmount is applied to the lines. Possible values: 'none' (no markup: markupAmount and each line's markup are 0), 'percentage' (each line's markup is its amount multiplied by markupAmount), 'flatFee' (markupAmount is a total split evenly across the lines). |
markupAmount |
decimal | null | no | no | no | The markup on the lines. How to read markupAmount depends on billMarkup. When billMarkup is 'percentage', markupAmount is a decimal fraction of each line's amount, so 0.1 is 10%. When billMarkup is 'flatFee', markupAmount is a total in the intercompany bill's currency, split evenly across the lines and rounded to 2 decimal places, with any remainder on the first line. 0 when billMarkup is 'none'. |
billDate |
date | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date of the intercompany bill. Format YYYY-MM-DD. |
paymentTerms |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The payment term of the intercompany bill. Possible values: 'net30', 'net60', 'net90', 'dueOnReceipt', 'net15', 'custom'. |
dueDate |
date | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date the intercompany bill falls due. Format YYYY-MM-DD. |
serviceDate |
date | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The start date of the service period the intercompany bill covers. Format YYYY-MM-DD. |
status |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The status of the intercompany bill. Possible values: 'draft', 'open', 'partiallySettled', 'settled', 'voided'. |
voidReason |
string | null | no | no | no | The reason given when the intercompany bill was voided. Absent when status is not 'voided'. |
type |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | How the intercompany bill was created. Possible values: 'manual' (in the application), 'system' (by a system process, such as an allocation run). |
postingDirection |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The direction of the intercompany bill's journal entry postings. Possible values: 'normal', 'reverse'. When postingDirection is 'reverse', the debit and credit accounts of the intercompany process are swapped. |
lastModifiedDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the intercompany bill last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
{
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"intercompanyBillNumber": "<intercompanyBillNumber>",
"name": "<name>",
"description": "<description>",
"fromEntityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"fromEntityName": "<fromEntityName>",
"toEntityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"toEntityName": "<toEntityName>",
"intercompanyProcessId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"intercompanyProcessName": "<intercompanyProcessName>",
"currency": "<currency>",
"exchangeRate": "19.99",
"billMarkup": "<billMarkup>",
"markupAmount": "19.99",
"billDate": "2026-01-15",
"paymentTerms": "<paymentTerms>",
"dueDate": "2026-01-15",
"serviceDate": "2026-01-15",
"status": "<status>",
"voidReason": "<voidReason>",
"type": "<type>",
"postingDirection": "<postingDirection>",
"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