Skip to content

Releases: eclipxe13/CfdiUtils

Version 2.31.0

19 Feb 19:11
f9f77b8
Compare
Choose a tag to compare

A new utility CfdiUtils\Utils\RegimenCapitalRemover has been created to remove the Régimen de Capital
from a string. The most common case is to remove it from a certificate name, but you can use it anywhere.

This release includes a change to Certificado::getName() method.
The argument $trimSuffix was added, with default false.
When you pass $trimSuffix: true, it will try to remove the Régimen de capital suffix from the
name detected on the certificate. For example: EMPRESA PATITO SA DE CV will return EMPRESA PATITO.

The method CfdiCreator40::putCertificado() now evaluates if the certificate belongs to a Persona Moral,
and the root node has attribute Version equal to 4.0.
If that is the case then it will set up the Emisor@Name attribute removing the suffix.
That means that is no longer necessary to override the Emisor@Name later.

The assertion SELLO04: El nombre del emisor del comprobante es igual al encontrado en el certificado
has been changed, previously, if the RFC belongs to a Persona Moral then it returns status none.
Now, the assertion uses the "remove the Régimen de capital" capability to perform the validation.

Thanks @Ahuahuachi for the contribution.

v2.30.0

17 Feb 01:05
Compare
Choose a tag to compare

This is a maintenance release to fix continuous integration.

  • Fix symfony/process requirement versions to improve security.
  • Update license year to 2025.
  • Upgrade to PHPStan 2.1 and fix/ignore new issues.
  • Avoid PHP 8.4 due deprecation messages.
  • Remove code to avoid testing genkgo/xsl on PHP 8.3.

Version 2.29.0

18 Jun 22:50
c3a7466
Compare
Choose a tag to compare

Add CfdiUtils\Elements\CartaPorte31 Elements to work with "Carta Porte 3.1".
Thanks @alejandrogova1 for your contribution.

Version 2.28.2

10 Jun 14:46
489b0d1
Compare
Choose a tag to compare
  • Wrap OpenSSL command run on a try/catch block to throw a OpenSSLException exception.
  • Refactor certificate downloader test helper. Now it uses Curl instead of native PHP. It was failing on PHP 7.3.
  • Remove old dependencies for ReadTheDocs: mkdocs:1.2.3 and jinja2<3.1.0. Thanks to @dependabot.
  • On build workflow:
    • Simplify "on" section.
    • Use php-version matrix value as singular.

Version 2.28.1

21 Feb 03:31
76c3c81
Compare
Choose a tag to compare
  • Allow dependency on symfony/process branch 7.x.
  • Migrate GitHub actions to version 4.

Version 2.28.0

22 Jan 23:53
3ca86d3
Compare
Choose a tag to compare
  • Deprecate CfdiUtils\Utils\Crp20277Fixer since SAT changed the rule CRP20277.
  • Fix code style (use same case for XsltProcessor).
  • Run GitHub jobs using PHP 8.3.

Version 2.27.1

12 Jan 23:15
Compare
Choose a tag to compare
  • Add Complemento Comercio Exterior 2.0 documentation.
  • Fix CHANGELOG for 2.26.0: it say that CCE had version 3.0 when it was 2.0.

Note: Release as a minor change to include the documentation on the package, but no "new feature" or "bug fix" is included.

Version 2.27.0

12 Jan 21:09
cb1cf52
Compare
Choose a tag to compare

Add CfdiUtils\Utils\Crp20277Fixer to work with new rule CRP20277 (apply since 2024-01-15).

Version 2.26.0

10 Jan 18:37
9a2dbd6
Compare
Choose a tag to compare

Add CfdiUtils\Elements\Cce20 Elements to work with "Complemento de Comercio Exterior 2.0".

Extract logic to move SAT definitions to root element to a helper in order to use it on other creators:

  • Add SatNsDefinitionsMover helper.
  • Change CfdiCreatorTrait::moveSatDefinitionsToComprobante to use helper.
  • Add RetencionesCreatorTrait::moveSatDefinitionsToRetenciones.
  • Document samples using $creator->moveSatDefinitionsToRetenciones().
  • Fix tests sample files with sat definitions on root element.

Version 2.25.0

25 Oct 03:04
Compare
Choose a tag to compare

Add CfdiUtils\Elements\CartaPorte30 Elements to work with "Carta Porte 3.0".
Thanks @alejandrogova1 for your contribution.

Other fixes:

  • Add CFDI 4.0 to mkdocs configuration file.
  • Fix .readthedocs.yaml configuration file.