Menu
Cookbooks
API reference
- Overview
- Companies
- Customers
- Invoices
- Articles
- Suppliers
- Supplier invoices
- Supplier payment files
- Expense claims
- Transactions
- Reconciliation
- Bank accounts
- Journal entries
- Voucher gap explanations
- Fiscal periods
- Accounts
- Fixed assets
- Documents
- Inbox items
- Dimensions
- Employees
- Salary runs
- Reports
- Imports
- Compliance check
- Skatteverket
- Peppol
- Webhooks
- Operations
- Health
Voucher gap explanations
Documented explanations for gaps in the voucher series, per BFNAR 2013:2.
Endpoints
POST/api/v1/companies/:companyId/voucher-gap-explanations: Document a gap in the verifikationsserie (BFL 5 kap 6-7 §§).
POST /api/v1/companies/:companyId/voucher-gap-explanations
voucher-gap-explanations.create · scope bookkeeping:write
Document a gap in the verifikationsserie (BFL 5 kap 6-7 §§).
Records an explanation for one or more missing voucher numbers in a series. Required when a number is unaccounted for during audit. Statutory basis: BFL 5 kap 6-7 §§ (verifikationsnummer i löpande följd utan luckor); BFNAR 2013:2 kap 8 § governs the systemdokumentation that surfaces the gap. Idempotent. Dry-runnable.
Use when: You're responding to a voucher-gap audit finding and need to document the cause. Also used by migration flows that claim numbers without filling them.
Don't use for: Falsifying a series: every gap MUST have a genuine explanation. The dashboard surfaces these for auditor review.
Pitfalls
- Idempotency-Key is mandatory.
- gap_end must be >= gap_start; a single-number gap has gap_start = gap_end.
- voucher_series is a single uppercase letter (A-Z); the same series + period + numeric range must not already exist.
Risk: low · Idempotent: yes · Reversible: no · Dry-run supported: yes
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
dry_run | string | no | true (any case) previews the write without committing it, like the X-Dry-Run: true header. Any other value commits. |
Request body
| Name | Type | Required |
|---|---|---|
fiscal_period_id | string | yes |
voucher_series | string | yes |
gap_start | number | yes |
gap_end | number | yes |
explanation | string | yes |
Response fields
| Name | Type |
|---|---|
id | string |
fiscal_period_id | string |
voucher_series | string |
gap_start | number |
gap_end | number |
explanation | string |
created_at | string |
Example request
{
"fiscal_period_id": "a8f1…",
"voucher_series": "A",
"gap_start": 142,
"gap_end": 145,
"explanation": "Migration from previous bookkeeping system on 2026-05-12: series A148-onwards corresponds to the new Accounted numbering; numbers A142-A145 were assigned in the legacy system to manual paper vouchers archived offline (BFL 7 kap retention applies). Paper vouchers are stored in the company archive under reference 2026-PAPER-Q2."
}
Example response
{
"data": {
"id": "0e9c…",
"voucher_series": "A",
"gap_start": 142,
"gap_end": 145
},
"meta": {
"request_id": "req_…",
"api_version": "2026-05-12"
}
}