Releases: phpcfdi/xml-cancelacion
Releases · phpcfdi/xml-cancelacion
Versión 2.0.2 2022-12-15
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
.
- Se agrega PHP 8.2 a la matriz de prebas en el trabajo
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
abstract
ofinal
a las clases de pruebas.
Versión 2.0.1 2022-01-10
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
- 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
aPhpCfdi\XmlCancelacion\Models
. - Actualización de licencia, feliz 2022.
Versión 1.1.2 2021-09-03
- 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 decomposer
. - Se agregan revisiones de
psalm
einfection
. - 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
- Refactor
CreateKeyInfoElementTraitTest
explaining what it is for.- Add a class to use
CreateKeyInfoElementTrait
changingcreateKeyInfoElement
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
.
- Add a class to use
- Change dependency
robrichards/xmlseclibs
version from^3.0.8
to3.1.0
.
Version 1.1.0
- Update license year, happy 2020!
- Include cancellation document for document "CFDI de retención e información de pagos".
- Add
DocumentType
enumerator with keyscfdi
andretention
to specify the correct namespace of the request. - Add
XmlCancellationHelper::signRetentionCancellation
andXmlCancellationHelper::signRetentionCancellationUuids
that create cancellation request for retentions. - Refactor
XmlCancelacionHelper
and delegate the creation of theCancellation
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
tophpstan/phpstan
. - Upgrade to
phpstan/phpstan: ^0.12
- Move from
- Testing:
- Improve
CancellationTest
to check thatDocumentType
is used correctly. - Create a testing class
XmlCancelacionHelperSpy
to spy onXmlCancelacionHelper
. - Refactor tests on
XmlCancelacionHelperTest
to test against the spy class.
- Improve
Version 1.0.1
- Fix documentation to point out version 1.0 instead of 0.5.
- Fix documentation PHP examples.
Version 1.0.0
- 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
- Capsule: DTO that contains source data, also implements
- New general process:
- A
CapsuleInterface
is exported as aDOMDocument
- Using a
SignerInterface
theDOMDocument
is signed and signature is appended. - Signature is exported from
DOMDocument::saveXml()
- A
- New helper
XmlCancelacionHelper
:- If no
SignerInterface
is provided then the default is used
- If no
- Credentials can be created from
PhpCfdi\Credentials\Credential
- Exceptions are specific to this library:
XmlCancelacionException
XmlCancelacionLogicException
extendsLogicException
DocumentWithoutRootElement
HelperDoesNotHaveCredentials
XmlCancelacionRuntimeException
extendsRuntimeException
CannotLoadCertificateAndPrivateKey
CapsuleRfcDoesnotBelongToCertificateRfc
CertificateIsNotCSD
Version 0.5.0
- 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
- Capsule: DTO that contains source data, also implements
- New general process:
- A
CapsuleInterface
is exported as aDOMDocument
- Using a
SignerInterface
theDOMDocument
is signed and signature is appended. - Signature is exported from
DOMDocument::saveXml()
- A
- New helper
XmlCancelacionHelper
:- If no
SignerInterface
is provided then the default is used
- If no
- Credentials can be created from
PhpCfdi\Credentials\Credential
- Exceptions are specific to this library:
XmlCancelacionException
XmlCancelacionLogicException
extendsLogicException
DocumentWithoutRootElement
HelperDoesNotHaveCredentials
XmlCancelacionRuntimeException
extendsRuntimeException
CannotLoadCertificateAndPrivateKey
CapsuleRfcDoesnotBelongToCertificateRfc
CertificateIsNotCSD
Version 0.4.2
- Include a helper object
XmlCancelacionHelper
that simplify working with this library,
see README for usage. - Other minimal changes on documentation.