I’m currently facing an issue while using the latest SDK version 3.3.5 for signing XML files. Previously, I was using version 3.2.6 without any problems. In the new version, I can generate the hash value correctly; however, when I attempt to sign the XML, I encounter the following error:
[Error] Generating EInvoice Signature
[Error] Generating EInvoice QR Code
I have attached the format of the XML I am using for your reference, for now i even tried using the zatca provided sample xml, still i am facing the same issue. If anyone has experienced similar issues or has insights on what might be causing this error, I would greatly appreciate your help.
Thank you!
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2">
<cbc:ProfileID>reporting:1.0</cbc:ProfileID>
<cbc:ID>SME00023</cbc:ID>
<cbc:UUID>8d487816-70b8-4ade-a618-9d620b73814a</cbc:UUID>
<cbc:IssueDate>2022-09-07</cbc:IssueDate>
<cbc:IssueTime>12:21:28</cbc:IssueTime>
<cbc:InvoiceTypeCode name="0100000">388</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>SAR</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>SAR</cbc:TaxCurrencyCode>
<cac:AdditionalDocumentReference>
<cbc:ID>ICV</cbc:ID>
<cbc:UUID>23</cbc:UUID>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
<cbc:ID>PIH</cbc:ID>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject mimeCode="text/plain">NWZlY2ViNjZmZmM4NmYzOGQ5NTI3ODZjNmQ2OTZjNzljMmRiYzIzOWRkNGU5MWI0NjcyOWQ3M2EyN2ZiNTdlOQ==</cbc:EmbeddedDocumentBinaryObject>
</cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="CRN">1010010000</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName> | Prince Sultan</cbc:StreetName>
<cbc:BuildingNumber>2322</cbc:BuildingNumber>
<cbc:CitySubdivisionName> | Al-Murabba</cbc:CitySubdivisionName>
<cbc:CityName> | Riyadh</cbc:CityName>
<cbc:PostalZone>23333</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>SA</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>399999999900003</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName> | Maximum Speed Tech Supply LTD</cbc:RegistrationName>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName> | Salah Al-Din</cbc:StreetName>
<cbc:BuildingNumber>1111</cbc:BuildingNumber>
<cbc:CitySubdivisionName> | Al-Murooj</cbc:CitySubdivisionName>
<cbc:CityName> | Riyadh</cbc:CityName>
<cbc:PostalZone>12222</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>SA</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>399999999800003</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName> | Fatoora Samples LTD</cbc:RegistrationName>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:Delivery>
<cbc:ActualDeliveryDate>2022-09-07</cbc:ActualDeliveryDate>
</cac:Delivery>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>10</cbc:PaymentMeansCode>
</cac:PaymentMeans>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="SAR">0.00</cbc:Amount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="6" schemeID="UN/ECE 5305">S</cbc:ID>
<cbc:Percent>15</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="6" schemeID="UN/ECE 5153">VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SAR">0.6</cbc:TaxAmount>
</cac:TaxTotal>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SAR">0.6</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="SAR">4.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="SAR">0.60</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="6" schemeID="UN/ECE 5305">S</cbc:ID>
<cbc:Percent>15.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="6" schemeID="UN/ECE 5153">VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="SAR">4.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="SAR">4.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="SAR">4.60</cbc:TaxInclusiveAmount>
<cbc:AllowanceTotalAmount currencyID="SAR">0.00</cbc:AllowanceTotalAmount>
<cbc:PrepaidAmount currencyID="SAR">0.00</cbc:PrepaidAmount>
<cbc:PayableAmount currencyID="SAR">4.60</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="PCE">2.000000</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="SAR">4.00</cbc:LineExtensionAmount>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SAR">0.60</cbc:TaxAmount>
<cbc:RoundingAmount currencyID="SAR">4.60</cbc:RoundingAmount>
</cac:TaxTotal>
<cac:Item>
<cbc:Name> </cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>15.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="SAR">2.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="SAR">0.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
idaoud
September 24, 2024, 11:29am
2
Dear @Mudassir
Thanks for reaching out,
Can I kindly ask you to mention the steps you are doing for the signing?
Thanks,
Ibrahem Daoud.
1 Like
prevoiusly, i was directly generating the hash value first for the generated XML then i was signing the xml directly. as of now as well i am following the same process.
do i need to include any other steps in it.
idaoud
September 24, 2024, 11:45am
4
Dear @Mudassir
Thanks for your reply,
Can you tell me the exact process you are following? to ensure comprehensive support as usual.
Thanks,
Ibrahem Daoud.
1 Like
i have mentioned above write
first step is generating the xml…
the second step, I am using the genrated xml and sdk to get the hash value…
in the third step, i am using the generated xml to sign the xml, using the certificate content and the primary key, but when i do this, i am facing this error
idaoud
September 24, 2024, 12:07pm
6
Dear @Mudassir
Can I kindly ask you to collaborate with the below questions:
1- The certificate you are using it’s from Simulation, or Production?
2- What is the command you are using to sign your invoices in SDK?
Thanks,
Ibrahem Daoud.
1 Like
ohkk the sdk i am currently using is of production… but the PCSID is of simulation. so do i need to download the simulation SDK and try signing again…
also the command i am using currently is as below
Dim _IEInvoiceSigningLogic = New EInvoiceSigner()
signResult = _IEInvoiceSigningLogic.SignDocument(xmlDoc, certificateContent, privateKeyContent)
idaoud
September 24, 2024, 12:46pm
8
Dear @Mudassir
Please note that the SDK for simulation and production are the same, However, since you are using signing method you need to update the private key that generated in conjunction when the CSR generated, please ensure to follow the below steps and let me know if it works:
First Update the cert.pem file in the SDK:
Ensure that you are replacing the decoded binaryToken in the following bath in the SDK: “zatca-einvoicing-sdk-238-R3.3.5\Data\Certificates\cert.pem”
Second Update the private key in the same directory:
When you generate your CSR from your config file, two files generated (the CSR, and Private Key) make sure that you take the private key and replace it with the following path “zatca-einvoicing-sdk-238-R3.3.5\Data\Certificates\ec-secp256k1-priv-key.pem”.
The signing function takes 3 parameters (xml, cert, and the private key), you need to update the private key.
Please try what I mentioned and let me know if it works.
Thanks,
Ibrahem Daoud.
1 Like
Thank you Mr Daoud… it is working fine now…
but the invoice hash, which i am genereting using the .net sdk differs from the invoice hash i am generating using the fatoora CLI commands. and the simulation API is only clearing my invoice, when i use the hash value generated from CLI Command, other wise it is throwing an error saying that
The invoice hash API body does not match the (calculated) Hash of the XML zatca
i will be great help, if u can help me resolve this issue
idaoud
September 24, 2024, 2:12pm
10
Dear @Mudassir
It’s great to know that the issue you are facing fixed successfully,
Do you mean that when you are sending an invoice with the hash from the .Net, the API response is (not matched hash error), however when you are using the CLI command and send the JSON request the API accept it?
1 Like
Exactly. First of all, I am trying to generate the hash value using a .NET application and then attempting to clear the invoice using the API. However, I am encountering a hash value error when using the hash generated by the .NET application. On the other hand, when I use the Fatoora CLI commands to generate the hash value, the error does not occur, and the hash value issue is resolved. Additionally, the hash value obtained using the CLI commands is different from the hash generated by the .NET application for the same file.
idaoud
September 25, 2024, 7:00am
12
Morning @Mudassir
Thanks for reaching out,
it’s not the right behavior actually, did you check the matched between the Hash you generated the Hash in the XML?
Additionally, Can I kindly ask you to provide the xml, and the request and response screenshots? to ensure that the usual comprehensive support is provided.
Thanks,
Ibrahem Daoud.
1 Like
Thank you daoud for your timely reply.
Yeah I understand this, as earlier i was following the same steps with the old sdk, and the application was running fine.
Anyhow i am attaching the requested files, pls have a look, and guide me
this is the generated XML before signing the it.
<?xml version="1.0" encoding="utf-8"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:ProfileID>reporting:1.0</cbc:ProfileID>
<cbc:ID>ERP_Inv_16</cbc:ID>
<cbc:UUID>3450384B-4132-5A43-4A35-313130303942</cbc:UUID>
<cbc:IssueDate>2024-09-18</cbc:IssueDate>
<cbc:IssueTime>12:21:28</cbc:IssueTime>
<cbc:InvoiceTypeCode name="0100000">388</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>SAR</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>SAR</cbc:TaxCurrencyCode>
<cac:AdditionalDocumentReference>
<cbc:ID>ICV</cbc:ID>
<cbc:UUID>16</cbc:UUID>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
<cbc:ID>PIH</cbc:ID>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject mimeCode="text/plain">ySWV+AyFK/3JzRecXAylZmq48nfCVrpeZUd68DHNyns=</cbc:EmbeddedDocumentBinaryObject>
</cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="CRN">4030121675</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>Imam Saud Bin Abdulaziz Bin Mohammed Rd</cbc:StreetName>
<cbc:BuildingNumber>3554</cbc:BuildingNumber>
<cbc:PlotIdentification>3910</cbc:PlotIdentification>
<cbc:CitySubdivisionName>Al Maseef Dist.</cbc:CitySubdivisionName>
<cbc:CityName>الرياض | Riyadh</cbc:CityName>
<cbc:PostalZone>12465</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>SA</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>300056769300003</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>OLAYA COMPANY</cbc:RegistrationName>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="NAT">311111111111113</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>العليا</cbc:StreetName>
<cbc:BuildingNumber>6531</cbc:BuildingNumber>
<cbc:PlotIdentification>3059</cbc:PlotIdentification>
<cbc:CitySubdivisionName>العليا</cbc:CitySubdivisionName>
<cbc:CityName>العليا | Riyadh</cbc:CityName>
<cbc:PostalZone>13321</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>SA</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>310772766900003</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Aroma Cafe</cbc:RegistrationName>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:Delivery>
<cbc:ActualDeliveryDate>2024-09-18</cbc:ActualDeliveryDate>
</cac:Delivery>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SAR">3.60</cbc:TaxAmount>
</cac:TaxTotal>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SAR">3.60</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="SAR">24.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="SAR">3.60</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeID="UN/ECE 5305" schemeAgencyID="6">S</cbc:ID>
<cbc:Percent>15.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeID="UN/ECE 5153" schemeAgencyID="6">VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="SAR">24.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="SAR">24.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="SAR">27.60</cbc:TaxInclusiveAmount>
<cbc:AllowanceTotalAmount currencyID="SAR">0.00</cbc:AllowanceTotalAmount>
<cbc:PrepaidAmount currencyID="SAR">0.00</cbc:PrepaidAmount>
<cbc:PayableAmount currencyID="SAR">27.60</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="PCE">2.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="SAR">24.00</cbc:LineExtensionAmount>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SAR">3.60</cbc:TaxAmount>
<cbc:RoundingAmount currencyID="SAR">27.60</cbc:RoundingAmount>
</cac:TaxTotal>
<cac:Item>
<cbc:Name>Genius DX-110 Wired Mouse</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>15.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="SAR">12.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="SAR">0.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
this is the XML generated after siging. and here i am using the correct certificate content and the associated Primary key used to generate the PCSID
<?xml version="1.0" encoding="utf-8"?><Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2">
<ext:UBLExtensions>
<ext:UBLExtension>
<ext:ExtensionURI>urn:oasis:names:specification:ubl:dsig:enveloped:xades</ext:ExtensionURI>
<ext:ExtensionContent>
<sig:UBLDocumentSignatures xmlns:sig="urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2" xmlns:sac="urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2" xmlns:sbc="urn:oasis:names:specification:ubl:schema:xsd:SignatureBasicComponents-2">
<sac:SignatureInformation>
<cbc:ID>urn:oasis:names:specification:ubl:signature:1</cbc:ID>
<sbc:ReferencedSignatureID>urn:oasis:names:specification:ubl:signature:Invoice</sbc:ReferencedSignatureID>
<ds:Signature Id="signature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2006/12/xml-c14n11" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256" />
<ds:Reference Id="invoiceSignedData" URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
<ds:XPath>not(//ancestor-or-self::ext:UBLExtensions)</ds:XPath>
</ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
<ds:XPath>not(//ancestor-or-self::cac:Signature)</ds:XPath>
</ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
<ds:XPath>not(//ancestor-or-self::cac:AdditionalDocumentReference[cbc:ID='QR'])</ds:XPath>
</ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/2006/12/xml-c14n11" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<ds:DigestValue>cXwAv5W/2/sL0P9E9po5PIPQw6tGr5kxjjyM0jzV/GU=</ds:DigestValue>
</ds:Reference>
<ds:Reference Type="http://www.w3.org/2000/09/xmldsig#SignatureProperties" URI="#xadesSignedProperties">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<ds:DigestValue>NTVkYWE1MWI0Y2FmYzk0ZThhNGRlM2JkZmNhOTU1MjRmM2JhNzE1MjA3NmVkNzQwNmY2ZjAwOWZiM2YxYjAxYw==</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>MEQCIETCTHDVofiGcu4mR7URRSUG4NbK7lq+SswRIB0fn9wMAiB3OgImok93qR99V7+Oyab+/HhA3h1kY6JQWA0Bctc0pQ==</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>MIIE8zCCBJigAwIBAgITeAAASY8IuivLIe5CXAABAABJjzAKBggqhkjOPQQDAjBiMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxEzARBgoJkiaJk/IsZAEZFgNnb3YxFzAVBgoJkiaJk/IsZAEZFgdleHRnYXp0MRswGQYDVQQDExJQRVpFSU5WT0lDRVNDQTQtQ0EwHhcNMjQwODIyMDkwNjI0WhcNMjYwODIyMDkxNjI0WjBRMQswCQYDVQQGEwJTQTEWMBQGA1UEChMNT0xBWUEgQ09NUEFOWTETMBEGA1UECxMKMzAwMDU2NzY5MzEVMBMGA1UEAxMMMTkyLjE2OC4wLjEyMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEwrLyjn0EhYP95C/J3/WeP9I4MymoQOlNguhdE+LrqRzcDM3HqByQFNSEqz0Uha6YaGGKBBFHJtXLFcMfWD8C06OCAz8wggM7MIGpBgNVHREEgaEwgZ6kgZswgZgxPTA7BgNVBAQMNDEtREFYfDItVlRlc3R8My0zNDUwMzg0Qi00MTMyLTVBNDMtNEEzNS0zMTMxMzAzMDM5NDIxHzAdBgoJkiaJk/IsZAEBDA8zMDAwNTY3NjkzMDAwMDMxDTALBgNVBAwMBDExMDAxETAPBgNVBBoMCFJIWUEzNTU0MRQwEgYDVQQPDAtSZWFsIEVzdGF0ZTAdBgNVHQ4EFgQUPPlqaOivbCwB9NwLAJCJB2qQF6wwHwYDVR0jBBgwFoAUx8Dmt6ndEspPPW1ogpYhRfMBdaQwgeUGA1UdHwSB3TCB2jCB16CB1KCB0YaBzmxkYXA6Ly8vQ049UEVaRUlOVk9JQ0VTQ0E0LUNBKDEpLENOPVBSWkVJTlZPSUNFUEtJNCxDTj1DRFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1leHR6YXRjYSxEQz1nb3YsREM9bG9jYWw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIHOBggrBgEFBQcBAQSBwTCBvjCBuwYIKwYBBQUHMAKGga5sZGFwOi8vL0NOPVBFWkVJTlZPSUNFU0NBNC1DQSxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1leHR6YXRjYSxEQz1nb3YsREM9bG9jYWw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDgYDVR0PAQH/BAQDAgeAMDwGCSsGAQQBgjcVBwQvMC0GJSsGAQQBgjcVCIGGqB2E0PsShu2dJIfO+xnTwFVmgZzYLYPlxV0CAWQCARAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMDMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwMwCgYIKoZIzj0EAwIDSQAwRgIhAL4lDCvwZNiswUiF/XG5R9MkE0PFgAWLss2UtpqNBdhuAiEA5nAXr76HyZnnAksmcMfi0rsQh4SNA0cNxHVqq5iTJok=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<ds:Object>
<xades:QualifyingProperties Target="signature" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#">
<xades:SignedProperties Id="xadesSignedProperties">
<xades:SignedSignatureProperties>
<xades:SigningTime>2024-09-25T12:55:47</xades:SigningTime>
<xades:SigningCertificate>
<xades:Cert>
<xades:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<ds:DigestValue>NTVmNWI2YWVjZDIxNDIxY2I5MTFiYmM5MmRmYWIyOWJjN2M2MGEyZjA5YzRiN2E1ZGMzNWZlOTVmYzIxY2QxZQ==</ds:DigestValue>
</xades:CertDigest>
<xades:IssuerSerial>
<ds:X509IssuerName>CN=PEZEINVOICESCA4-CA, DC=extgazt, DC=gov, DC=local</ds:X509IssuerName>
<ds:X509SerialNumber>2676089521599993929322109729006092560898214287</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
</xades:SigningCertificate>
</xades:SignedSignatureProperties>
</xades:SignedProperties>
</xades:QualifyingProperties>
</ds:Object>
</ds:Signature>
</sac:SignatureInformation>
</sig:UBLDocumentSignatures>
</ext:ExtensionContent>
</ext:UBLExtension>
</ext:UBLExtensions>
<cbc:ProfileID>reporting:1.0</cbc:ProfileID>
<cbc:ID>ERP_Inv_16</cbc:ID>
<cbc:UUID>3450384B-4132-5A43-4A35-313130303942</cbc:UUID>
<cbc:IssueDate>2024-09-18</cbc:IssueDate>
<cbc:IssueTime>12:21:28</cbc:IssueTime>
<cbc:InvoiceTypeCode name="0100000">388</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>SAR</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>SAR</cbc:TaxCurrencyCode>
<cac:AdditionalDocumentReference>
<cbc:ID>ICV</cbc:ID>
<cbc:UUID>16</cbc:UUID>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
<cbc:ID>PIH</cbc:ID>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject mimeCode="text/plain">ySWV+AyFK/3JzRecXAylZmq48nfCVrpeZUd68DHNyns=</cbc:EmbeddedDocumentBinaryObject>
</cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
<cbc:ID>QR</cbc:ID>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject mimeCode="text/plain">AQ1PTEFZQSBDT01QQU5ZAg8zMDAwNTY3NjkzMDAwMDMDEzIwMjQtMDktMThUMTI6MjE6MjgEBTI3LjYwBQQzLjYwBixjWHdBdjVXLzIvc0wwUDlFOXBvNVBJUFF3NnRHcjVreGpqeU0wanpWL0dVPQdgTUVRQ0lFVENUSERWb2ZpR2N1NG1SN1VSUlNVRzROYks3bHErU3N3UklCMGZuOXdNQWlCM09nSW1vazkzcVI5OVY3K095YWIrL0hoQTNoMWtZNkpRV0EwQmN0YzBwUT09CFgwVjAQBgcqhkjOPQIBBgUrgQQACgNCAATCsvKOfQSFg/3kL8nf9Z4/0jgzKahA6U2C6F0T4uupHNwMzceoHJAU1ISrPRSFrphoYYoEEUcm1csVwx9YPwLT</cbc:EmbeddedDocumentBinaryObject>
</cac:Attachment>
</cac:AdditionalDocumentReference><cac:Signature>
<cbc:ID>urn:oasis:names:specification:ubl:signature:Invoice</cbc:ID>
<cbc:SignatureMethod>urn:oasis:names:specification:ubl:dsig:enveloped:xades</cbc:SignatureMethod>
</cac:Signature><cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="CRN">4030121675</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>Imam Saud Bin Abdulaziz Bin Mohammed Rd</cbc:StreetName>
<cbc:BuildingNumber>3554</cbc:BuildingNumber>
<cbc:PlotIdentification>3910</cbc:PlotIdentification>
<cbc:CitySubdivisionName>Al Maseef Dist.</cbc:CitySubdivisionName>
<cbc:CityName>الرياض | Riyadh</cbc:CityName>
<cbc:PostalZone>12465</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>SA</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>300056769300003</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>OLAYA COMPANY</cbc:RegistrationName>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="NAT">311111111111113</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>العليا</cbc:StreetName>
<cbc:BuildingNumber>6531</cbc:BuildingNumber>
<cbc:PlotIdentification>3059</cbc:PlotIdentification>
<cbc:CitySubdivisionName>العليا</cbc:CitySubdivisionName>
<cbc:CityName>العليا | Riyadh</cbc:CityName>
<cbc:PostalZone>13321</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>SA</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>310772766900003</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Aroma Cafe</cbc:RegistrationName>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:Delivery>
<cbc:ActualDeliveryDate>2024-09-18</cbc:ActualDeliveryDate>
</cac:Delivery>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SAR">3.60</cbc:TaxAmount>
</cac:TaxTotal>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SAR">3.60</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="SAR">24.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="SAR">3.60</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeID="UN/ECE 5305" schemeAgencyID="6">S</cbc:ID>
<cbc:Percent>15.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeID="UN/ECE 5153" schemeAgencyID="6">VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="SAR">24.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="SAR">24.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="SAR">27.60</cbc:TaxInclusiveAmount>
<cbc:AllowanceTotalAmount currencyID="SAR">0.00</cbc:AllowanceTotalAmount>
<cbc:PrepaidAmount currencyID="SAR">0.00</cbc:PrepaidAmount>
<cbc:PayableAmount currencyID="SAR">27.60</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="PCE">2.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="SAR">24.00</cbc:LineExtensionAmount>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SAR">3.60</cbc:TaxAmount>
<cbc:RoundingAmount currencyID="SAR">27.60</cbc:RoundingAmount>
</cac:TaxTotal>
<cac:Item>
<cbc:Name>Genius DX-110 Wired Mouse</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>15.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="SAR">12.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="SAR">0.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
i am using postman to post it using the api in the simulation and here is the response below
if you need anything else to resolve this issue, pls do let me know
thanks
idaoud
September 25, 2024, 7:35am
14
Dear @Mudassir
Thanks for your kindness in thanking me,
Just one more question, the signing invoice you shared is the same in the request body but encoded, right?
1 Like
Yes it is encoded in base64 format.
below is the json format for the same i am using
{"invoiceHash": "cXwAv5W/2/sL0P9E9po5PIPQw6tGr5kxjjyM0jzV/GU=", "uuid": "3450384B-4132-5A43-4A35-313130303942", "invoice": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48SW52b2ljZSB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnNwZWNpZmljYXRpb246dWJsOnNjaGVtYTp4c2Q6SW52b2ljZS0yIiB4bWxuczpjYWM9InVybjpvYXNpczpuYW1lczpzcGVjaWZpY2F0aW9uOnVibDpzY2hlbWE6eHNkOkNvbW1vbkFnZ3JlZ2F0ZUNvbXBvbmVudHMtMiIgeG1sbnM6Y2JjPSJ1cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6c2NoZW1hOnhzZDpDb21tb25CYXNpY0NvbXBvbmVudHMtMiIgeG1sbnM6ZXh0PSJ1cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6c2NoZW1hOnhzZDpDb21tb25FeHRlbnNpb25Db21wb25lbnRzLTIiPg0KICA8ZXh0OlVCTEV4dGVuc2lvbnM+DQogICAgPGV4dDpVQkxFeHRlbnNpb24+DQogICAgICAgIDxleHQ6RXh0ZW5zaW9uVVJJPnVybjpvYXNpczpuYW1lczpzcGVjaWZpY2F0aW9uOnVibDpkc2lnOmVudmVsb3BlZDp4YWRlczwvZXh0OkV4dGVuc2lvblVSST4NCiAgICAgICAgPGV4dDpFeHRlbnNpb25Db250ZW50Pg0KICAgICAgICAgICAgPHNpZzpVQkxEb2N1bWVudFNpZ25hdHVyZXMgeG1sbnM6c2lnPSJ1cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6c2NoZW1hOnhzZDpDb21tb25TaWduYXR1cmVDb21wb25lbnRzLTIiIHhtbG5zOnNhYz0idXJuOm9hc2lzOm5hbWVzOnNwZWNpZmljYXRpb246dWJsOnNjaGVtYTp4c2Q6U2lnbmF0dXJlQWdncmVnYXRlQ29tcG9uZW50cy0yIiB4bWxuczpzYmM9InVybjpvYXNpczpuYW1lczpzcGVjaWZpY2F0aW9uOnVibDpzY2hlbWE6eHNkOlNpZ25hdHVyZUJhc2ljQ29tcG9uZW50cy0yIj4NCiAgICAgICAgICAgICAgICA8c2FjOlNpZ25hdHVyZUluZm9ybWF0aW9uPg0KICAgICAgICAgICAgICAgICAgICA8Y2JjOklEPnVybjpvYXNpczpuYW1lczpzcGVjaWZpY2F0aW9uOnVibDpzaWduYXR1cmU6MTwvY2JjOklEPg0KICAgICAgICAgICAgICAgICAgICA8c2JjOlJlZmVyZW5jZWRTaWduYXR1cmVJRD51cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6c2lnbmF0dXJlOkludm9pY2U8L3NiYzpSZWZlcmVuY2VkU2lnbmF0dXJlSUQ+DQogICAgICAgICAgICAgICAgICAgIDxkczpTaWduYXR1cmUgSWQ9InNpZ25hdHVyZSIgeG1sbnM6ZHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRzOlNpZ25lZEluZm8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRzOkNhbm9uaWNhbGl6YXRpb25NZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDA2LzEyL3htbC1jMTRuMTEiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRzOlNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZHNpZy1tb3JlI2VjZHNhLXNoYTI1NiIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHM6UmVmZXJlbmNlIElkPSJpbnZvaWNlU2lnbmVkRGF0YSIgVVJJPSIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHM6VHJhbnNmb3Jtcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkczpUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1JFQy14cGF0aC0xOTk5MTExNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRzOlhQYXRoPm5vdCgvL2FuY2VzdG9yLW9yLXNlbGY6OmV4dDpVQkxFeHRlbnNpb25zKTwvZHM6WFBhdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RzOlRyYW5zZm9ybT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkczpUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1JFQy14cGF0aC0xOTk5MTExNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRzOlhQYXRoPm5vdCgvL2FuY2VzdG9yLW9yLXNlbGY6OmNhYzpTaWduYXR1cmUpPC9kczpYUGF0aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHM6VHJhbnNmb3JtPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLXhwYXRoLTE5OTkxMTE2Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHM6WFBhdGg+bm90KC8vYW5jZXN0b3Itb3Itc2VsZjo6Y2FjOkFkZGl0aW9uYWxEb2N1bWVudFJlZmVyZW5jZVtjYmM6SUQ9J1FSJ10pPC9kczpYUGF0aD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHM6VHJhbnNmb3JtPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDYvMTIveG1sLWMxNG4xMSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kczpUcmFuc2Zvcm1zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHM6RGlnZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjc2hhMjU2IiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHM6RGlnZXN0VmFsdWU+Y1h3QXY1Vy8yL3NMMFA5RTlwbzVQSVBRdzZ0R3I1a3hqanlNMGp6Vi9HVT08L2RzOkRpZ2VzdFZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHM6UmVmZXJlbmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkczpSZWZlcmVuY2UgVHlwZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI1NpZ25hdHVyZVByb3BlcnRpZXMiIFVSST0iI3hhZGVzU2lnbmVkUHJvcGVydGllcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyNzaGEyNTYiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkczpEaWdlc3RWYWx1ZT5OVFZrWVdFMU1XSTBZMkZtWXprMFpUaGhOR1JsTTJKa1ptTmhPVFUxTWpSbU0ySmhOekUxTWpBM05tVmtOelF3Tm1ZMlpqQXdPV1ppTTJZeFlqQXhZdz09PC9kczpEaWdlc3RWYWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RzOlJlZmVyZW5jZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHM6U2lnbmVkSW5mbz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkczpTaWduYXR1cmVWYWx1ZT5NRVFDSUVUQ1RIRFZvZmlHY3U0bVI3VVJSU1VHNE5iSzdscStTc3dSSUIwZm45d01BaUIzT2dJbW9rOTNxUjk5VjcrT3lhYisvSGhBM2gxa1k2SlFXQTBCY3RjMHBRPT08L2RzOlNpZ25hdHVyZVZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRzOktleUluZm8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRzOlg1MDlEYXRhPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHM6WDUwOUNlcnRpZmljYXRlPk1JSUU4ekNDQkppZ0F3SUJBZ0lUZUFBQVNZOEl1aXZMSWU1Q1hBQUJBQUJKanpBS0JnZ3Foa2pPUFFRREFqQmlNUlV3RXdZS0NaSW1pWlB5TEdRQkdSWUZiRzlqWVd3eEV6QVJCZ29Ka2lhSmsvSXNaQUVaRmdObmIzWXhGekFWQmdvSmtpYUprL0lzWkFFWkZnZGxlSFJuWVhwME1Sc3dHUVlEVlFRREV4SlFSVnBGU1U1V1QwbERSVk5EUVRRdFEwRXdIaGNOTWpRd09ESXlNRGt3TmpJMFdoY05Nall3T0RJeU1Ea3hOakkwV2pCUk1Rc3dDUVlEVlFRR0V3SlRRVEVXTUJRR0ExVUVDaE1OVDB4QldVRWdRMDlOVUVGT1dURVRNQkVHQTFVRUN4TUtNekF3TURVMk56WTVNekVWTUJNR0ExVUVBeE1NTVRreUxqRTJPQzR3TGpFeU1GWXdFQVlIS29aSXpqMENBUVlGSzRFRUFBb0RRZ0FFd3JMeWpuMEVoWVA5NUMvSjMvV2VQOUk0TXltb1FPbE5ndWhkRStMcnFSemNETTNIcUJ5UUZOU0VxejBVaGE2WWFHR0tCQkZISnRYTEZjTWZXRDhDMDZPQ0F6OHdnZ003TUlHcEJnTlZIUkVFZ2FFd2daNmtnWnN3Z1pneFBUQTdCZ05WQkFRTU5ERXRSRUZZZkRJdFZsUmxjM1I4TXkwek5EVXdNemcwUWkwME1UTXlMVFZCTkRNdE5FRXpOUzB6TVRNeE16QXpNRE01TkRJeEh6QWRCZ29Ka2lhSmsvSXNaQUVCREE4ek1EQXdOVFkzTmprek1EQXdNRE14RFRBTEJnTlZCQXdNQkRFeE1EQXhFVEFQQmdOVkJCb01DRkpJV1VFek5UVTBNUlF3RWdZRFZRUVBEQXRTWldGc0lFVnpkR0YwWlRBZEJnTlZIUTRFRmdRVVBQbHFhT2l2YkN3QjlOd0xBSkNKQjJxUUY2d3dId1lEVlIwakJCZ3dGb0FVeDhEbXQ2bmRFc3BQUFcxb2dwWWhSZk1CZGFRd2dlVUdBMVVkSHdTQjNUQ0IyakNCMTZDQjFLQ0IwWWFCem14a1lYQTZMeTh2UTA0OVVFVmFSVWxPVms5SlEwVlRRMEUwTFVOQktERXBMRU5PUFZCU1drVkpUbFpQU1VORlVFdEpOQ3hEVGoxRFJGQXNRMDQ5VUhWaWJHbGpKVEl3UzJWNUpUSXdVMlZ5ZG1salpYTXNRMDQ5VTJWeWRtbGpaWE1zUTA0OVEyOXVabWxuZFhKaGRHbHZiaXhFUXoxbGVIUjZZWFJqWVN4RVF6MW5iM1lzUkVNOWJHOWpZV3cvWTJWeWRHbG1hV05oZEdWU1pYWnZZMkYwYVc5dVRHbHpkRDlpWVhObFAyOWlhbVZqZEVOc1lYTnpQV05TVEVScGMzUnlhV0oxZEdsdmJsQnZhVzUwTUlIT0JnZ3JCZ0VGQlFjQkFRU0J3VENCdmpDQnV3WUlLd1lCQlFVSE1BS0dnYTVzWkdGd09pOHZMME5PUFZCRldrVkpUbFpQU1VORlUwTkJOQzFEUVN4RFRqMUJTVUVzUTA0OVVIVmliR2xqSlRJd1MyVjVKVEl3VTJWeWRtbGpaWE1zUTA0OVUyVnlkbWxqWlhNc1EwNDlRMjl1Wm1sbmRYSmhkR2x2Yml4RVF6MWxlSFI2WVhSallTeEVRejFuYjNZc1JFTTliRzlqWVd3L1kwRkRaWEowYVdacFkyRjBaVDlpWVhObFAyOWlhbVZqZEVOc1lYTnpQV05sY25ScFptbGpZWFJwYjI1QmRYUm9iM0pwZEhrd0RnWURWUjBQQVFIL0JBUURBZ2VBTUR3R0NTc0dBUVFCZ2pjVkJ3UXZNQzBHSlNzR0FRUUJnamNWQ0lHR3FCMkUwUHNTaHUyZEpJZk8reG5Ud0ZWbWdaellMWVBseFYwQ0FXUUNBUkF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGQndNRE1DY0dDU3NHQVFRQmdqY1ZDZ1FhTUJnd0NnWUlLd1lCQlFVSEF3SXdDZ1lJS3dZQkJRVUhBd013Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUw0bERDdndaTmlzd1VpRi9YRzVSOU1rRTBQRmdBV0xzczJVdHBxTkJkaHVBaUVBNW5BWHI3Nkh5Wm5uQWtzbWNNZmkwcnNRaDRTTkEwY054SFZxcTVpVEpvaz08L2RzOlg1MDlDZXJ0aWZpY2F0ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RzOlg1MDlEYXRhPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kczpLZXlJbmZvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRzOk9iamVjdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eGFkZXM6UXVhbGlmeWluZ1Byb3BlcnRpZXMgVGFyZ2V0PSJzaWduYXR1cmUiIHhtbG5zOnhhZGVzPSJodHRwOi8vdXJpLmV0c2kub3JnLzAxOTAzL3YxLjMuMiMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eGFkZXM6U2lnbmVkUHJvcGVydGllcyBJZD0ieGFkZXNTaWduZWRQcm9wZXJ0aWVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4YWRlczpTaWduZWRTaWduYXR1cmVQcm9wZXJ0aWVzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4YWRlczpTaWduaW5nVGltZT4yMDI0LTA5LTI1VDEyOjU1OjQ3PC94YWRlczpTaWduaW5nVGltZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eGFkZXM6U2lnbmluZ0NlcnRpZmljYXRlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eGFkZXM6Q2VydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4YWRlczpDZXJ0RGlnZXN0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyNzaGEyNTYiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRzOkRpZ2VzdFZhbHVlPk5UVm1OV0kyWVdWalpESXhOREl4WTJJNU1URmlZbU01TW1SbVlXSXlPV0pqTjJNMk1HRXlaakE1WXpSaU4yRTFaR016TldabE9UVm1Zekl4WTJReFpRPT08L2RzOkRpZ2VzdFZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC94YWRlczpDZXJ0RGlnZXN0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHhhZGVzOklzc3VlclNlcmlhbD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHM6WDUwOUlzc3Vlck5hbWU+Q049UEVaRUlOVk9JQ0VTQ0E0LUNBLCBEQz1leHRnYXp0LCBEQz1nb3YsIERDPWxvY2FsPC9kczpYNTA5SXNzdWVyTmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHM6WDUwOVNlcmlhbE51bWJlcj4yNjc2MDg5NTIxNTk5OTkzOTI5MzIyMTA5NzI5MDA2MDkyNTYwODk4MjE0Mjg3PC9kczpYNTA5U2VyaWFsTnVtYmVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC94YWRlczpJc3N1ZXJTZXJpYWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwveGFkZXM6Q2VydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3hhZGVzOlNpZ25pbmdDZXJ0aWZpY2F0ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwveGFkZXM6U2lnbmVkU2lnbmF0dXJlUHJvcGVydGllcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC94YWRlczpTaWduZWRQcm9wZXJ0aWVzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwveGFkZXM6UXVhbGlmeWluZ1Byb3BlcnRpZXM+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2RzOk9iamVjdD4NCiAgICAgICAgICAgICAgICAgICAgPC9kczpTaWduYXR1cmU+DQogICAgICAgICAgICAgICAgPC9zYWM6U2lnbmF0dXJlSW5mb3JtYXRpb24+DQogICAgICAgICAgICA8L3NpZzpVQkxEb2N1bWVudFNpZ25hdHVyZXM+DQogICAgICAgIDwvZXh0OkV4dGVuc2lvbkNvbnRlbnQ+DQogICAgPC9leHQ6VUJMRXh0ZW5zaW9uPg0KPC9leHQ6VUJMRXh0ZW5zaW9ucz4NCiAgPGNiYzpQcm9maWxlSUQ+cmVwb3J0aW5nOjEuMDwvY2JjOlByb2ZpbGVJRD4NCiAgPGNiYzpJRD5FUlBfSW52XzE2PC9jYmM6SUQ+DQogIDxjYmM6VVVJRD4zNDUwMzg0Qi00MTMyLTVBNDMtNEEzNS0zMTMxMzAzMDM5NDI8L2NiYzpVVUlEPg0KICA8Y2JjOklzc3VlRGF0ZT4yMDI0LTA5LTE4PC9jYmM6SXNzdWVEYXRlPg0KICA8Y2JjOklzc3VlVGltZT4xMjoyMToyODwvY2JjOklzc3VlVGltZT4NCiAgPGNiYzpJbnZvaWNlVHlwZUNvZGUgbmFtZT0iMDEwMDAwMCI+Mzg4PC9jYmM6SW52b2ljZVR5cGVDb2RlPg0KICA8Y2JjOkRvY3VtZW50Q3VycmVuY3lDb2RlPlNBUjwvY2JjOkRvY3VtZW50Q3VycmVuY3lDb2RlPg0KICA8Y2JjOlRheEN1cnJlbmN5Q29kZT5TQVI8L2NiYzpUYXhDdXJyZW5jeUNvZGU+DQogIDxjYWM6QWRkaXRpb25hbERvY3VtZW50UmVmZXJlbmNlPg0KICAgIDxjYmM6SUQ+SUNWPC9jYmM6SUQ+DQogICAgPGNiYzpVVUlEPjE2PC9jYmM6VVVJRD4NCiAgPC9jYWM6QWRkaXRpb25hbERvY3VtZW50UmVmZXJlbmNlPg0KICA8Y2FjOkFkZGl0aW9uYWxEb2N1bWVudFJlZmVyZW5jZT4NCiAgICA8Y2JjOklEPlBJSDwvY2JjOklEPg0KICAgIDxjYWM6QXR0YWNobWVudD4NCiAgICAgIDxjYmM6RW1iZWRkZWREb2N1bWVudEJpbmFyeU9iamVjdCBtaW1lQ29kZT0idGV4dC9wbGFpbiI+eVNXVitBeUZLLzNKelJlY1hBeWxabXE0OG5mQ1ZycGVaVWQ2OERITnlucz08L2NiYzpFbWJlZGRlZERvY3VtZW50QmluYXJ5T2JqZWN0Pg0KICAgIDwvY2FjOkF0dGFjaG1lbnQ+DQogIDwvY2FjOkFkZGl0aW9uYWxEb2N1bWVudFJlZmVyZW5jZT4NCiAgPGNhYzpBZGRpdGlvbmFsRG9jdW1lbnRSZWZlcmVuY2U+DQogICAgICAgIDxjYmM6SUQ+UVI8L2NiYzpJRD4NCiAgICAgICAgPGNhYzpBdHRhY2htZW50Pg0KICAgICAgICAgICAgPGNiYzpFbWJlZGRlZERvY3VtZW50QmluYXJ5T2JqZWN0IG1pbWVDb2RlPSJ0ZXh0L3BsYWluIj5BUTFQVEVGWlFTQkRUMDFRUVU1WkFnOHpNREF3TlRZM05qa3pNREF3TURNREV6SXdNalF0TURrdE1UaFVNVEk2TWpFNk1qZ0VCVEkzTGpZd0JRUXpMall3Qml4aldIZEJkalZYTHpJdmMwd3dVRGxGT1hCdk5WQkpVRkYzTm5SSGNqVnJlR3BxZVUwd2FucFdMMGRWUFFkZ1RVVlJRMGxGVkVOVVNFUldiMlpwUjJOMU5HMVNOMVZTVWxOVlJ6Uk9Za3MzYkhFclUzTjNVa2xDTUdadU9YZE5RV2xDTTA5blNXMXZhemt6Y1ZJNU9WWTNLMDk1WVdJckwwaG9RVE5vTVd0Wk5rcFJWMEV3UW1OMFl6QndVVDA5Q0Znd1ZqQVFCZ2NxaGtqT1BRSUJCZ1VyZ1FRQUNnTkNBQVRDc3ZLT2ZRU0ZnLzNrTDhuZjlaNC8wamd6S2FoQTZVMkM2RjBUNHV1cEhOd016Y2VvSEpBVTFJU3JQUlNGcnBob1lZb0VFVWNtMWNzVnd4OVlQd0xUPC9jYmM6RW1iZWRkZWREb2N1bWVudEJpbmFyeU9iamVjdD4NCiAgICAgICAgPC9jYWM6QXR0YWNobWVudD4NCjwvY2FjOkFkZGl0aW9uYWxEb2N1bWVudFJlZmVyZW5jZT48Y2FjOlNpZ25hdHVyZT4NCiAgICAgIDxjYmM6SUQ+dXJuOm9hc2lzOm5hbWVzOnNwZWNpZmljYXRpb246dWJsOnNpZ25hdHVyZTpJbnZvaWNlPC9jYmM6SUQ+DQogICAgICA8Y2JjOlNpZ25hdHVyZU1ldGhvZD51cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6ZHNpZzplbnZlbG9wZWQ6eGFkZXM8L2NiYzpTaWduYXR1cmVNZXRob2Q+DQo8L2NhYzpTaWduYXR1cmU+PGNhYzpBY2NvdW50aW5nU3VwcGxpZXJQYXJ0eT4NCiAgICA8Y2FjOlBhcnR5Pg0KICAgICAgPGNhYzpQYXJ0eUlkZW50aWZpY2F0aW9uPg0KICAgICAgICA8Y2JjOklEIHNjaGVtZUlEPSJDUk4iPjQwMzAxMjE2NzU8L2NiYzpJRD4NCiAgICAgIDwvY2FjOlBhcnR5SWRlbnRpZmljYXRpb24+DQogICAgICA8Y2FjOlBvc3RhbEFkZHJlc3M+DQogICAgICAgIDxjYmM6U3RyZWV0TmFtZT5JbWFtIFNhdWQgQmluIEFiZHVsYXppeiBCaW4gTW9oYW1tZWQgUmQ8L2NiYzpTdHJlZXROYW1lPg0KICAgICAgICA8Y2JjOkJ1aWxkaW5nTnVtYmVyPjM1NTQ8L2NiYzpCdWlsZGluZ051bWJlcj4NCiAgICAgICAgPGNiYzpQbG90SWRlbnRpZmljYXRpb24+MzkxMDwvY2JjOlBsb3RJZGVudGlmaWNhdGlvbj4NCiAgICAgICAgPGNiYzpDaXR5U3ViZGl2aXNpb25OYW1lPkFsIE1hc2VlZiBEaXN0LjwvY2JjOkNpdHlTdWJkaXZpc2lvbk5hbWU+DQogICAgICAgIDxjYmM6Q2l0eU5hbWU+2KfZhNix2YrYp9i2IHwgUml5YWRoPC9jYmM6Q2l0eU5hbWU+DQogICAgICAgIDxjYmM6UG9zdGFsWm9uZT4xMjQ2NTwvY2JjOlBvc3RhbFpvbmU+DQogICAgICAgIDxjYWM6Q291bnRyeT4NCiAgICAgICAgICA8Y2JjOklkZW50aWZpY2F0aW9uQ29kZT5TQTwvY2JjOklkZW50aWZpY2F0aW9uQ29kZT4NCiAgICAgICAgPC9jYWM6Q291bnRyeT4NCiAgICAgIDwvY2FjOlBvc3RhbEFkZHJlc3M+DQogICAgICA8Y2FjOlBhcnR5VGF4U2NoZW1lPg0KICAgICAgICA8Y2JjOkNvbXBhbnlJRD4zMDAwNTY3NjkzMDAwMDM8L2NiYzpDb21wYW55SUQ+DQogICAgICAgIDxjYWM6VGF4U2NoZW1lPg0KICAgICAgICAgIDxjYmM6SUQ+VkFUPC9jYmM6SUQ+DQogICAgICAgIDwvY2FjOlRheFNjaGVtZT4NCiAgICAgIDwvY2FjOlBhcnR5VGF4U2NoZW1lPg0KICAgICAgPGNhYzpQYXJ0eUxlZ2FsRW50aXR5Pg0KICAgICAgICA8Y2JjOlJlZ2lzdHJhdGlvbk5hbWU+T0xBWUEgQ09NUEFOWTwvY2JjOlJlZ2lzdHJhdGlvbk5hbWU+DQogICAgICA8L2NhYzpQYXJ0eUxlZ2FsRW50aXR5Pg0KICAgIDwvY2FjOlBhcnR5Pg0KICA8L2NhYzpBY2NvdW50aW5nU3VwcGxpZXJQYXJ0eT4NCiAgPGNhYzpBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eT4NCiAgICA8Y2FjOlBhcnR5Pg0KICAgICAgPGNhYzpQYXJ0eUlkZW50aWZpY2F0aW9uPg0KICAgICAgICA8Y2JjOklEIHNjaGVtZUlEPSJOQVQiPjMxMTExMTExMTExMTExMzwvY2JjOklEPg0KICAgICAgPC9jYWM6UGFydHlJZGVudGlmaWNhdGlvbj4NCiAgICAgIDxjYWM6UG9zdGFsQWRkcmVzcz4NCiAgICAgICAgPGNiYzpTdHJlZXROYW1lPtin2YTYudmE2YrYpzwvY2JjOlN0cmVldE5hbWU+DQogICAgICAgIDxjYmM6QnVpbGRpbmdOdW1iZXI+NjUzMTwvY2JjOkJ1aWxkaW5nTnVtYmVyPg0KICAgICAgICA8Y2JjOlBsb3RJZGVudGlmaWNhdGlvbj4zMDU5PC9jYmM6UGxvdElkZW50aWZpY2F0aW9uPg0KICAgICAgICA8Y2JjOkNpdHlTdWJkaXZpc2lvbk5hbWU+2KfZhNi52YTZitinPC9jYmM6Q2l0eVN1YmRpdmlzaW9uTmFtZT4NCiAgICAgICAgPGNiYzpDaXR5TmFtZT7Yp9mE2LnZhNmK2KcgfCBSaXlhZGg8L2NiYzpDaXR5TmFtZT4NCiAgICAgICAgPGNiYzpQb3N0YWxab25lPjEzMzIxPC9jYmM6UG9zdGFsWm9uZT4NCiAgICAgICAgPGNhYzpDb3VudHJ5Pg0KICAgICAgICAgIDxjYmM6SWRlbnRpZmljYXRpb25Db2RlPlNBPC9jYmM6SWRlbnRpZmljYXRpb25Db2RlPg0KICAgICAgICA8L2NhYzpDb3VudHJ5Pg0KICAgICAgPC9jYWM6UG9zdGFsQWRkcmVzcz4NCiAgICAgIDxjYWM6UGFydHlUYXhTY2hlbWU+DQogICAgICAgIDxjYmM6Q29tcGFueUlEPjMxMDc3Mjc2NjkwMDAwMzwvY2JjOkNvbXBhbnlJRD4NCiAgICAgICAgPGNhYzpUYXhTY2hlbWU+DQogICAgICAgICAgPGNiYzpJRD5WQVQ8L2NiYzpJRD4NCiAgICAgICAgPC9jYWM6VGF4U2NoZW1lPg0KICAgICAgPC9jYWM6UGFydHlUYXhTY2hlbWU+DQogICAgICA8Y2FjOlBhcnR5TGVnYWxFbnRpdHk+DQogICAgICAgIDxjYmM6UmVnaXN0cmF0aW9uTmFtZT5Bcm9tYSBDYWZlPC9jYmM6UmVnaXN0cmF0aW9uTmFtZT4NCiAgICAgIDwvY2FjOlBhcnR5TGVnYWxFbnRpdHk+DQogICAgPC9jYWM6UGFydHk+DQogIDwvY2FjOkFjY291bnRpbmdDdXN0b21lclBhcnR5Pg0KICA8Y2FjOkRlbGl2ZXJ5Pg0KICAgIDxjYmM6QWN0dWFsRGVsaXZlcnlEYXRlPjIwMjQtMDktMTg8L2NiYzpBY3R1YWxEZWxpdmVyeURhdGU+DQogIDwvY2FjOkRlbGl2ZXJ5Pg0KICA8Y2FjOlRheFRvdGFsPg0KICAgIDxjYmM6VGF4QW1vdW50IGN1cnJlbmN5SUQ9IlNBUiI+My42MDwvY2JjOlRheEFtb3VudD4NCiAgPC9jYWM6VGF4VG90YWw+DQogIDxjYWM6VGF4VG90YWw+DQogICAgPGNiYzpUYXhBbW91bnQgY3VycmVuY3lJRD0iU0FSIj4zLjYwPC9jYmM6VGF4QW1vdW50Pg0KICAgIDxjYWM6VGF4U3VidG90YWw+DQogICAgICA8Y2JjOlRheGFibGVBbW91bnQgY3VycmVuY3lJRD0iU0FSIj4yNC4wMDwvY2JjOlRheGFibGVBbW91bnQ+DQogICAgICA8Y2JjOlRheEFtb3VudCBjdXJyZW5jeUlEPSJTQVIiPjMuNjA8L2NiYzpUYXhBbW91bnQ+DQogICAgICA8Y2FjOlRheENhdGVnb3J5Pg0KICAgICAgICA8Y2JjOklEIHNjaGVtZUlEPSJVTi9FQ0UgNTMwNSIgc2NoZW1lQWdlbmN5SUQ9IjYiPlM8L2NiYzpJRD4NCiAgICAgICAgPGNiYzpQZXJjZW50PjE1LjAwPC9jYmM6UGVyY2VudD4NCiAgICAgICAgPGNhYzpUYXhTY2hlbWU+DQogICAgICAgICAgPGNiYzpJRCBzY2hlbWVJRD0iVU4vRUNFIDUxNTMiIHNjaGVtZUFnZW5jeUlEPSI2Ij5WQVQ8L2NiYzpJRD4NCiAgICAgICAgPC9jYWM6VGF4U2NoZW1lPg0KICAgICAgPC9jYWM6VGF4Q2F0ZWdvcnk+DQogICAgPC9jYWM6VGF4U3VidG90YWw+DQogIDwvY2FjOlRheFRvdGFsPg0KICA8Y2FjOkxlZ2FsTW9uZXRhcnlUb3RhbD4NCiAgICA8Y2JjOkxpbmVFeHRlbnNpb25BbW91bnQgY3VycmVuY3lJRD0iU0FSIj4yNC4wMDwvY2JjOkxpbmVFeHRlbnNpb25BbW91bnQ+DQogICAgPGNiYzpUYXhFeGNsdXNpdmVBbW91bnQgY3VycmVuY3lJRD0iU0FSIj4yNC4wMDwvY2JjOlRheEV4Y2x1c2l2ZUFtb3VudD4NCiAgICA8Y2JjOlRheEluY2x1c2l2ZUFtb3VudCBjdXJyZW5jeUlEPSJTQVIiPjI3LjYwPC9jYmM6VGF4SW5jbHVzaXZlQW1vdW50Pg0KICAgIDxjYmM6QWxsb3dhbmNlVG90YWxBbW91bnQgY3VycmVuY3lJRD0iU0FSIj4wLjAwPC9jYmM6QWxsb3dhbmNlVG90YWxBbW91bnQ+DQogICAgPGNiYzpQcmVwYWlkQW1vdW50IGN1cnJlbmN5SUQ9IlNBUiI+MC4wMDwvY2JjOlByZXBhaWRBbW91bnQ+DQogICAgPGNiYzpQYXlhYmxlQW1vdW50IGN1cnJlbmN5SUQ9IlNBUiI+MjcuNjA8L2NiYzpQYXlhYmxlQW1vdW50Pg0KICA8L2NhYzpMZWdhbE1vbmV0YXJ5VG90YWw+DQogIDxjYWM6SW52b2ljZUxpbmU+DQogICAgPGNiYzpJRD4xPC9jYmM6SUQ+DQogICAgPGNiYzpJbnZvaWNlZFF1YW50aXR5IHVuaXRDb2RlPSJQQ0UiPjIuMDA8L2NiYzpJbnZvaWNlZFF1YW50aXR5Pg0KICAgIDxjYmM6TGluZUV4dGVuc2lvbkFtb3VudCBjdXJyZW5jeUlEPSJTQVIiPjI0LjAwPC9jYmM6TGluZUV4dGVuc2lvbkFtb3VudD4NCiAgICA8Y2FjOlRheFRvdGFsPg0KICAgICAgPGNiYzpUYXhBbW91bnQgY3VycmVuY3lJRD0iU0FSIj4zLjYwPC9jYmM6VGF4QW1vdW50Pg0KICAgICAgPGNiYzpSb3VuZGluZ0Ftb3VudCBjdXJyZW5jeUlEPSJTQVIiPjI3LjYwPC9jYmM6Um91bmRpbmdBbW91bnQ+DQogICAgPC9jYWM6VGF4VG90YWw+DQogICAgPGNhYzpJdGVtPg0KICAgICAgPGNiYzpOYW1lPkdlbml1cyBEWC0xMTAgV2lyZWQgTW91c2U8L2NiYzpOYW1lPg0KICAgICAgPGNhYzpDbGFzc2lmaWVkVGF4Q2F0ZWdvcnk+DQogICAgICAgIDxjYmM6SUQ+UzwvY2JjOklEPg0KICAgICAgICA8Y2JjOlBlcmNlbnQ+MTUuMDA8L2NiYzpQZXJjZW50Pg0KICAgICAgICA8Y2FjOlRheFNjaGVtZT4NCiAgICAgICAgICA8Y2JjOklEPlZBVDwvY2JjOklEPg0KICAgICAgICA8L2NhYzpUYXhTY2hlbWU+DQogICAgICA8L2NhYzpDbGFzc2lmaWVkVGF4Q2F0ZWdvcnk+DQogICAgPC9jYWM6SXRlbT4NCiAgICA8Y2FjOlByaWNlPg0KICAgICAgPGNiYzpQcmljZUFtb3VudCBjdXJyZW5jeUlEPSJTQVIiPjEyLjAwPC9jYmM6UHJpY2VBbW91bnQ+DQogICAgICA8Y2FjOkFsbG93YW5jZUNoYXJnZT4NCiAgICAgICAgPGNiYzpDaGFyZ2VJbmRpY2F0b3I+dHJ1ZTwvY2JjOkNoYXJnZUluZGljYXRvcj4NCiAgICAgICAgPGNiYzpBbGxvd2FuY2VDaGFyZ2VSZWFzb24+ZGlzY291bnQ8L2NiYzpBbGxvd2FuY2VDaGFyZ2VSZWFzb24+DQogICAgICAgIDxjYmM6QW1vdW50IGN1cnJlbmN5SUQ9IlNBUiI+MC4wMDwvY2JjOkFtb3VudD4NCiAgICAgIDwvY2FjOkFsbG93YW5jZUNoYXJnZT4NCiAgICA8L2NhYzpQcmljZT4NCiAgPC9jYWM6SW52b2ljZUxpbmU+DQo8L0ludm9pY2U+"}
Thank you so much, Mr. Daoud, for your consistent support. The issue has been resolved.
The problem was that I was manually converting the XML file into base64. Once I used the Request method to get the data from the XML and pass it to the API, I was able to resolve the issue.
Thank you!
idaoud
September 26, 2024, 6:21am
17
Morning @Mudassir
It’s great to hear that you solved the issue,
For any further concerns, please do not hesitate to reach out our support team via the below email.
SP email: sp_support@zatca.gov.sa
Thanks,
Ibrahem Daoud.
1 Like