FactuGES_ERP/modules/customer-invoices/src/common/locales/en.json
David bf1dd43c78 feat(onboarding): implement initial onboarding use cases and controllers
- Add GetInitialOnboardingStatusUseCase to retrieve onboarding status.
- Implement CompleteInitialOnboardingUseCase for completing onboarding.
- Create controllers for handling onboarding requests in Express.
- Introduce new repository methods for managing onboarding data.
- Set up dependency injection for onboarding services and use cases.
- Add tests for onboarding use cases and repository methods.
- Define request DTOs for onboarding operations with validation.
- Update module composition to include onboarding functionalities.
2026-09-08 23:41:23 +02:00

1413 lines
53 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"
},
"recurring_proformas": {
"list": {
"title": "Recurring proformas",
"description": "Manage your recurring proformas",
"create": "New recurring proforma",
"search_placeholder": "Search...",
"status_filter": "Filter by status",
"empty": "There are no recurring proformas.",
"columns": {
"name": "Name",
"customer": "Customer",
"status": "Status",
"schedule": "Recurrence",
"frequency": "Frequency",
"next_occurrence": "Next generation",
"issues": "Issues",
"updated_at": "Last updated",
"actions": "Actions"
},
"issues": {
"none": "No issues",
"issue": "Issue"
},
"schedule": {
"none": "No recurrence",
"week_one": "Every week",
"week_other": "Every {{count}} weeks",
"month_one": "Every month",
"month_other": "Every {{count}} months",
"year_one": "Every year",
"year_other": "Every {{count}} years",
"same_day": "Same day",
"last_day_of_month": "Last day of the month"
},
"error": {
"title": "The list could not be loaded",
"description": "An error occurred while loading recurring proformas.",
"retry": "Retry"
}
},
"actions": {
"activate": "Activate",
"pause": "Pause",
"resume": "Resume",
"complete": "Complete",
"archive": "Archive",
"duplicate": "Duplicate",
"delete": "Delete",
"operation_in_progress": "Operation in progress"
},
"status": {
"all": "All",
"draft": "Draft",
"active": "Active",
"paused": "Paused",
"completed": "Completed",
"archived": "Archived"
},
"schedule_summary": {
"sentence": "The proforma will be generated {{cadence}}{{monthlyRule}}, {{period}}.",
"cadence": {
"week_one": "every week",
"week_other": "every {{count}} weeks",
"month_one": "every month",
"month_other": "every {{count}} months",
"year_one": "every year",
"year_other": "every {{count}} years"
},
"monthly_rule": {
"same_day": "on the same day of each month",
"last_day_of_month": "on the last day of each month"
},
"period": {
"indefinite": "starting on {{startDate}} with no end date",
"until": "starting on {{startDate}} until {{endDate}}"
}
},
"detail": {
"context": "Recurring proforma",
"back": "Back to list",
"loading": "Loading recurring proforma",
"customer": "Customer",
"no_customer": "No customer",
"created_at": "Created",
"updated_at": "Updated",
"metadata": "Created on {{createdAt}} · Last updated {{updatedAt}}",
"operational_summary": {
"customer": "Customer",
"status": "Status",
"frequency": "Frequency",
"issues": "Issues",
"next_generation": {
"label": "Next generation",
"today": "Today",
"in_days_one": "In {{count}} day",
"in_days_other": "In {{count}} days"
}
},
"inherited": "Inherited",
"general": {
"title": "General information"
},
"schedule": {
"title": "Schedule",
"interval": "Recurrence",
"start_date": "Start date",
"end_date": "End date",
"no_end_date": "No end date",
"monthly_rule": "Monthly rule",
"not_applicable": "Not applicable"
},
"commercial": {
"title": "Commercial conditions",
"payment_term": "Payment term",
"payment_method": "Payment method",
"language": "Language",
"currency": "Currency",
"proforma_series": "Proforma series",
"issued_invoice_series": "Issued invoice series",
"global_discount": "Global discount"
},
"items": {
"title": "Items",
"empty": "There are no configured items.",
"no_description": "No description"
},
"error": {
"title": "The recurring proforma could not be loaded",
"description": "An error occurred while loading the detail.",
"retry": "Retry"
}
},
"occurrences": {
"title": "Generations",
"empty": "There are no generations for this recurrence yet.",
"error": "The generations could not be loaded.",
"retry": "Retry loading",
"open_proforma": "View proforma",
"columns": {
"scheduled_date": "Scheduled date",
"status": "Status",
"attempt_count": "Attempts",
"proforma": "Proforma",
"generated_at": "Generated at",
"last_error": "Last error"
},
"status": {
"pending": "Pending",
"processing": "Processing",
"failed": "Failed",
"generated": "Generated"
}
},
"create": {
"title": "New recurring proforma",
"description": "Create a minimal draft to complete its configuration later.",
"form_title": "Initial details",
"name": "Name",
"name_required": "Name is required.",
"description_label": "Description",
"submit": "Create",
"creating": "Creating...",
"cancel": "Cancel",
"error": "The recurring proforma could not be created."
}
},
"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": {
"document_status": {
"issued": {
"label": "Issued",
"description": "Invoice issued and closed"
}
},
"status": {
"all": {
"label": "All",
"description": "Proforma in preparation"
},
"issued": {
"label": "Issued",
"description": "Invoice issued and closed"
},
"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": {
"create_from_proforma": {
"title": "Create recurring proforma",
"description": "Configure the initial recurrence using this proforma as the source.",
"period_title": "Validity period",
"recurrence_title": "Recurrence settings",
"name": "Name",
"name_required": "Name is required.",
"start_date": "Start date",
"start_date_invalid": "Start date is required.",
"end_date": "End date",
"end_date_invalid": "End date is invalid.",
"no_end_date": "No end date",
"frequency": "Frequency",
"interval": "Interval",
"interval_invalid": "The interval must be an integer greater than 0.",
"monthly_rule": "Monthly rule",
"monthly_rules": {
"same_day": "Same day of the month",
"last_day_of_month": "Last day of the month"
},
"preview": {
"title": "Recurrence preview"
},
"units": {
"week": "Week",
"month": "Month",
"year": "Year"
},
"submit": "Create recurrence",
"creating": "Creating...",
"cancel": "Cancel",
"success_title": "Recurring proforma created",
"success_description": "The recurrence has been created as a draft.",
"error_title": "The recurrence could not be created",
"error_description": "Review the data and try again."
},
"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",
"cancel": "Cancel"
},
"issuance_readiness": {
"blocked_title": "Cannot be issued yet",
"detail_description": "Complete the pending data before issuing this proforma.",
"update_description": "This check reflects the currently saved state. Save your changes to refresh it.",
"load_error_title": "Could not verify issuance readiness",
"load_error_description": "Please try again in a moment.",
"retry": "Retry",
"edit_action": "Edit proforma",
"dialog": {
"loading": "Checking whether the proforma is ready to be issued...",
"blocked_title": "Cannot be issued yet",
"blocked_alert_title": "Complete the following before issuing",
"blocked_description": "Proforma {{reference}} does not yet meet the requirements to issue the invoice."
},
"update": {
"summary_one": "{{count}} requirement is still missing before this proforma can be issued",
"summary_other": "{{count}} requirements are still missing before this proforma can be issued",
"saved_state_hint": "Based on the latest saved changes.",
"dirty_state_hint": "This check reflects the latest saved state. Save your changes to refresh it.",
"ready_title": "Ready to issue",
"ready_description": "The proforma currently meets the requirements needed to be turned into an invoice.",
"loading": "Checking issuance requirements…",
"unavailable_title": "The issuance status could not be checked.",
"unavailable_description": "Try again to review the pending requirements."
},
"blockers": {
"already_issued": "This proforma has already been issued and cannot be issued again.",
"invalid_status": "The proforma must be approved before it can be issued.",
"missing_description": "Add a description to the proforma.",
"missing_operation_date": "Fill in the operation date.",
"incomplete_recipient": "Complete the customer's fiscal details.",
"missing_items": "Add at least one line to the proforma.",
"missing_payment_method": "Select a payment method.",
"missing_tax_regime": "Select a tax regime.",
"payment_method_unavailable": "The selected payment method is no longer available.",
"payment_method_inactive": "The selected payment method is inactive. Choose an active payment method."
},
"blocker_details": {
"already_issued": {
"title": "Already issued",
"description": "This proforma has already been turned into an invoice."
},
"invalid_status": {
"title": "Document status",
"description": "It must be approved before it can be issued."
},
"missing_description": {
"title": "Description",
"description": "Add a description to the proforma."
},
"missing_operation_date": {
"title": "Operation date",
"description": "The operation date must be provided."
},
"incomplete_recipient": {
"title": "Customer fiscal details",
"description": "Complete the customer's fiscal details."
},
"missing_items": {
"title": "Line items",
"description": "Add at least one line to the proforma."
},
"missing_payment_method": {
"title": "Payment method",
"description": "Select a payment method."
},
"missing_tax_regime": {
"title": "Tax regime",
"description": "Select a tax regime."
},
"payment_method_unavailable": {
"title": "Payment method unavailable",
"description": "The selected payment method is no longer available."
},
"payment_method_inactive": {
"title": "Inactive payment method",
"description": "Select an active payment method."
}
}
},
"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.",
"status_explanations": {
"draft": "An unfinished proforma that is still pending changes.",
"sent": "The proforma has been sent to the customer for approval.",
"approved": "The proforma has been approved by the customer and can be turned into an invoice.",
"rejected": "The proforma has been rejected by the customer. It can stay like this or return to \"draft\".",
"issued": "The proforma has already been turned into an invoice."
},
"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}}.",
"payment_term_replaced_with_term": "The proforma was duplicated. The original payment term was inactive and has been replaced with \"{{name}}\".",
"payment_term_replaced_without_term": "The proforma was duplicated. The original payment term was inactive and the new proforma was created without a payment term.",
"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"
}
},
"page_error": {
"actions": {
"retry": "Retry",
"back_to_list": "Back to list",
"go_back": "Go back"
},
"notFound": {
"title": "Proforma not found",
"description": "The proforma no longer exists or is not available."
},
"forbidden": {
"title": "You do not have access to this proforma",
"description": "You do not have permission to view this document."
},
"network": {
"title": "Could not connect to the server",
"description": "Check your connection and try again."
},
"timeout": {
"title": "The load is taking too long",
"description": "The server did not respond within the expected time."
},
"server": {
"title": "Unable to load the proforma",
"description": "An internal error occurred while retrieving the proforma."
},
"unavailable": {
"title": "Service temporarily unavailable",
"description": "The proforma service is not available right now."
},
"unknown": {
"title": "Unable to load the proforma",
"description": "An unexpected error occurred while loading the proforma."
}
},
"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",
"create_recurring": "Create recurrence from this proforma",
"archive": "Archive",
"unarchive": "Unarchive",
"download_pdf": "Download PDF",
"delete": "Delete",
"retry": "Retry",
"retrying": "Retrying…",
"go_home": "Back to home",
"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."
},
"errors": {
"refresh": {
"title": "The list could not be refreshed",
"message": "The latest available data is shown while you try again."
},
"page": {
"forbidden": {
"title": "You do not have access to the proformas list",
"description": "You do not have permission to view this list."
},
"network": {
"title": "Could not connect to the server",
"description": "Check your connection and try again."
},
"timeout": {
"title": "The load is taking too long",
"description": "The server did not respond within the expected time."
},
"server": {
"title": "Unable to load the proformas list",
"description": "An internal error occurred while retrieving the proformas."
},
"unavailable": {
"title": "Service temporarily unavailable",
"description": "The proformas service is not available right now."
},
"unknown": {
"title": "Unable to load the proformas list",
"description": "An unexpected error occurred while loading the list."
}
}
},
"filters": {
"date": {
"label": "Filter by proforma date",
"options": {
"last7Days": "Last 7 days",
"currentMonth": "Current month",
"last3Months": "Last 3 months",
"currentYear": "Current year",
"all": "All time"
}
},
"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",
"page_error": {
"actions": {
"retry": "Retry",
"retrying": "Retrying…",
"go_home": "Back to home",
"back_to_list": "Back to list"
},
"notFound": {
"title": "Proforma not found",
"description": "The proforma no longer exists or is not available."
},
"forbidden": {
"title": "You do not have access to this proforma",
"description": "You do not have permission to edit this document."
},
"network": {
"title": "Could not connect to the server",
"description": "Check your connection and try again."
},
"timeout": {
"title": "The load is taking too long",
"description": "The server did not respond within the expected time."
},
"server": {
"title": "Unable to load the proforma",
"description": "An internal error occurred while retrieving the proforma."
},
"unavailable": {
"title": "Service temporarily unavailable",
"description": "The proforma service is not available right now."
},
"unknown": {
"title": "Unable to load the proforma",
"description": "An unexpected error occurred while loading the proforma."
},
"missing_entity": {
"title": "Unable to load the proforma",
"description": "The response does not contain a valid proforma."
}
},
"customer_change": {
"dialog": {
"compatible_title": "Change customer",
"incompatible_title": "Customer cannot be changed",
"loading": "Checking customer compatibility...",
"error": "The selected customer information could not be loaded.",
"incompatible_description": "The selected customer is not compatible with this proforma.",
"changes_title": "The proforma will be updated with these changes:",
"fiscal_title": "The tax configuration will also be adapted and taxes and totals will be recalculated.",
"preserved_title": "These values will be preserved because they were changed manually:",
"cancel": "Cancel",
"applying": "Applying changes...",
"confirm": "Confirm change"
},
"blockers": {
"currency": "Currency",
"language": "Language"
},
"fields": {
"recipient": "Recipient",
"paymentTermId": "Payment term",
"paymentMethodId": "Payment method",
"taxRegimeCode": "Tax regime",
"usesEquivalenceSurcharge": "Equivalence surcharge",
"usesRetention": "Withholding"
},
"values": {
"empty": "No value",
"enabled": "Yes",
"disabled": "No"
},
"feedback": {
"error_title": "Customer could not be changed",
"apply_error": "The proforma could not be adapted to the new customer."
}
},
"header": {
"help": {
"aria_label": "Information and issuance status of the proforma",
"aria_label_with_blockers_one": "Proforma information. {{count}} issuance requirement pending.",
"aria_label_with_blockers_other": "Proforma information. {{count}} issuance requirements pending.",
"title": "Proforma information",
"issuance_section_title": "Issuance status",
"fiscal_section_title": "About proformas",
"description": "This proforma has no fiscal validity. You can turn it into an invoice once it has been accepted by the customer."
}
},
"items": {
"title": "Proforma details",
"description": "Manage the product or service lines included in this proforma."
}
},
"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",
"search_placeholder": "Search by number, customer or TIN...",
"actions": {
"view": "View",
"retry": "Retry",
"retrying": "Retrying…",
"go_home": "Back to home"
},
"errors": {
"refresh": {
"title": "The list could not be refreshed",
"message": "The latest available data is shown while you try again."
},
"page": {
"forbidden": {
"title": "You do not have access to the invoices list",
"description": "You do not have permission to view this list."
},
"network": {
"title": "Could not connect to the server",
"description": "Check your connection and try again."
},
"timeout": {
"title": "The load is taking too long",
"description": "The server did not respond within the expected time."
},
"server": {
"title": "Unable to load the invoices list",
"description": "An internal error occurred while retrieving the invoices."
},
"unavailable": {
"title": "Service temporarily unavailable",
"description": "The invoicing service is not available right now."
},
"unknown": {
"title": "Unable to load the invoices list",
"description": "An unexpected error occurred while loading the list."
}
}
},
"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"
}
},
"detail": {
"title": "Customer invoice",
"description": "Review the issued invoice details",
"header": {
"title": "Invoice {{reference}}"
},
"regions": {
"details": "Details"
},
"document": {
"title": "Document",
"description": "Preview of the generated PDF for this invoice.",
"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 invoice 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"
}
},
"page_error": {
"actions": {
"retry": "Retry",
"back_to_list": "Back to list"
},
"notFound": {
"title": "Invoice not found",
"description": "The invoice no longer exists or is not available."
},
"forbidden": {
"title": "You do not have access to this invoice",
"description": "You do not have permission to view this document."
},
"network": {
"title": "Could not connect to the server",
"description": "Check your connection and try again."
},
"timeout": {
"title": "The load is taking too long",
"description": "The server did not respond within the expected time."
},
"server": {
"title": "Unable to load the invoice",
"description": "An internal error occurred while retrieving the invoice."
},
"unavailable": {
"title": "Service temporarily unavailable",
"description": "The invoicing service is not available right now."
},
"unknown": {
"title": "Unable to load the invoice",
"description": "An unexpected error occurred while loading the invoice."
},
"inconsistent": {
"description": "The response does not contain a valid invoice."
}
},
"sections": {
"summary": "Summary",
"customer": "Customer",
"document": "Document details",
"commercial": "Commercial terms",
"fiscal": "Tax",
"items": "Line items",
"taxes": "Taxes",
"totals": "Totals",
"verifactu": "VeriFactu",
"linked_proforma": "Linked proforma",
"content": "Content"
},
"section_descriptions": {
"summary": "Identity and primary data of the issued document.",
"customer": "Historical recipient snapshot materialized in the invoice.",
"document": "Document metadata and navigation to the source proforma when available.",
"commercial": "Payment method, payment term and due rules preserved in the snapshot.",
"fiscal": "Historical tax data available in the issued invoice.",
"items": "Materialized line items from the document, without frontend recalculation.",
"taxes": "Materialized tax breakdown returned by the API.",
"totals": "Historical totals of the issued invoice.",
"verifactu": "Current VeriFactu state from the singular block available today."
},
"fields": {
"invoice_reference": "Invoice number",
"invoice_number": "Sequential number",
"series": "Series",
"status": "Status",
"invoice_date": "Invoice date",
"operation_date": "Operation date",
"line_count": "Lines",
"total_units": "Units",
"currency": "Currency",
"total_amount": "Total amount",
"customer_name": "Customer",
"customer_tin": "TIN",
"address": "Address",
"payment_method": "Payment method",
"payment_method_description": "Payment method description",
"payment_term": "Payment term",
"payment_term_description": "Payment term description",
"payment_term_due_rules": "Due rules",
"language": "Language",
"internal_reference": "Internal reference",
"tax_regime": "Tax regime",
"fiscal_tax_regime": "Historical tax regime",
"operation_qualification": "Operation qualification",
"exemption_reason": "Exemption reason",
"subtotal_amount": "Subtotal",
"items_discount_amount": "Item discount",
"global_discount_amount": "Global discount",
"discount_amount": "Discount",
"taxable_amount": "Taxable amount",
"tax_amount": "Tax amount",
"taxes_amount": "Total taxes",
"rec_amount": "Equivalence surcharge",
"retention_amount": "Withholding",
"tax_breakdown": "Tax breakdown",
"verifactu_status": "VeriFactu status",
"verifactu_url": "VeriFactu URL",
"verifactu_qr": "VeriFactu QR",
"linked_proforma": "Linked proforma",
"description": "Description",
"notes": "Notes",
"quantity": "Quantity",
"unit_amount": "Unit price",
"item_discount": "Line discount",
"item_taxes": "Line taxes"
},
"empty": {
"not_available": "—",
"no_address": "No address recorded.",
"no_description": "No description.",
"no_taxes": "No taxes reported."
},
"actions": {
"back": "Back",
"open_linked_proforma": "Open linked proforma",
"operation_in_progress": "The operation is in progress."
},
"payment_term": {
"due_days": "{{days}} days"
},
"items": {
"position": "Line {{position}}"
},
"verifactu": {
"empty": "This invoice has no VeriFactu block available in the current detail view.",
"qr_alt": "VeriFactu QR code",
"available": "Available"
},
"fiscal": {
"unknown_tax_code": "Tax"
}
}
},
"create": {
"initial_info": {
"title": "Initial information",
"proforma_date": {
"label": "Date",
"placeholder": "Select a date"
},
"proforma_series": {
"label": "This proforma series",
"loading": "Loading series...",
"placeholder": "Select a series",
"empty": "No series"
},
"invoice_series": {
"label": "Invoice series",
"loading": "Loading series...",
"placeholder": "Automatic"
}
}
}
},
"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": "Status",
"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"
},
"payment_term": {
"label": "Payment term",
"placeholder": "Select a payment term",
"loading": "Loading payment terms...",
"clear_label": "No payment term",
"inactive": "Inactive"
},
"retention_percentage": {
"label": "Retention",
"placeholder": "Select a percentage",
"description": "Retention percentage"
},
"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"
}
}
},
"settings": {
"verifactu": {
"title": "VeriFactu",
"description": "Configure how VeriFactu applies to the active company.",
"initial_mode_hint": "Choose the company situation to complete the initial configuration.",
"status": {
"title": "Situation",
"label": "Company situation",
"description": "Define whether the company is exempt, obligated without VeriFactu, or obligated with VeriFactu.",
"help": "This status describes the company policy for the VeriFactu system.",
"exempt": "Exempt or not applicable",
"obligated_without_verifactu": "Obligated without VeriFactu",
"obligated_with_verifactu": "Obligated with VeriFactu"
},
"configuration": {
"title": "VeriFactu configuration",
"description": "Only the fields that apply to the selected status are shown."
},
"exemption_reason": {
"unavailable": "The backend catalog for exemption reasons is not available in this version yet. You can save a free-text detail while leaving the code empty."
},
"exemption_detail": {
"label": "Exemption detail",
"description": "Free-text detail to document the exemption reason when it applies.",
"placeholder": "Describe the exemption reason"
},
"effective_at": {
"label": "Effective date",
"description": "Civil date from which the company operates with VeriFactu.",
"placeholder": "Select a date"
},
"auto_renew": {
"label": "Auto renewal",
"description": "Only applies when the company operates with VeriFactu.",
"placeholder": "Select a mode",
"enabled": "Enabled",
"disabled": "Disabled"
},
"defaults": {
"title": "Default values",
"description": "Only fiscal defaults with consolidated backend support are shown in this V1.",
"pending_catalogs": "Operation qualification and exemption reason catalogs are not available in backend yet, so they are not rendered as editable controls in this V1.",
"tax_regime": {
"label": "Tax regime",
"description": "Fiscal classification default for new operations when no more specific value exists.",
"placeholder": "Select a tax regime"
}
},
"actions": {
"save": "Save",
"saving": "Saving...",
"reset": "Restore"
},
"feedback": {
"idle": "Form ready.",
"saving": "Saving VeriFactu configuration.",
"no_changes": {
"title": "No changes",
"message": "You have not made any changes."
},
"success": {
"title": "Configuration saved",
"message": "VeriFactu changes were saved successfully."
},
"validation": {
"title": "Review the fields",
"message": "There are validation errors in the form."
},
"error": {
"title": "The configuration could not be saved",
"message": "Review the data and try again."
}
},
"page_error": {
"actions": {
"retry": "Retry",
"retrying": "Retrying..."
},
"forbidden": {
"title": "You do not have access to this configuration",
"description": "You do not have permission to view the VeriFactu configuration for the active company."
},
"notFound": {
"title": "Configuration unavailable",
"description": "The requested configuration is not available."
},
"network": {
"title": "Could not connect to the server",
"description": "Check your connection and try again."
},
"timeout": {
"title": "Loading is taking too long",
"description": "The server did not respond within the expected time."
},
"server": {
"title": "The configuration could not be loaded",
"description": "An internal error occurred while retrieving the VeriFactu configuration."
},
"unavailable": {
"title": "Service temporarily unavailable",
"description": "The VeriFactu service is not available right now."
},
"unknown": {
"title": "The configuration could not be loaded",
"description": "An unexpected error occurred while loading the VeriFactu configuration."
},
"missing_entity": {
"title": "The configuration could not be loaded",
"description": "The response does not contain a valid VeriFactu profile."
}
}
}
}
}