cadrumo.application.ledger.invoice_draft_payloads module¶
Application-owned invoice-draft projection contracts.
Extraction is an application workflow. The reviewable draft and its nested provenance records therefore belong below the CLI transport; the CLI only renders these strict contracts.
Core types:
OutputSchema.
- class EvidenceDraftLinePayload(**data)[source]¶
Bases:
OutputSchemaOne extracted invoice line on a reviewable draft.
- Parameters:
- description: str | None¶
- quantity: str | None¶
- unit_price: str | None¶
- taxable_base: str | None¶
- iva_rate: str | None¶
- iva_amount: str | None¶
- recargo_rate: str | None¶
- recargo_amount: str | None¶
- class EvidenceDraftRateBreakdownPayload(**data)[source]¶
Bases:
OutputSchemaOne per-rate subtotal extracted from a multi-rate invoice.
- Parameters:
- iva_rate: str | None¶
- taxable_base: str | None¶
- iva_amount: str | None¶
- recargo_rate: str | None¶
- recargo_amount: str | None¶
- class EvidenceFieldAmbiguityCandidatePayload(**data)[source]¶
Bases:
OutputSchemaOne competing reading a grounding pass could not decide between.
- value: str¶
- anchor: str | None¶
- note: str¶
- class EvidenceFieldProvenancePayload(**data)[source]¶
Bases:
OutputSchemaHow one draft field was obtained and what checking it survived.
- Parameters:
- field: str¶
- origin: str¶
- grounding: str¶
- anchor: str | None¶
- refused_anchor: str | None¶
- candidates: list[EvidenceFieldAmbiguityCandidatePayload]¶
- anchor_self_reported: bool¶
- derived_from: list[str]¶
- role_evidence: str | None¶
- attribution_unverified: bool¶
- note: str¶
- class EvidenceDraftDiscrepancyPayload(**data)[source]¶
Bases:
OutputSchemaOne deterministic check the read document failed.
- kind: str¶
- field: str | None¶
- detail: str¶
- expected: str | None¶
- observed: str | None¶
- class EvidenceExtractResult(**data)[source]¶
Bases:
InvoiceDraftIdentityDocumentFields,OutputSchemaReviewable application result for best-effort invoice extraction.
- Parameters:
supplier_tax_id (TaxIdIdentityToken | None)
supplier_name (str | None)
customer_tax_id (TaxIdIdentityToken | None)
customer_name (str | None)
supplier_postal_code (str | None)
customer_postal_code (str | None)
supplier_country (str | None)
customer_country (str | None)
supplier_country_code (str | None)
customer_country_code (str | None)
supplier_stated_country_code (str | None)
customer_stated_country_code (str | None)
invoice_number (str | None)
invoice_series (str | None)
rectifies_invoice_number (str | None)
bucket_id (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=128, pattern=None, ascii_only=None)])
evidence_id (str | None)
attachment_id (str | None)
proposed_supply_nature (str | None)
invoice_date (str | None)
taxable_base (str | None)
iva_rate (str | None)
iva_amount (str | None)
grand_total (str | None)
currency (str | None)
recargo_amount (str | None)
retencion_rate (str | None)
retencion_amount (str | None)
suplidos_amount (str | None)
lines (list[EvidenceDraftLinePayload])
iva_breakdown (list[EvidenceDraftRateBreakdownPayload])
iva_category (str | None)
regime_legend (str | None)
suggested_kind (str | None)
transcription_sha256 (str | None)
provenance (list[EvidenceFieldProvenancePayload])
discrepancies (list[EvidenceDraftDiscrepancyPayload])
raw_text_length (int)
off_host_provider (str | None)
off_host_acknowledged_surface (str | None)
- bucket_id: BucketId¶
- evidence_id: str | None¶
- attachment_id: str | None¶
- proposed_supply_nature: str | None¶
- invoice_date: str | None¶
- taxable_base: str | None¶
- iva_rate: str | None¶
- iva_amount: str | None¶
- grand_total: str | None¶
- currency: str | None¶
- recargo_amount: str | None¶
- retencion_rate: str | None¶
- retencion_amount: str | None¶
- suplidos_amount: str | None¶
- lines: list[EvidenceDraftLinePayload]¶
- iva_breakdown: list[EvidenceDraftRateBreakdownPayload]¶
- iva_category: str | None¶
- regime_legend: str | None¶
- suggested_kind: str | None¶
- transcription_sha256: str | None¶
- provenance: list[EvidenceFieldProvenancePayload]¶
- discrepancies: list[EvidenceDraftDiscrepancyPayload]¶
- raw_text_length: int¶
- off_host_provider: str | None¶
- off_host_acknowledged_surface: str | None¶