Ver Mensaje Individual
  #3106  
Antiguo 02-06-2022
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Reputación: 5
Sistel Va por buen camino
Cita:
Empezado por bilbur Ver Mensaje
Estoy preparando una API en PHP
Una pregunta para Sistel, El fichero json que envías a la API viene a ser el xml completo previo a la firma del mismo o es una conjunto pequeño de datos con los que generar el xml (código empresa, código cliente, fecha, etc)
Estoy optando por esto último pero así la API resulta menos "genérica" y mas "personalizada"
Gracias
Hola bilbur,

El fichero JSON que se envía a mi API contiene sólo los datos básicos:
- Identificación del emisor
- Datos del destinatario (si lo hay, como en el caso de factura completa)
- Tipo de factura y características esenciales
- Líneas de detalle (nombres de productos, importes unitarios, cantidades, descuentos, tipo de IVA, ...)

No se envían ni serie, ni número ni fecha de factura ni datos económicos ni total.
La API se encarga de:
- Verificar los datos que le llegan
- Recabar los datos de la última factura (de ese tipo) del emisor desde la base de datos
- Crear líneas de detalles adicionales si hay descuentos globales en la factura
- Calcular datos económicos como bases, cuotas de IVA, totales, ...
- Asignar serie, número y fecha de factura
- Crear el XML
- Firmar el XML
- Comprobar la validez del XML firmado (con el esquema XSD)
- Grabar los datos de la factura, los detalles y los importes en la base de datos
- Devolver un JSON con todos los datos calculados (bases, cuotas, totales, líneas de detalle), serie, número y fecha de la factura y códigos TBAI y QR
- Enviar a la correspondiente Hacienda Foral el XML TicketBAI y registrar el envío en la base de datos.

Opté porque la API lo haga todo y retorne todo lo necesario para crear el documento de la factura.
No puedo confiar en que llegue, del emisor, el total correcto o el número de factura o fecha correcta. Prefiero que eso lo genere mi API.

Saludos

Última edición por Sistel fecha: 02-06-2022 a las 09:13:31.
Responder Con Cita