- Introduced ProformaDetailContent, ProformaDetailHeader, ProformaDetailInspector, ProformaDocumentPane, ProformaGeneralPanel components for displaying detailed proforma information. - Created various sections including ProformaCommercialSection, ProformaContentSection, ProformaCustomerSection, ProformaDatesSection, ProformaFiscalSection, ProformaLinkedInvoiceSection, and ProformaSummarySection to organize proforma details. - Implemented utility functions to build proforma detail actions and view models, enhancing the management of proforma states and actions. - Added translations and improved accessibility features across components.
593 lines
21 KiB
JSON
593 lines
21 KiB
JSON
{
|
|
"common": {
|
|
"more_actions": "More actions",
|
|
"append_empty_row": "Append row",
|
|
"append_empty_row_tooltip": "Append a empty row",
|
|
"edit_row": "Edit",
|
|
"duplicate_row": "Duplicate",
|
|
"duplicate_selected_rows": "Duplicate",
|
|
"duplicate_selected_rows_tooltip": "Duplicate selected row(s)",
|
|
"remove_selected_rows": "Remove",
|
|
"remove_selected_rows_tooltip": "Remove selected row(s)",
|
|
"download_pdf": "Download PDF",
|
|
"send_email": "Send email",
|
|
"insert_row_above": "Insert row above",
|
|
"insert_row_below": "Insert row below",
|
|
"delete_row": "Delete",
|
|
"actions": "Actions",
|
|
"rows_selected": "{{count}} fila(s) seleccionadas.",
|
|
"rows_selected_of_total": "{{count}} de {{total}} fila(s) seleccionadas.",
|
|
"search_placeholder": "Type for search...",
|
|
"search": "Search",
|
|
"clear": "Clear"
|
|
},
|
|
"catalog": {
|
|
"proformas": {
|
|
"status": {
|
|
"all": {
|
|
"label": "All",
|
|
"description": ""
|
|
},
|
|
"draft": {
|
|
"label": "Draft",
|
|
"description": "Proforma in preparation"
|
|
},
|
|
"sent": {
|
|
"label": "Sent",
|
|
"description": "Sent to the client"
|
|
},
|
|
"approved": {
|
|
"label": "Approved",
|
|
"description": "Approved by the client"
|
|
},
|
|
"rejected": {
|
|
"label": "Rejected",
|
|
"description": "Rejected by the client"
|
|
},
|
|
"issued": {
|
|
"label": "Issued",
|
|
"description": "Converted to invoice"
|
|
}
|
|
}
|
|
},
|
|
"issued_invoices": {
|
|
"status": {
|
|
"all": {
|
|
"label": "All",
|
|
"description": "Proforma in preparation"
|
|
},
|
|
"pendiente": {
|
|
"label": "Pending",
|
|
"description": "Queued record not yet processed"
|
|
},
|
|
"correcto": {
|
|
"label": "Correct",
|
|
"description": "Record successfully processed by the AEAT"
|
|
},
|
|
"aceptado_con_error": {
|
|
"label": "Accepted with errors",
|
|
"description": "Record accepted with errors by the AEAT. A correction record or a rectifying invoice is required"
|
|
},
|
|
"incorrecto": {
|
|
"label": "Incorrect",
|
|
"description": "Record considered incorrect by the AEAT. A correction record with rechazo_previo=S or rechazo_previo=X, or a rectifying invoice, is required"
|
|
},
|
|
"duplicado": {
|
|
"label": "Duplicate",
|
|
"description": "Record not accepted by the AEAT because another record with the same (series, number, issue_date) already exists"
|
|
},
|
|
"anulado": {
|
|
"label": "Cancelled",
|
|
"description": "Cancellation record successfully processed by the AEAT"
|
|
},
|
|
"factura_inexistente": {
|
|
"label": "Non-existent invoice",
|
|
"description": "Cancellation record not accepted by the AEAT because the invoice does not exist"
|
|
},
|
|
"rechazado": {
|
|
"label": "Not registered",
|
|
"description": "Record rejected by the AEAT"
|
|
},
|
|
"error": {
|
|
"label": "Error",
|
|
"description": "AEAT server error. The invoice record will be retried"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"proformas": {
|
|
"archive": {
|
|
"confirm_title": "Archive proforma",
|
|
"confirm_description": "The proforma will be hidden from the main list but kept for historical lookup.",
|
|
"confirm": "Archive",
|
|
"cancel": "Cancel",
|
|
"submitting": "Archiving...",
|
|
"success_title": "Proforma archived",
|
|
"success_description": "The proforma was archived successfully.",
|
|
"error_title": "The proforma could not be archived",
|
|
"error_conflict_message": "This proforma cannot be archived in its current status.",
|
|
"error_unknown_message": "An unexpected error occurred while archiving the proforma."
|
|
},
|
|
"unarchive": {
|
|
"confirm_title": "Unarchive proforma",
|
|
"confirm_description": "The proforma will appear again in the main list.",
|
|
"confirm": "Unarchive",
|
|
"cancel": "Cancel",
|
|
"submitting": "Unarchiving...",
|
|
"success_title": "Proforma unarchived",
|
|
"success_description": "The proforma was unarchived successfully.",
|
|
"error_title": "The proforma could not be unarchived",
|
|
"error_conflict_message": "This proforma cannot be unarchived in its current status.",
|
|
"error_unknown_message": "An unexpected error occurred while unarchiving the proforma."
|
|
},
|
|
"issue_proforma_dialog": {
|
|
"title": "Issue to invoice",
|
|
"description": "Are you sure you want to issue an invoice from proforma {{reference}}?",
|
|
"warning": "This action will create a final invoice and the proforma will be marked as \"Issued\". It will no longer be editable or deletable.",
|
|
"confirm": "Issue invoice",
|
|
"submitting": "Issuing...",
|
|
"success_title": "Proforma successfully issued",
|
|
"success_description": "Proforma {{reference}} has been successfully issued to an invoice.",
|
|
"error_title": "Error issuing proforma",
|
|
"not_allowed_title": "Action not allowed",
|
|
"not_allowed_description": "Only proformas in \"Approved\" status can be issued.",
|
|
"unknown_error": "An unexpected error occurred"
|
|
},
|
|
"delete_proforma_dialog": {
|
|
"single_title": "Delete proforma",
|
|
"single_description": "This proforma will be deleted. Its reference will not be reused.",
|
|
"archived_single_title": "Delete archived proforma",
|
|
"archived_single_description": "The draft proforma will be deleted. Its reference will not be reused.",
|
|
"multiple_title": "Delete proformas",
|
|
"multiple_description": "{{count}} draft proformas will be deleted. Their references will not be reused.",
|
|
"warning": "This action does not delete issued invoices and does not reuse numbering.",
|
|
"archived_warning": "This action does not physically erase its data, but it will no longer be available in operational lists.",
|
|
"confirm_delete": "Confirm deletion",
|
|
"deleting": "Deleting...",
|
|
"cancel": "Cancel",
|
|
"list_item": "Proforma {{reference}}",
|
|
"success_title": "Proforma deleted",
|
|
"success_single_message": "Proforma {{reference}} has been deleted successfully.",
|
|
"success_multiple_message": "{{count}} proformas have been deleted successfully.",
|
|
"error_title": "Unable to delete the proforma",
|
|
"error_single_message": "The selected proforma could not be deleted.",
|
|
"error_multiple_message": "{{count}} proformas could not be deleted.",
|
|
"error_conflict_message": "Only draft proformas can be deleted.",
|
|
"error_not_found_message": "The proforma no longer exists or is not available."
|
|
},
|
|
"change_proforma_status_dialog": {
|
|
"title": "Change proforma status",
|
|
"single_description": "Select the new status for proforma {{reference}}.",
|
|
"multiple_description": "Select the new status for {{count}} selected proformas.",
|
|
"empty_available_statuses": "No status transitions are available for the selected proformas.",
|
|
"cancel": "Cancel",
|
|
"confirm": "Change status",
|
|
"submitting": "Changing...",
|
|
"success_title": "Status updated successfully",
|
|
"success_single_description": "Proforma {{reference}} status has been updated successfully.",
|
|
"success_multiple_description": "The status of {{count}} proformas has been updated.",
|
|
"error_title": "Error changing status",
|
|
"error_single_description": "The status of the selected proforma could not be changed.",
|
|
"error_multiple_description": "The status of {{count}} proformas could not be changed.",
|
|
"error_unexpected_description": "An unexpected error has occurred.",
|
|
"legend": {
|
|
"current": "Current status",
|
|
"available": "Available statuses",
|
|
"unavailable": "Unavailable statuses"
|
|
}
|
|
},
|
|
"duplicate": {
|
|
"success_title": "Proforma duplicated",
|
|
"success_description": "The proforma was duplicated successfully.",
|
|
"success_with_reference": "Proforma duplicated as {{reference}}.",
|
|
"error_title": "The proforma could not be duplicated",
|
|
"error_not_found_message": "The proforma no longer exists or is not available.",
|
|
"error_unknown_message": "An unexpected error occurred while duplicating the proforma."
|
|
},
|
|
"detail": {
|
|
"header": {
|
|
"title": "Proforma {{reference}}",
|
|
"archived_label": "Archived"
|
|
},
|
|
"document": {
|
|
"title": "Document",
|
|
"description": "Preview of the generated PDF for this proforma.",
|
|
"error": "The PDF could not be loaded.",
|
|
"error_title": "The preview could not be loaded",
|
|
"loading": "Loading document...",
|
|
"refreshing": "Updating document...",
|
|
"retry": "Retry",
|
|
"empty_title": "Document unavailable",
|
|
"empty_description": "The proforma PDF is not available to display yet.",
|
|
"actions": {
|
|
"open": "Open PDF",
|
|
"download": "Download PDF",
|
|
"print": "Print PDF",
|
|
"zoom_in": "Zoom in",
|
|
"zoom_out": "Zoom out",
|
|
"zoom_select": "Select zoom",
|
|
"fit": "Fit"
|
|
}
|
|
},
|
|
"regions": {
|
|
"document": "Document",
|
|
"details": "Details"
|
|
},
|
|
"customer": {
|
|
"unknown": "Unnamed customer"
|
|
},
|
|
"sections": {
|
|
"summary": "Summary",
|
|
"customer": "Customer",
|
|
"dates": "Dates",
|
|
"commercial": "Commercial terms",
|
|
"fiscal": "Tax",
|
|
"content": "Description and notes",
|
|
"linked_invoice": "Related document"
|
|
},
|
|
"section_descriptions": {
|
|
"summary": "Primary operational information for the proforma.",
|
|
"customer": "",
|
|
"dates": "Dates available in the current detail contract.",
|
|
"commercial": "Payment method, payment term and commercial references.",
|
|
"fiscal": "Tax summary and breakdown prepared from the ViewModel.",
|
|
"content": "Textual content associated with the proforma.",
|
|
"linked_invoice": "Current state of the Proforma -> Invoice relationship."
|
|
},
|
|
"fields": {
|
|
"total": "Total",
|
|
"reference": "Proforma number",
|
|
"status": "Status",
|
|
"currency": "Currency",
|
|
"lines": "Lines",
|
|
"units": "Units",
|
|
"global_discount": "Global discount",
|
|
"customer_tin": "TIN",
|
|
"address": "Address",
|
|
"proforma_date": "Proforma date",
|
|
"operation_date": "Operation date",
|
|
"payment_method": "Payment method",
|
|
"payment_term": "Payment term",
|
|
"language": "Language",
|
|
"internal_reference": "Internal reference",
|
|
"tax_regime": "Tax regime",
|
|
"tax_mode": "Tax mode",
|
|
"subtotal": "Subtotal",
|
|
"discount": "Discount",
|
|
"taxable_base": "Taxable base",
|
|
"tax": "Tax",
|
|
"rec": "Equivalence surcharge",
|
|
"retention": "Withholding",
|
|
"tax_breakdown": "Tax breakdown",
|
|
"description": "Description",
|
|
"notes": "Notes",
|
|
"linked_invoice_id": "Linked invoice identifier"
|
|
},
|
|
"empty": {
|
|
"no_address": "No address recorded.",
|
|
"not_available": "—",
|
|
"no_description": "No description.",
|
|
"no_notes": "No notes."
|
|
},
|
|
"actions": {
|
|
"open_customer": "View customer",
|
|
"disabled_reasons": {
|
|
"edit_archived": "Archived proformas must be unarchived before they can be edited.",
|
|
"status_archived": "Unarchive the proforma before changing its status."
|
|
}
|
|
},
|
|
"fiscal": {
|
|
"unknown_tax_code": "Tax",
|
|
"tax_mode": {
|
|
"single": "Single tax",
|
|
"perLine": "Tax per line"
|
|
}
|
|
},
|
|
"linked_invoice": {
|
|
"states": {
|
|
"not-issued": {
|
|
"title": "Pending issuance",
|
|
"description": "The proforma has not been converted into an invoice yet."
|
|
},
|
|
"ready-to-issue": {
|
|
"title": "Ready to issue",
|
|
"description": "It can be converted into an invoice from the header."
|
|
},
|
|
"issued-without-link": {
|
|
"title": "Issued",
|
|
"description": "No reference to the linked invoice was returned."
|
|
},
|
|
"issued-linked-without-detail-route": {
|
|
"title": "Issued invoice",
|
|
"description": "The linked invoice exists, but its individual detail view is not available in this application yet."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"pages": {
|
|
"proformas": {
|
|
"title": "Proformas",
|
|
"description": "Manage your customer proformas",
|
|
"list": {
|
|
"title": "Customer proformas",
|
|
"description": "List non-archived and non-deleted customer proformas",
|
|
"loadErrorTitle": "Unable to load the proformas list",
|
|
"actions": {
|
|
"view": "View",
|
|
"edit": "Edit",
|
|
"change_status": "Change status",
|
|
"issue": "Issue invoice",
|
|
"duplicate": "Duplicate",
|
|
"archive": "Archive",
|
|
"unarchive": "Unarchive",
|
|
"download_pdf": "Download PDF",
|
|
"delete": "Delete",
|
|
"view_linked_invoice": "View linked invoice",
|
|
"disabled_reasons": {
|
|
"archived_scope": "This action is not available from the archived proformas list.",
|
|
"deleted_scope": "This action is not available from the deleted proformas list.",
|
|
"archived_only": "This action is only available for archived proformas.",
|
|
"edit_issued": "Issued proformas cannot be edited.",
|
|
"status_issued": "Issued proformas do not allow status changes.",
|
|
"linked_invoice_unavailable": "This action is only available when the issued proforma has a linked invoice.",
|
|
"operation_in_progress": "The operation is already in progress."
|
|
}
|
|
},
|
|
"empty": {
|
|
"normal": "There are no proformas.",
|
|
"archived": "There are no archived proformas.",
|
|
"deleted": "There are no deleted proformas."
|
|
},
|
|
"filters": {
|
|
"status": {
|
|
"label": "Status"
|
|
}
|
|
},
|
|
"columns": {
|
|
"proforma_reference": "Num.",
|
|
"series": "Serie",
|
|
"reference": "Reference",
|
|
"status": "Status",
|
|
"proforma_date": "Date",
|
|
"operation_date": "Operation date",
|
|
"recipient": "Customer",
|
|
"recipient_tin": "TIN",
|
|
"recipient_name": "Customer name",
|
|
"recipient_street": "Street",
|
|
"recipient_city": "City",
|
|
"recipient_province": "Province",
|
|
"recipient_postal_code": "Postal code",
|
|
"recipient_country": "Country",
|
|
"subtotal_amount": "Subtotal",
|
|
"discount_amount": "Discount",
|
|
"taxes_amount": "Taxes",
|
|
"total_amount": "Total"
|
|
}
|
|
},
|
|
"archived": {
|
|
"title": "Archived proformas",
|
|
"description": "Review archived proformas without mixing them into the operational list"
|
|
},
|
|
"deleted": {
|
|
"title": "Deleted proformas",
|
|
"description": "Review deleted proformas in read-only mode"
|
|
},
|
|
"create": {
|
|
"title": "New customer proforma",
|
|
"description": "Create a new customer proforma",
|
|
"back_to_list": "Back to the list"
|
|
},
|
|
"update": {
|
|
"title": "Edit customer proforma",
|
|
"description": "Edit the selected customer proforma",
|
|
"load_error.message": "Please try again later",
|
|
"load_error.title": "Unable to load the proforma",
|
|
"not_found_msg": "Check the identifier or go back to the list",
|
|
"not_found_title": "Proforma not found",
|
|
"error_msg": "Check the data and try again.",
|
|
"error_title": "Unable to save the changes"
|
|
},
|
|
"delete": {
|
|
"title": "Delete customer proforma",
|
|
"description": "Delete the selected customer proforma"
|
|
},
|
|
"delete.error_title": "Unable to delete the proforma",
|
|
"delete.error_unexpected_message": "An unexpected error occurred while deleting the proforma.",
|
|
"view": {
|
|
"title": "View customer proforma",
|
|
"description": "View the details of the selected customer proforma"
|
|
}
|
|
},
|
|
"issued_invoices": {
|
|
"title": "Customer Invoices",
|
|
"description": "Manage your customer invoices",
|
|
"list": {
|
|
"title": "Customer invoices",
|
|
"description": "List all customer invoices",
|
|
"grid_columns": {
|
|
"series_invoice_number": "#",
|
|
"verifactu_status": "Status",
|
|
"verifactu_qr_code": "QR",
|
|
"verifactu_url": "URL",
|
|
"invoice_number": "Inv. number",
|
|
"series": "Serie",
|
|
"reference": "Reference",
|
|
"invoice_date": "Invoice date",
|
|
"operation_date": "Operation date",
|
|
"recipient": "Customer",
|
|
"recipient_tin": "TIN",
|
|
"recipient_name": "Customer name",
|
|
"recipient_street": "Street",
|
|
"recipient_city": "City",
|
|
"recipient_province": "Province",
|
|
"recipient_postal_code": "Postal code",
|
|
"recipient_country": "Country",
|
|
"subtotal_amount": "Subtotal",
|
|
"discount_amount": "Discount",
|
|
"taxes_amount": "Taxes",
|
|
"total_amount": "Total"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"form_groups": {
|
|
"proformas": {
|
|
"customer": {
|
|
"title": "Customer",
|
|
"description": "Select the customer for this proforma."
|
|
},
|
|
"items": {
|
|
"title": "Proforma details",
|
|
"description": ""
|
|
},
|
|
"basic_info": {
|
|
"title": "Proforma information",
|
|
"description": "Basic proforma information"
|
|
},
|
|
"totals": {
|
|
"title": "Proforma totals",
|
|
"description": "Breakdown of proforma amounts with discounts and taxes."
|
|
},
|
|
"tax_resume": {
|
|
"title": "Resumen de impuestos",
|
|
"description": ""
|
|
},
|
|
"preferences": {
|
|
"title": "Preferences",
|
|
"description": "Additional proforma settings"
|
|
}
|
|
}
|
|
},
|
|
"form_fields": {
|
|
"proformas": {
|
|
"status": {
|
|
"label": "Estado",
|
|
"placeholder": "",
|
|
"description": ""
|
|
},
|
|
"invoice_number": {
|
|
"label": "Proforma number",
|
|
"placeholder": "",
|
|
"description": ""
|
|
},
|
|
"proforma_date": {
|
|
"label": "Proforma date",
|
|
"placeholder": "Select a date",
|
|
"description": "Proforma date"
|
|
},
|
|
"series": {
|
|
"label": "Serie",
|
|
"placeholder": "",
|
|
"description": "Proforma serie"
|
|
},
|
|
"operation_date": {
|
|
"label": "Operation date",
|
|
"placeholder": "Select a date",
|
|
"description": "Proforma operation date"
|
|
},
|
|
"reference": {
|
|
"label": "Reference",
|
|
"placeholder": "Reference of the proforma",
|
|
"description": "Reference of the proforma"
|
|
},
|
|
"description": {
|
|
"label": "Description",
|
|
"placeholder": "Description of the proforma",
|
|
"description": "General description of the proforma"
|
|
},
|
|
"subtotal_amount": {
|
|
"label": "Subtotal",
|
|
"placeholder": "",
|
|
"desc": "Proforma subtotal"
|
|
},
|
|
"discount": {
|
|
"label": "Discount (%)",
|
|
"placeholder": "",
|
|
"desc": "Percentage discount"
|
|
},
|
|
"discount_amount": {
|
|
"label": "Discount price",
|
|
"placeholder": "",
|
|
"desc": "Percentage discount price"
|
|
},
|
|
"total_amount": {
|
|
"label": "Total price",
|
|
"placeholder": "",
|
|
"desc": "Proforma total price"
|
|
},
|
|
"notes": {
|
|
"label": "Notes",
|
|
"placeholder": "Additional notes about the proforma",
|
|
"description": "Additional notes that can be included in the proforma"
|
|
},
|
|
"item": {
|
|
"quantity": {
|
|
"label": "Quantity",
|
|
"placeholder": "",
|
|
"description": ""
|
|
},
|
|
"description": {
|
|
"label": "Description",
|
|
"placeholder": "",
|
|
"description": ""
|
|
},
|
|
"unit_amount": {
|
|
"label": "Unit price",
|
|
"placeholder": "",
|
|
"description": "Item unit price"
|
|
},
|
|
"discount_percentage": {
|
|
"label": "Dto (%)",
|
|
"placeholder": "",
|
|
"description": "Percentage discount"
|
|
},
|
|
"discount_amount": {
|
|
"label": "Discount amount",
|
|
"placeholder": "",
|
|
"description": "Percentage discount amount"
|
|
},
|
|
"taxable_amount": {
|
|
"label": "Taxable amount",
|
|
"placeholder": "",
|
|
"description": ""
|
|
},
|
|
"tax_codes": {
|
|
"label": "Taxes",
|
|
"placeholder": "",
|
|
"description": "Taxes"
|
|
},
|
|
"taxes_amount": {
|
|
"label": "Taxes amount",
|
|
"placeholder": "",
|
|
"description": "Percentage taxes amount"
|
|
},
|
|
"total_amount": {
|
|
"label": "Total amount",
|
|
"placeholder": "",
|
|
"description": "Proforma line total"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"datatable": {
|
|
"actions": "Actions"
|
|
},
|
|
"customer_invoice_taxes_multi_select": {
|
|
"label": "Taxes",
|
|
"placeholder": "Select taxes",
|
|
"description": "Select the taxes to apply to the proforma items",
|
|
"invalid_tax_selection": "Invalid tax selection. Please select a valid tax."
|
|
},
|
|
"hover_card_totals_summary": {
|
|
"label": "Breakdown of the amount",
|
|
"fields": {
|
|
"subtotal_amount": "Subtotal",
|
|
"discount_percentage": "Discount",
|
|
"taxable_amount": "Taxable base",
|
|
"total_amount": "Total"
|
|
}
|
|
}
|
|
}
|
|
} |