Summary of the process
-
Board approval and a written payroll policy. Agree authorised tokens and price source.
-
Update contracts and secure written employee opt‑in.
-
Run payroll calculation in GBP at the agreed valuation timestamp.
-
Withhold PAYE and NICs in GBP. Decide whether employer sells tokens or employee pays cash.
-
Execute token transfer, capture on‑chain evidence and submit FPS/RTI.
-
Post‑pay journals and reconcile token movements to ledgers and statements.
-
Retain all evidence for six years. Prepare for HMRC queries.
Step 1: legal framework, valuation and token types
HMRC treats crypto paid as pay under Income Tax (Earnings and Pensions) and Class 1 National Insurance Contributions. The employer must operate PAYE and report via RTI.
The taxable amount equals the fair market value in GBP at the time the employee is entitled to payment. Choose one exchange or price oracle and document the choice.
Record the exact UTC timestamp. Save the API response and any transaction ID. The record must be in the payroll file.
Select a single price source per payroll policy. Switching source mid‑payroll raises audit risk. It often delays reconciliation.
The employer must keep records for at least six years. HMRC increased data matching on crypto after the Cryptoasset Taskforce report (2018).
Choose a single exchange or oracle for valuation. Record the exact UTC timestamp and save the API response as CSV. This setup takes between 5 and 20 minutes per pay run to attach to the payroll file.
"Employers must treat cryptoassets paid to employees as earnings subject to Income Tax and National Insurance." HMRC guidance and Cryptoassets Manual.
Token classification drives operational choices and risk. The table below shows common categories and payroll consequences.
| Token type |
HMRC treatment |
Readily convertible? |
Payroll pros |
Payroll risks |
| Bitcoin (BTC) |
Treated as a cryptoasset. Taxable as earnings on receipt. |
Yes (high liquidity) |
Easy to value. Widely listed on exchanges. |
High volatility. Timing risk for value. |
| Stablecoins (e.g. USDC) |
Treated as a cryptoasset. Taxable as earnings on receipt. |
Yes (peg to fiat) |
Low volatility. Good for cross‑border pay. |
Regulatory risk if issuer is unregulated. |
| Utility token |
Likely taxable as earnings. Classification needs checking. |
Often no |
Can align with product incentives. |
Low liquidity. Valuation disputes occur. |
| Security token |
May be regulated under FSMA 2000. Seek FCA advice first. |
Varies |
Can mirror equity incentives. |
Regulatory traps and prospectus rules apply. |
| Staking rewards / airdrops |
Tax timing varies. May be taxable when received or when earned. |
No |
Good for retention schemes. |
Complex tax timing. Specialist advice may be needed. |
Warning: Do not assume token quantity sets tax. The taxable base is GBP value at entitlement. Calculating tax on token units is the most common error and causes incorrect PAYE submissions.
Cross‑border payroll raises different withholding and social security outcomes. Determine tax residency and place of work before offering crypto pay to non‑UK staff.
Confirm residency and social security position first. Use stablecoins to limit conversion volatility where feasible. Apply gross‑up clauses if the employer will meet foreign withholding. Use a PEO if registration abroad is not desired.
Always check double tax treaties and local reporting rules before the first cross‑border crypto salary payment.
Step 2: operational playbook for crypto payroll & benefits
This section gives the end‑to‑end steps from policy to payment. Each bullet is executable. Time estimates show what to expect.
Handover and governance: obtain a board resolution or authorised sign‑off. Assign a payroll owner, tax adviser and custody lead. This step normally takes 1–3 business days.
Policy drafting (what to include): Include authorised tokens, authorised exchange or oracle, valuation timestamp rule and pay frequency. Add conversion method, opt‑in, employee rights on volatility, AML/KYC standards and a dispute process.
Sample policy item: "Valuation source: Coinbase Pro spot GBP price at 09:00 UTC on pay day. Employer records API response and CSV in payroll file." This clause is concise and audit ready.
Contract amendments and employee consent: Add a salary denomination clause, a tax withholding clause and a volatility acknowledgement. Use a short opt‑in that names the token and price source.
Example clause (copy‑paste ready):
The employer will determine the GBP value of any cryptocurrency payment using the exchange and timestamp specified in the company crypto payroll policy. Income Tax and National Insurance will be deducted on the GBP value at the time the employee is entitled to the payment.
Pre‑flight checks, checklist with timeline:
- T‑28 days: Board approval and policy published.
- T‑14 days: Employee opt‑ins collected and contracts updated.
- T‑7 days: Custody account tested and test transfer executed.
- T‑1 day: Payroll run dry‑run and FPS test note prepared.
- T‑0: Live transfer, capture evidence and submit FPS.
Operational tip: the dry‑run flag prevents unexpected FX slips. Run a test transfer at least 7 days before the first live run. Testing takes between 2 and 6 hours if exchanges and payroll software are already configured.
Employee Opt‑in & Contracts
Payroll Calculation & FPS Prep
Token Transfer & Evidence Capture
Each box maps to a payroll owner action and a mandatory evidence file. Keep files in one folder per pay run.
Integrating crypto payroll into payroll and accounting packages needs explicit field mapping and a repeatable attachment process. For Xero or Sage create a current asset account named 'Crypto custody' and a payroll liability account named 'PAYE crypto'.
When running payroll map the taxable GBP amount to the normal gross pay field. This ensures FPS reports GBP.
Attach the API CSV and transaction hash to the payroll run. For Xero, add the file to payroll payrun notes; for ADP, use the client attachment field.
For automated sell‑to‑fiat flows, implement an exchange webhook that returns sale proceeds and trade ID. Capture that trade ID in the payroll file and reconcile the bank receipt to the PAYE liability.
Practical tip: use tracking categories (Xero) or cost centres (Sage/ADP) for crypto pay runs. This isolates FX gains and simplifies month‑end reconciliations.
Step 3: payroll processing, reporting, calculations and examples
Payroll teams must convert token amounts into GBP for PAYE and NICs. Two flows exist: (A) pay GBP equivalent then transfer tokens; (B) transfer tokens equal to GBP value at valuation time.
Both flows require GBP cash to pay PAYE and NICs to HMRC. HMRC will not take tax liabilities in tokens unless there is an express arrangement.
Formulas and worked examples follow, each showing exact steps for payroll teams.
Formulae:
- Taxable GBP = Token units × Spot price (GBP per token) at valuation timestamp.
- Employee Income Tax = Apply PAYE bands to the taxable GBP portion for the pay period.
- Employee NIC (Class 1 primary) and Employer NIC (Class 1 secondary) = apply NIC rates to the same taxable GBP amount.
Worked example 1, monthly salary paid in Bitcoin (clear steps and numbers):
- Gross monthly salary: £3,000.
- Valuation: 09:00 UTC on pay date. 1 BTC = £30,000.
- Tokens to transfer: 0.1 BTC. (0.1 × £30,000 = £3,000 taxable income.)
- Employee Income Tax (basic 20%): £600 deducted.
- Employee NICs (Class 1 primary example): assume £200 deducted.
- Employer NICs (Class 1 secondary example): assume £300 employer cost.
- PAYE due to HMRC: £600. NICs due: employer £300; employee £200 withheld and paid.
Execution options to cover PAYE/NICs:
- Employer sells a portion of tokens immediately to raise GBP for PAYE. This is the operationally fast way. It creates CGT events for the employer’s crypto holdings if applicable.
- Employer pays PAYE/NICs from existing GBP cash. Employer transfers full tokens to the employee. This separates tax settlement from token flow and is the correct way for many employers.
Quick note on timing: selling tokens to fund PAYE commonly delays settlement by 1–3 business days if done manually; it takes longer than expected unless automated.
Worked example 2, bonus paid in USDC (stablecoin):
- Bonus: £5,000 equivalent. Valuation set at chosen exchange at 09:00 UTC.
- Tokens transferred: USDC units equal to £5,000.
- Income Tax and NICs withheld on £5,000. If recipient later sells the USDC for profit in GBP, CGT applies to gain above the award base cost.
30‑day rule and CGT: when an employee later disposes of tokens, CGT uses base cost equal to the GBP value when received. The 30‑day rule for matching disposals applies to personal disposals and affects base cost where multiple trades occur within 30 days.
FPS, RTI and P11D practical entries
The FPS must show the full GBP taxable amount for the pay period. Add the pay method in the comment field for audit.
Example comment: "Crypto pay: BTC 0.100000 at £30,000 at 09:00 UTC; tx hash: 0xabc...; API CSV attached." This gives HMRC a clear trail.
If tokens are a benefit in kind, complete P11D entries using the GBP value at the point of benefit; for bonus tokens treated as earnings, include them in PAYE instead of P11D.
Common payroll trap: entering the token quantity into FPS instead of the GBP value. FPS must report GBP. Record token quantity only in payroll audit notes and supporting documents.
Accounting teams need clear, reproducible journal templates showing how crypto payroll posts through the ledger in GBP and token units.
For a simple example use these entries:
- Debit: Gross wages (P&L) £3,000.
- Credit: PAYE liability (HMRC) £600.
- Credit: Employee NIC payable £200.
- Credit: Employer NIC payable £300.
- Credit: Crypto custody (asset) £1,900 (reflecting net token value transferred).
If the employer sells tokens to fund PAYE, record disposal entries. Debit: Crypto custody at cost. Credit: Bank for GBP sale proceeds. Recognise gain or loss to P&L or the corporation tax pool as applicable.
Including token units and tx hash in the payroll file reduces reconciliation time. Auditors expect a clear GBP/token trail.
Step 4: accounting entries, software integration and reconciliations
All payroll events need matching ledger entries and a reconcilable audit trail from pay run to on‑chain transfer.
Sample journal when employer transfers tokens and pays PAYE from GBP cash:
| Account |
Debit |
Credit |
| Gross wage expense |
£3,000 |
|
| PAYE payable |
|
£600 |
| Employee NIC payable |
|
£200 |
| Employer NIC expense |
£300 |
|
| Crypto assets (decrease) |
|
£3,000 |
Reconciling on‑chain transactions requires linking the wallet address and transaction hash to the payroll run reference and FPS ID. Export the exchange CSV and a block explorer snapshot into the pay run folder.
Xero, Sage and ADP integration steps (concise, actionable):
- Xero: create a "Crypto payroll" pay item. Post the gross wages to payroll expense. Import exchange CSV and create bank transactions for any GBP sales. Reconcile via the bank screen.
- Sage: create liability accounts for PAYE and NICs. Post journals using the sample journal template. Attach the API CSV to the journal entry.
- ADP: configure an external payment mechanism for token settlements. ADP requires PAYE/NIC inputs in GBP. Use ADP notes to record token quantity and tx hash.
Practical note: connecting an exchange API to accounting software often takes 1–2 business days to validate credentials and map accounts. Plan for that lead time in the T‑28 to T‑7 timeline.
Cross‑border payroll, incentives and special situations
UK payroll rules apply where the employee is UK tax resident or performs duties in the UK; for remote workers, determine tax residency and place‑of‑work facts before offering crypto pay.
If the employee is resident abroad, local tax and social rules usually apply. For example, a Spanish resident paid in USDC will generally face Spanish income tax and social charges. The UK employer may then have local withholding obligations or a permanent establishment risk.
Practical controls: confirm residency and social security position. Use stablecoins to limit conversion volatility. Apply gross‑up clauses when the employer meets foreign withholding. Obtain local payroll registration or use a PEO if not registering abroad.
Check double tax treaty positions and local reporting requirements before any cross‑border crypto salary payment.
FAQ
Q1: How must GBP value be recorded on FPS?
A1: Record the full GBP taxable amount on FPS. In the FPS comment, add token type, units, price timestamp, tx hash and note that the API CSV is attached. This gives HMRC the audit trail they expect.
Q2: Can an employer pay PAYE with crypto directly to HMRC?
A2: No. HMRC does not accept crypto for PAYE unless there is an express arrangement. The employer must hold GBP to pay HMRC. If the employer sells tokens to fund PAYE, record the sale trade ID in the payroll file.
Q3: Which valuation source should a payroll policy use?
A3: Use a single exchange or oracle per policy and record the UTC timestamp. The policy should name the exact endpoint. Employers that switch sources mid‑pay run face reconciliation delays and audit queries.
Q4: How long must payroll records be kept for HMRC checks?
A4: Keep payroll evidence for six years. Include signed contract amendments, API CSVs, FPS IDs and transaction hashes. HMRC may match data across platforms when it runs checks.
Q5: What if a token has low liquidity and valuation is disputed?
A5: If liquidity is low use a documented fallback method in the policy. That could be a weighted average of available exchanges at the timestamp. If no reliable market exists, seek specialist tax advice before payment.
Q6: How to handle cross‑border employees paid in crypto?
A6: First confirm tax residency and social security. Then check local payroll obligations and treaties. Consider gross‑up clauses or a PEO. Local registration often takes 2–6 weeks.
Q7: How are later disposals treated for CGT?
A7: Base cost equals the GBP value when received. The 30‑day matching rule for disposals affects base cost when multiple sales happen within 30 days.
Practical references and links
Cryptoasset Taskforce report (HM Treasury, 2018)
HMRC Cryptoassets Manual