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
155 lines
4.5 KiB
JSON
155 lines
4.5 KiB
JSON
[
|
|
{
|
|
"id": "F001",
|
|
"description": "getQboCustomers server action: realm-scoped, cached (catalog-action pattern), EE + billing_settings read gated; returns id, display name, active flag.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.1",
|
|
"6"
|
|
]
|
|
},
|
|
{
|
|
"id": "F002",
|
|
"description": "Customers mapping tab (bespoke component in the live mapping manager): per-client row with mapping state and actions link-to-existing / create-in-QBO-now / leave.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.1"
|
|
]
|
|
},
|
|
{
|
|
"id": "F003",
|
|
"description": "Searchable QBO customer picker for link-to-existing, writing a realm-scoped client mapping row.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.1"
|
|
]
|
|
},
|
|
{
|
|
"id": "F004",
|
|
"description": "Create-in-QBO-now runs the company-sync adapter immediately and writes the mapping row; failures surface inline.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.1"
|
|
]
|
|
},
|
|
{
|
|
"id": "F005",
|
|
"description": "Name normalization + matcher: case/punctuation/whitespace/legal-suffix folding; exact = normalized equality; near matches scored as suggestions only.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.1",
|
|
"7"
|
|
]
|
|
},
|
|
{
|
|
"id": "F006",
|
|
"description": "Bulk-accept bar for exact customer matches ('Accept N exact matches'); fuzzy suggestions require per-row confirmation.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.1"
|
|
]
|
|
},
|
|
{
|
|
"id": "F007",
|
|
"description": "Exporter customer resolution consults the new client mapping rows before auto-provisioning (link beats display-name auto-match).",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.1"
|
|
]
|
|
},
|
|
{
|
|
"id": "F008",
|
|
"description": "Wizard shell: launches after first successful OAuth connect when no completion record exists for the realm; re-runnable from QBO settings; three steps with progress state.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.2"
|
|
]
|
|
},
|
|
{
|
|
"id": "F009",
|
|
"description": "Wizard step 1 embeds the customer mapping surface.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.2"
|
|
]
|
|
},
|
|
{
|
|
"id": "F010",
|
|
"description": "Historical invoice fetch: paged QBO invoice query over a selectable date window via QboClientService.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.2",
|
|
"6"
|
|
]
|
|
},
|
|
{
|
|
"id": "F011",
|
|
"description": "Invoice candidate matcher: doc number + total + (when mapped) customer; confident matches bulk-linkable; collisions/total-mismatches to a review list, never auto-linked; 0 matches is a normal outcome.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.2",
|
|
"7"
|
|
]
|
|
},
|
|
{
|
|
"id": "F012",
|
|
"description": "Bulk link writes invoice mapping rows with sync-token + total snapshot WITHOUT exporting; linked invoices are excluded from future export selection as already-synced.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.2"
|
|
]
|
|
},
|
|
{
|
|
"id": "F013",
|
|
"description": "Payment backfill (wizard option, default on): per linked invoice, one-time QBO payment query applied through recordExternalPayment; invoices already 'paid' skipped; runs as a progress-reporting wizard batch, not in the sync cycle.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.2",
|
|
"7"
|
|
]
|
|
},
|
|
{
|
|
"id": "F014",
|
|
"description": "Wizard step 3: auto_sync_start_date tenant setting (default today) with explanation copy; completion recorded per tenant\u00d7realm; settings shows completed/last-run + re-run entry point.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.2",
|
|
"6"
|
|
]
|
|
},
|
|
{
|
|
"id": "F015",
|
|
"description": "Slice-1 finalize producer respects auto_sync_start_date: only invoices finalized on/after the cutoff auto-enqueue; earlier invoices remain manual-batch only.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.2",
|
|
"6"
|
|
]
|
|
},
|
|
{
|
|
"id": "F016",
|
|
"description": "Wizard idempotency: re-running skips already-mapped customers/invoices and already-backfilled payments (mapping-ledger checks); no duplicate mappings or payments possible.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.2"
|
|
]
|
|
},
|
|
{
|
|
"id": "F017",
|
|
"description": "Customer-unlinked exceptions (slice 1) deep-link into the Customers mapping tab.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.1"
|
|
]
|
|
},
|
|
{
|
|
"id": "F018",
|
|
"description": "i18n: wizard steps, mapping tab, match/bulk-accept copy, backfill progress in en + translated locales; pseudo-locales regenerated.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"5.1",
|
|
"5.2"
|
|
]
|
|
}
|
|
]
|