Releases: phpcfdi/cfdi-expresiones
Versión 3.2.0
Versión 3.1.0
Soporte de CFDI 4.0
Se agrega el soporte de CFDI 4.0 con fundamento en el Anexo 20.
Para ello, la Especificación técnica del código de barras bidimensional a incorporar en la representación impresa
se separa a un estándar interno llamado CfdiStandard20170701
Refactorización de métodos compartidos
Las expresiones de CFDI 3.3 y CFDI 4.0 son idénticas, así como la forma de formatear datos como RFC, Sello, Total, etc.
por lo que se refactorizan las clases para poner los métodos comunes en traits.
Codificación de caracteres especiales
Se corrige el problema encontrado al formar expresiones en la codificación de los valores de las expresiones,
al parecer, los valores necesitan expresarse con codificación XML, a pesar de que estén formando parte de una URL.
Por lo tanto, los RFC que contienen &
se deben especificar como &
.
Se hicieron las pruebas con las siguientes URL:
https://verificacfdi.facturaelectronica.sat.gob.mx/default.aspx?id=790BA0FF-26DD-4C97-AA84-7A2E9A132730&re=GG&950901AD7&rr=AER970617UH7&tt=1550025.37&fe=SoCSeA==
https://verificacfdi.facturaelectronica.sat.gob.mx/default.aspx?id=5555BFA3-7107-4715-A2E1-31F05E86961B&re=SAZD861013FU2&rr=CAÑA360510556&tt=0.01&fe=l+AO4g==
La misma regla aplica para el registro de identificación fiscal del extranjero utilizado en un
CFDI de Retenciones e Información de Pagos.
Se actualiza el año del archivo de licencia.
Se actualizaron algunos temas relacionados con el entorno de desarrollo:
- Se agrega el script
tests/expression.php
para obtener la expresión de un CFDI. - Se corren las pruebas usando PHP 7.3, 7.4, 8.0 y 8.1.
- Se agregó la herramienta
psalm
. - Se agregó la herramienta
infection
. - Se excluyó
.phive/
del paquete distribuible. - En la acción de construcción de GitHub, se crearon trabajos para las tareas.
- Se actualizaron las versiones de las dependencias.
Los siguientes cambios se hicieron en sus fechas correspondientes, pero hasta ahora se agregan a una versión.
Version 3.0.1
This is a maintenance release.
- Add example for
obtain
method. - Upgrade from
phpstan/phpstan-shim: ^0.11
tophpstan/phpstan-shim: ^0.12
. - Update license year to 2020.
- Fix links on README.
- Update Travis-CI and Scrutinizer-CI scripts.
Version 3.0.0
You should not have any trouble upgrading to from version 2.0.0
to 3.0.0
unless you are creating a concrete
class that implements ExpressionExtractorInterface
.
- [BC] Change interface of
ExpressionExtractorInterface
to add a new methodobtain(DOMDocument $document): array
that returns the extracted values, this change remove this responsability fromextract
method. - [BC] Change
DiscoverExtractor::format()
, second argument must bestring
, wasmixed
. - Update continuous integration and development environment, mayor changes:
- Travis build on PHP version
7.4snapshot
. - Scrutinizer decides which PHP version to run.
- Remove
overtrue/phplint
.
- Travis build on PHP version
Version 2.0.0
- Allows to create an expression with format fixes from specific types
- Change
ExpressionExtractorInterface
to addpublic function format(array $values): string
- Give a unique name for extractors, so when discovering by type can obtain an item
- Change
ExpressionExtractorInterface
to addpublic function uniqueName(): string
Comprobante33
usesCFDI33
Comprobante32
usesCFDI32
Retenciones10
usesRET10
- Rename
ExpressionExtractor
toDiscoverExtractor
, it makes more sense
Version 1.0.0
- Create this package as is a common use between other packages
- Include Retenciones e información de pagos (RET10)