'use strict'; window.cqLanguage = 'en'; window.cqTranslations = Object.assign({}, window.cqTranslations || {}, {"System Info": "System Info", "Installation-wide configuration overview for non-invoice modules and platform services.": "Installation-wide configuration overview for non-invoice modules and platform services.", "Apps": "Apps", "SSO": "SSO", "MFA": "MFA", "AI": "AI", "License": "License", "Status": "Status", "Customer": "Customer", "Expires": "Expires", "General": "General", "App Name": "App Name", "Environment": "Environment", "Server URL": "Server URL", "Server Name": "Server Name", "Servlet Path": "Servlet Path", "Reload Config": "Reload Config", "Cookie Name": "Cookie Name", "Apps & Modules": "Apps & Modules", "Admin Sections": "Admin Sections", "Search Profile": "Search Profile", "Default Profile": "Default Profile", "ERP": "ERP", "Systems": "Systems", "Security & Authentication": "Security & Authentication", "OIDC Issuer": "OIDC Issuer", "MFA Mode": "MFA Mode", "MFA Scope": "MFA Scope", "Default Domain": "Default Domain", "Server Login": "Server Login", "Search & OCR": "Search & OCR", "Fulltext OCR": "Fulltext OCR", "Trigram Index": "Trigram Index", "Quick Search Split": "Quick Search Split", "Quick Search Fields": "Quick Search Fields", "Web & UI": "Web & UI", "Web Port": "Web Port", "Background": "Background", "Messaging & Realtime": "Messaging & Realtime", "MQTT Host": "MQTT Host", "JSON PubSub": "JSON PubSub", "Mail & Automation": "Mail & Automation", "SMTP": "SMTP", "SMTP Sender": "SMTP Sender", "Jobs": "Jobs", "Automation": "Automation", "Models": "Models", "Providers": "Providers", "Default Model": "Default Model", "Vision Model": "Vision Model", "AI Chat": "AI Chat", "Generic Profile Tables": "Generic Profile Tables", "Profile-driven table entry points using the generic table and detail dialog.": "Profile-driven table entry points using the generic table and detail dialog.", "Filter profile tables": "Filter profile tables", "No generic profile tables are configured yet.": "No generic profile tables are configured yet.", "Server-side": "Server-side", "Modal": "Modal", "Invoice": "Invoice", "Email": "Email", "Users": "Users", "User Management": "User Management", "Address Management": "Address Management", "E-Mail Import History": "E-Mail Import History", "Filter menus": "Filter menus", "System & Access": "System & Access", "Master Data & Tables": "Master Data & Tables", "Operations & Tools": "Operations & Tools", "Applications": "Applications", "Back": "Back", "Opens user administration for roles and account settings.": "Opens user administration for roles and account settings.", "Opens group administration for permissions and memberships.": "Opens group administration for permissions and memberships.", "Shows profile-driven table entry points.": "Shows profile-driven table entry points.", "Shows active user sessions and session details.": "Shows active user sessions and session details.", "Opens the DQL query tool for administrators.": "Opens the DQL query tool for administrators.", "Opens the administrative command console.": "Opens the administrative command console.", "Shows configured automation jobs and processes.": "Shows configured automation jobs and processes.", "Opens installation configuration values.": "Opens installation configuration values.", "Opens integration configuration values.": "Opens integration configuration values.", "Shows folders without active documents.": "Shows folders without active documents.", "Shows locked documents for administrative review.": "Shows locked documents for administrative review.", "Shows object creator and modifier information.": "Shows object creator and modifier information.", "Maintains available document type master data.": "Maintains available document type master data.", "Maintains keyword lists used by forms and value assistance.": "Maintains keyword lists used by forms and value assistance.", "Maintains project master data.": "Maintains project master data.", "Maintains tags used for document classification.": "Maintains tags used for document classification.", "Maintains shared and personal favorites.": "Maintains shared and personal favorites.", "Maintains address master data.": "Maintains address master data.", "Opens the news administration dashboard.": "Opens the news administration dashboard.", "Opens invoice administration.": "Opens invoice administration.", "Shows documents marked as deleted.": "Shows documents marked as deleted.", "Opens contract administration.": "Opens contract administration.", "Opens onboarding configuration and setup tasks.": "Opens onboarding configuration and setup tasks.", "Shows technical system information and runtime status.": "Shows technical system information and runtime status.", "_checkbox": "", "documents found.": "documents found.", "Notifications": "Notifications", "Tasks": "Tasks", "My": "My", "Team": "Team", "Assigned": "Assigned", "Created": "Created", "Due": "Due", "Overdue": "Overdue", "open": "open", "claimed": "claimed", "No entries": "No entries", "Everything is up to date": "Everything is up to date", "Rows per page": "Rows per page", "Show all": "Show all", "Hover preview": "Hover preview", "Open external": "Open external", "Documentation": "Documentation", "Version, environment and license at a glance.": "Version, environment and license at a glance.", "Application": "Application", "Server": "Server", "Licensed Apps": "Licensed Apps", "Version": "Version", "Create share link": "Create share link", "Active": "Active", "Disabled": "Disabled", "Do you really want to remove this reference?": "Do you really want to remove this reference?", "Download": "Download", "Download allowed": "Download allowed", "Open in Office": "Open in Office", "Open/edit in Office": "Open/edit in Office", "New from Word template": "New from Word template", "Create and open in Office": "Create and open in Office", "Edit": "Edit", "Enabled": "Enabled", "Expired": "Expired", "Change password": "Change password", "false": false, "No password": "No password", "No share links yet": "No share links yet", "Password": "Password", "Password is set": "Password is set", "Protected": "Protected", "Set password": "Set password", "true": true, "Manage external document access": "Manage external document access", "For full details use": "For full details use", "Admin / System Info": "Admin / System Info", "Fulltext": "Fulltext", "Show Fulltext": "Show Fulltext", "Loading fulltext...": "Loading fulltext...", "No fulltext available.": "No fulltext available.", "Could not load fulltext.": "Could not load fulltext.", "Copy object": "Copy object", "Copy failed": "Copy failed", "Copy link": "Copy link", "Link copied": "Link copied", "Cut": "Cut", "Working copy": "Working copy", "Remove from Favorites": "Remove from Favorites", "Check in": "Check in", "Checkouts": "Checkouts", "My checked out documents": "My checked out documents", "Do you really want to check in?": "Do you really want to check in?", "Complete check-in": "Complete check-in", "Version comment": "Version comment", "Document date": "Document date", "The edited Office document has already been saved as a new version.": "The edited Office document has already been saved as a new version.", "Resubmit to AI": "Resubmit to AI", "Send link by Email": "Send link by Email", "Document link": "Document link", "Ordering": "Ordering", "Warning": "Warning", "Warnings": "Warnings", "Row": "Row", "Added": "Added", "Removed": "Removed", "Account name": "Account name", "Plant no.": "Plant no.", "Calculated from accounting assignment": "Calculated from accounting assignment", "Supervisor of Visum 2": "Supervisor of Visum 2", "AI Rule Generation Report": "AI Rule Generation Report", "Toggle Summary": "Toggle Summary", "Generated Rules": "Generated Rules", "Source Invoices": "Source Invoices", "Supplier Invoices": "Supplier Invoices", "AI Sources": "AI Sources", "Unknown Sources": "Unknown Sources", "Generated At": "Generated At", "Accounting Source Distribution": "Accounting Source Distribution", "Top Suppliers": "Top Suppliers", "AI Rules": "AI Rules", "Similar Invoices": "Similar Invoices", "KT References": "KT References", "Order References": "Order References", "Existing Assignments": "Existing Assignments", "Address Bank": "Address Bank", "Row Templates": "Row Templates", "Invoice Automation": "Invoice Automation", "Manual": "Manual", "Unknown": "Unknown", "Client Accounting": "Client Accounting", "Supplier": "Supplier", "Reference": "Reference", "Invoices": "Invoices", "Open Invoice": "Open Invoice", "Source Category": "Source Category", "Year": "Year", "All Years": "All Years", "Document No.": "Document No.", "Internal Ref.": "Internal Ref.", "Gross Amount": "Gross Amount", "Suche in Trefferliste": "Search in result list", "In Trefferliste suchen": "Search in result list", "Geändert durch": "Changed by", "Please select": "Please select", "Please wait....": "Please wait...", "This invoice has already been exported. Do you want to export it again anyway?": "This invoice has already been exported. Do you want to export it again anyway?", "At least one selected document has already been exported. Do you want to export the documents again anyway?": "At least one selected document has already been exported. Do you want to export the documents again anyway?", "Accounting assignment created from <%booking_source_label%> <%booking_source_reference%> at <%booking_source_url%>; rows: <%booking_source_rows%>. Please check.": "Accounting assignment created from <%booking_source_label%> <%booking_source_reference%>; rows: <%booking_source_rows%>. Please check.", "Accounting assignment created from <%booking_source_label%> <%booking_source_reference%> at <%booking_source_url%>. Please check.": "Accounting assignment created from <%booking_source_label%> <%booking_source_reference%>. Please check.", "Accounting assignment created from <%booking_source_label%> at <%booking_source_url%>; rows: <%booking_source_rows%>. Please check.": "Accounting assignment created from <%booking_source_label%>; rows: <%booking_source_rows%>. Please check.", "Accounting open": "Accounting open", "Accounting assignment created from <%booking_source_label%> <%booking_source_reference%>; rows: <%booking_source_rows%>. Please check.": "Accounting assignment created from <%booking_source_label%> <%booking_source_reference%>; rows: <%booking_source_rows%>. Please check.", "Accounting assignment created from <%booking_source_label%> <%booking_source_reference%>. Please check.": "Accounting assignment created from <%booking_source_label%> <%booking_source_reference%>. Please check.", "Accounting assignment created from <%booking_source_label%>; rows: <%booking_source_rows%>. Please check.": "Accounting assignment created from <%booking_source_label%>; rows: <%booking_source_rows%>. Please check.", "Accounting assignment created from person account template; rows: <%rows%>. Please check.": "Accounting assignment created from person account template; rows: <%rows%>. Please check.", "Accounting assignment created from creditor bank account. Please check.": "Accounting assignment created from creditor bank account. Please check.", "Accounting assignment extracted from invoice form.": "Accounting assignment extracted from invoice form.", "Accounting assignment was changed by <%user%>. Please check.": "Accounting assignment was changed by <%user%>. Please check.", "Accounting assignment row was changed by <%user%>. Please check.": "Accounting assignment row was changed by <%user%>. Please check.", "Workflow recalculated from accounting assignment for KST2 <%cq_kst2%>.": "Workflow recalculated from accounting assignment for KST2 <%cq_kst2%>.", "Workflow recalculation from accounting assignment needs attention: <%warning%>": "Workflow recalculation from accounting assignment needs attention: <%warning%>", "Workflow was recalculated from accounting assignment.": "Workflow was recalculated from accounting assignment.", "No KST2 found for workflow mapping.": "No KST2 found for workflow mapping.", "No user mapping found for KST2 <%kst2%>.": "No user mapping found for KST2 <%kst2%>.", "Mapped user <%user%> for KST2 <%kst2%> is not active.": "Mapped user <%user%> for KST2 <%kst2%> is not active.", "Mapped user <%user%> has no line manager; using BUHA.": "Mapped user <%user%> has no line manager; using BUHA.", "Next line manager <%user%> is not active; using BUHA.": "Next line manager <%user%> is not active; using BUHA.", "Line manager <%user%> is not active; using BUHA.": "Line manager <%user%> is not active; using BUHA.", "Line manager <%line_manager%> for assignee <%assignee%> is not active.": "Line manager <%line_manager%> for assignee <%assignee%> is not active.", "Amount exceeds approval limit for assignee <%assignee%> and no line manager exists.": "Amount exceeds approval limit for assignee <%assignee%> and no line manager exists.", "Amount exceeds line manager limit and no next line manager exists; using BUHA.": "Amount exceeds line manager limit and no next line manager exists; using BUHA.", "No first workflow assignee found; KST workflow was not recalculated.": "No first workflow assignee found; KST workflow was not recalculated.", "Workflow field <%field%> was not changed because the approval step already has a date.": "Workflow field <%field%> was not changed because the approval step already has a date.", "Workflow <%field%> changed from <%old_assignee%> to <%new_assignee%> by <%user%>.": "Workflow <%field%> changed: <%old_assignee%> → <%new_assignee%>.", "Workflow reviewer changed from <%old_assignee%> to <%new_assignee%> by <%user%>.": "Workflow reviewer changed: <%old_assignee%> → <%new_assignee%>.", "Workflow approver changed from <%old_assignee%> to <%new_assignee%> by <%user%>.": "Workflow approver changed: <%old_assignee%> → <%new_assignee%>.", "Workflow controller changed from <%old_assignee%> to <%new_assignee%> by <%user%>.": "Workflow controller changed: <%old_assignee%> → <%new_assignee%>.", "Workflow exporter changed from <%old_assignee%> to <%new_assignee%> by <%user%>.": "Workflow exporter changed: <%old_assignee%> → <%new_assignee%>.", "reviewer": "reviewer", "approver": "approver", "controller": "controller", "exporter": "exporter", "Controller": "Controller", "Accounting assignment source detected from <%booking_source_label%> <%booking_source_reference%>; existing accounting rows were kept and not recreated. Please check.": "Accounting assignment source detected from <%booking_source_label%> <%booking_source_reference%>; existing accounting rows were kept and not recreated. Please check.", "Existing accounting rows were kept, but the original accounting assignment source could not be determined during reprocessing. Please check.": "Existing accounting rows were kept, but the original accounting assignment source could not be determined during reprocessing. Please check.", "Accounting assignment source detected from order <%order_no%>. Please check.": "Accounting assignment source detected from order <%order_no%>. Please check.", "Accounting assignment source detected from purchase order <%po_no%>. Please check.": "Accounting assignment source detected from purchase order <%po_no%>. Please check.", "Accounting assignment source detected from <%source_label%>: <%reference%>": "Accounting assignment source detected from <%source_label%>: <%reference%>", "Accounting assignment source detected from person account template. Please check.": "Accounting assignment source detected from person account template. Please check.", "Accounting assignment source detected from comparable invoice <%reference_obj_id%>. Please check.": "Accounting assignment source detected from comparable invoice \" href=\"/invoice/creditor/details?id=<%reference_obj_id%>\"> Source. Please check.", "AI rule": "AI rule", "purchase order field": "purchase order field", "invoice text purchase order reference": "invoice text purchase order reference", "comparable invoice": "comparable invoice", "KT accounting reference on invoice": "KT accounting reference on invoice", "KT accounting reference in document metadata": "KT accounting reference in file name", "KT accounting reference in e-mail": "KT accounting reference in e-mail", "incomplete KT accounting reference": "incomplete KT accounting reference", "existing accounting assignment on invoice": "existing accounting assignment on invoice", "Incomplete accounting reference <%reference%> was detected; no accounting row was created.": "Incomplete accounting reference <%reference%> was detected; no accounting row was created.", "Inbox / New": "Inbox / New", "First reviewer was copied from incomplete accounting reference <%reference%>; no accounting row was created.": "First reviewer was copied from incomplete accounting reference <%reference%>; no accounting row was created.", "No accounting assignment found for AI rule reference <%ai_rule_reference%>": "No accounting assignment found for AI rule reference <%ai_rule_reference%>", "No accounting assignment was found on the invoice.": "No accounting assignment was found on the invoice.", "No accounting assignment exists. Please enter one.": "No accounting assignment exists. Please enter one.", "Invalid accounting period: <%reason%>": "Invalid accounting period: <%reason%>", "Processing error": "Processing error", "Processing error. Please open the invoice details.": "Processing error. Please open the invoice details.", "Detected due date <%ai_due_date%> differs from payment terms <%expected_source%>: <%calculated_due_date%>.": "Detected due date <%ai_due_date%> differs from payment terms <%expected_source%>: <%calculated_due_date%>.", "Detected due date <%ai_due_date%> differs from payment terms <%expected_source%>: <%calculated_due_date%>. Detected terms: <%detected_terms%>.": "Detected due date <%ai_due_date%> differs from payment terms <%expected_source%>: <%calculated_due_date%>. Detected terms: <%detected_terms%>.", "Invoice already exists.
Please check: <%ids%>": "Invoice already exists.
Please check: <%ids%>", "Invoice processed": "Invoice processed", "Invoice was split into <%split_count%> document(s); original was marked as deleted. New invoices: <%split_references%>": "Invoice was split into <%split_count%> document(s); original was marked as deleted. New invoices: <%split_references%>", "No invoices with comparable accounting assignments were found.": "No invoices with comparable accounting assignments were found.", "Order number <%order_no%> was detected but no matching order was found.": "Order number <%order_no%> was detected but no matching order was found.", "Purchase order was found but the relation could not be created: <%po_no%>": "Purchase order was found but the relation could not be created: <%po_no%>", "Purchase order <%po_no%> belongs to another client and was not linked.": "Purchase order <%po_no%> belongs to another client and was not linked.", "Purchase order number <%po_no%> was detected but no matching purchase order was found.": "Purchase order number <%po_no%> was detected but no matching purchase order was found.", "This invoice was classified as socially relevant by the system.": "This invoice was classified as socially relevant by the system.", "Related tasks were closed because the invoice was deleted.": "Related tasks were closed because the invoice was deleted.", "<%pk_type%> workflow action by <%user%>": "<%pk_type%> workflow action by <%user%>", "<%pk_type%> claimed by <%user%>": "<%pk_type%> claimed by <%user%>", "ADDRESS NO.:": "ADDRESS NO.:", "address bank": "Address Bank", "Address No.": "Address No.", "Bank accounts": "Bank accounts", "Create bank account": "Create bank account", "No bank accounts found for this address.": "No bank accounts found for this address.", "Open bank account": "Open bank account", "Save the address first to view bank accounts.": "Save the address first to view bank accounts.", "Generic Invoice Tables": "Generic Invoice Tables", "Profile-driven invoice table entry points using the generic table and detail dialog.": "Profile-driven invoice table entry points using the generic table and detail dialog.", "Filter invoice tables": "Filter invoice tables", "Filter entries": "Filter entries", "No generic invoice tables are configured yet.": "No generic invoice tables are configured yet.", "No invoice administration entries are configured yet.": "No invoice administration entries are configured yet.", "Master data": "Master data", "Master Data": "Master Data", "Accounting": "Accounting", "Tax & Payment": "Tax & Payment", "Banking": "Banking", "Quick actions": "Quick actions", "Addresses & Bank": "Addresses & Bank", "Workflow & AI": "Workflow & AI", "Social": "Social", "Global": "Global", "Admin": "Admin", "Invoice import": "Invoice import", "Invoice export": "Invoice export", "Jobs & Processes": "Jobs & Processes", "Imports": "Imports", "Alerts & Reports": "Alerts & Reports", "Bank Export": "Bank Export", "Interfaces": "Interfaces", "ERP Interfaces": "ERP Interfaces", "System & Settings": "System & Settings", "Maintains invoice account master data used for accounting assignments.": "Maintains invoice account master data used for accounting assignments.", "Maintains cost centers used in invoice account assignments.": "Maintains cost centers used in invoice account assignments.", "Maintains user and cost-center mapping rules for invoice workflows.": "Maintains user and cost-center mapping rules for invoice workflows.", "Maintains budget values for invoice controlling and reporting.": "Maintains budget values for invoice controlling and reporting.", "Maintains plant or business-unit master data for accounting rows.": "Maintains plant or business-unit master data for accounting rows.", "Maintains VAT codes and tax rates used during invoice booking.": "Maintains VAT codes and tax rates used during invoice booking.", "Maintains payment terms and due-date rules for invoices.": "Maintains payment terms and due-date rules for invoices.", "Maintains internal bank accounts used for payments and exports.": "Maintains internal bank accounts used for payments and exports.", "Maintains currencies available for invoice processing.": "Maintains currencies available for invoice processing.", "Maintains address master data used by creditors, debtors and receipts.": "Maintains address master data used by creditors, debtors and receipts.", "Shows creditor bank accounts assigned to address master data.": "Shows creditor bank accounts assigned to address master data.", "Shows debtor bank accounts assigned to address master data.": "Shows debtor bank accounts assigned to address master data.", "Shows receipt bank accounts assigned to address master data.": "Shows receipt bank accounts assigned to address master data.", "Shows credit card bank accounts assigned to address master data.": "Shows credit card bank accounts assigned to address master data.", "Maintains invoice clients and accounting defaults.": "Maintains invoice clients and accounting defaults.", "Maintains accounting periods used for invoice booking.": "Maintains accounting periods used for invoice booking.", "Shows exchange rates available for foreign currency invoices.": "Shows exchange rates available for foreign currency invoices.", "Maintains bank directory data used for IBAN and bank lookup.": "Maintains bank directory data used for IBAN and bank lookup.", "Shows deleted invoice records for review and traceability.": "Shows deleted invoice records for review and traceability.", "Shows generated payment files and their related invoices.": "Shows generated payment files and their related invoices.", "Opens invoice configuration parameters for this installation.": "Opens invoice configuration parameters for this installation.", "Shows incoming emails collected for invoice processing.": "Shows incoming emails collected for invoice processing.", "Shows the email import history and processing status.": "Shows the email import history and processing status.", "Maintains AI accounting rules used during invoice analysis.": "Maintains AI accounting rules used during invoice analysis.", "Opens the generic administration overview for invoice tables.": "Opens the generic administration overview for invoice tables.", "Shows technical invoice system information and runtime status.": "Shows technical invoice system information and runtime status.", "Fetches configured mailbox attachments and starts invoice processing.": "Fetches configured mailbox attachments and starts invoice processing.", "Updates bank master data from the SIX bank directory.": "Updates bank master data from the SIX bank directory.", "Imports current exchange rates for configured foreign currencies.": "Imports current exchange rates for configured foreign currencies.", "Sends the overdue invoice report to the configured recipients.": "Sends the overdue invoice report to the configured recipients.", "Sends invoice reminder notifications for due workflow tasks.": "Sends invoice reminder notifications for due workflow tasks.", "Sends the overdue purchase order report to the configured recipients.": "Sends the overdue purchase order report to the configured recipients.", "Sends purchase order reminder notifications for due workflow tasks.": "Sends purchase order reminder notifications for due workflow tasks.", "Supplier export": "Supplier export", "Creates or updates supplier master data in Abacus before document export.": "Creates or updates supplier master data in Abacus before document export.", "Full master data import": "Full master data import", "Imports all supported Abacus master data tables in one run.": "Imports all supported Abacus master data tables in one run.", "Address import": "Address import", "Imports creditor and debtor address master data from Abacus.": "Imports creditor and debtor address master data from Abacus.", "Bank account import": "Bank account import", "Imports external bank accounts assigned to Abacus addresses.": "Imports external bank accounts assigned to Abacus addresses.", "Account import": "Account import", "Imports the chart of accounts from Abacus.": "Imports the chart of accounts from Abacus.", "Cost center import": "Cost center import", "Imports cost centers and accounting dimensions from Abacus.": "Imports cost centers and accounting dimensions from Abacus.", "Plant import": "Plant import", "Imports plant or business-unit master data from Abacus.": "Imports plant or business-unit master data from Abacus.", "VAT code import": "VAT code import", "Imports VAT codes and tax rates from Abacus.": "Imports VAT codes and tax rates from Abacus.", "Paid invoice import": "Paid invoice import", "Updates exported invoices with payment status information from Abacus.": "Updates exported invoices with payment status information from Abacus.", "Imports all supported Revolver master data tables in one run.": "Imports all supported Revolver master data tables in one run.", "Imports creditor and debtor address master data from Revolver.": "Imports creditor and debtor address master data from Revolver.", "Imports address records through the generic Revolver import job.": "Imports address records through the generic Revolver import job.", "Imports bank account details assigned to Revolver addresses.": "Imports bank account details assigned to Revolver addresses.", "Imports bank account records through the Revolver bank import.": "Imports bank account records through the Revolver bank import.", "Imports the chart of accounts from Revolver.": "Imports the chart of accounts from Revolver.", "Imports cost centers and accounting dimensions from Revolver.": "Imports cost centers and accounting dimensions from Revolver.", "Imports VAT codes and tax rates from Revolver.": "Imports VAT codes and tax rates from Revolver.", "Payment terms import": "Payment terms import", "Imports payment terms and due-date rules from Revolver.": "Imports payment terms and due-date rules from Revolver.", "Currency import": "Currency import", "Imports configured foreign currencies from Revolver.": "Imports configured foreign currencies from Revolver.", "Client import": "Client import", "Imports client and accounting-entity master data from Revolver.": "Imports client and accounting-entity master data from Revolver.", "Imports creditor and debtor address master data from Accounto.": "Imports creditor and debtor address master data from Accounto.", "Imports bank account details assigned to Accounto addresses.": "Imports bank account details assigned to Accounto addresses.", "Imports the chart of accounts from Accounto.": "Imports the chart of accounts from Accounto.", "Imports VAT codes and tax rates from Accounto.": "Imports VAT codes and tax rates from Accounto.", "Imports payment terms and due-date rules from Accounto.": "Imports payment terms and due-date rules from Accounto.", "Tenant import": "Tenant import", "Imports tenant and accounting-entity master data from Accounto.": "Imports tenant and accounting-entity master data from Accounto.", "Updates exported invoices with payment status information from Accounto.": "Updates exported invoices with payment status information from Accounto.", "Address export": "Address export", "Exports local address master data to Accounto.": "Exports local address master data to Accounto.", "Imports all supported Lobos master data tables in one run.": "Imports all supported Lobos master data tables in one run.", "Imports creditor and debtor address master data from Lobos.": "Imports creditor and debtor address master data from Lobos.", "Imports bank account details assigned to Lobos addresses.": "Imports bank account details assigned to Lobos addresses.", "Imports the chart of accounts from Lobos.": "Imports the chart of accounts from Lobos.", "Imports cost centers and accounting dimensions from Lobos.": "Imports cost centers and accounting dimensions from Lobos.", "Imports plant or business-unit master data from Lobos.": "Imports plant or business-unit master data from Lobos.", "Imports VAT codes and tax rates from Lobos.": "Imports VAT codes and tax rates from Lobos.", "Imports payment terms and due-date rules from Lobos.": "Imports payment terms and due-date rules from Lobos.", "Imports configured foreign currencies from Lobos.": "Imports configured foreign currencies from Lobos.", "Imports client and accounting-entity master data from Lobos.": "Imports client and accounting-entity master data from Lobos.", "Updates exported invoices with payment status information from Lobos.": "Updates exported invoices with payment status information from Lobos.", "New client import": "New client import", "Imports a new Sage50 client and initializes the configured master data.": "Imports a new Sage50 client and initializes the configured master data.", "Imports creditor and debtor address master data from Sage50.": "Imports creditor and debtor address master data from Sage50.", "Creditor bank account import": "Creditor bank account import", "Imports creditor bank account details assigned to Sage50 addresses.": "Imports creditor bank account details assigned to Sage50 addresses.", "Debtor bank account import": "Debtor bank account import", "Imports debtor bank account details assigned to Sage50 addresses.": "Imports debtor bank account details assigned to Sage50 addresses.", "Imports the chart of accounts from Sage50.": "Imports the chart of accounts from Sage50.", "Imports VAT codes and tax rates from Sage50.": "Imports VAT codes and tax rates from Sage50.", "Imports payment terms and due-date rules from Sage50.": "Imports payment terms and due-date rules from Sage50.", "Booking period import": "Booking period import", "Imports accounting periods from Sage50.": "Imports accounting periods from Sage50.", "Internal bank import": "Internal bank import", "Imports internal bank accounts used for payments in Sage50.": "Imports internal bank accounts used for payments in Sage50.", "Imports configured foreign currencies from Sage50.": "Imports configured foreign currencies from Sage50.", "Daily rate import": "Daily rate import", "Imports current exchange rates from Sage50.": "Imports current exchange rates from Sage50.", "Updates exported invoices with payment status information from Sage50.": "Updates exported invoices with payment status information from Sage50.", "Open debtor account import": "Open debtor account import", "Imports open debtor account balances from Sage50.": "Imports open debtor account balances from Sage50.", "Exports local address master data to Sage50.": "Exports local address master data to Sage50.", "Personal account export": "Personal account export", "Exports local personal account mappings to Sage50.": "Exports local personal account mappings to Sage50.", "Payment terms export": "Payment terms export", "Exports local payment terms to Sage50.": "Exports local payment terms to Sage50.", "VAT code export": "VAT code export", "Exports local VAT codes and tax rates to Sage50.": "Exports local VAT codes and tax rates to Sage50.", "Currency export": "Currency export", "Exports local currency master data to Sage50.": "Exports local currency master data to Sage50.", "Account export": "Account export", "Exports local chart-of-accounts entries to Sage50.": "Exports local chart-of-accounts entries to Sage50.", "Internal bank export": "Internal bank export", "Exports local internal bank accounts to Sage50.": "Exports local internal bank accounts to Sage50.", "Booking export": "Booking export", "Exports prepared invoice bookings to Sage50.": "Exports prepared invoice bookings to Sage50.", "Invoice Reports": "Invoice Reports", "Reports": "Reports", "Add as marked": "Add as marked", "Send per E-Mail": "Send per E-Mail", "Invoice mail was sent.": "Invoice mail was sent.", "Invoice attachment is missing.": "Invoice attachment is missing.", "The invoice object is sent as an attachment.": "The invoice object is sent as an attachment.", "SMTP server is not configured.": "SMTP server is not configured.", "Variables": "Variables", "Click a variable to insert it into the subject or message.": "Click a variable to insert it into the subject or message.", "Custom message": "Custom message", "Missing IBAN": "Missing IBAN", "Missing VAT Information": "Missing VAT Information", "Missing Invoice Number": "Missing Invoice Number", "Missing QR Reference": "Missing QR Reference", "Wrong Billing Address": "Wrong Billing Address", "Missing Order Reference": "Missing Order Reference", "Incorrect Amount": "Incorrect Amount", "Unreadable Invoice": "Unreadable Invoice", "Save vendor address": "Save vendor address", "Invoice parameters": "Invoice parameters", "Read-only overview of invoice configuration parameters.": "Read-only overview of invoice configuration parameters.", "Search parameters": "Search parameters", "Parameters": "Parameters", "Parameter": "Parameter", "Explanation": "Explanation", "Create vendor address?": "Create vendor address?", "Update vendor address?": "Update vendor address?", "Vendor address saved.": "Vendor address saved.", "Saved": "Saved", "Vendor address was not saved.": "Vendor address was not saved.", "Error saving vendor address:": "Error saving vendor address:", "Please complete company, street and ZIP / City first.": "Please complete company, street and ZIP / City first.", "Requestor": "Requestor", "Only open": "Only open", "Open POs": "Open POs", "All purchase order": "All purchase orders", "Paid POs": "Paid POs", "My drafts": "My drafts", "My approvals": "My approvals", "to sign": "to sign", "Search in open PO": "Search in open purchase orders", "Search in open POs": "Search in open POs", "Search in all PO": "Search in all purchase orders", "Search only in open PO": "Search only in open purchase orders", "Search only in open POs": "Search only in open POs", "Search in paid PO": "Search in paid purchase orders", "Search in paid POs": "Search in paid POs", "Search area": "Search area", "Ordered": "Ordered", "New Purchase Order": "New Purchase Order", "Ordered to vendor": "Ordered to vendor", "Changed": "Changed", "Changed by": "Changed by", "Created by": "Created by", "Approve purchase order": "Approve purchase order", "Forward to Finance": "Forward to Finance", "Forward to Managing Director": "Forward to Managing Director", "Submit purchase order": "Submit purchase order", "Submit invoice to Finance": "Submit invoice to Finance", "Drop invoice here": "Drop invoice here", "Drop invoice here or click to upload": "Drop invoice here or click to upload", "Invoice sent by e-mail": "Invoice sent by e-mail", "Skip invoice upload and continue workflow": "Skip invoice upload and continue workflow", "Invoice uploaded": "Invoice uploaded", "Uploading": "Uploading", "Uploaded": "Uploaded", "Processing": "Processing", "Upload failed": "Upload failed", "Delete failed": "Delete failed", "08 ready to pay": "08 ready to pay", " - Vendor Bank Properties": " - Vendor Bank Properties", " and the ": " and the ", "And the winner is": "And the winner is", " Errors [%s]": " Errors [%s]", " Ok [%s]": " Ok [%s]", " Search...": " Search...", " Warnings [%s]": " Warnings [%s]", "!! read only !!": "!! read only !!", "%": "%", "%s error, %s warnings": "%s error, %s warnings", "+ character missing": "+ character missing", "+ Rows": "+ Rows", "+ template": "+ template", ", Sum:": ", Sum:", "Assignment gross": "Assignment gross", "Assignment net": "Assignment net", "Assignment VAT": "Assignment VAT", "Assignment matches invoice amount": "Assignment matches invoice amount", "Assignment does not match invoice amount": "Assignment does not match invoice amount", "AI is filling this section...": "AI is filling this section...", "Articles are being extracted and assigned now.": "Articles are being extracted and assigned now.", "Auto-save failed. Close without saving?": "Auto-save failed. Close without saving?", "Auto-save failed. Please save manually first.": "Auto-save failed. Please save manually first.", "Generic Creditor Report": "Generic Creditor Report", "Full Text Search": "Full Text Search", "Search Fields": "Search Fields", "Result Fields": "Result Fields", "Add search fields": "Add search fields", "Add result fields": "Add result fields", "Choose search fields": "Choose search fields", "Choose result fields": "Choose result fields", "No fields selected": "No fields selected", "Clear selection": "Clear selection", "Close": "Close", "Select all": "Select all", "Remove field": "Remove field", "Workflow & Status": "Workflow & Status", "Dates": "Dates", "Supplier & Address": "Supplier & Address", "Amounts & Finance": "Amounts & Finance", "Purchase & References": "Purchase & References", "Order mail": "Order mail", "Order by Mail": "Order by Mail", "Order by Phone": "Order by Phone", "Order by Post office": "Order by Post office", "Order by Other": "Order by Other", "Order by is missing": "Order by is missing", "Current assignee": "Current assignee", "Workflow assignees": "Workflow assignees", "Last activity": "Last activity", "Order purchase": "Order purchase", "Purchase order mail": "Purchase order mail", "Offer attachment": "Offer attachment", "Offer attachment is missing.": "Offer attachment is missing.", "Attachment is missing.": "Attachment is missing.", "No offer found": "No offer found", "No attachment selected": "No attachment selected", "Add attachment": "Add attachment", "Remove from mail": "Remove from mail", "Send mail": "Send mail", "Sender": "Sender", "Order mail was sent.": "Order mail was sent.", "Mail could not be sent": "Mail could not be sent", "Order mail can only be sent for approved purchase orders.": "Order mail can only be sent for approved purchase orders.", "Order type must be Mail before an order mail can be sent.": "Order type must be Mail before an order mail can be sent.", "Order Type is not Mail. Please set Order Type to Mail before sending.": "Order Type is not Mail. Please set Order Type to Mail before sending.", "Budgets": "Budgets", "Budget": "Budget", "Department Budget": "Department Budget", "Budget Amount": "Budget Amount", "Booked Amount": "Booked Amount", "Remaining Budget": "Remaining Budget", "No budget found": "No budget found", "Recipient e-mail is missing.": "Recipient e-mail is missing.", "Subject is missing.": "Subject is missing.", "Message": "Message", "Message is missing.": "Message is missing.", "E-mail Template": "E-mail Template", "Template": "Template", "Default template": "Default template", "Template name": "Template name", "Create template": "Create template", "Update template": "Update template", "Delete template": "Delete template", "Delete selected template?": "Delete selected template?", "Template folder is missing.": "Template folder is missing.", "Please select a template.": "Please select a template.", "Template name is missing.": "Template name is missing.", "Template was saved.": "Template was saved.", "Template was created.": "Template was created.", "Template was deleted.": "Template was deleted.", "Template could not be saved": "Template could not be saved", "Template could not be deleted": "Template could not be deleted", "System": "System", "Difference": "Difference", "Invoice amount": "Invoice amount", "Open amount": "Open amount", "Payment conditions": "Payment conditions", "Cash discount amount": "Cash discount amount", "00 analyzing": "00 analyzing", "00 converting to searchable PDF": "00 converting to searchable PDF", "00 imported": "imported", "00 processed": "processed", "00 processing": "processing", "00 splitted": "splitted", "00 splitting": "splitting", "00N": "00N", "01 error": "error", "01 new": "new", "02 in review": "in review", "03 in approval": "in approval", "04 approved": "approved", "04 approved controlling": "approved controlling", "04 ok": "ok", "05 controlling": "controlling", "06 controlled": "controlled", "07 ordered": "ordered", "09 partially paid": "partially paid", "10 2%": "10 2%", "10 ready for export": "ready for export", "10 Tg": "10 Tg", "102%": "102%", "10230": "10230", "10N": "10N", "10T": "10T", "10T N": "10T N", "10T,3": "10T,3", "10T2": "10T2", "10T2%": "10T2%", "10T3": "10T3", "10T3%": "10T3%", "10Tg": "10Tg", "10TN": "10TN", "10Tn": "10Tn", "11 exported": "exported", "12 booked": "booked", "13 ready for payment": "ready for payment", "13 payment file created": "payment file created", "14 paid": "paid", "Payment file": "Payment file", "Payment files": "Payment files", "Create payment file": "Create payment file", "Cancel payment file": "Cancel payment file", "Payment file created": "Payment file created", "Payment file cancelled": "Payment file cancelled", "14072": "14072", "14N": "14N", "14T": "14T", "14T N": "14T N", "14T2%": "14T2%", "15N": "15N", "15T": "15T", "15T N": "15T N", "15T2%": "15T2%", "15Tn": "15Tn", "2 Visa issuer = orderer - Invoice forwarded to <%user%> for approval": "2 Visa issuer = orderer - Invoice forwarded to <%user%> for approval", "2 Visa sender = orderer' - No superior found for <%user%>, invoice forwarded to accounting department": "2 Visa sender = orderer' - No superior found for <%user%>, invoice forwarded to accounting department", "20 no client": "no client", "20102": "20102", "20N": "20N", "20T": "20T", "20T N": "20T N", "20T2%": "20T2%", "20TN": "20TN", "20Tn": "20Tn", "25N": "25N", "30 no supplier": "no supplier", "30102": "30102", "30103": "30103", "30142": "30142", "30152": "30152", "30153": "30153", "30202": "30202", "30203": "30203", "30N": "30N", "30T": "30T", "30T 2": "30T 2", "30T N": "30T N", "30T10N2": "30T10N2", "30T10N4": "30T10N4", "30T2%": "30T2%", "32103": "32103", "35 check supplier": "check supplier", "40302": "40302", "45302": "45302", "45N": "45N", "45TN": "45TN", "50302": "50302", "5N": "5N", "60103": "60103", "60302": "60302", "60N": "60N", "60T": "60T", "60T N": "60T N", "60T2%": "60T2%", "7N": "7N", "8N": "8N", "8T3%3": "8T3%3", "90T": "90T", "90T2%": "90T2%", "90T4%": "90T4%", "95 no export": "no export", "97 rejected": "rejected", "98 invalid": "invalid", "99 error": "error", "99 export error": "export error", "99 system error": "system error", "< Back": "< Back", "<%pk_type%> approved by <%user%>": "<%pk_type%> approved by <%user%>", "<%pk_type%> approved2 by <%user%>": "<%pk_type%> approved2 by <%user%>", "<%pk_type%> exported by <%user%>": "<%pk_type%> exported by <%user%>", "<%pk_type%> forwarded to <%new_assignee%>": "<%pk_type%> forwarded to <%new_assignee%>", "<%pk_type%> forwarded to <%new_assignee%> for approval": "<%pk_type%> forwarded to <%new_assignee%> for approval", "<%pk_type%> forwarded to <%new_assignee%> for control": "<%pk_type%> forwarded to <%new_assignee%> for control", "<%pk_type%> forwarded to <%new_assignee%> for review": "<%pk_type%> forwarded to <%new_assignee%> for review", "Invoice exceeds limit <%limit%> of <%user%> and was forwarded to Visum 3 <%new_assignee%>.": "Invoice exceeds limit <%limit%> of <%user%> and was forwarded to Visum 3 <%new_assignee%>.", "<%pk_type%> forwarded to <%user%>": "<%pk_type%> forwarded to <%user%>", "<%pk_type%> imported": "<%pk_type%> imported", "<%pk_type%> imported from <%import_source_label%>": "<%pk_type%> imported from <%import_source_label%>", "<%pk_type%> imported by <%user%>": "<%pk_type%> imported by <%user%>", "<%pk_type%> rejected by <%user%>": "<%pk_type%> rejected by <%user%>", "<%pk_type%> reviewed by <%user%>": "<%pk_type%> reviewed by <%user%>", "<%pk_type%> taken over from <%old_assignee_display%> by <%user%>": "<%pk_type%> taken over from <%old_assignee_display%> by <%user%>", "<%pk_type%> set to invalid by <%user%>": "<%pk_type%> set to invalid by <%user%>", "<%pk_type%> set to new by <%user%>": "<%pk_type%> set to new by <%user%>", "<%user%> = Customer and responsible person": "<%user%> = Customer and responsible person", "> character missing - or too many": "> character missing - or too many", "_account_no_label": "_account_no_label", "A": "A", "A comment is required in the post-it field": "A comment is required in the post-it field", "A valid amount required": "A valid amount required", "Academy": "Academy", "Accordion": "Accordion", "Account": "Account", "Account Assignment": "Account Assignment", "Account assignment": "Account assignment", "Account assignment is incomplete!": "Account assignment is incomplete!", "Account assignment is not complete": "Account assignment is not complete", "Account Assignment Template": "Account Assignment Template", "Account assignment text": "Account assignment text", "Account Claims No.": "Account Claims No.", "Account Name": "Account Name", "Account No": "Account No", "Account Obligations No.": "Account Obligations No.", "Account Off Name": "Account Off Name", "Account OFF No": "Account OFF No", "Account Off No": "Account Off No", "Account Settings": "Account Settings", "Account Type": "Account Type", "Accounting Area": "Accounting Area", "Accounting area changed from <%old_assignee%> to <%new_assignee%>": "Accounting area changed from <%old_assignee%> to <%new_assignee%>", "Accounting area changed to <%new_assignee%>": "Accounting area changed to <%new_assignee%>", "accounting area: %s --> %s": "accounting area: %s --> %s", "Accounting Ext. Ref.": "Accounting Ext. Ref.", "Accounting From": "Accounting From", "Accounting Int. Ref.": "Accounting Int. Ref.", "Accounting Periods": "Accounting Periods", "Accounting To": "Accounting To", "Accounts": "Accounts", "Acount No Account Name Off Acount No Off Account Name Text Amount": "Acount No Account Name Off Acount No Off Account Name Text Amount", "Action": "Action", "Actions": "Actions", "activ": "activ", "active": "active", "Active Users": "Active Users", "Activity": "Activity", "Add": "Add", "Add a comment...": "Add a comment...", "Add address incl. bankdatas": "Add address incl. bankdatas", "Add Assignment": "Add Assignment", "Add Creditcard Person Account": "Add Creditcard Person Account", "Add Creditor Person Account": "Add Creditor Person Account", "Add Debitor Person Account": "Add Debitor Person Account", "Add new Address": "Add new Address", "Add new Address/PersKeyaccount": "Add new Address/PersKeyaccount", "Add new Debitor Address": "Add new Debitor Address", "Add new Kreditor Address": "Add new Kreditor Address", "Add new payment condition": "Add new payment condition", "Add new Personal Key Account": "Add new Personal Key Account", "Add new Supplier": "Add new Supplier", "add new version to invoice %s": "add new version to invoice %s", "Add Person Account": "Add Person Account", "Add Product": "Add Product", "Add Receipt Person Account": "Add Receipt Person Account", "Add to clipboard": "Add to clipboard", "Add to favorites": "Add to favorites", "Add/Edit Assignment": "Add/Edit Assignment", "Add/Edit Assignment Template": "Add/Edit Assignment Template", "Address": "Address", "Address & Billing": "Address & Billing", "Address not found.\\nPlease change the address or create a new one!": "Address not found.\\nPlease change the address or create a new one!", "Address OK": "Address OK", "Address type": "Address type", "Address/PK saved": "Address/PK saved", "Addresses": "Addresses", "Addresses & PK": "Addresses & PK", "Administration": "Administration", "Advance": "Advance", "Advanced": "Advanced", "Alerts": "Alerts", "Alerts&Tasks": "Alerts&Tasks", "All Clients": "All Clients", "All Creditcards": "All Creditcards", "All Creditcards (max. 500)": "All Creditcards (max. 500)", "All Customer": "All Customer", "All Customers": "All Customers", "All Debitors": "All Debitors", "All Debitors (max. 250)": "All Debitors (max. 250)", "All Debitors (max. 500)": "All Debitors (max. 500)", "All documents have been uploaded successfully.": "All documents have been uploaded successfully.", "All E-Mails": "All E-Mails", "All Invoices": "All Invoices", "All Invoices (max. 250)": "All Invoices (max. 250)", "All Invoices (max. 500)": "All Invoices (max. 500)", "All invoices have been successfully downloaded.": "All invoices have been successfully downloaded.", "All invoices have been successfully uploaded.": "All invoices have been successfully uploaded.", "All Lists": "All Lists", "All Lists (max. 250)": "All Lists (max. 250)", "All Lists (max. 500)": "All Lists (max. 500)", "All my invoices": "All my invoices", "All my invoices (<=500 results)": "All my invoices (<=500 results)", "All Receipts": "All Receipts", "All Receipts (max. 250)": "All Receipts (max. 250)", "All Receipts (max. 500)": "All Receipts (max. 500)", "Allowed JPG, GIF or PNG. Max size of 800K": "Allowed JPG, GIF or PNG. Max size of 800K", "Amount": "Amount", "Amount Discount": "Amount Discount", "Amount excl. Rising": "Amount excl. Rising", "Amount financed by the patient?": "Amount financed by the patient?", "Amount Gross": "Amount Gross", "Amount gross": "Amount gross", "Amount in CHF": "Amount in CHF", "Amount Local Currency": "Amount Local Currency", "Amount Net": "Amount Net", "Amount net": "Amount net", "Amount Net in CHF": "Amount Net in CHF", "Amount Net Local Currency": "Amount Net Local Currency", "Amount Rising": "Amount Rising", "Amount Tax": "Amount Tax", "Amount Tax Local Currency": "Amount Tax Local Currency", "Amount Tot incl. Cash Discount": "Amount Tot incl. Cash Discount", "Amount tot. excl. Discount": "Amount tot. excl. Discount", "Amount tot. incl. Cash Discount": "Amount tot. incl. Cash Discount", "Amount tot. incl. Discount": "Amount tot. incl. Discount", "Amount VAT": "Amount VAT", "Amount VAT in CHF": "Amount VAT in CHF", "Amounts": "Amounts", "An API key is a simple encrypted string that identifies an application without any principal.\\n They are useful for accessing public data anonymously, and are used to associate API requests\\n with your project for quota and billing.": "An API key is a simple encrypted string that identifies an application without any principal.\\n They are useful for accessing public data anonymously, and are used to associate API requests\\n with your project for quota and billing.", "Analytics": "Analytics", "Apex Charts": "Apex Charts", "API Key List & Access": "API Key List & Access", "App Brand": "App Brand", "APP Creditcard": "APP Creditcard", "APP Debitor": "APP Debitor", "APP Invoice": "APP Invoice", "APP Order": "APP Order", "APP Receipt": "APP Receipt", "Approval Workflow": "Approval Workflow", "Approve": "Approve", "Approved": "Approved", "Approved Debitors": "Approved Debitors", "Approved Debitors (max. 250)": "Approved Debitors (max. 250)", "Approved Invoices": "Approved Invoices", "Approved Invoices (max. 250)": "Approved Invoices (max. 250)", "Approved Receipts": "Approved Receipts", "Approved Receipts (max. 250)": "Approved Receipts (max. 250)", "Approver": "Approver", "Apps & Pages": "Apps & Pages", "Arabic": "Arabic", "Archive": "Archive", "Archive references": "Archive references", "Are these KVG services?": "Are these KVG services?", "Are these outpatient care services billed on this invoice?": "Are these outpatient care services billed on this invoice?", "Are you sure that you want to delete the selected ${amount} entries?": "Are you sure that you want to delete the selected ${amount} entries?", "Are you sure that you want to reprocess the selected entries?": "Are you sure that you want to reprocess the selected entries?", "Are you sure that you want to undelete the selected ${amount} entries?": "Are you sure that you want to undelete the selected ${amount} entries?", "Are you sure you want to delete the selected items? This action cannot be undone.": "Are you sure you want to delete the selected items? This action cannot be undone.", "Are you sure you want to delete your account?": "Are you sure you want to delete your account?", "Area": "Area", "Article": "Article", "Please choose an address": "Please choose an address", "Assigned to me": "Assigned to me", "Assignee": "Assignee", "Assignee 1": "Assignee 1", "Assignee 1 Date": "Assignee 1 Date", "Assignee 2": "Assignee 2", "Assignee 2 Date": "Assignee 2 Date", "Assignee 3": "Assignee 3", "Assignee 3 Date": "Assignee 3 Date", "Assignee 4": "Assignee 4", "Assignee 4 Date": "Assignee 4 Date", "Assignement Dialog": "Assignement Dialog", "Assignment": "Assignment", "Assignment Net Tax Gross": "Assignment Net Tax Gross", "Assignment Details": "Assignment Details", "Assignment Template": "Assignment Template", "At least one lowercase character": "At least one lowercase character", "At least one number, symbol, or whitespace character": "At least one number, symbol, or whitespace character", "attachments": "attachments", "Attention: The Value for the field: Input Tax on Material Effort is not set in the client mask! Please call you admin!": "Attention: The Value for the field: Input Tax on Material Effort is not set in the client mask! Please call you admin!", "Authentications": "Authentications", "automatically converted": "automatically converted", "Avatar": "Avatar", "B": "B", "Badges": "Badges", "Bank": "Bank", "Bank Account": "Bank Account", "Bank Account ID": "Bank Account ID", "Bank Account Info": "Bank Account Info", "Bank Account No": "Bank Account No", "Bank Account No.": "Bank Account No.", "Bank Creditcards": "Bank Creditcards", "Bank Creditors": "Bank Creditors", "Bank Debtors": "Bank Debtors", "Bank DTA Order": "Bank DTA Order", "Bank ID": "Bank ID", "Bank No.": "Bank No.", "Bank Receipts": "Bank Receipts", "Bank Street": "Bank Street", "Bank Type": "Bank Type", "Bank-ID [+]": "Bank-ID [+]", "Banks": "Banks", "Barcode": "Barcode", "Basic": "Basic", "Basic Inputs": "Basic Inputs", "Beneficiary": "Beneficiary", "Billable": "Billable", "Billable Adr. Name": "Billable Adr. Name", "Billable Adr. No.": "Billable Adr. No.", "Billable Amount": "Billable Amount", "Billable Amount Gross": "Billable Amount Gross", "Billable Amount Net": "Billable Amount Net", "Billable Comment": "Billable Comment", "Billable Custom 1": "Billable Custom 1", "Billable Custom 2": "Billable Custom 2", "Billable Custom 3": "Billable Custom 3", "Billable Custom 4": "Billable Custom 4", "Billable Custom 5": "Billable Custom 5", "Billable Rate": "Billable Rate", "Billable Rate (%)": "Billable Rate (%)", "Billing & Plans": "Billing & Plans", "Bills": "Bills", "Blank": "Blank", "BlockUI": "BlockUI", "Booking": "Booking", "Booking Period": "Booking Period", "Booking Periods": "Booking Periods", "Booking text": "Booking text", "Booking Year": "Booking Year", "Bookings": "Bookings", "Buttons": "Buttons", "By day?": "By day?", "C": "C", "Calculator": "Calculator", "Calendar": "Calendar", "Cancel": "Cancel", "Cards": "Cards", "Care services under tariff A?": "Care services under tariff A?", "Care services under tariff B?": "Care services under tariff B?", "Care services under tariff C?": "Care services under tariff C?", "Carousel": "Carousel", "Cash Discount": "Cash Discount", "Cash Discount Amount": "Cash Discount Amount", "Cash Discount Date": "Cash Discount Date", "Cash Discount Days": "Cash Discount Days", "Cash Discount Percent": "Cash Discount Percent", "Categories": "Categories", "Category": "Category", "Category List": "Category List", "Change Address": "Change Address", "change Brutto > Netto calculation": "change Brutto > Netto calculation", "Change Password": "Change Password", "Change Profile": "Change Profile", "Change Status": "Change Status", "Change to Creditcard": "Change to Creditcard", "Change to Creditor": "Change to Creditor", "Change to Debitor": "Change to Debitor", "Change to Receipt": "Change to Receipt", "Change to Splitt-Document": "Change to Splitt-Document", "Change Type": "Change Type", "change_history": "change_history", "changed": "changed", "Changes": "Changes", "Charge on": "Charge on", "Charging": "Charging", "ChartJS": "ChartJS", "Charts": "Charts", "Charts & Maps": "Charts & Maps", "Chat": "Chat", "check digit for account number part is incorrect '%s'": "check digit for account number part is incorrect '%s'", "check digit for first part (amount) is incorrect '%s'": "check digit for first part (amount) is incorrect '%s'", "check digit for reference number part is incorrect '%s'": "check digit for reference number part is incorrect '%s'", "Checkout": "Checkout", "Choose Key Type": "Choose Key Type", "Choose the Api key type you want to create": "Choose the Api key type you want to create", "City": "City", "City: ": "City: ", "Clear all filters": "Clear all filters", "Clearing No.": "Clearing No.", "Click here": "Click here", "Client Acc.": "Client Acc.", "client changed from <%old_client_accounting%> to <%new_client_accounting%>.": "client changed from <%old_client_accounting%> to <%new_client_accounting%>.", "client missing for export!": "client missing for export!", "Clients": "Clients", "Clipboard": "Clipboard", "Code": "Code", "Collapse": "Collapse", "Collapsed menu": "Collapsed menu", "Columns": "Columns", "Coming Soon": "Coming Soon", "Comment": "Comment", "Communication": "Communication", "Company": "Company", "Company Links": "Company Links", "Company: ": "Company: ", "complete": "complete", "Conditions": "Conditions", "Config": "Config", "Config & Administration": "Config & Administration", "Confirm New Password": "Confirm New Password", "Connections": "Connections", "Contact Person": "Contact Person", "Container": "Container", "Content nav + Sidebar": "Content nav + Sidebar", "Content navbar": "Content navbar", "Contracts": "Contracts", "Controlled": "Controlled", "Controlled > 2000": "Controlled > 2000", "Visa 3": "Visa 3", "Country": "Country", "Country: ": "Country: ", "Course Details": "Course Details", "Cover": "Cover", "cq_acc_invoice": "cq_acc_invoice", "cq_acc_invoice_creditcard": "cq_acc_invoice_creditcard", "cq_acc_invoice_debitor": "cq_acc_invoice_debitor", "cq_acc_invoice_email": "cq_acc_invoice_email", "cq_acc_invoice_original_split": "cq_acc_invoice_original_split", "cq_acc_payment_file": "Payment file", "cq_acc_invoice_receipt": "cq_acc_invoice_receipt", "cq_acc_invoice_split": "cq_acc_invoice_split", "cq_accounting_area_label": "cq_accounting_area_label", "cq_address_city_label": "cq_address_city_label", "cq_address_country_label": "cq_address_country_label", "cq_address_email_label": "cq_address_email_label", "cq_address_street_label": "cq_address_street_label", "cq_address_tel_label": "cq_address_tel_label", "cq_address_web_label": "cq_address_web_label", "cq_address_zipcode_label": "cq_address_zipcode_label", "cq_adrname_label": "cq_adrname_label", "cq_doc_dauerakte": "cq_doc_dauerakte", "cq_doc_invoice_attachment": "cq_doc_invoice_attachment", "cq_file": "cq_file", "cq_iban_label": "cq_iban_label", "cq_int_bank_id_label": "cq_int_bank_id_label", "cq_payment_cond_code_label": "cq_payment_cond_code_label", "cq_payment_type_label": "cq_payment_type_label", "cq_receiving_bank_account_label": "cq_receiving_bank_account_label", "cq_receiving_bank_id_label": "cq_receiving_bank_id_label", "cq_receiving_bank_label": "cq_receiving_bank_label", "cq_tax_code_label": "cq_tax_code_label", "create %s %s of tenant-id: '%s'": "create %s %s of tenant-id: '%s'", "Create Address": "Create Address", "Create address from QR Code reference": "Create address from QR Code reference", "Create an API key": "Create an API key", "Create Deal": "Create Deal", "Create Key": "Create Key", "Create new Address/PK": "Create new Address/PK", "Create new user": "Create new user", "Create Vendor Bank": "Create Vendor Bank", "Created < 14 Days": "Created < 14 Days", "Created < 7 Days": "Created < 7 Days", "Created at": "Created at", "Created by me": "Created by me", "Created to": "Created to", "Creditcard": "Creditcard", "creditcard": "creditcard", "Creditcard Dashboard": "Creditcard Dashboard", "Creditcard files in process (max. 250)": "Creditcard files in process (max. 250)", "Creditcard files in process (max. 500)": "Creditcard files in process (max. 500)", "Creditcard Search Results (max. 500)": "Creditcard Search Results (max. 500)", "Creditcard upload": "Creditcard upload", "Creditcard Vendor Bank": "Creditcard Vendor Bank", "Creditcards": "Creditcards", "Creditcards (%s)": "Creditcards (%s)", "Creditcards in process": "Creditcards in process", "Creditcards in process (max. 250)": "Creditcards in process (max. 250)", "Creditcards in process (max. 500)": "Creditcards in process (max. 500)", "Creditor": "Creditor", "creditor": "creditor", "Creditor Account No.": "Creditor Account No.", "Creditor Assignment Details": "Creditor Assignment Details", "Creditor Dashboard": "Creditor Dashboard", "Creditor Information": "Creditor Information", "Creditor No.": "Creditor No.", "Creditor reference has an incorrect checksum.": "Creditor reference has an incorrect checksum.", "Creditor Report": "Creditor Report", "Creditor Report with Accounting": "Creditor Report with Accounting", "Creditor Report with Accounting (summed up)": "Creditor Report with Accounting (summed up)", "Creditor Search Results": "Creditor Search Results", "Creditor upload": "Creditor upload", "Creditor Vendor Bank": "Creditor Vendor Bank", "Creditors": "Creditors", "Creditors (%s)": "Creditors (%s)", "Creditors to pay": "Creditors to pay", "Creditors to pay (%s)": "Creditors to pay (%s)", "Creditors/Debitors/Receipts": "Creditors/Debitors/Receipts", "CRM": "CRM", "Currencies": "Currencies", "Currency": "Currency", "Currency Name": "Currency Name", "Currency rate": "Currency rate", "Current Password": "Current Password", "Custom Options": "Custom Options", "Customer Details": "Customer Details", "Daily Rate": "Daily Rate", "Daily Rates": "Daily Rates", "Dashboard": "Dashboard", "Dashboards": "Dashboards", "Data was successfully exported to ERP": "Data was successfully exported to ERP", "Datatables": "Datatables", "Date": "Date", "Date Cash Discount": "Date Cash Discount", "Date Paid": "Date Paid", "Date Payment Net": "Date Payment Net", "Date range from": "From", "Date range to": "To", "Date To": "Date To", "Date to pay from/to": "Date to pay from/to", "Date/Currency": "Date/Currency", "Days": "Days", "Deactivate Account": "Deactivate Account", "debitor": "debitor", "Debitor Account No.": "Debitor Account No.", "Debitor Assignment Details": "Debitor Assignment Details", "Debitor Invoice No.": "Debitor Invoice No.", "Debitor upload": "Debitor upload", "Debitor Vendor Bank": "Debitor Vendor Bank", "Debitors": "Debitors", "Debitors (%s)": "Debitors (%s)", "Debitors filtered by %s : %s": "Debitors filtered by %s : %s", "Debitors in approval": "Debitors in approval", "Debitors in approval (max. 250)": "Debitors in approval (max. 250)", "Debitors in approval (max. 500)": "Debitors in approval (max. 500)", "Debitors in Error": "Debitors in Error", "Debitors in Error (max. 250)": "Debitors in Error (max. 250)", "Debitors in Error (max. 500)": "Debitors in Error (max. 500)", "Debitors in process": "Debitors in process", "Debitors in process (max. 250)": "Debitors in process (max. 250)", "Debitors in process (max. 500)": "Debitors in process (max. 500)", "Debitors in review": "Debitors in review", "Debitors in review (max. 250)": "Debitors in review (max. 250)", "Debitors in review (max. 500)": "Debitors in review (max. 500)", "Debitors ready for export": "Debitors ready for export", "Debitors ready for export (max. 250)": "Debitors ready for export (max. 250)", "Debitors ready for export (max. 500)": "Debitors ready for export (max. 500)", "Debitors ready for payment": "Debitors ready for payment", "Debitors ready for payment (max. 250)": "Debitors ready for payment (max. 250)", "Debitors ready for payment (max. 500)": "Debitors ready for payment (max. 500)", "Debitors to Bill": "Debitors to Bill", "Debitors with <>": "Debitors with <>", "Debitors with error": "Debitors with error", "Debitors with error (max. 250)": "Debitors with error (max. 250)", "Debitors with error (max. 500)": "Debitors with error (max. 500)", "Debitors with export error": "Debitors with export error", "Debitors with export error (max. 250)": "Debitors with export error (max. 250)", "Debitors with export error (max. 500)": "Debitors with export error (max. 500)", "Debitors with no client": "Debitors with no client", "Debitors with no client (max. 250)": "Debitors with no client (max. 250)", "Debitors with no client (max. 500)": "Debitors with no client (max. 500)", "Debitors with no customer": "Debitors with no customer", "Debitors with no customer (max. 250)": "Debitors with no customer (max. 250)", "Debitors with no customer (max. 500)": "Debitors with no customer (max. 500)", "Debitors with no receiver": "Debitors with no receiver", "Debtor Dashboard": "Debtor Dashboard", "Debtors": "Debtors", "Default Value Account No.": "Default Value Account No.", "Default Value Accounting Area": "Default Value Accounting Area", "Default Value Creditcard Account No.": "Default Value Creditcard Account No.", "Default Value Currency": "Default Value Currency", "Default Value Debitor Account No.": "Default Value Debitor Account No.", "Default Value Int. Bank": "Default Value Int. Bank", "Default Value Payment Conditions": "Default Value Payment Conditions", "Default Value Receipt Account No.": "Default Value Receipt Account No.", "Default Value Tax ID": "Default Value Tax ID", "Default VAT": "Default VAT", "Delete": "Delete", "Delete Account": "Delete Account", "Delete Post-It": "Delete Post-It", "Deleted": "Deleted", "deleted": "deleted", "Deleted invoices": "Deleted invoices", "Deleter": "Deleter", "Delivery": "Delivery", "Delivery Date": "Delivery Date", "Delivery/Service": "Delivery/Service", "Delivery/Service Date": "Delivery/Service Date", "Department": "Department", "Deputy": "Deputy", "Description": "Description", "Differences in Amounts": "Differences in Amounts", "Direction": "Direction", "Discount": "Discount", "Discount amount": "Discount amount", "Discount Days": "Discount Days", "Distribution": "Distribution", "Do you want to attach the selected pages to %s?\\n": "Do you want to attach the selected pages to %s?\\n", "Do you want to create new Address/PK with entries?\\n\\n%s": "Do you want to create new Address/PK with entries?\\n\\n%s", "Do you want to get Accounting Infos from PK?\\n%s": "Do you want to get Accounting Infos from PK?\\n%s", "Do you want to save values to PK?\\n%s": "Do you want to save values to PK?\\n%s", "Do you want to search the Address in Admin.ch?\\n%s": "Do you want to search the Address in Admin.ch?\\n%s", "Do you want to search the Address in the PK-Reference DB?\\n%s": "Do you want to search the Address in the PK-Reference DB?\\n%s", "Doc Type": "Doc Type", "Doc. Type": "Doc. Type", "Document": "Document", "Document created": "Document created", "Document type": "Document type", "Document Types": "Document Types", "Don't have a login?": "Don't have a login?", "Done": "Done", "Double available": "Double available", "Double Invoice": "Double Invoice", "Download as ZIP": "Download as ZIP", "Drag & Drop": "Drag & Drop", "drag & drop creditcard(s) here": "drag & drop creditcard(s) here", "drag & drop creditor(s) here": "drag & drop creditor(s) here", "drag & drop debtor(s) here": "drag & drop debtor(s) here", "drag & drop permanent file(s) here": "drag & drop permanent file(s) here", "drag & drop receipt(s) here": "drag & drop receipt(s) here", "Dropdowns": "Dropdowns", "Due (Discount)": "Due (Discount)", "Due (Net)": "Due (Net)", "E-Mail": "E-Mail", "E-mail": "E-mail", "E-Mail attachment automatically attached to invoice!": "E-Mail attachment automatically attached to invoice!", "E-Mail attachments merged!": "E-Mail attachments merged!", "E-Mail Mapping": "E-Mail Mapping", "E-Mail: ": "E-Mail: ", "eCommerce": "eCommerce", "Edit Address": "Edit Address", "Edit Bank": "Edit Bank", "Edit Personal Account": "Edit Personal Account", "Edit Personal Account Key": "Edit Personal Account Key", "Edit PK Creditcard": "Edit PK Creditcard", "Edit PK Creditor": "Edit PK Creditor", "Edit PK Debitor": "Edit PK Debitor", "Edit PK Receipt": "Edit PK Receipt", "Edit Post-It": "Edit Post-It", "Editors": "Editors", "Enable One Time Password": "Enable One Time Password", "Enable two-factor authentication": "Enable two-factor authentication", "end processing invoice %s": "end processing invoice %s", "English": "English", "Enter your mobile phone number with country code and we will send you a verification code.": "Enter your mobile phone number with country code and we will send you a verification code.", "ERP - error in export: %s": "ERP - error in export: %s", "ERP Type": "ERP Type", "Error": "Error", "error exporting address: \\n": "error exporting address: \\n", "Error in account assignment": "Error in account assignment", "Error in approval matrix. No employee found for the value [<%value%>]": "Error in approval matrix. No employee found for the value [<%value%>]", "Error in export PK/Address": "Error in export PK/Address", "error in export to sage50": "error in export to sage50", "Error saving values to PK \\n%s": "Error saving values to PK \\n%s", "Error(s) (%s)": "Error(s) (%s)", "Errors": "Errors", "ESR reference": "ESR reference", "ESR Subscriber Number": "ESR Subscriber Number", "Export Data": "Export Data", "Export data to ERP": "Export data to ERP", "Export CSV": "Export CSV", "Export Excel": "Export Excel", "Export to ERP": "Export to ERP", "Export was not successfully": "Export was not successfully", "exported": "exported", "Exported Creditcard files (max. 250)": "Exported Creditcard files (max. 250)", "Exported Creditcard files (max. 500)": "Exported Creditcard files (max. 500)", "Exported Creditcards": "Exported Creditcards", "Exported Debitors": "Exported Debitors", "Exported Debitors (max. 250)": "Exported Debitors (max. 250)", "Exported Debitors (max. 500)": "Exported Debitors (max. 500)", "Exported Invoices": "Exported Invoices", "Exported Invoices (max. 250)": "Exported Invoices (max. 250)", "Exported Invoices (max. 500)": "Exported Invoices (max. 500)", "Exported Receipts": "Exported Receipts", "Exported Receipts (max. 250)": "Exported Receipts (max. 250)", "Exported Receipts (max. 500)": "Exported Receipts (max. 500)", "Ext. Access": "Ext. Access", "Ext. order no.": "Ext. order no.", "Extended UI": "Extended UI", "Extensions": "Extensions", "External Payment Reference": "External Payment Reference", "External Payment Reference 1": "External Payment Reference 1", "External Payment Reference 2": "External Payment Reference 2", "External Reference": "External Reference", "External Tenant ID": "External Tenant ID", "Extras": "Extras", "FAQ": "FAQ", "Favorites": "Favorites", "Feed": "Feed", "File deleted": "File deleted", "File Upload": "File Upload", "Filtered by state": "Filtered by state", "Finally deletion": "Finally deletion", "First Name": "First Name", "Fleet": "Fleet", "Fluid": "Fluid", "Folder 1": "Folder 1", "Folder 2": "Folder 2", "Folder 4": "Folder 4", "Folder Details": "Folder Details", "Fontawesome": "Fontawesome", "Footer": "Footer", "Forgot Password": "Forgot Password", "Forgot your password?": "Forgot your password?", "Foreign currency": "Foreign currency", "Form Elements": "Form Elements", "Form Layouts": "Form Layouts", "Form Validation": "Form Validation", "Form Wizard": "Form Wizard", "Forms": "Forms", "Forms & Tables": "Forms & Tables", "Free text": "Free text", "Freetext": "Freetext", "French": "French", "From": "From", "Front Pages": "Front Pages", "Full Control": "Full Control", "Fullscreen": "Fullscreen", "Gem_social": "Gem_social", "German": "German", "Get Address from Admin.ch": "Get Address from Admin.ch", "Get address from Zefix": "Get address from Zefix", "Get Daily Rates": "Get Daily Rates", "get Online - Reference Address": "get Online - Reference Address", "Get Online Address": "Get Online Address", "Get PK from Database": "Get PK from Database", "Get QR Code Address": "Get QR Code Address", "Get Reference Address": "Get Reference Address", "Get Tax on Material Effort Account": "Get Tax on Material Effort Account", "Graphical Dashboard": "Graphical Dashboard", "Gross": "Gross", "Gross CHF": "Gross CHF", "Header": "Header", "Help": "Help", "Hide Feed": "Hide Feed", "Hide filters": "Hide filters", "Home": "Home", "Horizontal": "Horizontal", "Horizontal Form": "Horizontal Form", "I confirm my account deactivation": "I confirm my account deactivation", "IBAN must be between 15 and 34 characters long": "IBAN must be between 15 and 34 characters long", "IBAN: ": "IBAN: ", "Icons": "Icons", "Import": "Import", "Import accounts": "Import accounts", "Import addresses": "Import addresses", "Import all sage50 CSV files": "Import all sage50 CSV files", "Import Attachment": "Import Attachment", "Import bank accounts": "Import bank accounts", "Import Bankdata from SIX": "Import Bankdata from SIX", "Import cost center": "Import cost center", "Import Data": "Import Data", "Import Document/Object": "Import Document/Object", "Import E-Mails": "Import E-Mails", "Import from Abacus": "Import from Abacus", "Import plants": "Import plants", "Import taxes": "Import taxes", "Import/synchronisation of master data from Abacus": "Import/synchronisation of master data from Abacus", "Imported E-Mails (History)": "Imported E-Mails (History)", "in approval": "in approval", "in review": "in review", "In time": "In time", "in validation process": "in validation process", "inactiv": "inactiv", "Inactive": "Inactive", "inactive": "inactive", "Inactive Users": "Inactive Users", "Incoming": "Incoming", "Incoming Date": "Incoming Date", "Incoming E-Mails": "Incoming E-Mails", "Indexed Invoices": "Indexed Invoices", "Input groups": "Input groups", "Input Tax on Material Effort": "Input Tax on Material Effort", "Input Tax on Material Investigations": "Input Tax on Material Investigations", "Int. Bank": "Int. Bank", "int. Bank": "int. Bank", "Int. Bank ID": "Int. Bank ID", "Int. Ref.": "Int. Ref.", "Internal Bank": "Internal Bank", "Internal Banks": "Internal Banks", "Invalid": "Invalid", "invalid": "invalid", "invalid accounting assignments": "invalid accounting assignments", "invalid amount '%s'": "invalid amount '%s'", "Invalid Debitors": "Invalid Debitors", "Invalid Debitors (max. 250)": "Invalid Debitors (max. 250)", "Invalid Debitors (max. 500)": "Invalid Debitors (max. 500)", "Invalid ESR reference": "Invalid ESR reference", "Invalid file extension": "Invalid file extension", "Invalid IBAN number": "Invalid IBAN number", "Invalid Invoices": "Invalid Invoices", "Invalid Invoices (max. 250)": "Invalid Invoices (max. 250)", "Invalid Invoices (max. 500)": "Invalid Invoices (max. 500)", "Invalid Receipt": "Invalid Receipt", "Invalid Receipts (max. 250)": "Invalid Receipts (max. 250)", "Invalid Receipts (max. 500)": "Invalid Receipts (max. 500)", "Invoice - Account": "Invoice - Account", "Invoice - Internal Bank": "Invoice - Internal Bank", "Invoice - Payment Terms": "Invoice - Payment Terms", "Invoice - TAX Code": "Invoice - TAX Code", "Invoice - VAT Code": "Invoice - VAT Code", "Invoice Account": "Invoice Account", "Invoice Account Assignment": "Invoice Account Assignment", "Invoice Advanced Search": "Invoice Advanced Search", "Invoice already exists": "Invoice already exists", "Accounting assignment created by AI rule (<%ai_rule_scope_label%>: <%ai_rule_reference%>); Rule: <%ai_rule_obj_id%>; Rows: <%ai_rule_row_count%>. Please check!": "Accounting assignment created by AI rule (<%ai_rule_scope_label%>: <%ai_rule_reference%>); Rule: \"> <%ai_rule_obj_id%>; Rows: <%ai_rule_row_count%>. Please check!", "Invoice Booking Bank": "Invoice Booking Bank", "Invoice Clients": "Invoice Clients", "Invoice Currency": "Invoice Currency", "Invoice Daily Rates": "Invoice Daily Rates", "Invoice Date": "Invoice Date", "Invoice date from": "Invoice date from", "Invoice date to": "Invoice date to", "Invoice Entries": "Invoice Entries", "Invoice exceeds limit <%limit%> of 2nd visa issuer <%user%>. Will be forwarded to supervisor": "Invoice exceeds limit <%limit%> of 2nd visa issuer <%user%>. Will be forwarded to supervisor", "Invoice Export Jobs": "Invoice Export Jobs", "Invoice Import Jobs": "Invoice Import Jobs", "Invoice imported": "Invoice imported", "Invoice Internal Bank": "Invoice Internal Bank", "Invoice Journal": "Invoice Journal", "Invoice Menu": "Invoice Menu", "Invoice No": "Invoice No", "Invoice No.": "Invoice No.", "Invoice not paid": "Invoice not paid", "Invoice PK Creditcard": "Invoice PK Creditcard", "Invoice PK Creditor": "Invoice PK Creditor", "Invoice PK Debitor": "Invoice PK Debitor", "Invoice PK Receipt": "Invoice PK Receipt", "Invoice ready to pay": "Invoice ready to pay", "Invoice Revenue Journal": "Invoice Revenue Journal", "Invoice sent to <%user%>": "Invoice sent to <%user%>", "Invoice sent to processing server": "Invoice sent to processing server", "Invoice splitted": "Invoice splitted", "Invoice successfully exported to Accounto with id: <%booking_id%>": "Invoice successfully exported to Accounto with id: <%booking_id%>", "Invoice Terms and Conditions": "Invoice Terms and Conditions", "Invoice to order \"><%order_no%>.": "Invoice to order \"><%order_no%>.", "Invoice total 1, net": "Invoice total 1, net", "Invoice total 2, net": "Invoice total 2, net", "Invoice total gross": "Invoice total gross", "Invoice VAT": "Invoice VAT", "Invoice Vendor Bank": "Invoice Vendor Bank", "Invoice was paid: <%date_paid%>": "Invoice was paid: <%date_paid%>", "Invoice with No: '%s' is allready in System!": "Invoice with No: '%s' is allready in System!", "Invoice-Date": "Invoice-Date", "invoice_account_assignment": "invoice_account_assignment", "invoice_attachments": "invoice_attachments", "Invoices filtered by %s : %s": "Invoices filtered by %s : %s", "Invoices in approval": "Invoices in approval", "Invoices in approval (max. 250)": "Invoices in approval (max. 250)", "Invoices in approval (max. 500)": "Invoices in approval (max. 500)", "Invoices in Error": "Invoices in Error", "Invoices in Error (max. 250)": "Invoices in Error (max. 250)", "Invoices in Error (max. 500)": "Invoices in Error (max. 500)", "Invoices in process": "Invoices in process", "Invoices in process (max. 250)": "Invoices in process (max. 250)", "Invoices in process (max. 500)": "Invoices in process (max. 500)", "Invoices in review": "Invoices in review", "Invoices in review (max. 250)": "Invoices in review (max. 250)", "Invoices in review (max. 500)": "Invoices in review (max. 500)", "Invoices ready for export": "Invoices ready for export", "Invoices ready for export (max. 250)": "Invoices ready for export (max. 250)", "Invoices ready for export (max. 500)": "Invoices ready for export (max. 500)", "Invoices ready for payment": "Invoices ready for payment", "Invoices ready for payment (max. 250)": "Invoices ready for payment (max. 250)", "Invoices ready for payment (max. 500)": "Invoices ready for payment (max. 500)", "Invoices to Bill": "Invoices to Bill", "Invoices with <>": "Invoices with <>", "Invoices with automatic accounting assignments": "Invoices with automatic accounting assignments", "Invoices with error": "Invoices with error", "Invoices with error (max. 250)": "Invoices with error (max. 250)", "Invoices with error (max. 500)": "Invoices with error (max. 500)", "Invoices with export error": "Invoices with export error", "Invoices with export error (max. 250)": "Invoices with export error (max. 250)", "Invoices with export error (max. 500)": "Invoices with export error (max. 500)", "Invoices with no client": "Invoices with no client", "Invoices with no client (max. 250)": "Invoices with no client (max. 250)", "Invoices with no client (max. 500)": "Invoices with no client (max. 500)", "Invoices with no supplier": "Invoices with no supplier", "Invoices with no supplier (max. 250)": "Invoices with no supplier (max. 250)", "Invoices with no supplier (max. 500)": "Invoices with no supplier (max. 500)", "Is a valid medical prescription available?": "Is a valid medical prescription available?", "Is the invoice itemized by patient and day?": "Is the invoice itemized by patient and day?", "Is the service provider authorized to bill under KVG?": "Is the service provider authorized to bill under KVG?", "Issue": "Issue", "Issues": "Issues", "Processing issues": "Processing issues", "error": "error", "errors": "errors", "warning": "warning", "warnings": "warnings", "It's not allowed to import files with the extension: .%s": "It's not allowed to import files with the extension: .%s", "Job Title": "Job Title", "Kanban": "Kanban", "Keine Rechungen mit vergleichbarer Kontierung gefunden!": "Keine Rechungen mit vergleichbarer Kontierung gefunden!", "Keywords": "Keywords", "Kontierung wurde wurde anhand einer Kontierungsreferenz auf der Rechnung ermittelt": "Kontierung wurde wurde anhand einer Kontierungsreferenz auf der Rechnung ermittelt", "Korean": "Korean", "Kreditoren Workflow": "Kreditoren Workflow", "KST No.": "KST No.", "KST1": "KST1", "KST2": "KST2", "KVG services?": "KVG services?", "Landing": "Landing", "Language": "Language", "Last error": "Last error", "Last Error Info": "Last Error Info", "Last info": "Last info", "Last Modified": "Last Modified", "Last Name": "Last Name", "Layouts": "Layouts", "Licenses": "Licenses", "Life Cycle": "Life Cycle", "Lifecycle State": "Lifecycle State", "Limit for Signature": "Limit for Signature", "Signature": "Signature", "Limit of for signature authorisation exceeded.": "Limit of for signature authorisation exceeded.", "Lists": "Lists", "Local Amount": "Local Amount", "Local Currency": "Local Currency", "Locations": "Locations", "Log Out": "Log Out", "Login": "Login", "Login Name": "Login Name", "main": "main", "Make Address fields editabel": "Make Address fields editabel", "Make your document management easy!": "Make your document management easy!", "Manage AI Rules": "Manage AI Rules", "Manage Invoice Addresses": "Manage Invoice Addresses", "Manage Invoice Booking Periods": "Manage Invoice Booking Periods", "Marked": "Marked", "Medical prescription?": "Medical prescription?", "Menu": "Menu", "Menu Entries": "Menu Entries", "Merge PDFs": "Merge PDFs", "Merge selected PDFs": "Merge selected PDFs", "Minimum 8 characters long - the more, the better": "Minimum 8 characters long - the more, the better", "Missing entries for Address/PK generation from QR Code": "Missing entries for Address/PK generation from QR Code", "Mobile Number": "Mobile Number", "Modified at": "Modified at", "Modified to": "Modified to", "Modify": "Modify", "Modules": "Modules", "More": "More", "More ...": "More ...", "More than one address found for IBAN": "More than one address found for IBAN", "Municipality remainder": "Municipality remainder", "My approved Invoices": "My approved Invoices", "My exported invoices": "My exported invoices", "My Favorites": "My Favorites", "My invalid Invoices": "My invalid Invoices", "My Invoices in approval": "My Invoices in approval", "My Invoices in review": "My Invoices in review", "My Invoices in review/approval": "My Invoices in review/approval", "My Invoices ready for export": "My Invoices ready for export", "My Invoices ready for payment": "My Invoices ready for payment", "My Invoices to approve": "My Invoices to approve", "My Invoices to review": "My Invoices to review", "My last Comments": "My last Comments", "My Profile": "My Profile", "My recent Documents": "My recent Documents", "My recent Invoices": "My recent Invoices", "My rejected invoices": "My rejected invoices", "My reviewed Invoices": "My reviewed Invoices", "My saved Searches": "My saved Searches", "My Searches": "My Searches", "My shared Links": "My shared Links", "My Tasks": "My Tasks", "Name": "Name", "Name the API key": "Name the API key", "Navbar": "Navbar", "Net": "Net", "Net excl. VAT in CHF": "Net excl. VAT in CHF", "netto": "netto", "new": "new", "New \\nAddress": "New \\nAddress", "New Client": "New Client", "New Creditcard files": "New Creditcard files", "New Creditcard files (max. 250)": "New Creditcard files (max. 250)", "New Creditcard files (max. 500)": "New Creditcard files (max. 500)", "New Creditcards": "New Creditcards", "New Debitors": "New Debitors", "New Debitors (max. 250)": "New Debitors (max. 250)", "New Invoices": "New Invoices", "New Invoices (max. 250)": "New Invoices (max. 250)", "New list files (max. 250)": "New list files (max. 250)", "New list files (max. 500)": "New list files (max. 500)", "New Lists": "New Lists", "New Message": "New Message", "New Password": "New Password", "New Receipts": "New Receipts", "New Receipts (max. 250)": "New Receipts (max. 250)", "New Receipts (max. 500)": "New Receipts (max. 500)", "No account assignment": "No account assignment", "No account assignment found on the invoice": "No account assignment found on the invoice", "No Address at admin.ch found!": "No Address at admin.ch found!", "No address found for IBAN": "No address found for IBAN", "no address selected": "no address selected", "No address-no found!": "No address-no found!", "No assignment": "No assignment", "No client": "No client", "no entry found in table obj_table_address for adrnr: %s and client:%s": "no entry found in table obj_table_address for adrnr: %s and client:%s", "no entry found in table obj_table_invoice_address_bank for persnr: %s and pers_type:%s and currency: %s and client:%s": "no entry found in table obj_table_invoice_address_bank for persnr: %s and pers_type:%s and currency: %s and client:%s", "No ERP type was defined for Export": "No ERP type was defined for Export", "No Invoice No": "No Invoice No", "No items selected!": "No items selected!", "No limit for signature authorisation entered.": "No limit for signature authorisation entered.", "no or wrong accounting assignments. The approver could not be found.": "no or wrong accounting assignments. The approver could not be found.", "No pk exists for this address and currency '%s'.\\nPlease change the currency or create a new pk.": "No pk exists for this address and currency '%s'.\\nPlease change the currency or create a new pk.", "No PK/Address found for Export!": "No PK/Address found for Export!", "No related Address found in Reference-DB": "No related Address found in Reference-DB", "No results found": "No results found", "No Supplier": "No Supplier", "No supplier found": "No supplier found", "No supplier/customer found": "No supplier/customer found", "no valid delivery-/service date": "no valid delivery-/service date", "no/wrong iban": "no/wrong iban", "no/wrong taxcode": "no/wrong taxcode", "no_assignment": "no_assignment", "Not a valid booking year!": "Not a valid booking year!", "Please enter the accounting year on the invoice first.": "Please enter the accounting year on the invoice first.", "Not all necessary fields are filled in.\\nPlease fill the following fields first?\\n\\n%s": "Not all necessary fields are filled in.\\nPlease fill the following fields first?\\n\\n%s", "Not Authorized": "Not Authorized", "Numbered": "Numbered", "Obj Type": "Obj Type", "Object modifier report": "Object modifier report", "off": "off", "Offcanvas": "Offcanvas", "Office": "Office", "on": "on", "Once you delete your account, there is no going back. Please be certain.": "Once you delete your account, there is no going back. Please be certain.", "Online Address": "Online Address", "Only a-z A-Z 0-9 +-/_*!": "Only a-z A-Z 0-9 +-/_*!", "only numbers allowed": "only numbers allowed", "Open Debitors": "Open Debitors", "open Debitors": "open Debitors", "open Debitors (%s)": "open Debitors (%s)", "Open Posts": "Open Posts", "Options": "Options", "Order": "Order", "Order Amount": "Order Amount", "Order Details": "Order Details", "Order List": "Order List", "Order no.": "Order no.", "Orders": "Orders", "Other": "Other", "Outpatient?": "Outpatient?", "Outstanding items": "Outstanding items", "Overview": "Overview", "Owner": "Owner", "Pages": "Pages", "Pagination & Breadcrumbs": "Pagination & Breadcrumbs", "paid": "paid", "Paid (last 500 entries)": "Paid (last 500 entries)", "Paid Amount": "Paid Amount", "Paid Currency": "Paid Currency", "Paid Date": "Paid Date", "Paid Debitors": "Paid Debitors", "Paid Debitors (max. 250)": "Paid Debitors (max. 250)", "Paid Debitors (max. 500)": "Paid Debitors (max. 500)", "Paid Infos": "Paid Infos", "Paid Invoices": "Paid Invoices", "Paid Invoices (max. 250)": "Paid Invoices (max. 250)", "Paid Invoices (max. 500)": "Paid Invoices (max. 500)", "Paid Receipts": "Paid Receipts", "Paid Receipts (max. 250)": "Paid Receipts (max. 250)", "Paid Receipts (max. 500)": "Paid Receipts (max. 500)", "Paid State": "Paid State", "part": "part", "Parties": "Parties", "Party": "Party", "Password Requirements:": "Password Requirements:", "Patient": "Patient", "Pay Infos": "Pay Infos", "Payit": "Payit", "Payment": "Payment", "Payment Code": "Payment Code", "Payment Cond. Code": "Payment Cond. Code", "Payment Conditions": "Payment Conditions", "Payment Conditions: ": "Payment Conditions: ", "payment conditions: %s --> %s": "payment conditions: %s --> %s", "Payment Days": "Payment Days", "Payment Discount": "Payment Discount", "Payment Discount Date": "Payment Discount Date", "Payment Discount Days": "Payment Discount Days", "Payment from": "Payment from", "Payment Lock": "Payment Lock", "Payment Name": "Payment Name", "Payment Net Date": "Payment Net Date", "Payment reference": "Payment reference", "Payment Terms": "Payment Terms", "Payment to": "Payment to", "Payment Type": "Payment Type", "Payments": "Payments", "Period From": "Period From", "Period To": "Period To", "Permission": "Permission", "Pers. No.": "Pers. No.", "Pers. Type": "Pers. Type", "Person Account": "Person Account", "Person Account Details": "Person Account Details", "person type missing for export": "person type missing for export", "Personal Account No.": "Personal Account No.", "Personal Key Account": "Personal Key Account", "Personal Key Account Report": "Personal Key Account Report", "Personal Key Accounts": "Personal Key Accounts", "Personal Key Accounts Debitor": "Personal Key Accounts Debitor", "Personal No.": "Personal No.", "Phone Number": "Phone Number", "PK/Bank": "PK/Bank", "Plant": "Plant", "Plant Name": "Plant Name", "Plant No.": "Plant No.", "Plant number": "Plant number", "Plant Short Name": "Plant Short Name", "Plants": "Plants", "Please check the Accounting Area": "Please check the Accounting Area", "Please check the Invoice No": "Please check the Invoice No", "Please drag & drop here": "Please drag & drop here", "Please drag & drop vendor invoices here": "Please drag & drop vendor invoices here", "Please enter a valid amount (e.g., 123.45).": "Please enter a valid amount (e.g., 123.45).", "Please enter a valid date.": "Please enter a valid date.", "Please enter a valid delivery-/service date between the ": "Please enter a valid delivery-/service date between the ", "Please enter a valid delivery-/service date between the '%s' and the '%s'": "Please enter a valid delivery-/service date between the '%s' and the '%s'", "Please enter a valid delivery-/service date between <%date_from%> and <%date_to%>.": "Please enter a valid delivery-/service date between <%date_from%> and <%date_to%>.", "Please enter a valid IBAN (e.g., CH6330000004400005700).": "Please enter a valid IBAN (e.g., CH6330000004400005700).", "Please select an address": "Please select an address", "Please select only the first page to which the others should be added.": "Please select only the first page to which the others should be added.", "Please select the first page to which the others should be added.": "Please select the first page to which the others should be added.", "Please verify the account assignment": "Please verify the account assignment", "Please verify the city": "Please verify the city", "Please verify the company name": "Please verify the company name", "Please verify the country": "Please verify the country", "Please verify the e-mail": "Please verify the e-mail", "Please verify the IBAN": "Please verify the IBAN", "Please verify the invoice": "Please verify the invoice", "Please verify the payment conditions": "Please verify the payment conditions", "Please verify the street": "Please verify the street", "Please verify the tax code": "Please verify the tax code", "Please verify the telephone": "Please verify the telephone", "Please verify the terms and conditions": "Please verify the terms and conditions", "Please verify the web address": "Please verify the web address", "Please verify the zip code": "Please verify the zip code", "Please wait...": "Please wait...", "Post-IT": "Post-IT", "Preview": "Preview", "Pricing": "Pricing", "Process": "Process", "processing invoice id: %s": "processing invoice id: %s", "Profile": "Profile", "Profile changed from '<%old_profile%>' to '<%new_profile%>'.": "Profile changed from '<%old_profile%>' to '<%new_profile%>'.", "Profile Details": "Profile Details", "QR reference has an incorrect checksum.": "QR reference has an incorrect checksum.", "Quantity": "Quantity", "Rate": "Rate", "ready for export(max. 250)": "ready for export(max. 250)", "ready to export": "ready to export", "Receipt": "Receipt", "receipt": "receipt", "Receipt (Company)": "Receipt (Company)", "Receipt (Private)": "Receipt (Private)", "Receipt Account No.": "Receipt Account No.", "Receipt Dashboard": "Receipt Dashboard", "Receipt No.": "Receipt No.", "Receipt upload": "Receipt upload", "Receipt Vendor Bank": "Receipt Vendor Bank", "Receipts": "Receipts", "Receipts (%s)": "Receipts (%s)", "Receipts filtered by %s : %s": "Receipts filtered by %s : %s", "Receipts in approval": "Receipts in approval", "Receipts in approval (max. 250)": "Receipts in approval (max. 250)", "Receipts in approval (max. 500)": "Receipts in approval (max. 500)", "Receipts in Error": "Receipts in Error", "Receipts in Error (max. 250)": "Receipts in Error (max. 250)", "Receipts in Error (max. 500)": "Receipts in Error (max. 500)", "Receipts in process": "Receipts in process", "Receipts in process (max. 250)": "Receipts in process (max. 250)", "Receipts in process (max. 500)": "Receipts in process (max. 500)", "Receipts in review": "Receipts in review", "Receipts in review (max. 250)": "Receipts in review (max. 250)", "Receipts in review (max. 500)": "Receipts in review (max. 500)", "Receipts ready for export": "Receipts ready for export", "Receipts ready for export (max. 250)": "Receipts ready for export (max. 250)", "Receipts ready for export (max. 500)": "Receipts ready for export (max. 500)", "Receipts ready for payment": "Receipts ready for payment", "Receipts ready for payment (max. 250)": "Receipts ready for payment (max. 250)", "Receipts ready for payment (max. 500)": "Receipts ready for payment (max. 500)", "Receipts to Bill": "Receipts to Bill", "Receipts with <>": "Receipts with <>", "Receipts with error": "Receipts with error", "Receipts with error (max. 250)": "Receipts with error (max. 250)", "Receipts with error (max. 500)": "Receipts with error (max. 500)", "Receipts with export error": "Receipts with export error", "Receipts with export error (max. 250)": "Receipts with export error (max. 250)", "Receipts with export error (max. 500)": "Receipts with export error (max. 500)", "Receipts with no client": "Receipts with no client", "Receipts with no client (max. 250)": "Receipts with no client (max. 250)", "Receipts with no client (max. 500)": "Receipts with no client (max. 500)", "Receipts with no customer": "Receipts with no customer", "Receipts with no customer (max. 500)": "Receipts with no customer (max. 500)", "Receipts with no supplier": "Receipts with no supplier", "Receipts with no supplier (max. 250)": "Receipts with no supplier (max. 250)", "Receiving Bank": "Receiving Bank", "Receiving E-Mail Mapping to Client": "Receiving E-Mail Mapping to Client", "Recent creditcards": "Recent creditcards", "Recent creditors": "Recent creditors", "Recent debitors": "Recent debitors", "Recent debtors": "Recent debtors", "Recent invoices": "Recent invoices", "Recent orders": "Recent orders", "Recent receipts": "Recent receipts", "Ref. Address": "Ref. Address", "Reference format is incorrect. Please provide a valid QR or Creditor reference.": "Reference format is incorrect. Please provide a valid QR or Creditor reference.", "Reference ID": "Reference ID", "References": "References", "Referrals": "Referrals", "Register": "Register", "Reimburse": "Reimburse", "Reimbursed": "Reimbursed", "Reject": "Reject", "Rejected": "Rejected", "rejected by workflow abortion": "rejected by workflow abortion", "Rejected Debitors": "Rejected Debitors", "Rejected Debitors (max. 250)": "Rejected Debitors (max. 250)", "Rejected Debitors (max. 500)": "Rejected Debitors (max. 500)", "Rejected Invoices": "Rejected Invoices", "Rejected Invoices (max. 250)": "Rejected Invoices (max. 250)", "Rejected Invoices (max. 500)": "Rejected Invoices (max. 500)", "Rejected Receipts": "Rejected Receipts", "Rejected Receipts (max. 250)": "Rejected Receipts (max. 250)", "Rejected Receipts (max. 500)": "Rejected Receipts (max. 500)", "Related objects": "Related objects", "Reload Accounting Infos": "Reload Accounting Infos", "Reset": "Reset", "Reset Password": "Reset Password", "Calculating...": "Calculating...", "Calculating dashboard results...": "Calculating dashboard results...", "Rows per load": "Rows per load", "invoice_month_short_01": "Jan", "invoice_month_short_02": "Feb", "invoice_month_short_03": "Mar", "invoice_month_short_04": "Apr", "invoice_month_short_05": "May", "invoice_month_short_06": "Jun", "invoice_month_short_07": "Jul", "invoice_month_short_08": "Aug", "invoice_month_short_09": "Sep", "invoice_month_short_10": "Oct", "invoice_month_short_11": "Nov", "invoice_month_short_12": "Dec", "Resident?": "Resident?", "Responsible corresponds to the reviewer. Invoice was forwarded to the line manager": "Responsible corresponds to the reviewer. Invoice was forwarded to the line manager", "Responsible Id": "Responsible Id", "Results": "Results", "Review": "Review", "Review/Approve": "Review/Approve", "Reviewed": "Reviewed", "Reviewer": "Reviewer", "Rising": "Rising", "Rising change in %": "Rising change in %", "Role": "Role", "Roles": "Roles", "Roles & Permissions": "Roles & Permissions", "root": "root", "Run import E-Mails": "Run import E-Mails", "s A/B": "s A/B", "Save": "Save", "Save && Close": "Save && Close", "Save address incl. bankdatas": "Save address incl. bankdatas", "Save Address/PK": "Save Address/PK", "Save as AI rule": "Save as AI rule", "Save bank infos to PK": "Save bank infos to PK", "Save changes": "Save changes", "Save changes into existing PK/Address": "Save changes into existing PK/Address", "Save values to PK": "Save values to PK", "Search": "Search", "Search (Ctrl+/)": "Search (Ctrl+/)", "Search [CTRL + K]": "Search [CTRL + K]", "Search Address Online": "Search Address Online", "Search for Amount": "Search for Amount", "Search for Department": "Search for Department", "Search for Invoice Num.": "Search for Invoice Num.", "Search for Status": "Search for Status", "Search for Supplier": "Search for Supplier", "Search in all invoices": "Search in all invoices", "Search in all my invoices": "Search in all my invoices", "Searches open, exported and completed invoices where you were involved": "Searches open, exported and completed invoices where you were involved", "Search in Fulltext": "Search in Fulltext", "Search in Reference-DB": "Search in Reference-DB", "Search in selected status": "Search in selected status", "Search pk": "Search pk", "Search Results": "Search Results", "Search Results (max. 500)": "Search Results (max. 500)", "Search Results for Tasks": "Search Results for Tasks", "Search...": "Search...", "Security": "Security", "Select creditcard(s)": "Select creditcard(s)", "Select creditor(s)": "Select creditor(s)", "Select debtor(s)": "Select debtor(s)", "Select permanent file(s)": "Select permanent file(s)", "Select Personal Account Key": "Select Personal Account Key", "Select receipt(s)": "Select receipt(s)", "Select tags": "Select tags", "Send Alerts": "Send Alerts", "Send overdue report": "Send overdue report", "Send reminder job": "Send reminder job", "Send PO overdue report": "Send PO overdue report", "Send PO reminder job": "Send PO reminder job", "Send Reports": "Send Reports", "PO E-mail Texts": "PO E-mail Texts", "PO E-mail Signatures": "PO E-mail Signatures", "PO E-mail Text": "PO E-mail Text", "PO E-mail Signature": "PO E-mail Signature", "Template key": "Template key", "Signature key": "Signature key", "Signature preview": "Signature preview", "Maintains purchase order e-mail texts by language.": "Maintains purchase order e-mail texts by language.", "Maintains purchase order e-mail signatures.": "Maintains purchase order e-mail signatures.", "sending {ref} to AI ID: : Model: {model}": "sending {ref} to AI ID: : Model: {model}", "sending {ref} to AI with Swiss QR Code: Model: {model}": "sending {ref} to AI with Swiss QR Code: Model: {model}", "Service provider?": "Service provider?", "Set error invoice to new": "Set error invoice to new", "Set invoice to approved": "Set invoice to approved", "Set invoice to approved with comment": "Set invoice to approved with comment", "Set invoice to export to ERP": "Set invoice to export to ERP", "Set invoice to invalid": "Set invoice to invalid", "Set invoice to rejected": "Set invoice to rejected", "Set invoice to reviewed": "Set invoice to reviewed", "Set invoice to reviewed with comment": "Set invoice to reviewed with comment", "Set Invoices to paid ": "Set Invoices to paid ", "Set Maximized": "Set Maximized", "Set to approved": "Set to approved", "Set to check address": "Set to check address", "Set to check client": "Set to check client", "Set to controlled": "Set to controlled", "Set to exported": "Set to exported", "Set to imported": "Set to imported", "Set to invalid": "Set to invalid", "Set to new": "Set to new", "Set to paid": "Set to paid", "set to paid, with Paid Text: <%description%> on: <%date_paid%>": "set to paid, with Paid Text: <%description%> on: <%date_paid%>", "Set to ready to Export to sage50": "Set to ready to Export to sage50", "Set to ready to pay": "Set to ready to pay", "Set to rejected": "Set to rejected", "Set to reviewed": "Set to reviewed", "Set to start WF": "Set to start WF", "Settings": "Settings", "Show Address": "Show Address", "Show address in Zefix": "Show address in Zefix", "Show Addresses": "Show Addresses", "Show bank data": "Show bank data", "Show Feed": "Show Feed", "Show filters": "Show filters", "Show import Report": "Show import Report", "Show Pers Accounts": "Show Pers Accounts", "show_invoice_creditcard_tab": "show_invoice_creditcard_tab", "show_invoice_debitor_tab": "show_invoice_debitor_tab", "show_invoice_preview": "show_invoice_preview", "show_invoice_receipt_tab": "show_invoice_receipt_tab", "show_invoice_splitted_file_tab": "show_invoice_splitted_file_tab", "Size": "Size", "Soc. Type?": "Soc. Type?", "Social invoice?": "Social invoice?", "Social?": "Social?", "Sofor": "Sofor", "sofor": "sofor", "Sofort": "Sofort", "sofort": "sofort", "Source": "Source", "Splitted files archive": "Splitted files archive", "Start approval workflow": "Start approval workflow", "Start approval workflow with comment": "Start approval workflow with comment", "Start Value Adress No": "Start Value Adress No", "Start Value Barcode": "Start Value Barcode", "Start Value Creditor No": "Start Value Creditor No", "Start Value Creditor Person No": "Start Value Creditor Person No", "Start Value Debitor No": "Start Value Debitor No", "Start Value Debitor Person No": "Start Value Debitor Person No", "Start Workflow": "Start Workflow", "State": "State", "Statistics": "Statistics", "status automatically changed to <%obj_lifecycle_state%>!": "status automatically changed to <%obj_lifecycle_state%>!", "status changed to <%obj_lifecycle_state%>": "status changed to <%obj_lifecycle_state%>", "Store Details": "Store Details", "Street": "Street", "Street/ZIP/City/Country": "Street/ZIP/City/Country", "Street: ": "Street: ", "Subject": "Subject", "Submit": "Submit", "Subscriber Number": "Subscriber Number", "Subsidary": "Subsidary", "Successfully exported to <%erp_name%> Cloud into client '<%client_accounting%>' and year '<%year%>'": "Successfully exported to <%erp_name%> Cloud into client '<%client_accounting%>' and year '<%year%>'", "Successfully exported to Abacus": "Successfully exported to Abacus", "successfully exported to sage": "successfully exported to sage", "Successfully exported to sage200": "Successfully exported to sage200", "Successfully exported to sage50": "Successfully exported to sage50", "successfully exported to sage50": "successfully exported to sage50", "successfully exported to sage50: '%s' and year: '%s'": "successfully exported to sage50: '%s' and year: '%s'", "Successfully Successfully exported to Accounto": "Successfully Successfully exported to Accounto", "Swiss francs": "Swiss francs", "T30": "T30", "T30N2": "T30N2", "Tag(e)": "Tag(e)", "Tax": "Tax", "Tax Amount Local Currency": "Tax Amount Local Currency", "Tax Code": "Tax Code", "Tax Code: ": "Tax Code: ", "Tax ID": "Tax ID", "Tax Rate": "Tax Rate", "Taxes": "Taxes", "Telephone": "Telephone", "Telephone: ": "Telephone: ", "Terms and Conditions": "Terms and Conditions", "Test invoice": "Test invoice", "Test mode": "Test mode", "The entry in the account assignment for the person responsible corresponds to the reviewer. Invoice was forwarded to the line manager": "The entry in the account assignment for the person responsible corresponds to the reviewer. Invoice was forwarded to the line manager", "The invoice may have been entered twice": "The invoice may have been entered twice", "the sage50 export for client: '<%client_accounting%>' and year: '<%year%>' has timed out! Was not able to transfer data to external system!": "the sage50 export for client: '<%client_accounting%>' and year: '<%year%>' has timed out! Was not able to transfer data to external system!", "the sage50 export has timed out! Please check sage50 Beamnt interface!": "the sage50 export has timed out! Please check sage50 Beamnt interface!", "The value must be at least ${minLength} characters long.": "The value must be at least ${minLength} characters long.", "The value must be no more than ${maxLength} characters long.": "The value must be no more than ${maxLength} characters long.", "This invoice is not in an existing booking period": "This invoice is not in an existing booking period", "This PK/Address already exists.\\nDo you want to use the existing PK/Address entry?\\n\\n${validation}": "This PK/Address already exists.\\nDo you want to use the existing PK/Address entry?\\n\\n${validation}", "Thumbnail": "Thumbnail", "Timestamp": "Timestamp", "Title": "Title", "Title/Booking text": "Title/Booking text", "To": "To", "Too many results. Showing only first ": "Too many results. Showing only first ", "Too many results. Showing only first %s results.": "Too many results. Showing only first %s results.", "too much": "too much", "Tot. excl. Rising": "Tot. excl. Rising", "Tot. incl. Rising": "Tot. incl. Rising", "Total Creditcards:": "Total Creditcards:", "Total Creditors to pay": "Total Creditors to pay", "Total Creditors to pay:": "Total Creditors to pay:", "Total Creditors:": "Total Creditors:", "Total Debitors:": "Total Debitors:", "Total Files:": "Total Files:", "Total Gross: ": "Total Gross: ", "Total invoices per approver": "Total invoices per approver", "Total invoices per reviewer": "Total invoices per reviewer", "Total open Debitors:": "Total open Debitors:", "Total per account assignment": "Total per account assignment", "Total per KST1": "Total per KST1", "Total per KST2": "Total per KST2", "Total per plant number": "Total per plant number", "Total Receipts:": "Total Receipts:", "Type": "Type", "Assignee Type User": "Employee", "Assignee Type Group": "Department", "Type your message here...": "Type your message here...", "unsupported esr code type '%s'": "unsupported esr code type '%s'", "update %s %s of tenant-id: '%s'": "update %s %s of tenant-id: '%s'", "Upload creditcard file(s)": "Upload creditcard file(s)", "Upload creditor file(s)": "Upload creditor file(s)", "Upload debtor file(s)": "Upload debtor file(s)", "Upload file(s)": "Upload file(s)", "Upload invoice(s)": "Upload invoice(s)", "Upload order file(s)": "Upload order file(s)", "Upload PDF(s)": "Upload PDF(s)", "Upload permanent file(s)": "Upload permanent file(s)", "Upload receipt file(s)": "Upload receipt file(s)", "Upload Vendor invoices": "Upload Vendor invoices", "uploadet": "uploadet", "User": "User", "User ID": "User ID", "User interface": "User interface", "User Profile": "User Profile", "Username": "Username", "Valuta": "Valuta", "VAT": "VAT", "VAT (B)": "VAT (B)", "VAT Amount": "VAT Amount", "VAT amount in CHF": "VAT amount in CHF", "VAT Code": "VAT Code", "VAT ID": "VAT ID", "VAT Name": "VAT Name", "VAT No.": "VAT No.", "Vendor Bank": "Vendor Bank", "Vendor Bank Properties": "Vendor Bank Properties", "Verify Email": "Verify Email", "Version added": "Version added", "Warning(s)": "Warning(s)", "was not able to transfer data to external system!": "was not able to transfer data to external system!", "Was the insured person a resident of the municipality at the time of service?": "Was the insured person a resident of the municipality at the time of service?", "Web Address": "Web Address", "Web: ": "Web: ", "Welcome": "Welcome", "WIKI": "WIKI", "work": "work", "Workflow": "Workflow", "Workflow automatically started": "Workflow automatically started", "Workflow started by <%user%>": "Workflow started", "Wrong booking period": "Wrong booking period", "wrong data format imported": "wrong data format imported", "year missing for export!": "year missing for export!", "Zefix": "Zefix", "ZIP": "ZIP", "ZIP Code": "ZIP Code", "ZIP: ": "ZIP: ", "Save the purchase order first, then add article rows.": "Save the purchase order first, then add article rows.", "Articles": "Articles", "Offers": "Offers", "Vendors": "Vendors", "entries": "entries", "Vendor": "Vendor", "Price": "Price", "Total": "Total", "Best Price": "Best Price", "Add article row": "Add article row", "Article rows are not configured in this environment.": "Article rows are not configured in this environment.", "Displaying purchase order rows.": "Displaying purchase order rows.", "PO Auto Extract": "PO Auto Extract", "PO Auto Extract Rows From Offer": "PO Auto Extract Rows From Offer", "PO Auto Extract Supplier Fill Empty Only": "PO Auto Extract Supplier Fill Empty Only", "PO Auto Extract Vendor USP After All Offers": "PO Auto Extract Vendor USP After All Offers", "Generate Vendor USP": "Generate Vendor USP", "AI: Auto extract PO rows from offers": "AI: Auto extract PO rows from offers", "AI: Fill supplier fields only when empty": "AI: Fill supplier fields only when empty", "AI is running. Articles are being extracted...": "AI is running. Articles are being extracted...", "Uploading offer...": "Uploading offer...", "Extracting text...": "Extracting text...", "Searching supplier address...": "Searching supplier address...", "Supplier address found.": "Supplier address found.", "No supplier address match found. Extracting supplier data with AI...": "No supplier address match found. Extracting supplier data with AI...", "Extracting articles...": "Extracting articles...", "Updating articles...": "Updating articles...", "Upload and extraction completed.": "Upload and extraction completed.", "Reanalyze offer with AI": "Reanalyze offer with AI", "Reanalyzing offer with AI...": "Reanalyzing offer with AI...", "Offer reanalysis completed.": "Offer reanalysis completed.", "Drop files to upload. AI extracts articles and supplier data automatically.": "Drop files to upload. AI extracts articles and supplier data automatically.", "Drop files here to add supplier attachments.": "Drop files here to add supplier attachments.", "Drop files here to upload directly.": "Drop files here to upload directly.", "AI done": "AI done", "No offer uploaded": "No offer uploaded", "An offer already exists for this supplier. Do you want to replace it?": "An offer already exists for this supplier. Do you want to replace it?", "Do you want to clear the existing supplier and article data and extract it again from the new offer?": "Do you want to clear the existing supplier and article data and extract it again from the new offer?", "Replace existing offer?": "Replace existing offer?", "This supplier already has an offer. Choose how the new upload should be handled.": "This supplier already has an offer. Choose how the new upload should be handled.", "Replace existing offer": "Replace existing offer", "The current offer file will be removed and replaced by the new file.": "The current offer file will be removed and replaced by the new file.", "Reload supplier and article data": "Reload supplier and article data", "Existing supplier and article data will be cleared and extracted again from the new offer.": "Existing supplier and article data will be cleared and extracted again from the new offer.", "Replace": "Replace", "Only one offer can be uploaded per supplier.": "Only one offer can be uploaded per supplier.", "This supplier already has an offer. The upload was rejected.": "This supplier already has an offer. The upload was rejected.", "Paid": "Paid", "Open purchase orders": "Open purchase orders", "Waiting for Division Head": "Waiting for Division Head", "Waiting for Finance": "Waiting for Finance", "Waiting for Management": "Waiting for Management", "To order": "To order", "Waiting for delivery": "Waiting for delivery", "Invoice missing": "Invoice missing", "Payment open": "Payment open", "Exceptions": "Exceptions", "PO rows were extracted automatically from uploaded offer.": "PO rows were extracted automatically from uploaded offer.", "PO created by <%user%>": "PO created by <%user%>", "Purchase Order workflow started by <%user%>": "Purchase Order workflow started by <%user%>", "Purchase Order reviewed by <%user%>": "Purchase Order reviewed by <%user%>", "Purchase Order approved by Finance by <%user%>": "Purchase Order approved by Finance by <%user%>", "Purchase Order approved by Management by <%user%>": "Purchase Order approved by Management by <%user%>", "Purchase Order ordered by <%user%>": "Purchase Order ordered by <%user%>", "Purchase Order invoice submitted to Finance by <%user%>": "Purchase Order invoice submitted to Finance by <%user%>", "Purchase Order marked as paid by <%user%>": "Purchase Order marked as paid by <%user%>", "PO finance invoice check warning: <%checks%>": "PO finance invoice check warning: <%checks%>", "Purchase Order ready for export by <%user%>": "Purchase Order ready for export by <%user%>", "Purchase Order rejected by <%user%>": "Purchase Order rejected by <%user%>", "Purchase Order set to invalid by <%user%>": "Purchase Order set to invalid by <%user%>", "Purchase Order was created.": "Purchase Order was created.", "At least one vendor offer is required.": "At least one vendor offer is required.", "Please complete the required vendor fields.": "Please complete the required vendor fields.", "Please check the process assignments.": "Please check the process assignments.", "Please enter a valid vendor e-mail address.": "Please enter a valid vendor e-mail address.", "Please enter a valid vendor phone number.": "Please enter a valid vendor phone number.", "Complete the previous vendor first.": "Complete the previous vendor first.", "My Review Dashboard": "My Review Dashboard", "Department Invoices": "Department Invoices", "My Invoices (Visum)": "My Invoices (Visum)", "Week": "Week", "Month": "Month", "YTD": "YTD", "Count": "Count", "Invoice Count": "Invoice Count", "Avg Processing (d)": "Avg Processing (d)", "Unassigned": "Unassigned", "{status.capitalize()} 'sync {action} for tenant {tenant_id}'": "{status.capitalize()} 'sync {action} for tenant {tenant_id}'", "Amount Total CHF": "Amount Total CHF", "Processing Time": "Processing Time", "Total Invoices": "Total Invoices", "Avg Release Time - All Approvals": "Avg Release Time - All Approvals", "Avg Release Time - Department": "Avg Release Time - Department", "Avg My Release Time": "Avg My Release Time", "Open Only": "Open Only", "Top 10 Suppliers": "Top 10 Suppliers", "By Accounting Area (Count + CHF)": "By Accounting Area (Count + CHF)", "Supplier Metric": "Supplier Metric", "Completed Task": "Completed Task", "Chart unavailable": "Chart unavailable", "Missing": "Missing", "Show results": "Show results", "Results are loaded on demand for better performance.": "Results are loaded on demand for better performance.", "Toggle dashboard": "Toggle dashboard", "Start date": "Start date", "Release start date": "Release start date", "Invoice date": "Invoice date", "Received date": "Received date", "Invoice Summary": "Invoice Summary", "Invoice Date Basis": "Invoice Date Basis", "Until": "Until", "Open Invoices": "Open Invoices", "Processing Days": "Processing Days", "Provisional Processing Days": "Provisional Processing Days", "CQ Total": "CQ Total", "CQ Department": "CQ Department", "CQ Visa": "CQ Visa", "Visa": "Visa", "My Approvals": "My Approvals", "Counts all invoices in the selected date range after the dashboard filters are applied. The scope buttons limit this to all invoices, department invoices, or invoices assigned to you.": "Counts all invoices in the selected date range after the dashboard filters are applied. The scope buttons limit this to all invoices, department invoices, or invoices assigned to you.", "Adds up the gross amount in CHF for the invoices currently included by the date range, scope, open/closed mode, and chart filters.": "Adds up the gross amount in CHF for the invoices currently included by the date range, scope, open/closed mode, and chart filters.", "Counts invoices whose lifecycle status is interpreted as approved or released within the currently filtered invoice set.": "Counts invoices whose lifecycle status is interpreted as approved or released within the currently filtered invoice set.", "Shows the average number of days from invoice receipt to release. If no invoice date is available, the created date is used where possible.": "Shows the average number of days from invoice receipt to release. If no invoice date is available, the created date is used where possible.", "Average release time across all approval steps. Step 1 starts from the selected start date: invoice date or received date. Later steps are measured from the previous assignee date to the next assignee date. Incomplete steps are ignored.": "Average release time across all approval steps. Step 1 starts from the selected start date: invoice date or received date. Later steps are measured from the previous assignee date to the next assignee date. Incomplete steps are ignored.", "Average release time for approval steps in the selected departments. It uses the selected start date for step 1 and only includes rows matching the department filter.": "Average release time for approval steps in the selected departments. It uses the selected start date for step 1 and only includes rows matching the department filter.", "Average release time for approval steps where you were the assignee. Step 1 uses the selected start date; later steps use the previous assignee date. Incomplete steps are ignored.": "Average release time for approval steps where you were the assignee. Step 1 uses the selected start date; later steps use the previous assignee date. Incomplete steps are ignored.", "Shows the share of invoices that are approved or released compared with all invoices in the currently filtered result set.": "Shows the share of invoices that are approved or released compared with all invoices in the currently filtered result set.", "Groups the filtered invoices by the selected period. Count shows invoice volume, CHF shows total gross amount, and Avg Processing shows average processing days for each bucket.": "Groups the filtered invoices by the selected period. Count shows invoice volume, CHF shows total gross amount, and Avg Processing shows average processing days for each bucket.", "Groups the filtered invoices by accounting area and shows both invoice count and total gross amount per area.": "Groups the filtered invoices by accounting area and shows both invoice count and total gross amount per area.", "Shows the top suppliers in the filtered invoice set. The toggle switches between ranking by invoice count and ranking by total gross amount.": "Shows the top suppliers in the filtered invoice set. The toggle switches between ranking by invoice count and ranking by total gross amount.", "Summarizes all and open invoices for the selected report date range. Processing days use invoice date as the start date.": "Summarizes all and open invoices for the selected report date range. Processing days use invoice date as the start date.", "Acct. Code": "Acct. Code", "Kst.": "Kst.", "Controlling stop": "Controlling stop", "High amount review": "High amount review", "High amount review invoices": "High amount review invoices", "High amount review skipped: disabled": "High amount review skipped: disabled.", "High amount review skipped: field high_amount_review_status is missing": "High amount review skipped: field high_amount_review_status is missing.", "High amount review finished: no matching invoices": "High amount review finished: no matching invoices.", "High amount review finished: %(invoice_count)s invoice(s), %(role_recipient_count)s role recipient(s), %(assignee4_recipient_count)s assignee4 recipient(s)": "High amount review finished: %(invoice_count)s invoice(s), %(role_recipient_count)s role recipient(s), %(assignee4_recipient_count)s assignee4 recipient(s).", "Invoices pending high amount review acknowledgement": "Invoices pending high amount review acknowledgement", "No invoices pending high amount review.": "No invoices pending high amount review.", "You are not allowed to perform this high amount review action.": "You are not allowed to perform this high amount review action.", "You have unsaved changes. Save before continuing?": "You have unsaved changes. Save before continuing?", "Discard unsaved changes and continue?": "Discard unsaved changes and continue?", "Read": "Read", "Approval Task": "Approval Task", "Starts at": "Starts at"}); window.cqTranslationTable = window.cqTranslations; window.cqTranslate = window.cqTranslate || function (key, fallback) { const dict = window.cqTranslations || {}; if (key == null) return fallback != null ? fallback : ''; const value = dict[String(key)]; return value != null && value !== '' ? value : (fallback != null ? fallback : key); }; window.cqLoadTranslations = window.cqLoadTranslations || async function (language) { const lang = String(language || window.cqLanguage || 'de').toLowerCase(); try { const response = await fetch('/webui/translation-table?language=' + encodeURIComponent(lang), { credentials: 'same-origin' }); if (!response.ok) { throw new Error('translation_table_http_' + response.status); } const json = await response.json(); window.cqLanguage = lang; window.cqTranslations = json && typeof json === 'object' ? json : {}; window.cqTranslationTable = window.cqTranslations; return window.cqTranslations; } catch (err) { console.error('Failed to load centraQuest translations', err); return window.cqTranslations || {}; } }; window.isRtl = window.Helpers.isRtl(); window.isDarkStyle = window.Helpers.isDarkStyle(); let menu, animate, isHorizontalLayout = false; if (document.getElementById('layout-menu')) { isHorizontalLayout = document.getElementById('layout-menu').classList.contains('menu-horizontal'); } document.addEventListener('DOMContentLoaded', function () { // class for ios specific styles if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) { document.body.classList.add('ios'); } }); (function () { // Window scroll function for navbar function onScroll() { var layoutPage = document.querySelector('.layout-page'); if (layoutPage) { if (window.scrollY > 0) { layoutPage.classList.add('window-scrolled'); } else { layoutPage.classList.remove('window-scrolled'); } } } // On load time out setTimeout(() => { onScroll(); }, 200); // On window scroll window.onscroll = function () { onScroll(); }; setTimeout(function () { window.Helpers.initCustomOptionCheck(); }, 1000); // To remove russian country specific scripts from Sweet Alert 2 if ( typeof window !== 'undefined' && /^ru\b/.test(navigator.language) && location.host.match(/\.(ru|su|by|xn--p1ai)$/) ) { localStorage.removeItem('swal-initiation'); document.body.style.pointerEvents = 'system'; setInterval(() => { if (document.body.style.pointerEvents === 'none') { document.body.style.pointerEvents = 'system'; } }, 100); HTMLAudioElement.prototype.play = function () { return Promise.resolve(); }; } if (typeof Waves !== 'undefined') { Waves.init(); Waves.attach( ".btn[class*='btn-']:not(.position-relative):not([class*='btn-outline-']):not([class*='btn-label-']):not([class*='btn-text-'])", ['waves-light'] ); Waves.attach("[class*='btn-outline-']:not(.position-relative)"); Waves.attach("[class*='btn-label-']:not(.position-relative)"); Waves.attach("[class*='btn-text-']:not(.position-relative)"); Waves.attach('.pagination:not([class*="pagination-outline-"]) .page-item.active .page-link', ['waves-light']); Waves.attach('.pagination .page-item .page-link'); Waves.attach('.dropdown-menu .dropdown-item'); Waves.attach('[data-bs-theme="light"] .list-group .list-group-item-action'); Waves.attach('[data-bs-theme="dark"] .list-group .list-group-item-action', ['waves-light']); Waves.attach('.nav-tabs:not(.nav-tabs-widget) .nav-item .nav-link'); Waves.attach('.nav-pills .nav-item .nav-link', ['waves-light']); } // Initialize menu //----------------- let layoutMenuEl = document.querySelectorAll('#layout-menu'); layoutMenuEl.forEach(function (element) { menu = new Menu(element, { orientation: isHorizontalLayout ? 'horizontal' : 'vertical', closeChildren: isHorizontalLayout ? true : false, // ? This option only works with Horizontal menu showDropdownOnHover: localStorage.getItem('templateCustomizer-' + templateName + '--ShowDropdownOnHover') // If value(showDropdownOnHover) is set in local storage ? localStorage.getItem('templateCustomizer-' + templateName + '--ShowDropdownOnHover') === 'true' // Use the local storage value : window.templateCustomizer !== undefined // If value is set in config.js ? window.templateCustomizer.settings.defaultShowDropdownOnHover // Use the config.js value : true // Use this if you are not using the config.js and want to set value directly from here }); // Change parameter to true if you want scroll animation window.Helpers.scrollToActive((animate = false)); window.Helpers.mainMenu = menu; }); // Initialize menu togglers and bind click on each let menuToggler = document.querySelectorAll('.layout-menu-toggle'); menuToggler.forEach(item => { item.addEventListener('click', event => { event.preventDefault(); window.Helpers.toggleCollapsed(); // Enable menu state with local storage support if enableMenuLocalStorage = true from config.js if (config.enableMenuLocalStorage && !window.Helpers.isSmallScreen()) { try { localStorage.setItem( 'templateCustomizer-' + templateName + '--LayoutCollapsed', String(window.Helpers.isCollapsed()) ); // Update customizer checkbox state on click of menu toggler let layoutCollapsedCustomizerOptions = document.querySelector('.template-customizer-layouts-options'); if (layoutCollapsedCustomizerOptions) { let layoutCollapsedVal = window.Helpers.isCollapsed() ? 'collapsed' : 'expanded'; layoutCollapsedCustomizerOptions.querySelector(`input[value="${layoutCollapsedVal}"]`).click(); } } catch (e) {} } }); }); // Menu swipe gesture // Detect swipe gesture on the target element and call swipe In window.Helpers.swipeIn('.drag-target', function (e) { window.Helpers.setCollapsed(false); }); // Detect swipe gesture on the target element and call swipe Out window.Helpers.swipeOut('#layout-menu', function (e) { if (window.Helpers.isSmallScreen()) window.Helpers.setCollapsed(true); }); // Display in main menu when menu scrolls let menuInnerContainer = document.getElementsByClassName('menu-inner'), menuInnerShadow = document.getElementsByClassName('menu-inner-shadow')[0]; if (menuInnerContainer.length > 0 && menuInnerShadow) { menuInnerContainer[0].addEventListener('ps-scroll-y', function () { if (this.querySelector('.ps__thumb-y').offsetTop) { menuInnerShadow.style.display = 'block'; } else { menuInnerShadow.style.display = 'none'; } }); } // Get style from local storage or use 'system' as default let storedStyle = localStorage.getItem('templateCustomizer-' + templateName + '--Theme') || // if no template style then use Customizer style (window.templateCustomizer?.settings?.defaultStyle ?? document.documentElement.getAttribute('data-bs-theme')); //!if there is no Customizer then use default style as light // Run switchImage function based on the stored style window.Helpers.switchImage(storedStyle); // Update light/dark image based on current style window.Helpers.setTheme(window.Helpers.getPreferredTheme()); window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { const storedTheme = window.Helpers.getStoredTheme(); if (storedTheme !== 'light' && storedTheme !== 'dark') { window.Helpers.setTheme(window.Helpers.getPreferredTheme()); } }); function getScrollbarWidth() { const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth; document.body.style.setProperty('--bs-scrollbar-width', `${scrollbarWidth}px`); } getScrollbarWidth(); window.addEventListener('DOMContentLoaded', () => { window.Helpers.showActiveTheme(window.Helpers.getPreferredTheme()); getScrollbarWidth(); // Toggle Universal Sidebar window.Helpers.initSidebarToggle(); document.querySelectorAll('[data-bs-theme-value]').forEach(toggle => { toggle.addEventListener('click', () => { const theme = toggle.getAttribute('data-bs-theme-value'); window.Helpers.setStoredTheme(templateName, theme); window.Helpers.setTheme(theme); window.Helpers.showActiveTheme(theme, true); window.Helpers.syncCustomOptions(theme); let currTheme = theme; if (theme === 'system') { currTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; } const semiDarkL = document.querySelector('.template-customizer-semiDark'); if (semiDarkL) { if (theme === 'dark') { semiDarkL.classList.add('d-none'); } else { semiDarkL.classList.remove('d-none'); } } window.Helpers.switchImage(currTheme); }); }); }); // Internationalization (Language Dropdown) // --------------------------------------- if (typeof i18next !== 'undefined' && typeof i18NextHttpBackend !== 'undefined') { i18next .use(i18NextHttpBackend) .init({ lng: window.cqLanguage || (window.templateCustomizer ? window.templateCustomizer.settings.lang : 'en'), debug: false, fallbackLng: 'en', backend: { loadPath: assetsPath + 'json/locales/{{lng}}.json' }, returnObjects: true }) .then(function (t) { localize(); }); } let languageDropdown = document.getElementsByClassName('dropdown-language'); function markActiveLanguage(language) { const lang = String(language || '').toLowerCase(); if (!languageDropdown.length) return; let dropdownItems = languageDropdown[0].querySelectorAll('.dropdown-item[data-language]'); dropdownItems.forEach(item => { item.classList.toggle('active', String(item.getAttribute('data-language') || '').toLowerCase() === lang); }); languageDropdown[0].setAttribute('data-current-language', lang); } async function persistLanguageSelection(language) { const lang = String(language || '').toLowerCase(); const url = new URL(window.location.href); url.searchParams.set('action', 'change_language'); url.searchParams.set('lang', lang); const response = await fetch(url.toString(), { method: 'GET', credentials: 'same-origin', headers: { 'X-Requested-With': 'XMLHttpRequest' } }); if (!response.ok) { throw new Error('change_language_http_' + response.status); } return response; } if (languageDropdown.length) { let dropdownItems = languageDropdown[0].querySelectorAll('.dropdown-item'); for (let i = 0; i < dropdownItems.length; i++) { dropdownItems[i].addEventListener('click', async function (event) { event.preventDefault(); let currentLanguage = this.getAttribute('data-language'); let textDirection = this.getAttribute('data-text-direction'); if (!currentLanguage) return; markActiveLanguage(currentLanguage); try { await persistLanguageSelection(currentLanguage); window.cqLanguage = currentLanguage; window.templateCustomizer ? window.templateCustomizer.setLang(currentLanguage) : ''; directionChange(textDirection); if (typeof window.cqLoadTranslations === 'function') { await window.cqLoadTranslations(currentLanguage); } window.location.reload(); } catch (err) { console.error('Failed to persist language selection', err); } }); } function directionChange(textDirection) { document.documentElement.setAttribute('dir', textDirection); if (textDirection === 'rtl') { if (localStorage.getItem('templateCustomizer-' + templateName + '--Rtl') !== 'true') window.templateCustomizer ? window.templateCustomizer.setRtl(true) : ''; } else { if (localStorage.getItem('templateCustomizer-' + templateName + '--Rtl') === 'true') window.templateCustomizer ? window.templateCustomizer.setRtl(false) : ''; } } } function localize() { let i18nList = document.querySelectorAll('[data-i18n]'); markActiveLanguage(window.cqLanguage || i18next.language); i18nList.forEach(function (item) { item.innerHTML = i18next.t(item.dataset.i18n); /* FIX: Uncomment the following line to hide elements with the i18n attribute before translation to prevent text change flicker */ // item.style.visibility = 'visible'; }); } // Notification // ------------ const notificationMarkAsReadAll = document.querySelector('.dropdown-notifications-all'); const notificationMarkAsReadList = document.querySelectorAll('.dropdown-notifications-read'); // Notification: Mark as all as read if (notificationMarkAsReadAll) { notificationMarkAsReadAll.addEventListener('click', event => { notificationMarkAsReadList.forEach(item => { item.closest('.dropdown-notifications-item').classList.add('marked-as-read'); }); }); } // Notification: Mark as read/unread onclick of dot if (notificationMarkAsReadList) { notificationMarkAsReadList.forEach(item => { item.addEventListener('click', event => { item.closest('.dropdown-notifications-item').classList.toggle('marked-as-read'); }); }); } // Notification: Mark as read/unread onclick of dot const notificationArchiveMessageList = document.querySelectorAll('.dropdown-notifications-archive'); notificationArchiveMessageList.forEach(item => { item.addEventListener('click', event => { item.closest('.dropdown-notifications-item').remove(); }); }); // Init helpers & misc // -------------------- // Init BS Tooltip const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); tooltipTriggerList.map(function (tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl); }); // Accordion active class const accordionActiveFunction = function (e) { if (e.type == 'show.bs.collapse' || e.type == 'show.bs.collapse') { e.target.closest('.accordion-item').classList.add('active'); } else { e.target.closest('.accordion-item').classList.remove('active'); } }; const accordionTriggerList = [].slice.call(document.querySelectorAll('.accordion')); const accordionList = accordionTriggerList.map(function (accordionTriggerEl) { accordionTriggerEl.addEventListener('show.bs.collapse', accordionActiveFunction); accordionTriggerEl.addEventListener('hide.bs.collapse', accordionActiveFunction); }); // Auto update layout based on screen size const cqPortalHorizontalLayout = !!(document.body && document.body.classList.contains('cq-layout-horizontal')); if (!cqPortalHorizontalLayout) { window.Helpers.setAutoUpdate(true); } // Toggle Password Visibility window.Helpers.initPasswordToggle(); // Speech To Text window.Helpers.initSpeechToText(); // Init PerfectScrollbar in Navbar Dropdown (i.e notification) window.Helpers.initNavbarDropdownScrollbar(); let horizontalMenuTemplate = document.querySelector("[data-template^='horizontal-menu']"); if (horizontalMenuTemplate && !cqPortalHorizontalLayout) { // if screen size is small then set navbar fixed if (window.innerWidth < window.Helpers.LAYOUT_BREAKPOINT) { window.Helpers.setNavbarFixed('fixed'); } else { window.Helpers.setNavbarFixed(''); } } // On window resize listener // ------------------------- window.addEventListener( 'resize', function (event) { // Horizontal Layout : Update menu based on window size if (horizontalMenuTemplate && !cqPortalHorizontalLayout) { // if screen size is small then set navbar fixed if (window.innerWidth < window.Helpers.LAYOUT_BREAKPOINT) { window.Helpers.setNavbarFixed('fixed'); } else { window.Helpers.setNavbarFixed(''); } setTimeout(function () { if (window.innerWidth < window.Helpers.LAYOUT_BREAKPOINT) { if (document.body && document.body.classList.contains('cq-layout-horizontal')) return; if (document.getElementById('layout-menu')) { if (document.getElementById('layout-menu').classList.contains('menu-horizontal')) { menu.switchMenu('vertical'); } } } else { if (document.getElementById('layout-menu')) { if (document.getElementById('layout-menu').classList.contains('menu-vertical')) { menu.switchMenu('horizontal'); } } } }, 100); } }, true ); // Manage menu expanded/collapsed with templateCustomizer & local storage //------------------------------------------------------------------ // If current layout is horizontal OR current window screen is small (overlay menu) than return from here if (isHorizontalLayout || window.Helpers.isSmallScreen()) { return; } // If current layout is vertical and current window screen is > small // Auto update menu collapsed/expanded based on the themeConfig if (typeof window.templateCustomizer !== 'undefined') { if (window.templateCustomizer.settings.defaultMenuCollapsed) { window.Helpers.setCollapsed(true, false); } else { window.Helpers.setCollapsed(false, false); } if (window.templateCustomizer.settings.semiDark) { document.querySelector('#layout-menu').setAttribute('data-bs-theme', 'dark'); } } // Manage menu expanded/collapsed state with local storage support If enableMenuLocalStorage = true in config.js if (typeof config !== 'undefined') { if (config.enableMenuLocalStorage) { try { if (localStorage.getItem('templateCustomizer-' + templateName + '--LayoutCollapsed') !== null) window.Helpers.setCollapsed( localStorage.getItem('templateCustomizer-' + templateName + '--LayoutCollapsed') === 'true', false ); } catch (e) {} } } })(); // Search Configuration window.SearchConfig = window.SearchConfig || { container: '#autocomplete', placeholder: 'Search [CTRL + K]', classNames: { detachedContainer: 'd-flex flex-column', detachedFormContainer: 'd-flex align-items-center justify-content-between border-bottom', form: 'd-flex align-items-center', input: 'search-control border-none', detachedCancelButton: 'btn-search-close', panel: 'flex-grow content-wrapper overflow-hidden position-relative', panelLayout: 'h-100', clearButton: 'd-none', item: 'd-block' } }; const ticket = 'fa28fa3a11b18a5c36926beccd302f5a81f070379e59afd6'; // --- Global search performance controls --- const CQ_SEARCH_MIN_CHARS = 3; const CQ_SEARCH_DEBOUNCE_MS = 220; const CQ_SEARCH_SECTION_LIMIT = 8; const CQ_SEARCH_CACHE_LIMIT = 20; const CQ_SEARCH_PROFILE_FILTER_STORAGE_KEY = 'cq.portal.top_search.profiles'; const CQ_SEARCH_PROFILE_FILTERS = [{"id": "obj_user", "label": "Users", "source": "Users"}, {"id": "cq_document_qms", "label": "QMS documents", "source": "QMS"}, {"id": "cq_list_complaint", "label": "Complaints", "source": "Lists"}, {"id": "cq_list_idea", "label": "Improvements", "source": "Lists"}, {"id": "cq_list_repair_order", "label": "Repair orders", "source": "Lists"}, {"id": "cq_list_service_compendium", "label": "Service compendium", "source": "Lists"}, {"id": "cq_list_code_of_conduct", "label": "Code of conduct", "source": "Lists"}, {"id": "cq_list_duty_agenda", "label": "Duty agenda", "source": "Lists"}, {"id": "cq_list_int_telephone", "label": "Internal phonebook", "source": "Lists"}, {"id": "cq_list_cm_earning,cq_list_cm_effort", "label": "Contracts", "source": "Contracts"}, {"id": "cq_list_announcement", "label": "Ankündigung", "source": "Lists"}, {"id": "cq_list_duty", "label": "Duty Rapporte, Zusammenfassung", "source": "Lists"}, {"id": "cq_list_event", "label": "Events", "source": "Lists"}, {"id": "cq_list_expressauftrag", "label": "Expressaufträge", "source": "Lists"}, {"id": "cq_list_birthday", "label": "Geburtstag", "source": "Lists"}]; const CQ_SEARCH_SECTION_KEYS = [ 'pages', 'documents', 'creditors', 'debtors', 'receipts', 'creditcards', 'emails', 'split', 'files', 'projects', 'favorites', 'admin', 'members' ]; // Debounce helper that resolves all pending callers with the same result. function debounceAsync(fn, wait) { let timeout = null; let pending = []; let lastArgs = null; return function (...args) { lastArgs = args; return new Promise((resolve, reject) => { pending.push({ resolve, reject }); if (timeout) clearTimeout(timeout); timeout = setTimeout(async () => { const listeners = pending.slice(); pending = []; timeout = null; try { const result = await fn.apply(this, lastArgs || []); listeners.forEach(p => p.resolve(result)); } catch (error) { listeners.forEach(p => p.reject(error)); } }, wait); }); }; } function normalizeSearchQuery(query) { return String(query || '').trim().toLowerCase().replace(/\s+/g, ' '); } function tokenizeSearchQuery(query) { const normalized = normalizeSearchQuery(query); if (!normalized) return []; return normalized.split(' ').filter(Boolean); } function buildEmptySections() { const out = {}; CQ_SEARCH_SECTION_KEYS.forEach(key => { out[key] = []; }); return out; } function touchSearchCache(key, value) { if (__cqSearchResultCache.has(key)) __cqSearchResultCache.delete(key); __cqSearchResultCache.set(key, value); while (__cqSearchResultCache.size > CQ_SEARCH_CACHE_LIMIT) { const oldestKey = __cqSearchResultCache.keys().next().value; __cqSearchResultCache.delete(oldestKey); } } function getItemSearchText(item) { if (!item || typeof item !== 'object') return ''; if (item.__cqSearchText) return item.__cqSearchText; const text = ((item.name || '') + ' ' + (item.subtitle || '') + ' ' + (item.meta || '') + ' ' + (item.search_text || '')).toLowerCase(); try { item.__cqSearchText = text; } catch (e) {} return text; } function filterSectionItems(items, terms) { if (!Array.isArray(items) || !terms.length) return []; const result = []; for (let i = 0; i < items.length; i += 1) { const item = items[i]; const haystack = getItemSearchText(item); if (terms.every(term => haystack.includes(term))) { result.push(item); if (result.length >= CQ_SEARCH_SECTION_LIMIT) break; } } return result; } function buildSectionResults(bundle, terms) { const result = buildEmptySections(); if (!bundle || !terms.length) return result; CQ_SEARCH_SECTION_KEYS.forEach(key => { result[key] = filterSectionItems(bundle[key], terms); }); return result; } // Shared query fetch + result cache (prevents N identical requests and filters per query) let __cqSearchController = null; let __cqSearchSeq = 0; let __cqSearchInFlight = null; // { query: string, promise: Promise } const __cqSearchResultCache = new Map(); // normalizedQuery -> section result map function getSelectedSearchProfiles() { if (!Array.isArray(CQ_SEARCH_PROFILE_FILTERS) || !CQ_SEARCH_PROFILE_FILTERS.length) return []; const validIds = CQ_SEARCH_PROFILE_FILTERS.map(item => String(item.id || '')).filter(Boolean); try { const raw = localStorage.getItem(CQ_SEARCH_PROFILE_FILTER_STORAGE_KEY); if (raw !== null) { const selected = JSON.parse(raw); if (Array.isArray(selected)) { return selected.map(String).filter(id => validIds.includes(id)); } } } catch (e) {} return validIds; } function getSearchProfileGroup(item) { const id = String((item && item.id) || ''); const source = String((item && item.source) || '').toLowerCase(); const userProfileIds = ['obj_user', 'cq_list_duty_agenda', 'cq_list_birthday', 'cq_list_int_telephone']; if (userProfileIds.some(profileId => id.split(',').includes(profileId))) return 'User'; if (source === 'users' || source === 'members') return 'User'; if (source === 'lists') return 'Lists'; return 'Documents'; } function escapeSearchFilterText(value) { return String(value || '').replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); } function setSelectedSearchProfiles(selected) { try { localStorage.setItem(CQ_SEARCH_PROFILE_FILTER_STORAGE_KEY, JSON.stringify(selected || [])); } catch (e) {} } function getSearchCacheKey(queryKey) { return queryKey + '|profiles=' + getSelectedSearchProfiles().join(','); } function refreshGlobalSearchResults() { __cqSearchResultCache.clear(); if (__cqSearchController) { try { __cqSearchController.abort(); } catch (e) {} } __cqSearchInFlight = null; try { const input = document.querySelector('.aa-Input, #autocomplete input, .search-control'); if (input) input.dispatchEvent(new Event('input', { bubbles: true })); } catch (e) {} } function ensureTopSearchProfileFilters() { if (!Array.isArray(CQ_SEARCH_PROFILE_FILTERS) || !CQ_SEARCH_PROFILE_FILTERS.length) return; const formContainer = document.querySelector('.aa-DetachedFormContainer'); if (!formContainer || document.getElementById('cq-top-search-profile-filters')) return; if (!document.getElementById('cq-top-search-profile-filter-style')) { const style = document.createElement('style'); style.id = 'cq-top-search-profile-filter-style'; style.textContent = ` .aa-DetachedContainer { display: grid !important; grid-template-columns: minmax(190px, 240px) minmax(430px, 1fr); grid-template-rows: auto minmax(0, 1fr); max-width: min(1080px, calc(100vw - 2rem)); max-height: min(760px, calc(100vh - 3rem)); overflow: hidden; } .aa-DetachedContainer .aa-DetachedFormContainer { grid-column: 1 / -1; grid-row: 1; min-width: 0; } .aa-DetachedContainer .aa-Panel { grid-column: 2; grid-row: 2; min-width: 0; min-height: 0; height: auto; max-height: none; overflow: auto; border-top: 1px solid rgba(120, 120, 140, .18); background: color-mix(in srgb, var(--bs-body-bg, #fff) 96%, var(--bs-secondary-bg, #f6f6f8)); } .aa-DetachedContainer .aa-Panel .aa-PanelLayout { padding-left: .45rem; padding-right: .75rem; } .aa-DetachedContainer .search-headings { margin-left: .15rem; letter-spacing: .09em; } #cq-top-search-profile-filters { display: grid; align-content: start; gap: .85rem; grid-column: 1; grid-row: 2; min-width: 0; min-height: 0; overflow: auto; padding: 1rem .85rem 1rem 1rem; border-top: 1px solid rgba(120, 120, 140, .18); border-right: 1px solid rgba(120, 120, 140, .18); background: color-mix(in srgb, var(--bs-body-bg, #fff) 92%, var(--bs-secondary-bg, #f6f6f8)); } #cq-top-search-profile-filters .cq-top-search-filter-group { display: grid; gap: .35rem; } #cq-top-search-profile-filters .cq-top-search-filter-group-title { color: var(--bs-secondary-color, #8a8d93); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; } #cq-top-search-profile-filters .cq-top-search-filter-items { display: grid; gap: .44rem; } #cq-top-search-profile-filters .cq-top-search-filter-label { display: inline-flex; align-items: center; gap: .35rem; margin: 0; color: var(--bs-body-color, #4b465c); font-size: .84rem; line-height: 1.2; cursor: pointer; user-select: none; } #cq-top-search-profile-filters .form-check-input { margin: 0; cursor: pointer; width: 1rem; height: 1rem; } #cq-top-search-profile-filters small { color: var(--bs-secondary-color, #8a8d93); font-size: .72rem; } @media (max-width: 860px) { .aa-DetachedContainer { display: flex !important; flex-direction: column; max-width: calc(100vw - 1rem); max-height: calc(100vh - 1rem); } #cq-top-search-profile-filters { max-height: 32vh; padding: .75rem 1rem; border-right: 0; border-bottom: 1px solid rgba(120, 120, 140, .18); } .aa-DetachedContainer .aa-Panel { min-height: 0; border-top: 0; } #cq-top-search-profile-filters .cq-top-search-filter-items { display: flex; align-items: center; flex-wrap: wrap; gap: .42rem .85rem; } } `; document.head.appendChild(style); } let wrapper = document.getElementById('cq-top-search-profile-filters'); if (!wrapper) { const selected = new Set(getSelectedSearchProfiles()); wrapper = document.createElement('div'); wrapper.id = 'cq-top-search-profile-filters'; wrapper.setAttribute('aria-label', 'Search profiles'); const groups = CQ_SEARCH_PROFILE_FILTERS.reduce((acc, item) => { const group = getSearchProfileGroup(item); if (!acc[group]) acc[group] = []; acc[group].push(item); return acc; }, {}); wrapper.innerHTML = ['User', 'Documents', 'Lists'].filter(group => groups[group] && groups[group].length).map(group => { const itemsHtml = groups[group].map(item => { const id = String(item.id || ''); const label = String(item.label || id); const checked = selected.has(id) ? ' checked' : ''; return ` `; }).join(''); return `
${escapeSearchFilterText(group)}
${itemsHtml}
`; }).join(''); wrapper.addEventListener('change', function () { const values = Array.from(wrapper.querySelectorAll('input[type="checkbox"]:checked')).map(input => input.value); setSelectedSearchProfiles(values); refreshGlobalSearchResults(); }); } formContainer.parentNode.insertBefore(wrapper, formContainer.nextSibling); } const __cqSearchFilterObserver = new MutationObserver(ensureTopSearchProfileFilters); try { __cqSearchFilterObserver.observe(document.body, { childList: true, subtree: true }); } catch (e) {} async function fetchSearchSections(query) { const queryRaw = String(query || '').trim(); const queryTerms = tokenizeSearchQuery(queryRaw); const queryKey = queryTerms.join(' '); if (!queryKey || queryKey.length < CQ_SEARCH_MIN_CHARS) { if (__cqSearchController) { try { __cqSearchController.abort(); } catch (e) {} } __cqSearchInFlight = null; return buildEmptySections(); } const cacheKey = getSearchCacheKey(queryKey); if (__cqSearchResultCache.has(cacheKey)) { const cached = __cqSearchResultCache.get(cacheKey); touchSearchCache(cacheKey, cached); return cached; } if (__cqSearchInFlight && __cqSearchInFlight.query === queryKey) { return __cqSearchInFlight.promise; } const client_accounting = ""; let url = '/portal/files/search-vertical.json?ticket=' + ticket + '&search=' + encodeURIComponent(queryKey); if (client_accounting) {url += '&client_accounting=' + encodeURIComponent(client_accounting)}; if (Array.isArray(CQ_SEARCH_PROFILE_FILTERS) && CQ_SEARCH_PROFILE_FILTERS.length) { const selectedProfiles = getSelectedSearchProfiles(); url += '&profiles=' + encodeURIComponent(selectedProfiles.length ? selectedProfiles.join(',') : '__none'); } if (__cqSearchController) { try { __cqSearchController.abort(); } catch (e) {} } __cqSearchController = new AbortController(); const mySeq = ++__cqSearchSeq; const promise = (async () => { try { const response = await fetch(url, { signal: __cqSearchController.signal }); if (mySeq !== __cqSearchSeq) return buildEmptySections(); // ignore out-of-order results if (!response.ok) return buildEmptySections(); const bundle = await response.json(); const sectionResults = buildSectionResults(bundle || {}, queryTerms); touchSearchCache(cacheKey, sectionResults); return sectionResults; } catch (e) { return buildEmptySections(); } finally { if (__cqSearchInFlight && __cqSearchInFlight.query === queryKey) { __cqSearchInFlight = null; } } })(); __cqSearchInFlight = { query: queryKey, promise }; return promise; } const fetchSearchSectionsDebounced = debounceAsync(fetchSearchSections, CQ_SEARCH_DEBOUNCE_MS); function getSectionItems(sectionKey) { return async function ({ query }) { const sections = await fetchSearchSectionsDebounced(query); return sections[sectionKey] || []; }; } let __cqSearchScrollbarRaf = 0; function scheduleSearchScrollbarUpdate() { if (__cqSearchScrollbarRaf) return; __cqSearchScrollbarRaf = window.requestAnimationFrame(() => { __cqSearchScrollbarRaf = 0; try { window.autoCompletePS?.update(); } catch (e) {} }); } function renderSearchItem(item, html) { const hasImage = item.src && item.src.trim().length > 0; const initials = String(item.name || '') .split(/\s+/) .filter(Boolean) .slice(0, 2) .map(part => part.charAt(0).toUpperCase()) .join(''); return html`
${hasImage ? html`` : item.avatar ? html`${initials || 'U'}` : html``}
${item.name}
${item.subtitle ? html`
${item.subtitle}
` : ''} ${item.meta ? html`
${item.meta}
` : ''}
`; } // Initialize autocomplete function closeGlobalSearchOverlay() { try { if (window.cqGlobalAutocomplete && typeof window.cqGlobalAutocomplete.setIsOpen === 'function') { window.cqGlobalAutocomplete.setIsOpen(false); } } catch (e) {} try { const cancelBtn = document.querySelector('.aa-DetachedCancelButton'); if (cancelBtn) cancelBtn.click(); } catch (e) {} } function bindGlobalSearchResultClickClose() { if (document.body.dataset.cqGlobalSearchLinkBound === '1') return; document.body.dataset.cqGlobalSearchLinkBound = '1'; document.addEventListener('click', function (event) { const link = event.target && event.target.closest ? event.target.closest('a[data-cq-global-search-link="1"]') : null; if (!link) return; closeGlobalSearchOverlay(); }, true); } function initializeAutocomplete() { const searchElement = document.getElementById('autocomplete'); if (!searchElement) return; const instance = autocomplete({ ...window.SearchConfig, openOnFocus: true, getSources() { return [ { sourceId: 'pages', getItems: getSectionItems('pages'), templates: { header({ items, html }) { return items.length ? html`

Pages

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } }, { sourceId: 'documents', getItems: getSectionItems('documents'), templates: { header({ items, html }) { return items.length ? html`

Documents

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } }, { sourceId: 'creditors', getItems: getSectionItems('creditors'), templates: { header({ items, html }) { return items.length ? html`

Creditors

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } }, { sourceId: 'debtors', getItems: getSectionItems('debtors'), templates: { header({ items, html }) { return items.length ? html`

Debtors

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } }, { sourceId: 'receipts', getItems: getSectionItems('receipts'), templates: { header({ items, html }) { return items.length ? html`

Receipts

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } }, { sourceId: 'creditcards', getItems: getSectionItems('creditcards'), templates: { header({ items, html }) { return items.length ? html`

creditcards

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } }, { sourceId: 'emails', getItems: getSectionItems('emails'), templates: { header({ items, html }) { return items.length ? html`

E-Mails

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } }, { sourceId: 'split', getItems: getSectionItems('split'), templates: { header({ items, html }) { return items.length ? html`

original split files

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } }, { sourceId: 'files', getItems: getSectionItems('files'), templates: { header({ items, html }) { return items.length ? html`

Files

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } }, { sourceId: 'projects', getItems: getSectionItems('projects'), templates: { header({ items, html }) { return items.length ? html`

Projects

` : null; }, item({ item, html }) { return html`${item.name}`; } } }, { sourceId: 'favorites', getItems: getSectionItems('favorites'), templates: { header({ items, html }) { return items.length ? html`

Favorites

` : null; }, item({ item, html }) { return html`${item.name}`; } } }, { sourceId: 'admin', getItems: getSectionItems('admin'), templates: { header({ items, html }) { return items.length ? html`

Admin

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } }, { sourceId: 'members', getItems: getSectionItems('members'), templates: { header({ items, html }) { return items.length ? html`

Members

` : null; }, item({ item, html }) { return renderSearchItem(item, html); } } } ]; }, onStateChange({ state, setQuery }) { if (state.isOpen) { document.body.style.overflow = 'hidden'; document.body.style.paddingRight = 'var(--bs-scrollbar-width)'; const cancelIcon = document.querySelector('.aa-DetachedCancelButton'); if (cancelIcon) { cancelIcon.innerHTML = '[esc] '; } if (!window.autoCompletePS) { const panel = document.querySelector('.aa-Panel'); if (panel) { window.autoCompletePS = new PerfectScrollbar(panel); } } } else { if (state.status === 'idle' && state.query) { setQuery(''); } document.body.style.overflow = 'auto'; document.body.style.paddingRight = ''; } }, render(args, root) { const { render, html, children, state } = args; if (!state.query) { render(html`
${children}
`, root); return; } if (!args.sections.length) { render(html`
No results found
`, root); return; } render(children, root); scheduleSearchScrollbarUpdate(); } }); window.cqGlobalAutocomplete = instance; bindGlobalSearchResultClickClose(); return instance; } document.addEventListener('keydown', event => { if ((event.ctrlKey || event.metaKey) && (event.key === 'k' || event.key === '/')) { event.preventDefault(); const btn = document.querySelector('.aa-DetachedSearchButton'); if (btn) btn.click(); } }); function bindPortalSearchToggler() { const toggler = document.querySelector('#layout-navbar .search-toggler'); if (!toggler || toggler.dataset.cqSearchBound === '1') return; toggler.dataset.cqSearchBound = '1'; toggler.addEventListener('click', function (event) { if (event.target && event.target.closest && event.target.closest('.aa-DetachedSearchButton, .aa-Input, input')) return; const button = toggler.querySelector('.aa-DetachedSearchButton') || document.querySelector('#autocomplete .aa-DetachedSearchButton'); if (button) { event.preventDefault(); button.click(); return; } const input = document.querySelector('#autocomplete input, .aa-Input, .search-control'); if (input) { event.preventDefault(); input.focus(); input.click(); } }); } if (document.documentElement.querySelector('#autocomplete')) { initializeAutocomplete(); bindPortalSearchToggler(); }