Getting Started
Dashboard
For Developers
Push paid and refunded Krikkit invoices into Xero so bookkeepers do not re-key the ledger each month.
Requires: Marketplace addon xero installed under extensions/Xero/ (or via Dashboard → Marketplace).
Admin UI: Dashboard → Finance → Xero
Queue: run a worker that includes the xero queue (php artisan queue:work --queue=xero,default).
| Krikkit | Xero |
|---|---|
| Paid + numbered invoice | Contact + AUTHORISED ACCREC invoice + Payment on the driver clearing account + PDF attachment |
| Full refund (after paid sync) | Credit note (+ allocation when Xero allows) |
Open / failed / sample invoices are never synced. Amounts and tax come from the issued invoice snapshots — sync does not recompute VAT.
http://127.0.0.1:8000/dashboard/finance/xero/callback). Apps created after 2 March 2026 use granular scopes only — Krikkit requests openid offline_access accounting.invoices accounting.payments accounting.contacts accounting.settings accounting.attachments (not the retired accounting.transactions, and not profile / email / app.connections).TaxType + revenue accountCredentials can also live in .env and be copied into settings as needed:
XERO_CLIENT_ID=
XERO_CLIENT_SECRET=
# XERO_REDIRECT_URI=https://your-domain/dashboard/finance/xero/callback
Prefer Dashboard settings for day-to-day operation; encrypt at rest uses APP_KEY.
| Action | Where |
|---|---|
| Sync now / retry | Invoice detail → Sync to Xero, or Finance → Xero → Recent syncs → Retry |
| Backfill history | Finance → Xero date range, or php artisan xero:backfill --from=2026-01-01 --to=2026-09-15 |
| Retry failures | Finance → Xero → Sync failed / pending, or php artisan xero:backfill --failed |
| Nightly gaps | Scheduler runs xero:reconcile daily (needs schedule:run) |
| Reconnect | Status needs_reauth pauses jobs; reconnect from Finance → Xero (admins get a throttled mail alert) |
Invoice list shows a Xero status column when the addon is installed.
Do not post MoR-collected VAT as Softnova OUTPUT.
./vendor/bin/phpunit --configuration phpunit.xml.dist tests/Unit/Xero
Softnova staging sign-off checklist lives with the Phase 1 plan (xero-staging-signoff.md).