- Added endpoint for retrieving deleted proformas with logical deletion. - Updated proforma listing to support active, archived, and deleted scopes. - Refactored repository and service layers to accommodate new proforma list scope. - Enhanced UI to display separate views for active, archived, and deleted proformas. - Updated localization files to reflect changes in proforma management. - Improved query handling to filter proformas based on their status and scope.
438 lines
16 KiB
JSON
438 lines
16 KiB
JSON
{
|
|
"common": {
|
|
"more_actions": "Más acciones",
|
|
"append_empty_row": "Añadir fila",
|
|
"append_empty_row_tooltip": "Añadir una fila vacía",
|
|
"edit_row": "Modificar",
|
|
"duplicate_row": "Duplicar",
|
|
"duplicate_selected_rows": "Duplicar",
|
|
"duplicate_selected_rows_tooltip": "Duplicar fila(s) seleccionada(s)",
|
|
"remove_selected_rows": "Eliminar",
|
|
"remove_selected_rows_tooltip": "Eliminar fila(s) seleccionada(s)",
|
|
"download_pdf": "Descargar en PDF",
|
|
"send_email": "Enviar por email",
|
|
"insert_row_above": "Insertar fila arriba",
|
|
"insert_row_below": "Insertar fila abajo",
|
|
"delete_row": "Eliminar",
|
|
"actions": "Acciones",
|
|
"rows_selected": "{{count}} fila(s) seleccionadas.",
|
|
"rows_selected_of_total": "{{count}} de {{total}} fila(s) seleccionadas.",
|
|
"search_placeholder": "Escribe aquí para buscar...",
|
|
"search": "Buscar",
|
|
"clear": "Limpiar"
|
|
},
|
|
"catalog": {
|
|
"proformas": {
|
|
"status": {
|
|
"all": {
|
|
"label": "Todas",
|
|
"description": ""
|
|
},
|
|
"draft": {
|
|
"label": "Borrador",
|
|
"description": "Proforma en preparación"
|
|
},
|
|
"sent": {
|
|
"label": "Enviada",
|
|
"description": "Enviada al cliente"
|
|
},
|
|
"approved": {
|
|
"label": "Aprobada",
|
|
"description": "Aprobada por el cliente"
|
|
},
|
|
"rejected": {
|
|
"label": "Rechazada",
|
|
"description": "Rechazada por el cliente"
|
|
},
|
|
"issued": {
|
|
"label": "Emitida",
|
|
"description": "Convertida a factura"
|
|
}
|
|
}
|
|
},
|
|
"issued_invoices": {
|
|
"status": {
|
|
"all": {
|
|
"label": "All",
|
|
"description": "Proforma en preparación"
|
|
},
|
|
"pendiente": {
|
|
"label": "Pendiente",
|
|
"description": "Registro encolado y no procesado aún"
|
|
},
|
|
"correcto": {
|
|
"label": "Correcto",
|
|
"description": "Registro procesado correctamente por la AEAT"
|
|
},
|
|
"aceptado_con_error": {
|
|
"label": "Aceptado con errores",
|
|
"description": "Registro aceptado con errores por la AEAT. Se requiere enviar un registro de subsanación o emitir una rectificativa"
|
|
},
|
|
"incorrecto": {
|
|
"label": "Incorrecto",
|
|
"description": "Registro considerado incorrecto por la AEAT. Se requiere enviar un registro de subsanación con rechazo_previo=S o rechazo_previo=X o emitir una rectificativa"
|
|
},
|
|
"duplicado": {
|
|
"label": "Duplicado",
|
|
"description": "Registro no aceptado por la AEAT por existir un registro con el mismo (serie, numero, fecha_expedicion)"
|
|
},
|
|
"anulado": {
|
|
"label": "Anulado",
|
|
"description": "Registro de anulación procesado correctamente por la AEAT"
|
|
},
|
|
"factura_inexistente": {
|
|
"label": "Factura inexistente",
|
|
"description": "Registro de anulación no aceptado por la AEAT por no existir la factura"
|
|
},
|
|
"rechazado": {
|
|
"label": "No registrado",
|
|
"description": "Registro rechazado por la AEAT"
|
|
},
|
|
"error": {
|
|
"label": "Error",
|
|
"description": "Error en el servidor de la AEAT. Se intentará reenviar el registro de facturación de nuevo"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"proformas": {
|
|
"archive": {
|
|
"confirm_title": "Archivar proforma",
|
|
"confirm_description": "La proforma se ocultará del listado principal, pero seguirá conservada para consulta histórica.",
|
|
"confirm": "Archivar",
|
|
"cancel": "Cancelar",
|
|
"submitting": "Archivando...",
|
|
"success_title": "Proforma archivada",
|
|
"success_description": "La proforma se ha archivado correctamente.",
|
|
"error_title": "No se pudo archivar la proforma",
|
|
"error_conflict_message": "No se puede archivar una proforma en este estado.",
|
|
"error_unknown_message": "Ha ocurrido un error inesperado al archivar la proforma."
|
|
},
|
|
"unarchive": {
|
|
"confirm_title": "Desarchivar proforma",
|
|
"confirm_description": "La proforma volverá a aparecer en el listado principal.",
|
|
"confirm": "Desarchivar",
|
|
"cancel": "Cancelar",
|
|
"submitting": "Desarchivando...",
|
|
"success_title": "Proforma desarchivada",
|
|
"success_description": "La proforma se ha desarchivado correctamente.",
|
|
"error_title": "No se pudo desarchivar la proforma",
|
|
"error_conflict_message": "No se puede desarchivar una proforma en este estado.",
|
|
"error_unknown_message": "Ha ocurrido un error inesperado al desarchivar la proforma."
|
|
},
|
|
"issue_proforma_dialog": {
|
|
"title": "Emitir a factura",
|
|
"description": "¿Seguro que quieres emitir la factura desde la proforma {{reference}}?",
|
|
"warning": "Esta acción creará una nueva factura definitiva y la proforma pasará al estado \"Emitida\", no pudiendo modificarse ni eliminarse posteriormente.",
|
|
"confirm": "Emitir factura",
|
|
"submitting": "Emitiendo...",
|
|
"success_title": "Proforma emitida correctamente",
|
|
"success_description": "La proforma {{reference}} se ha emitido a factura correctamente.",
|
|
"error_title": "Error al emitir la proforma",
|
|
"not_allowed_title": "Acción no permitida",
|
|
"not_allowed_description": "Solo se pueden emitir proformas en estado \"Aprobada\".",
|
|
"unknown_error": "Ha ocurrido un error inesperado",
|
|
"cancel": "Cancelar"
|
|
},
|
|
"delete_proforma_dialog": {
|
|
"single_title": "Eliminar proforma",
|
|
"single_description": "Se eliminará la proforma. Su referencia no se reutilizará.",
|
|
"archived_single_title": "Eliminar proforma archivada",
|
|
"archived_single_description": "Se eliminará la proforma en borrador. Su referencia no se reutilizará.",
|
|
"multiple_title": "Eliminar proformas",
|
|
"multiple_description": "Se eliminarán {{count}} proformas draft. Sus referencias no se reutilizarán.",
|
|
"warning": "Esta acción no elimina facturas emitidas ni reutiliza numeración.",
|
|
"archived_warning": "Esta acción no borra físicamente sus datos, pero dejará de estar disponible en los listados operativos.",
|
|
"confirm_delete": "Confirmar eliminación",
|
|
"deleting": "Eliminando...",
|
|
"cancel": "Cancelar",
|
|
"list_item": "Proforma {{reference}}",
|
|
"success_title": "Proforma eliminada",
|
|
"success_single_message": "La proforma {{reference}} se ha eliminado correctamente.",
|
|
"success_multiple_message": "Se han eliminado {{count}} proformas correctamente.",
|
|
"error_title": "No se pudo eliminar la proforma",
|
|
"error_single_message": "La proforma seleccionada no se ha podido eliminar.",
|
|
"error_multiple_message": "{{count}} proformas no se han podido eliminar.",
|
|
"error_conflict_message": "Solo se pueden eliminar proformas en borrador.",
|
|
"error_not_found_message": "La proforma ya no existe o no está disponible."
|
|
},
|
|
"change_proforma_status_dialog": {
|
|
"title": "Cambiar estado de la proforma",
|
|
"single_description": "Selecciona el nuevo estado para la proforma {{reference}}.",
|
|
"multiple_description": "Selecciona el nuevo estado para {{count}} proformas seleccionadas.",
|
|
"empty_available_statuses": "No hay transiciones de estado disponibles para las proformas seleccionadas.",
|
|
"cancel": "Cancelar",
|
|
"confirm": "Cambiar estado",
|
|
"submitting": "Cambiando...",
|
|
"success_title": "Estado actualizado correctamente",
|
|
"success_single_description": "La proforma {{reference}} ha cambiado de estado correctamente.",
|
|
"success_multiple_description": "Se ha actualizado el estado de {{count}} proformas.",
|
|
"error_title": "Error al cambiar el estado",
|
|
"error_single_description": "No se ha podido cambiar el estado de la proforma seleccionada.",
|
|
"error_multiple_description": "No se ha podido cambiar el estado de {{count}} proformas.",
|
|
"error_unexpected_description": "Ha ocurrido un error inesperado.",
|
|
"legend": {
|
|
"current": "Estado actual",
|
|
"available": "Estados disponibles",
|
|
"unavailable": "Estados no disponibles"
|
|
}
|
|
}
|
|
},
|
|
"pages": {
|
|
"proformas": {
|
|
"title": "Proformas",
|
|
"description": "Gestiona tus proformas",
|
|
"list": {
|
|
"title": "Proformas",
|
|
"description": "Lista las proformas no archivadas ni eliminadas",
|
|
"loadErrorTitle": "No se pudo cargar el listado de proformas",
|
|
"empty": {
|
|
"normal": "No hay proformas.",
|
|
"archived": "No hay proformas archivadas.",
|
|
"deleted": "No hay proformas eliminadas."
|
|
},
|
|
"filters": {
|
|
"status": {
|
|
"label": "Estado"
|
|
}
|
|
},
|
|
"columns": {
|
|
"proforma_reference": "Num.",
|
|
"series": "Serie",
|
|
"reference": "Reference",
|
|
"status": "Estado",
|
|
"proforma_date": "Fecha",
|
|
"operation_date": "Fecha de operación",
|
|
"recipient": "Cliente",
|
|
"recipient_tin": "NIF/CIF",
|
|
"recipient_name": "Cliente",
|
|
"recipient_street": "Dirección",
|
|
"recipient_city": "Ciudad",
|
|
"recipient_province": "Provincia",
|
|
"recipient_postal_code": "Código postal",
|
|
"recipient_country": "País",
|
|
"subtotal_amount": "Subtotal",
|
|
"discount_amount": "Descuentos",
|
|
"taxes_amount": "Impuestos",
|
|
"total_amount": "Importe total"
|
|
}
|
|
},
|
|
"archived": {
|
|
"title": "Proformas archivadas",
|
|
"description": "Consulta las proformas archivadas sin mezclar el listado operativo"
|
|
},
|
|
"deleted": {
|
|
"title": "Proformas eliminadas",
|
|
"description": "Consulta las proformas eliminadas en modo solo lectura"
|
|
},
|
|
"create": {
|
|
"title": "Nueva proforma",
|
|
"description": "Crear una nueva proforma",
|
|
"back_to_list": "Volver al listado"
|
|
},
|
|
"update": {
|
|
"title": "Editar proforma",
|
|
"description": "Editar la proforma seleccionada",
|
|
"load_error.message": "Inténtalo de nuevo más tarde",
|
|
"load_error.title": "No se pudo cargar la proforma",
|
|
"not_found_msg": "Revisa el identificador o vuelve al listado",
|
|
"not_found_title": "Proforma no encontrada",
|
|
"error_msg": "Revisa los datos e inténtalo de nuevo.",
|
|
"error_title": "No se pudo guardar los cambios"
|
|
},
|
|
"delete": {
|
|
"title": "Eliminar proforma",
|
|
"description": "Eliminar la proforma seleccionada"
|
|
},
|
|
"delete.error_title": "No se pudo eliminar la proforma",
|
|
"delete.error_unexpected_message": "Ha ocurrido un error inesperado al eliminar la proforma."
|
|
,
|
|
"view": {
|
|
"title": "Ver proforma",
|
|
"description": "Ver los detalles de la proforma seleccionada"
|
|
}
|
|
},
|
|
"issued_invoices": {
|
|
"title": "Facturas de cliente",
|
|
"description": "Gestiona tus facturas de cliente",
|
|
"list": {
|
|
"title": "Facturas de cliente",
|
|
"description": "Lista todas las facturas de cliente",
|
|
"grid_columns": {
|
|
"series_invoice_number": "#",
|
|
"verifactu_status": "Estado",
|
|
"verifactu_qr_code": "QR",
|
|
"verifactu_url": "URL",
|
|
"invoice_number": "Nº factura",
|
|
"series": "Serie",
|
|
"reference": "Reference",
|
|
"invoice_date": "Fecha de factura",
|
|
"operation_date": "Fecha de operación",
|
|
"recipient": "Cliente",
|
|
"recipient_tin": "NIF/CIF",
|
|
"recipient_name": "Cliente",
|
|
"recipient_street": "Dirección",
|
|
"recipient_city": "Ciudad",
|
|
"recipient_province": "Provincia",
|
|
"recipient_postal_code": "Código postal",
|
|
"recipient_country": "País",
|
|
"subtotal_amount": "Subtotal",
|
|
"discount_amount": "Descuentos",
|
|
"taxes_amount": "Impuestos",
|
|
"total_amount": "Importe total"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"form_groups": {
|
|
"proformas": {
|
|
"customer": {
|
|
"title": "Cliente",
|
|
"description": "Selecciona el cliente para esta proforma"
|
|
},
|
|
"items": {
|
|
"title": "Detalles de la proforma",
|
|
"description": ""
|
|
},
|
|
"basic_info": {
|
|
"title": "Información de la proforma",
|
|
"description": "Información básica de la proforma"
|
|
},
|
|
"totals": {
|
|
"title": "Totales de la proforma",
|
|
"description": "Desglose de los importes de la proforma con descuentos e impuestos."
|
|
},
|
|
"preferences": {
|
|
"title": "Preferencias",
|
|
"description": "Configuraciones adicionales de la proforma"
|
|
}
|
|
}
|
|
},
|
|
"form_fields": {
|
|
"proformas": {
|
|
"invoice_number": {
|
|
"label": "Número de proforma",
|
|
"placeholder": "",
|
|
"description": ""
|
|
},
|
|
"proforma_date": {
|
|
"label": "Fecha de la proforma",
|
|
"placeholder": "Selecciona una fecha",
|
|
"description": "Fecha de emisión de la proforma"
|
|
},
|
|
"series": {
|
|
"label": "Serie",
|
|
"placeholder": "",
|
|
"description": ""
|
|
},
|
|
"operation_date": {
|
|
"label": "Fecha de operación",
|
|
"placeholder": "Selecciona una fecha",
|
|
"description": "Fecha de la operación de la proforma"
|
|
},
|
|
"reference": {
|
|
"label": "Referencia",
|
|
"placeholder": "Referencia de la proforma",
|
|
"description": "Referencia de la proforma"
|
|
},
|
|
"description": {
|
|
"label": "Descripción",
|
|
"placeholder": "Descripción de la proforma",
|
|
"description": "Descripción general de la proforma"
|
|
},
|
|
"subtotal_amount": {
|
|
"label": "Subtotal",
|
|
"placeholder": "",
|
|
"desc": "Subtotal de la proforma"
|
|
},
|
|
"discount": {
|
|
"label": "Descuento (%)",
|
|
"placeholder": "",
|
|
"desc": "Porcentaje de descuento"
|
|
},
|
|
"discount_amount": {
|
|
"label": "Importe del descuento",
|
|
"placeholder": "",
|
|
"desc": "Importe del descuento porcentual"
|
|
},
|
|
"total_amount": {
|
|
"label": "Precio total",
|
|
"placeholder": "",
|
|
"desc": "Precio total de la proforma"
|
|
},
|
|
"notes": {
|
|
"label": "Notas",
|
|
"placeholder": "Notas adicionales sobre la proforma",
|
|
"description": "Notas adicionales que se pueden incluir en la proforma"
|
|
},
|
|
"item": {
|
|
"quantity": {
|
|
"label": "Cantidad",
|
|
"placeholder": "",
|
|
"description": ""
|
|
},
|
|
"description": {
|
|
"label": "Descripción",
|
|
"placeholder": "",
|
|
"description": ""
|
|
},
|
|
"unit_amount": {
|
|
"label": "Precio unitario",
|
|
"placeholder": "",
|
|
"description": "Precio unitario del producto"
|
|
},
|
|
"discount_percentage": {
|
|
"label": "Dto (%)",
|
|
"placeholder": "",
|
|
"description": "Porcentaje de descuento"
|
|
},
|
|
"discount_amount": {
|
|
"label": "Importe del descuento",
|
|
"placeholder": "",
|
|
"description": "Importe del descuento porcentual"
|
|
},
|
|
"taxable_amount": {
|
|
"label": "Subtotal",
|
|
"placeholder": "",
|
|
"description": ""
|
|
},
|
|
"tax_codes": {
|
|
"label": "Impuestos",
|
|
"placeholder": "",
|
|
"description": "Impuestos"
|
|
},
|
|
"taxes_amount": {
|
|
"label": "Importe impuestos",
|
|
"placeholder": "",
|
|
"description": "Importe porcentual de los impuestos"
|
|
},
|
|
"total_amount": {
|
|
"label": "Precio total",
|
|
"placeholder": "",
|
|
"description": "Precio total con descuento porcentual"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"datatable": {
|
|
"actions": "Acciones"
|
|
},
|
|
"customer_invoice_taxes_multi_select": {
|
|
"label": "Impuestos",
|
|
"placeholder": "Selecciona impuestos",
|
|
"description": "Selecciona los impuestos a aplicar a los artículos de la proforma",
|
|
"invalid_tax_selection": "Selección de impuestos no válida. Por favor, selecciona un impuesto válido."
|
|
},
|
|
"hover_card_totals_summary": {
|
|
"label": "Desglose del importe",
|
|
"fields": {
|
|
"subtotal_amount": "Subtotal",
|
|
"discount_percentage": "Descuento",
|
|
"taxable_amount": "Importe base",
|
|
"total_amount": "Total"
|
|
}
|
|
}
|
|
}
|
|
}
|