Otros supuestos: España

⚠️ Esta información tiene carácter orientativo. Te recomendamos consultar con tu asesor fiscal antes de aplicarla a tu caso concreto.

Factura normal régimen general

Las facturas ordinarias nacionales utilizan la clave F1 y debe identificar al receptor, el sistema tiene preconfigurado el Tipo de Venta: Nacional, en cuantos impuesto Se aplican los impuestos de España, Ejemplo Impuesto: IVA 21% Régimen general (IVA, S1, 01, Sin Exención)

var invoice = new Invoice("EJ-001", new DateTime(2024, 11, 15), "B72877814")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "B44531218",
    BuyerName = "WEFINZ SOLUTIONS SL",
    Text = "PRESTACION SERVICIOS DESARROLLO SOFTWARE",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxRate = 4,
            TaxBase = 10,
            TaxAmount = 0.4m
        },
        new TaxItem()
        {
            TaxRate = 21,
            TaxBase = 100,
            TaxAmount = 21
        }
    }
};

Factura simplificada

Las facturas simplificadas utilizan la clave F2 y no se identifica al receptor, el sistema tiene preconfigurado el Tipo de Venta: Simplificada, en cuantos impuesto Se aplican los impuestos de España, Ejemplo Impuesto: IVA 21% Régimen general (IVA, S1, 01, Sin Exención)

var invoice = new Invoice("EJ-002", new DateTime(2024, 12, 4), "B72877814")
{
    InvoiceType = TipoFactura.F2,
    SellerName = "WEFINZ GANDIA SL",
    Text = "PRESTACION SERVICIOS DESARROLLO SOFTWARE",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxRate = 4,
            TaxBase = 10,
            TaxAmount = 0.4m
        },
        new TaxItem()
        {
            TaxRate = 21,
            TaxBase = 100,
            TaxAmount = 21
        }
    }
};

Factura recargo de equivalencia

Las facturas simplificadas utilizan la clave F1 y se debe identifica al receptor, el sistema tiene preconfigurado el Tipo de Venta: Nacional, en cuantos impuesto Se aplican los impuestos de España, Ejemplo Impuesto: IVA 21% Régimen general (IVA, S1, 01, Sin Exención)

Aunque existe la clave del régimen 18: L8A: Recargo de equivalencia... No es necesario seleccionarla, Dinaup trata Igual la clave 01 y la 18. En ventas existe un campo llamado Aplica recargo de equivalencia y en función de reporta correctamente a la AEAT.

Para activar el recargo de equivalencia en una venta se debe marcar el checkbox Recargo de equivalencia en la pestaña de Parámetros

var invoice = new Invoice("EJ-003", new DateTime(2024, 10, 14), "B72877814")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "B44531218",
    BuyerName = "WEFINZ SOLUTIONS SL",
    Text = "VENTA A COMERCIO MINORISTA",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxScheme = ClaveRegimen.RecEquivPeqEmp,
            TaxType = CalificacionOperacion.S1,
            TaxRate = 21,
            TaxBase = 1000,
            TaxAmount = 210m,
            TaxRateSurcharge = 5.2m, // Tipo recargo equivalencia
            TaxAmountSurcharge = 52m // Cuota recargo equivalencia
        }
    }
};

Factura rectificativa

// Creamos una instacia de la clase factura para la factura rectificativa
var invoiceRectif = new Invoice("GIT-AB-0076", new DateTime(2024, 12, 10), "B72877814")
{
    InvoiceType = TipoFactura.R1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "B44531218",
    BuyerName = "WEFINZ SOLUTIONS SL",
    Text = "ABONO ERROR PRECIO FACTURA GIT-EJ-0065",
    TaxItems = new List<TaxItem>() 
    {
        new TaxItem()
        {
            TaxRate = 21,
            TaxBase = -100,
            TaxAmount = -21
        }
    },
    RectificationItems = new List<RectificationItem>() 
    { 
        new RectificationItem()
        { 
            InvoiceID = "GIT-EJ-0076",
            InvoiceDate = new DateTime(2024, 12, 4)
        }
    }
};

Factura rectificativa sustitutiva


// Creamos una instacia de la clase factura para la factura rectificativa
var invoiceRectif = new Invoice("GIT-AB-0085", new DateTime(2025, 3, 12), "B72877814")
{
    InvoiceType = TipoFactura.R1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "B44531218",
    BuyerName = "WEFINZ SOLUTIONS SL",
    Text = "ABONO ERROR PRECIO FACTURA GIT-EJ-00651",
    TaxItems = new List<TaxItem>()
    {
        new TaxItem()
        {
            TaxRate = 21,
            TaxBase = 100,
            TaxAmount = 21
        }
    },
    RectificationItems = new List<RectificationItem>()
    {
        new RectificationItem()
        {
            InvoiceID = "GIT-EJ-00651",
            InvoiceDate = new DateTime(2025, 3, 12)
        }
    }
};

Factura a la Administración con IVA diferido

Las facturas simplificadas utilizan la clave F1 y se debe identifica al receptor, el sistema tiene preconfigurado el Tipo de Venta: Nacional, en cuantos impuesto Se aplican los impuestos de España, Ejemplo Impuesto: IVA para la Administración pública con IVA diferido (IVA, S1, 14, Sin Exención)

var invoice = new Invoice("TS08-001-081", new DateTime(2024, 10, 10), "B72877814")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "P1203200I",
    BuyerName = "AYUNTAMIENTO DE BURRIANA",
    Text = "CONSTRUCCION NUEVAS OFICINAS",
    OperationDate = new DateTime(2024, 12, 10), // Fecha operación obligatoria
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxScheme = ClaveRegimen.ObraPteDevengoAdmonPublica,
            TaxType = CalificacionOperacion.S1,
            TaxRate = 21,
            TaxBase = 1000,
            TaxAmount = 210m,
        }
    }
};

Factura operación No Sujeta artículo 7, 14, otros

Se aplican Impuesto: No Sujeto artículo 7, 14, otros (Otro, N1, 01, Sin Exención)

// Creamos una instacia de la clase factura
var invoice = new Invoice("TS08-001-094", new DateTime(2024, 10, 14), "B72877814")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "123456789",
    BuyerName = "CLIENTE EXTRANJERO SERVICIOS INFORMATICOS",
    BuyerIDType = IDType.PASAPORTE,
    BuyerCountryID = "US",
    Text = "SERVICIOS INFORMATICOS",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            Tax = Impuesto.OTROS,
            TaxType = CalificacionOperacion.N1,
            TaxBase = 1000,
        }
    }
};

Factura operación No Sujeta por Reglas de localización

Las facturas simplificadas utilizan la clave F1 y se debe identifica al receptor, el sistema tiene preconfigurado el Tipo de Venta: Exportación, en cuantos impuesto Se aplican Impuesto: No Sujeto por reglas de Localización (Otro, N1, 01, Sin Exención)

// Creamos una instacia de la clase factura
var invoice = new Invoice("TS08-001-095", new DateTime(2024, 10, 14), "B72877814")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "123456789",
    BuyerName = "CLIENTE EXTRANJERO SERVICIOS INFORMATICOS",
    BuyerIDType = IDType.PASAPORTE,
    BuyerCountryID = "US",
    Text = "CLIENTE EXTRANJERO SERVICIOS INFORMATICOS",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            Tax = Impuesto.OTROS,
            TaxType = CalificacionOperacion.N2,
            TaxBase = 1000,
        }
    }
};

Factura con Suplidos

Emitir Factura con Suplidos

Factura exenta articulo 20 LIVA (Exenciones en operaciones interiores)

Las facturas simplificadas utilizan la clave F1 y se debe identifica al receptor, el sistema tiene preconfigurado el Tipo de Venta: Nacional, en cuantos impuesto Se aplican los impuestos de España, Ejemplo Impuesto: Exento por el artículo 20 LIVA

var invoice = new Invoice("GIT-EJ25-0002", new DateTime(2024, 12, 11), "B72877814")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "B44531218",
    BuyerName = "WEFINZ SOLUTIONS SL",
    Text = "C# PROGRAMMING COURSE",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxException = CausaExencion.E1,
            TaxBase = 200,
        }
    }
};

Factura exenta articulo 25 LIVA (Entrega intracomunitaria)

Impuesto: Exento por el artículo 25 LIVA

var invoice = new Invoice("GIT-EJ25-001180", new DateTime(2025, 2, 7), "B12959755")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "IRENE SOLUTIONS SL",
    BuyerID = "IE3668997OH",
    BuyerName = "GOOGLE CLOUD EMEA LIMITED",
    BuyerCountryID = "IE",
    BuyerIDType = IDType.NIF_IVA,
    Text = "ENTREGA INTRACOMUNITARIA: COMPONENTES HARDWARE",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxException = CausaExencion.E5,
            TaxBase = 200,
        }
    }
};


Factura a cliente con VAT number de la UE

// Creamos una instacia de la clase factura
var invoice = new Invoice("GIT-EJ25-00001", new DateTime(2025, 1, 9), "B72877814")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "IE3668997OH",
    BuyerName = "GOOGLE CLOUD EMEA LIMITED",
    BuyerIDType = IDType.NIF_IVA,
    BuyerCountryID = "IE",
    Text = "SERVICIOS INFORMATICOS",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxRate = 21,
            TaxBase = 100,
            TaxAmount = 21
        }
    }
};


Factura a cliente con pasaporte como identificador

var invoice = new Invoice("GIT-EJ25-00002", new DateTime(2025, 1, 9), "B72877814")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "P4366918",
    BuyerName = "ESTIVE SOTANO MENGANO",
    BuyerIDType = IDType.PASAPORTE,
    BuyerCountryID = "US",
    Text = "SERVICIOS INFORMATICOS",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxRate = 21,
            TaxBase = 100,
            TaxAmount = 21
        }
    }
};

Factura a cliente otro documento probatorio como identificador

// Creamos una instacia de la clase factura
var invoice = new Invoice("GIT-EJ25-00004", new DateTime(2025, 1, 9), "B72877814")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "999",
    BuyerName = "ESTIVE SOTANO MENGANO",
    BuyerIDType = IDType.OTRO_DOC_PROBATORIO,
    BuyerCountryID = "US",
    Text = "SERVICIOS INFORMATICOS",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxRate = 21,
            TaxBase = 100,
            TaxAmount = 21
        }
    }
};

Factura IGIC Canarias

Impuesto: IGIC General 7%

var invoice = new Invoice("GIT-EJ25-0095", new DateTime(2024, 12, 4), "B72877814")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "WEFINZ GANDIA SL",
    BuyerID = "B44531218",
    BuyerName = "WEFINZ SOLUTIONS SL",
    Text = "PRESTACION SERVICIOS DESARROLLO SOFTWARE",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxScheme = ClaveRegimen.RegimenGeneral,
            Tax = Impuesto.IGIC,
            TaxRate = 7,
            TaxBase = 100,
            TaxAmount = 7
        }
    }
};

Factura REBU (Régimen especial de los bienes usados, objetos de arte, antigüedades y objetos de colección)

Impuesto: REBU (Régimen especial de los bienes usados...)

var invoice = new Invoice("GIT-EJ-00809", new DateTime(2025, 2, 27), "B12959755")
{
    InvoiceType = TipoFactura.F1,
    SellerName = "IRENE SOLUTIONS SL",
    BuyerID = "B44531218",
    BuyerName = "WEFINZ SOLUTIONS SL",
    Text = "VENTA SMARTPHONE REACONDICIONADO",
    TaxItems = new List<TaxItem>() {
        new TaxItem()
        {
            TaxScheme = ClaveRegimen.Rebu,
            TaxBase = 1000m,
        }
    }
};

Última actualización