New Sales
Through this entry point, SDH will receive the creation of a new invoice and will convert it to all required destination regulations.
It includes the following steps:
- The corresponding validation rules.
- The invoice chaining and the generation of the QR code to be printed on the invoice.
- For TicketBAI: sending the invoice to the administration and processing the response.
For Veri*Factu: deferred delivery.
Call
Depending on the destination regulation of the invoice, different fields of the SalesInvoice class must be completed.
Each regulation specifies the required fields for a correct format conversion.
- See required fields for Veri*Factu.
curl -X POST https://apitest.solmicrosdh.com/invoicing/newsales \
--cert /ruta/al/certificado.pfx \
--cert-type P12 \
--pass mypfxpassword \
-H "Content-Type: application/json" \
-H "CompanyId: guid-unico-empresa" \
-H "InstallationId: guid-unico-instalacion" \
-d '{
"series": "string",
"number": "string",
"dateAndTime": "datetime",
...
}'
Result
Veri*Factu
For this regulation, the invoice remains pending delivery to the administration service, and SDH will deliver it later.
The result will be an object of type VeriFactuResult containing the following information:
SalesInvoiceId: Unique identifier of the invoice in the SDH database.UrlQR: Text containing the information required to generate the QR code.QRBase64: Base64-encoded text that contains the QR image.Hash: Invoice fingerprint.DateAndTime: Invoice issue date.PreviousSeries: Series of the invoice used for chaining.PreviousNumber: Number of the invoice used for chaining.PreviousDateAndTime: Date of the invoice used for chaining.DestinationStateDateAndTime: Date when it was processed in SDH.- For the rest of the fields, see the result information.
VeriFactuResult vfResult = result.OfType<VeriFactuResult>().FirstOrDefault();
if (vfResult is not null)
{
vfResult.SalesInvoiceId;
vfResult.UrlQR;
vfResult.QRBase64;
vfResult.Hash;
vfResult.DateAndTime;
vfResult.PreviousSeries;
vfResult.PreviousNumber;
vfResult.PreviousDateAndTime;
vfResult.DestinationStateDateAndTime;
...
}