diff --git a/modules/core/src/common/catalogs/taxes/spain-tax-catalog.json b/modules/core/src/common/catalogs/taxes/spain-tax-catalog.json index 09b1f40b..d4dcc72e 100644 --- a/modules/core/src/common/catalogs/taxes/spain-tax-catalog.json +++ b/modules/core/src/common/catalogs/taxes/spain-tax-catalog.json @@ -136,53 +136,53 @@ }, { - "name": "Retención 35%", + "name": "Retenc. 35%", "code": "retencion_35", "value": "3500", "scale": "2", "group": "Retención", - "description": "Retención profesional o fiscal tipo máximo.", + "description": "Retenc. profesional o fiscal tipo máximo.", "aeat_code": null }, { - "name": "Retención 19%", + "name": "Retenc. 19%", "code": "retencion_19", "value": "1900", "scale": "2", "group": "Retención", - "description": "Retención IRPF general.", + "description": "Retenc. IRPF general.", "aeat_code": "R1" }, { - "name": "Retención 15%", + "name": "Retenc. 15%", "code": "retencion_15", "value": "1500", "scale": "2", "group": "Retención", - "description": "Retención para autónomos y profesionales.", + "description": "Retenc. para autónomos y profesionales.", "aeat_code": "R2" }, { - "name": "Retención 7%", + "name": "Retenc. 7%", "code": "retencion_7", "value": "700", "scale": "2", "group": "Retención", - "description": "Retención para nuevos autónomos.", + "description": "Retenc. para nuevos autónomos.", "aeat_code": null }, { - "name": "Retención 2%", + "name": "Retenc. 2%", "code": "retencion_2", "value": "200", "scale": "2", "group": "Retención", - "description": "Retención sobre arrendamientos de inmuebles urbanos.", + "description": "Retenc. sobre arrendamientos de inmuebles urbanos.", "aeat_code": "R3" }, { - "name": "Rec. de equivalencia 5,2%", + "name": "Rec. 5,2%", "code": "rec_5_2", "value": "520", "scale": "2", @@ -191,7 +191,7 @@ "aeat_code": "51" }, { - "name": "Rec. de equivalencia 1,75%", + "name": "Rec. 1,75%", "code": "rec_1_75", "value": "175", "scale": "2", @@ -200,7 +200,7 @@ "aeat_code": "52" }, { - "name": "Rec. de equivalencia 1,4%", + "name": "Rec. 1,4%", "code": "rec_1_4", "value": "140", "scale": "2", @@ -209,7 +209,7 @@ "aeat_code": null }, { - "name": "Rec. de equivalencia 1%", + "name": "Rec. 1%", "code": "rec_1", "value": "100", "scale": "2", @@ -218,7 +218,7 @@ "aeat_code": null }, { - "name": "Rec. de equivalencia 0,62%", + "name": "Rec. 0,62%", "code": "rec_0_62", "value": "62", "scale": "2", @@ -227,7 +227,7 @@ "aeat_code": null }, { - "name": "Rec. de equivalencia 0,5%", + "name": "Rec. 0,5%", "code": "rec_0_5", "value": "50", "scale": "2", @@ -236,7 +236,7 @@ "aeat_code": null }, { - "name": "Rec. de equivalencia 0,26%", + "name": "Rec. 0,26%", "code": "rec_0_26", "value": "26", "scale": "2", @@ -245,7 +245,7 @@ "aeat_code": null }, { - "name": "Rec. de equivalencia 0%", + "name": "Rec. 0%", "code": "rec_0", "value": "0", "scale": "2", diff --git a/modules/customer-invoices/src/common/locales/en.json b/modules/customer-invoices/src/common/locales/en.json index 9442ac88..30fa4517 100644 --- a/modules/customer-invoices/src/common/locales/en.json +++ b/modules/customer-invoices/src/common/locales/en.json @@ -16,6 +16,7 @@ "rows_selected": "{{count}} fila(s) seleccionadas.", "rows_selected_of_total": "{{count}} de {{total}} fila(s) seleccionadas." }, + "catalog": { "status": { "draft": "Draft", @@ -198,6 +199,9 @@ } }, "components": { + "datatable": { + "actions": "Actions" + }, "customer_invoice_taxes_multi_select": { "label": "Taxes", "placeholder": "Select taxes", diff --git a/modules/customer-invoices/src/common/locales/es.json b/modules/customer-invoices/src/common/locales/es.json index dbbfef18..17dd7299 100644 --- a/modules/customer-invoices/src/common/locales/es.json +++ b/modules/customer-invoices/src/common/locales/es.json @@ -191,6 +191,9 @@ } }, "components": { + "datatable": { + "actions": "Acciones" + }, "customer_invoice_taxes_multi_select": { "label": "Impuestos", "placeholder": "Selecciona impuestos", diff --git a/modules/customer-invoices/src/web/components/customer-invoice-taxes-multi-select.tsx b/modules/customer-invoices/src/web/components/customer-invoice-taxes-multi-select.tsx index 992183c9..ce16555e 100644 --- a/modules/customer-invoices/src/web/components/customer-invoice-taxes-multi-select.tsx +++ b/modules/customer-invoices/src/web/components/customer-invoice-taxes-multi-select.tsx @@ -4,41 +4,9 @@ import { cn } from "@repo/shadcn-ui/lib/utils"; import { useCallback, useMemo } from 'react'; import { useTranslation } from "../i18n"; -const taxesList = [ - { label: "IVA 21%", value: "iva_21", group: "IVA" }, - { label: "IVA 10%", value: "iva_10", group: "IVA" }, - { label: "IVA 7,5%", value: "iva_7_5", group: "IVA" }, - { label: "IVA 5%", value: "iva_5", group: "IVA" }, - { label: "IVA 4%", value: "iva_4", group: "IVA" }, - { label: "IVA 2%", value: "iva_2", group: "IVA" }, - { label: "IVA 0%", value: "iva_0", group: "IVA" }, - { label: "Exenta", value: "iva_exenta", group: "IVA" }, - { label: "No sujeto", value: "iva_no_sujeto", group: "IVA" }, - { label: "Iva Intracomunitario Bienes", value: "iva_intracomunitario_bienes", group: "IVA" }, - { label: "Iva Intracomunitario Servicio", value: "iva_intracomunitario_servicio", group: "IVA" }, - { label: "Exportación", value: "iva_exportacion", group: "IVA" }, - { label: "Inv. Suj. Pasivo", value: "iva_inversion_sujeto_pasivo", group: "IVA" }, - - { label: "Retención 35%", value: "retencion_35", group: "Retención" }, - { label: "Retención 19%", value: "retencion_19", group: "Retención" }, - { label: "Retención 15%", value: "retencion_15", group: "Retención" }, - { label: "Retención 7%", value: "retencion_7", group: "Retención" }, - { label: "Retención 2%", value: "retencion_2", group: "Retención" }, - - { label: "REC 5,2%", value: "rec_5_2", group: "Recargo de equivalencia" }, - { label: "REC 1,75%", value: "rec_1_75", group: "Recargo de equivalencia" }, - { label: "REC 1,4%", value: "rec_1_4", group: "Recargo de equivalencia" }, - { label: "REC 1%", value: "rec_1", group: "Recargo de equivalencia" }, - { label: "REC 0,62%", value: "rec_0_62", group: "Recargo de equivalencia" }, - { label: "REC 0,5%", value: "rec_0_5", group: "Recargo de equivalencia" }, - { label: "REC 0,26%", value: "rec_0_26", group: "Recargo de equivalencia" }, - { label: "REC 0%", value: "rec_0", group: "Recargo de equivalencia" }, -]; - - interface CustomerInvoiceTaxesMultiSelect { - value: string[]; + value?: string[]; onChange: (selectedValues: string[]) => void; className?: string; [key: string]: any; // Allow other props to be passed diff --git a/modules/customer-invoices/src/web/components/editor/items/amount-input.tsx b/modules/customer-invoices/src/web/components/editor/items/amount-input.tsx index 47249aec..a933e4ba 100644 --- a/modules/customer-invoices/src/web/components/editor/items/amount-input.tsx +++ b/modules/customer-invoices/src/web/components/editor/items/amount-input.tsx @@ -1,5 +1,6 @@ import { formatCurrency } from '@erp/core'; import { useMoney } from '@erp/core/hooks'; +import { Input } from '@repo/shadcn-ui/components'; import { cn } from '@repo/shadcn-ui/lib/utils'; import * as React from "react"; import { findFocusableInCell, focusAndSelect } from './input-utils'; @@ -166,7 +167,7 @@ export function AmountInput({ if (readOnly && readOnlyMode === "textlike-input") { return ( - void }) { + // Editor simple reutilizando el mismo RHF + const { register } = useFormContext(); + return ( +
+

Edit line #{index + 1}

+
+ +