# Show invoice or credit note

> One invoice or credit note with its lines - and, if asked, its PDF or XRechnung XML.

- Effect: Read - Changes nothing.
- Idempotent: yes
- Stability: beta
- MCP tool: `manitu_account_financialdocument_get` on https://mcp.manitu.de/mcp
- REST: `POST https://api.manitu.de/v1/account/financialdocument/get`
- Needs: `account`
- Page: /reference/account/financialdocument/get/

## MCP tool

`manitu_account_financialdocument_get`

### Description for the model

Returns one invoice or credit note of the manitu customer account, by its type and the number printed on it (from manitu_account_financialdocument_list, or as the customer quotes it): everything the list shows, plus its lines (what was billed, quantity, period, VAT rate, net prices in cent). Leave file_format out to answer questions about it - the lines say what is on the document. Ask for file_format pdf or xml only when the customer needs the file itself; it comes base64-encoded and is long. The customer finds the PDF in the customer panel as well.

### Arguments

- `type` (string, required) - invoice or credit_note - as the list answers it. (one of `"invoice"`, `"credit_note"`)
- `number` (integer | string, required) - The number printed on the document, digits only, e.g. 1634488 - a prefix like "G" or "R" is ignored. From manitu_account_financialdocument_list or as the customer quotes it; never guess one. (minLength `1`; maxLength `64`; minimum `1`)
- `file_format` (string) - pdf, or xml (XRechnung / Factur-X) - the file as well, base64. Left out: no file. (one of `"pdf"`, `"xml"`)

### Example

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "manitu_account_financialdocument_get",
    "arguments": {
      "type": "invoice",
      "number": 1
    }
  }
}
```

## REST

`POST https://api.manitu.de/v1/account/financialdocument/get`

### Authentication

One of `X-API-Key`, `Authorization: Bearer …` - never more than one in a request.

### Request body

JSON; unknown fields are refused.

- `type` (string, required) - invoice or credit_note - as the list answers it. (one of `"invoice"`, `"credit_note"`)
- `number` (integer | string, required) - The number printed on the document, digits only, e.g. 1634488 - a prefix like "G" or "R" is ignored. From manitu_account_financialdocument_list or as the customer quotes it; never guess one. (minLength `1`; maxLength `64`; minimum `1`)
- `file_format` (string) - pdf, or xml (XRechnung / Factur-X) - the file as well, base64. Left out: no file. (one of `"pdf"`, `"xml"`)

### Response

In `data`; the rest of the body as on every call.

- `financial_document` (object, required)
  - `financial_document.type` (string, required) - An invoice, or a credit note (money manitu owes the customer). (one of `"invoice"`, `"credit_note"`)
  - `financial_document.subtype` (string | null, required) - invoice for an invoice; for a credit note credit (a credit note) or invoiceamendment (a corrected invoice). (one of `"invoice"`, `"credit"`, `"invoiceamendment"`, `null`)
  - `financial_document.number` (string, required) - The number printed on it - what the customer quotes; together with type what manitu_account_financialdocument_get takes.
  - `financial_document.reason` (string | null, required) - Why a credit note was issued; null for an invoice. (one of `"unknown"`, `"cancellation"`, `"manitu_goodwill"`, `"manitu_billingmistake"`, `"manitu_provision"`, `"encashment_provision"`, `"encashment_irrecoverable"`, `null`)
  - `financial_document.issued_on` (string | null, required) - The date of the document. (format `date`)
  - `financial_document.due_on` (string | null, required) - When an invoice is due; null for a credit note. (format `date`)
  - `financial_document.currency` (string | null, required) - e.g. "EUR".
  - `financial_document.total_net_cent` (integer | null, required) - The total without VAT, in cent - 10000 is 100.00.
  - `financial_document.total_vat_cent` (integer | null, required) - The VAT, in cent.
  - `financial_document.total_gross_cent` (integer | null, required) - The total including VAT, in cent.
  - `financial_document.payment_status` (string | null, required) - Whether it is paid - by the customer (invoice) or paid out by manitu (credit note). (one of `"unpaid"`, `"paid"`, `null`)
  - `financial_document.amount_paid_cent` (integer | null, required) - Paid so far, in cent - by the customer (invoice) or by manitu (credit note).
  - `financial_document.amount_due_cent` (integer | null, required) - Still open, in cent: total_gross_cent minus amount_paid_cent.
  - `financial_document.is_unpaid_due` (boolean, required) - An invoice not paid whose due date has come - what needs the customer's attention. Always false for a credit note.
  - `financial_document.line_list` (array of object, required) - The lines of the document, net, in its order.
    - `financial_document.line_list[].name` (string | null, required)
    - `financial_document.line_list[].description` (string | null, required)
    - `financial_document.line_list[].quantity` (number | null, required)
    - `financial_document.line_list[].service_period_start_on` (string | null, required) - The period the line is for, first day. (format `date`)
    - `financial_document.line_list[].service_period_end_on` (string | null, required) - The period the line is for, last day (inclusive). (format `date`)
    - `financial_document.line_list[].vat_rate_percent` (number | null, required) - e.g. 19.
    - `financial_document.line_list[].unit_price_net_cent` (integer | null, required) - The price of one unit without VAT, in cent.
    - `financial_document.line_list[].total_net_cent` (integer | null, required) - quantity x unit price, without VAT, in cent.
- `file` (object | null, required) - The file asked for in file_format; null if none was asked for.
  - `file.filename` (string, required)
  - `file.content_type` (string, required) - (one of `"application/pdf"`, `"application/xml"`)
  - `file.data_base64` (string, required)

### Statuses

- `200` Success.
- `400` The request does not match the declared input schema.
- `401` No credential was presented, or it was not recognised.
- `403` The credential is not permitted to use this operation.
- `500` The server failed. Nothing about the request was wrong. Whether a change took effect is not known - check before trying it again.
- `503` The channel this operation forwards through is unavailable.

### Example

```sh
curl -X POST 'https://api.manitu.de/v1/account/financialdocument/get' \
  -H 'X-API-Key: $API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"type":"invoice","number":1}'
```

## Example result

```json
{
  "financial_document": {
    "type": "invoice",
    "subtype": "invoice",
    "number": "string",
    "reason": "unknown",
    "issued_on": "2026-10-23",
    "due_on": "2026-10-23",
    "currency": "string",
    "total_net_cent": 1190,
    "total_vat_cent": 1190,
    "total_gross_cent": 1190,
    "payment_status": "unpaid",
    "amount_paid_cent": 1190,
    "amount_due_cent": 1190,
    "is_unpaid_due": true,
    "line_list": [
      {
        "name": "example.com",
        "description": "Example",
        "quantity": 1.5,
        "service_period_start_on": "2026-10-23",
        "service_period_end_on": "2026-10-23",
        "vat_rate_percent": 1.5,
        "unit_price_net_cent": 1190,
        "total_net_cent": 1190
      }
    ]
  },
  "file": {
    "filename": "string",
    "content_type": "application/pdf",
    "data_base64": "string"
  }
}
```
