You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: fiscalapi/models/fiscalapi_models.py
+27Lines changed: 27 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -321,3 +321,30 @@ class SendInvoiceRequest(BaseDto):
321
321
322
322
classConfig:
323
323
populate_by_name=True
324
+
325
+
326
+
classInvoiceStatusRequest(BaseDto):
327
+
"""Modelo para consultar estado de facturas."""
328
+
id: Optional[str] =Field(default=None, description="Id de la factura a consultar")
329
+
issuer_tin: Optional[str] =Field(default=None, alias="issuerTin", description="RFC Emisor la factura")
330
+
recipient_tin: Optional[str] =Field(default=None, alias="recipientTin", description="RFC Receptor de la factura")
331
+
invoice_total: Optional[Decimal] =Field(default=None, alias="invoiceTotal", description="Total de la factura")
332
+
invoice_uuid: Optional[str] =Field(default=None, alias="invoiceUuid", description="Folio fiscal factura a consultar")
333
+
last8_digits_issuer_signature: Optional[str] =Field(default=None, alias="last8DigitsIssuerSignature", description="Últimos ocho caracteres del sello digital del emisor")
334
+
335
+
model_config= {
336
+
"populate_by_name": True,
337
+
"json_encoders": {Decimal: str}
338
+
}
339
+
340
+
classInvoiceStatusResponse(BaseDto):
341
+
"""Modelo de respuesta de consulta de estado de facturas."""
342
+
status_code: str=Field(..., alias="statusCode", description="Código de estatus retornado por el SAT")
343
+
status: str=Field(..., description="Estado actual de la factura. Posibles valores: 'Vigente' | 'Cancelado' | 'No Encontrado'")
344
+
cancelable_status: str=Field(..., alias="cancelableStatus", description="Indica si la factura es cancelable. Posibles valores: 'Cancelable con aceptación' | 'No cancelable' | 'Cancelable sin aceptación'")
345
+
cancellation_status: str=Field(..., alias="cancellationStatus", description="Detalle del estatus de cancelación")
346
+
efos_validation: str=Field(..., alias="efosValidation", description="Codigo que indica si el RFC Emisor se encuentra dentro de la lista negra de EFOS")
0 commit comments