curl -X GET "https://api.fitsociety.io/public/v1/finance/invoices/000000000000000000000001/accounting" \
+ -H "Authorization: Bearer <access_token>"const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fitsociety.io/public/v1/finance/invoices/{invoiceId}/accounting', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.fitsociety.io/public/v1/finance/invoices/{invoiceId}/accounting"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"invoice": {
"invoiceId": "66f7b8b1e13c8d25f4d3d90a",
"invoiceNumber": "string",
"invoiceType": "Invoice",
"originalInvoiceNumber": "string",
"issueDate": "2026-07-14",
"dueDate": "2026-07-14",
"status": "Pending",
"paymentStatus": "None",
"currency": "EUR",
"billingProfileId": "66f7b8b1e13c8d25f4d3d90a",
"locationId": "66f7b8b1e13c8d25f4d3d90a",
"issuer": {
"name": "Example name",
"vatNumber": "string",
"commerceNumber": "string",
"addressLine1": "string",
"addressLine2": "string",
"postalCode": "string",
"city": "string",
"country": "string",
"dataSource": "invoice_snapshot"
},
"recipient": {
"recipientId": "66f7b8b1e13c8d25f4d3d90a",
"name": "Example name",
"vatNumber": "string",
"commerceNumber": "string",
"addressLine1": "string",
"addressLine2": "string",
"postalCode": "string",
"city": "string",
"country": "string",
"email": "member@example.com",
"dataSource": "invoice_snapshot"
},
"items": [
{
"lineNumber": 1,
"description": "Example description",
"quantity": 1,
"unitPriceIncl": 1,
"vatRate": 1,
"amountExcl": 1,
"vatAmount": 1,
"amountIncl": 1,
"adjustmentType": "charge",
"ledgerAccountId": "66f7b8b1e13c8d25f4d3d90a",
"ledgerNumber": "string",
"ledgerName": "Example name",
"billingPeriodStart": "2026-07-14",
"billingPeriodEnd": "2026-07-14"
}
],
"totals": {
"amountExcl": 1,
"vatAmount": 1,
"amountIncl": 1,
"calculatedAmountIncl": 1,
"difference": 1
},
"warnings": [
{
"code": "ISSUER_SNAPSHOT_UNAVAILABLE",
"message": "string"
}
],
"pdfAvailable": true,
"createdAt": "2026-07-14T10:00:00.000Z"
}
},
"meta": {
"requestId": "4f849d7d-f4f1-45cc-b4b7-3984a3d17f83",
"rateLimit": {
"limit": 10,
"remaining": 9,
"resetSeconds": 1
}
}
}Get an invoice accounting document
Requires finance_invoices:read. Returns one company-scoped invoice or credit note with all its line items, signed accounting amounts, issuer/recipient identity sources, current company ledger details, recorded totals and reconciliation warnings. This single-document detail is not a paginated collection and has no line-item truncation. CreditNote amounts reverse the invoice sign; discounts reverse the line sign. Monetary fields are JSON numbers in the invoice currency, rounded to two decimal places. Unknown historical identity fields remain null; current client and ledger values are explicitly marked. Invalid numeric source data returns 500 without a partial accounting document. The PDF download is a separate request to /public/v1/finance/invoices/{invoiceId}/pdf requiring finance_invoice_pdfs:read.
curl -X GET "https://api.fitsociety.io/public/v1/finance/invoices/000000000000000000000001/accounting" \
+ -H "Authorization: Bearer <access_token>"const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fitsociety.io/public/v1/finance/invoices/{invoiceId}/accounting', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.fitsociety.io/public/v1/finance/invoices/{invoiceId}/accounting"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"invoice": {
"invoiceId": "66f7b8b1e13c8d25f4d3d90a",
"invoiceNumber": "string",
"invoiceType": "Invoice",
"originalInvoiceNumber": "string",
"issueDate": "2026-07-14",
"dueDate": "2026-07-14",
"status": "Pending",
"paymentStatus": "None",
"currency": "EUR",
"billingProfileId": "66f7b8b1e13c8d25f4d3d90a",
"locationId": "66f7b8b1e13c8d25f4d3d90a",
"issuer": {
"name": "Example name",
"vatNumber": "string",
"commerceNumber": "string",
"addressLine1": "string",
"addressLine2": "string",
"postalCode": "string",
"city": "string",
"country": "string",
"dataSource": "invoice_snapshot"
},
"recipient": {
"recipientId": "66f7b8b1e13c8d25f4d3d90a",
"name": "Example name",
"vatNumber": "string",
"commerceNumber": "string",
"addressLine1": "string",
"addressLine2": "string",
"postalCode": "string",
"city": "string",
"country": "string",
"email": "member@example.com",
"dataSource": "invoice_snapshot"
},
"items": [
{
"lineNumber": 1,
"description": "Example description",
"quantity": 1,
"unitPriceIncl": 1,
"vatRate": 1,
"amountExcl": 1,
"vatAmount": 1,
"amountIncl": 1,
"adjustmentType": "charge",
"ledgerAccountId": "66f7b8b1e13c8d25f4d3d90a",
"ledgerNumber": "string",
"ledgerName": "Example name",
"billingPeriodStart": "2026-07-14",
"billingPeriodEnd": "2026-07-14"
}
],
"totals": {
"amountExcl": 1,
"vatAmount": 1,
"amountIncl": 1,
"calculatedAmountIncl": 1,
"difference": 1
},
"warnings": [
{
"code": "ISSUER_SNAPSHOT_UNAVAILABLE",
"message": "string"
}
],
"pdfAvailable": true,
"createdAt": "2026-07-14T10:00:00.000Z"
}
},
"meta": {
"requestId": "4f849d7d-f4f1-45cc-b4b7-3984a3d17f83",
"rateLimit": {
"limit": 10,
"remaining": 9,
"resetSeconds": 1
}
}
}Authorizations
Public API access token issued by /public/v1/oauth/token. Example: Authorization: Bearer fspt_.... Each resource request rechecks the token company's current provider access. Disabling access blocks existing tokens with 403 auth.provider_unavailable.
Path Parameters
Invoice resource ID, not the business invoice number.
^[a-fA-F0-9]{24}$"000000000000000000000001"