Cancelando facturas con la factura electrónica paraguaya

7 de junio de 2024 por
Gustavo Orrillo
| Sin comentarios aún
 

Hay una funcionalidad que se podría incorporar en la factura electrónica argentina que es la cancelación de facturas (que se encuentra disponible en la factura electrónica paraguaya). Algunos dirán "campeón, tenemos las notas de crédito también!!!". Si, es cierto. Pero las notas de crédito y son más engorrosas. Y el usuario puede cometer más errores y es más procesamiento extra.

La documentación del webservice en FacturaSend para cancelar el documento es el siguiente link. Se puede cancelar cualquier documento; ya sea una factura, nota de débito, nota de crédito, recibo y remito (anoten eso... para los que renegamos con el COT). Como lo implementamos?

    def button_draft(self):
res = super(AccountMove, self).button_draft()
for rec in self:
if rec.cdc:
if not rec.motivo_cancelacion:
raise ValidationError('Debe ingresar motivo de cancelación')
url = "%s/%s/evento/cancelacion"%(self.env['ir.config_parameter'].sudo().get_param('facturasend_url'),self.company_id.tenant_id)
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer api_key_%s"%(self.company_id.bearer_token)
}
payload_dict = {
"cdc": rec.cdc,
"motivo": rec.motivo_cancelacion,
}
payload = json.dumps(payload_dict)
response = requests.request("POST", url, headers=headers, data=payload)
if response.status_code < 400:
result = response.text
​res1 = response.json()
if res1.get('result'):
rec.respuesta_cancelacion = response.text
rec.button_cancel()
else:
raise ValidationError('Cancelación no aprobada')
​return res

En Odoo la cancelación se la implementa en el evento button_draft, que es el momento en el que un asiento contable se pasa a borrador. Lo cual para un documento que ya cuenta con aprobación del SET puede ser una abominación, es por eso que cuando se pasa a borrador si el documento cuenta con CDC, ahí se procede a cancelar.

Para cancelar un documento como pueden ver solo se necesita hacer el llamado al webservice correspondiente indicando el CDC junto con el motivo de la cancelación. Y Facturasend devuelve la aprobación o rechazo de dicha operación. Si la factura es cancelada, se informa en la misma el resultado de la operación y se marca como cancelada.


Seguiremos mañana con las notas de crédito para finalmente llegar a los remitos.

Gustavo Orrillo 7 de junio de 2024
Compartir
Archivar
Identificarse dejar un comentario