Source code for cadrumo.application.ledger.invoice_draft_payloads
"""Application-owned invoice-draft projection contracts.Extraction is an application workflow. The reviewable draft and its nestedprovenance records therefore belong below the CLI transport; the CLI onlyrenders these strict contracts.Core types::class:`~cadrumo.core.json_contract.OutputSchema`."""from__future__importannotationsfrom...core.identity.bucketimportBucketIdfrom...core.json_contractimportOutputSchemafrom.invoice_draft_recordsimportInvoiceDraftIdentityDocumentFields
[docs]classEvidenceDraftLinePayload(OutputSchema):"""One extracted invoice line on a reviewable draft."""description:str|None=Nonequantity:str|None=Noneunit_price:str|None=Nonetaxable_base:str|None=Noneiva_rate:str|None=Noneiva_amount:str|None=Nonerecargo_rate:str|None=Nonerecargo_amount:str|None=None
[docs]classEvidenceDraftRateBreakdownPayload(OutputSchema):"""One per-rate subtotal extracted from a multi-rate invoice."""iva_rate:str|None=Nonetaxable_base:str|None=Noneiva_amount:str|None=Nonerecargo_rate:str|None=Nonerecargo_amount:str|None=None
[docs]classEvidenceFieldAmbiguityCandidatePayload(OutputSchema):"""One competing reading a grounding pass could not decide between."""value:stranchor:str|None=Nonenote:str=""
[docs]classEvidenceFieldProvenancePayload(OutputSchema):"""How one draft field was obtained and what checking it survived."""field:strorigin:strgrounding:stranchor:str|None=Nonerefused_anchor:str|None=Nonecandidates:list[EvidenceFieldAmbiguityCandidatePayload]=[]anchor_self_reported:bool=Falsederived_from:list[str]=[]role_evidence:str|None=Noneattribution_unverified:bool=Falsenote:str=""
[docs]classEvidenceDraftDiscrepancyPayload(OutputSchema):"""One deterministic check the read document failed."""kind:strfield:str|None=Nonedetail:str=""expected:str|None=Noneobserved:str|None=None
[docs]classEvidenceExtractResult(InvoiceDraftIdentityDocumentFields,OutputSchema):"""Reviewable application result for best-effort invoice extraction."""bucket_id:BucketIdevidence_id:str|None=Noneattachment_id:str|None=Noneproposed_supply_nature:str|None=Noneinvoice_date:str|None=Nonetaxable_base:str|None=Noneiva_rate:str|None=Noneiva_amount:str|None=Nonegrand_total:str|None=Nonecurrency:str|None=Nonerecargo_amount:str|None=Noneretencion_rate:str|None=Noneretencion_amount:str|None=Nonesuplidos_amount:str|None=Nonelines:list[EvidenceDraftLinePayload]=[]iva_breakdown:list[EvidenceDraftRateBreakdownPayload]=[]iva_category:str|None=Noneregime_legend:str|None=Nonesuggested_kind:str|None=Nonetranscription_sha256:str|None=Noneprovenance:list[EvidenceFieldProvenancePayload]=[]discrepancies:list[EvidenceDraftDiscrepancyPayload]=[]raw_text_length:int=0off_host_provider:str|None=Noneoff_host_acknowledged_surface:str|None=None