@adcp/sdk API Reference - v14.3.0
    Preparing search index...

    Interface ReportingReconciliationResult

    interface ReportingReconciliationResult {
        definitive: boolean;
        ledger: ReportingLedger;
        obligations: ObligationReconciliation[];
        missingExpectedPeriods: ExpectedReportingPeriod[];
        submittedReceipts: {
            reporting_receipt_id: string;
            reporting_obligation_id: string;
            reporting_revision_id: string;
            reporting_materialization_id: string;
            supersedes_reporting_receipt_id?: string;
            status: "rejected" | "accepted";
            verification_profile: ReportingVerificationProfile;
            observed_row_count: number;
            observed_control_totals: ReportingControlTotal[];
            observed_canonical_content_digest?: ReportingCanonicalContentDigest;
            observed_manifest_sha256?: string;
            observed_native_version_ref?: string;
            consumer_commit_ref?: string;
            rejection_codes?: [string, ...string[]];
            observed_at: string;
            received_at?: string;
        }[];
        submittedAdjustmentReceipts: {
            reporting_receipt_id: string;
            reporting_adjustment_id: string;
            adjusts_reporting_revision_id: string;
            supersedes_reporting_receipt_id?: string;
            status: "rejected"
            | "accepted";
            observed_adjustment_sha256: string;
            rejection_codes?: [string, ...string[]];
            observed_at: string;
            received_at?: string;
        }[];
        consumerStatuses: ReportingConsumerStatusPlanV1[];
        postedConsumerStatuses: ReportingConsumerStatusPlanV1[];
        failedConsumerStatuses: {
            plan: ReportingConsumerStatusPlanV1;
            reportingStatusId?: string;
            errors: unknown[];
        }[];
        consumerStatusPending?: number;
        escalations: ReportingEscalationV1[];
        totalsByRevision: {
            reportingRevisionId: string;
            rowCount: number;
            controlTotals: ReportingControlTotal[];
            coverageStatus: "unknown"
            | "none"
            | "full"
            | "partial";
            coveredPackageIds: string[];
            packageIds: string[];
        }[];
    }
    Index
    definitive: boolean
    missingExpectedPeriods: ExpectedReportingPeriod[]
    submittedReceipts: {
        reporting_receipt_id: string;
        reporting_obligation_id: string;
        reporting_revision_id: string;
        reporting_materialization_id: string;
        supersedes_reporting_receipt_id?: string;
        status: "rejected" | "accepted";
        verification_profile: ReportingVerificationProfile;
        observed_row_count: number;
        observed_control_totals: ReportingControlTotal[];
        observed_canonical_content_digest?: ReportingCanonicalContentDigest;
        observed_manifest_sha256?: string;
        observed_native_version_ref?: string;
        consumer_commit_ref?: string;
        rejection_codes?: [string, ...string[]];
        observed_at: string;
        received_at?: string;
    }[]

    Type Declaration

    • reporting_receipt_id: string
    • reporting_obligation_id: string
    • reporting_revision_id: string
    • reporting_materialization_id: string
    • Optionalsupersedes_reporting_receipt_id?: string

      Optional immutable rejected receipt replaced by this new receipt. It MUST name the caller's current rejected receipt for this obligation and revision; accepted current receipts are terminal.

    • status: "rejected" | "accepted"
    • verification_profile: ReportingVerificationProfile
    • observed_row_count: number
    • observed_control_totals: ReportingControlTotal[]
    • Optionalobserved_canonical_content_digest?: ReportingCanonicalContentDigest
    • Optionalobserved_manifest_sha256?: string
    • Optionalobserved_native_version_ref?: string
    • Optionalconsumer_commit_ref?: string

      Optional non-secret consumer checkpoint, transaction, or load identifier. It is evidence for operations, not authorization or a credential.

    • Optionalrejection_codes?: [string, ...string[]]

      1

    • observed_at: string
    • Optionalreceived_at?: string
    submittedAdjustmentReceipts: {
        reporting_receipt_id: string;
        reporting_adjustment_id: string;
        adjusts_reporting_revision_id: string;
        supersedes_reporting_receipt_id?: string;
        status: "rejected" | "accepted";
        observed_adjustment_sha256: string;
        rejection_codes?: [string, ...string[]];
        observed_at: string;
        received_at?: string;
    }[]

    Adjustment acknowledgements submitted during this run.

    Type Declaration

    • reporting_receipt_id: string
    • reporting_adjustment_id: string
    • adjusts_reporting_revision_id: string
    • Optionalsupersedes_reporting_receipt_id?: string

      Optional immutable rejected receipt replaced by this new receipt for the same adjustment. Accepted current receipts are terminal.

    • status: "rejected" | "accepted"
    • observed_adjustment_sha256: string

      Digest recomputed from the adjustment using its canonical evidence rule.

    • Optionalrejection_codes?: [string, ...string[]]

      1

    • observed_at: string
    • Optionalreceived_at?: string
    consumerStatuses: ReportingConsumerStatusPlanV1[]

    Every status the buyer owes for the reconciled scope, overdue flagged.

    postedConsumerStatuses: ReportingConsumerStatusPlanV1[]

    The subset actually posted through syncReportingStatus this run.

    failedConsumerStatuses: {
        plan: ReportingConsumerStatusPlanV1;
        reportingStatusId?: string;
        errors: unknown[];
    }[]

    Statuses the seller rejected item-locally, carrying the errors it returned. sync_reporting_status is a partial-success batch, so a rejection is data the caller has to see — swallowing it leaves a buyer believing it has discharged a duty it has not.

    consumerStatusPending?: number

    The seller's own count of obligations past the buyer's posting deadline with no current status from this caller. Surfaced verbatim; it is a visibility count over the buyer's silence and never a health input. undefined when the read could not establish it: the client carries no syncReportingStatus (so this seller is not running the loop), the seller omitted the field, or the summary read failed.

    escalations: ReportingEscalationV1[]

    Seller-reported issues, with escalation destination attached.

    totalsByRevision: {
        reportingRevisionId: string;
        rowCount: number;
        controlTotals: ReportingControlTotal[];
        coverageStatus: "unknown" | "none" | "full" | "partial";
        coveredPackageIds: string[];
        packageIds: string[];
    }[]