Dividends
Record and manage dividend declarations and payments for UK limited companies.
Dividend handling in SpeyBooks is explicit, ledger-backed, and audit-friendly. SpeyBooks records dividends, checks available profits, generates the paperwork, and calculates the tax - but it does not decide whether a dividend is lawful. Directors remain responsible for that judgment.
Plan requirement
Dividend features are available on the Limited Company plan (£25/month).
Overview
Dividends are distributions of post-tax company profits to shareholders. They are paid from distributable reserves, are not a business expense, and are taxed personally on the recipient rather than the company.
SpeyBooks treats dividends as equity movements, not operating costs. Every dividend creates proper double-entry journal entries.
Legal prerequisites
Before declaring a dividend, the company must have sufficient distributable profits (retained earnings), have accounted for corporation tax liabilities, and remain solvent immediately after payment.
SpeyBooks enforces a retained profits check but does not validate legal solvency. Directors are responsible for ensuring dividends are lawful.
Dividend lifecycle
Dividends follow a strict lifecycle with separate steps:
| Step | Endpoint | What happens |
|---|---|---|
| Profit check | GET /v1/dividends/profit-check | Verify available distributable profits |
| Board minutes | POST /v1/dividends/board-minutes | Record the board resolution approving the dividend |
| Declaration | POST /v1/dividends | Create dividend, generate voucher, post journal entries |
| Payment | PATCH /v1/dividends/{id}/pay | Mark as paid, post payment journal entries |
| Void (if needed) | POST /v1/dividends/{id}/void | Reverse the dividend with automatic reversal journals |
Each step is recorded separately and explicitly.
Step 1: Check retained profits
Before declaring, verify the company has sufficient distributable profits:
curl https://api.speybooks.com/v1/dividends/profit-check \
-H "Authorization: Bearer sk_live_..."
The response shows retained profits, previous dividends declared in the current period, and the available amount. If sufficient is false, the declaration will be rejected.
Step 2: Record board minutes
Board minutes formally record the directors' resolution to declare a dividend. SpeyBooks generates the minutes document:
curl -X POST https://api.speybooks.com/v1/dividends/board-minutes \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"date": "2026-03-31",
"description": "Interim dividend for Q1 2026"
}'
Board minutes can be downloaded as PDF:
curl https://api.speybooks.com/v1/board-minutes/bm_1/pdf \
-H "Authorization: Bearer sk_live_..." \
--output board-minutes.pdf
Step 3: Declare the dividend
Declaring a dividend creates a voucher and posts the accounting entries:
curl -X POST https://api.speybooks.com/v1/dividends \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: div-q1-2026-wm" \
-d '{
"directorId": "dir_1",
"amount": 500000,
"date": "2026-03-31"
}'
The declaration is linked to a director record (created via the Directors API), not a freetext shareholder name. This enables per-director tracking, shareholding-based allocation, and DLA integration.
Accounting entries (declaration)
| Account | Debit | Credit | Meaning |
|---|---|---|---|
| Dividends (3200) | £5,000 | Reduction in retained earnings | |
| Director's Loan (2300) | £5,000 | Liability owed to the director |
No cash movement occurs at declaration. The amount appears as a credit on the director's loan account.
Step 4: Pay the dividend
When the dividend is actually paid (cash transferred to the director):
curl -X PATCH https://api.speybooks.com/v1/dividends/div_1/pay \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"date": "2026-04-01",
"method": "bank_transfer"
}'
Accounting entries (payment)
| Account | Debit | Credit | Meaning |
|---|---|---|---|
| Director's Loan (2300) | £5,000 | DLA liability cleared | |
| Bank (1200) | £5,000 | Cash paid out |
Payment may occur on a different date from declaration.
Download dividend voucher
Each declared dividend has an associated PDF voucher with all legally required information:
curl https://api.speybooks.com/v1/dividends/div_1/voucher \
-H "Authorization: Bearer sk_live_..." \
--output dividend-voucher.pdf
The voucher includes company name and registration number, director name, shares held and total shares in issue, dividend per share, total dividend amount, declaration date, and voucher reference.
Vouchers are generated from stored data and are reproducible.
Void a dividend
If a dividend was declared in error, void it instead of deleting it. Voiding creates automatic reversal journal entries that maintain the audit trail:
curl -X POST https://api.speybooks.com/v1/dividends/div_1/void \
-H "Authorization: Bearer sk_live_..."
The original declaration and its journal entries remain visible in the ledger. The reversal entries are linked to the void action, creating a complete, traceable history.
Tax calculator
SpeyBooks includes a dividend tax calculator that computes personal tax liability with UK band breakdowns:
curl -X POST https://api.speybooks.com/v1/dividends/tax-calculator \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"totalDividends": 5000000,
"otherIncome": 5000000,
"taxYear": "2025-26"
}'
The calculator applies the dividend allowance, basic rate, higher rate, and additional rate bands for the specified tax year. It provides a breakdown of how much tax falls in each band.
Dividend summary
Retrieve a summary of all dividends declared in a financial year, grouped by director:
curl https://api.speybooks.com/v1/dividends/summary?year=2026 \
-H "Authorization: Bearer sk_live_..."
List dividends
Retrieve all dividends with filtering:
curl "https://api.speybooks.com/v1/dividends" \
-H "Authorization: Bearer sk_live_..."
Results are ordered by declaration date and include status (declared, paid, voided).
Dividend invariants
SpeyBooks enforces the following:
- Dividends are never treated as expenses
- Retained profit check runs before declaration
- Declaration and payment are separate events with separate journal entries
- Voiding creates reversal journals, never deletes entries
- All dividend movements are double-entry
- All records are auditable and reproducible
Error codes
| Code | HTTP | Description |
|---|---|---|
validation_error | 400 | Missing required fields or invalid data |
insufficient_reserves | 422 | Distributable profits insufficient for dividend |
already_paid | 422 | Dividend has already been marked as paid |
already_voided | 422 | Dividend has already been voided |
not_found | 404 | Dividend does not exist |
plan_required | 403 | Limited Company plan required |
Amount format
All dividend amounts are in minor units (pence for GBP). 500000 = £5,000.00.
Related endpoints
- Dividends API - full endpoint reference (12 endpoints)
- Board Minutes API - PDF generation
- Directors API - director management
- Director Loans API - DLA tracking, S455 exposure, snapshots