Retrieve an intercompany bill

Operation ID: getIntercompanyBill

Group: Accounting › Intercompany Bills

Open in the interactive reference

GET /accounting/intercompany-bills/{id}

Read-only: Reads and returns; changes nothing.

Retrieves an intercompany bill. Use the intercompany bill's id, not its intercompanyBillNumber.

The response includes the bill's lines.

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.
id path string yes The unique identifier of the intercompany bill you want to retrieve.

Response

200 Success

Under data (getIntercompanyBillOutput):

Field Type Required Description
id string yes The unique identifier for the intercompany bill.
intercompanyBillNumber string no The intercompany bill number. Unique within the tenant. Example: 'ICB-1'.
name string no The name of the intercompany bill.
description string no A description of the intercompany bill.
fromEntityId string no The legal entity that issues the intercompany bill and is owed the amount. See id on GET base/entities.
fromEntityName string no The name of the issuing legal entity. See entityName on GET base/entities.
toEntityId string no The legal entity that receives the intercompany bill and is charged for it. See id on GET base/entities.
toEntityName string no The name of the receiving legal entity. See entityName on GET base/entities.
intercompanyProcessId string 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 no The name of the intercompany process.
currency string no 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 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 no 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 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 no The date of the intercompany bill. Format YYYY-MM-DD.
paymentTerms string no The payment term of the intercompany bill. Possible values: 'net30', 'net60', 'net90', 'dueOnReceipt', 'net15', 'custom'.
dueDate date no The date the intercompany bill falls due. Format YYYY-MM-DD.
serviceDate date no The start date of the service period the intercompany bill covers. Format YYYY-MM-DD.
status string no The status of the intercompany bill. Possible values: 'draft', 'open', 'partiallySettled', 'settled', 'voided'.
voidReason string no The reason given when the intercompany bill was voided. Absent when status is not 'voided'.
type string no How the intercompany bill was created. Possible values: 'manual' (in the application), 'system' (by a system process, such as an allocation run).
postingDirection string no 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 yes The date and time the intercompany bill last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
lines array<object> no The lines of the intercompany bill. An empty array when the bill has no lines.
lines[].id string yes The unique identifier for the line.
lines[].description string no A description of the line.
lines[].amount decimal no The amount of the line before markup, in the intercompany bill's currency.
lines[].fromAccountId string no The account the issuing legal entity credits with the line's amount, typically where it records the income or recharge. Markup is credited to the issuing entity's markup account instead. See id on GET accounting/accounts/:id.
lines[].toAccountId string no The account the receiving legal entity debits with the line's amount plus markup, typically where it records the cost or asset. See id on GET accounting/accounts/:id.
lines[].fromValueAllocationId string no The numeric id of the value accounting tags on the issuing legal entity's side, not a UUID. No endpoint returns value accounting tags. Absent when value accounting tags are not in use.
lines[].toValueAllocationId string no The numeric id of the value accounting tags on the receiving legal entity's side, not a UUID. No endpoint returns value accounting tags. Absent when value accounting tags are not in use.
lines[].markupAmount decimal no The markup on the line, in the intercompany bill's currency, calculated from the bill's billMarkup and markupAmount.
lines[].fromTaxAmount decimal no The tax the issuing legal entity charges on the line (output tax), in the intercompany bill's currency. It is the rate of the issuing entity's tax configuration multiplied by the line's amount plus markup. Absent when no tax applies.
lines[].toTaxAmount decimal no The tax the receiving legal entity pays on the line and records as recoverable (input tax), in the intercompany bill's currency. It is the rate of the receiving entity's tax configuration multiplied by the line's amount plus markup. Absent when no tax applies.
{
  "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",
    "lines": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "description": "<description>",
        "amount": "19.99",
        "fromAccountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "toAccountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "fromValueAllocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "toValueAllocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "markupAmount": "19.99",
        "fromTaxAmount": "19.99",
        "toTaxAmount": "19.99"
      }
    ]
  },
  "diagnostics": [
    {
      "code": "<code>",
      "message": "<message>",
      "severity": "error",
      "path": [
        "<path>"
      ],
      "details": "<details>"
    }
  ]
}

Errors

Code Status
NOT_FOUND 400

Statuses