diff --git a/l10n_mx_ir_attachment_facturae/models/base_cfdi_mixin.py b/l10n_mx_ir_attachment_facturae/models/base_cfdi_mixin.py index 59351f00344f2e8df1712d08e7b35a7e6a09a0b9..5400d7b447d8b6c3a4dc002e0d41c20d711a263d 100644 --- a/l10n_mx_ir_attachment_facturae/models/base_cfdi_mixin.py +++ b/l10n_mx_ir_attachment_facturae/models/base_cfdi_mixin.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +import logging + from datetime import datetime from pytz import timezone, UTC from openerp import api, fields, models +_logger = logging.getLogger(__name__) + def _sanitize(text): # Chars not allowed on CFDI @@ -67,6 +71,10 @@ class BaseCfdi(models.AbstractModel): 'ir.attachment.facturae.mx', 'CFDI', copy=False, help='CFDI realed to the selected record.', ) + cfdi_folio_fiscal = fields.Char( + 'CFD-I Folio Fiscal', related='cfdi_id.uuid', + help='Folio used in the electronic invoice', + ) cfdi_state = fields.Selection(related='cfdi_id.state') cfdi_relation_type = fields.Many2one( 'cfdi.relation.type', 'CFDI Relation type', copy=False, @@ -93,5 +101,8 @@ class BaseCfdi(models.AbstractModel): def cancel_cfdi(self): """Cancels the cfdi related with current record and delete relation""" if self.cfdi_id and self.cfdi_id.state in ['signed', 'done']: - self.cfdi_id.action_cancel() - self.cfdi_id = False + cancelacion = self.cfdi_id.action_cancel() + if cancelacion: + self.cfdi_id = False + return cancelacion + return cancelacion