feat: Tax included (#370)

* feat: Tax included

* Added a toggle switch in tax settings to enable the feature.
* Database migration adding tax_included field into estimates, invoices
  and recurring invoices table.
* Toggle switch to enable and store the tax_included by estimates,
  invoices and recurring invoices.
* In case of tax included enabled, total taxes will be recalculated and
  the invoices, estimates and recurring invoices total won't be sum with
  taxes.
* Apply tax included when discount_per_item/tax_per_item item is enabled.
* Custom component to show the net total when tax included is enabled.
* Update invoice and estimates pdfs with net total.

* chore: Tax included by default

A switch button inside the tax settings to enable the tax included by
default in invoices, estimates and recurring invoices.
This commit is contained in:
Fabio Ribeiro
2025-08-28 10:28:24 +02:00
committed by GitHub
parent 08e1bb2e22
commit d69a56e2d5
32 changed files with 582 additions and 83 deletions

View File

@@ -303,6 +303,7 @@
"total": "Total",
"discount": "Descuento",
"sub_total": "Subtotal",
"net_total": "Base Imponible",
"estimate_number": "Número de Presupuesto",
"ref_number": "Número de referencia",
"contact": "Contacto",
@@ -1212,7 +1213,11 @@
"updated_message": "Tipo de impuesto actualizado correctamente",
"deleted_message": "Tipo de impuesto eliminado correctamente",
"confirm_delete": "No podrá recuperar este tipo de impuesto",
"already_in_use": "El impuesto ya está en uso."
"already_in_use": "El impuesto ya está en uso.",
"tax_included": "Impuestos inclusivos",
"tax_included_description": "Habilítelo si desea informar que los impuestos ya están incluidos en los artículos de la factura o en el total de la factura.",
"tax_included_by_default": "Usar impuestos inclusivos por defecto",
"tax_included_by_default_description": "Habilítelo si desea establecer los impuestos inclusivos por defecto."
},
"payment_modes": {
"title": "Formas de pago",
@@ -1608,6 +1613,7 @@
"pdf_discount_label": "Descuento",
"pdf_amount_label": "Cantidad",
"pdf_subtotal": "Subtotal",
"pdf_net_total": "Base Imponible",
"pdf_total": "Total",
"pdf_payment_label": "Pago",
"pdf_payment_receipt_label": "RECIBO DE PAGO",