Skip to Content
InternalDocsRunbooksShip Billing Controls

Ship Billing Controls

Source: docs/runbooks/ship-billing-controls.md

# SHIP Billing Controls SOP Purpose: enforce billing correctness for SHIP recovered-value accounting and prevent invoicing on unconfirmed credits. Scope: SHIP findings lifecycle, invoice prep, and exception handling. --- ## Billing Gate Policy Core rule: - Only findings in `CREDITED` state with confirmed carrier evidence are billable. A finding is billable only when all are true: - Workflow state is `CREDITED`. - Credit amount is recorded and positive. - Confirmation payload exists: - `confirmation.source` - `confirmation.referenceId` - `confirmation.confirmedAt` - Confirmation evidence is auditable (artifact URL or equivalent reference trail). Not billable: - `OPEN`, `DISPUTED`, `SUBMITTED`, `CARRIER_REVIEW`, `REJECTED`, `DISMISSED`. - Any credited item missing confirmation payload. --- ## Pre-Invoice Sampling Checklist Before issuing invoice: - Pull candidate billed findings for period and tenant. - Random sample at least: - 10 findings, or - 10% of candidate findings (whichever is larger). - For each sampled item, verify: - `CREDITED` status timestamp within billing period. - confirmation fields present and plausible. - amount matches supporting artifact. - idempotency reference is stable (no duplicate billable emission). Sampling outcome: - Pass: proceed to invoice issue. - Fail: pause invoice and open exception review. --- ## Audit Trail Retention Expectations Minimum retained artifacts for each billed credit: - Finding ID, tenant ID, amount, state transition timestamps. - Confirmation payload (`source`, `referenceId`, `confirmedAt`). - Link or pointer to supporting evidence. - Value event record with idempotency key. Retention policy: - Keep billing-relevant audit artifacts for at least 24 months unless legal/commercial obligations require longer. --- ## Exception Handling and Approval Path ### Exception Types - Missing confirmation fields on credited finding. - Confirmation/reference mismatch across systems. - Duplicate recovered-value emission risk. - Late-arriving credit posted after invoice cut. ### Approval Path 1. Operator flags exception and stops invoice issue for affected tenant. 2. Customer Ops Lead reviews evidence gap and proposed correction. 3. Platform/Billing owner approves one of: - Correct and include in current cycle - Defer to next cycle - Exclude permanently with documented reason 4. Record decision and approver in billing run notes. --- ## Controls for Batch and Automation Paths - Batch credit actions are non-compliant for confirmed-credit billing because they cannot carry per-finding confirmation payloads. - Use per-finding credit flow only. - Any automation must call the same per-finding confirmation domain logic as manual UI/API. --- ## Quick Operator Checklist (Invoice Week) - [ ] Candidate findings are `CREDITED` only. - [ ] Sample validation passed. - [ ] No unresolved exceptions. - [ ] Invoice preview reviewed by Customer Ops Lead. - [ ] Issue action logged with run timestamp and owner.