Skip to content

Releases: eclipxe13/CfdiUtils

Version 2.21.0

05 May 18:50
7c501be
Compare
Choose a tag to compare
  • Introduce \CfdiUtils\Nodes\NodeHasValueInterface to work with nodes simple text content.
  • The class \CfdiUtils\Nodes\Node implements \CfdiUtils\Nodes\NodeHasValueInterface.
  • The XML node importers and exporters now can read and write simple text content.

Version 2.20.2

05 Apr 21:24
be90639
Compare
Choose a tag to compare

Allow installing Genkgo/Xsl version 1.1.0; used for PHP >= 7.4.

Test: Fix test that was overriding retenciones/sample-before-tfd.xml file.

Include the following unreleased changes from 2022-03-18:

Fix build since GitHub Action sudo-bot/action-scrutinizer is failing.
Use scrutinizer/ocular package instead.

Test: When creating a pago, use addSumasConceptos to populate SubTotal and Total.

CI: Always run apt-get update before apt-get install.

Version 2.20.1

08 Mar 23:19
5d569fc
Compare
Choose a tag to compare

Add PHP 8.1 minimal compatibility.

Skip tests on GenkgoXslBuilderTest because the library genkgo/xsl is not compatible with PHP 8.1.

Skip tests WebServiceConsumingTest::testSoapClientHasSettings because cannot access SoapClient private properties.

Add dependence on symfony/process to include 6.0. This allows to install the library on PHP 8.1.

Upgrade eclipxe/xmlschemavalidator from version 2.x to version 3.x (fully PHP 8.1 compatible).

Add #[\ReturnTypeWillChange] or fix return types on implemented classes like
IteratorAggregate::getIterator(): Traversable.

Add information about how tu run locally GitHub Actions using nektos/act tool.

Version 2.20.0

23 Feb 03:16
Compare
Choose a tag to compare

Add CfdiUtils\Elements\Pagos20 Elements to work with "Complemento para recepción de Pagos 2.0". Thanks @EmmanuelJCS. (Closes #89)

Version 2.19.1

10 Feb 02:46
Compare
Choose a tag to compare

Fix EmisorRegimenFiscal validation. Add 626 - RESICO. Thanks @celli33.

Version 2.19.0

18 Jan 19:58
Compare
Choose a tag to compare

Add CFDI 4.0 compatibility: read, validate and create:

  • CfdiUtils\Cfdi object now can read CFDI 4.0.
  • CfdiUtils\CfdiValidator40 object was introduced to validate CFDI 4.0 with only the following validations:
    • The document follows de CFDI 4.0 specification (namespace, root element prefix and name).
    • The document follows de CFDI 4.0 schema.
    • The document has a valid NoCertificado, Certificado and Sello.
    • The document has a valid TimbreFiscalDigital and information matches with cfdi:Comprobante@Sello.
  • CfdiUtils\CfdiCreator40 object was introduced to create CFDI 4.0.
  • The helper elements CfdiUtils\Elements\Cfdi40 were created.
  • Add minimal documentation to read, validate and create CFDI 4.0.

The following are development details:

  • Created \CfdiUtils\Validate\Xml\XmlFollowSchema as a standard validator, it does not depend on the type of CFDI.
  • The validator CfdiUtils\Validate\Cfdi33\Xml\XmlFollowSchema is now an extended class of \CfdiUtils\Validate\Xml\XmlFollowSchema. The class is also deprecated.
  • Add CfdiUtils\Certificado::getPemContentsOneLine().
  • Add CFDI 4.0 information to:
    • CfdiUtils\CadenaOrigen\CfdiDefaultLocations.
    • CfdiUtils\Certificado\NodeCertificado.
    • CfdiUtils\CfdiVersion.
  • Deprecate CfdiUtils\Cfdi::CFDI_NAMESPACE.
  • Add CfdiUtils\CfdiCreateObjectException that contains all the failures when try to construct a CfdiUtils\Cfdi object.
  • Extract and share logic for several objects that are CFDI 3.3 and CFDI 4.0 compatible:
    • CfdiUtils\CfdiValidator33 to CfdiUtils\Validate\CfdiValidatorTrait.
    • CfdiUtils\Validate\Cfdi33\Standard\SelloDigitalCertificado to CfdiUtils\Validate\Common\SelloDigitalCertificadoValidatorTrait.
    • CfdiUtils\Validate\Cfdi33\Standard\TimbreFiscalDigitalSello to CfdiUtils\Validate\Common\TimbreFiscalDigitalSelloValidatorTrait.
    • CfdiUtils\Validate\Cfdi33\Standard\TimbreFiscalDigitalVersion to CfdiUtils\Validate\Common\TimbreFiscalDigitalVersionValidatorTrait.
    • CfdiUtils\CfdiCreator33 to CfdiUtils\Validate\CfdiCreatorTrait.
    • CfdiUtils\Elements\Cfdi33\Helpers\SumasConceptosWriter to CfdiUtils\SumasConceptos\SumasConceptosWriter.
  • The certificate PAC used for testing 30001000000400002495 is included.
  • The class CfdiUtilsTests\Validate\ValidateTestCase was renamed to CfdiUtilsTests\Validate\Validate33TestCase and extracted to CfdiUtilsTests\Validate\ValidateBaseTestCase because it shares a lot of logic with CfdiUtilsTests\Validate\Validate40TestCase.
  • The class CfdiUtils\SumasConceptos\SumasConceptosWriter can handle both CFDI 3.3 & 3.4.

This version introduces this soft breaking compatibility changes, your implementation should not be affected:

[BC] REMOVED: These ancestors of CfdiUtils\Validate\Cfdi33\Xml\XmlFollowSchema have been removed: ["CfdiUtils\\Validate\\Cfdi33\\Abstracts\\AbstractVersion33"]

Other changes:

  • Update license year, happy new year.
  • Update PHPUnit config file.

Version 2.18.3

15 Jan 19:41
Compare
Choose a tag to compare

Fix Carta Porte 1.0 add missing element Notificado. Thanks @celli33.

Version 2.18.2

17 Dec 22:51
Compare
Choose a tag to compare

Fix Carta Porte 2.0 XML Namespace.

Version 2.18.1

17 Dec 18:41
Compare
Choose a tag to compare

Remove development/ from distribution package.
Previous tag had a typo v.2.18.0.
See https://github.com/eclipxe13/CfdiUtils/releases/tag/v.2.18.0

Version 2.17.0

11 Dec 01:18
d63c855
Compare
Choose a tag to compare

The helper object SumasConceptosWriter also writes the sum of impuestos locales when they are present.
Thanks, @celli33 and @luffynando for your help.