Skip to content

Commit

Permalink
Merge pull request #53 from lunasoft/feature/signCP30
Browse files Browse the repository at this point in the history
Feature/sign cp30
  • Loading branch information
marifersw authored Jan 3, 2024
2 parents 7a18c00 + aa76b81 commit f644b1c
Show file tree
Hide file tree
Showing 8 changed files with 60 additions and 6 deletions.
4 changes: 2 additions & 2 deletions SW.Tools/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,6 @@



[assembly: AssemblyVersion("1.0.9.3")]
[assembly: AssemblyFileVersion("1.0.9.3")]
[assembly: AssemblyVersion("1.0.10.1")]
[assembly: AssemblyFileVersion("1.0.10.1")]

2 changes: 1 addition & 1 deletion SW.Tools/SW.Tools.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
<HintPath>..\packages\cadenaoriginal33.dll.1.4.3\lib\net40\cadenaoriginal33.dll</HintPath>
</Reference>
<Reference Include="cadenaoriginal40, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\cadenaoriginal40.dll.0.0.2\lib\net40\cadenaoriginal40.dll</HintPath>
<HintPath>..\packages\cadenaoriginal40.dll.0.0.4-rc\lib\net40\cadenaoriginal40.dll</HintPath>
</Reference>
<Reference Include="cadenaoriginalretenciones20, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\cadenaoriginalRetenciones20.dll.1.0.1\lib\cadenaoriginalretenciones20.dll</HintPath>
Expand Down
2 changes: 1 addition & 1 deletion SW.Tools/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<packages>
<package id="BouncyCastle" version="1.8.9" targetFramework="net45" />
<package id="cadenaoriginal33.dll" version="1.4.3" targetFramework="net40" />
<package id="cadenaoriginal40.dll" version="0.0.2" targetFramework="net40" />
<package id="cadenaoriginal40.dll" version="0.0.4-rc" targetFramework="net45" />
<package id="cadenaoriginalRetenciones20.dll" version="1.0.1" targetFramework="net45" />
<package id="cadenaoriginalTFD11.dll" version="1.0.5" targetFramework="net45" />
<package id="Gma.QrCodeNet" version="0.4.1.2" targetFramework="net40" />
Expand Down
37 changes: 37 additions & 0 deletions SW.ToolsUT/Resources/cfdi40_cp30.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante xmlns:cartaporte30="http://www.sat.gob.mx/CartaPorte30"
xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd http://www.sat.gob.mx/CartaPorte30 http://www.sat.gob.mx/sitio_internet/cfd/CartaPorte/CartaPorte30.xsd" Version="4.0" Serie="Serie" Folio="Folio" Fecha="2023-12-29T00:00:55" Sello="kMAVA5JmKN2V7dv45f9BNtFEbFh30wQgX4h/Uy9yOaj57ggFEjdJCVXQx4hKSXmP5Lbkw0benX9yiW83qDNGdysM+JHNaULJ1Un6kmaCLELnMH0Osw4rsZ+tRA+ed7lRWea/SN2DFyaX7YXmcuQHreY3k+fevdrMNoOl4mBf+2LS+5ouLDwu+FEQ3H0AxyVBlGZ2ecaaJN7gLMHwI+zShKEw64r73hBSRJtlARlr7tJjj0Ca6iHXY7ea/Qr/AQ7m2UNdYINUzsjwbsaV5gmaIAzdaRZ0Rsr+Mx9qunwALmMcjDdei+alUumaE4/FeYj61TWPr1O4fC/MTE0kVLGxSA==" SubTotal="100.00" Moneda="MXN" FormaPago="01" MetodoPago="PUE" Total="100.00" TipoDeComprobante="I" Exportacion="01" LugarExpedicion="42501" NoCertificado="30001000000500003416" Certificado="MIIFsDCCA5igAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0MTYwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTE0MzUxWhcNMjcwNTE4MTE0MzUxWjCB1zEnMCUGA1UEAxMeRVNDVUVMQSBLRU1QRVIgVVJHQVRFIFNBIERFIENWMScwJQYDVQQpEx5FU0NVRUxBIEtFTVBFUiBVUkdBVEUgU0EgREUgQ1YxJzAlBgNVBAoTHkVTQ1VFTEEgS0VNUEVSIFVSR0FURSBTQSBERSBDVjElMCMGA1UELRMcRUtVOTAwMzE3M0M5IC8gVkFEQTgwMDkyN0RKMzEeMBwGA1UEBRMVIC8gVkFEQTgwMDkyN0hTUlNSTDA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtmecO6n2GS0zL025gbHGQVxznPDICoXzR2uUngz4DqxVUC/w9cE6FxSiXm2ap8Gcjg7wmcZfm85EBaxCx/0J2u5CqnhzIoGCdhBPuhWQnIh5TLgj/X6uNquwZkKChbNe9aeFirU/JbyN7Egia9oKH9KZUsodiM/pWAH00PCtoKJ9OBcSHMq8Rqa3KKoBcfkg1ZrgueffwRLws9yOcRWLb02sDOPzGIm/jEFicVYt2Hw1qdRE5xmTZ7AGG0UHs+unkGjpCVeJ+BEBn0JPLWVvDKHZAQMj6s5Bku35+d/MyATkpOPsGT/VTnsouxekDfikJD1f7A1ZpJbqDpkJnss3vQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAFaUgj5PqgvJigNMgtrdXZnbPfVBbukAbW4OGnUhNrA7SRAAfv2BSGk16PI0nBOr7qF2mItmBnjgEwk+DTv8Zr7w5qp7vleC6dIsZFNJoa6ZndrE/f7KO1CYruLXr5gwEkIyGfJ9NwyIagvHHMszzyHiSZIA850fWtbqtythpAliJ2jF35M5pNS+YTkRB+T6L/c6m00ymN3q9lT1rB03YywxrLreRSFZOSrbwWfg34EJbHfbFXpCSVYdJRfiVdvHnewN0r5fUlPtR9stQHyuqewzdkyb5jTTw02D2cUfL57vlPStBj7SEi3uOWvLrsiDnnCIxRMYJ2UA2ktDKHk+zWnsDmaeleSzonv2CHW42yXYPCvWi88oE1DJNYLNkIjua7MxAnkNZbScNw01A6zbLsZ3y8G6eEYnxSTRfwjd8EP4kdiHNJftm7Z4iRU7HOVh79/lRWB+gd171s3d/mI9kte3MRy6V8MMEMCAnMboGpaooYwgAmwclI2XZCczNWXfhaWe0ZS5PmytD/GDpXzkX0oEgY9K/uYo5V77NdZbGAjmyi8cE2B2ogvyaN2XfIInrZPgEffJ4AB7kFA2mwesdLOCh0BLD9itmCve3A1FGR4+stO2ANUoiI3w3Tv2yQSg4bjeDlJ08lXaaFCLW2peEXMXjQUk7fmpb5MNuOUTW6BE=">
<cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" RegimenFiscal="601" />
<cfdi:Receptor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" DomicilioFiscalReceptor="42501" RegimenFiscalReceptor="601" UsoCFDI="S01" />
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ="78101800" NoIdentificacion="UT421511" Cantidad="1" ClaveUnidad="H87" Unidad="Pieza" Descripcion="Transporte de carga por carretera" ValorUnitario="100.00" Importe="100.00" ObjetoImp="01" />
</cfdi:Conceptos>
<cfdi:Complemento>
<cartaporte30:CartaPorte Version="3.0" IdCCP="CCCBCD94-870A-4332-A52A-A52AA52AA52A" TranspInternac="No" TotalDistRec="1" RegistroISTMO="" UbicacionPoloOrigen="01" UbicacionPoloDestino="01">
<cartaporte30:Ubicaciones>
<cartaporte30:Ubicacion TipoUbicacion="Origen" IDUbicacion="OR101010" RFCRemitenteDestinatario="EKU9003173C9" NombreRemitenteDestinatario="NombreRemitenteDestinatario1" FechaHoraSalidaLlegada="2023-08-01T00:00:00">
<cartaporte30:Domicilio Calle="Calle1" NumeroExterior="211" NumeroInterior="212" Colonia="1957" Localidad="13" Referencia="casa blanca" Municipio="011" Estado="CMX" Pais="MEX" CodigoPostal="13250" />
</cartaporte30:Ubicacion>
<cartaporte30:Ubicacion TipoUbicacion="Destino" IDUbicacion="DE202020" RFCRemitenteDestinatario="EKU9003173C9" NombreRemitenteDestinatario="NombreRemitenteDestinatario2" FechaHoraSalidaLlegada="2023-08-01T00:00:01" DistanciaRecorrida="1">
<cartaporte30:Domicilio Calle="Calle2" NumeroExterior="214" NumeroInterior="215" Colonia="0347" Localidad="23" Referencia="casa negra" Municipio="004" Estado="COA" Pais="MEX" CodigoPostal="25350" />
</cartaporte30:Ubicacion>
</cartaporte30:Ubicaciones>
<cartaporte30:Mercancias PesoBrutoTotal="1.0" UnidadPeso="XBX" NumTotalMercancias="1" LogisticaInversaRecoleccionDevolucion="">
<cartaporte30:Mercancia BienesTransp="11121900" Descripcion="Accesorios de equipo de telefonía" SectorCOFEPRIS="01" Cantidad="1.0" ClaveUnidad="XBX" MaterialPeligroso="No" PesoEnKg="1" DenominacionGenericaProd="DenominacionGenericaProd1" DenominacionDistintivaProd="DenominacionDistintivaProd1" Fabricante="Fabricante1" FechaCaducidad="2028-01-01" LoteMedicamento="LoteMedic1" FormaFarmaceutica="01" CondicionesEspTransp="01" RegistroSanitarioFolioAutorizacion="RegistroSanita1">
<cartaporte30:CantidadTransporta Cantidad="1" IDOrigen="OR101010" IDDestino="DE202020" />
</cartaporte30:Mercancia>
<cartaporte30:Autotransporte PermSCT="TPAF01" NumPermisoSCT="NumPermisoSCT1">
<cartaporte30:IdentificacionVehicular ConfigVehicular="VL" PesoBrutoVehicular="1" PlacaVM="plac892" AnioModeloVM="2020" />
<cartaporte30:Seguros AseguraRespCivil="AseguraRespCivil" PolizaRespCivil="123456789" />
<cartaporte30:Remolques>
<cartaporte30:Remolque SubTipoRem="CTR004" Placa="VL45K98" />
</cartaporte30:Remolques>
</cartaporte30:Autotransporte>
</cartaporte30:Mercancias>
<cartaporte30:FiguraTransporte>
<cartaporte30:TiposFigura TipoFigura="01" NombreFigura="NombreFigura" RFCFigura="CACX7605101P8" NumLicencia="a234567890" />
</cartaporte30:FiguraTransporte>
</cartaporte30:CartaPorte>
</cfdi:Complemento>
</cfdi:Comprobante>
6 changes: 6 additions & 0 deletions SW.ToolsUT/SW.ToolsUT.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="cadenaoriginal40, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\cadenaoriginal40.dll.0.0.4-rc\lib\net40\cadenaoriginal40.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
Expand Down Expand Up @@ -105,6 +108,9 @@
<None Include="Resources\CSD_Prueba_CFDI_LAN8507268IA.key">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<Content Include="Resources\cfdi40_cp30.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resources\Sign\invalidXml.xml">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
Expand Down
4 changes: 2 additions & 2 deletions SW.ToolsUT/UT_Tools_BuildInvoiceCFDI40.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@ public void UT_CFDI40_InformacionGlobal()
comprobante.SetConceptoImpuestoTraslado( "Tasa", "002", 550.00m, 0.160000m, 88.00m);
comprobante.SetEmisor("EKU9003173C9", "ESCUELA KEMPER URGATE", "601");
comprobante.SetReceptor("XAXX010101000", "PUBLICO EN GENERAL", "S01", "65000", "616");
comprobante.SetInformacionGlobal("01", "04", "2022");
comprobante.SetInformacionGlobal("01", "04", "2023");
var invoice = comprobante.GetComprobante();
var xmlInvoice = SerializerCfdi40.SerializeDocument(invoice);
xmlInvoice = SignInvoice(xmlInvoice);
Stamp stamp = new Stamp(_build.Url, _build.User, _build.Password);
StampResponseV2 response = stamp.TimbrarV2(xmlInvoice);
Assert.IsTrue(response.status == "success");
Assert.IsTrue(response.status == "success"|| response.message == "307. El comprobante contiene un timbre previo.");
}
[TestMethod]

Expand Down
10 changes: 10 additions & 0 deletions SW.ToolsUT/UT_Tools_Sign.cs
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,16 @@ public void UT_Tools_CadenaOriginalCFDIv33_CP20_OK()
string CadenaOriginal = "||3.3|RogueOne|HNFK231|2022-01-04T00:14:54|01|20001000000300022816|25000.00|MXN|1|28000.00|I|PUE|06300|EKU9003173C9|SW TRANSPORTES|601|AAA010101AAA|SW SMARTERWEB|G03|78101500|01|1|E48|SERVICIO|FLETE|25000.00|25000.00|25000.00|002|Tasa|0.160000|4000.00|25000.00|002|Tasa|0.040000|1000.00|002|1000.00|1000.00|002|Tasa|0.160000|4000.00|4000.00|2.0|No|2|Origen|OR101010|EKU9003173C9|2021-11-01T00:00:00|calle|211|0347|23|casa blanca 1|004|COA|MEX|25350|Destino|DE202020|AAA010101AAA|2021-11-01T01:00:00|1|calle|214|0347|23|casa blanca 2|004|COA|MEX|25350|Destino|DE202021|AAA010101AAA|2021-11-01T02:00:00|1|calle|220|0347|23|casa blanca 3|004|COA|MEX|25350|2.0|XBX|2|11121900|Productos de perfumería|1.0|XBX|Sí|1266|4H2|1.0|1|OR101010|DE202020|11121900|Productos de perfumería|1.0|XBX|Sí|1266|4H2|1.0|1|OR101010|DE202021|TPAF01|NumPermisoSCT|VL|plac892|2020|SW Seguros|123456789|SW Seguros Ambientales|123456789|SW Seguros|CTR021|ABC123|01|VAAM130719H60|a234567890||";
var result_ = Fiscal.RemoverCaracteresInvalidosXml(Sign.CadenaOriginalCFDIv33(xml).data.cadenaOriginal);
Assert.IsTrue(CadenaOriginal.Equals(result_));
}/// <summary>
/// Cadena Original Carta Porte 2.0
/// </summary>
[TestMethod]
public void UT_Tools_CadenaOriginalCFDIv40_CP30_OK()
{
var xml = Fiscal.RemoverCaracteresInvalidosXml(Encoding.UTF8.GetString(File.ReadAllBytes(@"Resources\cfdi40_cp30.xml")));
string CadenaOriginal = "||4.0|Serie|Folio|2023-12-29T00:00:55|01|30001000000500003416|100.00|MXN|100.00|I|01|PUE|42501|EKU9003173C9|ESCUELA KEMPER URGATE|601|EKU9003173C9|ESCUELA KEMPER URGATE|42501|601|S01|78101800|UT421511|1|H87|Pieza|Transporte de carga por carretera|100.00|100.00|01|3.0|CCCBCD94-870A-4332-A52A-A52AA52AA52A|No|1|Sí|01|01|Origen|OR101010|EKU9003173C9|NombreRemitenteDestinatario1|2023-08-01T00:00:00|Calle1|211|212|1957|13|casa blanca|011|CMX|MEX|13250|Destino|DE202020|EKU9003173C9|NombreRemitenteDestinatario2|2023-08-01T00:00:01|1|Calle2|214|215|0347|23|casa negra|004|COA|MEX|25350|1.0|XBX|1|Sí|11121900|Accesorios de equipo de telefonía|1.0|XBX|No|01|DenominacionGenericaProd1|DenominacionDistintivaProd1|Fabricante1|2028-01-01|LoteMedic1|01|01|RegistroSanita1|1|1|OR101010|DE202020|TPAF01|NumPermisoSCT1|VL|1|plac892|2020|AseguraRespCivil|123456789|CTR004|VL45K98|01|CACX7605101P8|a234567890|NombreFigura||";
var result_ = Fiscal.RemoverCaracteresInvalidosXml(Sign.CadenaOriginalCFDIv40(xml).data.cadenaOriginal);
Assert.IsTrue(CadenaOriginal.Equals(result_));
}
[TestMethod]
public void UT_Tools_CadenaOriginalCFDIv33_ERROR()
Expand Down
1 change: 1 addition & 0 deletions SW.ToolsUT/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="cadenaoriginal40.dll" version="0.0.4-rc" targetFramework="net452" />
<package id="Newtonsoft.Json" version="13.0.2" targetFramework="net452" />
<package id="SW-sdk" version="0.0.18.3" targetFramework="net452" />
</packages>

0 comments on commit f644b1c

Please sign in to comment.