Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
24 lines
2.8 KiB
JSON
24 lines
2.8 KiB
JSON
[
|
|
{ "id": "F001", "description": "DB: add `invoices.po_number` column (nullable)", "implemented": true },
|
|
{ "id": "F002", "description": "DB: add `invoices.client_contract_id` column (nullable) + index", "implemented": true },
|
|
{ "id": "F003", "description": "Invoice creation: determine invoice client_contract_id from billing charges (single contract)", "implemented": true },
|
|
{ "id": "F004", "description": "Invoice creation: snapshot PO number onto invoice (`invoices.po_number`) when contract has PO", "implemented": true },
|
|
{ "id": "F005", "description": "Invoice creation: keep blocking when PO is required but missing PO number", "implemented": true },
|
|
{ "id": "F006", "description": "Billing: compute PO consumption from finalized invoices for a client_contract_id", "implemented": true },
|
|
{ "id": "F007", "description": "Billing: compute PO remaining and overage using total_amount (authorized total spend)", "implemented": true },
|
|
{ "id": "F008", "description": "Single invoice flow: show PO limit warning when overage > 0", "implemented": true },
|
|
{ "id": "F009", "description": "Single invoice flow: require explicit override confirmation to proceed on overage", "implemented": true },
|
|
{ "id": "F010", "description": "Batch invoicing: precompute which invoices could overrun PO limits", "implemented": true },
|
|
{ "id": "F011", "description": "Batch invoicing: prompt upfront (allow overages vs skip overages) only when needed", "implemented": true },
|
|
{ "id": "F012", "description": "Batch invoicing: implement skip behavior and summarize skipped invoices + reasons", "implemented": true },
|
|
{ "id": "F013", "description": "Invoice UI: display invoice-level PO number in invoice metadata", "implemented": true },
|
|
{ "id": "F014", "description": "Invoice UI: display PO authorized/consumed/remaining summary when po_amount exists", "implemented": true },
|
|
{ "id": "F015", "description": "PDF: add PO number to default invoice template header when present", "implemented": true },
|
|
{ "id": "F016", "description": "Accounting export: include invoice PO number in QBO API payload memo field", "implemented": true },
|
|
{ "id": "F017", "description": "Accounting export: include invoice PO number in QuickBooks CSV `Memo`", "implemented": true },
|
|
{ "id": "F018", "description": "Accounting export: include invoice PO number in Xero API `reference` without losing invoice identifier", "implemented": true },
|
|
{ "id": "F019", "description": "Accounting export: include invoice PO number in Xero CSV `Reference` without breaking matching", "implemented": true },
|
|
{ "id": "F020", "description": "Docs: update `docs/billing/billing.md` describing invoice PO snapshot + advisory PO limits", "implemented": true },
|
|
{ "id": "F021", "description": "Docs: update root `README.md` with PO support note (if applicable)", "implemented": true }
|
|
]
|