# Invoice

> The Invoice object in the Guv API.

## Fields

| Field | Type | Description |
| --- | --- | --- |
| `id` * | string |  |
| `number` | string or null |  |
| `status` * | `draft`, `open`, `paid`, `void`, `uncollectible` |  |
| `period_start` * | string (date-time) |  |
| `period_end` * | string (date-time) |  |
| `subtotal` | [Money](/docs/api/objects/money/) |  |
| `vat` | [Money](/docs/api/objects/money/) |  |
| `total` * | [Money](/docs/api/objects/money/) |  |
| `lines` | array of object |  |
| `hosted_url` | string (uri) or null |  |
| `pdf_url` | string (uri) or null |  |
| `issued_at` * | string (date-time) |  |
| `paid_at` | string (date-time) or null |  |

\* always present

## Example

```json
{
  "id": "inv_01jbx2m9k7q4r8t5v6w3y0z1pr",
  "number": "GUV-2026-000123",
  "status": "draft",
  "period_start": "2026-10-22T13:05:00Z",
  "period_end": "2026-10-22T13:05:00Z",
  "subtotal": {
    "amount": "7.42",
    "currency": "GBP",
    "display": "£7.42"
  },
  "vat": {
    "amount": "7.42",
    "currency": "GBP",
    "display": "£7.42"
  },
  "total": {
    "amount": "7.42",
    "currency": "GBP",
    "display": "£7.42"
  },
  "lines": [
    {
      "description": "string",
      "quantity": "string",
      "unit": "string",
      "amount": {
        "amount": "7.42",
        "currency": "GBP",
        "display": "£7.42"
      }
    }
  ],
  "hosted_url": "https://guv.dev/",
  "pdf_url": "https://guv.dev/",
  "issued_at": "2026-10-22T13:05:00Z",
  "paid_at": "2026-10-22T13:05:00Z"
}
```

## Used by

- [Get an invoice](/docs/api/spend/#get-an-invoice)
