Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
F
Facturacion
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • l10n_mx
  • Facturacion
  • Issues
  • #113

Closed
Open
Opened 6 years ago by Salvador Martínez@chavamm.83Developer
  • New issue

  • Report abuse

  • New issue

  • Report abuse

Al cancelar CFDI se elimina la relacion con el ir.attachment.facturae.mx

Closed

Al cancelar CFDI se elimina la relacion con el ir.attachment.facturae.mx

Resumen

¿Cual es la razon de la siguiente funcion?

https://gitlab.openpyme.mx/l10n_mx/facturacion/blob/master/l10n_mx_ir_attachment_facturae/models/base_cfdi_mixin.py#L125

Entiendo que al cancelar una factura o documento CFDI, esta desligando el ir.attachment.facturae.mx, pero queria saber, la razon concreta en si de hacer eso...

Lo comento, porque es totalmente factible, que una factura o cfdi, siga teniendo la relacion con el XML, aunque estuviera cancelado. Esto, pensando en el siguiente escenario...

Yo cancelo una Factura del año 2018 o de un periodo anterior al actual, esto con la intención generar una nueva que sustituya al CFDI cancelado con antelacion.

Sin embargo, si no tengo relacionado el CFDI como tal al account.invoice, me genera un error a tratar de generar el XML, ya que en el nodo de CfdiRelacionado del XMl no me puede incluir el UUID del XML relacionado.

De momento, lo que hice para poder generar mi factura, es que le volví a establecer de manera manual el cfdi_id del ir.attachment.factura.mx usando una Query Update directamente en Postgresql, para que el account.invoice pueda obtener el UUID de dicho documento.

prod_tequilera=# update account_invoice set cfdi_id=2772 where id in(2344);
UPDATE 1

Pasos para reproducirlo

  1. Cancelar una factura
  2. Generar una nueva factura con la intención de sustituir a la anterior.
    • a. Seleccioanr el tipo de relacion: 04 Sustitucion de los cfdi previos
    • b. Seleccionando como documento relacionado la factura cancelada.
  3. Cuando se intenta validar y timbrar, marca error de XML malformado

¿Cuál es el comportamiento equivocado que se está presentando?

Actualmente se obtiene el XML siguiente, donde puede indentificarse facilmente el error en el nodo CfdiRelacionado, ya que en lugar de llevar escrito el UUID, lo que lleva es un valor False.

<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd" Version="3.3" Serie="FE" Folio="3863" Fecha="2019-04-05T13:04:36" Sello="EeVkoeG2PXG67JXPoPaEpz40e2HkQdXzFcXXjF9ezvp8YvlG58jCjqIw5KYgRJ+XZhYNkC5Wp7xxPfXlEKJnnRRhNGAQPomSSLVCBp8PNoKf8RQ5q5lcqyruP/YvozZILpOGbRBJZVqsnOwDi0DeYtwuqROyKUuNJGN+sFk9HDgJdOgAhAhE14CXeyjsMiZijxldEYTxRI1RUUSpK90tK7RaoIDY7yLjrQmT8Nms+N01YoWCSQFBI0s2s6WEUFrc2l+bWEwGprsX7RdowolYCuRlmZ9H3AG6d6asV9RjtIdPGVpowOmnzG2VGjv3hGex7WFtGYRDDYAvBamJxrQ4zw==" NoCertificado="00001000000404123622" Certificado="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" FormaPago="99" CondicionesDePago="30 Net Days" SubTotal="10986.50" Descuento="3.00" Moneda="MXN" Total="16563.12" TipoDeComprobante="I" MetodoPago="PPD" LugarExpedicion="37238">

        <cfdi:CfdiRelacionados TipoRelacion="04">

                <cfdi:CfdiRelacionado UUID="False"/>

        </cfdi:CfdiRelacionados>

    <cfdi:Emisor Rfc="CLM960130596" Nombre="CORPORACIÓN LICORERA 1910 S.A. DE C.V." RegimenFiscal="601"/>
    <cfdi:Receptor Nombre="Conseciones del Sureste S.A. de C.V." Rfc="CSU8802169B5" UsoCFDI="G01"/>
    <cfdi:Conceptos>

        <cfdi:Concepto ClaveProdServ="50202200" NoIdentificacion="33.04CT750NAC" Cantidad="10.000000" ClaveUnidad="XBX" Descripcion="[33.04CT750NAC] 1921 Crema de Tequila 750 ml 15% Alc. Vol." ValorUnitario="1098.350000" Importe="10983.50" Descuento="0.00">


            <cfdi:Impuestos>

                <cfdi:Traslados>

                    <cfdi:Traslado Base="10983.50" Impuesto="003" TipoFactor="Tasa" TasaOCuota="0.300000" Importe="3295.05"/>

                    <cfdi:Traslado Base="14278.55" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="2284.57"/>

                </cfdi:Traslados>


            </cfdi:Impuestos>


        </cfdi:Concepto>

        <cfdi:Concepto ClaveProdServ="50202200" NoIdentificacion="33.04CT750DEG" Cantidad="3.000000" ClaveUnidad="H87" Descripcion="[33.04CT750DEG] 1921 Crema de Tequila 750 ml 15% Alc. Vol." ValorUnitario="1.000000" Importe="3.00" Descuento="3.00">



        </cfdi:Concepto>

    </cfdi:Conceptos>


    <cfdi:Impuestos TotalImpuestosTrasladados="5579.62">


            <cfdi:Traslados>

                    <cfdi:Traslado Impuesto="003" TipoFactor="Tasa" TasaOCuota="0.300000" Importe="3295.05"/>

                    <cfdi:Traslado Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="2284.57"/>

            </cfdi:Traslados>

    </cfdi:Impuestos>


    <cfdi:Complemento/>
</cfdi:Comprobante>

En el nodo CfdiRelacionado deberia de llevar algo por el estilo siguiente:

<cfdi:CfdiRelacionados TipoRelacion="04">
    <cfdi:CfdiRelacionado UUID="4EA00BE8-B686-4B1A-A9CB-8B1E76FB9DF0"/>
</cfdi:CfdiRelacionados>

Entonces, con todo esto, me pregunto ¿Es correcta la razón de ser del método siguiente?

https://gitlab.openpyme.mx/l10n_mx/facturacion/blob/master/l10n_mx_ir_attachment_facturae/models/base_cfdi_mixin.py#L125

    @api.model
    def unlink_cfdi(self):
        """ Delete de relation """
        self.cfdi_id = False

Reciban un cordial saludo.

cc @OpenPymeMx

Please solve the reCAPTCHA

We want to be sure it is you, please confirm you are not a robot.

  1. Oh no!

    You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.

    Incoming!

    Drop your designs to start your upload.

Linked issues
0

Related merge requests

  • Agustín Cruz @agb80 mentioned in merge request !268 (merged) 6 years ago

    mentioned in merge request !268 (merged)

  • Agustín Cruz
    Agustín Cruz @agb80 · 6 years ago
    Owner

    Saludos @chavamm.83 la función se creo como parte de la homologación del proceso de timbrado/cancelación ques e hizo para poder reutilizar parte del código.

    En el caso de los comprobantes de pago, el proceso de cancelación/substitución requiere que elimminemos la relación del voucher con el CFDI correspondiente porque se tiene que generar un nuevo CFDI obligatoriamente.

    Sin embargo, como bien dices en el caso de las facturas no debería de seguirse el mismo proceso, por eso estoy proponiendo las siguientes correcciones:

    • !268 (merged): En este repositorio para eliminar la función y con eso la tentanción de utilizarla en algún otro lugar
    • l10n_mx_facturae!88 (merged): En el repositorio de l10n_mx_facturae para corregir la lógica y que no se pierda la relación de la factura con su CFDI al cancelarla
    • Rivera Santos
      Rivera Santos @santos.rivera · 6 years ago

      1.- ¿Cuál es la razón de dejar una relación? 2.- Más que cancelación debería de ser una substitución. 3.- ¿Por qué sería diferente el proceso a seguir vs complemento de pago?

    • Collapse replies
    • Salvador Martínez
      Salvador Martínez @chavamm.83 · 6 years ago
      Developer

      Saludos @santos.rivera 1.- La razon, en mi opinion, es dejar la relacion porque, es probable que que una factura quede cancelada, y por algun razon en un futuro, puedas relacionarla con una nueva factura para sustituirla por ejemplo, pero puede incluso que no sea en el mismo momento, como lo hacen con el Voucher.

      2.- En parte de la respuesta (1) comente acerca de esto mismo, puede que sea sustitucion o simple cancelacion, pero incluso puede ser que la cancelaron, y no debia ser asi, entonces, debes poder en un futuro relacionarla para poder ser sustituida.

      3.- Puede incluso agregar el boton similar al de Complemento de Pago (Sustituir) y seguir el mismo proceso. Pero esto lo vería mas como un plus, ya que en el Voucher no es un opcional, asi tiene que ser, ya que un Complmento de Pago para poder ser cancelado, estrictamente debe ser asi el proceso:

      • Cancelar Voucher Original,
      • Generar un nuevo cfdi por monto de Un Peso que agregue el nodo de documento relacionado con la referencia del Voucher Original con el tipo de relacion (Sustitucion)

      Y en el caso de las Facturas, solo se cancelan sin necesidad de emitir un cfdi con Documento relacionado. Pero, si es posible poder aplicar una sustitucion.

      Espero haberme explicado y no haber confundido mas =)

      Saludos!

    • Please register or sign in to reply
  • Agustín Cruz @agb80 mentioned in commit 1c0ee69e 6 years ago

    mentioned in commit 1c0ee69e

  • Agustín Cruz @agb80 closed via commit 1c0ee69e 6 years ago

    closed via commit 1c0ee69e

  • Agustín Cruz @agb80 closed via merge request !268 (merged) 6 years ago

    closed via merge request !268 (merged)

  • You're only seeing other activity in the feed. To add a comment, switch to one of the following options.
Please register or sign in to reply
Assignee
Agustín Cruz's avatar
Agustín Cruz
@agb80
Assign to
None
Milestone
None
Assign milestone
None
Time tracking
No estimate or time spent
None
Due date
None
0
Labels
None
Assign labels
  • No matching results
  • Manage project labels
Confidentiality
Not confidential
Lock issue
Unlocked
10
10 participants
user avatar
user avatar
user avatar
user avatar
user avatar
user avatar
user avatar
Reference: l10n_mx/facturacion#113