MT940-Import: Implementation eines eigenen Parsers anstelle von AQBanking
[kivitendo-erp.git] / locale / en / all
index b94f20d..a8df39e 100644 (file)
@@ -14,7 +14,6 @@ $self->{texts} = {
   ' bytes, max='                => '',
   ' missing!'                   => '',
   '#1 (custom variable)'        => '',
-  '#1 CB transactions and #1 OB transactions generated.' => '',
   '#1 MD'                       => '',
   '#1 additional part(s)'       => '',
   '#1 bank transaction bookings undone.' => '',
@@ -162,6 +161,7 @@ $self->{texts} = {
   'Add Assortment'              => '',
   'Add Client'                  => '',
   'Add Credit Note'             => '',
+  'Add Credit Note for this dunning level:' => '',
   'Add Customer'                => '',
   'Add Customer/Vendor Number as a reference add-on for SEPA export.' => '',
   'Add Delivery Note'           => '',
@@ -205,6 +205,7 @@ $self->{texts} = {
   'Add department'              => '',
   'Add empty line (csv_import)' => '',
   'Add function block'          => '',
+  'Add greeting'                => '',
   'Add headers from last uploaded file (csv_import)' => '',
   'Add invoices'                => '',
   'Add language'                => '',
@@ -217,6 +218,7 @@ $self->{texts} = {
   'Add new price rule item'     => '',
   'Add new record template'     => '',
   'Add note'                    => '',
+  'Add open Credit Notes'       => '',
   'Add part'                    => '',
   'Add part classification'     => '',
   'Add partsgroup'              => '',
@@ -234,6 +236,7 @@ $self->{texts} = {
   'Add sub function block'      => '',
   'Add taxzone'                 => '',
   'Add text block'              => '',
+  'Add title'                   => '',
   'Add unit'                    => '',
   'Added sections and function blocks: #1' => '',
   'Added text blocks: #1'       => '',
@@ -246,6 +249,7 @@ $self->{texts} = {
   'Administration'              => '',
   'Administration area'         => '',
   'Advance turnover tax return' => '',
+  'Advance turnover tax return only valid for SKR03 or SKR04' => '',
   'After closed period'         => '',
   'Aktion'                      => '',
   'All'                         => '',
@@ -287,8 +291,8 @@ $self->{texts} = {
   'Amount payable'              => '',
   'Amount payable less discount' => '',
   'Amounts differ too much'     => '',
-  'An error occured. Letter could not be deleted.' => '',
   'An error occurred while transferring the file.' => '',
+  'An error occurred. Letter could not be deleted.' => '',
   'An exception occurred during execution.' => '',
   'An invalid character was used (invalid characters: #1).' => '',
   'An invalid character was used (valid characters: #1).' => '',
@@ -297,7 +301,6 @@ $self->{texts} = {
   'Annotations'                 => '',
   'Any stock contents containing a best before date will be impossible to stock out otherwise.' => '',
   'Ap aging on %s'              => '',
-  'Application Error. No Format given' => '',
   'Application Error. Wrong Format' => '',
   'Apply'                       => '',
   'Apply customer'              => '',
@@ -307,12 +310,14 @@ $self->{texts} = {
   'Apply to transfers without bin' => '',
   'Apply to transfers without comment' => '',
   'Apply to transfers without warehouse' => '',
+  'Apply year-end bookings'     => '',
   'Applying #1:'                => '',
   'Approximately #1 prices will be updated.' => '',
   'Apr'                         => '',
   'April'                       => '',
   'Ar aging on %s'              => '',
-  'Are you sure to generate cb/ob transactions?' => '',
+  'Are you sure to update all positions from master data?' => '',
+  'Are you sure to update this position from master data?' => '',
   'Are you sure you want to delete Invoice Number' => '',
   'Are you sure you want to delete this letter?' => '',
   'Are you sure you want to remove the marked entries from the queue?' => '',
@@ -349,6 +354,7 @@ $self->{texts} = {
   'At least one Perl module that kivitendo ERP requires for running is not installed on your system.' => '',
   'At least one of the columns #1, customer, customernumber, customer_gln, vendor, vendornumber, vendor_gln (depending on the target table) is required for matching the entry to an existing customer or vendor.' => '',
   'At most'                     => '',
+  'At position'                 => '',
   'At the moment the transaction looks like this:' => '',
   'Attach PDF:'                 => '',
   'Attached Filename'           => '',
@@ -356,7 +362,6 @@ $self->{texts} = {
   'Attachment name'             => '',
   'Attachments'                 => '',
   'Attempt to call an undefined sub named \'%s\'' => '',
-  'Attention: Here will be generated a lot of CB/OB transactions.' => '',
   'Audit Control'               => '',
   'Aug'                         => '',
   'August'                      => '',
@@ -389,8 +394,10 @@ $self->{texts} = {
   'Background jobs and task server' => '',
   'Balance'                     => '',
   'Balance Sheet'               => '',
+  'Balance accounts'            => '',
   'Balance sheet date'          => '',
   'Balance startdate method'    => '',
+  'Balance with CB'             => '',
   'Balances'                    => '',
   'Balancing'                   => '',
   'Bank'                        => '',
@@ -474,6 +481,7 @@ $self->{texts} = {
   'Booking group (database ID)' => '',
   'Booking group (name)'        => '',
   'Booking groups'              => '',
+  'Booking needs at least one debit and one credit booking!' => '',
   'Bookinggroup/Tax'            => '',
   'Books are open'              => '',
   'Books closed up to'          => '',
@@ -495,8 +503,6 @@ $self->{texts} = {
   'CANCELED'                    => '',
   'CB Transaction'              => '',
   'CB Transactions'             => '',
-  'CB date #1 is higher than OB date #2. Please select again.' => '',
-  'CB/OB Transactions'          => '',
   'CN'                          => '',
   'CR'                          => '',
   'CSS style for pictures'      => '',
@@ -508,6 +514,7 @@ $self->{texts} = {
   'CSV import: bank transactions' => '',
   'CSV import: contacts'        => '',
   'CSV import: customers and vendors' => '',
+  'CSV import: delivery orders' => '',
   'CSV import: inventories'     => '',
   'CSV import: orders'          => '',
   'CSV import: parts and services' => '',
@@ -525,6 +532,7 @@ $self->{texts} = {
   'Cancel Accounts Payables Transaction' => '',
   'Cancel Accounts Receivables Transaction' => '',
   'Cancelling is disallowed. Either undo or balance the current payments until the open amount matches the invoice amount' => '',
+  'Cannot change transaction in a closed period!' => '',
   'Cannot check correct WebDAV folder' => '',
   'Cannot delete account!'      => '',
   'Cannot delete customer!'     => '',
@@ -565,10 +573,12 @@ $self->{texts} = {
   'Cannot stock without amount' => '',
   'Cannot storno invoice for a closed period!' => '',
   'Cannot storno storno invoice!' => '',
+  'Cannot transfer #1 qty with #2 serial number(s)' => '',
   'Cannot transfer negative entries.' => '',
   'Cannot transfer negative quantities.' => '',
   'Cannot transfer. <br> Reason:<br>#1' => '',
   'Cannot unlink payment for a closed period!' => '',
+  'Carry over account for year-end closing' => '',
   'Carry over shipping address' => '',
   'Cash'                        => '',
   'Cash accounting'             => '',
@@ -639,6 +649,7 @@ $self->{texts} = {
   'Close Window'                => '',
   'Close window'                => '',
   'Closed'                      => '',
+  'Closing Balance'             => '',
   'Collective Orders only work for orders from one customer!' => '',
   'Column name'                 => '',
   'Comma'                       => '',
@@ -647,6 +658,7 @@ $self->{texts} = {
   'Company'                     => '',
   'Company Name'                => '',
   'Company name'                => '',
+  'Company name and address'    => '',
   'Company settings'            => '',
   'Compare to'                  => '',
   'Complexities'                => '',
@@ -657,9 +669,11 @@ $self->{texts} = {
   'Confirm!'                    => '',
   'Confirmation'                => '',
   'Contact'                     => '',
+  'Contact Departments'         => '',
   'Contact Person'              => '',
   'Contact Person (database ID)' => '',
   'Contact Person (name)'       => '',
+  'Contact Titles'              => '',
   'Contact deleted.'            => '',
   'Contact is in use and was flagged invalid.' => '',
   'Contact person (surname)'    => '',
@@ -685,6 +699,8 @@ $self->{texts} = {
   'Correct taxkey'              => '',
   'Cost Center'                 => '',
   'Costs'                       => '',
+  'Could not create new project #1' => '',
+  'Could not extract ZUGFeRD data, data and error message:' => '',
   'Could not find an entry for this part in the pricegroup.' => '',
   'Could not load class #1 (#2): "#3"' => '',
   'Could not load class #1, #2' => '',
@@ -705,6 +721,8 @@ $self->{texts} = {
   'Create Date'                 => '',
   'Create HTML'                 => '',
   'Create PDF'                  => '',
+  'Create ZUGFeRD invoices'     => '',
+  'Create ZUGFeRD invoices in test mode' => '',
   'Create a new background job' => '',
   'Create a new client'         => '',
   'Create a new delivery term'  => '',
@@ -758,6 +776,7 @@ $self->{texts} = {
   'Create new version'          => '',
   'Create one from the context menu by right-clicking on this text.' => '',
   'Create order'                => '',
+  'Create sales invoices with ZUGFeRD data' => '',
   'Create tables'               => '',
   'Created by'                  => '',
   'Created for'                 => '',
@@ -940,6 +959,7 @@ $self->{texts} = {
   'Default template format'     => '',
   'Default transfer delivery order' => '',
   'Default transfer invoice'    => '',
+  'Default transfer invoice with charge number' => '',
   'Default transport article number' => '',
   'Default unit'                => '',
   'Default value'               => '',
@@ -985,6 +1005,7 @@ $self->{texts} = {
   'Delivery terms'              => '',
   'Delivery terms (database ID)' => '',
   'Delivery terms (name)'       => '',
+  'DeliveryOrder'               => '',
   'Denmark'                     => '',
   'Department'                  => '',
   'Department (database ID)'    => '',
@@ -1026,6 +1047,7 @@ $self->{texts} = {
   'Displayable Name Preferences' => '',
   'Do not change the tax rate of taxkey 0.' => '',
   'Do not check for duplicates' => '',
+  'Do not create ZUGFeRD invoices' => '',
   'Do not link to a project.'   => '',
   'Do not modify this position' => '',
   'Do not run the task server for this client' => '',
@@ -1033,12 +1055,12 @@ $self->{texts} = {
   'Do not set this bin'         => '',
   'Do not set this comment'     => '',
   'Do not set this warehouse'   => '',
-  'Do you really want do continue?' => '',
   'Do you really want to cancel this general ledger transaction?' => '',
   'Do you really want to cancel this invoice?' => '',
   'Do you really want to cancel?' => '',
   'Do you really want to close the selected SEPA exports? No payment will be recorded for bank collections that haven\'t been marked as executed yet.' => '',
   'Do you really want to close the selected SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.' => '',
+  'Do you really want to continue?' => '',
   'Do you really want to delete AP transaction #1?' => '',
   'Do you really want to delete AR transaction #1?' => '',
   'Do you really want to delete GL transaction #1?' => '',
@@ -1050,8 +1072,6 @@ $self->{texts} = {
   'Do you really want to delete this record template?' => '',
   'Do you really want to print?' => '',
   'Do you really want to revert to this version?' => '',
-  'Do you really want to save?' => '',
-  'Do you really want to send by mail?' => '',
   'Do you really want to undo the selected SEPA exports? You have to reassign the export again.' => '',
   'Do you really want to unimport the selected documents?' => '',
   'Do you want to <b>limit</b> your search?' => '',
@@ -1172,6 +1192,7 @@ $self->{texts} = {
   'Edit Vendor'                 => '',
   'Edit Vendor Invoice'         => '',
   'Edit Warehouse'              => '',
+  'Edit ZUGFeRD notes'          => '',
   'Edit acceptance status'      => '',
   'Edit additional articles'    => '',
   'Edit all drafts'             => '',
@@ -1189,6 +1210,7 @@ $self->{texts} = {
   'Edit department'             => '',
   'Edit file'                   => '',
   'Edit general settings'       => '',
+  'Edit greeting'               => '',
   'Edit greetings'              => '',
   'Edit language'               => '',
   'Edit note'                   => '',
@@ -1228,6 +1250,7 @@ $self->{texts} = {
   'Edit the request_quotation'  => '',
   'Edit the sales_order'        => '',
   'Edit the sales_quotation'    => '',
+  'Edit title'                  => '',
   'Edit units'                  => '',
   'Edit user signature'         => '',
   'Editable'                    => '',
@@ -1255,6 +1278,7 @@ $self->{texts} = {
   'Equity'                      => '',
   'Erfolgsrechnung'             => '',
   'Error'                       => '',
+  'Error handling'              => '',
   'Error in database control file \'%s\': %s' => '',
   'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.' => '',
   'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.' => '',
@@ -1263,6 +1287,8 @@ $self->{texts} = {
   'Error message from the database: #1' => '',
   'Error message from the webshop api:' => '',
   'Error when saving: #1'       => '',
+  'Error while applying year-end bookings!' => '',
+  'Error while creating project with project number of new order number, project number #1 already exists!' => '',
   'Error with default taxzone'  => '',
   'Error!'                      => '',
   'Error: #1'                   => '',
@@ -1274,6 +1300,7 @@ $self->{texts} = {
   'Error: Customer/vendor is ambiguous' => '',
   'Error: Customer/vendor missing' => '',
   'Error: Customer/vendor not found' => '',
+  'Error: Faulty position in this delivery order' => '',
   'Error: Found local bank account number but local bank code doesn\'t match' => '',
   'Error: Gender (cp_gender) missing or invalid' => '',
   'Error: Invalid bin'          => '',
@@ -1300,11 +1327,17 @@ $self->{texts} = {
   'Error: Invalid warehouse'    => '',
   'Error: Invalid warehouse id' => '',
   'Error: Invalid warehouse name #1' => '',
+  'Error: More than one source order found' => '',
   'Error: Name missing'         => '',
+  'Error: Not enough parts in stock' => '',
   'Error: Part is ambiguous'    => '',
   'Error: Part is obsolete'     => '',
   'Error: Part not found'       => '',
   'Error: Quantity to transfer is zero.' => '',
+  'Error: Source order not found' => '',
+  'Error: Stock problem'        => '',
+  'Error: Stocking out would result in stock underrun' => '',
+  'Error: Stocking out would result in stock underrun: #1' => '',
   'Error: Transfer would result in a negative target quantity.' => '',
   'Error: Unit missing or invalid' => '',
   'Error: Warehouse not found'  => '',
@@ -1333,8 +1366,10 @@ $self->{texts} = {
   'Error: this feature requires that articles with a time-based unit (e.g. \'h\' or \'min\') exist.' => '',
   'Error: unknown local bank account' => '',
   'Error: unknown local bank account id' => '',
+  'Errors'                      => '',
   'Errors during conversion:'   => '',
   'Errors during printing:'     => '',
+  'Errors in GL transaction:'   => '',
   'Ertrag'                      => '',
   'Ertrag prozentual'           => '',
   'Escape character'            => '',
@@ -1452,6 +1487,8 @@ $self->{texts} = {
   'For part "#1" there are missing #2 #3 in the default warehouse/bin "#4/#5".' => '',
   'For part "#1" there is no default warehouse and bin defined.' => '',
   'For part "#1" there is no default warehouse and bin for ignoring onhand defined.' => '',
+  'For purchase delivery orders, warn on workflow to invoice if not stocked in' => '',
+  'For sales delivery orders, warn on workflow to invoice if not stocked out' => '',
   'For type "customer" the perl module JSON is required. Please check this on system level: $ ./scripts/installation_check.pl' => '',
   'Foreign Exchange Gain'       => '',
   'Foreign Exchange Loss'       => '',
@@ -1500,7 +1537,6 @@ $self->{texts} = {
   'General ledger transactions can only be changed on the day they are posted.' => '',
   'General settings'            => '',
   'Generate and print sales delivery orders' => '',
-  'Generic Tax Report'          => '',
   'Germany'                     => '',
   'Get shoporders'              => 'Get and process orders from a web shop',
   'Git revision: #1, #2 #3'     => '',
@@ -1577,20 +1613,25 @@ $self->{texts} = {
   'If disabled purchase invoices can only be created by conversion from existing requests for quotations, purchase orders and purchase delivery orders.' => '',
   'If disabled sales orders cannot be converted into sales invoices directly.' => '',
   'If disabled sales quotations cannot be converted into sales invoices directly.' => '',
+  'If enabled ZUGFeRD-conformant sales invoice PDFs will be created.' => '',
   'If enabled a column will be shown in sales and purchase orders that lists both the amount and the value not shipped yet for each item.' => '',
+  'If enabled a warning will be shown in purchase delivery orders on workflow to invoices if positions are not stocked in.' => '',
   'If enabled a warning will be shown in sales and purchase orders if there are two or more positions of the same part (new controller only).' => '',
   'If enabled a warning will be shown in sales and purchase orders if there the delivery date is empty.' => '',
+  'If enabled a warning will be shown in sales delivery orders on workflow to invoices if positions are not stocked out.' => '',
   'If enabled only those projects that are assigned to the currently selected customer are offered for selection in sales records.' => '',
   'If enabled purchase and sales records cannot be saved if no transaction description has been entered.' => '',
   'If item not found, allow creation of new item' => '',
   'If left empty the default sender from the kivitendo configuration will be used (key \'email_from\' in section \'periodic_invoices\'; current value: #1).' => '',
   'If missing then the start date will be used.' => '',
+  'If one or more space separated serial numbers are assigned in a sales invoice, match the charge number of the inventory item. Assumes that Serial Number and Charge Number have 1:1 relation. Otherwise throw a error message for the default sales invoice transfer.' => '',
   'If searching a part from a document and no part is found then offer to create a new part.' => '',
   'If the article type is set to \'mixed\' then a column called \'part_type\' or called \'pclass\' must be present.' => '',
   'If the automatic creation of invoices for fees and interest is switched on for a dunning level then the following accounts will be used for the invoice.' => '',
   'If the counted quantity differs more than this threshold from the quantity in the database, a warning will be shown. Set to 0 to switch of this feature.' => '',
   'If the database user listed above does not have the right to create a database then enter the name and password of the superuser below:' => '',
   'If the default transfer out always succeed use this bin for negative stock quantity.' => '',
+  'If the test mode is enabled, the ZUGFeRD invoices will be flagged so that they\'re only fit to be used for testing purposes.' => '',
   'If yes, delivery order positions are considered "delivered" only if they have been stocked out of the inventory. Otherwise saving the delivery order is considered delivered.' => '',
   'If you enter values for the part number and / or part description then only those bins containing parts whose part number or part description match your input will be shown.' => '',
   'If you have not chosen for example the category revenue for a tax and you choose an revenue account to create a transfer in the general ledger, this tax will not be displayed in the tax dropdown.' => '',
@@ -1601,6 +1642,7 @@ $self->{texts} = {
   'If you want to delete such a dataset you have to edit the client(s) that are using the dataset in question and have them use another dataset.' => '',
   'If you want to set up the authentication database yourself then log in to the administration panel. kivitendo will then create the database and tables for you.' => '',
   'If your old bins match exactly Bins in the Warehouse CLICK on <b>AUTOMATICALLY MATCH BINS</b>.' => '',
+  'Ignore faulty positions'     => '',
   'Illegal characters have been removed from the following fields: #1' => '',
   'Illegal date'                => '',
   'Image'                       => '',
@@ -1612,6 +1654,7 @@ $self->{texts} = {
   'Import CSV'                  => '',
   'Import Status'               => '',
   'Import a MT940 file:'        => '',
+  'Import a ZUGFeRD file:'      => '',
   'Import all'                  => '',
   'Import documents from #1'    => '',
   'Import file'                 => '',
@@ -1637,6 +1680,7 @@ $self->{texts} = {
   'Include in drop-down menus'  => '',
   'Include invalid warehouses ' => '',
   'Include invoices with direct debit' => '',
+  'Include original Invoices?'  => '',
   'Includeable in reports'      => '',
   'Included in reports by default' => '',
   'Including'                   => '',
@@ -1668,6 +1712,7 @@ $self->{texts} = {
   'Introduction of clients'     => '',
   'Inv. Duedate'                => '',
   'Invalid'                     => '',
+  'Invalid charge number: #1'   => '',
   'Invalid combination of ledger account number length. Mismatch length of #1 with length of #2. Please check your account settings. ' => '',
   'Invalid duration format'     => '',
   'Invalid follow-up ID.'       => '',
@@ -1712,6 +1757,7 @@ $self->{texts} = {
   'Invoices with payments cannot be canceled.' => '',
   'Invoices, Credit Notes & AR Transactions' => '',
   'Is Searchable'               => '',
+  'Is sales'                    => '',
   'Is this a summary account to record' => '',
   'It can be changed later but must be unique within the installation.' => '',
   'It is not allowed that a summary account occurs in a drop-down menu!' => '',
@@ -1809,6 +1855,7 @@ $self->{texts} = {
   'List Printers'               => '',
   'List Transactions'           => '',
   'List Users, Clients and User Groups' => '',
+  'List all rows'               => '',
   'List current background jobs' => '',
   'List export'                 => '',
   'List of bank collections'    => '',
@@ -1829,6 +1876,7 @@ $self->{texts} = {
   'Local account number'        => '',
   'Local bank account'          => '',
   'Local bank code'             => '',
+  'Lock'                        => '',
   'Lock System'                 => '',
   'Lock and unlock installation' => '',
   'Lock bookings'               => '',
@@ -1846,6 +1894,8 @@ $self->{texts} = {
   'Long Description (quotations & orders)' => '',
   'Long Description for invoices' => '',
   'Long Description for quotations & orders' => '',
+  'Loss'                        => '',
+  'Loss carried forward account' => '',
   'Luxembourg'                  => '',
   'MAILED'                      => '',
   'MD'                          => '',
@@ -1881,6 +1931,7 @@ $self->{texts} = {
   'Mass Create Print Sales Invoice from Delivery Order' => '',
   'Master Data'                 => '',
   'Master Data Bin Text Deleted' => '',
+  'Match Sales Invoice Serial numbers with inventory charge numbers?' => '',
   'Matching Price Rules can apply in one of three types:' => '',
   'Max. Dunning Level'          => '',
   'Maximal amount difference'   => '',
@@ -1907,6 +1958,7 @@ $self->{texts} = {
   'Missing Method!'             => '',
   'Missing Tax Authoritys Preferences' => '',
   'Missing amount'              => '',
+  'Missing configuration section "authentication/#1" in "config/kivitendo.conf".' => '',
   'Missing parameter #1 in call to sub #2.' => '',
   'Missing parameter (at least one of #1) in call to sub #2.' => '',
   'Missing parameter for WebDAV file copy' => '',
@@ -1938,6 +1990,7 @@ $self->{texts} = {
   'Name does not make sense without any bsooqr options' => '',
   'Name in Selected Records'    => '',
   'Name of the goal/source (if field names remote_name and remote_name_1 exist they will be combined into field "remote_name")' => '',
+  'Need charge number!'         => '',
   'Negative reductions are possible to model price increases.' => '',
   'Neither sections nor function blocks have been created yet.' => '',
   'Net Income Statement'        => '',
@@ -1972,6 +2025,7 @@ $self->{texts} = {
   'Next run at'                 => '',
   'No'                          => '',
   'No 1:n or n:1 relation'      => '',
+  'No AP Record Template for this vendor found, please add one' => '',
   'No AP template was found.'   => '',
   'No Company Address given'    => '',
   'No Company Name given'       => '',
@@ -1980,6 +2034,7 @@ $self->{texts} = {
   'No Journal'                  => '',
   'No Shopdescription'          => '',
   'No Shopimages'               => '',
+  'No VAT Info for this ZUGFeRD invoice, please ask your vendor to add this for his ZUGFeRD data.' => '',
   'No Vendor was found matching the search parameters.' => '',
   'No action defined.'          => '',
   'No article has been selected yet.' => '',
@@ -1987,9 +2042,11 @@ $self->{texts} = {
   'No assembly has been selected yet.' => '',
   'No background job has been created yet.' => '',
   'No bank account chosen!'     => '',
+  'No bank account flagged for ZUGFeRD usage was found.' => '',
   'No bank information has been entered in this customer\'s master data entry. You cannot create bank collections unless you enter bank information.' => '',
   'No bank information has been entered in this vendor\'s master data entry. You cannot create bank transfers unless you enter bank information.' => '',
   'No bins have been added to this warehouse yet.' => '',
+  'No carry-over chart configured!' => '',
   'No changes since previous version.' => '',
   'No clients have been created yet.' => '',
   'No contact selected to delete' => '',
@@ -2018,7 +2075,6 @@ $self->{texts} = {
   'No groups have been created yet.' => '',
   'No internal phone extensions have been configured yet.' => '',
   'No invoices have been selected.' => '',
-  'No or an unknown authenticantion module specified in "config/kivitendo.conf".' => '',
   'No part was selected.'       => '',
   'No payment term has been created yet.' => '',
   'No picture has been uploaded' => '',
@@ -2027,11 +2083,12 @@ $self->{texts} = {
   'No print templates have been created for this client yet. Please do so in the client configuration.' => '',
   'No printers have been created yet.' => '',
   'No problems were recognized.' => '',
+  'No profit and loss carried forward chart configured!' => '',
+  'No profit carried forward chart configured!' => '',
   'No quotations or orders have been created yet.' => '',
   'No report with id #1'        => '',
   'No requirement spec templates have been created yet.' => '',
   'No results.'                 => '',
-  'No revert available.'        => '',
   'No search results found!'    => '',
   'No sections created yet'     => '',
   'No sections have been created so far.' => '',
@@ -2068,6 +2125,7 @@ $self->{texts} = {
   'Not Discountable'            => '',
   'Not delivered'               => '',
   'Not done yet'                => '',
+  'Not enough in stock for the serial number #1' => '',
   'Not obsolete'                => '',
   'Note'                        => '',
   'Note that parameter names must not be quoted.' => '',
@@ -2107,7 +2165,6 @@ $self->{texts} = {
   'Number pages'                => '',
   'Number variables: \'PRECISION=n\' forces numbers to be shown with exactly n decimal places.' => '',
   'OB Transaction'              => '',
-  'OB Transactions'             => '',
   'Objects have been imported.' => '',
   'Obsolete'                    => '',
   'Oct'                         => '',
@@ -2120,14 +2177,13 @@ $self->{texts} = {
   'On Hand'                     => '',
   'On Order'                    => '',
   'On the next page the type of all variables can be set.' => '',
-  'One OB-transaction'          => '',
-  'One SB-transaction'          => '',
   'One of the columns "qty" or "target_qty" must be given. If "target_qty" is given, the quantity to transfer for each transfer will be calculate, so that the quantity for this part, warehouse and bin will result in the given "target_qty" after each transfer.' => '',
+  'One of the units used (#1) cannot be mapped to a known unit code from the UN/ECE Recommendation 20 list.' => '',
   'One or more Perl modules missing' => '',
   'Onhand only sets the quantity in master data, not in inventory. This is only a legacy info field and will be overwritten as soon as a inventory transfer happens.' => '',
+  'Only Lines with Notes or Errors' => '',
   'Only Price'                  => '',
   'Only Stock'                  => '',
-  'Only Warnings and Errors'    => '',
   'Only applies if the previous is set to true. When filling up unlinked positions, consider them matches if ALL of these fields match. For example, in a business with variants that are defined by a special description, description needs to be part of the identity. If delivering several similar order positions by delivery date is common, reqdate should be included in the identity. Serialnumber is useful when the serialnumber in the order and delivery order has to match.' => '',
   'Only booked accounts'        => '',
   'Only due follow-ups'         => '',
@@ -2165,6 +2221,7 @@ $self->{texts} = {
   'Order probability & expected billing date' => '',
   'Order value periodicity'     => '',
   'Order/Item row name'         => '',
+  'Order/Item/Stock row name'   => '',
   'Order/RFQ Number'            => '',
   'OrderItem'                   => '',
   'Ordered'                     => '',
@@ -2211,6 +2268,7 @@ $self->{texts} = {
   'Page #1/#2'                  => '',
   'Paid'                        => '',
   'Paid amount'                 => '',
+  'Parsing the XMP metadata failed.' => '',
   'Part'                        => '',
   'Part "#1" has chargenumber or best before date set. So it cannot be transfered automatically.' => '',
   'Part (database ID)'          => '',
@@ -2252,6 +2310,7 @@ $self->{texts} = {
   'Payables'                    => '',
   'Payment'                     => '',
   'Payment / Delivery Options'  => '',
+  'Payment Date'                => '',
   'Payment Reminder'            => '',
   'Payment Terms'               => '',
   'Payment Terms missing in row ' => '',
@@ -2293,11 +2352,13 @@ $self->{texts} = {
   'Pictures for search parts'   => '',
   'Please Check the bank information for each customer:' => '',
   'Please Check the bank information for each vendor:' => '',
+  'Please add a valid VAT-ID for this vendor: ' => '',
   'Please ask your administrator to create warehouses and bins.' => '',
   'Please change the partnumber of the following parts and run the update again:' => '',
   'Please choose a part.'       => '',
   'Please choose for which categories the taxes should be displayed (otherwise remove the ticks):' => '',
   'Please choose the action to be processed for your target quantity:' => '',
+  'Please configure the carry over and profit and loss accounts for year-end closing in the client configuration!' => '',
   'Please contact your administrator or a service provider.' => '',
   'Please contact your administrator.' => '',
   'Please correct the settings and try again or deactivate that client.' => '',
@@ -2377,6 +2438,7 @@ $self->{texts} = {
   'Preset email text for requests (rfq)' => '',
   'Preset email text for sales delivery orders' => '',
   'Preset email text for sales invoices' => '',
+  'Preset email text for sales invoices with direct debit' => '',
   'Preset email text for sales orders' => '',
   'Preset email text for sales quotations' => '',
   'Preview'                     => '',
@@ -2387,6 +2449,7 @@ $self->{texts} = {
   'Price #1'                    => '',
   'Price Factor'                => '',
   'Price Factors'               => '',
+  'Price List'                  => '',
   'Price Rule'                  => '',
   'Price Rules'                 => '',
   'Price Source'                => '',
@@ -2442,6 +2505,9 @@ $self->{texts} = {
   'Production'                  => 'Production',
   'Production (typeabbreviation)' => 'W',
   'Productivity'                => '',
+  'Profit'                      => '',
+  'Profit and loss accounts'    => '',
+  'Profit carried forward account' => '',
   'Profit determination'        => '',
   'Proforma Invoice'            => '',
   'Program'                     => '',
@@ -2686,7 +2752,6 @@ $self->{texts} = {
   'SEPA strings'                => '',
   'SQL query'                   => '',
   'SWIFT MT940 format'          => '',
-  'Saldo'                       => '',
   'Saldo Credit'                => '',
   'Saldo Debit'                 => '',
   'Saldo neu'                   => '',
@@ -2775,6 +2840,7 @@ $self->{texts} = {
   'Search AR Aging'             => '',
   'Search bank transactions'    => '',
   'Search contacts'             => '',
+  'Search for Items used in Assemblies' => '',
   'Search parts by customer partnumber in sales order forms' => '',
   'Search parts by vendor partnumber (model) in purchase order forms' => '',
   'Search term'                 => '',
@@ -2789,7 +2855,6 @@ $self->{texts} = {
   'Select Mulit-Item Options'   => '',
   'Select a Customer'           => '',
   'Select a period'             => '',
-  'Select charts for which the CB/OB transactions want to be posted.' => '',
   'Select federal state...'     => '',
   'Select file to upload'       => '',
   'Select from one of the items below' => '',
@@ -2952,6 +3017,7 @@ $self->{texts} = {
   'Show the picture in the part form' => '',
   'Show the pictures in the result for search parts' => '',
   'Show the weights of articles and the total weight in orders, invoices and delivery notes?' => '',
+  'Show update button for positions in order forms' => '',
   'Show weights'                => '',
   'Show your TODO list after logging in' => '',
   'Show »not delivered qty/value« column in sales and purchase orders' => '',
@@ -2995,6 +3061,7 @@ $self->{texts} = {
   'Start of year'               => '',
   'Start process'               => '',
   'Start the correction assistant' => '',
+  'Startdate method'            => '',
   'Startdate_coa'               => '',
   'Starting Balance'            => '',
   'Starting balance'            => '',
@@ -3017,7 +3084,9 @@ $self->{texts} = {
   'Stock Local/Shop'            => '',
   'Stock Qty for Date'          => '',
   'Stock for part #1'           => '',
+  'Stock levels'                => '',
   'Stock value'                 => '',
+  'StockInfo'                   => '',
   'Stocked Qty'                 => '',
   'Stocktaking'                 => '',
   'Stocktaking History'         => '',
@@ -3036,6 +3105,8 @@ $self->{texts} = {
   'Storno (one letter abbreviation)' => '',
   'Storno Invoice'              => '',
   'Street'                      => '',
+  'Street 1'                    => '',
+  'Street 2'                    => '',
   'Strict and halt'             => '',
   'Strict but replace'          => '',
   'Style the picture with the following CSS code' => '',
@@ -3048,10 +3119,8 @@ $self->{texts} = {
   'Subtotals per quarter'       => '',
   'Such entries cannot be exported into the DATEV format and have to be fixed as well.' => '',
   'Suggested invoice'           => '',
-  'Sum CB Transactions'         => '',
   'Sum Credit'                  => '',
   'Sum Debit'                   => '',
-  'Sum OB Transactions'         => '',
   'Sum for'                     => '',
   'Sum for #1'                  => '',
   'Sum for section'             => '',
@@ -3090,7 +3159,6 @@ $self->{texts} = {
   'Tax Office Preferences'      => '',
   'Tax Percent is a number between 0 and 100' => '',
   'Tax Period'                  => '',
-  'Tax Position'                => '',
   'Tax collected'               => '',
   'Tax deleted!'                => '',
   'Tax number'                  => '',
@@ -3115,7 +3183,6 @@ $self->{texts} = {
   'Taxkey_coa'                  => '',
   'Taxkeys and Taxreport Preferences' => '',
   'Taxlink_coa'                 => '',
-  'Taxnumber'                   => '',
   'Taxrate missing!'            => '',
   'Taxzones'                    => '',
   'Tel'                         => '',
@@ -3166,7 +3233,15 @@ $self->{texts} = {
   'The SQL query can be parameterized with variables named as follows: <%name%>.' => '',
   'The SQL query does not contain any parameter that need to be configured.' => '',
   'The URL is missing.'         => '',
+  'The VAT ID number \'#1\' is invalid.' => '',
+  'The VAT ID number in the client configuration is invalid.' => '',
+  'The VAT registration number is missing in the client configuration.' => '',
   'The WebDAV feature has been used.' => '',
+  'The XMP metadata does not declare the ZUGFeRD data.' => '',
+  'The ZUGFeRD XML invoice was not found.' => '',
+  'The ZUGFeRD invoice data cannot be generated because the data validation failed.' => '',
+  'The ZUGFeRD notes have been saved.' => '',
+  'The ZUGFeRD version used is not supported.' => '',
   'The abbreviation is missing.' => '',
   'The access rights a user has within a client instance is still governed by his group membership.' => '',
   'The access rights have been saved.' => '',
@@ -3219,6 +3294,7 @@ $self->{texts} = {
   'The columns &quot;Dunning Duedate&quot;, &quot;Total Fees&quot; and &quot;Interest&quot; show data for the previous dunning created for this invoice.' => '',
   'The combination of database host, port and name is not unique.' => '',
   'The command is missing.'     => '',
+  'The company\'s address information is incomplete in the client configuration.' => '',
   'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/kivitendo.conf.' => '',
   'The connection to the authentication database failed:' => '',
   'The connection to the configured client database "#1" on host "#2:#3" failed.' => '',
@@ -3228,8 +3304,11 @@ $self->{texts} = {
   'The connection to the template database failed:' => '',
   'The connection was established successfully.' => '',
   'The contact person attribute "birthday" is converted from a free-form text field into a date field.' => '',
+  'The country from the company\'s address in the client configuration cannot be mapped to an ISO 3166-1 alpha 2 code.' => '',
+  'The country from the customer\'s address cannot be mapped to an ISO 3166-1 alpha 2 code.' => '',
   'The creation of the authentication database failed:' => '',
   'The credentials (username & password) for connecting database are wrong.' => '',
+  'The currency "#1" cannot be mapped to an ISO 4217 currency code.' => '',
   'The custom data export has been deleted.' => '',
   'The custom data export has been saved.' => '',
   'The custom variable has been created.' => '',
@@ -3237,6 +3316,7 @@ $self->{texts} = {
   'The custom variable has been saved.' => '',
   'The custom variable is in use and cannot be deleted.' => '',
   'The customer name is missing.' => '',
+  'The customer\'s bank account number (IBAN) is missing.' => '',
   'The database for user management and authentication does not exist. You can create let kivitendo create it with the following parameters:' => '',
   'The database host is missing.' => '',
   'The database name is missing.' => '',
@@ -3276,6 +3356,8 @@ $self->{texts} = {
   'The export failed because of malformed transactions. Please fix those before exporting.' => '',
   'The factor is missing in row %d.' => '',
   'The factor is missing.'      => '',
+  'The file \'#1\' could not be opened for reading.' => '',
+  'The file \'#1\' does not contain the required XMP meta data.' => '',
   'The file has been sent to the printer.' => '',
   'The file is available for download.' => '',
   'The file name is missing'    => '',
@@ -3509,7 +3591,6 @@ $self->{texts} = {
   'There was an error saving the draft' => '',
   'There was an error saving the letter' => '',
   'There was an error saving the letter draft' => '',
-  'There will be two transactions done:' => '',
   'There you can let kivitendo create the basic tables for you, even in an already existing database.' => '',
   'Therefore several settings that had to be made for each user in the past have been consolidated into the client configuration.' => '',
   'Therefore the definition of "kg" with the base unit "g" and a factor of 1000 is valid while defining "g" with a base unit of "kg" and a factor of "0.001" is not.' => '',
@@ -3566,6 +3647,8 @@ $self->{texts} = {
   'This record has already been closed.' => '',
   'This record has already been delivered.' => '',
   'This record has not been saved yet.' => '',
+  'This record has not been stocked in. Proceed?' => '',
+  'This record has not been stocked out. Proceed?' => '',
   'This requirement spec is currently linked to the following project:' => '',
   'This requirement spec is currently not linked to a project.' => '',
   'This requires you to manually correct entries for which an automatic conversion failed and to check those for which it succeeded.' => '',
@@ -3595,7 +3678,6 @@ $self->{texts} = {
   'Time estimate'               => '',
   'Time period for the analysis:' => '',
   'Time/cost estimate actions'  => '',
-  'Timerange'                   => '',
   'Timestamp'                   => '',
   'Tired of copying always nice phrases for this message? Click here to use the new preset message option!' => '',
   'Title'                       => '',
@@ -3694,6 +3776,7 @@ $self->{texts} = {
   'UStVa'                       => '',
   'UStVa Einstellungen'         => '',
   'Unable to book transactions for bank purpose #1' => '',
+  'Unable to reconcile, database transaction failure' => '',
   'Unbalanced Ledger'           => '',
   'Unchecked custom variables will not appear in orders and invoices.' => '',
   'Undo SEPA exports'           => '',
@@ -3709,6 +3792,7 @@ $self->{texts} = {
   'Units that have already been used (e.g. for parts and services or in invoices or warehouse transactions) cannot be changed.' => '',
   'Unknown Category'            => '',
   'Unknown Link'                => '',
+  'Unknown authenticantion module #1 specified in "config/kivitendo.conf".' => '',
   'Unknown control fields: #1'  => '',
   'Unknown dependency \'%s\'.'  => '',
   'Unknown module: #1'          => '',
@@ -3725,6 +3809,7 @@ $self->{texts} = {
   'Update Prices'               => '',
   'Update SKR04: new tax account 3804 (19%)' => '',
   'Update customer using billing address' => '',
+  'Update from master data'     => '',
   'Update prices'               => '',
   'Update prices of existing entries' => '',
   'Update prices of existing entries / skip non-existent' => '',
@@ -3765,14 +3850,22 @@ $self->{texts} = {
   'Use UStVA'                   => '',
   'Use WebDAV Repository'       => '',
   'Use WebDAV Storage backend'  => '',
+  'Use a text field to enter (new) contact departments if enabled. Otherwise, only a drop down box is offered.' => '',
+  'Use a text field to enter (new) contact titles if enabled. Otherwise, only a drop down box is offered.' => '',
+  'Use a text field to enter (new) greetings if enabled. Otherwise, only a drop down box is offered.' => '',
   'Use as new'                  => '',
   'Use default booking group because setting is \'all\'' => '',
   'Use default booking group because wanted is missing' => '',
   'Use default warehouse for assembly transfer' => '',
   'Use existing templates'      => '',
   'Use fill up when calculating shipped quantities?' => '',
+  'Use for ZUGFeRD'             => '',
   'Use linked items'            => '',
   'Use master default bin for Default Transfer, if no default bin for the part is configured' => '',
+  'Use settings from client configuration' => '',
+  'Use text field for department of contacts' => '',
+  'Use text field for greetings' => '',
+  'Use text field for title of contacts' => '',
   'Use this storage backend for all generated PDF-Files' => '',
   'Use this storage backend for all uploaded attachments' => '',
   'Use this storage backend for uploaded images' => '',
@@ -3836,6 +3929,7 @@ $self->{texts} = {
   'View background job execution result' => '',
   'View sent email'             => '',
   'View warehouse content'      => '',
+  'View/edit all employees purchase documents' => '',
   'View/edit all employees sales documents' => '',
   'Von Konto: '                 => '',
   'WHJournal'                   => 'Warehouse journal',
@@ -3855,6 +3949,7 @@ $self->{texts} = {
   'Warn before saving orders without a delivery date' => '',
   'Warning'                     => '',
   'Warning! Loading a draft will discard unsaved data!' => '',
+  'Warning: Faulty position ignored' => '',
   'Warning: One or more field value are not in valid DATEV format at:' => '',
   'Warnings and errors'         => '',
   'Watch status'                => '',
@@ -3900,6 +3995,10 @@ $self->{texts} = {
   'X'                           => '',
   'YYYY'                        => '',
   'Year'                        => '',
+  'Year-end bookings were successfully completed!' => '',
+  'Year-end closing'            => '',
+  'Year-end date'               => '',
+  'Year-end date missing'       => '',
   'Yearly'                      => '',
   'Yearly taxreport not yet implemented' => '',
   'Yes'                         => '',
@@ -3922,10 +4021,12 @@ $self->{texts} = {
   'You cannot create an invoice for delivery orders from different vendors.' => '',
   'You cannot modify individual assigments from additional articles to line items.' => '',
   'You cannot paste function blocks or sub function blocks if there is no section.' => '',
+  'You cannot use a negative amount with debit/credit!' => '',
   'You do not have access to any custom data export.' => '',
   'You do not have permission to access this entry.' => '',
   'You do not have the permissions to access this function.' => '',
   'You don\'t have the rights to edit this customer.' => '',
+  'You have changed the currency or exchange rate. Please check prices.' => '',
   'You have entered or selected the following shipping address for this customer:' => '',
   'You have never worked with currencies.' => '',
   'You have not added bank accounts yet.' => '',
@@ -3949,6 +4050,7 @@ $self->{texts} = {
   'You should create a backup of the database before proceeding because the backup might not be reversible.' => '',
   'You\'re not editing a file.' => '',
   'You\'ve already chosen the following limitations:' => '',
+  'Your Order'                  => '',
   'Your PostgreSQL installationen does not use Unicode as its encoding. This is not supported anymore.' => '',
   'Your Reference'              => '',
   'Your TODO list'              => '',
@@ -3956,11 +4058,16 @@ $self->{texts} = {
   'Your download does not exist anymore. Please re-run the DATEV export assistant.' => '',
   'Your import is being processed.' => '',
   'Your target quantity will be added to the stocked quantity.' => '',
+  'ZUGFeRD import'              => '',
+  'ZUGFeRD invoice'             => '',
+  'ZUGFeRD notes for each invoice' => '',
   'Zeitraum'                    => '',
   'Zero amount posting!'        => '',
   'Zip'                         => '',
   'Zip, City'                   => '',
   'Zipcode'                     => '',
+  'Zipcode and city'            => '',
+  'ZugFeRD Import'              => '',
   '[email]'                     => '',
   'absolute'                    => '',
   'account_description'         => '',
@@ -3995,13 +4102,13 @@ $self->{texts} = {
   'brutto'                      => '',
   'building data'               => '',
   'building report'             => '',
+  'can only parse a pdf file'   => '',
   'cash'                        => '',
   'chargenumber #1'             => '',
   'chart_of_accounts'           => '',
   'cleared'                     => '',
   'click here to edit cvars'    => '',
   'close'                       => '',
-  'close chart'                 => '',
   'closed'                      => '',
   'companylogo_subtitle'        => '',
   'config/kivitendo.conf: Key "DB_config" is missing.' => '',
@@ -4038,6 +4145,8 @@ $self->{texts} = {
   'error while unlinking payment #1 : ' => '',
   'every third month'           => '',
   'every time'                  => '',
+  'exchange rate already exists, no update allowed' => '',
+  'exchange rate has to be positive' => '',
   'executed'                    => '',
   'execution as user \'#1\''    => '',
   'failed'                      => '',
@@ -4061,7 +4170,6 @@ $self->{texts} = {
   'from \'#1\' imported Files'  => '',
   'from (time)'                 => '',
   'general_ledger_list'         => '',
-  'generate cb/ob transactions for selected charts' => '',
   'generated Files'             => '',
   'gobd-#1-#2.zip'              => '',
   'h'                           => '',
@@ -4101,10 +4209,12 @@ $self->{texts} = {
   'male'                        => '',
   'max filesize'                => '',
   'missing'                     => '',
+  'missing file for action import' => '',
   'missing_br'                  => 'missing',
   'month'                       => '',
   'monthly'                     => '',
   'more'                        => '',
+  'natural person'              => '',
   'netto'                       => '',
   'never'                       => '',
   'new order controller'        => '',