Consideraciones iniciales
Tipos de comprobantes electrónicos que debe permitir crear su sistema y controlas sus secuencias de emisión:
| Prefijo | Tipo de comprobante fical |
|---|---|
| E31 | Crédito fiscal |
| E32 | Consumo |
| E33 | Nota de débito |
| E34 | Nota de crédito |
| E41 | Gasto menor |
| E43 | Comprobante de compra |
| E44 | Régimen especial |
| E45 | Gubernamental |
| E46 | Exportaciones |
| E47 | Pagos al exterior |
Campos a crear en la tabla de comprobantes fiscales (ventas y compras):
- TrackID: Campo texto de 50 dígitos que permita null
- TokenDGII: Campo texto de 350 dígitos que permita null
- CodigoSeguridad: Campo texto de 6 dígitos que permita null
- FechaFirmado: Campo de fecha con hora (datetime) que permita null
- QR: Campo texto de 250 dígitos que permita null
- Estado: Campo texto de 500 dígitos que permita null (o menor si desean truncar parte de las razones de ciertos estados)
Protocolo general para la emisión de comprobantes electrónicos con Figs®:
- Cada webservice requiere de su propio Token de autenticación para poder consumirlo, el mismo tendrá una vigencia de 30min.
- Una vez obtenido el token, enviarás un JSON al webservice correspondiente con el comprobante a enviar, colocando en el “Header” el token obtenido en el paso 1.
- Si el RESULTADO código de respuesta obtenida es “00” fue exitoso el envío (o al menos el firmado electrónico OFFLINE) y recibirás 2 o 5 (según el modo en el que opere: on/offline) valores de respuesta que son necesarios para la impresión del QR en la factura. En caso contrario, hubo un error y se debe mostrar en pantalla para resolver su causa.
- GUARDA los valores obtenidos del paso anterior en su base de datos (BD), ya que serán usados más adelante.
- Opcionalmente puedes consultar el "Estado" del comprobante. Si el mismo fue Rechazado por DGII, muestra al usuario el motivo del rechazo, en caso contrario puede continuar con él siguiente paso.
- IMPRIME el comprobante fiscal con el QR y datos adicionales al pie de página del mismo que se obtuvieron como respuesta del envío.
Para la generación del QR:
El código de seguridad es uno de los componentes del QR y este puede venir con caracteres especiales que deben ser reemplazados por su valor HEX, pero “solo” para generar la imágen del QR, en la impresión si debe mostrarse ”tal cual” como fue recibido:
| Carácter | HEX | Carácter | HEX | Carácter | HEX |
|---|---|---|---|---|---|
| Espacio | %20 | ! | %21 | # | %23 |
| $ | %24 | & | %26 | ' | %27 |
| ( | %28 | ) | %29 | * | %2A |
| + | %2B | , | %2C | / | %2F |
| : | %3A | %3B | = | %3D | |
| ? | %3F | @ | %40 | [ | %5B |
| ] | %5D | " | %22 | - | %2D |
| . | %2E | < | %3C | > | %3E |
| \ | %5C | ^ | %5E | _ | %5F |