WhyNotHugo/django-afip

Factura E

WhyNotHugo opened this issue · 0 comments

WSFEX:WSFEX-Manualparaeldesarrollador_V1_1.pdf

  • wsfex ticket support. I think the existing logic should work, but we need to add the URLs for it.
  • Enable WSFEX for the test account.
  • Extended fields (e.g.: those not already in Receipt):
    • Permiso_existe: String
    • Permisos: Optional, OneToMany
    • Dst_cmp: Mandatory, needs a foreign table for FEXGetPARAM_DST_pais (TODO: can I re-use GenericAfipType)
    • Cliente: Mandatory, String(200)
    • Cuit_pais_cliente: Nullable, Needs a foreign table for FEXGetPARAM_DST_CUIT
    • Domicilio_cliente: Mandatory, String(300)
    • Id_impositivo: Nullable, String(50)
    • Obs_comerciales: Optional, String(4000)
    • Cmps_asoc: Optional, TODO: is this like CbtesAsoc?
    • Forma_pago: String(50)
    • Incoterm: Optional, String(3), Needs a foreign table for FEXGetPARAM_Incoterms
    • Incoterm_Ds: Optional, String(20)
    • Idioma_cbte: Mandatory, Needs a foreign table for FEXGET_PARAM_IDIOMAS.
      • Can table re-use GenericAfipType?
    • Needs a new deserialiser.
    • Items: Mandatory. can we make ReceiptEntry and this converge into one? Needs a foreign table FEXGetPARAM_UMed
  • When calling validate(), the logic need to fork if receipt_type == FACTURA_E.
  • Write serialiser to convert our django model into AFIP XML.
  • Write a parser for the response type (it looks pretty different to WSFE).
  • TODO: Is the response the same?
  • FEXGetPARAM_UMed
  • FEXGetLast_CMP
  • Are WSFE currencies the same as FEXGetPARAM_MON
  • Does FEXGetPARAM_Cbte_Tipo return the same as WSFE?
  • What the hell is FEXGetPARAM_Tipo_Expo???
  • Some GenericAfipType have different string lengths; make this parametrisable by subtype?
  • Does FEXGetPARAM_PtoVenta return the same as WSFE?

The extra fields should probably be in a separate model/table to avoid confusion (e.g.: ReceiptForExport) and have a OneToOne field to the Receipt column.

I think all new models should be in models_wsfex.py to keep file sizes sane.

Extended features:

  • Expose FEXCheck_Permiso?
  • Re-validate with FEXGetCMP?