tryton-ar / account_invoice_ar

Tryton module with AFIP WS integration
GNU General Public License v3.0
14 stars 13 forks source link

Add verification of CAE, CAEA, CAI at supplier invoices #93

Open lukio opened 7 years ago

lukio commented 7 years ago

http://www.pyafipws.com.ar/anuncios/wscdcconstataciondecomprobantesviawebserviceafip https://github.com/reingart/pyafipws/blob/master/wscdc.py

Interfaz para Constatación de Comprobantes emitidos (CAI, CAE, CAEA) mediante servicio web de AFIP (webservices WSCDC), según documentación oficial publicada en Septiembre de 2013.

Principalmente este webservice permite verificar la validez de los comprobantes emitidos (tanto tradicionales con talonarios de imprenta como facturas electrónicas). Introduce el método ConstatarComprobante que recibe los datos a validar (cbte_modo, cuit_emisor, pto_vta, cbte_tipo, cbte_nro, cbte_fch, imp_total, cod_autorizacion, doc_tipo_receptor, doc_nro_receptor) y establece el resultado (Aceptado, Rechazado u Observado) según el estado del comprobante en los servidores de AFIP.

lukio commented 5 years ago

http://www.sistemasagiles.com.ar/trac/wiki/ConstatacionComprobantes#Ejemplos

Metodo en pyafipws:

Constatación de Comprobantes. Recibe los datos del comprobante a verificar (todos obligatorios excepto los datos del receptor). Devuelve verdadero en caso de ejecución satisfactoria, falso en caso de error. Establece Resultado, Obs y demás atributos.

Ejemplo:

En caso de que el comprobante esté correctamente autorizado por AFIP, Resultado será "A" (Aprobado), de lo contrario será "R" (Rechazado)

Observaciones más frecuentes:

100: El N° de CAI/CAE/CAEA consultado no existe en las bases del organismo.
101: Se podran constatar comprobantes con fecha de emision del 01/01/2013 en adelante.
113: Para Comprobantes tipo A o tipo M, el documento del receptor debe ser CUIT.
114: Para comprobantes tipo A o tipo M el documento del Receptor es obligatorio informarlo.. 

En caso de que ok no sea verdadero, revisar wscdc.ErrMsg y wscdc.Excepciones ya que posiblemente hay un problema interno.

cbte_modo = "CAE"                    # modalidad de emision: CAI, CAE, CAEA
cuit_emisor = "20267565393"          # proveedor
pto_vta = 4002                       # punto de venta habilitado en AFIP
cbte_tipo = 1                        # 1: factura A (ver tabla de parametros)
cbte_nro = 109                       # numero de factura
cbte_fch = "20131227"                # fecha en formato aaaammdd
imp_total = "121.0"                  # importe total
cod_autorizacion = "63523178385550"  # numero de CAI, CAE o CAEA
doc_tipo_receptor = 80               # CUIT (obligatorio Facturas A o M)
doc_nro_receptor = "30628789661"     # numero de CUIT del cliente

ok = wscdc.ConstatarComprobante(cbte_modo, cuit_emisor, pto_vta, cbte_tipo, 
                                cbte_nro, cbte_fch, imp_total, cod_autorizacion, 
                                doc_tipo_receptor, doc_nro_receptor)

print "Resultado:", wscdc.Resultado
print "Mensaje de Error:", wscdc.ErrMsg
print "Observaciones:", wscdc.Obs