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: OutputSchema

One 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)

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: OutputSchema

One 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)

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: OutputSchema

One competing reading a grounding pass could not decide between.

Parameters:
value: str
anchor: str | None
note: str
class EvidenceFieldProvenancePayload(**data)[source]

Bases: OutputSchema

How 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: OutputSchema

One deterministic check the read document failed.

Parameters:
  • kind (str)

  • field (str | None)

  • detail (str)

  • expected (str | None)

  • observed (str | None)

kind: str
field: str | None
detail: str
expected: str | None
observed: str | None
class EvidenceExtractResult(**data)[source]

Bases: InvoiceDraftIdentityDocumentFields, OutputSchema

Reviewable 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