Skip to content

Releases: phpcfdi/xml-cancelacion

Versión 2.0.2 2022-12-15

15 Dec 19:14
13abae7
Compare
Choose a tag to compare

Se corrige el archivo XML generado para cancelaciones.
Anteriormente, cuando el atributo FolioSustitucion estaba vacío se incluía vacío, ahora se omite.

Este cambio va de acuerdo a la documentación del Anexo 20:

Atributo condicional que representa al UUID que sustituye al folio fiscal cancelado.
Es requerido cuando la clave del motivo de cancelación es 01.

Gracias @juliazo por reportar este problema. (Cierra #30)

Mantenimiento 2022-12-15

  • Se actualizan las herramientas de desarrollo.
  • Se actualiza el estándar de código al más reciente de PhpCfdi.
  • Se actualizan los flujos de trabajo de GitHub:
    • Se agrega PHP 8.2 a la matriz de prebas en el trabajo tests.
    • Actualizar a PHP 8.2 (excepto el trabajo php-cs-fixer).
    • Se actualizan las acciones estándar de GitHub de la versión 2 a la versión 3.
    • Se quita la instalación de la herramienta composer donde no es necesaria.
    • Se cambia la directiva deprecada ::set-output por $GITHUB_OUTPUT.

Mantenimiento 2022-02-23

  • Se actualiza el año en el archivo de licencia. Feliz 2022.
  • Se corrige el grupo de mantenedores de phpCfdi.
  • Se actualizan las dependencias de desarrollo.
  • Se corrige el archivo de configuración de Psalm porque el atributo totallyTyped está deprecado.
  • Se deja de utilizar Scrutinizer CI. Gracias Scrutinizer CI.
  • El flujo de integración continua se cambia para separar los procesos que dependen de la cobertura de código.
  • Se agregan los modificadores abstracto final a las clases de pruebas.

Versión 2.0.1 2022-01-10

10 Jan 20:16
bf256f4
Compare
Choose a tag to compare

Se corrige el XML namespace de cancelación de retenciones. Quedan de la siguiente forma:

  • CFDI Regulares: http://cancelacfd.sat.gob.mx.
  • CFDI Retenciones: http://www.sat.gob.mx/esquemas/retencionpago/1.

Versión 2.0.0 2022-01-08

08 Jan 05:56
c131b58
Compare
Choose a tag to compare
  • Se actualiza al nuevo esquema de datos de cancelación del SAT, ahora no se pide un arreglo de UUID, se pide un objeto CancelDocuments. Se crean diferentes objetos de valor relacionados a los nuevos campos.
  • Se cambia el namespace PhpCfdi\XmlCancelacion\Definitions a PhpCfdi\XmlCancelacion\Models.
  • Actualización de licencia, feliz 2022.

Versión 1.1.2 2021-09-03

04 Sep 08:29
1cec09d
Compare
Choose a tag to compare
  • La versión menor de PHP es 7.3.
  • Se actualiza PHPUnit a 9.5.
  • Se migra de Travis-CI a GitHub Workflows. Gracias Travis-CI.
  • Se instalan las herramientas de desarrollo usando phive en lugar de composer.
  • Se agregan revisiones de psalm e infection.
  • Se cambia la rama principal a main.
  • Se agrega un trait interno para obtener el elemento principal de un documento XML.
  • Se usan constantes privadas descriptivas en lugar de números mágicos.

Version 1.1.1 2020-08-28

28 Aug 23:35
c1bfa20
Compare
Choose a tag to compare
  • Refactor CreateKeyInfoElementTraitTest explaining what it is for.
    • Add a class to use CreateKeyInfoElementTrait changing createKeyInfoElement method visibility.
    • Make 3 different tests for 3 different cases instead of all in one test.
    • Fixes recently (false positive) issue detected by phpstan/phpstan:^0.12.40.
  • Change dependency robrichards/xmlseclibs version from ^3.0.8 to 3.1.0.

Version 1.1.0

24 Jan 16:18
64352e3
Compare
Choose a tag to compare
  • Update license year, happy 2020!
  • Include cancellation document for document "CFDI de retención e información de pagos".
  • Add DocumentType enumerator with keys cfdi and retention to specify the correct namespace of the request.
  • Add XmlCancellationHelper::signRetentionCancellation and XmlCancellationHelper::signRetentionCancellationUuids that create cancellation request for retentions.
  • Refactor XmlCancelacionHelper and delegate the creation of the Cancellation object to a specific protected method.
  • Other capsules uses also DocumentType to set the main namespace but as hardcoded.
  • Development:
    • Move from phpstan/phpstan-shim to phpstan/phpstan.
    • Upgrade to phpstan/phpstan: ^0.12
  • Testing:
    • Improve CancellationTest to check that DocumentType is used correctly.
    • Create a testing class XmlCancelacionHelperSpy to spy on XmlCancelacionHelper.
    • Refactor tests on XmlCancelacionHelperTest to test against the spy class.

Version 1.0.1

02 Oct 22:32
62658de
Compare
Choose a tag to compare
  • Fix documentation to point out version 1.0 instead of 0.5.
  • Fix documentation PHP examples.

Version 1.0.0

02 Oct 22:07
0929824
Compare
Choose a tag to compare
  • This version is a major change, it is not compatible with previous versions
    Read UPGRADE-0.5
  • New signed documents:
    • Cancellation: For request to SAT a cancellation of one or many CFDI.
    • ObtainRelated: For asking to SAT related documents of a CFDI.
    • CancellationAnswer: For setting the answer to SAT about a cancellation request.
  • New project concepts:
    • Capsule: DTO that contains source data, also implements CapsuleInterface
    • Signer: Manipulation object implementing SignerInterface, takes a DOMDocument and append signature data
  • New general process:
    • A CapsuleInterface is exported as a DOMDocument
    • Using a SignerInterface the DOMDocument is signed and signature is appended.
    • Signature is exported from DOMDocument::saveXml()
  • New helper XmlCancelacionHelper:
    • If no SignerInterface is provided then the default is used
  • Credentials can be created from PhpCfdi\Credentials\Credential
  • Exceptions are specific to this library:
    • XmlCancelacionException
      • XmlCancelacionLogicException extends LogicException
        • DocumentWithoutRootElement
        • HelperDoesNotHaveCredentials
      • XmlCancelacionRuntimeException extends RuntimeException
        • CannotLoadCertificateAndPrivateKey
        • CapsuleRfcDoesnotBelongToCertificateRfc
        • CertificateIsNotCSD

Version 0.5.0

02 Oct 22:06
0929824
Compare
Choose a tag to compare
  • This version is a major change, it is not compatible with previous versions
    Read UPGRADE-0.5
  • New signed documents:
    • Cancellation: For request to SAT a cancellation of one or many CFDI.
    • ObtainRelated: For asking to SAT related documents of a CFDI.
    • CancellationAnswer: For setting the answer to SAT about a cancellation request.
  • New project concepts:
    • Capsule: DTO that contains source data, also implements CapsuleInterface
    • Signer: Manipulation object implementing SignerInterface, takes a DOMDocument and append signature data
  • New general process:
    • A CapsuleInterface is exported as a DOMDocument
    • Using a SignerInterface the DOMDocument is signed and signature is appended.
    • Signature is exported from DOMDocument::saveXml()
  • New helper XmlCancelacionHelper:
    • If no SignerInterface is provided then the default is used
  • Credentials can be created from PhpCfdi\Credentials\Credential
  • Exceptions are specific to this library:
    • XmlCancelacionException
      • XmlCancelacionLogicException extends LogicException
        • DocumentWithoutRootElement
        • HelperDoesNotHaveCredentials
      • XmlCancelacionRuntimeException extends RuntimeException
        • CannotLoadCertificateAndPrivateKey
        • CapsuleRfcDoesnotBelongToCertificateRfc
        • CertificateIsNotCSD

Version 0.4.2

05 Sep 16:57
b4da4ae
Compare
Choose a tag to compare
  • Include a helper object XmlCancelacionHelper that simplify working with this library,
    see README for usage.
  • Other minimal changes on documentation.