---
title: "Reads a single Financial document"
method: GET
path: "/api/2026-10-01/resources/finance/financial_documents/{id}"
tags: ["Finance > FinancialDocument"]
---

# Reads a single Financial document

`GET /api/2026-10-01/resources/finance/financial_documents/{id}`

## Request

- Base URL: `https://api.factorialhr.com`
- URL: `https://api.factorialhr.com/api/2026-10-01/resources/finance/financial_documents/{id}`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://id.factorialhr.com/oauth/authorize`
    - Token URL: `https://id.factorialhr.com/api/oauth/token` scopes: `finance`
  - API key in header `x-api-key`

Fetch one or all financial documents for the company.

## Path parameters

- `id` string, required

## Response `200`

OK

- FinanceFinancialDocument
  - `id` string, required: Factorial unique identifier for the financial document.
  - `net_amount_cents` integer: Sum of the line items before taxes, in cents. Use `total_amount_cents` for what is actually payable.
  - `total_amount_cents` integer: Total payable on the document, taxes included, in cents.
  - `document_number` string: Number the issuer printed on the document; for a purchase, the vendor's own invoice number. Not a Factorial identifier: on a purchase it is only unique per vendor, so the same number can legitimately appear on documents from two different vendors.
  - `currency` string: ISO 4217 code of the currency the document is issued in, such as EUR or USD. Every amount on the document is expressed in it, so comparing amounts across documents without checking this is unsafe.
  - `status` 'processing' | 'review' | 'sent_to_pay' | 'paid', required: Where the document stands on its way to being paid: `processing` while it is still being prepared, `review` while it awaits review (the value is `review`, never `pending`), `sent_to_pay` once it has been sent for payment, and `paid`. This is not an approval state: a document generated from an employee expense is created already `paid`, because the money left before Factorial ever saw it.
  - `due_date` string: Date the payment falls due, as stated on the document.
  - `document_date` string: Date the issuer put on the document. Distinct from `created_at`, which is when it reached Factorial; a document can arrive weeks after it was issued.
  - `legal_entity_id` string: Factorial unique identifier for the legal entity of the financial document.
  - `vendor_id` string: Factorial unique identifier for the vendor of the financial document.
  - `file` object: File attached.
    - `id` string, required
    - `filename` string, required
    - `url` string, required
    - `size` integer, required
    - `content_type` string, required
    - `created_at` string, required
  - `updated_at` string, required: Updation date.
  - `taxes` object[], required: Taxes.
    - `amount_cents` integer
    - `percentage` number
    - `base_amount_cents` integer
    - `type` 'vat' | 'personal_income'
    - `tax_type_id` string
    - `tax_type_name` string
    - `tax_rates` object[]
      - `percentage` number, required
  - `fully_reconciled_at` string: When the document was fully matched against bank transactions. Null while any part of it remains unreconciled.
  - `recorded_at` string: When the document was posted to accounting. Only possible once `validated_at` is set.
  - `duplicate_financial_document_id` string: Factorial unique identifier for the duplicate financial document.
  - `validated_at` string: When a person confirmed the document data is correct. Validation is what unlocks recording and payment; it is not an approval decision, and says nothing about whether the spend was authorised.
  - `validated_by_id` string: Factorial unique identifier of the employee who validated the document.
  - `document_type` 'invoice' | 'receipt' | 'credit_note', required: One of `invoice`, `receipt` or `credit_note`. A document generated from an expense is typed automatically and can flip between `receipt` and `invoice` when the employee edits the expense.
  - `parent_financial_document_id` string: Factorial unique identifier for the parent financial document of the financial document.
  - `taxes_total_amount_cents` integer: Sum of every tax charged on the document, in cents.
  - `issuer_name` string: Name of the entity issuing the financial document.
  - `issuer_address_line_1` string: First line of the issuer's address.
  - `issuer_address_line_2` string: Second line of the issuer's address.
  - `issuer_city` string: City of the issuer's address.
  - `issuer_postal_code` string: Postal code of the issuer's address.
  - `issuer_state` string: State or province of the issuer's address.
  - `issuer_country_code` string: Country code of the issuer's address.
  - `issuer_tax_id` string: Tax identification number of the issuer.
  - `recipient_name` string: Name of the entity receiving the financial document.
  - `recipient_address_line_1` string: First line of the recipient's address.
  - `recipient_address_line_2` string: Second line of the recipient's address.
  - `recipient_city` string: City of the recipient's address.
  - `recipient_postal_code` string: Postal code of the recipient's address.
  - `recipient_state` string: State or province of the recipient's address.
  - `recipient_country_code` string: Country code of the recipient's address.
  - `recipient_tax_id` string: Tax identification number of the recipient.

## Changes

- **2026-11-03** `83ac9aa1de50`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/factorialhr/apis/factorial-api/changes/api/2026-10-01/resources/finance/financial_documents/:id/get.md)

---

[API](https://skmtc.dev/factorialhr/apis/factorial-api.md) - [All operations](https://skmtc.dev/factorialhr/apis/factorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/factorialhr/apis/factorial-api/revisions/83ac9aa1de50?raw)
