- Incrementar la cobertura de PHPStan al nivel máximo.
Se agregaron los elementos de ayuda a CfdiUtils\Elements\CartaPorte10
pero no se agregó la documentación,
es necesario agregarla tomando como ejemplo la documentación del Complemento de Nómina 1.2b.
A la fecha 2023-01-08 la librería genkgo/xsl
no es compatible con PHP 8.3.
Cuando la dependencia sea compatible, modificar la construcción del proyecto para realizar las pruebas completas.
Descarga de certificados desde https://rdc.sat.gob.mx/rccf/ por certificados vencidos
Actualización 2020-10-08: Este problema se vuelve a presentar.
Actualización 2020-07-18: Desde 2019-10-24 este problema parece solucionado.
La descarga de certificados desde https://rdc.sat.gob.mx/rccf/
falla por un error de configuración
en el servidor web del SAT. Por ello se han puesto instancias especiales de descargadores PhpDownloader
que desactivan la verificación de SSL.
Hay que remover esta condición en cuando el sitio del SAT esté correctamente configurado.
Buscar en el código de pruebas el uso de CfdiUtilsTests\TestCase::newInsecurePhpDownloader(): DownloaderInterface
y remover el método.
Al correr el siguiente comando correrá 1000 peticiones secuenciales e imprimirá el resultado, si es 0
entonces
la petición se completó, si es 60
es el error de certificado expirado.
for i in {1..1000}; do curl --verbose "https://rdc.sat.gob.mx/rccf/" > /dev/null 2>&1 ; echo $? ; done | sort | uniq -c
694 0
306 60
Documentar los otros helpers de Elements
:
- Complemento de comercio exterior
- Impuestos locales
- Pagos
Documentar los validadores:
- Revisar todos los validadores documentados en CFDI
- Pagos
Version 3 will deprecate some classes and methods, it may be good point of start to migrate the project
to a new namespace PhpCfdi\CfdiUtils
The classes CfdiUtils\CfdiVersion
and CfdiUtils\TimbreFiscalDigital\CfdiVersion
share the same logic and methods. They are detected as code smells, and it would be better
to have a single class to implement the logic and extend that class to provide configuration.
This is already implemented in CfdiUtils\ConsultaCfdiSat\WebService
but there are two
ideas than need a solution:
- Find a way to not depend on PHP SOAP but in something that can do async request and configure the connection like setting a proxy, maybe depending on guzzle.
- Create a cache of the WSDL page (?)
The validation rules for "Complemento de Recepción de pagos" are included since version 2.6, but they require more cases of use, and a better understanding of the rules published by SAT.
Create validation rules for "Complemento de Comercio Exterior"
This will be implemented on a different project, for testing proposes there is the file tests/validate.php
This will be implemented on a different project.