# Phase 53 — Professional Tax & Statutory Compliance Management

## New workspace
- URL: `/tax-compliance`
- Navigation: Finance & Control → Accounting → Tax & Statutory Compliance
- Cross-links added from Accounting Control Centre and Compliance & Regulatory Reporting.

## Main capabilities
1. Tax/statutory authority register.
2. Effective-dated obligation policies with maker-checker approval.
3. Branch-specific GL-backed tax periods/declarations.
4. Configurable filing frequency and due-date rules.
5. Late/back-dated GL change protection using a SHA-256 source snapshot.
6. Draft withdrawal/refresh/resubmission workflow when underlying ledger activity changes.
7. Approved remittance workflow with independent checker and automatic GL posting.
8. Overpayment protection using GL 1130 Tax & Statutory Recoverable.
9. Supplier withholding certificates generated from approved AP bills, with independent issuance approval and A4 print/PDF view.
10. GL-to-approved-obligation reconciliation by branch and liability control account.
11. CSV export of tax-period source journal evidence.
12. Filing-reference tracking that is separate from payment approval.

## New database objects
- `tax_authorities`
- `tax_compliance_policies`
- `tax_compliance_periods`
- `tax_remittances`
- `tax_withholding_certificates`

## New GL account
- `1130 · Tax & Statutory Recoverable`

Existing liability accounts such as 2120, 2130, 2140 and 2160 are reused rather than duplicated. Other active liability accounts can also be linked through approved policies.

## Accounting treatment
### Standard remittance
- Dr linked tax/statutory liability account
- Cr approved cash/bank/Mobile Money treasury account

### Remittance exceeding the actual GL liability
- Dr linked liability account up to its positive balance
- Dr 1130 Tax & Statutory Recoverable for the excess
- Cr approved payment account for the full payment

This prevents statutory control accounts from being pushed into an unexplained debit balance by an overpayment.

## Important operational guidance
- No tax percentages are hard-coded in Phase 53.
- Configure current statutory rules/due dates from authoritative guidance before production use.
- Where materially different statutory obligations share one liability GL account, create separate control accounts if precise obligation-level reconciliation is required.
- The first Phase 53 reconciliation may show legacy/opening differences because the GL contains historical balances while the Phase 53 obligation register begins only when periods are created. Document and reconcile these opening items before relying on a zero-variance control.
- External filing is never assumed merely because a payment was approved. The actual external filing reference must be recorded.

## Upgrade
1. Back up the Phase 52 database.
2. Import `sql/migration_053_tax_statutory_compliance.sql`.
3. Replace the application files with the Phase 53 package.
4. Open `/tax-compliance`.
5. Review the seeded GRA authority record, add any other required authorities, create obligation policies and have them independently approved.
6. Generate branch tax periods from the posted GL and review opening/source/closing amounts before submission.
