CfdiUtils Versions Save

PHP Common utilities for Mexican CFDI 3.2, 3.3 & 4.0

v2.23.3

1 year ago

Fix CFDI 4.0, must include Comprobante/Impuestos/Traslados/Traslado@TipoFactor=Exento when exists at least one node Comprobante/Conceptos/Concepto/Impuestos/Traslados/Traslado@TipoFactor=Exento.

The node must contain attribute TipoFactor=Exento and the rounded sum of the attributes Base grouped by attribute Impuesto.

Thanks @jiag-dev for noticing this issue, and @yairtestas for your guidance to find the solution.

v2.23.2

1 year ago
  • Use Symfony/Process instead of ShellExec.
  • Remove internal classes ShellExec and ShellExecResult.
  • Rename internal class ShellExecTemplate to CommandTemplate.

v2.23.1

1 year ago

Fix hardcoded Regímenes catalog to fix CFDI33 validation EmisorRegimenFiscal.

Thanks @celli33 for your contribution.

v2.23.0

1 year ago

Add CfdiUtils\Elements\PlataformasTecnologicas10 Elements to work with "Complemento Servicios de Plataformas Tecnológicas".

Thanks @gam04 for your contribution.

v2.22.0

1 year ago

Add support to read and create a RET 1.0 (Retenciones e información de pagos 2.0) document. (Closes #96)

  • Add helper elements on namespace CfdiUtils\Elements\Retenciones20.
  • Add CfdiUtils\Retenciones\RetencionVersion.
  • Add CfdiUtils\Retenciones\RetencionesCreator20.
  • Move shared methods from CfdiUtils\Retenciones\RetencionesCreator10 to CfdiUtils\Retenciones\RetencionesCreatorTrait.
  • Refactor CfdiUtils\Retenciones\Retenciones to read versions 1.0 and 2.0.
  • Improve documentation about RET 2.0.

Thanks @gam04 for your contribution.

v2.21.0

1 year ago
  • 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.

v2.20.2

2 years ago

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.

v2.20.1

2 years ago

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.

v2.20.0

2 years ago

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

v2.19.1

2 years ago

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