Skip to main content

e-CF lifecycle

An electronic fiscal voucher (e-CF) goes through seven states from the client request to the 10-year archive required by DGII.

States

StateVisible in APIDescription
receivedpendingPayload was accepted and persisted to DynamoDB.
validatedpendingPassed Pydantic and arithmetic validations.
signedpendingXAdES-BES generated by the signer Lambda (US-EP-05).
submittedpendingRecepcionECF to the DGII server; trackId obtained.
acceptedacceptedDGII confirmed via TrackStatus.
rejected_localrejectedERPly Pro rejected before DGII (validation, mathematical-discrepancy).
rejected_dgiirejectedDGII rejected after receiving the e-CF.
archivedn/aMoved to S3 Glacier IR with Object Lock COMPLIANCE (US-EP-08).

Idempotency

Every POST /v1/invoices requires a unique per-client Idempotency-Key. ERPly Pro persists the result of the first invocation for 24 h in a DynamoDB table; any replay with the same key returns the same docId/trackId with HTTP 200 (instead of 202).

SLA guarantees

Operationp99 target
POST /v1/invoices (validation + persistence)1.5 s
XAdES-BES signing + DGII submission4 s
Webhook after DGII ACK< 1 s