Version 2.19.0
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
andSello
. - The document has a valid
TimbreFiscalDigital
and information matches withcfdi: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 aCfdiUtils\Cfdi
object. - Extract and share logic for several objects that are CFDI 3.3 and CFDI 4.0 compatible:
CfdiUtils\CfdiValidator33
toCfdiUtils\Validate\CfdiValidatorTrait
.CfdiUtils\Validate\Cfdi33\Standard\SelloDigitalCertificado
toCfdiUtils\Validate\Common\SelloDigitalCertificadoValidatorTrait
.CfdiUtils\Validate\Cfdi33\Standard\TimbreFiscalDigitalSello
toCfdiUtils\Validate\Common\TimbreFiscalDigitalSelloValidatorTrait
.CfdiUtils\Validate\Cfdi33\Standard\TimbreFiscalDigitalVersion
toCfdiUtils\Validate\Common\TimbreFiscalDigitalVersionValidatorTrait
.CfdiUtils\CfdiCreator33
toCfdiUtils\Validate\CfdiCreatorTrait
.CfdiUtils\Elements\Cfdi33\Helpers\SumasConceptosWriter
toCfdiUtils\SumasConceptos\SumasConceptosWriter
.
- The certificate PAC used for testing
30001000000400002495
is included. - The class
CfdiUtilsTests\Validate\ValidateTestCase
was renamed toCfdiUtilsTests\Validate\Validate33TestCase
and extracted toCfdiUtilsTests\Validate\ValidateBaseTestCase
because it shares a lot of logic withCfdiUtilsTests\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.