Dashboard
Accountant-grade overview with year-to-date revenue, expenses, GST, tax estimates, filing dates, and missing items.
Fiscal today
Current-year control totals
Recent expense activity
| Date | Vendor | Category | Entity | Amount | GST | File |
|---|
Recent income activity
| Date | Source | Type | Entity | Amount | GST | File |
|---|
Outstanding items
CRA dates
Expense Log
Full ledger with allocation, GST, file tracking, and shared-expense splits visible in one grid.
| Date | Vendor | Category | Entity | Description | File | Amount | GST rate | GST | Total | Biz % | OEC % | OEC $ | APF $ | Flags |
|---|
Income Log
Separate revenue tracking for OEC and APF, including invoices, retainers, cash, and historical Uber income.
| Date | Entity | Type | Client / Source | Invoice # | Description | File | Amount | GST rate | GST | Invoice total |
|---|
OEC Fiscal (May–Apr)
Monthly corporate operating view with full category matrix, totals, and estimated small business tax.
APF Fiscal (Jan–Dec)
Monthly self-employment view with net income, CPP estimate, and personal tax estimate.
GST Tracker
Quarter-by-quarter GST collected, ITCs, and net owing or refund for OEC and APF.
Personal T1 Organizer
Medical, donations, RRSP, slips, and installments organized separately from APF but visible for the same T1 planning picture.
Medical & dental
| Date | Provider | Receipt # | Notes | Amount | File |
|---|
Charitable donations
| Date | Charity | Receipt # | Notes | Amount | File |
|---|
RRSP contributions
| Date | Institution | Receipt # | Notes | Amount | File |
|---|
TFSA tracker
| Date | Institution | Reference | Notes | Contribution | Withdrawal | Transfer | File |
|---|
T-slips received
| Date | Slip type | Payer | Slip # | Notes | Amount | File |
|---|
Tax installments paid
| Date | Description | Reference | Notes | Amount | File |
|---|
Personal income (from Income Log)
Income entries tagged Personal — T-slips, government benefits, other personal income
| Date | Type | Source / payer | Description | Amount | File |
|---|
Corporate Compensation & Shareholders
Manual entry fields for future salary, bonus, and dividend planning without a payroll engine. Use this as an accountant-ready register for shareholder ownership, compensation, and T4/T5 prep support.
Shareholder register
| Name | Ownership % | Share class | Voting | Start date | Notes |
|---|
Salary / bonus tracker
| Pay date | Recipient | Gross | CPP wh | Tax wh | Employer CPP | Net pay | Remit date | T4 note |
|---|
Dividend tracker
| Declare | Pay date | Recipient | Ownership % | Type | Cash paid | T5 / resolution ref | Notes |
|---|
Payroll
Employee roster, pay runs, CRA remittances, and T4 data. Pay runs auto-post to Expense Log as Salaries & Wages (GIFI 9060).
CRA rates (2024) — update annually in Settings
CPP employee: 5.95% on earnings over $3,500 to YMPE $68,500
EI employee: 1.66% up to $63,200
EI employer: 2.32% (1.4× employee)
Remittance due: 15th of following month
Employee / contractor roster
| Name | Type | Province | Rate | Pay freq. | Start date | Status | Notes |
|---|
Pay runs
| Pay date | Employee | Gross | CPP (ee) | EI (ee) | Tax wh | Net pay | Emp CPP | Emp EI | Total cost | Remit by | T4 note | Posted |
|---|
CRA remittance schedule
T4 annual summary (current year)
| Employee | Gross (Box 14) | CPP (Box 16) | EI (Box 18) | Tax wh (Box 22) | Net paid | Note |
|---|
Vendor Dictionary
Future-entry defaults for category, entity, business-use percentage, OEC/APF split, and GST treatment.
| Vendor | Entity | Category | Biz % | OEC % | GST rate | Notes |
|---|
Audit Log
Chronological record of every change to expenses, income, and vendors. Sorted newest first.
| Timestamp | Type | Action | Record | Entry date | Entity | Amount | Details |
|---|
Scanner
Batch receipt and invoice intake queue. Historical Uber statements stay supported, but no future Uber workflow is assumed.
Scanner URL, token, and Anthropic API key are configured in Advanced.
| File | Status | Doc type | Vendor / Source | Category | Entity | Amount | Date | Suggested filename |
|---|
Settings
Customer-visible configuration lives here — branding, entities, tax rates, payroll, home office, vehicle, accountant access, and backups. Developer infrastructure lives in Advanced.
Branding
Auto follows your OS dark/light preference. Manual choice is saved and overrides system setting.
Entities
Tax & personal rates
Payroll rates (CRA — update annually)
Employer CPP = employee CPP. Employer EI = employee EI × multiplier.
Home office & motor vehicle
Data encryption
Unknown
—
AES-256-GCM encryption happens in your browser before data leaves. The data worker only ever sees ciphertext blobs.
The encryption key is derived from your DATA_TOKEN via PBKDF2 (100,000 iterations).
If you lose your DATA_TOKEN, encrypted data is unrecoverable — keep a JSON backup before enabling, and again before rotating the token.
Local cache (your browser) stays plaintext for performance — same trust boundary as the running app.
Accountant access
Send the app URL and password separately to your accountant.
Bulk receipt upload
For records with a filename but no attached receipt: select your saved receipt files and they'll be matched by exact filename, uploaded to R2, and linked to the corresponding expense or income record. Files with no matching record are skipped.
Data backup
Export JSON after every major session. Store dated backups locally.
Advanced
Developer-only deployment, connection, token, and recovery tools. This page is intentionally hidden from normal customer Settings.
Infrastructure
Advanced setup only. Worker URLs and client code are deployment configuration; tokens stay private and are saved through KV/local setup, never hardcoded in source.
Not connected
Not tested
Not tested
Receipts are stored in Cloudflare R2 under
{client-code}/{YYYY}/{MM}/{uuid}.{ext}. The receipts worker uses the same DATA_TOKEN as the data worker (you can re-use the secret). Client code becomes part of the R2 path — pick a stable lowercase slug per client and don't change it after data exists.⚠️ Show recovery tools
Use only when KV is empty or corrupted and this device has the data you want preserved. Will destroy any data in KV that's not on this device.
The Anthropic API key is stored encrypted in KV and passed to the scanner worker per request — it never lives in Cloudflare worker secrets. Each client uses their own key.