Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SDK Componente Verifactu para Delphi 7+ - Subforo Avisos/consultas (https://www.clubdelphi.com/foros/forumdisplay.php?f=81)
-   -   Datos factura electronica (https://www.clubdelphi.com/foros/showthread.php?t=97947)

seccion_31 18-12-2025 09:59:28

Datos factura electronica
 
Buenos dias !

¿ Que datos son fundamentales / obligatorios en una factura electronica ?


Cita:

Datos del emisor

Datos del receptor

Datos de identificacion de factura
Numero
Fecha

En cada linea:

codigo de articulo
descripcion
cantidad
precio unitario
total descuentos
precio total
impuesto iva

Al pie de la factura

bruto
portes
dto pp
base imponible
iva
recargo equivalencia

(
IRPF
Recargo financiero
Tasas
)

TOTAL FACTURA

rci 18-12-2025 10:20:14

Cita:

Empezado por seccion_31 (Mensaje 571432)
Buenos dias !

¿ Que datos son fundamentales / obligatorios en una factura electronica ?

Buenas, no se si este otro foro te puede ayudar:

https://www.clubdelphi.com/foros/showthread.php?t=89295

seccion_31 18-12-2025 10:34:17

gracias,

Lo tengo a la vista.

pero en este momento seria bueno que los usuarios del componente, (que debemos ser 4 o 5 segun la encuesta) me digan que datos suelen utilizar en sus facturas, porque pretendo crear un record "amigable" para luego cargar el record "raw" que será enviado con la estructura real de la factura electrónica. Si no tengo contestacion, seguire con estos datos basicos. Luego quizas sera mas complicado ir modificando.

Actualmente con facturaE, proporciono la estructura RAW a traves de 2 eventos, pero pretendo cambiar esto:

TVerifactu -> Cargar Registros -> envio de facturas AEAT->Cargar datos facturaE RAW -> Generar Archivo FacturaE

A esto:

TVerifactu -> Cargar Registros -> envio de facturas AEAT->Cargar datos -> Generar RAW facturaE y/ó UBL21 -> Generar Archivo(s)

Asi, cualquiera sin saber la estructura real de ambos formatos, podria generar el archivo sin mas.

Actualmente ya estoy generando UBL2.1 usando la estructura real.

Saludos !

DarkDudae 18-12-2025 23:15:56

Aún no me he puesto con el tema de la Factura Electrónica, así que no te se dar más información.

En cualquier caso no hagas caso de las encuestas. La mayoría de la gente que probablemente esté usando el componente no haya participado en la encuesta siquiera.

bmfranky 19-12-2025 10:00:08

Hola, en la linea de articulo, va el tipo de articulo, no se si es lo del código que ponías, lo que define si es un litro, caja, kit, etc...,
Ademas en UBL 2.1, el numero de orden también es obligatorio.
Encontré aquí, información en castellano, el formato general es el mismo, para hacernos la idea de como sera la que usaremos aquí.

seccion_31 19-12-2025 10:55:01

(gracias)

Tengo un prototipo que ya construye un UBL bien armado, para una factura de alta. Validado por dos webs online.

Lo que voy a intentar es ofrecer la carga de datos extra que se necesitan desde las facturas verifactu hasta el UBL se solicite de dos formas: amigable y Raw. en el amigable sera muy sencillo y en el raw (yo lo llamo asi) tendras a tu disposicion los nodos completos del UBL. Esos datos son datos que faltan son de cliente, emisor, los datos de cada linea, etc....

Me falta:

Firmar el UBL en el prototipo
Diseñar el formato amigable y los eventos entre la DLL y el componente
Transportar el codigo del prototipo a la DLL
Incluir los distintos de tipos de facturas

Saludos !

seccion_31 19-12-2025 10:58:00

Como tengo con facturaE, uso records para generar el XML: (ejemplo)


Código:

  TTaxCategory = record
    cbc_ID                    : TFacturaUBLString;
    cbc_Percent              : TFacturaUBLString;
    cbc_BaseUnitMeasure      : TFacturaUBLString;
    cbc_PerUnitAmount        : TFacturaUBLString;
    cbc_TaxExemptionReasonCode: TFacturaUBLString;
    cbc_TaxExemptionReason    : TFacturaUBLString;
    cbc_TierRange            : TFacturaUBLString;
    cbc_TierRatePercent      : TFacturaUBLString;

    cac_TaxScheme            : TTaxScheme;
  end;

  TTaxSubtotal = record
    cbc_TaxableAmount_currencyID  : TFacturaUBLString;
    cbc_TaxAmount_currencyID      : TFacturaUBLString;

    cbc_BaseUnitMeasure : TFacturaUBLString;
    cbc_PerUnitAmount  : TFacturaUBLString;
    cbc_TierRange      : TFacturaUBLString;
    cbc_TierRatePercent : TFacturaUBLString;
    cac_TaxCategory    : TTaxCategory;

    _rttiForceNoTocar :array of Byte;      // para que el rtti genere estructura
  end;

  TTaxTotal = record
    cbc_TaxAmount_currencyID : TFacturaUBLString;
    cbc_RoundingAmount      : TFacturaUBLString;
    cbc_TaxEvidenceIndicator : TFacturaUBLString;
    cbc_TaxIncludedIndicator : TFacturaUBLString;

    cac_TaxSubtotal        : array [0..MAXSUBTOTALS] of TTaxSubtotal;

    _rttiForceNoTocar :array of Byte;      // para que el rtti genere estructura
  end;

  TAllowanceCharge = record
    cbc_ChargeIndicator      : TFacturaUBLString; // 'true' para cargo, 'false' para descuento
    cbc_AllowanceChargeReason : TFacturaUBLString; // nota del descuento
    cbc_Amount_currencyID    : TFacturaUBLString; // total del descuento o cargo

    _rttiForceNoTocar :array of Byte;      // para que el rtti genere estructura
  end;

  TItem =record
      cbc_Description          : TFacturaUBLString;
      cbc_PackQuantity          : TFacturaUBLString;
      cbc_PackSizeNumeric      : TFacturaUBLString;
      cbc_CatalogueIndicator    : TFacturaUBLString;
      cbc_Name                  : TFacturaUBLString;
      cbc_HazardousRiskIndicator: TFacturaUBLString;
      cbc_AdditionalInformation : TFacturaUBLString;
      cbc_KeyWord              : TFacturaUBLString;
      cbc_BrandName            : TFacturaUBLString;
      cbc_ModelName            : TFacturaUBLString;
  end;

Con la version 2 de la funcion recordToXML que usa el rtti de Delphi.

ramherfer 22-12-2025 19:36:44

Cita:

Empezado por seccion_31 (Mensaje 571432)
Buenos dias !

¿ Que datos son fundamentales / obligatorios en una factura electronica ?

Si quieres te paso XML que me está funcionando para lineas por documento (albarán en factura) o lineas con detalle de cada documento en factura.

En cualquier caso lo estoy enviando a un OAM del Ayuntamiento y me está funcionando bien si lo envío de una forma o de otra. Al principio me pedian una linea por albaran y luego pasaron a una linea por detalle de cada albarán, siempre sobre factura.

S31, estoy convencido de que hay más de 4 o 5 usando esta maravilla de componente. ¡¡Sin ninguna duda!!
Un saludo,


La franja horaria es GMT +2. Ahora son las 06:37:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi