PHP Classes
elePHPant
Icontem

File: doc/productos/descuentos-y-cargos.md

Recommend this page to a friend!
  Classes of José Miguel Moreno  >  Facturae PHP  >  doc/productos/descuentos-y-cargos.md  >  Download  
File: doc/productos/descuentos-y-cargos.md
Role: Auxiliary data
Content type: text/markdown
Description: Auxiliary data
Class: Facturae PHP
Generate XML electronic bills paid in Spain
Author: By
Last change:
Date: 9 months ago
Size: 2,118 bytes
 

 

Contents

Class file image Download

title: Descuentos y cargos parent: Líneas de producto nav_order: 3 permalink: /productos/descuentos-y-cargos.html

Descuentos y cargos

Para añadir uno o varios descuentos a una línea de producto se debe indicar a la hora de crear la instancia de FacturaeItem. De forma similar, pueden añadirse cargos a un producto que, al contrario que los descuentos, incrementarán su precio.

$fac->addItem(new FacturaeItem([
  "name" => "Un producto con descuento",
  "unitPriceWithoutTax" => 500, // NOTA: estos descuentos y cargos se
                                // aplican sobre la base imponible
  "discounts" => [
    ["reason" => "Descuento del 20%", "rate" => 20],
    ["reason" => "5? de descuento", "amount" => 5]
  ],
  "charges" => [
    ["reason" => "Recargo del 1,30%", "rate" => 1.3]
  ],
  "taxes" => [Facturae::TAX_IVA => 21]
]));

Descuentos y cargos sobre el total con impuestos

Supongamos que vendemos un producto por un importe de 100? (IVA incluido) y descuento de 5?. Por defecto, Facturae-PHP aplicará el descuento sobre los 100? siempre y cuando se indique el campo unitPrice en vez de unitPriceWithoutTax:

$fac->addItem(new FacturaeItem([
  "name" => "Un producto con descuento",
  "unitPrice" => 100,
  "discounts" => [
    ["reason" => "Descuento de 5? (IVA incluído)", "amount" => 5]
  ],
  "taxes" => [Facturae::TAX_IVA => 10]
]));

Esto significa que Facturae-PHP ajustará el importe del descuento para representarlo en función de la base imponible como especifica el estándar.

Si se quisiera evitar este comportamiento y aplicar un descuento a la base imponible de una línea de producto con impuestos incluídos, se deberá usar el flag hasTaxes:

$fac->addItem(new FacturaeItem([
  "name" => "Un producto con descuento",
  "unitPrice" => 100,
  "discounts" => [
    ["reason" => "Descuento de 5?", "amount" => 5, "haxTaxes" => false]
  ],
  "taxes" => [Facturae::TAX_IVA => 10]
]));

> #### NOTA > Consulta el test DiscountsTest.php dentro del directorio tests/ para más información sobre este comportamiento.