Director Loans & S455

A practical guide to managing Director Loan Accounts (DLAs) in SpeyBooks, from recording individual transactions through to year-end S455 Corporation Tax exposure and Benefit in Kind calculations.

A Director Loan Account tracks money flowing between a limited company and its directors. When a director withdraws money beyond salary and dividends, the DLA becomes overdrawn - the director owes money to the company. This has real tax consequences: S455 Corporation Tax on the overdrawn balance and, if the loan exceeds GBP 10,000, a Benefit in Kind charge.

SpeyBooks automates the double-entry journals, tracks running balances per director, calculates S455 exposure in real time, and produces year-end snapshots for CT600 and P11D reporting.

Tax information, not tax advice This guide explains how SpeyBooks calculates DLA balances, S455 exposure, and Benefit in Kind using published HMRC rates and rules. It is not tax advice. Directors should consult their accountant for decisions about loan repayment timing, dividend strategies, and CT600 reporting.

For the full endpoint reference, see Director Loans API.


How DLA balances work

DLA balances follow a simple convention:

BalanceMeaningTax implications
Positive (overdrawn)Director owes the companyS455 charge at 33.75%, possible BiK
ZeroSquareNone
Negative (in credit)Company owes the directorNone - director is a creditor

The balance is a running total of all DLA transactions for a director. Every transaction you record through the API updates the balance and creates the corresponding double-entry journal automatically.


Transaction types

Each DLA transaction has a loanType that determines the sign convention and journal accounts. The API enforces that the amountPence sign matches the loan type - you cannot accidentally record a negative loan advance or a positive repayment.

Loan typeDirectionSignUse case
loan_to_directorCompany to directorPositiveDirector draws money from the company
loan_from_directorDirector to companyNegativeDirector lends money to the company
repayment_to_companyDirector to companyNegativeDirector repays an overdrawn balance
repayment_to_directorCompany to directorPositiveCompany repays money owed to a director
dividend_offsetDirector to companyNegativeDeclared dividend applied against overdrawn balance
salary_offsetDirector to companyNegativeSalary applied against overdrawn balance
write_offCompany absorbsPositiveCompany writes off the loan (treated as earnings, not dividend)

The dividend_offset and salary_offset types are used when a director's dividend or salary is applied against their overdrawn DLA balance. These types record the offset against the DLA balance.

The write_off type has specific tax implications. When you record a write-off, the API returns a warnings.writeOff field in the response explaining that write-offs are treated as earnings (not dividends) and are subject to Income Tax, Class 1 NI, and employer NI. The warning is informational - the transaction is still recorded.


Recording a loan

When a director draws money from the company, record a loan_to_director transaction. The amountPence must be positive because money flows from the company to the director.

The API creates a double-entry journal automatically: debit the Director Loan Account, credit the bank account. You can disable journal creation with "createJournal": false if you need to record the DLA entry without the corresponding ledger posting (for example, when importing historical data where the bank transaction already exists).

Use an idempotency key for all POST requests to prevent duplicates if a network timeout forces a retry.


Recording a repayment

When a director repays money to the company, record a repayment_to_company transaction. The amountPence must be negative because money flows from the director to the company, reducing the overdrawn balance.

The same sign convention applies to dividend_offset, salary_offset, loan_from_director, and write_off - all of these reduce the director's balance (or increase the company's liability), so all take negative amounts.


Checking the balance

The balance endpoint returns the running DLA position for a director, including real-time S455 exposure and Benefit in Kind applicability.

Key fields in the response:

balancePence is the director's individual DLA balance. Positive means overdrawn (director owes the company). aggregatedBalancePence includes connected persons' balances for S455 calculation purposes - HMRC aggregates balances across connected directors when determining the S455 threshold.

The s455 object shows whether the director has S455 exposure. exposed is true when the aggregated balance is positive. rate is the applicable S455 rate for the current period (33.75% for periods ending before 6 April 2026, 35.75% from 6 April 2026). exposurePence is the tax charge: balance multiplied by the rate.

The bik object shows whether the loan triggers a Benefit in Kind. applicable is true when the loan balance exceeds the threshold (currently 1000000 pence, i.e. GBP 10,000). Loans below GBP 10,000 are exempt from BiK. When applicable, the company must report the benefit on the director's P11D.

Use GET /director-loans/balance (without a director ID) to retrieve balances for all active directors in a single request.


S455 Corporation Tax exposure

S455 is a temporary Corporation Tax charge on overdrawn director loans. When a director owes money to the company at year-end, HMRC charges Corporation Tax on the outstanding balance. SpeyBooks applies the rate automatically based on the period end date: 33.75% for periods ending before 6 April 2026, and 35.75% from 6 April 2026 onwards. The charge is refunded when the loan is repaid, but the company must pay it upfront and wait for the refund.

The S455 exposure endpoint aggregates the position across all directors:

totalOverdrawnPence is the sum of all positive (overdrawn) balances. totalExposurePence is the total S455 tax charge. The directors array breaks this down per director, including a bikApplicable flag for each.

This endpoint is designed for CT600 planning. Run it before year-end to understand your total S455 position for CT600 reporting.

S455 timing

The S455 charge applies to overdrawn balances at the accounting period end date. SpeyBooks calculates the S455 deadline based on the standard rule of 9 months and 1 day after the period end - so for a 31 March 2026 year-end, the calculated deadline is 1 January 2027.

If the director repays the loan before the 9-month deadline, the S455 charge is refunded. This is why the balance at the snapshot date matters more than the running balance: a director can be overdrawn during the year, repay before year-end, and avoid S455 entirely.

Avoiding "bed and breakfasting"

HMRC has anti-avoidance rules that prevent directors from repaying a loan just before year-end and drawing it again shortly after. If a director repays GBP 5,000 or more and then borrows GBP 5,000 or more within 30 days, the repayment is disregarded for S455 purposes. SpeyBooks tracks this pattern and includes warnings when it detects potential bed-and-breakfasting.


Benefit in Kind

When a director's overdrawn DLA balance exceeds GBP 10,000 at any point during the tax year, the loan is treated as a taxable benefit. The company must report it on the director's P11D and pay Class 1A National Insurance on the benefit.

The BiK value is calculated as HMRC's official interest rate (currently 3.75%) applied to the average overdrawn balance during the year. This is computed by the year-end snapshot.

The GBP 10,000 threshold applies per director, not per transaction. A series of small loans that collectively exceed the threshold will trigger BiK. When applicable, HMRC generally requires the benefit to be reported on the director's P11D. SpeyBooks calculates the BiK value to assist with this reporting.


Year-end snapshots

At year-end, create a snapshot for each director to freeze the DLA position at the period end date. The snapshot captures the closing balance, S455 exposure, BiK calculation, and sets the relevant deadlines.

Creating a snapshot does not change any balances or create any transactions - it is a point-in-time record for reporting purposes.

List all snapshots with GET /director-loans/snapshots, optionally filtered by director:

curl "https://api.speybooks.com/v1/director-loans/snapshots?directorId=dir_1" \
  -H "Authorization: Bearer sk_live_..."

Each snapshot returns the periodEndDate, balancePence, and s455ExposurePence. Create one snapshot per director per accounting period. The API returns 409 Conflict if a snapshot already exists for the same director and period end date.


Listing DLA transactions

Filter the transaction list by director, date range, and loan type to build reports or review DLA activity for a specific period.

Use the from and to parameters to scope to a financial year. The loanType filter accepts any of the seven types listed above, which is useful for isolating repayments or dividend offsets.


Worked example: year-end DLA workflow

Here is a typical year-end workflow for a director with an overdrawn DLA:

  1. Check exposure - call GET /director-loans/s455-exposure to see the total S455 liability across all directors

  2. Review per-director - call GET /director-loans/balance/dir_1 to see the detailed position including BiK applicability

  3. Review options - if the director intends to reduce the balance before the period ends, record the relevant transactions (dividend offset, salary offset, or repayment)

  4. Create snapshot - once the period closes, call POST /director-loans/snapshot for each director to freeze the year-end position

  5. List transactions - call GET /director-loans?directorId=dir_1&from=2025-04-01&to=2026-03-31 to get the full transaction history for the period, useful for accountant review

The snapshot captures the position at the exact period end date, so any repayments made after that date do not affect the recorded S455 exposure - though repayments made within 9 months may result in a refund of the S455 charge.


Related endpoints