Factura E
WhyNotHugo opened this issue · 0 comments
WhyNotHugo commented
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
?
- Can table re-use
- 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 ifreceipt_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
?