 (Half Day),(Halber Tag)
 and year: ,und Jahr:
""" does not exists",""" Existiert nicht"
%  Delivered,%  geliefert
% Amount Billed,% Betrag in Rechnung gestellt
% Billed,% in Rechnung gestellt
% Completed,% abgeschlossen
% Delivered,Geliefert %
% Installed,% installiert
% Milestones Achieved,
% Milestones Completed,
% Received,% erhalten
% Tasks Completed,
% of materials billed against this Purchase Order.,% der für diese Bestellung in Rechnung gestellten Materialien.
% of materials billed against this Sales Order,% der für diesen Kundenauftrag in Rechnung gestellten Materialien
% of materials delivered against this Delivery Note,% der für diesen Lieferschein gelieferten Materialien
% of materials delivered against this Sales Order,% der für diesen Kundenauftrag gelieferten Materialien
% of materials ordered against this Material Request,% der für diese Materialanfrage bestellten Materialien
% of materials received against this Purchase Order,% der für diese Bestellung erhaltenen Materialeien
'Actual Start Date' can not be greater than 'Actual End Date',"' Ist- Startdatum ""nicht größer als "" Actual End Date "" sein"
'Based On' and 'Group By' can not be same,""" Based On "" und "" Group By "" nicht gleich sein"
'Days Since Last Order' must be greater than or equal to zero,""" Tage seit dem letzten Auftrag "" muss größer als oder gleich Null sein"
'Entries' cannot be empty,' Einträge ' darf nicht leer sein
'Expected Start Date' can not be greater than 'Expected End Date',""" Erwartete Startdatum "" nicht größer als "" voraussichtlich Ende Datum "" sein"
'From Date' is required,""" Von-Datum "" ist erforderlich,"
'From Date' must be after 'To Date',"""Von Datum "" muss nach 'To Date "" sein"
'Has Serial No' can not be 'Yes' for non-stock item,""" Hat Seriennummer "" kann nicht sein ""Ja"" für Nicht- Lagerware"
'Notification Email Addresses' not specified for recurring %s,
'Profit and Loss' type account {0} not allowed in Opening Entry,""" Gewinn und Verlust "" Typ Account {0} nicht in Öffnungs Eintrag erlaubt"
'To Case No.' cannot be less than 'From Case No.','Bis Fall Nr.' kann nicht kleiner als 'Von Fall Nr.' sein
'To Date' is required,"'To Date "" ist erforderlich,"
'Update Stock' for Sales Invoice {0} must be set,'Update Auf ' für Sales Invoice {0} muss eingestellt werden
* Will be calculated in the transaction.,* Wird in der Transaktion berechnet.
"**Budget Distribution** helps you distribute your budget across months if you have seasonality in your business.To distribute a budget using this distribution, set this **Budget Distribution** in the **Cost Center**",
**Currency** Master,**Währung** Stamm
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Geschäftsjahr** steht für ein Geschäftsjahr. Alle Buchungen und anderen großen Transaktionen werden mit dem **Geschäftsjahr** verglichen.
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,
1. To maintain the customer wise item code and to make them searchable based on their code use this option,"1. Um den kundenspezifischen Artikelcode zu erhalten und ihn auffindbar zu machen, verwenden Sie diese Option"
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer Group""> Hinzufügen / Bearbeiten </ a>"
"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item Group""> Hinzufügen / Bearbeiten </ a>"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> Hinzufügen / Bearbeiten </ a>"
"<h4>Default Template</h4><p>Uses <a href=""http://jinja.pocoo.org/docs/templates/"">Jinja Templating</a> and all the fields of Address (including Custom Fields if any) will be available</p><pre><code>{{ address_line1 }}&lt;br&gt;{% if address_line2 %}{{ address_line2 }}&lt;br&gt;{% endif -%}{{ city }}&lt;br&gt;{% if state %}{{ state }}&lt;br&gt;{% endif -%}{% if pincode %} PIN:  {{ pincode }}&lt;br&gt;{% endif -%}{{ country }}&lt;br&gt;{% if phone %}Phone: {{ phone }}&lt;br&gt;{% endif -%}{% if fax %}Fax: {{ fax }}&lt;br&gt;{% endif -%}{% if email_id %}Email: {{ email_id }}&lt;br&gt;{% endif -%}</code></pre>",
A Customer Group exists with same name please change the Customer name or rename the Customer Group,Eine Kundengruppe mit dem gleichen Namen existiert bereits. Ändern Sie den Kundennamen oder benennen Sie die Kundengruppe um
A Customer exists with same name,Ein Kunde mit dem gleichen Namen existiert bereits
A Lead with this email id should exist,Ein Leiter mit dieser E-Mail-Adresse sollte vorhanden sein
A Product or Service,Produkt oder Dienstleistung
"A Product or a Service that is bought, sold or kept in stock.","Produkt oder Dienstleistung, die gekauft, verkauft oder auf Lager gehalten wird."
A Supplier exists with same name,Ein Lieferant mit dem gleichen Namen existiert bereits
A condition for a Shipping Rule,Bedingung für eine Versandregel
A logical Warehouse against which stock entries are made.,Eine logisches Warenlager für das Bestandseinträge gemacht werden.
A symbol for this currency. For e.g. $,"Ein Symbol für diese Währung, z.B. €"
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,"Ein dritter Vertriebspartner/Händler/Kommissionär/Tochterunternehmer/ Fachhändler, der die Produkte es Unternehmens auf Provision vertreibt."
"A user with ""Expense Approver"" role",
AMC Expiry Date,AMC Verfalldatum
Abbr,Abk.
Abbreviation cannot have more than 5 characters,Abkürzung darf nicht länger als 5 Zeichen sein
Above Value,Über Wert
Absent,Abwesend
Acceptance Criteria,Akzeptanzkriterium
Accepted,Akzeptiert
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Akzeptierte + Abgelehnte Menge muss für den Posten {0} gleich der Erhaltenen Menge sein
Accepted Quantity,Akzeptierte Menge
Accepted Warehouse,Akzeptiertes Lager
Account,Konto
Account Balance,Kontostand
Account Created: {0},Konto {0} erstellt
Account Details,Kontendaten
Account Head,Kontoführer
Account Name,Kontoname
Account Type,Kontotyp
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Kontostand bereits im Kredit, Sie dürfen nicht eingestellt ""Balance Must Be"" als ""Debit"""
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Kontostand bereits in Lastschrift, sind Sie nicht berechtigt, festgelegt als ""Kredit"" ""Balance Must Be '"
Account for the warehouse (Perpetual Inventory) will be created under this Account.,Konto für das Lager (Laufende Inventur) wird unter diesem Konto erstellt.
Account head {0} created,Kontoführer {0} erstellt
Account must be a balance sheet account,Konto muss ein Bilanzkonto sein
Account with child nodes cannot be converted to ledger,Ein Konto mit Kind-Knoten kann nicht in ein Kontoblatt umgewandelt werden
Account with existing transaction can not be converted to group.,Ein Konto mit bestehenden Transaktion kann nicht in eine Gruppe umgewandelt werden
Account with existing transaction can not be deleted,Ein Konto mit bestehenden Transaktion kann nicht gelöscht werden
Account with existing transaction cannot be converted to ledger,Ein Konto mit bestehenden Transaktion kann nicht in ein Kontoblatt umgewandelt werden
Account {0} cannot be a Group,Konto {0} kann keine Gruppe sein
Account {0} does not belong to Company {1},Konto {0} gehört nicht zum Unternehmen {1}
Account {0} does not belong to company: {1},Konto {0} gehört nicht zum Unternehmen: {1}
Account {0} does not exist,Konto {0} existiert nicht
Account {0} does not exists,
Account {0} has been entered more than once for fiscal year {1},Konto {0} wurde mehr als einmal für das Geschäftsjahr {1} eingegeben 
Account {0} is frozen,Konto {0} ist gesperrt
Account {0} is inactive,Konto {0} ist inaktiv
Account {0} is not valid,Konto {0} ist nicht gültig
Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item,"Konto {0} muss vom Typ ""Aktivposten"" sein, weil der Artikel {1} ein Aktivposten ist"
Account {0}: Parent account {1} can not be a ledger,Konto {0}: Eltern-Konto {1} kann kein Kontenblatt sein
Account {0}: Parent account {1} does not belong to company: {2},Konto {0}: Eltern-Konto {1} gehört nicht zur Firma {2}
Account {0}: Parent account {1} does not exist,Konto {0}: Eltern-Konto {1} existiert nicht
Account {0}: You can not assign itself as parent account,Konto {0}: Sie können sich nicht als Hauptkonto zuweisen
Account: {0} can only be updated via \					Stock Transactions,Konto {0} kann nur über Lagerbewegungen aktualisiert werden
Accountant,Buchhalter
Accounting,Buchhaltung
"Accounting Entries can be made against leaf nodes, called","Accounting Einträge können gegen Blattknoten gemacht werden , die so genannte"
Accounting Entry for Stock,
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Bis zu diesem Zeitpunkt eingefrorener Buchhaltungseintrag, niemand außer der unten genannten Position kann den Eintrag bearbeiten/ändern."
Accounting journal entries.,Buchhaltungsjournaleinträge
Accounts,Konten
Accounts Browser,Kontenbrowser
Accounts Frozen Upto,Konten gesperrt bis
Accounts Manager,Kontenmanager
Accounts Payable,Kreditoren
Accounts Receivable,Forderungen
Accounts Settings,Konteneinstellungen
Accounts User,Kontenbenutzer
Active,Aktiv
Active: Will extract emails from ,Aktiv: Werden E-Mails extrahieren
Activity,Aktivität
Activity Log,Aktivitätsprotokoll
Activity Log:,Aktivitätsprotokoll:
Activity Type,Aktivitätstyp
Actual,Tatsächlich
Actual Budget,Tatsächliches Budget
Actual Completion Date,Tatsächliches Abschlussdatum
Actual Date,Tatsächliches Datum
Actual End Date,Tatsächliches Enddatum
Actual Invoice Date,Tatsächliches Rechnungsdatum
Actual Posting Date,Tatsächliches Buchungsdatum
Actual Qty,Tatsächliche Anzahl
Actual Qty (at source/target),Tatsächliche Anzahl (an Ursprung/Ziel)
Actual Qty After Transaction,Tatsächliche Anzahl nach Transaktion
Actual Qty: Quantity available in the warehouse.,Tatsächliche Menge: Menge verfügbar im Lager.
Actual Quantity,Istmenge
Actual Start Date,Tatsächliches Startdatum
Add,Hinzufügen
Add / Edit Taxes and Charges,Hinzufügen/Bearbeiten von Steuern und Abgaben
Add Child,Untergeordnetes Element hinzufügen
Add Serial No,In Seriennummer
Add Taxes,Steuern hinzufügen
Add or Deduct,Hinzuaddieren oder abziehen
Add rows to set annual budgets on Accounts.,Zeilen zum Festlegen der Jahresbudgets in Konten hinzufügen.
Add to Cart,In den Warenkorb
Add to calendar on this date,In den an diesem Tag Kalender
Add/Remove Recipients,Empfänger hinzufügen/entfernen
Address,Adresse
Address & Contact,Adresse & Kontakt
Address & Contacts,Adresse & Kontakt
Address Desc,Adresszusatz
Address Details,Adressdetails
Address HTML,Adresse HTML
Address Line 1,Adresszeile 1
Address Line 2,Adresszeile 2
Address Template,Adressvorlage
Address Title,Adresse Titel
Address Title is mandatory.,Titel Adresse ist verpflichtend.
Address Type,Adresstyp
Address master.,Adresse Master.
Administrative Expenses,Verwaltungskosten
Administrative Officer,Administrative Officer
Administrator,
Advance Amount,Vorausbetrag
Advance amount,Vorausbetrag
Advances,Vorschüsse
Advertisement,Anzeige
Advertising,Werbung
Aerospace,Luft-und Raumfahrt
After Sale Installations,Installationen nach Verkauf
Against,Gegen
Against Account,Gegen Konto
Against Docname,Gegen Dokumentennamen
Against Doctype,Gegen Dokumententyp
Against Document Detail No,Gegen Dokumentendetail Nr.
Against Document No,Gegen Dokument Nr.
Against Expense Account,Gegen Aufwandskonto
Against Income Account,Gegen Einkommenskonto
Against Journal Voucher,Gegen Journalgutschein
Against Journal Voucher {0} does not have any unmatched {1} entry,Vor Blatt Gutschein {0} keine unerreichte {1} Eintrag haben
Against Purchase Invoice,Gegen Einkaufsrechnung
Against Sales Invoice,Gegen Verkaufsrechnung
Against Sales Order,Vor Sales Order
Against Supplier Invoice {0} dated {1},
Against Voucher,Gegen Gutschein
Against Voucher Type,Gegen Gutscheintyp
Ageing Based On,"Altern, basiert auf"
Ageing Date is mandatory for opening entry,Alternde Datum ist obligatorisch für die Öffnung der Eintrag
Ageing date is mandatory for opening entry,Alternde Datum ist obligatorisch für die Öffnung der Eintrag
Agent,Agent
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials",
Aging Date,Fälligkeitsdatum
Aging Date is mandatory for opening entry,Aging Datum ist obligatorisch für die Öffnung der Eintrag
Agriculture,Landwirtschaft
Airline,Fluggesellschaft
All,
All Addresses.,Alle Adressen
All Contact,Alle Kontakte
All Contacts.,Alle Kontakte
All Customer Contact,Alle Kundenkontakte
All Customer Groups,Alle Kundengruppen
All Day,Ganzer Tag
All Employee (Active),Alle Mitarbeiter (Aktiv)
All Item Groups,Alle Artikelgruppen
All Lead (Open),Alle Leads (offen)
All Products or Services.,Alle Produkte oder Dienstleistungen.
All Sales Partner Contact,Alle Vertriebspartnerkontakte
All Sales Person,Alle Vertriebsmitarbeiter
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Alle Verkaufsvorgänge können für mehrere ** Vertriebsmitarbeiter** markiert werden, so dass Sie Ziele festlegen und überwachen können."
All Supplier Contact,Alle Lieferantenkontakte
All Supplier Types,Alle Lieferant Typen
All Territories,Alle Staaten
"All export related fields like currency, conversion rate, export total, export grand total etc are available in Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Alle Export verwandten Bereichen wie Währung , Conversion-Rate , Export insgesamt , Export Gesamtsumme etc sind in Lieferschein , POS, Angebot, Verkaufsrechnung , Auftrags usw."
"All import related fields like currency, conversion rate, import total, import grand total etc are available in Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Alle Import verwandten Bereichen wie Währung , Conversion-Rate , Import insgesamt , Import Gesamtsumme etc sind in Kaufbeleg , Lieferant Angebot, Einkaufsrechnung , Bestellung usw."
All items have already been invoiced,Alle Einzelteile sind bereits abgerechnet
All these items have already been invoiced,Alle diese Elemente sind bereits in Rechnung gestellt
Allocate,Zuordnung
Allocate leaves for a period.,Ordnen Blätter für einen Zeitraum .
Allocate leaves for the year.,Jahresurlaube zuordnen.
Allocated Amount,Zugewiesener Betrag
Allocated Budget,Zugewiesenes Budget
Allocated amount,Zugewiesener Betrag
Allocated amount can not be negative,Geschätzter Betrag kann nicht negativ sein
Allocated amount can not greater than unadusted amount,Geschätzter Betrag kann nicht größer als unadusted Menge
Allow Bill of Materials,Stückliste zulassen
Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item,"Lassen Bill of Materials sollte ""Ja"" . Da eine oder mehrere zu diesem Artikel vorhanden aktiv Stücklisten"
Allow Children,Lassen Sie Kinder
Allow Dropbox Access,Dropbox-Zugang zulassen
Allow Google Drive Access,Google Drive-Zugang zulassen
Allow Negative Balance,Negativen Saldo zulassen
Allow Negative Stock,Negatives Inventar zulassen
Allow Production Order,Fertigungsauftrag zulassen
Allow User,Benutzer zulassen
Allow Users,Benutzer zulassen
Allow the following users to approve Leave Applications for block days.,"Zulassen, dass die folgenden Benutzer Urlaubsanträge für Blöcke von Tagen genehmigen können."
Allow user to edit Price List Rate in transactions,"Benutzer erlauben, die Preislistenrate in Transaktionen zu bearbeiten"
Allowance Percent,Zulassen Prozent
Allowance for over-{0} crossed for Item {1},Wertberichtigungen für Über {0} drücken für Artikel {1}
Allowance for over-{0} crossed for Item {1}.,Wertberichtigungen für Über {0} drücken für Artikel {1}.
Allowed Role to Edit Entries Before Frozen Date,"Erlaubt Rolle , um Einträge bearbeiten Bevor Gefrorene Datum"
Amended From,Geändert am
Amount,Betrag
Amount (Company Currency),Betrag (Unternehmenswährung)
Amount Paid,Betrag
Amount to Bill,Belaufen sich auf Bill
Amounts not reflected in bank,
Amounts not reflected in system,
An Customer exists with same name,Ein Kunde mit dem gleichen Namen existiert
"An Item Group exists with same name, please change the item name or rename the item group","Mit dem gleichen Namen eine Artikelgruppe existiert, ändern Sie bitte die Artikel -Namen oder die Artikelgruppe umbenennen"
"An item exists with same name ({0}), please change the item group name or rename the item","Ein Element mit dem gleichen Namen existiert ({0} ), ändern Sie bitte das Einzelgruppennamen oder den Artikel umzubenennen"
Analyst,Analytiker
Annual,jährlich
Another Period Closing Entry {0} has been made after {1},Eine weitere Periode Schluss Eintrag {0} wurde nach gemacht worden {1}
Another Salary Structure {0} is active for employee {1}. Please make its status 'Inactive' to proceed.,
"Any other comments, noteworthy effort that should go in the records.",Alle weiteren Kommentare sind bemerkenswert und sollten aufgezeichnet werden.
Apparel & Accessories,Kleidung & Accessoires
Applicability,Anwendbarkeit
Applicable Charges,
Applicable For,Anwendbar
Applicable Holiday List,Geltende Urlaubsliste
Applicable Territory,Anwendbar Territory
Applicable To (Designation),Geltend für (Bestimmung)
Applicable To (Employee),Geltend für (Mitarbeiter)
Applicable To (Role),Anwendbar auf (Rolle)
Applicable To (User),Anwendbar auf (User)
Applicant Name,Bewerbername
Applicant for a Job,Bewerber für einen Job
Applicant for a Job.,Bewerber für einen Job.
Application of Funds (Assets),Mittelverwendung (Aktiva)
Applications for leave.,Urlaubsanträge
Applies to Company,Gilt für Unternehmen
Apply / Approve Leaves,Beurlaubungen anwenden/genehmigen
Apply On,Bewerben auf
Appraisal,Bewertung
Appraisal Goal,Bewertungsziel
Appraisal Goals,Bewertungsziele
Appraisal Template,Bewertungsvorlage
Appraisal Template Goal,Bewertungsvorlage Ziel
Appraisal Template Title,Bewertungsvorlage Titel
Appraisal {0} created for Employee {1} in the given date range,Bewertung {0} für Mitarbeiter erstellt {1} in der angegebenen Datumsbereich
Apprentice,Lehrling
Approval Status,Genehmigungsstatus
Approval Status must be 'Approved' or 'Rejected',"Genehmigungsstatus muss ""Genehmigt"" oder "" Abgelehnt """
Approved,Genehmigt
Approver,Genehmigender
Approving Role,Genehmigende Rolle
Approving Role cannot be same as role the rule is Applicable To,Genehmigen Rolle kann nicht dieselbe sein wie die Rolle der Regel ist anwendbar auf
Approving User,Genehmigen Benutzer
Approving User cannot be same as user the rule is Applicable To,Genehmigen Benutzer kann nicht dieselbe sein wie Benutzer die Regel ist anwendbar auf
Are you sure you want to STOP ,
Are you sure you want to UNSTOP ,
Arrear Amount,Ausstehender Betrag
"As Production Order can be made for this item, it must be a stock item.","Als Fertigungsauftrag kann für diesen Artikel gemacht werden , es muss ein Lager Titel ."
As per Stock UOM,Wie pro Bestand ME
"As there are existing stock transactions for this item, you can not change the values of 'Has Serial No', 'Is Stock Item' and 'Valuation Method'","Da gibt es bestehende Aktientransaktionen zu diesem Artikel , können Sie die Werte von "" Hat Serien Nein ' nicht ändern , Ist Auf Artikel "" und "" Bewertungsmethode """
Asset,Vermögenswert
Assistant,Assistent
Associate,Mitarbeiterin
Atleast one of the Selling or Buying must be selected,Mindestens eines der Verkauf oder Kauf ausgewählt werden muss
Atleast one warehouse is mandatory,Mindestens ein Warenlager ist obligatorisch
Attach Image,Bild anhängen
Attach Letterhead,Bringen Brief
Attach Logo,Bringen Logo
Attach Your Picture,Bringen Sie Ihr Bild
Attendance,Teilnahme
Attendance Date,Teilnahmedatum
Attendance Details,Teilnahmedetails
Attendance From Date,Teilnahme ab Datum
Attendance From Date and Attendance To Date is mandatory,Die Teilnahme von Datum bis Datum und Teilnahme ist obligatorisch
Attendance To Date,Teilnahme bis Datum
Attendance can not be marked for future dates,Die Teilnahme kann nicht für zukünftige Termine markiert werden
Attendance for employee {0} is already marked,Die Teilnahme für Mitarbeiter {0} bereits markiert ist
Attendance record.,Anwesenheitsnachweis
Auditor,
Authorization Control,Berechtigungskontrolle
Authorization Rule,Autorisierungsregel
Auto Accounting For Stock Settings,Auto Accounting for Stock -Einstellungen
Auto Material Request,Automatische Materialanforderung
Auto-raise Material Request if quantity goes below re-order level in a warehouse,"Automatische Erstellung einer Materialanforderung, wenn die Menge in einem Warenlager unter der Grenze für Neubestellungen liegt"
Automatically compose message on submission of transactions.,Automatisch komponieren Nachricht auf Vorlage von Transaktionen.
Automatically updated via Stock Entry of type Manufacture/Repack,Automatisch über Lagerbuchung vom Typ Herstellung/Umpacken aktualisiert
Automotive,Automotive
Autoreply when a new mail is received,"Autoreply, wenn eine neue E-Mail eingegangen ist"
Available,verfügbar
Available Qty at Warehouse,Verfügbare Menge auf Lager
Available Stock for Packing Items,Verfügbarer Bestand für Verpackungsartikel
"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Erhältlich in Stückliste, Lieferschein, Rechnung, Fertigungsauftrag, Bestellung, Kaufbeleg, Verkaufsrechnung, Auftrag, Lagerbeleg, Zeiterfassung"
Average Age,Durchschnittsalter
Average Commission Rate,Durchschnittliche Kommission bewerten
Average Discount,Durchschnittlicher Rabatt
Awesome Products,ehrfürchtig Produkte
Awesome Services,ehrfürchtig Dienstleistungen
BOM Detail No,Stückliste Detailnr.
BOM Explosion Item,Position der Stücklistenauflösung
BOM Item,Stücklistenposition
BOM No,Stücklistennr.
BOM No. for a Finished Good Item,Stücklistennr. für einen fertigen Artikel
BOM Operation,Stücklistenvorgang
BOM Operations,Stücklistenvorgänge
BOM Replace Tool,Stücklisten-Ersetzungstool
BOM number is required for manufactured Item {0} in row {1},Stücklistennummer wird für hergestellte Artikel erforderlich {0} in Zeile {1}
BOM number not allowed for non-manufactured Item {0} in row {1},Stücklistennummer für Nicht- gefertigte Artikel darf {0} in Zeile {1}
BOM recursion: {0} cannot be parent or child of {2},BOM Rekursion : {0} kann nicht Elternteil oder Kind von {2}
BOM replaced,Stückliste ersetzt
BOM {0} for Item {1} in row {2} is inactive or not submitted,Stückliste {0} für Artikel {1} in Zeile {2} ist inaktiv oder nicht vorgelegt
BOM {0} is not active or not submitted,Stückliste {0} ist nicht aktiv oder nicht eingereicht
BOM {0} is not submitted or inactive BOM for Item {1},Stückliste {0} nicht vorgelegt oder inaktiv Stückliste für Artikel {1}
Backup Manager,Datensicherungsverwaltung
Backup Right Now,Jetzt eine Datensicherung durchführen
Backups will be uploaded to,Datensicherungen werden hochgeladen nach
Balance Qty,Bilanzmenge
Balance Sheet,Bilanz
Balance Value,Bilanzwert
Balance for Account {0} must always be {1},Saldo für Konto {0} muss immer {1} sein
Balance must be,Saldo muss sein
"Balances of Accounts of type ""Bank"" or ""Cash""","Guthaben von Konten vom Typ ""Bank"" oder ""Cash"""
Bank,Bank
Bank / Cash Account,Bank / Geldkonto
Bank A/C No.,Bankkonto-Nr.
Bank Account,Bankkonto
Bank Account No.,Bankkonto-Nr.
Bank Accounts,Bankkonten
Bank Clearance Summary,Zusammenfassung Bankgenehmigung
Bank Draft,Banktratte
Bank Name,Name der Bank
Bank Overdraft Account,Kontokorrentkredit Konto
Bank Reconciliation,Kontenabstimmung
Bank Reconciliation Detail,Kontenabstimmungsdetail
Bank Reconciliation Statement,Kontenabstimmungsauszug
Bank Voucher,Bankbeleg
Bank/Cash Balance,Bank-/Bargeldsaldo
Banking,Bankwesen
Barcode,Strichcode
Barcode {0} already used in Item {1},Barcode {0} bereits in Artikel {1} verwendet 
Based On,Beruht auf
Basic,Grundlagen
Basic Info,Grundinfo
Basic Information,Grundinformationen
Basic Rate,Grundrate
Basic Rate (Company Currency),Grundrate (Unternehmenswährung)
Batch,Stapel
Batch (lot) of an Item.,Stapel (Partie) eines Artikels.
Batch Finished Date,Enddatum des Stapels
Batch ID,Stapel-ID
Batch No,Stapelnr.
Batch Started Date,Anfangsdatum Stapel
Batch Time Logs for Billing.,Stapel-Zeitprotokolle für Abrechnung.
Batch Time Logs for billing.,Stapel-Zeitprotokolle für Abrechnung.
Batch-Wise Balance History,Stapelweiser Kontostand
Batched for Billing,Für Abrechnung gebündelt
Better Prospects,Bessere zukünftige Kunden
Bill Date,Rechnungsdatum
Bill No,Rechnungsnr.
Bill of Material,Stückliste
Bill of Material to be considered for manufacturing,"Stückliste, die für die Herstellung berücksichtigt werden soll"
Bill of Materials (BOM),Stückliste (SL)
Billable,Abrechenbar
Billed,Abgerechnet
Billed Amount,Rechnungsbetrag
Billed Amt,Rechnungsbetrag
Billing,Abrechnung
Billing (Sales Invoice),Abrechung (Handelsrechnung)
Billing Address,Rechnungsadresse
Billing Address Name,Name der Rechnungsadresse
Billing Status,Abrechnungsstatus
Bills raised by Suppliers.,Rechnungen an Lieferanten
Bills raised to Customers.,Rechnungen an Kunden
Bin,Lagerfach
Bio,Bio
Biotechnology,Biotechnologie
Birthday,Geburtstag
Block Date,Datum sperren
Block Days,Tage sperren
Block Holidays on important days.,Urlaub an wichtigen Tagen sperren.
Block leave applications by department.,Urlaubsanträge pro Abteilung sperren.
Blog Post,Blog-Post
Blog Subscriber,Blog-Abonnent
Blood Group,Blutgruppe
Both Warehouse must belong to same Company,Beide Lager müssen der selben Gesellschaft gehören
Box,Kiste
Branch,Filiale
Brand,Firmenmarke
Brand Name,Markenname
Brand master.,Firmenmarke Vorlage
Brands,Firmenmarken
Breakdown,Übersicht
Broadcasting,Rundfunk
Brokerage,Provision
Budget,Budget
Budget Allocated,Zugewiesenes Budget
Budget Detail,Budgetdetail
Budget Details,Budgetdetails
Budget Distribution,Budgetverteilung
Budget Distribution Detail,Budgetverteilung Details
Budget Distribution Details,Budgetverteilung Details
Budget Variance Report,Budget Abweichungsbericht
Budget cannot be set for Group Cost Centers,Budget kann nicht für die Konzernkostenstelleneingerichtet werden
Build Report,Bauen Bericht
Bundle items at time of sale.,Artikel zum Zeitpunkt des Verkaufs zusammenfassen.
Business Development Manager,Business Development Manager
Buyer of Goods and Services.,Käufer von Waren und Dienstleistungen.
Buying,Einkauf
Buying & Selling,Einkaufen und Verkaufen
Buying Amount,Kaufbetrag
Buying Settings,Einkaufs Einstellungen
"Buying must be checked, if Applicable For is selected as {0}","Kaufen Sie muss überprüft werden, wenn Anwendbar ist als ausgewählt {0}"
C-Form,C-Formular
C-Form Applicable,C-Formular Anwendbar
C-Form Invoice Detail,C-Formular Rechnungsdetails
C-Form No,C-Formular Nr.
C-Form records,C- Form- Aufzeichnungen
CENVAT Capital Goods,CENVAT Investitionsgüter
CENVAT Edu Cess,CENVAT Edu Cess
CENVAT SHE Cess,CENVAT SHE Cess
CENVAT Service Tax,CENVAT Service Steuer
CENVAT Service Tax Cess 1,CENVAT Service Steuer Cess 1
CENVAT Service Tax Cess 2,CENVAT Service Steuer Cess 2
Calculate Based On,Berechnet auf Grundlage von
Calculate Total Score,Gesamtwertung berechnen
Calendar Events,Kalenderereignisse
Call,Anruf
Calls,Anrufe
Campaign,Kampagne
Campaign Name,Kampagnenname
Campaign Name is required,Kampagnenname ist erforderlich
Campaign Naming By,Kampagne benannt durch
Campaign-.####,Kampagnen . # # # #
Can be approved by {0},Kann von {0} genehmigt werden
"Can not filter based on Account, if grouped by Account","Basierend auf Konto kann nicht filtern, wenn sie von Konto gruppiert"
"Can not filter based on Voucher No, if grouped by Voucher","Basierend auf Gutschein kann nicht auswählen, Nein, wenn durch Gutschein gruppiert"
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',"Kann Zeile beziehen sich nur , wenn die Ladung ist ' On Zurück Reihe Betrag ""oder"" Zurück Reihe Total'"
Cancel Material Visit {0} before cancelling this Customer Issue,Abbrechen Werkstoff Besuchen Sie {0} vor Streichung dieses Kunden Ausgabe
Cancel Material Visits {0} before cancelling this Maintenance Visit,Abbrechen Werkstoff Besuche {0} vor Streichung dieses Wartungsbesuch
Cancelled,Abgebrochen
Cancelling this Stock Reconciliation will nullify its effect.,Annullierung dieses Lizenz Versöhnung wird ihre Wirkung zunichte machen .
Cannot Cancel Opportunity as Quotation Exists,Kann nicht Abbrechen Gelegenheit als Zitat vorhanden ist
Cannot approve leave as you are not authorized to approve leaves on Block Dates,"Kann nicht genehmigen Urlaub , wie Sie sind nicht berechtigt, auf Block- Blätter Termine genehmigen"
Cannot cancel because Employee {0} is already approved for {1},"Kann nicht kündigen, weil Mitarbeiter {0} ist bereits genehmigt {1}"
Cannot cancel because submitted Stock Entry {0} exists,"Kann nicht kündigen, weil eingereichten Lizenz Eintrag {0} existiert"
Cannot carry forward {0},Kann nicht mitnehmen {0}
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,"Geschäftsjahr Startdatum und Geschäftsjahresende Datum, wenn die Geschäftsjahr wird gespeichert nicht ändern kann."
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Kann nicht ändern Standardwährung des Unternehmens , weil es bestehende Transaktionen. Transaktionen müssen aufgehoben werden, um die Standardwährung zu ändern."
Cannot convert Cost Center to ledger as it has child nodes,"Kann nicht konvertieren Kostenstelle zu Buch , wie es untergeordnete Knoten hat"
Cannot covert to Group because Master Type or Account Type is selected.,"Kann nicht auf verdeckte Gruppe , weil Herr Art oder Kontotyp gewählt wird."
Cannot deactive or cancle BOM as it is linked with other BOMs,"Kann nicht deaktiv oder cancle Stückliste , wie es mit anderen Stücklisten verknüpft"
"Cannot declare as lost, because Quotation has been made.","Kann nicht erklären, wie verloren, da Zitat gemacht worden ."
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',"Kann nicht abziehen , wenn Kategorie ist für ""Bewertungstag "" oder "" Bewertung und Total '"
"Cannot delete Serial No {0} in stock. First remove from stock, then delete.","Kann nicht Seriennummer {0} in Lager löschen . Erstens ab Lager entfernen, dann löschen."
"Cannot directly set amount. For 'Actual' charge type, use the rate field","Kann nicht direkt Betrag gesetzt . Für ""tatsächlichen"" Ladungstyp , verwenden Sie das Kursfeld"
"Cannot overbill for Item {0} in row {0} more than {1}. To allow overbilling, please set in Stock Settings",Kann nicht für Artikel {0} in Zeile overbill {0} mehr als {1}. Um Überfakturierung erlauben Sie bitte Lizenzeinstellungen festgelegt
Cannot produce more Item {0} than Sales Order quantity {1},Mehr Artikel kann nicht produzieren {0} als Sales Order Menge {1}
Cannot refer row number greater than or equal to current row number for this Charge type,Kann nicht Zeilennummer größer oder gleich aktuelle Zeilennummer für diesen Ladetypbeziehen
Cannot return more than {0} for Item {1},Kann nicht mehr als {0} zurück zur Artikel {1}
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,"Kann nicht verantwortlich Typ wie 'On Zurück Reihe Betrag ""oder"" Auf Vorherige Row Total' für die erste Zeile auswählen"
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for valuation. You can select only 'Total' option for previous row amount or previous row total,"Kann nicht verantwortlich Typ wie 'On Zurück Reihe Betrag ""oder"" Auf Vorherige Row Total' für die Bewertung zu wählen. Sie können nur die Option ""Total"" für die vorherige Zeile Betrag oder vorherigen Zeile Gesamt wählen"
Cannot set as Lost as Sales Order is made.,Kann nicht als Passwort gesetzt als Sales Order erfolgt.
Cannot set authorization on basis of Discount for {0},Kann Genehmigung nicht festgelegt auf der Basis der Rabatt für {0}
Capacity,Kapazität
Capacity Units,Kapazitätseinheiten
Capital Account,Kapitalkonto
Capital Equipments,Hauptstadt -Ausrüstungen
Carry Forward,Übertragen
Carry Forwarded Leaves,Übertragene Urlaubsgenehmigungen
Case No(s) already in use. Try from Case No {0},"Fall Nr. (n) bereits im Einsatz. Versuchen Sie, von Fall Nr. {0}"
Case No. cannot be 0,Fall Nr. kann nicht 0 sein
Cash,Bargeld
Cash In Hand,Bargeld in der Hand
Cash Voucher,Kassenbeleg
Cash or Bank Account is mandatory for making payment entry,Barzahlung oder Bankkonto ist für die Zahlung Eintrag
Cash/Bank Account,Kassen-/Bankkonto
Casual Leave,Lässige Leave
Cell Number,Mobiltelefonnummer
Change Abbreviation,
Change UOM for an Item.,ME für einen Artikel ändern.
Change the starting / current sequence number of an existing series.,Startnummer/aktuelle laufende Nummer einer bestehenden Serie ändern.
Channel Partner,Vertriebspartner
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Verantwortlicher für Typ ' Actual ' in Zeile {0} kann nicht in Artikel bewerten aufgenommen werden
Chargeable,Gebührenpflichtig
Charges are updated in Purchase Receipt against each item,
Charges will be distributed proportionately based on item amount,
Charity and Donations,Charity und Spenden
Chart Name,Diagrammname
Chart of Accounts,Kontenplan
Chart of Cost Centers,Tabelle der Kostenstellen
Check how the newsletter looks in an email by sending it to your email.,"Prüfen Sie, wie der Newsletter in einer E-Mail aussieht, indem Sie ihn an Ihre E-Mail senden."
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Aktivieren, wenn dies eine wiederkehrende Rechnung ist, deaktivieren, damit es keine wiederkehrende Rechnung mehr ist oder ein gültiges Enddatum angeben."
"Check if recurring order, uncheck to stop recurring or put proper End Date",
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Aktivieren, wenn Sie automatisch wiederkehrende Rechnungen benötigen. Nach dem Absenden einer Verkaufsrechnung, wird der Bereich für wiederkehrende Rechnungen angezeigt."
Check if you want to send salary slip in mail to each employee while submitting salary slip,"Aktivieren, wenn Sie die Gehaltsabrechnung per Post an jeden Mitarbeiter senden möchten."
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,"Aktivieren, wenn Sie den Benutzer zwingen möchten, vor dem Speichern eine Serie auszuwählen. Wenn Sie dies aktivieren, gibt es keine Standardeinstellung."
Check this if you want to show in website,"Aktivieren, wenn Sie den Inhalt auf der Website anzeigen möchten."
Check this to disallow fractions. (for Nos),"Aktivieren, um keine Brüche zuzulassen. (für Nr.)"
Check this to pull emails from your mailbox,"Aktivieren, um E-Mails aus Ihrem Postfach zu ziehen"
Check to activate,"Aktivieren, um zu aktivieren"
Check to make Shipping Address,"Aktivieren, um Lieferadresse anzugeben"
Check to make primary address,"Aktivieren, um primäre Adresse anzugeben"
Chemical,Chemikalie
Cheque,Scheck
Cheque Date,Scheckdatum
Cheque Number,Schecknummer
Child account exists for this account. You can not delete this account.,Kinder Konto existiert für dieses Konto. Sie können dieses Konto nicht löschen .
City,Stadt
City/Town,Stadt/Ort
Claim Amount,Betrag einfordern
Claims for company expense.,Ansprüche auf Firmenkosten.
Class / Percentage,Klasse/Anteil
Classic,Klassisch
Classification of Customers by region,Klassifizierung der Kunden nach Region
Clear Table,Tabelle löschen
Clearance Date,Löschdatum
Clearance Date not mentioned,Räumungsdatumnicht genannt
Clearance date cannot be before check date in row {0},Räumungsdatum kann nicht vor dem Check- in Datum Zeile {0}
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,"Klicken Sie auf 'Verkaufsrechnung erstellen', um eine neue Verkaufsrechnung zu erstellen."
Click on a link to get options to expand get options ,
Client,Kunde
Close Balance Sheet and book Profit or Loss.,Schließen Bilanz und Gewinn-und -Verlust- Buch .
Closed,Geschlossen
Closing (Cr),Closing (Cr)
Closing (Dr),Closing (Dr)
Closing Account Head,Abschluss Kontenführer
Closing Account {0} must be of type 'Liability',"Schluss Konto {0} muss vom Typ ""Haftung"" sein"
Closing Date,Abschlussdatum
Closing Fiscal Year,Abschluss des Geschäftsjahres
Closing Qty,Schließen Menge
Closing Value,Schlusswerte
CoA Help,CoA-Hilfe
Code,Code
Cold Calling,Kaltakquise
Color,Farbe
Column Break,Spaltenumbruch
Comma separated list of email addresses,Durch Kommas getrennte Liste von E-Mail-Adressen
Comment,Kommentar
Comments,Kommentare
Commercial,Handels-
Commission,Provision
Commission Rate,Provisionssatz
Commission Rate (%),Provisionsrate (%)
Commission on Sales,Provision auf den Umsatz
Commission rate cannot be greater than 100,Provisionsrate nicht größer als 100 sein
Communication,Kommunikation
Communication HTML,Kommunikation HTML
Communication History,Kommunikationshistorie
Communication log.,Kommunikationsprotokoll
Communications,Kommunikation
Company,Unternehmen
Company (not Customer or Supplier) master.,Company ( nicht der Kunde oder Lieferant ) Master.
Company Abbreviation,Firmen Abkürzung
Company Details,Firmendetails
Company Email,Firma E-Mail
"Company Email ID not found, hence mail not sent","Firma E-Mail -ID nicht gefunden , daher Mail nicht gesendet"
Company Info,Unternehmensinformationen
Company Name,Unternehmensname
Company Settings,Unternehmenseinstellungen
Company is missing in warehouses {0},"Unternehmen, die in Lagerhäusern fehlt {0}"
Company is required,"Gesellschaft ist verpflichtet,"
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,Firmenregistrierungsnummern für Ihre Referenz. Beispiel: Umsatzsteuer-Identifikationsnummern usw.
Company registration numbers for your reference. Tax numbers etc.,Firmenregistrierungsnummern für Ihre Referenz. Steuernummern usw.
"Company, Month and Fiscal Year is mandatory","Unternehmen , Monat und Geschäftsjahr ist obligatorisch"
Compensatory Off,Ausgleichs Off
Complete,Abschließen
Complete Setup,Vollständige Setup
Completed,Abgeschlossen
Completed Production Orders,Abgeschlossene Fertigungsaufträge
Completed Qty,Abgeschlossene Menge
Completion Date,Abschlussdatum
Completion Status,Fertigstellungsstatus
Computer,Computer
Computers,Computer
Confirmation Date,Bestätigung Datum
Confirmed orders from Customers.,Bestätigte Aufträge von Kunden.
Consider Tax or Charge for,Steuern oder Gebühren berücksichtigen für
Considered as Opening Balance,Gilt als Anfangsbestand
Considered as an Opening Balance,Gilt als ein Anfangsbestand
Consultant,Berater
Consulting,Beratung
Consumable,Verbrauchsgut
Consumable Cost,Verbrauchskosten
Consumable cost per hour,Verbrauchskosten pro Stunde
Consumed Qty,Verbrauchte Menge
Consumer Products,Consumer Products
Contact,Kontakt
Contact Control,Kontaktsteuerung
Contact Desc,Kontakt-Beschr.
Contact Details,Kontaktinformationen
Contact Email,Kontakt E-Mail
Contact HTML,Kontakt HTML
Contact Info,Kontaktinformation
Contact Mobile No,Kontakt Mobiltelefon
Contact Name,Ansprechpartner
Contact No.,Kontakt Nr.
Contact Person,Kontaktperson
Contact Type,Kontakttyp
Contact master.,Kontakt Master.
Contacts,Impressum
Content,Inhalt
Content Type,Inhaltstyp
Contra Voucher,Gegen Gutschein
Contract,Vertrag
Contract End Date,Vertragsende
Contract End Date must be greater than Date of Joining,Vertragsende muss größer sein als Datum für Füge sein
Contribution (%),Beitrag (%)
Contribution to Net Total,Beitrag zum Gesamtnetto
Conversion Factor,Umrechnungsfaktor
Conversion Factor is required,Umrechnungsfaktor erforderlich
Conversion factor cannot be in fractions,Umrechnungsfaktor kann nicht in den Fraktionen sein
Conversion factor for default Unit of Measure must be 1 in row {0},Umrechnungsfaktor für Standard- Maßeinheit muss in Zeile 1 {0}
Conversion rate cannot be 0 or 1,Die Conversion-Rate kann nicht 0 oder 1 sein
Convert to Group,Konvertieren in Gruppe
Convert to Ledger,Convert to Ledger
Converted,Konvertiert
Copy From Item Group,Kopie von Artikelgruppe
Cosmetics,Kosmetika
Cost Center,Kostenstelle
Cost Center Details,Kostenstellendetails
Cost Center For Item with Item Code ',
Cost Center Name,Kostenstellenname
Cost Center is required for 'Profit and Loss' account {0},Kostenstelle wird für ' Gewinn-und Verlustrechnung des erforderlichen {0}
Cost Center is required in row {0} in Taxes table for type {1},Kostenstelle wird in der Zeile erforderlich {0} in Tabelle Steuern für Typ {1}
Cost Center with existing transactions can not be converted to group,Kostenstelle mit bestehenden Geschäfte nicht zu Gruppe umgewandelt werden
Cost Center with existing transactions can not be converted to ledger,Kostenstelle mit bestehenden Geschäfte nicht zu Buch umgewandelt werden
Cost Center {0} does not belong to Company {1},Kostenstellen {0} ist nicht gehören Unternehmen {1}
Cost of Goods Sold,Herstellungskosten der verkauften
Costing,Kosten
Country,Land
Country Name,Ländername
Country wise default Address Templates,Land weise Standardadressvorlagen
"Country, Timezone and Currency","Land , Zeitzone und Währung"
Cr,
Create Bank Voucher for the total salary paid for the above selected criteria,Bankgutschein für das Gesamtgehalt nach den oben ausgewählten Kriterien erstellen
Create Customer,Neues Kunden
Create Material Requests,Materialanfragen erstellen
Create New,Neu erstellen
Create Opportunity,erstellen Sie Gelegenheit
Create Production Orders,Fertigungsaufträge erstellen
Create Quotation,Angebot erstellen
Create Receiver List,Empfängerliste erstellen
Create Salary Slip,Gehaltsabrechnung erstellen
Create Stock Ledger Entries when you submit a Sales Invoice,"Lagerbucheinträge erstellen, wenn Sie eine Verkaufsrechnung einreichen"
Create and Send Newsletters,Newsletter erstellen und senden
"Create and manage daily, weekly and monthly email digests.","Erstellen und Verwalten von täglichen, wöchentlichen und monatlichen E-Mail verdaut ."
Create rules to restrict transactions based on values.,"Erstellen Sie Regeln , um Transaktionen auf Basis von Werten zu beschränken."
Created By,Erstellt von
Creates salary slip for above mentioned criteria.,Erstellt Gehaltsabrechnung für oben genannte Kriterien.
Creation Date,Erstellungsdatum
Creation Document No,Creation Dokument Nr.
Creation Document Type,Creation Dokumenttyp
Creation Time,Erstellungszeit
Credentials,Anmeldeinformationen
Credit,Guthaben
Credit Amt,Guthabenbetrag
Credit Card,Kreditkarte
Credit Card Voucher,Kreditkarten-Gutschein
Credit Controller,Kredit-Controller
Credit Days,Kredittage
Credit Limit,Kreditlimit
Credit Note,Gutschriftsanzeige
Credit To,Gutschreiben an
Cross Listing of Item in multiple groups,Kreuzweise Auflistung der Artikel in mehreren Gruppen
Currency,Währung
Currency Exchange,Geldwechsel
Currency Name,Währungsname
Currency Settings,Währungseinstellungen
Currency and Price List,Währungs- und Preisliste
Currency exchange rate master.,Wechselkurs Master.
Current Address,Aktuelle Adresse
Current Address Is,Aktuelle Adresse
Current Assets,Umlaufvermögen
Current BOM,Aktuelle SL
Current BOM and New BOM can not be same,Aktuelle Stückliste und New BOM kann nicht gleich sein
Current Fiscal Year,Laufendes Geschäftsjahr
Current Liabilities,Kurzfristige Verbindlichkeiten
Current Stock,Aktueller Lagerbestand
Current Stock UOM,Aktueller Lagerbestand ME
Current Value,Aktueller Wert
Custom,Benutzerdefiniert
Custom Autoreply Message,Benutzerdefinierte Autoreply-Nachricht
Custom Message,Benutzerdefinierte Nachricht
Customer,Kunde
Customer (Receivable) Account,Kunde (Debitoren) Konto
Customer / Item Name,Kunde/Artikelname
Customer / Lead Address,Kunden / Lead -Adresse
Customer / Lead Name,Kunden / Lead Namen
Customer > Customer Group > Territory,Kunden> Kundengruppe> Territory
Customer Account Head,Kundenkontoführer
Customer Acquisition and Loyalty,Kundengewinnung und-bindung
Customer Address,Kundenadresse
Customer Addresses And Contacts,Kundenadressen und Kontakte
Customer Addresses and Contacts,Kundenadressen und Ansprechpartner
Customer Code,Kundencode
Customer Codes,Kundencodes
Customer Details,Kundendaten
Customer Feedback,Kundenrückmeldung
Customer Group,Kundengruppe
Customer Group / Customer,Kundengruppe / Kunden
Customer Group Name,Kundengruppenname
Customer Intro,Kunden Intro
Customer Issue,Kundenproblem
Customer Issue against Serial No.,Kundenproblem zu Seriennr.
Customer Name,Kundenname
Customer Naming By,Benennung der Kunden nach
Customer Service,Kundenservice
Customer database.,Kundendatenbank.
Customer is required,"Kunde ist verpflichtet,"
Customer master.,Kundenstamm .
Customer required for 'Customerwise Discount',Kunden für ' Customerwise Discount ' erforderlich
Customer {0} does not belong to project {1},Customer {0} gehört nicht zum Projekt {1}
Customer {0} does not exist,Kunden {0} existiert nicht
Customer's Item Code,Kunden-Artikelcode
Customer's Purchase Order Date,Kundenbestelldatum
Customer's Purchase Order No,Kundenbestellnr.
Customer's Purchase Order Number,Kundenauftragsnummer
Customer's Vendor,Kundenverkäufer
Customers Not Buying Since Long Time,"Kunden, die seit langer Zeit nichts gekauft haben"
Customerwise Discount,Kundenweiser Rabatt
Customize,Anpassen
Customize the Notification,Mitteilung anpassen
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,"Einleitenden Text anpassen, der zu dieser E-Mail gehört. Jede Transaktion hat einen separaten Einleitungstext."
DN Detail,DN-Detail
Daily,Täglich
Daily Time Log Summary,Tägliche Zeitprotokollzusammenfassung
Database Folder ID,Datenbankordner-ID
Database of potential customers.,Datenbank potentieller Kunden.
Date,Datum
Date Format,Datumsformat
Date Of Retirement,Zeitpunkt der Pensionierung
Date Of Retirement must be greater than Date of Joining,Zeitpunkt der Pensionierung muss größer sein als Datum für Füge sein
Date is repeated,Datum wird wiederholt
Date of Birth,Geburtsdatum
Date of Issue,Datum der Ausstellung
Date of Joining,Datum des Beitritts
Date of Joining must be greater than Date of Birth,Eintrittsdatum muss größer als sein Geburtsdatum
Date on which lorry started from supplier warehouse,"Datum, an dem der LKW das Lieferantenlager verlassen hat"
Date on which lorry started from your warehouse,"Datum, an dem der LKW Ihr Lager verlassen hat"
Dates,Termine
Days Since Last Order,Tage seit dem letzten Auftrag
Days for which Holidays are blocked for this department.,"Tage, an denen eine Urlaubssperre für diese Abteilung gilt."
Dealer,Händler
Debit,Soll
Debit Amt,Sollbetrag
Debit Note,Lastschrift
Debit To,Lastschrift für
Debit and Credit not equal for this voucher. Difference is {0}.,Debit-und Kreditkarten nicht gleich für diesen Gutschein. Der Unterschied ist {0}.
Deduct,Abziehen
Deduction,Abzug
Deduction Type,Abzugsart
Deduction1,Abzug1
Deductions,Abzüge
Default,Standard
Default Account,Standardkonto
Default Address Template cannot be deleted,Standard-Adressvorlage kann nicht gelöscht werden
Default Amount,Standard-Betrag
Default BOM,Standardstückliste
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,"Standard Bank-/Geldkonto wird automatisch in Kassenbon aktualisiert, wenn dieser Modus ausgewählt ist."
Default Bank Account,Standardbankkonto
Default Buying Cost Center,Standard Buying Kostenstelle
Default Buying Price List,Standard Kaufpreisliste
Default Cash Account,Standardkassenkonto
Default Company,Standardunternehmen
Default Cost Center,Standardkostenstelle
Default Currency,Standardwährung
Default Customer Group,Standardkundengruppe
Default Expense Account,Standardaufwandskonto
Default Income Account,Standard-Gewinnkonto
Default Item Group,Standard-Artikelgruppe
Default Price List,Standardpreisliste
Default Purchase Account in which cost of the item will be debited.,"Standard-Einkaufskonto, von dem die Kosten des Artikels eingezogen werden."
Default Selling Cost Center,Standard- Selling Kostenstelle
Default Settings,Standardeinstellungen
Default Source Warehouse,Standard-Ursprungswarenlager
Default Stock UOM,Standard Lagerbestands-ME
Default Supplier,Standardlieferant
Default Supplier Type,Standardlieferantentyp
Default Target Warehouse,Standard-Zielwarenlager
Default Territory,Standardregion
Default Unit of Measure,Standardmaßeinheit
"Default Unit of Measure can not be changed directly because you have already made some transaction(s) with another UOM. To change default UOM, use 'UOM Replace Utility' tool under Stock module.","Standard- Maßeinheit kann nicht direkt geändert werden , weil Sie bereits eine Transaktion (en) mit einer anderen Verpackung gemacht haben. Um die Standardmengeneinheitzu ändern, verwenden ' Verpackung ersetzen Utility "" -Tool unter Auf -Modul."
Default Valuation Method,Standard-Bewertungsmethode
Default Warehouse,Standardwarenlager
Default Warehouse is mandatory for stock Item.,Standard- Warehouse ist für Lager Artikel .
Default settings for accounting transactions.,Standardeinstellungen für Geschäftsvorfälle .
Default settings for buying transactions.,Standardeinstellungen für Kauf -Transaktionen.
Default settings for selling transactions.,Standardeinstellungen für Verkaufsgeschäfte .
Default settings for stock transactions.,Standardeinstellungen für Aktientransaktionen .
Defense,Verteidigung
"Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>","Budget für diese Kostenstelle festlegen. Zuordnen des Budgets, siehe <a href=""#!List/Company"">Unternehmensstamm</a>"
Del,löschen
Delete,Löschen
Delete {0} {1}?,Löschen {0} {1} ?
Delivered,Geliefert
Delivered Items To Be Billed,Gelieferte Artikel für Abrechnung
Delivered Qty,Gelieferte Menge
Delivered Serial No {0} cannot be deleted,Geliefert Seriennummer {0} kann nicht gelöscht werden
Delivery Date,Liefertermin
Delivery Details,Lieferdetails
Delivery Document No,Lieferbelegnummer
Delivery Document Type,Lieferbelegtyp
Delivery Note,Lieferschein
Delivery Note Item,Lieferscheingegenstand
Delivery Note Items,Lieferscheinpositionen
Delivery Note Message,Lieferscheinnachricht
Delivery Note No,Lieferscheinnummer
Delivery Note Required,Lieferschein erforderlich
Delivery Note Trends,Lieferscheintrends
Delivery Note {0} is not submitted,Lieferschein {0} ist nicht eingereicht
Delivery Note {0} must not be submitted,Lieferschein {0} muss nicht vorgelegt werden
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Lieferscheine {0} muss vor Streichung dieses Sales Order storniert werden
Delivery Status,Lieferstatus
Delivery Time,Lieferzeit
Delivery To,Lieferung an
Department,Abteilung
Department Stores,Kaufhäuser
Depends on LWP,Abhängig von LWP
Depreciation,Abschreibung
Description,Beschreibung
Description HTML,Beschreibung HTML
Description of a Job Opening,Beschreibung eines Stellenangebot
Designation,Bezeichnung
Designer,Konstrukteur
Detailed Breakup of the totals,Detaillierte Aufschlüsselung der Gesamtsummen
Details,Details
Difference (Dr - Cr),Differenz ( Dr - Cr )
Difference Account,Unterschied Konto
"Difference Account must be a 'Liability' type account, since this Stock Reconciliation is an Opening Entry","Unterschied Konto muss ""Haftung"" Typ Konto sein , da diese Lizenz Versöhnung ist ein Eintrag Eröffnung"
Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,"Unterschiedliche Verpackung für Einzelteile werden zu falschen (Gesamt ) Nettogewichtswertführen . Stellen Sie sicher, dass die Netto-Gewicht der einzelnen Artikel ist in der gleichen Verpackung ."
Direct Expenses,Direkte Aufwendungen
Direct Income,Direkte Einkommens
Disable,Deaktivieren
Disable Rounded Total,Abgerundete Gesamtsumme deaktivieren
Disabled,Deaktiviert
Discount,
Discount  %,Rabatt %
Discount %,Rabatt %
Discount (%),Rabatt (%)
Discount Amount,Discount Amount
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Rabattfelder stehen in der Bestellung, im Kaufbeleg und in der Rechnung zur Verfügung"
Discount Percentage,Rabatt Prozent
Discount Percentage can be applied either against a Price List or for all Price List.,Rabatt Prozent kann entweder gegen eine Preisliste oder Preisliste für alle angewendet werden.
Discount must be less than 100,Discount muss kleiner als 100 sein
Discount(%),Rabatt (%)
Dispatch,Versand
Display all the individual items delivered with the main items,Alle einzelnen Positionen zu den Hauptartikeln anzeigen
Distinct unit of an Item,Eigene Einheit eines Artikels
Distribution,Verteilung
Distribution Id,Verteilungs-ID
Distribution Name,Verteilungsnamen
Distributor,Lieferant
Divorced,Geschieden
Do Not Contact,Nicht berühren
Do not show any symbol like $ etc next to currencies.,Kein Symbol wie $ usw. neben Währungen anzeigen.
Do really want to unstop production order: ,
Do you really want to STOP ,
Do you really want to STOP this Material Request?,"Wollen Sie wirklich , diese Materialanforderung zu stoppen?"
Do you really want to Submit all Salary Slip for month {0} and year {1},"Glauben Sie wirklich , alle Gehaltsabrechnung für den Monat Absenden {0} und {1} Jahr wollen"
Do you really want to UNSTOP ,
Do you really want to UNSTOP this Material Request?,"Wollen Sie wirklich , dieses Material anfordern aufmachen ?"
Do you really want to stop production order: ,
Doc Name,Dokumentenname
Doc Type,Dokumententyp
Document Description,Dokumentenbeschreibung
Document Type,Dokumenttyp
Documents,Dokumente
Domain,Domäne
Don't send Employee Birthday Reminders,Senden Sie keine Mitarbeitergeburtstagserinnerungen
Download Materials Required,Erforderliche Materialien herunterladen
Download Reconcilation Data,Laden Versöhnung Daten
Download Template,Vorlage herunterladen
Download a report containing all raw materials with their latest inventory status,"Einen Bericht herunterladen, der alle Rohstoffe mit ihrem neuesten Bestandsstatus angibt"
"Download the Template, fill appropriate data and attach the modified file.","Laden Sie die Vorlage , füllen entsprechenden Daten und befestigen Sie die geänderte Datei ."
"Download the Template, fill appropriate data and attach the modified file.All dates and employee combination in the selected period will come in the template, with existing attendance records",
Dr,
Draft,Entwurf
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox-Zugang erlaubt
Dropbox Access Key,Dropbox-Zugangsschlüssel
Dropbox Access Secret,Dropbox-Zugangsgeheimnis
Due Date,Fälligkeitsdatum
Due Date cannot be after {0},Fälligkeitsdatum kann nicht nach {0}
Due Date cannot be before Posting Date,Fälligkeitsdatum kann nicht vor dem Buchungsdatum sein
Duplicate Entry. Please check Authorization Rule {0},Doppelten Eintrag . Bitte überprüfen Sie Autorisierungsregel {0}
Duplicate Serial No entered for Item {0},Doppelte Seriennummer für Posten {0}
Duplicate entry,Duplizieren Eintrag
Duplicate row {0} with same {1},Doppelte Zeile {0} mit dem gleichen {1}
Duties and Taxes,Zölle und Steuern
ERPNext Setup,ERPNext -Setup
Earliest,Frühest
Earnest Money,Angeld
Earning,Einkommen
Earning & Deduction,Einkommen & Abzug
Earning Type,Einkommensart
Earning1,Einkommen1
Edit,Bearbeiten
Edu. Cess on Excise,Edu. Cess Verbrauch
Edu. Cess on Service Tax,Edu. Cess auf Service Steuer
Edu. Cess on TDS,Edu. Cess auf TDS
Education,Bildung
Educational Qualification,Schulische Qualifikation
Educational Qualification Details,Einzelheiten der schulischen Qualifikation
Eg. smsgateway.com/api/send_sms.cgi,z. B. smsgateway.com/api/send_sms.cgi
Either debit or credit amount is required for {0},Entweder Debit-oder Kreditbetragist erforderlich für {0}
Either target qty or target amount is mandatory,Entweder Zielmengeoder Zielmenge ist obligatorisch
Either target qty or target amount is mandatory.,Entweder Zielmengeoder Zielmenge ist obligatorisch.
Electrical,elektrisch
Electricity Cost,Stromkosten
Electricity cost per hour,Stromkosten pro Stunde
Electronics,Elektronik
Email,E-Mail
Email Digest,Täglicher E-Mail-Bericht
Email Digest Settings,Einstellungen täglicher E-Mail-Bericht
Email Digest: ,
Email Id,E-Mail-ID
"Email Id where a job applicant will email e.g. ""jobs@example.com""","E-Mail-ID, an die ein Bewerber schreibt, z. B. ""jobs@example.com"""
Email Notifications,E-Mail- Benachrichtigungen
Email Sent?,Wurde die E-Mail abgesendet?
Email Settings for Outgoing and Incoming Emails.,E-Mail-Einstellungen für ausgehende und eingehende E-Mails.
"Email id must be unique, already exists for {0}","E-Mail -ID muss eindeutig sein , für die bereits vorhanden {0}"
Email ids separated by commas.,E-Mail-IDs durch Kommas getrennt.
"Email settings for jobs email id ""jobs@example.com""","E-Mail-Einstellungen für Bewerbungs-ID ""jobs@example.com"""
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""","E-Mail-Einstellungen, mit denen Leads aus Verkaufs-E-Mail-IDs wie z. B. ""sales@example.com"" extrahiert werden."
Emergency Contact,Notfallkontakt
Emergency Contact Details,Notfallkontaktdaten
Emergency Phone,Notruf
Employee,Mitarbeiter
Employee Birthday,Mitarbeiter Geburtstag
Employee Details,Mitarbeiterdetails
Employee Education,Mitarbeiterschulung
Employee External Work History,Mitarbeiter externe Berufserfahrung
Employee Information,Mitarbeiterinformationen
Employee Internal Work History,Mitarbeiter interne Berufserfahrung
Employee Internal Work Historys,Mitarbeiter interne Berufserfahrungen
Employee Leave Approver,Mitarbeiter Urlaubsgenehmiger
Employee Leave Balance,Mitarbeiter Urlaubskonto
Employee Name,Mitarbeitername
Employee Number,Mitarbeiternummer
Employee Records to be created by,Mitarbeiterakte wird erstellt von
Employee Settings,Mitarbeitereinstellungen
Employee Type,Mitarbeitertyp
Employee can not be changed,
"Employee designation (e.g. CEO, Director etc.).","Mitarbeiterbezeichnung(z. B. Geschäftsführer , Direktor etc.)."
Employee master.,Mitarbeiterstamm .
Employee record is created using selected field. ,Mitarbeiter Datensatz erstellt anhand von ausgewählten Feld.
Employee records.,Mitarbeiterdatensätze.
Employee relieved on {0} must be set as 'Left',"Angestellter auf {0} entlastet , sind als "" links"" eingestellt werden"
Employee {0} has already applied for {1} between {2} and {3},Angestellter {0} ist bereits für {1} zwischen angewendet {2} und {3}
Employee {0} is not active or does not exist,Angestellter {0} ist nicht aktiv oder existiert nicht
Employee {0} was on leave on {1}. Cannot mark attendance.,Angestellter {0} war auf Urlaub auf {1} . Kann nicht markieren anwesend.
Employees Email Id,Mitarbeiter E-Mail-ID
Employment Details,Beschäftigungsdetails
Employment Type,Art der Beschäftigung
Enable / disable currencies.,Aktivieren / Deaktivieren der Währungen.
Enabled,Aktiviert
Encashment Date,Inkassodatum
End Date,Enddatum
End Date can not be less than Start Date,Ende Datum kann nicht kleiner als Startdatum sein
End date of current invoice's period,Ende der laufenden Rechnungsperiode
End date of current order's period,
End of Life,Lebensdauer
Energy,Energie
Engineer,Ingenieur
Enter Verification Code,Sicherheitscode eingeben
Enter campaign name if the source of lead is campaign.,"Namen der Kampagne eingeben, wenn die Lead-Quelle eine Kampagne ist."
Enter department to which this Contact belongs,"Abteilung eingeben, zu der dieser Kontakt gehört"
Enter designation of this Contact,Bezeichnung dieses Kontakts eingeben
"Enter email id separated by commas, invoice will be mailed automatically on particular date","Geben Sie die durch Kommas getrennte E-Mail-ID  ein, die Rechnung wird automatisch an einem bestimmten Rechnungsdatum abgeschickt"
"Enter email id separated by commas, order will be mailed automatically on particular date",
Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,"Geben Sie die Posten und die geplante Menge ein, für die Sie die Fertigungsaufträge erhöhen möchten, oder laden Sie Rohstoffe für die Analyse herunter."
Enter name of campaign if source of enquiry is campaign,"Geben Sie den Namen der Kampagne ein, wenn der Ursprung der Anfrage eine Kampagne ist"
"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Geben Sie hier statische URL-Parameter ein (z. B. Absender=ERPNext, Benutzername=ERPNext, Passwort=1234 usw.)"
Enter the company name under which Account Head will be created for this Supplier,"Geben Sie den Namen der Firma ein, unter dem ein Kontenführer mit diesem Lieferanten erstellt werden soll"
Enter url parameter for message,Geben Sie den URL-Parameter für die Nachricht ein
Enter url parameter for receiver nos,Geben Sie den URL-Parameter für die Empfängernummern an
Entertainment & Leisure,Unterhaltung & Freizeit
Entertainment Expenses,Bewirtungskosten
Entries,Einträge
Entries against ,
Entries are not allowed against this Fiscal Year if the year is closed.,"Einträge sind für dieses Geschäftsjahr nicht zulässig, wenn es bereits abgeschlossen ist."
Equity,Gerechtigkeit
Error: {0} > {1},Fehler: {0}> {1}
Estimated Material Cost,Geschätzte Materialkosten
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Auch wenn es mehrere Preisregeln mit der höchsten Priorität, werden dann folgende interne Prioritäten angewandt:"
Everyone can read,Jeder kann lesen
"Example: ABCD.#####If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.",
Exchange Rate,Wechselkurs
Excise Duty 10,Verbrauchsteuer 10
Excise Duty 14,Verbrauchsteuer 14
Excise Duty 4,Excise Duty 4
Excise Duty 8,Verbrauchsteuer 8
Excise Duty @ 10,Verbrauchsteuer @ 10
Excise Duty @ 14,Verbrauchsteuer @ 14
Excise Duty @ 4,Verbrauchsteuer @ 4
Excise Duty @ 8,Verbrauchsteuer @ 8
Excise Duty Edu Cess 2,Verbrauchsteuer Edu Cess 2
Excise Duty SHE Cess 1,Verbrauchsteuer SHE Cess 1
Excise Page Number,Seitenzahl ausschneiden
Excise Voucher,Gutschein ausschneiden
Execution,Ausführung
Executive Search,Executive Search
Exhibition,Ausstellung
Existing Customer,Bestehender Kunde
Exit,Beenden
Exit Interview Details,Interview-Details beenden
Expected,Voraussichtlich
Expected Completion Date can not be less than Project Start Date,Erwartete Abschlussdatum kann nicht weniger als Projektstartdatumsein
Expected Date cannot be before Material Request Date,Erwartete Datum kann nicht vor -Material anfordern Date
Expected Delivery Date,Voraussichtlicher Liefertermin
Expected Delivery Date cannot be before Purchase Order Date,Voraussichtlicher Liefertermin kann nicht vor Bestelldatumsein
Expected Delivery Date cannot be before Sales Order Date,Voraussichtlicher Liefertermin kann nicht vor Auftragsdatum sein
Expected End Date,Voraussichtliches Enddatum
Expected Start Date,Voraussichtliches Startdatum
Expected balance as per bank,
Expense,Ausgabe
Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Aufwand / Differenz-Konto ({0}) muss ein ""Gewinn oder Verlust""-Konto sein"
Expense Account,Aufwandskonto
Expense Account is mandatory,Aufwandskonto ist obligatorisch
Expense Approver,
Expense Claim,Spesenabrechnung
Expense Claim Approved,Spesenabrechnung zugelassen
Expense Claim Approved Message,Spesenabrechnung zugelassen Nachricht
Expense Claim Detail,Spesenabrechnungsdetail
Expense Claim Details,Spesenabrechnungsdetails
Expense Claim Rejected,Spesenabrechnung abgelehnt
Expense Claim Rejected Message,Spesenabrechnung abgelehnt Nachricht
Expense Claim Type,Spesenabrechnungstyp
Expense Claim has been approved.,Spesenabrechnung genehmigt wurde .
Expense Claim has been rejected.,Spesenabrechnung wurde abgelehnt.
Expense Claim is pending approval. Only the Expense Approver can update status.,Spesenabrechnung wird vorbehaltlich der Zustimmung . Nur die Kosten genehmigende Status zu aktualisieren.
Expense Date,Datum der Aufwendung
Expense Details,Details der Aufwendung
Expense Head,Kopf der Aufwendungen
Expense account is mandatory for item {0},Aufwandskonto ist für item {0}
Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,"Expense oder Differenz -Konto ist Pflicht für Artikel {0} , da es Auswirkungen gesamten Aktienwert"
Expenses,Kosten
Expenses Booked,Gebuchte Aufwendungen
Expenses Included In Valuation,In der Bewertung enthaltene Aufwendungen
Expenses booked for the digest period,Gebuchte Aufwendungen für den Berichtszeitraum
Expired,
Expiry,
Expiry Date,Verfalldatum
Exports,Exporte
External,Extern
Extract Emails,E-Mails extrahieren
FCFS Rate,FCFS-Rate
Failed: ,Failed:
Family Background,Familiärer Hintergrund
Fax,Fax
Features Setup,Funktionssetup
Feed,Feed
Feed Type,Art des Feeds
Feedback,Feedback
Female,Weiblich
Fetch exploded BOM (including sub-assemblies),Fetch explodierte BOM ( einschließlich Unterbaugruppen )
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Feld in Lieferschein, Angebot, Verkaufsrechnung, Auftrag verfügbar"
Files Folder ID,Dateien-Ordner-ID
Fill the form and save it,Füllen Sie das Formular aus und speichern Sie sie
Filter based on customer,Filtern nach Kunden
Filter based on item,Filtern nach Artikeln
Financial / accounting year.,Finanz / Rechnungsjahres.
Financial Analytics,Finanzielle Analyse
Financial Chart of Accounts. Imported from file.,
Financial Services,Finanzdienstleistungen
Financial Year End Date,Geschäftsjahr Enddatum
Financial Year Start Date,Geschäftsjahr Startdatum
Finished Goods,Fertigwaren
First Name,Vorname
First Responded On,Erstmalig reagiert am
Fiscal Year,Geschäftsjahr
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Geschäftsjahr Startdatum und Geschäftsjahresende Datum sind bereits im Geschäftsjahr gesetzt {0}
Fiscal Year Start Date and Fiscal Year End Date cannot be more than a year apart.,Geschäftsjahr Startdatum und Geschäftsjahresende Datum kann nicht mehr als ein Jahr betragen.
Fiscal Year Start Date should not be greater than Fiscal Year End Date,Geschäftsjahr Startdatum sollte nicht größer als Geschäftsjahresende Date
Fiscal Year {0} not found.,
Fixed Asset,Fixed Asset
Fixed Assets,Anlagevermögen
Fold,
Follow via Email,Per E-Mail nachverfolgen
"Following table will show values if items are sub - contracted. These values will be fetched from the master of ""Bill of Materials"" of sub - contracted items.","Die folgende Tabelle zeigt die Werte, wenn Artikel von Zulieferern stammen. Diese Werte werden aus dem Stamm der ""Materialliste"" für Artikel von Zulieferern abgerufen."
Food,Lebensmittel
"Food, Beverage & Tobacco","Lebensmittel, Getränke und Tabak"
"For 'Sales BOM' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Sales BOM' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Für 'Sales BOM Stücke, Lagerhaus, Seriennummer und Chargen Nein wird von der ""Packliste"" Tabelle berücksichtigt werden. Wenn Lager-und Stapel Nein sind für alle Verpackungsteile aus irgendeinem 'Sales BOM' Punkt können die Werte in der Haupt Artikel-Tabelle eingetragen werden, werden die Werte zu ""Packliste"" Tabelle kopiert werden."
For Company,Für Unternehmen
For Employee,Für Mitarbeiter
For Employee Name,Für Mitarbeiter Name
For Price List,Für Preisliste
For Production,Für Produktion
For Reference Only.,Nur zu Referenzzwecken.
For Sales Invoice,Für Verkaufsrechnung
For Server Side Print Formats,Für Druckformate auf Serverseite
For Supplier,für Lieferanten
For Warehouse,Für Warenlager
For Warehouse is required before Submit,"Für Warehouse erforderlich ist, bevor abschicken"
"For e.g. 2012, 2012-13",Für z.B. 2012 2012-13
For reference,Zu Referenzzwecken
For reference only.,Nur zu Referenzzwecken.
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Um es den Kunden zu erleichtern, können diese Codes in Druckformaten wie Rechnungen und Lieferscheinen verwendet werden"
Fraction,Bruch
Fraction Units,Bruchteile von Einheiten
Freeze Stock Entries,Lagerbestandseinträge einfrieren
Freeze Stocks Older Than [Days],Frieren Stocks Älter als [ Tage ]
Freight and Forwarding Charges,Fracht-und Versandkosten
Friday,Freitag
From,Von
From Bill of Materials,Von Stückliste
From Company,Von Unternehmen
From Currency,Von Währung
From Currency and To Currency cannot be same,Von-Währung und Bis-Währung dürfen nicht gleich sein
From Customer,Von Kunden
From Customer Issue,Von Kunden Ausgabe
From Date,Von Datum
From Date cannot be greater than To Date,Von-Datum darf nicht größer als bisher sein
From Date must be before To Date,Von-Datum muss vor dem Bis-Datum liegen
From Date should be within the Fiscal Year. Assuming From Date = {0},"Von-Datum sollte im Geschäftsjahr sein. Unter der Annahme, Von-Datum = {0}"
From Delivery Note,Aus Lieferschein
From Employee,Von Mitarbeiter
From Lead,Aus Lead
From Maintenance Schedule,Vom Wartungsplan
From Material Request,Von Materialanforderung
From Opportunity,von der Chance
From Package No.,Von Paket-Nr.
From Purchase Order,Von Bestellung
From Purchase Receipt,Von Kaufbeleg
From Quotation,von Zitat
From Sales Order,Aus Verkaufsauftrag
From Supplier Quotation,Von Lieferant Zitat
From Time,Von Zeit
From Value,Von Wert
From and To dates required,Von-und Bis Daten erforderlich
From value must be less than to value in row {0},Vom Wert von weniger als um den Wert in der Zeile sein muss {0}
Frozen,Eingefroren
Frozen Accounts Modifier,Eingefrorenen Konten Modifier
Fulfilled,Erledigt
Full Name,Vollständiger Name
Full-time,Vollzeit-
Fully Billed,Voll Angekündigt
Fully Completed,Vollständig abgeschlossen
Fully Delivered,Komplett geliefert
Furniture and Fixture,Möbel -und Maschinen
Further accounts can be made under Groups but entries can be made against Ledger,"Weitere Konten können unter Gruppen gemacht werden, aber gegen Ledger Einträge können vorgenommen werden"
"Further accounts can be made under Groups, but entries can be made against Ledger","Weitere Konten können unter Gruppen gemacht werden, aber gegen Ledger Einträge können vorgenommen werden"
Further nodes can be only created under 'Group' type nodes,"Weitere Knoten kann nur unter Typ -Knoten ""Gruppe"" erstellt werden"
GL Entry,HB-Eintrag
Gantt Chart,Gantt-Diagramm
Gantt chart of all tasks.,Gantt-Diagramm aller Aufgaben.
Gender,Geschlecht
General,Allgemein
General Ledger,Hauptbuch
General Settings,
Generate Description HTML,Beschreibungs-HTML generieren
Generate Material Requests (MRP) and Production Orders.,Materialanforderungen (MRP) und Fertigungsaufträge generieren.
Generate Salary Slips,Gehaltsabrechnungen generieren
Generate Schedule,Zeitplan generieren
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Packzettel für zu liefernde Pakete generieren. Wird verwendet, um Paketnummer, Packungsinhalt und das Gewicht zu dokumentieren."
Generates HTML to include selected image in the description,"Generiert HTML, die das ausgewählte Bild in der Beschreibung enthält"
Get Advances Paid,Gezahlte Vorschüsse aufrufen
Get Advances Received,Erhaltene Anzahlungen aufrufen
Get Current Stock,Aktuellen Lagerbestand aufrufen
Get Items,Artikel aufrufen
Get Items From Purchase Receipts,
Get Items From Sales Orders,Artikel aus Kundenaufträgen abrufen
Get Items from BOM,Holen Sie Angebote von Stücklisten
Get Last Purchase Rate,Letzten Anschaffungskurs abrufen
Get Outstanding Invoices,Ausstehende Rechnungen abrufen
Get Relevant Entries,Holen Relevante Einträge
Get Sales Orders,Kundenaufträge abrufen
Get Specification Details,Spezifikationsdetails abrufen
Get Stock and Rate,Lagerbestand und Rate abrufen
Get Template,Vorlage abrufen
Get Terms and Conditions,Allgemeine Geschäftsbedingungen abrufen
Get Unreconciled Entries,Holen Nicht abgestimmte Einträge
Get Weekly Off Dates,Wöchentliche Abwesenheitstermine abrufen
"Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos.","Bewertungsrate und verfügbaren Lagerbestand an Ursprungs-/Zielwarenlager zum genannten Buchungsdatum/Uhrzeit abrufen. Bei Serienartikel, drücken Sie diese Taste nach der Eingabe der Seriennummern."
Global Defaults,Globale Standardwerte
Global POS Setting {0} already created for company {1},"Globale POS Einstellung {0} bereits für Unternehmen geschaffen, {1}"
Global Settings,Globale Einstellungen
"Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts and create a new Account Ledger (by clicking on Add Child) of type ""Bank""","Gehen Sie auf die entsprechende Gruppe (in der Regel Anwendung des Fonds> Umlaufvermögen > Bank Accounts und erstellen ein neues Konto Ledger (durch Klicken auf Add Kind) vom Typ "" Bank"""
"Go to the appropriate group (usually Source of Funds > Current Liabilities > Taxes and Duties and create a new Account Ledger (by clicking on Add Child) of type ""Tax"" and do mention the Tax rate.","Gehen Sie auf die entsprechende Gruppe (in der Regel Quelle der Fonds> kurzfristige Verbindlichkeiten > Steuern und Abgaben und ein neues Konto Ledger (durch Klicken auf Child ) des Typs "" Tax"" und nicht den Steuersatz zu erwähnen."
Goal,Ziel
Goals,Ziele
Goods received from Suppliers.,Von Lieferanten erhaltene Ware.
Google Drive,Google Drive
Google Drive Access Allowed,Google Drive-Zugang erlaubt
Government,Regierung
Graduate,Hochschulabsolvent
Grand Total,Gesamtbetrag
Grand Total (Company Currency),Gesamtbetrag (Unternehmenswährung)
"Grid ""","Grid """
Grocery,Lebensmittelgeschäft
Gross Margin %,Bruttoergebnis %
Gross Margin Value,Bruttoergebniswert
Gross Pay,Bruttolohn
Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,Bruttolohn +  ausstehender Betrag +   Inkassobetrag - Gesamtabzug
Gross Profit,Rohgewinn
Gross Profit (%),Rohgewinn (%)
Gross Weight,Bruttogewicht
Gross Weight UOM,Bruttogewicht ME
Group,Gruppe
Group by Account,Gruppe von Konto
Group by Voucher,Gruppe von Gutschein
Group or Ledger,Gruppen oder Sachbuch
Groups,Gruppen
Guest,
HR Manager,HR -Manager
HR Settings,HR-Einstellungen
HR User,
HTML / Banner that will show on the top of product list.,"HTML/Banner, das oben auf der der Produktliste angezeigt wird."
Half Day,Halbtags
Half Yearly,Halbjährlich
Half-yearly,Halbjährlich
Happy Birthday!,Happy Birthday!
Hardware,Hardware
Has Batch No,Hat Stapelnr.
Has Child Node,Hat untergeordneten Knoten
Has Serial No,Hat Seriennummer
Head of Marketing and Sales,Leiter Marketing und Vertrieb
Header,Kopfzeile
Heads (or groups) against which Accounting Entries are made and balances are maintained.,"Vorgesetzte (oder Gruppen), für die Buchungseinträge vorgenommen und Salden geführt werden."
Health Care,Health Care
Health Concerns,Gesundheitliche Bedenken
Health Details,Gesundheitsdetails
Held On,Abgehalten am
Help HTML,HTML-Hilfe
"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Hilfe: Um eine Verknüpfung zu einem anderen Datensatz im System herzustellen, verwenden Sie ""#Formular/Anmerkung/[Anmerkungsname]"" als Link-URL. (verwenden Sie nicht ""http://"")"
"Here you can maintain family details like name and occupation of parent, spouse and children","Hier können Sie Familiendetails wie Namen und Beruf der Eltern, Ehepartner und Kinder angeben"
"Here you can maintain height, weight, allergies, medical concerns etc","Hier können Sie Größe, Gewicht, Allergien, medizinische Bedenken usw. eingeben"
Hide Currency Symbol,Währungssymbol ausblenden
High,Hoch
History In Company,Historie im Unternehmen
Hold,Anhalten
Holiday,Urlaub
Holiday List,Urlaubsliste
Holiday List Name,Urlaubslistenname
Holiday master.,Ferien Master.
Holidays,Feiertage
Home,Startseite
Host,Host
"Host, Email and Password required if emails are to be pulled","Host-, E-Mail und Passwort erforderlich, wenn E-Mails gezogen werden sollen"
Hour,Stunde
Hour Rate,Stundensatz
Hour Rate Labour,Stundensatz Arbeitslohn
Hours,Stunden
How Pricing Rule is applied?,Wie Pricing-Regel angewendet wird?
How frequently?,Wie häufig?
"How should this currency be formatted? If not set, will use system defaults","Wie soll diese Währung formatiert werden? Wenn nicht festgelegt, werden die Systemstands verwendet"
Human Resources,Personalwesen
Identification of the package for the delivery (for print),Bezeichnung des Pakets für die Lieferung (für den Druck)
If Income or Expense,Wenn Ertrag oder Aufwand
If Monthly Budget Exceeded,Wenn Monatsbudget überschritten
"If Supplier Part Number exists for given Item, it gets stored here","Falls für eine bestimmte Position eine Lieferantenteilenummer vorhanden ist, wird sie hier gespeichert"
If Yearly Budget Exceeded,Wenn Jahresbudget überschritten
"If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.","Wenn aktiviert, wird die Stückliste für Unterbaugruppen-Artikel beim Abrufen von Rohstoffen berücksichtigt. Andernfalls werden alle Unterbaugruppen-Artikel als Rohmaterial behandelt."
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Wenn aktiviert, beinhaltet die Gesamtanzahl der Arbeitstage auch Feiertage und dies reduziert den Wert des Gehalts pro Tag."
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Wenn aktiviert, wird der Steuerbetrag als bereits in der Druckrate oder im Druckbetrag enthalten betrachtet."
If different than customer address,Wenn anders als Kundenadresse
"If disable, 'Rounded Total' field will not be visible in any transaction","Wenn deaktiviert, wird das Feld 'Gerundeter Gesamtbetrag' in keiner Transaktion angezeigt"
"If enabled, the system will post accounting entries for inventory automatically.","Wenn aktiviert, veröffentlicht das System Bestandsbuchungseinträge automatisch."
If more than one package of the same type (for print),Wenn mehr als ein Paket von der gleichen Art (für den Druck)
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Wenn mehrere Preisregeln weiterhin herrschen, werden die Benutzer aufgefordert, Priorität manuell einstellen, um Konflikt zu lösen."
"If no change in either Quantity or Valuation Rate, leave the cell blank.","Wenn keine Änderung entweder Menge oder Bewertungs bewerten , lassen Sie die Zelle leer ."
"If not checked, the list will have to be added to each Department where it has to be applied.","Wenn deaktiviert, muss die Liste zu jeder Abteilung hinzugefügt werden, für die sie gilt."
"If selected Pricing Rule is made for 'Price', it will overwrite Price List. Pricing Rule price is the final price, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Wenn ausgewählten Preisregel wird für 'Preis' gemacht, wird es überschrieben Preisliste. Pricing Rule Preis ist der Endpreis, so dass keine weiteren Rabatt angewendet werden sollten. Daher wird in Transaktionen wie zB Kundenauftrag, Bestellung usw., es wird im Feld 'Rate' abgerufen werden, sondern als Feld 'Preis List'."
"If specified, send the newsletter using this email address","Wenn angegeben, senden Sie den Newsletter mit dieser E-Mail-Adresse"
"If the account is frozen, entries are allowed to restricted users.","Wenn das Konto eingefroren ist, werden Einträge für eingeschränkte Benutzer erlaubt."
"If this Account represents a Customer, Supplier or Employee, set it here.","Wenn dieses Konto zu einem Kunden, Lieferanten oder Mitarbeiter gehört, legen Sie dies hier fest."
"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Wenn zwei oder mehrere Preisregeln werden auf der Grundlage der obigen Bedingungen festgestellt wird Priorität angewandt. Priorität ist eine Zahl zwischen 0 und 20, während Standardwert ist null (leer). Höhere Zahl bedeutet es Vorrang, wenn es mehrere Preisregeln mit gleichen Bedingungen."
If you follow Quality Inspection. Enables Item QA Required and QA No in Purchase Receipt,Wenn Sie Qualitätsprüfung folgen . Ermöglicht Artikel QA Pflicht und QS Nein in Kaufbeleg
If you have Sales Team and Sale Partners (Channel Partners)  they can be tagged and maintain their contribution in the sales activity,"Wenn Sie ein Verkaufsteam und Verkaufspartner (Vertriebskanalpartner) haben, können sie markiert werden und ihren Beitrag zur Umsatztätigkeit behalten"
"If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.","Wenn Sie eine Standardvorlage im Stamm für Verkaufssteuern und Abgaben erstellt haben, wählen Sie eine aus und klicken Sie unten auf die Schaltfläche."
"If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.","Wenn Sie eine Standardvorlage im Stamm für Steuern und Abgaben erstellt haben, wählen Sie eine aus und klicken Sie unten auf die Schaltfläche."
"If you have long print formats, this feature can be used to split the page to be printed on multiple pages with all headers and footers on each page","Wenn Sie lange Druckformate haben, kann diese Funktion verwendet werden, um die Seite auf mehrere Seiten mit allen Kopf- und Fußzeilen aufzuteilen"
If you involve in manufacturing activity. Enables Item 'Is Manufactured',Wenn Sie in die produzierenden Aktivitäten einzubeziehen. Ermöglicht Item ' hergestellt '
Ignore,Ignorieren
Ignore Pricing Rule,Ignorieren Preisregel
Ignored: ,Ignoriert:
Image,Bild
Image View,Bildansicht
Implementation Partner,Implementierungspartner
Import Attendance,Importteilnahme
Import Failed!,Import fehlgeschlagen !
Import Log,Importprotokoll
Import Successful!,Importieren Sie erfolgreich!
Imports,Importe
In Hours,In Stunden
In Process,In Bearbeitung
In Qty,Menge
In Stock,
In Value,Wert bei
In Words,In Words
In Words (Company Currency),In Words (Unternehmenswährung)
In Words (Export) will be visible once you save the Delivery Note.,"In Words (Export) wird sichtbar, wenn Sie den Lieferschein speichern."
In Words will be visible once you save the Delivery Note.,"In Words wird sichtbar, sobald Sie den Lieferschein speichern."
In Words will be visible once you save the Purchase Invoice.,"In Words wird sichtbar, sobald Sie die Einkaufsrechnung speichern."
In Words will be visible once you save the Purchase Order.,"In Words wird sichtbar, sobald Sie die Bestellung speichern."
In Words will be visible once you save the Purchase Receipt.,"In Words wird sichtbar, sobald Sie den Kaufbeleg speichern."
In Words will be visible once you save the Quotation.,"In Words wird sichtbar, sobald Sie den Kostenvoranschlag speichern."
In Words will be visible once you save the Sales Invoice.,"In Words wird sichtbar, sobald Sie die Verkaufsrechnung speichern."
In Words will be visible once you save the Sales Order.,"In Words wird sichtbar, sobald Sie den Kundenauftrag speichern."
Incentives,Anreiz
Include Reconciled Entries,Fügen versöhnt Einträge
Include holidays in Total no. of Working Days,Urlaub in die Gesamtzahl der Arbeitstage einschließen
Income,Einkommen
Income / Expense,Einnahmen/Ausgaben
Income Account,Gewinnkonto
Income Booked,Gebuchter Gewinn
Income Tax,Einkommensteuer
Income Year to Date,Jahresertrag bis dato
Income booked for the digest period,Gebuchter Gewinn für den Berichtszeitraum
Incoming,Eingehend
Incoming Rate,Eingehende Rate
Incoming quality inspection.,Eingehende Qualitätsprüfung.
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Falsche Anzahl von Hauptbuch-Einträge gefunden. Sie könnten ein falsches Konto in der Transaktion ausgewählt haben.
Incorrect or Inactive BOM {0} for Item {1} at row {2},Fehlerhafte oder Inaktive Stückliste {0} für Artikel {1} in Zeile {2}
Indicates that the package is a part of this delivery (Only Draft),"Zeigt an, dass das Paket ist ein Teil dieser Lieferung (nur Entwurf)"
Indirect Expenses,Indirekte Aufwendungen
Indirect Income,Indirekte Erträge
Individual,Einzelperson
Industry,Industrie
Industry Type,Industrietyp
Inspected By,Geprüft von
Inspection Criteria,Prüfkriterien
Inspection Required,Prüfung ist Pflicht
Inspection Type,Art der Prüfung
Installation Date,Datum der Installation
Installation Note,Installationshinweis
Installation Note Item,Bestandteil Installationshinweis
Installation Note {0} has already been submitted,Installation Hinweis {0} wurde bereits eingereicht
Installation Status,Installationsstatus
Installation Time,Installationszeit
Installation date cannot be before delivery date for Item {0},Installationsdatum kann nicht vor dem Liefertermin für Artikel {0}
Installation record for a Serial No.,Installationsdatensatz für eine Seriennummer
Installed Qty,Installierte Anzahl
Instructions,Anweisungen
Interested,Interessiert
Intern,internieren
Internal,Intern
Internet Publishing,Internet Publishing
Introduction,Einführung
Invalid Barcode,Ungültige Barcode
Invalid Barcode or Serial No,Ungültige Barcode oder Seriennummer
Invalid Mail Server. Please rectify and try again.,Ungültige E-Mail -Server. Bitte korrigieren und versuchen Sie es erneut .
Invalid Master Name,Ungültige Master-Name
Invalid User Name or Support Password. Please rectify and try again.,Ungültige Benutzername oder Passwort -Unterstützung . Bitte korrigieren und versuchen Sie es erneut .
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Zum Artikel angegebenen ungültig Menge {0}. Menge sollte grßer als 0 sein.
Inventory,Lagerbestand
Inventory & Support,Inventar & Support
Investment Banking,Investment Banking
Investments,Investments
Invoice Date,Rechnungsdatum
Invoice Details,Rechnungsdetails
Invoice No,Rechnungs-Nr.
Invoice Number,Rechnungsnummer
Invoice Type,Rechnungstyp
Invoice/Journal Voucher Details,Rechnung / Journal Gutschein-Details
Invoiced Amount (Exculsive Tax),Rechnungsbetrag ( Exculsive MwSt.)
Is Active,Ist aktiv
Is Advance,Ist Voraus
Is Cancelled,Ist storniert
Is Carry Forward,Ist Übertrag
Is Default,Ist Standard
Is Encash,Ist Inkasso
Is Fixed Asset Item,Ist Posten des Anlagevermögens
Is LWP,Ist LWP
Is Opening,Ist Öffnung
Is Opening Entry,Ist Öffnungseintrag
Is POS,Ist POS
Is Primary Contact,Ist primärer Kontakt
Is Purchase Item,Ist Einkaufsartikel
Is Recurring,
Is Sales Item,Ist Verkaufsartikel
Is Service Item,Ist Leistungsposition
Is Stock Item,Ist Bestandsartikel
Is Sub Contracted Item,Ist Zulieferer-Artikel
Is Subcontracted,Ist Untervergabe
Is this Tax included in Basic Rate?,Ist diese Steuer in der Basisrate enthalten?
Issue,Ausstellung
Issue Date,Ausstellungsdatum
Issue Details,Vorgangsdetails
Issued Items Against Production Order,Gegen Fertigungsauftrag ausgegebene Artikel
It can also be used to create opening stock entries and to fix stock value.,"Es kann auch verwendet werden, um die Öffnung der Vorratszugänge zu schaffen und Bestandswert zu beheben."
Item,Artikel
Item #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,
Item Advanced,Erweiterter Artikel
Item Barcode,Artikelstrichcode
Item Batch Nos,Artikel-Chargennummern
Item Classification,Artikelklassifizierung
Item Code,Artikelcode
Item Code > Item Group > Brand,Item Code> Artikelgruppe> Marke
Item Code and Warehouse should already exist.,Artikel-Code und Lager sollte bereits vorhanden sein .
Item Code cannot be changed for Serial No.,Item Code kann nicht für Seriennummer geändert werden
Item Code is mandatory because Item is not automatically numbered,"Artikel-Code ist zwingend erforderlich, da Einzelteil wird nicht automatisch nummeriert"
Item Code required at Row No {0},Item Code in Zeile Keine erforderlich {0}
Item Customer Detail,Kundendetail Artikel
Item Description,Artikelbeschreibung
Item Desription,Artikelbeschreibung
Item Details,Artikeldetails
Item Group,Artikelgruppe
Item Group Name,Name der Artikelgruppe
Item Group Tree,Artikelgruppenstruktur
Item Group not mentioned in item master for item {0},Im Artikelstamm für Artikel nicht erwähnt Artikelgruppe {0}
Item Groups in Details,Artikelgruppen in Details
Item Image (if not slideshow),Artikelbild (wenn keine Diashow)
Item Name,Artikelname
Item Naming By,Artikelbenennung nach
Item Price,Artikelpreis
Item Prices,Artikelpreise
Item Quality Inspection Parameter,Parameter der Artikel-Qualitätsprüfung
Item Reorder,Artikelaufzeichner
Item Row {0}: Purchase Receipt {1} does not exist in above 'Purchase Receipts' table,
Item Serial No,Artikel-Seriennummer
Item Serial Nos,Artikel-Seriennummern
Item Shortage Report,Artikel Mangel Bericht
Item Supplier,Artikellieferant
Item Supplier Details,Details Artikellieferant
Item Tax,Artikelsteuer
Item Tax Amount,Artikel-Steuerbetrag
Item Tax Rate,Artikel-Steuersatz
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Artikel Tax Row {0} muss wegen Art oder Steuerertrag oder-aufwand oder Kostenpflichtige haben
Item Tax1,Artikelsteuer1
Item To Manufacture,Artikel Bis-Herstellung
Item UOM,Artikel-ME
Item Website Specification,Artikel-Webseitenspezifikation
Item Website Specifications,Artikel-Webseitenspezifikationen
Item Wise Tax Detail,Artikelweises Steuerdetail
Item Wise Tax Detail ,Artikel Wise UST Details
Item is required,Artikel erforderlich
Item is updated,Artikel wird aktualisiert
Item master.,Artikelstamm .
"Item must be a purchase item, as it is present in one or many Active BOMs","Einzelteil muss ein Kaufsache zu sein, wie es in einem oder mehreren Active Stücklisten vorhanden ist"
Item must be added using 'Get Items from Purchase Receipts' button,
Item or Warehouse for row {0} does not match Material Request,Artikel- oder Lagerreihe{0} ist Materialanforderung nicht überein
Item table can not be blank,Artikel- Tabelle kann nicht leer sein
Item to be manufactured or repacked,Hergestellter oder umgepackter Artikel
Item valuation rate is recalculated considering landed cost voucher amount,
Item valuation updated,Artikel- Bewertung aktualisiert
Item will be saved by this name in the data base.,Einzelteil wird mit diesem Namen in der Datenbank gespeichert.
Item {0} appears multiple times in Price List {1},Artikel {0} erscheint mehrfach in Preisliste {1}
Item {0} does not exist,Artikel {0} existiert nicht
Item {0} does not exist in the system or has expired,Artikel {0} ist nicht im System vorhanden oder abgelaufen
Item {0} does not exist in {1} {2},Artikel {0} existiert nicht in {1} {2}
Item {0} has already been returned,Artikel {0} wurde bereits zurück
Item {0} has been entered multiple times against same operation,Artikel {0} wurde mehrmals gegen dieselbe Operation eingegeben
Item {0} has been entered multiple times with same description or date,Artikel {0} wurde mehrmals mit der gleichen Beschreibung oder Datum eingegeben
Item {0} has been entered multiple times with same description or date or warehouse,Artikel {0} wurde mehrmals mit der gleichen Beschreibung oder Datum oder Lager eingetragen
Item {0} has been entered twice,Artikel {0} wurde zweimal eingegeben
Item {0} has reached its end of life on {1},Artikel {0} hat das Ende ihrer Lebensdauer erreicht auf {1}
Item {0} ignored since it is not a stock item,"Artikel {0} ignoriert, da es sich nicht um Lagerware"
Item {0} is cancelled,Artikel {0} wird abgebrochen
Item {0} is not Purchase Item,Artikel {0} ist nicht Kaufsache
Item {0} is not a serialized Item,Artikel {0} ist keine serialisierten Artikel
Item {0} is not a stock Item,Artikel {0} ist kein Lagerartikel
Item {0} is not active or end of life has been reached,Artikel {0} ist nicht aktiv oder Ende des Lebens ist erreicht
Item {0} is not setup for Serial Nos. Check Item master,Artikel {0} ist kein Setup für den Seriennummern prüfen Artikelstamm
Item {0} is not setup for Serial Nos. Column must be blank,Artikel {0} ist kein Setup für den Seriennummern Spalte muss leer sein
Item {0} must be Sales Item,Artikel {0} muss sein Verkaufsartikel
Item {0} must be Sales or Service Item in {1},Artikel {0} muss Vertriebs-oder Service Artikel in {1}
Item {0} must be Service Item,Artikel {0} muss sein Service- Artikel
Item {0} must be a Purchase Item,Artikel {0} muss ein Kaufsache sein
Item {0} must be a Sales Item,Artikel {0} muss ein Verkaufsartikel sein
Item {0} must be a Service Item.,Artikel {0} muss ein Service- Element sein.
Item {0} must be a Sub-contracted Item,Artikel {0} muss ein Subunternehmer vergebene Titel
Item {0} must be a stock Item,Artikel {0} muss ein Lager Artikel sein
Item {0} must be manufactured or sub-contracted,Artikel {0} hergestellt werden muss oder Unteraufträge vergeben
Item {0} not found,Artikel {0} nicht gefunden
Item {0} with Serial No {1} is already installed,Artikel {0} mit Seriennummer {1} ist bereits installiert
Item {0} with same description entered twice,Artikel {0} mit derselben Beschreibung zweimal eingegeben
"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","Details zu Artikel, Garantie, AMC (Jahreswartungsvertrag) werden automatisch angezeigt, wenn die Seriennummer ausgewählt wird."
Item-wise Price List Rate,Artikel weise Preis List
Item-wise Purchase History,Artikelweiser Einkaufsverlauf
Item-wise Purchase Register,Artikelweises Einkaufsregister
Item-wise Sales History,Artikelweiser Vertriebsverlauf
Item-wise Sales Register,Artikelweises Vertriebsregister
"Item: {0} managed batch-wise, can not be reconciled using \					Stock Reconciliation, instead use Stock Entry",
Item: {0} not found in the system,Item: {0} nicht im System gefunden
Items,Artikel
Items To Be Requested,Artikel angefordert werden
Items required,Artikel erforderlich
"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty","Angeforderte Artikel, die im gesamten Warenlager bezüglich der geforderten Menge und Mindestbestellmenge ""Nicht vorrätig"" sind."
Items which do not exist in Item master can also be entered on customer's request,"Gegenstände, die nicht im Artikelstamm vorhanden sind, können auf Wunsch des Kunden auch eingetragen werden"
Itemwise Discount,Artikelweiser Rabatt
Itemwise Recommended Reorder Level,Artikelweise empfohlene Neubestellungsebene
Job Applicant,Bewerber
Job Opening,Offene Stelle
Job Profile,Stellenbeschreibung
Job Title,Stellenbezeichnung
"Job profile, qualifications required etc.","Stellenbeschreibung, erforderliche Qualifikationen usw."
Jobs Email Settings,Stellen-E-Mail-Einstellungen
Journal Entries,Journaleinträge
Journal Entry,Journaleintrag
Journal Voucher,Journalgutschein
Journal Voucher Detail,Journalgutschein Detail
Journal Voucher Detail No,Journalgutschein Detailnr.
Journal Voucher {0} does not have account {1} or already matched,Blatt Gutschein {0} ist nicht Konto haben {1} oder bereits abgestimmt
Journal Vouchers {0} are un-linked,Blatt Gutscheine {0} sind un -linked
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ",
Keep a track of communication related to this enquiry which will help for future reference.,Kommunikation bezüglich dieser Anfrage für zukünftige Zwecke aufbewahren.
Keep it web friendly 900px (w) by 100px (h),Halten Sie es freundliche Web- 900px (w) von 100px ( h)
Key Performance Area,Wichtigster Leistungsbereich
Key Responsibility Area,Wichtigster Verantwortungsbereich
Kg,kg
LR Date,LR-Datum
LR No,LR-Nr.
Label,Etikett
Landed Cost Help,
Landed Cost Item,Kostenartikel
Landed Cost Purchase Receipt,Kosten-Kaufbeleg
Landed Cost Taxes and Charges,
Landed Cost Voucher,
Landed Cost Voucher Amount,
Language,Sprache
Last Name,Familienname
Last Purchase Rate,Letzter Anschaffungskurs
Latest,neueste
Lead,Lead
Lead Details,Lead-Details
Lead Id,Lead- Id
Lead Name,Lead-Name
Lead Owner,Lead-Eigentümer
Lead Source,Lead-Ursprung
Lead Status,Lead-Status
Lead Time Date,Durchlaufzeit Datum
Lead Time Days,Durchlaufzeit Tage
Lead Time days is number of days by which this item is expected in your warehouse. This days is fetched in Material Request when you select this item.,"""Durchlaufzeit Tage"" beschreibt die Anzahl der Tage, bis wann mit dem Eintreffen des Artikels im Lager zu rechnen ist. Diese Tage werden aus der Materialanforderung abgefragt, wenn Sie diesen Artikel auswählen."
Lead Type,Lead-Typ
Lead must be set if Opportunity is made from Lead,"Blei muss eingestellt werden, wenn Gelegenheit ist aus Blei hergestellt werden"
Leave Allocation,Urlaubszuordnung
Leave Allocation Tool,Urlaubszuordnungs-Tool
Leave Application,Urlaubsantrag
Leave Approver,Urlaubsgenehmiger
Leave Approvers,Urlaubsgenehmiger
Leave Balance Before Application,Urlaubskonto vor Anwendung
Leave Block List,Urlaubssperrenliste
Leave Block List Allow,Urlaubssperrenliste zulassen
Leave Block List Allowed,Urlaubssperrenliste zugelassen
Leave Block List Date,Urlaubssperrenliste Datum
Leave Block List Dates,Urlaubssperrenliste Termine
Leave Block List Name,Urlaubssperrenliste Name
Leave Blocked,Gesperrter Urlaub
Leave Control Panel,Urlaubskontrolloberfläche
Leave Encashed?,Urlaub eingelöst?
Leave Encashment Amount,Urlaubseinlösung Betrag
Leave Type,Urlaubstyp
Leave Type Name,Urlaubstyp Name
Leave Without Pay,Unbezahlter Urlaub
Leave application has been approved.,Urlaubsantrag genehmigt wurde .
Leave application has been rejected.,Urlaubsantrag wurde abgelehnt.
Leave approver must be one of {0},Lassen Genehmiger muss man von {0}
Leave blank if considered for all branches,"Freilassen, wenn für alle Branchen betrachtet"
Leave blank if considered for all departments,"Freilassen, wenn für alle Abteilungen betrachtet"
Leave blank if considered for all designations,"Freilassen, wenn für alle Bezeichnungen betrachtet"
Leave blank if considered for all employee types,"Freilassen, wenn für alle Mitarbeitertypen betrachtet"
"Leave can be approved by users with Role, ""Leave Approver""","Urlaub kann von Benutzern mit der Rolle ""Urlaubsgenehmiger"" genehmigt werden"
Leave of type {0} cannot be longer than {1},Abschied vom Typ {0} kann nicht mehr als {1}
Leaves Allocated Successfully for {0},Erfolgreich für zugewiesene Blätter {0}
Leaves for type {0} already allocated for Employee {1} for Fiscal Year {0},Blätter für Typ {0} bereits für Arbeitnehmer zugeteilt {1} für das Geschäftsjahr {0}
Leaves must be allocated in multiples of 0.5,"Blätter müssen in Vielfachen von 0,5 zugeordnet werden"
Ledger,Sachkonto
Ledgers,Ledger
Left,Links
Legal,Rechts-
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,"Juristische Einheit/Niederlassung mit einem separaten Kontenplan, der zum Unternehmen gehört."
Legal Expenses,Anwaltskosten
Letter Head,Briefkopf
Letter Heads for print templates.,Schreiben Köpfe für Druckvorlagen .
Level,Ebene
Lft,Li
Liability,Haftung
List a few of your customers. They could be organizations or individuals.,Listen Sie ein paar Ihrer Kunden. Sie könnten Organisationen oder Einzelpersonen sein .
List a few of your suppliers. They could be organizations or individuals.,Listen Sie ein paar von Ihren Lieferanten . Sie könnten Organisationen oder Einzelpersonen sein .
List items that form the package.,"Listenelemente, die das Paket bilden."
List of users who can edit a particular Note,"Liste der Benutzer, die eine besondere Notiz bearbeiten können"
List this Item in multiple groups on the website.,Diesen Artikel in mehreren Gruppen auf der Website auflisten.
"List your products or services that you buy or sell. Make sure to check the Item Group, Unit of Measure and other properties when you start.","Listen Sie Ihre Produkte oder Dienstleistungen, die Sie kaufen oder verkaufen ."
"List your tax heads (e.g. VAT, Excise; they should have unique names) and their standard rates. This will create a standard template, which you can edit and add more later.","Listen Sie Ihre Steuerköpfen ( z. B. Mehrwertsteuer, Verbrauchssteuern , sie sollten eindeutige Namen haben ) und ihre Standardsätze."
Loading...,Wird geladen ...
Loans (Liabilities),Kredite ( Passiva)
Loans and Advances (Assets),Forderungen ( Assets)
Local,lokal
"Log of Activities performed by users against Tasks that can be used for tracking time, billing.","Protokoll der von Benutzern durchgeführten Aktivitäten bei Aufgaben, die zum Protokollieren von Zeit und zur Rechnungslegung verwendet werden."
Login,Anmelden
Login with your new User ID,Loggen Sie sich mit Ihrem neuen Benutzer-ID
Logo,Logo
Logo and Letter Heads,Logo und Briefbögen
Lost,verloren
Lost Reason,Verlustgrund
Low,Niedrig
Lower Income,Niedrigeres Einkommen
MTN Details,MTN-Details
Main,Main
Main Reports,Hauptberichte
Maintain Same Rate Throughout Sales Cycle,Gleiche Rate im gesamten Verkaufszyklus beibehalten
Maintain same rate throughout purchase cycle,Gleiche Rate im gesamten Kaufzyklus beibehalten
Maintenance,Wartung
Maintenance Date,Wartungsdatum
Maintenance Details,Wartungsdetails
Maintenance Manager,
Maintenance Schedule,Wartungsplan
Maintenance Schedule Detail,Wartungsplandetail
Maintenance Schedule Item,Wartungsplanposition
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',"Wartungsplan wird nicht für alle Elemente erzeugt. Bitte klicken Sie auf "" Generieren Zeitplan '"
Maintenance Schedule {0} exists against {0},Wartungsplan {0} gegen {0} existiert
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Wartungsplan {0} muss vor Streichung dieses Sales Order storniert werden
Maintenance Schedules,Wartungspläne
Maintenance Status,Wartungsstatus
Maintenance Time,Wartungszeit
Maintenance Type,Wartungstyp
Maintenance User,
Maintenance Visit,Wartungsbesuch
Maintenance Visit Purpose,Wartungsbesuch Zweck
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Wartungsbesuch {0} muss vor Streichung dieses Sales Order storniert werden
Maintenance start date can not be before delivery date for Serial No {0},Wartung Startdatum kann nicht vor dem Liefertermin für Seriennummer {0}
Major/Optional Subjects,Wichtiger/optionaler Betreff
Make ,
Make Accounting Entry For Every Stock Movement,Machen Accounting Eintrag für jede Lagerbewegung
Make Bank Voucher,Bankgutschein erstellen
Make Credit Note,Machen Gutschrift
Make Debit Note,Machen Lastschrift
Make Delivery,machen Liefer
Make Difference Entry,Differenzeintrag erstellen
Make Excise Invoice,Machen Verbrauch Rechnung
Make Installation Note,Machen Installation Hinweis
Make Invoice,machen Rechnung
Make Maint. Schedule,Machen Wa. . Zeitplan
Make Maint. Visit,Machen Wa. . Besuchen Sie
Make Maintenance Visit,Machen Wartungsbesuch
Make Packing Slip,Machen Packzettel
Make Payment,Zahlung durchführen
Make Payment Entry,Machen Zahlungs Eintrag
Make Purchase Invoice,Machen Einkaufsrechnung
Make Purchase Order,Machen Bestellung
Make Purchase Receipt,Machen Kaufbeleg
Make Salary Slip,Machen Gehaltsabrechnung
Make Salary Structure,Machen Gehaltsstruktur
Make Sales Invoice,Machen Sales Invoice
Make Sales Order,Machen Sie Sales Order
Make Supplier Quotation,Machen Lieferant Zitat
Make Time Log Batch,Zeitprotokollstapel erstellen
Make new POS Setting,
Male,Männlich
Manage Customer Group Tree.,Verwalten von Kunden- Gruppenstruktur .
Manage Sales Partners.,Vertriebspartner verwalten.
Manage Sales Person Tree.,Verwalten Sales Person Baum .
Manage Territory Tree.,Verwalten Territory Baum .
Manage cost of operations,Betriebskosten verwalten
Management,Management
Manager,Manager
"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.","Obligatorisch, wenn Bestandsartikel „Ja“ ist. Auch das Standardwarenlager, in dem die Menge über den Auftrag reserviert wurde."
Manufacture against Sales Order,Herstellung laut Auftrag
Manufacture/Repack,Herstellung/Neuverpackung
Manufactured Item,
Manufactured Qty,Hergestellte Menge
Manufactured quantity will be updated in this warehouse,Hergestellte Menge wird in diesem Lager aktualisiert
Manufactured quantity {0} cannot be greater than planned quanitity {1} in Production Order {2},Hergestellt Menge {0} kann nicht größer sein als geplant quanitity {1} in Fertigungsauftrag {2}
Manufacturer,Hersteller
Manufacturer Part Number,Hersteller-Teilenummer
Manufacturing,Fertigungsprozess
Manufacturing Manager,
Manufacturing Quantity,Fertigungsmenge
Manufacturing Quantity is mandatory,Fertigungsmengeist obligatorisch
Manufacturing User,
Margin,Gewinnspanne
Marital Status,Familienstand
Market Segment,Marktsegment
Marketing,Marketing
Marketing Expenses,Marketingkosten
Married,Verheiratet
Mass Mailing,Massen-Mailing
Master Name,Stammname
Master Name is mandatory if account type is Warehouse,"Meister -Name ist obligatorisch, wenn Kontotyp Warehouse"
Master Type,Stammtyp
Masters,Stämme
Match non-linked Invoices and Payments.,Zuordnung nicht verknüpfter Rechnungen und Zahlungen.
Material Issue,Materialentnahme
Material Manager,
Material Master Manager,
Material Receipt,Materialannahme
Material Request,Materialanforderung
Material Request Detail No,Detailnr. der Materialanforderung
Material Request For Warehouse,Materialanforderung für Warenlager
Material Request Item,Materialanforderungsposition
Material Request Items,Materialanforderungspositionen
Material Request No,Materialanforderungsnr.
Material Request Type,Materialanforderungstyp
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Materialanforderung von maximal {0} kann für Artikel {1} gemacht werden gegen Sales Order {2}
Material Request used to make this Stock Entry,Verwendete Materialanforderung für diesen Lagereintrag
Material Request {0} is cancelled or stopped,Materialanforderung {0} wird abgebrochen oder gestoppt
Material Requests for which Supplier Quotations are not created,"Material Anträge , für die Lieferant Zitate werden nicht erstellt"
Material Requests {0} created,Material Requests {0} erstellt
Material Requirement,Materialanforderung
Material Transfer,Materialtransfer
Material User,
Materials,Materialien
Materials Required (Exploded),Benötigte Materialien (erweitert)
Max 5 characters,Max 5 Zeichen
Max Days Leave Allowed,Maximal zulässige Urlaubstage
Max Discount (%),Maximaler Rabatt (%)
Max Qty,Max Menge
Max discount allowed for item: {0} is {1}%,Max Rabatt erlaubt zum Artikel: {0} {1}%
Maximum Amount,Höchstbetrag
Maximum allowed credit is {0} days after posting date,Die maximal zulässige Kredit ist {0} Tage nach Buchungsdatum
Maximum {0} rows allowed,Maximum {0} Zeilen erlaubt
Maxiumm discount for Item {0} is {1}%,Maxiumm Rabatt für Artikel {0} {1}%
Medical,Medizin-
Medium,Mittel
"Merging is only possible if following properties are same in both records. Group or Ledger, Root Type, Company","Merging ist nur möglich, wenn folgenden Objekte sind in beiden Datensätzen."
Message,Nachricht
Message Parameter,Nachrichtenparameter
Message Sent,Nachricht gesendet
Message updated,Nachricht aktualisiert
Messages,Nachrichten
Messages greater than 160 characters will be split into multiple messages,Nachrichten mit mehr als 160 Zeichen werden in mehrere Nachrichten aufgeteilt
Middle Income,Mittleres Einkommen
Milestone,Ecktermin
Milestone Date,Ecktermin Datum
Milestones,Ecktermine
Milestones will be added as Events in the Calendar,Ecktermine werden als Ereignisse in den Kalender aufgenommen
Min Order Qty,Mindestbestellmenge
Min Qty,Mindestmenge
Min Qty can not be greater than Max Qty,Mindestmenge nicht größer als Max Menge sein
Minimum Amount,Mindestbetrag
Minimum Order Qty,Mindestbestellmenge
Minute,Minute
Misc Details,Sonstige Einzelheiten
Miscellaneous Expenses,Sonstige Aufwendungen
Miscelleneous,Sonstiges
Mobile No,Mobilfunknummer
Mobile No.,Mobilfunknr.
Mode of Payment,Zahlungsweise
Modern,Modern
Monday,Montag
Month,Monat
Monthly,Monatlich
Monthly Attendance Sheet,Monatliche Anwesenheitsliste
Monthly Earning & Deduction,Monatliches Einkommen & Abzug
Monthly Salary Register,Monatsgehalt Register
Monthly salary statement.,Monatliche Gehaltsabrechnung
More Details,Weitere Details
More Info,Mehr Informationen
Motion Picture & Video,Motion Picture & Video
Moving Average,Gleitender Mittelwert
Moving Average Rate,Gleitende Mittelwertsrate
Mr,Herr
Ms,Frau
Multiple Item prices.,Mehrere Artikelpreise .
"Multiple Price Rule exists with same criteria, please resolve \			conflict by assigning priority. Price Rules: {0}",
Music,Musik
Must be Whole Number,Muss eine Ganzzahl sein
Name,Name
Name and Description,Name und Beschreibung
Name and Employee ID,Name und Personalnummer
"Name of new Account. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master","Name des neuen Konto . Hinweis : Bitte keine Konten für Kunden und Lieferanten zu schaffen , werden sie automatisch von der Kunden-und Lieferantenstamm angelegt"
Name of person or organization that this address belongs to.,"Name der Person oder des Unternehmens, zu dem diese Adresse gehört."
Name of the Budget Distribution,Name der Budgetverteilung
Naming Series,Benennungsreihenfolge
Negative Quantity is not allowed,Negative Menge ist nicht erlaubt
Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},Negative Auf Error ( {6}) für Artikel {0} in {1} Warehouse auf {2} {3} {4} in {5}
Negative Valuation Rate is not allowed,Negative Bewertungsbetrag ist nicht erlaubt
Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},Negative Bilanz in Batch {0} für {1} Artikel bei Warehouse {2} auf {3} {4}
Net Pay,Nettolohn
Net Pay (in words) will be visible once you save the Salary Slip.,"Nettolohn (in Worten) wird angezeigt, sobald Sie die Gehaltsabrechnung speichern."
Net Profit / Loss,Nettogewinn /-verlust
Net Total,Nettosumme
Net Total (Company Currency),Nettosumme (Unternehmenswährung)
Net Weight,Nettogewicht
Net Weight UOM,Nettogewicht-ME
Net Weight of each Item,Nettogewicht der einzelnen Artikel
Net pay cannot be negative,Nettolohn kann nicht negativ sein
Never,Nie
New ,
New Account,Neues Konto
New Account Name,New Account Name
New BOM,Neue Stückliste
New Communications,Neue Nachrichten
New Company,Neue Gesellschaft
New Cost Center,Neue Kostenstelle
New Cost Center Name,Neue Kostenstellennamen
New Delivery Notes,Neuer Lieferschein
New Enquiries,Neue Anfragen
New Leads,Neue Leads
New Leave Application,Neuer Urlaubsantrag
New Leaves Allocated,Neue Urlaubszuordnung
New Leaves Allocated (In Days),Neue Urlaubszuordnung (in Tagen)
New Material Requests,Neue Materialanfragen
New Projects,Neue Projekte
New Purchase Orders,Neue Bestellungen
New Purchase Receipts,Neue Kaufbelege
New Quotations,Neue Angebote
New Sales Orders,Neue Kundenaufträge
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Neue Seriennummer kann nicht sein Warehouse. Warehouse müssen von Lizenz Eintrag oder Kaufbeleg eingestellt werden
New Stock Entries,Neue Lagerbestandseinträge
New Stock UOM,Neue Lagerbestands-ME
New Stock UOM is required,Neue Lizenz Verpackung erforderlich
New Stock UOM must be different from current stock UOM,Neue Lizenz Verpackung muss sich von aktuellen Aktien Verpackung sein
New Supplier Quotations,Neue Lieferantenangebote
New Support Tickets,Neue Support-Tickets
New UOM must NOT be of type Whole Number,Neue Verpackung darf NICHT vom Typ ganze Zahl sein
New Workplace,Neuer Arbeitsplatz
New {0}: #{1},
Newsletter,Newsletter
Newsletter Content,Newsletter-Inhalt
Newsletter Status,Newsletter-Status
Newsletter has already been sent,Newsletter wurde bereits gesendet
"Newsletters to contacts, leads.","Newsletter an Kontakte, Leads"
Newspaper Publishers,Zeitungsverleger
Next,nächste
Next Contact By,Nächster Kontakt durch
Next Contact Date,Nächstes Kontaktdatum
Next Date,Nächster Termin
Next Recurring {0} will be created on {1},
Next email will be sent on:,Nächste E-Mail wird gesendet am:
No,Nein
No Customer Accounts found.,Keine Kundenkonten gefunden.
No Customer or Supplier Accounts found,Keine Kunden-oder Lieferantenkontengefunden
No Item with Barcode {0},Kein Artikel mit Barcode {0}
No Item with Serial No {0},Kein Artikel mit Seriennummer {0}
No Items to pack,Keine Artikel zu packen
No Permission,Keine Berechtigung
No Production Orders created,Keine Fertigungsaufträge erstellt
No Remarks,
No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,Keine Lieferantenkontengefunden. Lieferant Konten werden basierend auf dem Wert 'Master Type' in Kontodatensatz identifiziert.
No accounting entries for the following warehouses,Keine Buchungen für die folgenden Hallen
No addresses created,Keine Adressen erstellt
No contacts created,Keine Kontakte erstellt
No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template.,Kein Standardadressvorlage gefunden. Bitte erstellen Sie ein neues Setup> Druck-und Branding-> Adressvorlage.
No default BOM exists for Item {0},Kein Standardstücklisteexistiert für Artikel {0}
No description given,Keine Beschreibung angegeben
No employee found,Kein Mitarbeiter gefunden
No employee found!,Kein Mitarbeiter gefunden!
No of Requested SMS,Anzahl angeforderter SMS
No of Sent SMS,Anzahl abgesendeter SMS
No of Visits,Anzahl der Besuche
No permission,Keine Berechtigung
No record found,Kein Eintrag gefunden
No records found in the Invoice table,Keine Einträge in der Rechnungstabelle gefunden
No records found in the Payment table,Keine Datensätze in der Tabelle gefunden Zahlung
No salary slip found for month: ,Kein Gehaltsabrechnung für den Monat gefunden:
Non Profit,Non-Profit-
Nos,nos
Not Active,Nicht aktiv
Not Applicable,Nicht anwendbar
Not Available,nicht verfügbar
Not Billed,Nicht abgerechnet
Not Delivered,Nicht geliefert
Not In Stock,
Not Sent,
Not Set,Nicht festgelegt
Not allowed to update stock transactions older than {0},"Nicht erlaubt, um zu aktualisieren, Aktiengeschäfte, die älter als {0}"
Not authorized to edit frozen Account {0},Keine Berechtigung für gefrorene Konto bearbeiten {0}
Not authroized since {0} exceeds limits,Nicht authroized seit {0} überschreitet Grenzen
Not permitted,Nicht zulässig
Note,Anmerkung
Note User,Anmerkungsbenutzer
Note is a free page where users can share documents / notes,"""Anmerkung"" ist eine kostenlose Seite, wo Benutzer Dokumente/Anmerkungen freigeben können"
"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.",Hinweis: Backups und Dateien werden nicht von Dropbox gelöscht; Sie müssen sie manuell löschen.
"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.",Hinweis: Backups und Dateien werden nicht von Google Drive gelöscht; Sie müssen sie manuell löschen.
Note: Due Date exceeds the allowed credit days by {0} day(s),Hinweis: Due Date übersteigt die zulässigen Kredit Tage von {0} Tag (e)
Note: Email will not be sent to disabled users,Hinweis: E-Mail wird nicht an behinderte Nutzer gesendet
Note: Item {0} entered multiple times,Hinweis: Artikel {0} mehrfach eingegeben
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Hinweis: Zahlung Eintrag nicht da ""Cash oder Bankkonto ' wurde nicht angegeben erstellt werden"
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Hinweis: Das System wird nicht über Lieferung und Überbuchung überprüfen zu Artikel {0} als Menge oder die Menge ist 0
Note: There is not enough leave balance for Leave Type {0},Hinweis: Es ist nicht genügend Urlaubsbilanz für Leave Typ {0}
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Hinweis: Diese Kostenstelle ist eine Gruppe. Kann nicht machen Buchungen gegen Gruppen .
Note: {0},Hinweis: {0}
Notes,Notizen
Notes:,Notizen:
Nothing to request,"Nichts zu verlangen,"
Notice (days),Kenntnis (Tage)
Notification Control,Benachrichtungseinstellungen
Notification Email Address,Benachrichtigungs E-Mail Adresse
Notify by Email on creation of automatic Material Request,Bei Erstellung einer automatischen Materialanforderung per E-Mail benachrichtigen
Number Format,Zahlenformat
Offer Date,Angebot Datum
Office,Büro
Office Equipments,Büro Ausstattung
Office Maintenance Expenses,Office-Wartungskosten
Office Rent,Büromiete
Old Parent,Alte übergeordnete Position
On Net Total,Auf Nettosumme
On Previous Row Amount,Auf vorherigen Zeilenbetrag
On Previous Row Total,Auf vorherige Zeilensumme
Online Auctions,Online-Auktionen
Only Leave Applications with status 'Approved' can be submitted,"Nur Lassen Anwendungen mit dem Status ""Genehmigt"" eingereicht werden können"
"Only Serial Nos with status ""Available"" can be delivered.","Nur Seriennummernmit dem Status ""Verfügbar"" geliefert werden."
Only leaf nodes are allowed in transaction,In der Transaktion sind nur Blattknoten erlaubt
Only the selected Leave Approver can submit this Leave Application,Nur der ausgewählte Datum Genehmiger können diese Urlaubsantrag einreichen
Open,Offen
Open Production Orders,Offene Fertigungsaufträge
Open Tickets,Tickets eröffnen
Opening (Cr),Eröffnung (Cr)
Opening (Dr),Opening ( Dr)
Opening Date,Öffnungsdatum
Opening Entry,Öffnungseintrag
Opening Qty,Öffnungs Menge
Opening Time,Öffnungszeit
Opening Value,Öffnungs Wert
Opening for a Job.,Stellenausschreibung
Operating Cost,Betriebskosten
Operation Description,Vorgangsbeschreibung
Operation No,Vorgangsnr.
Operation Time (mins),Betriebszeit (Min.)
Operation {0} is repeated in Operations Table,Bedienung {0} ist in Operations Tabelle wiederholt
Operation {0} not present in Operations Table,Bedienung {0} nicht in Operations Tabelle vorhanden
Operations,Vorgänge
Opportunity,Gelegenheit
Opportunity Date,Datum der Gelegenheit
Opportunity From,Gelegenheit von
Opportunity Item,Gelegenheitsartikel
Opportunity Items,Gelegenheitsartikel
Opportunity Lost,Gelegenheit verpasst
Opportunity Type,Gelegenheitstyp
Optional. This setting will be used to filter in various transactions.,"Optional. Diese Einstellung wird verwendet, um in verschiedenen Transaktionen zu filtern."
Order Type,Bestelltyp
Order Type must be one of {0},Auftragstyp muss einer der {0}
Ordered,Bestellt
Ordered Items To Be Billed,"Abzurechnende, bestellte Artikel"
Ordered Items To Be Delivered,"Zu liefernde, bestellte Artikel"
Ordered Qty,bestellte Menge
"Ordered Qty: Quantity ordered for purchase, but not received.","Bestellte Menge: Bestellmenge für den Kauf, aber nicht empfangen ."
Ordered Quantity,Bestellte Menge
Orders released for production.,Für die Produktion freigegebene Bestellungen.
Organization Name,Name der Organisation
Organization Profile,Unternehmensprofil
Organization branch master.,Organisation Niederlassung Master.
Organization unit (department) master.,Organisationseinheit ( Abteilung ) Master.
Other,Sonstige
Other Details,Weitere Details
Others,andere
Out Qty,out Menge
Out Value,out Wert
Out of AMC,Außerhalb AMC
Out of Warranty,Außerhalb der Garantie
Outgoing,Postausgang
Outstanding Amount,Ausstehender Betrag
Outstanding for {0} cannot be less than zero ({1}),Herausragende für {0} kann nicht kleiner als Null sein ({1})
Overdue,
Overdue: ,
Overhead,Overhead
Overheads,Gemeinkosten
Overlapping conditions found between:,Overlapping Bedingungen zwischen gefunden:
Overview,Überblick
Owned,Im Besitz
Owner,Eigentümer
P L A - Cess Portion,PLA - Cess Portion
PL or BS,PL oder BS
PO Date,Bestelldatum
PO No,PO Nein
POP3 Mail Server,POP3-Mail-Server
POP3 Mail Settings,POP3-Mail-Einstellungen
POP3 mail server (e.g. pop.gmail.com),POP3-Mail-Server (z. B. pop.gmail.com)
POP3 server e.g. (pop.gmail.com),POP3-Server (z. B. pop.gmail.com)
POS,
POS Setting,POS-Einstellung
POS Setting required to make POS Entry,"POS -Einstellung erforderlich, um POS- Eintrag machen"
POS Setting {0} already created for user: {1} and company {2},POS -Einstellung {0} bereits Benutzer angelegt : {1} und {2} Unternehmen
POS View,POS-Ansicht
PR Detail,PR-Detail
Package Item Details,Artikeldetails zum Paket
Package Items,Artikel im Paket
Package Weight Details,Details Paketgewicht
Packed Item,Verpackter Artikel
Packed quantity must equal quantity for Item {0} in row {1},Lunch Menge muss Menge für Artikel gleich {0} in Zeile {1}
Packing Details,Verpackungsdetails
Packing List,Lieferschein
Packing Slip,Packzettel
Packing Slip Item,Packzettel Artikel
Packing Slip Items,Packzettel Artikel
Packing Slip(s) cancelled,Lieferschein (e) abgesagt
Page Break,Seitenumbruch
Page Name,Seitenname
Paid,bezahlt
Paid Amount,Gezahlter Betrag
Paid amount + Write Off Amount can not be greater than Grand Total,Bezahlte Betrag + Write Off Betrag kann nicht größer als Gesamtsumme sein
Pair,Paar
Parameter,Parameter
Parent Account,Übergeordnetes Konto
Parent Cost Center,Übergeordnete Kostenstelle
Parent Customer Group,Übergeordnete Kundengruppe
Parent Detail docname,Übergeordnetes Detail Dokumentenname
Parent Item,Übergeordnete Position
Parent Item Group,Übergeordnete Artikelgruppe
Parent Item {0} must be not Stock Item and must be a Sales Item,Eltern Artikel {0} muss nicht Stock Artikel sein und ein Verkaufsartikel sein
Parent Party Type,Eltern -Party -Typ
Parent Sales Person,Übergeordneter Verkäufer
Parent Territory,Übergeordnete Region
Parent Website Route,Eltern- Webseite Routen
Parenttype,Übergeordnete Position
Part-time,Teilzeit-
Partially Completed,Teilweise abgeschlossen
Partly Billed,Teilweise abgerechnet
Partly Delivered,Teilweise geliefert
Partner Target Detail,Partner Zieldetail
Partner Type,Partnertyp
Partner's Website,Webseite des Partners
Party,Gruppe
Party Account,Party Account
Party Type,Party- Typ
Party Type Name,Party- Typ Name
Passive,Passiv
Passport Number,Passnummer
Password,Passwort
Pay To / Recd From,Zahlen an/Zurücktreten von
Payable,zahlbar
Payables,Verbindlichkeiten
Payables Group,Verbindlichkeiten Gruppe
Payment Days,Zahltage
Payment Due Date,Zahlungstermin
Payment Pending,
Payment Period Based On Invoice Date,Zahlungszeitraum basiert auf Rechnungsdatum
Payment Reconciliation,Zahlungsabstimmung
Payment Reconciliation Invoice,Zahlung Versöhnung Rechnung
Payment Reconciliation Invoices,Zahlung Versöhnung Rechnungen
Payment Reconciliation Payment,Payment Zahlungs Versöhnung
Payment Reconciliation Payments,Zahlung Versöhnung Zahlungen
Payment Type,Zahlungsart
Payment cannot be made for empty cart,Die Zahlung kann nicht für leere Korb gemacht werden
Payment of salary for the month {0} and year {1},Die Zahlung der Gehälter für den Monat {0} und {1} Jahre
Payments,Zahlungen
Payments Made,Getätigte Zahlungen
Payments Received,Erhaltene Zahlungen
Payments made during the digest period,Während des Berichtszeitraums vorgenommene Zahlungen
Payments received during the digest period,Während des Berichtszeitraums erhaltene Zahlungen
Payroll Settings,Payroll -Einstellungen
Pending,Ausstehend
Pending Amount,Bis Betrag
Pending Items {0} updated,Ausstehende Elemente {0} aktualisiert
Pending Review,Wartet auf Bewertung
Pending SO Items For Purchase Request,SO-Artikel stehen für Einkaufsanforderung aus
Pension Funds,Pensionsfonds
Percentage Allocation,Prozentuale Aufteilung
Percentage Allocation should be equal to 100%,Prozentuale Aufteilung sollte gleich 100%
Percentage variation in quantity to be allowed while receiving or delivering this item.,"Prozentuale Abweichung in der Menge, die beim Empfang oder bei der Lieferung dieses Artikels zulässig ist."
Percentage you are allowed to receive or deliver more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to receive 110 units.,"Zusätzlich zur bestellten Menge zulässiger Prozentsatz, der empfangen oder geliefert werden kann. Zum Beispiel: Wenn Sie 100 Einheiten bestellt haben und Ihre Spanne beträgt 10 %, dann können Sie 110 Einheiten empfangen."
Performance appraisal.,Mitarbeiterbeurteilung
Period,Zeit
Period Closing Entry,
Period Closing Voucher,Zeitraum Abschluss Gutschein
Period From and Period To dates mandatory for recurring %s,
Periodicity,Periodizität
Permanent Address,Dauerhafte Adresse
Permanent Address Is,Permanent -Adresse ist
Permission,Berechtigung
Personal,Persönlich
Personal Details,Persönliche Daten
Personal Email,Persönliche E-Mail
Pharmaceutical,pharmazeutisch
Pharmaceuticals,Pharmaceuticals
Phone,Telefon
Phone No,Telefonnummer
Piecework,Akkordarbeit
Pincode,Pincode
Place of Issue,Ausstellungsort
Plan for maintenance visits.,Wartungsbesuche planen
Planned Qty,Geplante Menge
"Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured.","Geplante Menge : Menge , für die , Fertigungsauftrag ausgelöst wurde , aber steht noch hergestellt werden ."
Planned Quantity,Geplante Menge
Planning,Planung
Plant,Fabrik
Plant and Machinery,Anlagen und Maschinen
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,"Geben Sie das Kürzel oder den Kurznamen richtig ein, weil dieser als Suffix allen Kontenführern hinzugefügt wird."
Please Update SMS Settings,Bitte aktualisiere SMS-Einstellungen
Please add expense voucher details,Bitte fügen Sie Kosten Gutschein Details
Please add to Modes of Payment from Setup.,Bitte um Zahlungsmodalitäten legen aus einrichten.
Please check 'Is Advance' against Account {0} if this is an advance entry.,"Bitte prüfen ' Ist Voraus ' gegen Konto {0} , wenn dies ein Fortschritt Eintrag ."
Please click on 'Generate Schedule',"Bitte klicken Sie auf "" Generieren Zeitplan '"
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Bitte klicken Sie auf "" Generieren Zeitplan ' zu holen Seriennummer für Artikel hinzugefügt {0}"
Please click on 'Generate Schedule' to get schedule,"Bitte klicken Sie auf "" Generieren Schedule ' Plan bekommen"
Please create Customer from Lead {0},Bitte erstellen Sie Kunde aus Blei {0}
Please create Salary Structure for employee {0},Legen Sie bitte Gehaltsstruktur für Mitarbeiter {0}
Please create new account from Chart of Accounts.,Bitte neues Konto erstellen von Konten .
Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.,Bitte nicht erstellen Account ( Ledger ) für Kunden und Lieferanten . Sie werden direkt von den Kunden- / Lieferanten -Master erstellt.
Please enter 'Expected Delivery Date',"Bitte geben Sie "" Voraussichtlicher Liefertermin """
Please enter 'Is Subcontracted' as Yes or No,"Bitte geben Sie "" Untervergabe "" als Ja oder Nein"
Please enter 'Repeat on Day of Month' field value,"Bitte geben Sie 'Repeat auf Tag des Monats "" Feldwert"
Please enter Account Receivable/Payable group in company master,Bitte geben Sie Debitoren / Kreditorengruppein der Firma Master
Please enter Approving Role or Approving User,Bitte geben Sie die Genehmigung von Rolle oder Genehmigung Benutzer
Please enter BOM for Item {0} at row {1},Bitte geben Sie Stückliste für Artikel {0} in Zeile {1}
Please enter Company,Bitte geben Sie Firmen
Please enter Cost Center,Bitte geben Sie Kostenstelle
Please enter Delivery Note No or Sales Invoice No to proceed,"Geben Sie die Lieferschein- oder die Verkaufsrechnungsnummer ein, um fortzufahren"
Please enter Employee Id of this sales parson,Bitte geben Sie die Mitarbeiter-ID dieses Verkaufs Pfarrer
Please enter Expense Account,Geben Sie das Aufwandskonto ein
Please enter Item Code to get batch no,Bitte geben Sie Artikel-Code zu Charge nicht bekommen
Please enter Item Code.,Bitte geben Sie Artikel-Code .
Please enter Item first,Bitte geben Sie zuerst Artikel
Please enter Maintaince Details first,Bitte geben Sie Maintaince Einzelheiten ersten
Please enter Master Name once the account is created.,"Bitte geben Sie Namen , wenn der Master- Account erstellt ."
Please enter Planned Qty for Item {0} at row {1},Bitte geben Sie Geplante Menge für Artikel {0} in Zeile {1}
Please enter Production Item first,Bitte geben Sie zuerst Herstellungs Artikel
Please enter Purchase Receipt No to proceed,"Geben Sie 'Kaufbeleg Nein' ein, um fortzufahren"
Please enter Purchase Receipt first,
Please enter Purchase Receipts,
Please enter Reference date,Bitte geben Sie Stichtag
Please enter Taxes and Charges,
Please enter Warehouse for which Material Request will be raised,Bitte geben Sie für die Warehouse -Material anfordern wird angehoben
Please enter Write Off Account,Bitte geben Sie Write Off Konto
Please enter atleast 1 invoice in the table,Bitte geben Sie atleast 1 Rechnung in der Tabelle
Please enter company first,Bitte geben Sie Unternehmen zunächst
Please enter company name first,Bitte geben erste Firmennamen
Please enter default Unit of Measure,Bitte geben Sie Standard Maßeinheit
Please enter default currency in Company Master,Bitte geben Sie die Standardwährung in Firmen Meister
Please enter email address,Bitte geben Sie E-Mail -Adresse
Please enter item details,Bitte geben Sie Artikel-Seite
Please enter message before sending,Bitte geben Sie eine Nachricht vor dem Versenden
Please enter parent account group for warehouse {0},
Please enter parent cost center,Bitte geben Sie Mutterkostenstelle
Please enter quantity for Item {0},Bitte geben Sie Menge für Artikel {0}
Please enter relieving date.,Bitte geben Sie Linderung Datum.
Please enter sales order in the above table,Bitte geben Sie Kundenauftrag in der obigen Tabelle
Please enter valid Company Email,Bitte geben Sie eine gültige E-Mail- Gesellschaft
Please enter valid Email Id,Bitte geben Sie eine gültige E-Mail -ID
Please enter valid Personal Email,Bitte geben Sie eine gültige E-Mail- Personal
Please enter valid mobile nos,Bitte geben Sie eine gültige Mobil nos
Please find attached {0} #{1},
Please install dropbox python module,Installieren Sie das Dropbox-Modul Python
Please mention no of visits required,Bitte erwähnen Sie keine Besuche erforderlich
Please pull items from Delivery Note,Bitte ziehen Sie Elemente aus Lieferschein
Please save the Newsletter before sending,Bitte bewahren Sie den Newsletter vor dem Senden
Please save the document before generating maintenance schedule,Bitte speichern Sie das Dokument vor der Erzeugung Wartungsplan
Please see attachment,S. Anhang
Please select Bank Account,Wählen Sie ein Bankkonto aus
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,"Klicken Sie auf 'Übertragen', wenn Sie auch die Bilanz des vorangegangenen Geschäftsjahrs in dieses Geschäftsjahr einbeziehen möchten."
Please select Category first,Bitte wählen Sie zuerst Kategorie
Please select Charge Type first,Bitte wählen Sie Entgeltart ersten
Please select Fiscal Year,Bitte wählen Geschäftsjahr
Please select Group or Ledger value,Bitte wählen Sie Gruppen-oder Buchwert
Please select Incharge Person's name,Bitte wählen Sie Incharge Person Name
Please select Invoice Type and Invoice Number in atleast one row,Bitte wählen Sie Rechnungstyp und Rechnungsnummer in einer Zeile atleast
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM","Bitte wählen Sie Artikel , wo ""Ist Auf Item"" ist ""Nein"" und ""Ist Verkaufsartikel "" ist "" Ja"", und es gibt keinen anderen Vertriebsstückliste"
Please select Price List,Wählen Sie eine Preisliste aus
Please select Start Date and End Date for Item {0},Bitte wählen Sie Start -und Enddatum für den Posten {0}
Please select Time Logs.,Wählen Sie Zeitprotokolle aus.
Please select a csv file,Wählen Sie eine CSV-Datei aus.
Please select a valid csv file with data,Bitte wählen Sie eine gültige CSV-Datei mit Daten
Please select a value for {0} quotation_to {1},Bitte wählen Sie einen Wert für {0} {1} quotation_to
"Please select an ""Image"" first","Bitte wählen Sie einen ""Bild"" erste"
Please select charge type first,Bitte wählen Sie zunächst Ladungstyp
Please select company first,Bitte wählen Unternehmen zunächst
Please select company first.,Bitte wählen Sie Firma .
Please select item code,Bitte wählen Sie Artikel Code
Please select month and year,Wählen Sie Monat und Jahr aus
Please select prefix first,Bitte wählen Sie zunächst Präfix
Please select the document type first,Wählen Sie zuerst den Dokumententyp aus
Please select weekly off day,Bitte wählen Sie Wochen schlechten Tag
Please select {0},Bitte wählen Sie {0}
Please select {0} first,Bitte wählen Sie {0} zuerst
Please select {0} first.,Bitte wählen Sie {0} zuerst.
Please set Dropbox access keys in your site config,Bitte setzen Dropbox Zugriffstasten auf Ihrer Website Config
Please set Google Drive access keys in {0},Bitte setzen Google Drive Zugriffstasten in {0}
Please set default Cash or Bank account in Mode of Payment {0},Bitte setzen Standard Bargeld oder Bank- Konto in Zahlungsmodus {0}
Please set default value {0} in Company {0},Bitte setzen Standardwert {0} in Gesellschaft {0}
Please set {0},Bitte setzen Sie {0}
Please setup Employee Naming System in Human Resource > HR Settings,Richten Sie das Mitarbeiterbenennungssystem unter Personalwesen > HR-Einstellungen ein
Please setup numbering series for Attendance via Setup > Numbering Series,Bitte Setup Nummerierungsserie für Besucher über Setup> Nummerierung Serie
Please setup your POS Preferences,
Please setup your chart of accounts before you start Accounting Entries,"Bitte Einrichtung Ihrer Kontenbuchhaltung, bevor Sie beginnen Einträge"
Please specify,Geben Sie Folgendes an
Please specify Company,Geben Sie das Unternehmen an
Please specify Company to proceed,"Geben Sie das Unternehmen an, um fortzufahren"
Please specify Default Currency in Company Master and Global Defaults,Bitte geben Sie Standardwährung in Unternehmen und Global Master- Defaults
Please specify a,Legen Sie Folgendes fest
Please specify a valid 'From Case No.',Geben Sie eine gültige 'Von Fall Nr.' an
Please specify a valid Row ID for {0} in row {1},Bitte geben Sie eine gültige Zeilen-ID für {0} in Zeile {1}
Please specify either Quantity or Valuation Rate or both,Bitte geben Sie entweder Menge oder Bewertungs bewerten oder beide
Please submit to update Leave Balance.,"Bitte reichen Sie zu verlassen, Bilanz zu aktualisieren."
Plot,Grundstück
Plot By,Grundstück von
Point of Sale,Verkaufsstelle
Point-of-Sale Setting,Verkaufsstellen-Einstellung
Post Graduate,Graduiert
Postal,Post
Postal Expenses,Post Aufwendungen
Posting Date,Buchungsdatum
Posting Time,Buchungszeit
Posting date and posting time is mandatory,Buchungsdatum und Buchungszeit ist obligatorisch
Posting timestamp must be after {0},Buchungszeitmarkemuss nach {0}
Potential Sales Deal,Mögliches Umsatzgeschäft
Potential opportunities for selling.,Mögliche Gelegenheiten für den Verkauf.
Preferred Billing Address,Bevorzugte Rechnungsadresse
Preferred Shipping Address,Bevorzugte Lieferadresse
Prefix,Präfix
Present,Gegenwart
Prevdoc DocType,Dokumententyp Prevdoc
Prevdoc Doctype,Dokumententyp Prevdoc
Preview,Vorschau
Previous,früher
Previous Work Experience,Vorherige Berufserfahrung
Price,Preis
Price / Discount,Preis / Rabatt
Price List,Preisliste
Price List Currency,Preislistenwährung
Price List Currency not selected,Preisliste Währung nicht ausgewählt
Price List Exchange Rate,Preisliste Wechselkurs
Price List Master,Preislistenstamm
Price List Name,Preislistenname
Price List Rate,Preislistenrate
Price List Rate (Company Currency),Preislistenrate (Unternehmenswährung)
Price List master.,Preisliste Master.
Price List must be applicable for Buying or Selling,Preisliste ist gültig für Kauf oder Verkauf sein
Price List not selected,Preisliste nicht ausgewählt
Price List {0} is disabled,Preisliste {0} ist deaktiviert
Price or Discount,Preis -oder Rabatt-
Pricing Rule,Preisregel
Pricing Rule Help,Pricing Rule Hilfe
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Pricing-Regel wird zunächst basierend auf 'Anwenden auf' Feld, die Artikel, Artikelgruppe oder Marke sein kann, ausgewählt."
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Pricing-Regel gemacht wird, überschreiben Preisliste / Rabattsatz definieren, nach bestimmten Kriterien."
Pricing Rules are further filtered based on quantity.,Preisregeln sind weiter auf Quantität gefiltert.
Print Format Style,Druckformatstil
Print Heading,Überschrift drucken
Print Without Amount,Drucken ohne Betrag
Print and Stationary,Print-und Schreibwaren
Printing and Branding,Druck-und Branding-
Priority,Priorität
Private,Privat
Private Equity,Private Equity
Privilege Leave,Privilege Leave
Probation,Bewährung
Process Payroll,Gehaltsabrechnung bearbeiten
Produced,produziert
Produced Quantity,Produzierte Menge
Product Enquiry,Produktanfrage
Production,Produktion
Production Order,Fertigungsauftrag
Production Order status is {0},Fertigungsauftragsstatusist {0}
Production Order {0} must be cancelled before cancelling this Sales Order,Fertigungsauftrag {0} muss vor Streichung dieses Sales Order storniert werden
Production Order {0} must be submitted,Fertigungsauftrag {0} muss vorgelegt werden
Production Orders,Fertigungsaufträge
Production Orders in Progress,Fertigungsaufträge
Production Plan Item,Produktionsplan Artikel
Production Plan Items,Produktionsplan Artikel
Production Plan Sales Order,Produktionsplan Kundenauftrag
Production Plan Sales Orders,Produktionsplan Kundentaufträge
Production Planning Tool,Produktionsplanungstool
Products,Produkte
"Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.","Die Produkte werden bei der Standardsuche nach Gewicht-Alter sortiert. Je höher das Gewicht-Alter, desto weiter oben wird das Produkt in der Liste angezeigt."
Professional Tax,Professionelle Steuer
Profit and Loss,Gewinn-und Verlust
Profit and Loss Statement,Gewinn-und Verlustrechnung
Project,Projekt
Project Costing,Projektkalkulation
Project Details,Projektdetails
Project Manager,Project Manager
Project Milestone,Projekt-Ecktermin
Project Milestones,Projekt-Ecktermine
Project Name,Projektname
Project Start Date,Projektstartdatum
Project Type,Projekttyp
Project Value,Projektwert
Project activity / task.,Projektaktivität/Aufgabe
Project master.,Projektstamm
Project will get saved and will be searchable with project name given,Projekt wird gespeichert und kann unter dem Projektnamen durchsucht werden
Project wise Stock Tracking,Projektweise Lagerbestandsverfolgung
Project-wise data is not available for Quotation,Projekt - weise Daten nicht verfügbar Angebots
Projected,projektiert
Projected Qty,Projektspezifische Menge
Projects,Projekte
Projects & System,Projekte & System
Projects Manager,
Projects User,
Prompt for Email on Submission of,Eingabeaufforderung per E-Mail bei Einreichung von
Proposal Writing,Proposal Writing
Provide email id registered in company,Geben Sie die im Unternehmen registrierte E-Mail an
Provisional Profit / Loss (Credit),Vorläufige Gewinn / Verlust (Kredit)
Public,Öffentlich
Published on website at: {0},Veröffentlicht auf der Website unter: {0}
Publishing,Herausgabe
Pull sales orders (pending to deliver) based on the above criteria,Aufträge (deren Lieferung aussteht) entsprechend der oben genannten Kriterien ziehen
Purchase,Einkauf
Purchase / Manufacture Details,Kauf / Herstellung Einzelheiten
Purchase Analytics,Einkaufsanalyse
Purchase Common,Einkauf Allgemein
Purchase Details,Kaufinformationen
Purchase Discounts,Einkaufsrabatte
Purchase Invoice,Einkaufsrechnung
Purchase Invoice Advance,Einkaufsrechnung Vorschuss
Purchase Invoice Advances,Einkaufsrechnung Vorschüsse
Purchase Invoice Item,Rechnungsposition Einkauf
Purchase Invoice Trends,Einkauf Rechnungstrends
Purchase Invoice {0} is already submitted,Einkaufsrechnung {0} ist bereits eingereicht
Purchase Item,
Purchase Manager,
Purchase Master Manager,
Purchase Order,Bestellung
Purchase Order Item,Bestellposition
Purchase Order Item No,Bestellposition Nr.
Purchase Order Item Supplied,Bestellposition geliefert
Purchase Order Items,Bestellpositionen
Purchase Order Items Supplied,Gelieferte Bestellpositionen
Purchase Order Items To Be Billed,Abzurechnende Bestellpositionen
Purchase Order Items To Be Received,Eingehende Bestellpositionen
Purchase Order Message,Bestellung Nachricht
Purchase Order Required,Bestellung erforderlich
Purchase Order Trends,Bestellungstrends
Purchase Order number required for Item {0},Auftragsnummer für den Posten erforderlich {0}
Purchase Order {0} is 'Stopped',"Purchase Order {0} ""Kasse"""
Purchase Order {0} is not submitted,Bestellung {0} ist nicht eingereicht
Purchase Orders given to Suppliers.,An Lieferanten weitergegebene Bestellungen.
Purchase Receipt,Kaufbeleg
Purchase Receipt Item,Kaufbelegposition
Purchase Receipt Item Supplied,Kaufbeleg gelieferter Artikel
Purchase Receipt Item Supplieds,Kaufbeleg gelieferte Artikel
Purchase Receipt Items,Kaufbeleg Artikel
Purchase Receipt Message,Kaufbeleg Nachricht
Purchase Receipt No,Kaufbeleg Nr.
Purchase Receipt Required,Kaufbeleg Erforderlich
Purchase Receipt Trends,Kaufbeleg Trends
Purchase Receipt must be submitted,
Purchase Receipt number required for Item {0},Kaufbeleg Artikelnummer für erforderlich {0}
Purchase Receipt {0} is not submitted,Kaufbeleg {0} ist nicht eingereicht
Purchase Receipts,
Purchase Register,Einkaufsregister
Purchase Return,Warenrücksendung
Purchase Returned,Zurückgegebene Ware
Purchase Taxes and Charges,Einkauf Steuern und Abgaben
Purchase Taxes and Charges Master,Einkaufssteuern und Abgabenstamm
Purchase User,
Purchse Order number required for Item {0},Purchse Bestellnummer für Artikel erforderlich {0}
Purpose,Zweck
Purpose must be one of {0},Zweck muss man von {0}
QA Inspection,QA-Inspektion
Qty,Mng
Qty Consumed Per Unit,Verbrauchte Menge pro Einheit
Qty To Manufacture,Herzustellende Menge
Qty as per Stock UOM,Menge nach Bestand-ME
Qty to Deliver,Menge zu liefern
Qty to Order,Menge zu bestellen
Qty to Receive,Menge zu erhalten
Qty to Transfer,Menge in den Transfer
Qualification,Qualifikation
Quality,Qualität
Quality Inspection,Qualitätsprüfung
Quality Inspection Parameters,Qualitätsprüfungsparameter
Quality Inspection Reading,Qualitätsprüfung Ablesen
Quality Inspection Readings,Qualitätsprüfung Ablesungen
Quality Inspection required for Item {0},Qualitätsprüfung für den Posten erforderlich {0}
Quality Management,Qualitätsmanagement
Quality Manager,
Quantity,Menge
Quantity Requested for Purchase,Erforderliche Menge für Einkauf
Quantity and Rate,Menge und Rate
Quantity and Warehouse,Menge und Warenlager
Quantity cannot be a fraction in row {0},Menge kann nicht ein Bruchteil in Zeile {0}
Quantity for Item {0} must be less than {1},Menge Artikel für {0} muss kleiner sein als {1}
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Menge in Zeile {0} ( {1}) muss die gleiche sein wie hergestellte Menge {2}
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Menge eines Artikels nach der Herstellung / Menge durch Umpacken von bestimmten Mengen an Rohstoffen
Quantity required for Item {0} in row {1},Menge Artikel für erforderlich {0} in Zeile {1}
Quarter,Quartal
Quarterly,Quartalsweise
Quick Help,schnelle Hilfe
Quotation,Angebot
Quotation Item,Angebotsposition
Quotation Items,Angebotspositionen
Quotation Lost Reason,Angebot verloren Grund
Quotation Message,Angebotsnachricht
Quotation To,Angebot an
Quotation Trends,Zitat Trends
Quotation {0} is cancelled,Zitat {0} wird abgebrochen
Quotation {0} not of type {1},Zitat {0} nicht vom Typ {1}
Quotations received from Suppliers.,Angebote von Lieferanten
Quotes to Leads or Customers.,Angebote an Leads oder Kunden.
Raise Material Request when stock reaches re-order level,"Materialanfrage erstellen, wenn der Lagerbestand unter einen Wert sinkt"
Raised By,Gemeldet von
Raised By (Email),Gemeldet von (E-Mail)
Random,Zufällig
Range,Bandbreite
Rate,Satz
Rate ,Rate
Rate (%),Satz ( %)
Rate (Company Currency),Satz (Firmen Währung)
Rate Of Materials Based On,Rate der zu Grunde liegenden Materialien
Rate and Amount,Kurs und Menge
Rate at which Customer Currency is converted to customer's base currency,"Kurs, zu dem die Kundenwährung in die Basiswährung des Kunden umgerechnet wird"
Rate at which Price list currency is converted to company's base currency,"Kurs, zu dem die Preislistenwährung in die Basiswährung des Unternehmens umgerechnet wird"
Rate at which Price list currency is converted to customer's base currency,"Kurs, zu dem die Preislistenwährung in die Basiswährung des Kunden umgerechnet wird"
Rate at which customer's currency is converted to company's base currency,"Kurs, zu dem die Kundenwährung in die Basiswährung des Kunden umgerechnet wird"
Rate at which supplier's currency is converted to company's base currency,"Kurs, zu dem die Lieferantenwährung in die Basiswährung des Unternehmens umgerechnet wird"
Rate at which this tax is applied,"Kurs, zu dem dieser Steuersatz angewendet wird"
Raw Material,Rohstoff
Raw Material Item Code,Artikelcode Rohstoffe
Raw Materials Supplied,Gelieferte Rohstoffe
Raw Materials Supplied Cost,Kosten gelieferter Rohstoffe
Raw material cannot be same as main Item,Raw Material nicht wie Haupt Titel
Re-Order Level,Nachbestellungsebene
Re-Order Qty,Nachbestellungsmenge
Re-order,Nachbestellung
Re-order Level,Nachbestellungsebene
Re-order Qty,Nachbestellungsmenge
Read,Lesen
Reading 1,Ablesung 1
Reading 10,Ablesung 10
Reading 2,Ablesung 2
Reading 3,Ablesung 3
Reading 4,Ablesung 4
Reading 5,Ablesung 5
Reading 6,Ablesung 6
Reading 7,Ablesung 7
Reading 8,Ablesung 8
Reading 9,Ablesung 9
Real Estate,Immobilien
Reason,Grund
Reason for Leaving,Grund für das Verlassen
Reason for Resignation,Grund für Rücktritt
Reason for losing,Grund für den Verlust
Recd Quantity,Zurückgegebene Menge
Receivable,Forderung
Receivable / Payable account will be identified based on the field Master Type,Debitoren-/Kreditorenkonto wird auf der Grundlage des Feld-Stammtyps identifiziert
Receivables,Forderungen
Receivables / Payables,Forderungen / Verbindlichkeiten
Receivables Group,Forderungen-Gruppe
Received,Erhalten
Received Date,Empfangsdatum
Received Items To Be Billed,"Empfangene Artikel, die in Rechnung gestellt werden"
Received Qty,Empfangene Menge
Received and Accepted,Erhalten und akzeptiert
Receiver List,Empfängerliste
Receiver List is empty. Please create Receiver List,Empfängerliste ist leer. Bitte erstellen Sie Empfängerliste
Receiver Parameter,Empfängerparameter
Recipients,Empfänger
Reconcile,versöhnen
Reconciliation Data,Tilgungsdatum
Reconciliation HTML,Tilgung HTML
Reconciliation JSON,Tilgung JSON
Record item movement.,Verschiebung Datenposition
Recurring Id,Wiederkehrende ID
Recurring Invoice,Wiederkehrende Rechnung
Recurring Order,
Recurring Type,Wiederkehrender Typ
Reduce Deduction for Leave Without Pay (LWP),Abzug für unbezahlten Urlaub (LWP) senken
Reduce Earning for Leave Without Pay (LWP),Verdienst für unbezahlten Urlaub (LWP) senken
Ref,Ref.
Ref Code,Ref-Code
Ref SQ,Ref-SQ
Reference,Referenz
Reference #{0} dated {1},Referenz # {0} vom {1}
Reference Date,Referenzdatum
Reference Name,Referenzname
Reference No & Reference Date is required for {0},Referenz Nr & Stichtag ist erforderlich für {0}
Reference No is mandatory if you entered Reference Date,"Referenznummer ist obligatorisch, wenn Sie Stichtag eingegeben"
Reference Number,Referenznummer
Reference Row #,Referenz Row #
Refresh,Aktualisieren
Registration Details,Details zur Anmeldung
Registration Info,Anmeldungsinfo
Rejected,Abgelehnt
Rejected Quantity,Abgelehnte Menge
Rejected Serial No,Abgelehnte Seriennummer
Rejected Warehouse,Abgelehntes Warenlager
Rejected Warehouse is mandatory against regected item,Abgelehnt Warehouse ist obligatorisch gegen regected Artikel
Relation,Beziehung
Relieving Date,Ablösedatum
Relieving Date must be greater than Date of Joining,Entlastung Datum muss größer sein als Datum für Füge sein
Remark,Bemerkung
Remarks,Bemerkungen
Remove item if charges is not applicable to that item,
Rename,umbenennen
Rename Log,Protokoll umbenennen
Rename Tool,Tool umbenennen
Rent Cost,Mieten Kosten
Rent per hour,Miete pro Stunde
Rented,Gemietet
Repeat on Day of Month,Wiederholen am Tag des Monats
Replace,Ersetzen
Replace Item / BOM in all BOMs,Artikel/Stückliste in allen Stücklisten ersetzen
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM","Eine bestimmte Stückliste in allen anderen Stücklisten austauschen, in denen sie eingesetzt. Ersetzt den alten Stücklisten-Link, aktualisiert Kosten und erstellt die Tabelle ""Stücklistenerweiterung Artikel"" nach der neuen Stückliste"
Replied,Beantwortet
Report Date,Berichtsdatum
Report Type,Berichtstyp
Report Type is mandatory,Berichtstyp ist verpflichtend
Reports to,Berichte an
Reqd By Date,Erf nach Datum
Reqd by Date,Reqd nach Datum
Request Type,Anfragetyp
Request for Information,Informationsanfrage
Request for purchase.,Einkaufsanfrage
Requested,Angeforderte
Requested For,Für Anfrage
Requested Items To Be Ordered,"Angeforderte Artikel, die bestellt werden sollen"
Requested Items To Be Transferred,"Angeforderte Artikel, die übertragen werden sollen"
Requested Qty,Angeforderte Menge
"Requested Qty: Quantity requested for purchase, but not ordered.","Angeforderte Menge : Menge für den Kauf erbeten, aber nicht bestellt ."
Requests for items.,Artikelanfragen
Required By,Erforderlich nach
Required Date,Erforderliches Datum
Required Qty,Erforderliche Anzahl
Required only for sample item.,Nur erforderlich für Probenartikel.
Required raw materials issued to the supplier for producing a sub - contracted item.,"Erforderliche Rohstoffe, die an den Zulieferer zur Herstellung eines beauftragten Artikels ausgeliefert wurden."
Research,Forschung
Research & Development,Forschung & Entwicklung
Researcher,Forscher
Reseller,Wiederverkäufer
Reserved,reserviert
Reserved Qty,reservierte Menge
"Reserved Qty: Quantity ordered for sale, but not delivered.","Reservierte Menge: bestellte Menge zu verkaufen, aber nicht geliefert ."
Reserved Quantity,Reservierte Menge
Reserved Warehouse,Reserviertes Warenlager
Reserved Warehouse in Sales Order / Finished Goods Warehouse,Reserviertes Warenlager in Kundenauftrag / Fertigwarenlager
Reserved Warehouse is missing in Sales Order,Reserviertes Warenlager fehlt in Kundenauftrag
Reserved Warehouse required for stock Item {0} in row {1},Reserviert Lagerhaus Lager Artikel erforderlich {0} in Zeile {1}
Reserved warehouse required for stock item {0},Reserviert Lager für Lagerware erforderlich {0}
Reserves and Surplus,Rücklagen und Überschüsse
Reset Filters,Filter zurücksetzen
Resignation Letter Date,Kündigungsschreiben Datum
Resolution,Auflösung
Resolution Date,Auflösung Datum
Resolution Details,Auflösungsdetails
Resolved By,Gelöst von
Rest Of The World,Rest der Welt
Retail,Einzelhandel
Retail & Wholesale,Retail & Wholesale
Retailer,Einzelhändler
Review Date,Bewertung
Rgt,Rt
Role Allowed to edit frozen stock,Rolle darf eingefrorenen Bestand bearbeiten
Role that is allowed to submit transactions that exceed credit limits set.,"Rolle darf Transaktionen einreichen, die das gesetzte Kreditlimit überschreiten."
Root Type,root- Typ
Root Type is mandatory,Root- Typ ist obligatorisch
Root account can not be deleted,Root-Konto kann nicht gelöscht werden
Root cannot be edited.,Wurzel kann nicht bearbeitet werden.
Root cannot have a parent cost center,Stamm darf keine übergeordnete Kostenstelle haben
Rounded Off,abgerundet
Rounded Total,Abgerundete Gesamtsumme
Rounded Total (Company Currency),Abgerundete Gesamtsumme (Unternehmenswährung)
Row # ,Zeile #
Row # {0}: ,
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Bitte Seriennummer für Artikel {1}
Row {0}: Account does not match with \						Purchase Invoice Credit To account,
Row {0}: Account does not match with \						Sales Invoice Debit To account,
Row {0}: Conversion Factor is mandatory,Row {0}: Umrechnungsfaktor ist obligatorisch
Row {0}: Credit entry can not be linked with a Purchase Invoice,Row {0} : Kredit Eintrag kann nicht mit einer Einkaufsrechnung verknüpft werden
Row {0}: Debit entry can not be linked with a Sales Invoice,Row {0} : Debit- Eintrag kann nicht mit einer Verkaufsrechnung verknüpft werden
Row {0}: Payment amount must be less than or equals to invoice outstanding amount. Please refer Note below.,Row {0}: Zahlungsbetrag muss kleiner als oder gleich zu ausstehenden Betrag in Rechnung stellen können. Bitte beachten Sie folgenden Hinweis.
Row {0}: Qty is mandatory,Row {0}: Menge ist obligatorisch
"Row {0}: Qty not avalable in warehouse {1} on {2} {3}.					Available Qty: {4}, Transfer Qty: {5}",
"Row {0}: To set {1} periodicity, difference between from and to date \						must be greater than or equal to {2}",
Row {0}:Start Date must be before End Date,Row {0}: Startdatum muss vor dem Enddatum liegen
Rules for adding shipping costs.,Regeln für das Hinzufügen von Versandkosten.
Rules for applying pricing and discount.,Regeln für die Anwendung von Preis-und Rabatt .
Rules to calculate shipping amount for a sale,Regeln zum Berechnen des Versandbetrags für einen Verkauf
S.O. No.,S.O. Nein.
SHE Cess on Excise,SHE Cess Verbrauch
SHE Cess on Service Tax,SHE Cess auf Service Steuer
SHE Cess on TDS,SHE Cess auf TDS
SMS Center,SMS-Center
SMS Gateway URL,SMS-Gateway-URL
SMS Log,SMS-Protokoll
SMS Parameter,SMS-Parameter
SMS Sender Name,SMS-Absendername
SMS Settings,SMS-Einstellungen
SO Date,SO-Datum
SO Pending Qty,SO Ausstehende Menge
SO Qty,SO Menge
Salary,Gehalt
Salary Information,Gehaltsinformationen
Salary Manager,Gehaltsmanager
Salary Mode,Gehaltsmodus
Salary Slip,Gehaltsabrechnung
Salary Slip Deduction,Gehaltsabrechnung Abzug
Salary Slip Earning,Gehaltsabrechnung Verdienst
Salary Slip of employee {0} already created for this month,Gehaltsabrechnung der Mitarbeiter {0} bereits für diesen Monat erstellt
Salary Structure,Gehaltsstruktur
Salary Structure Deduction,Gehaltsstruktur Abzug
Salary Structure Earning,Gehaltsstruktur Verdienst
Salary Structure Earnings,Gehaltsstruktur Verdienst
Salary breakup based on Earning and Deduction.,Gehaltsaufteilung nach Verdienst und Abzug.
Salary components.,Gehaltskomponenten
Salary template master.,Gehalt Master -Vorlage .
Sales,Vertrieb
Sales Analytics,Vertriebsanalyse
Sales BOM,Verkaufsstückliste
Sales BOM Help,Verkaufsstückliste Hilfe
Sales BOM Item,Verkaufsstücklistenposition
Sales BOM Items,Verkaufsstücklistenpositionen
Sales Browser,Verkauf Browser
Sales Details,Verkaufsdetails
Sales Discounts,Verkaufsrabatte
Sales Email Settings,Vertrieb E-Mail-Einstellungen
Sales Expenses,Vertriebskosten
Sales Extras,Verkauf Extras
Sales Funnel,Sales Funnel
Sales Invoice,Verkaufsrechnung
Sales Invoice Advance,Verkaufsrechnung Geleistete
Sales Invoice Item,Verkaufsrechnung Artikel
Sales Invoice Items,Verkaufsrechnung Artikel
Sales Invoice Message,Verkaufsrechnung Nachricht
Sales Invoice No,Verkaufsrechnungsnummer
Sales Invoice Trends,Verkaufsrechnungstrends
Sales Invoice {0} has already been submitted,Verkaufsrechnung {0} wurde bereits eingereicht
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Verkaufsrechnung {0} muss vor Streichung dieses Verkaufsauftrages storniert werden
Sales Item,
Sales Manager,
Sales Master Manager,
Sales Order,Verkaufsauftrag
Sales Order Date,Verkaufsauftrag Datum
Sales Order Item,Auftragsposition
Sales Order Items,Verkaufsauftragspositionen
Sales Order Message,Verkaufsauftrag Nachricht
Sales Order No,Verkaufsauftragsnummer
Sales Order Required,Verkaufsauftrag erforderlich
Sales Order Trends,Sales Order Trends
Sales Order required for Item {0},Verkaufsauftrag für den Posten {0} erforderlich 
Sales Order {0} is not submitted,Verkaufsauftrag {0} ist nicht eingereicht
Sales Order {0} is not valid,Verkaufsauftrag {0} ist nicht gültig
Sales Order {0} is stopped,Verkaufsauftrag {0} ist angehalten
Sales Partner,Vertriebspartner
Sales Partner Name,Vertriebspartner Name
Sales Partner Target,Vertriebspartner Ziel
Sales Partners Commission,Vertriebspartner-Kommission
Sales Person,Verkäufer
Sales Person Name,Verkäufer Name
Sales Person Target Variance Item Group-Wise,Sales Person ZielabweichungsartikelgruppeWise -
Sales Person Targets,Vertriebsmitarbeiter Ziele
Sales Person-wise Transaction Summary,Vertriebsmitarbeiterweise Zusammenfassung der Transaktion
Sales Register,Vertriebsregister
Sales Return,Absatzertrag
Sales Returned,Verkaufszurück
Sales Taxes and Charges,Umsatzsteuern und Abgaben
Sales Taxes and Charges Master,Umsatzsteuern und Abgabenstamm
Sales Team,Verkaufsteam
Sales Team Details,Verkaufsteamdetails
Sales Team1,Verkaufsteam1
Sales User,
Sales and Purchase,Verkauf und Einkauf
Sales campaigns.,Vertriebskampagnen.
Salutation,Anrede
Sample Size,Stichprobenumfang
Sanctioned Amount,Sanktionierter Betrag
Saturday,Samstag
Schedule,Zeitplan
Schedule Date,Termine Datum
Schedule Details,Zeitplandetails
Scheduled,Geplant
Scheduled Date,Geplantes Datum
Scheduled to send to {0},Planmäßig nach an {0}
Scheduled to send to {0} recipients,Planmäßig nach {0} Empfänger senden
Scheduler Failed Events,Scheduler fehlgeschlagen Events
School/University,Schule/Universität
Score (0-5),Punktzahl (0-5)
Score Earned,Erreichte Punktzahl
Score must be less than or equal to 5,Score muß weniger als oder gleich 5 sein
Scrap %,Ausschuss %
Seasonality for setting budgets.,Saisonalität für die Budgeterstellung.
Secretary,Sekretärin
Secured Loans,Secured Loans
Securities & Commodity Exchanges,Securities & Warenbörsen
Securities and Deposits,Wertpapiere und Einlagen
"See ""Rate Of Materials Based On"" in Costing Section",Siehe „Rate der zu Grunde liegenden Materialien“ im Abschnitt Kalkulation
"Select ""Yes"" for sub - contracting items",Wählen Sie „Ja“ für  Zulieferer-Artikel
"Select ""Yes"" if this item is used for some internal purpose in your company.","Wählen Sie „Ja“, wenn diese Position zu internen Zwecke in Ihrem Unternehmen verwendet wird."
"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Wählen Sie „Ja“, wenn diese Position Arbeit wie Schulung, Entwurf, Beratung usw. beinhaltet."
"Select ""Yes"" if you are maintaining stock of this item in your Inventory.","Wählen Sie „Ja“, wenn Sie den Bestand dieses Artikels in Ihrem Inventar verwalten."
"Select ""Yes"" if you supply raw materials to your supplier to manufacture this item.","Wählen Sie „Ja“, wenn Sie Rohstoffe an Ihren Lieferanten zur Herstellung dieses Artikels liefern."
Select Brand...,Wählen Brand ...
Select Budget Distribution to unevenly distribute targets across months.,"Wählen Sie Budgetverteilung aus, um Ziele ungleichmäßig über Monate hinweg zu verteilen."
"Select Budget Distribution, if you want to track based on seasonality.","Wählen Sie Budgetverteilung, wenn Sie nach Saisonalität verfolgen möchten."
Select Company...,Wählen Gesellschaft ...
Select DocType,Dokumenttyp auswählen
Select Fiscal Year...,Wählen Sie das Geschäftsjahr ...
Select Items,Artikel auswählen
Select Project...,Wählen Sie Projekt ...
Select Sales Orders,Kundenaufträge auswählen
Select Sales Orders from which you want to create Production Orders.,"Kundenaufträge auswählen, aus denen Sie Fertigungsaufträge erstellen möchten."
Select Time Logs and Submit to create a new Sales Invoice.,"Wählen Sie Zeitprotokolle und ""Absenden"" aus, um eine neue Verkaufsrechnung zu erstellen."
Select Transaction,Transaktion auswählen
Select Warehouse...,Wählen Sie Warehouse ...
Select Your Language,Wählen Sie Ihre Sprache
Select account head of the bank where cheque was deposited.,"Wählen Sie den Kontenführer der Bank, bei der der Scheck eingereicht wurde."
Select company name first.,Wählen Sie zuerst den Firmennamen aus.
Select template from which you want to get the Goals,"Wählen Sie eine Vorlage aus, von der Sie die Ziele abrufen möchten"
Select the Employee for whom you are creating the Appraisal.,"Wählen Sie den Mitarbeiter aus, für den Sie die Bewertung erstellen."
Select the period when the invoice will be generated automatically,"Wählen Sie den Zeitraum aus, zu dem die Rechnung automatisch erstellt werden soll."
Select the relevant company name if you have multiple companies,"Wählen Sie den entsprechenden Firmennamen aus, wenn mehrere Unternehmen vorhanden sind"
Select the relevant company name if you have multiple companies.,"Wählen Sie den entsprechenden Firmennamen aus, wenn mehrere Unternehmen vorhanden sind."
Select type of transaction,
Select who you want to send this newsletter to,"Wählen Sie aus, an wen dieser Newsletter gesendet werden soll"
Select your home country and check the timezone and currency.,Wählen Sie Ihr Heimatland und überprüfen Sie die Zeitzone und Währung.
"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","Wenn Sie „Ja“ auswählen, wird dieser Artikel in Bestellung und Kaufbeleg angezeigt."
"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","Wenn Sie „Ja“ auswählen, wird dieser Artikel in Auftrag und Lieferschein angezeigt"
"Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.","Wenn Sie „Ja“ auswählen, können Sie eine Materialliste erstellen, die Rohstoff- und Betriebskosten anzeigt, die bei der Herstellung dieses Artikels anfallen."
"Selecting ""Yes"" will allow you to make a Production Order for this item.","Wenn Sie „Ja“ auswählen, können Sie einen Fertigungsauftrag für diesen Artikel erstellen."
"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.","Wenn Sie „Ja“ auswählen, wird jeder Einheit dieses Artikels eine eindeutige Identität zugeteilt, die im Seriennummernstamm angezeigt werden kann."
Selling,Verkaufen
Selling Settings,Verkaufseinstellungen
"Selling must be checked, if Applicable For is selected as {0}","Selling muss überprüft werden, wenn Anwendbar ist als gewählte {0}"
Send,Absenden
Send Autoreply,Autoreply absenden
Send Email,E-Mail absenden
Send From,Absenden von
Send Notifications To,Benachrichtigungen senden an
Send Now,Jetzt senden
Send SMS,SMS senden
Send To,Senden an
Send To Type,Senden an Typ
Send automatic emails to Contacts on Submitting transactions.,Beim Einreichen von Transaktionen automatische E-Mails an Kontakte senden.
Send mass SMS to your contacts,Massen-SMS an Ihre Kontakte senden
Send regular summary reports via Email.,Regelmäßig zusammenfassende Berichte per E-Mail senden.
Send to this list,An diese Liste senden
Sender Name,Absendername
Sent,Sent
Sent On,Gesendet am
Separate production order will be created for each finished good item.,Separater Fertigungsauftrag wird für jeden fertigen Warenartikel erstellt.
Serial No,Seriennummer
Serial No / Batch,Seriennummer / Charge
Serial No Details,Details Seriennummer
Serial No Service Contract Expiry,Seriennr. Ende des Wartungsvertrags
Serial No Status,Seriennr. Status
Serial No Warranty Expiry,Seriennr. Garantieverfall
Serial No is mandatory for Item {0},Seriennummer ist für Artikel {0}
Serial No {0} created,Seriennummer {0} erstellt
Serial No {0} does not belong to Delivery Note {1},Seriennummer {0} nicht auf Lieferschein gehören {1}
Serial No {0} does not belong to Item {1},Seriennummer {0} nicht auf Artikel gehören {1}
Serial No {0} does not belong to Warehouse {1},Seriennummer {0} ist nicht im Warehouse gehören {1}
Serial No {0} does not exist,Seriennummer {0} existiert nicht
Serial No {0} has already been received,Seriennummer {0} bereits empfangen
Serial No {0} is under maintenance contract upto {1},Seriennummer {0} ist unter Wartungsvertrag bis {1}
Serial No {0} is under warranty upto {1},Seriennummer {0} ist unter Garantie bis {1}
Serial No {0} not found,
Serial No {0} not in stock,Seriennummer {0} nicht auf Lager
Serial No {0} quantity {1} cannot be a fraction,Seriennummer {0} Menge {1} kann nicht ein Bruchteil sein
Serial No {0} status must be 'Available' to Deliver,"Seriennummer {0} Status muss ""verfügbar"" sein, Deliver"
Serial Nos Required for Serialized Item {0},SeriennummernErforderlich für Artikel mit Seriennummer {0}
Serial Number Series,Seriennummer Series
Serial number {0} entered more than once,Seriennummer {0} trat mehr als einmal
Serialized Item {0} cannot be updated \					using Stock Reconciliation,
Series,Serie
Series List for this Transaction,Serienliste für diese Transaktion
Series Updated,Aktualisiert Serie
Series Updated Successfully,Serie erfolgreich aktualisiert
Series is mandatory,Serie ist obligatorisch
Series {0} already used in {1},Serie {0} bereits verwendet {1}
Service,Service
Service Address,Serviceadresse
Service Tax,Service Steuer
Services,Services
Set,Set
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Vorschlagswerte wie Unternehmen , Währung, aktuelle Geschäftsjahr usw."
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Artikelgruppenweise Budgets in dieser Region erstellen. Durch Einrichten der Verteilung können Sie auch Saisonalität mit einbeziehen.
Set Status as Available,Set Status als Verfügbar
Set as Default,Als Standard
Set as Lost,Als Passwort
Set prefix for numbering series on your transactions,Präfix für die Seriennummerierung Ihrer Transaktionen festlegen
Set targets Item Group-wise for this Sales Person.,Ziele artikelgruppenweise für diesen Vertriebsmitarbeiter festlegen.
Setting Account Type helps in selecting this Account in transactions.,Das Festlegen des Kontotyps hilft bei der Auswahl dieses Kontos in Transaktionen.
Setting this Address Template as default as there is no other default,"Die Einstellung dieses Adressvorlage als Standard, da es keine anderen Standard"
Setting up...,Einrichten ...
Settings,Einstellungen
Settings for Accounts,Einstellungen für Konten
Settings for Buying Module,Einstellungen für Einkaufsmodul
Settings for HR Module,Einstellungen für das HR -Modul
Settings for Selling Module,Einstellungen für das Verkaufsmodul
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""","Einstellungen, um Bewerber aus einem Postfach, z.B. ""jobs@example.com"", zu extrahieren."
Setup,Setup
Setup Already Complete!!,Bereits Komplett -Setup !
Setup Complete,Setup Complete
Setup SMS gateway settings,Setup-SMS-Gateway-Einstellungen
Setup Series,Setup-Reihenfolge
Setup Wizard,Setup-Assistenten
Setup incoming server for jobs email id. (e.g. jobs@example.com),Setup- Eingangsserver für Jobs E-Mail -ID . (z. B. jobs@example.com )
Setup incoming server for sales email id. (e.g. sales@example.com),Setup- Eingangsserver für den Vertrieb E-Mail -ID . (z. B. sales@example.com )
Setup incoming server for support email id. (e.g. support@example.com),Setup- Eingangsserver für die Unterstützung E-Mail -ID . (z. B. support@example.com )
Share,Freigeben
Share With,Freigeben für
Shareholders Funds,Aktionäre Fonds
Shipments to customers.,Lieferungen an Kunden.
Shipping,Versand
Shipping Account,Versandkonto
Shipping Address,Versandadresse
Shipping Amount,Versandbetrag
Shipping Rule,Versandregel
Shipping Rule Condition,Versandbedingung
Shipping Rule Conditions,Versandbedingungen
Shipping Rule Label,Versandbedingungsetikett
Shop,Shop
Shopping Cart,Einkaufswagen
Short biography for website and other publications.,Kurzbiographie für die Website und andere Publikationen.
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Details zu ""Auf Lager"" oder ""Nicht auf Lager"" entsprechend des in diesem Warenlager verfügbaren Bestands anzeigen."
"Show / Hide features like Serial Nos, POS etc.","Show / Hide Funktionen wie Seriennummern, POS , etc."
Show In Website,Auf der Webseite anzeigen
Show a slideshow at the top of the page,Diaschau oben auf der Seite anzeigen
Show in Website,Auf der Webseite anzeigen
Show this slideshow at the top of the page,Diese Diaschau oben auf der Seite anzeigen
Show zero values,
Shown in Website,
Sick Leave,Sick Leave
Signature,Unterschrift
Signature to be appended at the end of every email,"Signatur, die am Ende jeder E-Mail angehängt werden soll"
Single,Einzeln
Single unit of an Item.,Einzeleinheit eines Artikels.
Sit tight while your system is being setup. This may take a few moments.,"Sitzen fest , während Ihr System wird Setup . Dies kann einige Zeit dauern."
Slideshow,Diaschau
Soap & Detergent,Soap & Reinigungsmittel
Software,Software
Software Developer,Software-Entwickler
"Sorry, Serial Nos cannot be merged","Sorry, Seriennummernkönnen nicht zusammengeführt werden,"
"Sorry, companies cannot be merged","Sorry, Unternehmen können nicht zusammengeführt werden"
Source,Quelle
Source File,Source File
Source Warehouse,Quellenwarenlager
Source and target warehouse cannot be same for row {0},Quell-und Ziel-Warehouse kann nicht gleich sein für die Zeile {0}
Source of Funds (Liabilities),Mittelherkunft ( Passiva)
Source warehouse is mandatory for row {0},Quelle Lager ist für Zeile {0}
Spartan,Spartanisch
"Special Characters except ""-"" and ""/"" not allowed in naming series","Sonderzeichen außer ""-"" und ""/"" nicht in der Benennung Serie erlaubt"
Specification Details,Spezifikationsdetails
Specifications,Technische Daten
Specify Exchange Rate to convert one currency into another,Geben Sie den Wechselkurs zum Umrechnen einer Währung in eine andere an
"Specify a list of Territories, for which, this Price List is valid","Geben Sie eine Liste der Regionen an, für die diese Preisliste gilt"
"Specify a list of Territories, for which, this Shipping Rule is valid","Geben Sie eine Liste der Regionen an, für die diese Versandregel gilt"
"Specify a list of Territories, for which, this Taxes Master is valid","Geben Sie eine Liste der Regionen an, für die dieser Steuerstamm gilt"
Specify conditions to calculate shipping amount,Geben Sie die Bedingungen zur Berechnung der Versandkosten an
"Specify the operations, operating cost and give a unique Operation no to your operations.","Geben Sie die Vorgänge , Betriebskosten und geben einen einzigartigen Betrieb nicht für Ihren Betrieb ."
Split Delivery Note into packages.,Lieferschein in Pakete aufteilen.
Sports,Sport
Sr,Sr
Standard,Standard
Standard Buying,Standard- Einkaufsführer
Standard Reports,Standardberichte
Standard Selling,Standard- Selling
"Standard Terms and Conditions that can be added to Sales and Purchases.Examples:1. Validity of the offer.1. Payment Terms (In Advance, On Credit, part advance etc).1. What is extra (or payable by the Customer).1. Safety / usage warning.1. Warranty if any.1. Returns Policy.1. Terms of shipping, if applicable.1. Ways of addressing disputes, indemnity, liability, etc.1. Address and Contact of your Company.",
Standard contract terms for Sales or Purchase.,Übliche Vertragsbedingungen für den Verkauf oder Kauf .
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.10. Add or Deduct: Whether you want to add or deduct the tax.",
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.",
Start,Start-
Start Date,Startdatum
Start date of current invoice's period,Startdatum der laufenden Rechnungsperiode
Start date of current order's period,
Start date should be less than end date for Item {0},Startdatum sollte weniger als Enddatum für Artikel {0}
State,Land
Statement of Account,Kontoauszug
Static Parameters,Statische Parameter
Status,Status
Status must be one of {0},Der Status muss man von {0}
Status of {0} {1} is now {2},Status {0} {1} ist jetzt {2}
Status updated to {0},Status aktualisiert {0}
Statutory info and other general information about your Supplier,Gesetzliche und andere allgemeine Informationen über Ihren Lieferanten
Stay Updated,Bleiben Aktualisiert
Stock,Lagerbestand
Stock Adjustment,Auf Einstellung
Stock Adjustment Account,Bestandskorrektur-Konto
Stock Ageing,Bestandsalterung
Stock Analytics,Bestandsanalyse
Stock Assets,Auf Assets
Stock Balance,Bestandsbilanz
Stock Entries already created for Production Order ,
Stock Entry,Bestandseintrag
Stock Entry Detail,Bestandseintragsdetail
Stock Expenses,Auf Kosten
Stock Frozen Upto,Bestand eingefroren bis
Stock Item,
Stock Ledger,Bestands-Hauptkonto
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,
Stock Ledger Entry,Bestands-Hauptkonto Eintrag
Stock Ledger entries balances updated,Auf BucheinträgeSalden aktualisiert
Stock Level,Bestandsebene
Stock Liabilities,Auf Verbindlichkeiten
Stock Projected Qty,Auf Projizierte Menge
Stock Queue (FIFO),Bestands-Warteschlange (FIFO)
Stock Received But Not Billed,"Empfangener, aber nicht abgerechneter Bestand"
Stock Reconcilation Data,Auf Versöhnung Daten
Stock Reconcilation Template,Auf Versöhnung Vorlage
Stock Reconciliation,Bestandsabgleich
"Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory.","Auf Versöhnung kann verwendet werden, um die Aktie zu einem bestimmten Zeitpunkt zu aktualisieren , in der Regel nach Inventur werden."
Stock Settings,Bestandseinstellungen
Stock UOM,Bestands-ME
Stock UOM Replace Utility,Dienstprogramm zum Ersetzen der Bestands-ME
Stock UOM updatd for Item {0},"Auf ME fortgeschrieben, für den Posten {0}"
Stock Uom,Bestands-ME
Stock Value,Bestandswert
Stock Value Difference,Wertdifferenz Bestand
Stock balances updated,Auf Salden aktualisiert
Stock cannot be updated against Delivery Note {0},Auf kann nicht gegen Lieferschein aktualisiert werden {0}
Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name',Auf Einträge vorhanden sind gegen Lager {0} kann nicht neu zuweisen oder ändern 'Master -Name'
Stock transactions before {0} are frozen,Aktiengeschäfte vor {0} werden eingefroren
Stock: ,
Stop,Anhalten
Stop Birthday Reminders,Stop- Geburtstagserinnerungen
Stop users from making Leave Applications on following days.,"Benutzer davon abhalten, Urlaubsanträge für folgende Tage zu machen."
Stopped,Angehalten
Stopped order cannot be cancelled. Unstop to cancel.,"Gestoppt Auftrag kann nicht abgebrochen werden. Aufmachen , um abzubrechen."
Stores,Shops
Stub,Stummel
Sub Assemblies,Unterbaugruppen
"Sub-currency. For e.g. ""Cent""","Unterwährung. Zum Beispiel ""Cent"""
Subcontract,Zulieferer
Subcontracted,
Subject,Betreff
Submit Salary Slip,Gehaltsabrechnung absenden
Submit all salary slips for the above selected criteria,Alle Gehaltsabrechnungen für die oben gewählten Kriterien absenden
Submit this Production Order for further processing.,Senden Sie dieses Fertigungsauftrag für die weitere Verarbeitung .
Submitted,Abgesendet/Eingereicht
Subsidiary,Tochtergesellschaft
Successful: ,Erfolgreich:
Successfully Reconciled,Erfolgreich versöhnt
Suggestions,Vorschläge
Sunday,Sonntag
Supplier,Lieferant
Supplier (Payable) Account,Lieferantenkonto (zahlbar)
Supplier (vendor) name as entered in supplier master,Lieferantenname (Verkäufer) wie im Lieferantenstamm eingetragen
Supplier > Supplier Type,Lieferant> Lieferantentyp
Supplier Account Head,Lieferant Kontenführer
Supplier Address,Lieferantenadresse
Supplier Addresses and Contacts,Lieferant Adressen und Kontakte
Supplier Details,Lieferantendetails
Supplier Intro,Lieferant Intro
Supplier Invoice Date,Lieferantenrechnungsdatum
Supplier Invoice No,Lieferantenrechnungsnr.
Supplier Name,Lieferantenname
Supplier Naming By,Benennung des Lieferanten nach
Supplier Part Number,Lieferant Teilenummer
Supplier Quotation,Lieferantenangebot
Supplier Quotation Item,Angebotsposition Lieferant
Supplier Reference,Referenznummer des Lieferanten
Supplier Type,Lieferantentyp
Supplier Type / Supplier,Lieferant Typ / Lieferant
Supplier Type master.,Lieferant Typ Master.
Supplier Warehouse,Lieferantenlager
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Lieferantenlager obligatorisch für Unteraufträge vergeben Kaufbeleg
Supplier database.,Lieferantendatenbank
Supplier master.,Lieferant Vorlage
Supplier of Goods or Services.,Lieferant von Waren oder Dienstleistungen.
Supplier warehouse where you have issued raw materials for sub - contracting,"Lieferantenlager, wo Sie Rohstoffe für Zulieferer ausgegeben haben."
Supplier-Wise Sales Analytics,HerstellerverkaufsWise Analytics
Support,Support
Support Analtyics,Unterstützung Analtyics
Support Analytics,Support-Analyse
Support Email,Support per E-Mail
Support Email Settings,Support E-Mail Einstellungen
Support Manager,
Support Password,Support-Passwort
Support Team,
Support Ticket,Support-Ticket
Support queries from customers.,Support-Anfragen von Kunden.
Symbol,Symbol
Sync Support Mails,Sync Unterstützungs E-Mails
Sync with Dropbox,Mit Dropbox synchronisieren
Sync with Google Drive,Mit Google Drive synchronisieren
System,System
System Balance,
System Manager,
System Settings,Systemeinstellungen
"System User (login) ID. If set, it will become default for all HR forms.","Systembenutzer-ID (Anmeldung) Wenn gesetzt, wird sie standardmäßig für alle HR-Formulare verwendet."
System for managing Backups,System zur Verwaltung von Backups
TDS (Advertisement),TDS (Anzeige)
TDS (Commission),TDS (Kommission)
TDS (Contractor),TDS (Auftragnehmer)
TDS (Interest),TDS (Zinsen)
TDS (Rent),TDS (Mieten)
TDS (Salary),TDS (Salary)
Table for Item that will be shown in Web Site,"Tabelle für Artikel, die auf der Webseite angezeigt werden"
Target  Amount,Zielbetrag
Target Detail,Zieldetail
Target Details,Zieldetails
Target Details1,Zieldetails1
Target Distribution,Zielverteilung
Target On,Ziel Auf
Target Qty,Zielmenge
Target Warehouse,Zielwarenlager
Target warehouse in row {0} must be same as Production Order,Ziel-Warehouse in Zeile {0} muss gleiche wie Fertigungsauftrag
Target warehouse is mandatory for row {0},Ziel-Warehouse ist für Zeile {0}
Task,Aufgabe
Task Details,Aufgabendetails
Tasks,Aufgaben
Tax,Steuer
Tax Amount After Discount Amount,Steuerbetrag nach Rabatt Betrag
Tax Assets,Steueransprüche
Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items,"Steuerkategorie kann nicht ""Bewertungstag "" oder "" Bewertung und Total ' als alle Einzelteile sind nicht auf Lager gehalten werden"
Tax Rate,Steuersatz
Tax and other salary deductions.,Steuer und sonstige Gehaltsabzüge
Tax detail table fetched from item master as a string and stored in this field.Used for Taxes and Charges,
Tax template for buying transactions.,Tax -Vorlage für Kauf -Transaktionen.
Tax template for selling transactions.,Tax -Vorlage für Verkaufsgeschäfte .
Taxes,Steuer
Taxes and Charges,Steuern und Abgaben
Taxes and Charges Added,Steuern und Abgaben hinzugefügt
Taxes and Charges Added (Company Currency),Steuern und Abgaben hinzugefügt (Unternehmenswährung)
Taxes and Charges Calculation,Berechnung der Steuern und Abgaben
Taxes and Charges Deducted,Steuern und Abgaben abgezogen
Taxes and Charges Deducted (Company Currency),Steuern und Abgaben abgezogen (Unternehmenswährung)
Taxes and Charges Total,Steuern und Abgaben Gesamt
Taxes and Charges Total (Company Currency),Steuern und Abgaben Gesamt (Unternehmenswährung)
Technology,Technologie
Telecommunications,Telekommunikation
Telephone Expenses,Telefonkosten
Television,Fernsehen
Template,Vorlage
Template for performance appraisals.,Vorlage für Leistungsbeurteilungen .
Template of terms or contract.,Vorlage für Geschäftsbedingungen oder Vertrag.
Temporary Accounts (Assets),Temporäre Accounts ( Assets)
Temporary Accounts (Liabilities),Temporäre Konten ( Passiva)
Temporary Assets,Temporäre Assets
Temporary Liabilities,Temporäre Verbindlichkeiten
Term Details,Details Geschäftsbedingungen
Terms,Bedingungen
Terms and Conditions,Allgemeine Geschäftsbedingungen
Terms and Conditions Content,Allgemeine Geschäftsbedingungen Inhalt
Terms and Conditions Details,Allgemeine Geschäftsbedingungen Details
Terms and Conditions Template,Allgemeine Geschäftsbedingungen Vorlage
Terms and Conditions1,Allgemeine Geschäftsbedingungen1
Terretory,Terretory
Territory,Region
Territory / Customer,Territory / Kunden
Territory Manager,Gebietsleiter
Territory Name,Name der Region
Territory Target Variance Item Group-Wise,Territory ZielabweichungsartikelgruppeWise -
Territory Targets,Ziele der Region
Test,Test
Test Email Id,E-Mail-ID testen
Test the Newsletter,Newsletter testen
The BOM which will be replaced,"Die Stückliste, die ersetzt wird"
The First User: You,Der erste Benutzer : Sie
"The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes""","Der Artikel, der das Paket darstellt. Bei diesem Artikel muss ""Ist Lagerartikel"" als ""Nein"" und ""Ist Verkaufsartikel"" als ""Ja"" gekennzeichnet sein"
The Organization,Die Organisation
"The account head under Liability, in which Profit/Loss will be booked","Das Konto, Kopf unter Haftung , in der Gewinn / Verlust wird gebucht werden"
The date on which next invoice will be generated. It is generated on submit.,"Das Datum, an dem die nächste Rechnung erstellt wird. Sie wird beim Einreichen erzeugt."
The date on which recurring invoice will be stop,"Das Datum, an dem die wiederkehrende Rechnung angehalten wird"
The date on which recurring order will be stop,
"The day of the month on which auto invoice will be generated e.g. 05, 28 etc ","Der Tag des Monats, an dem auto Rechnung zB 05, 28 usw. generiert werden"
"The day of the month on which auto order will be generated e.g. 05, 28 etc ",
The day(s) on which you are applying for leave are holiday. You need not apply for leave.,"Der Tag (e) , auf dem Sie sich bewerben für Urlaub sind Ferien. Sie müssen nicht, um Urlaub ."
The first Leave Approver in the list will be set as the default Leave Approver,Der erste Urlaubsgenehmiger auf der Liste wird als standardmäßiger Urlaubsgenehmiger festgesetzt
The first user will become the System Manager (you can change that later).,"Der erste Benutzer wird der System-Manager (du , dass später ändern können ) ."
The gross weight of the package. Usually net weight + packaging material weight. (for print),Das Bruttogewicht des Pakets. Normalerweise Nettogewicht + Gewicht des Verpackungsmaterials (Für den Ausdruck)
The name of your company for which you are setting up this system.,"Der Name der Firma, für die Sie die Einrichtung dieses Systems."
The net weight of this package. (calculated automatically as sum of net weight of items),Das Nettogewicht dieses Pakets. (automatisch als Summe der einzelnen Nettogewichte berechnet)
The new BOM after replacement,Die neue Stückliste nach dem Austausch
The rate at which Bill Currency is converted into company's base currency,"Der Kurs, mit dem die Rechnungswährung in die Basiswährung des Unternehmens umgerechnet wird"
The unique id for tracking all recurring invoices. It is generated on submit.,Die eindeutige ID für Tracking alle wiederkehrenden Rechnungen. Es basiert auf einreichen generiert.
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Dann Preisregeln werden auf Basis von Kunden gefiltert, Kundengruppe, Territory, Lieferant, Lieferant Typ, Kampagne, Vertriebspartner usw."
There are more holidays than working days this month.,Es gibt mehr Feiertage als Arbeitstage in diesem Monat.
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Es kann nur einen Versand Regel sein Zustand mit 0 oder Blindwert für "" auf den Wert"""
There is not enough leave balance for Leave Type {0},Es ist nicht genügend Urlaubsbilanz für Leave Typ {0}
There is nothing to edit.,Es gibt nichts zu bearbeiten.
There was an error. One probable reason could be that you haven't saved the form. Please contact support@erpnext.com if the problem persists.,"Es ist ein Fehler aufgetreten . Ein möglicher Grund könnte sein, dass Sie das Formular nicht gespeichert haben. Bitte kontaktieren Sie support@erpnext.com wenn das Problem weiterhin besteht ."
There were errors.,Es gab Fehler .
This Currency is disabled. Enable to use in transactions,"Diese Währung ist deaktiviert . Aktivieren, um Transaktionen in"
This Leave Application is pending approval. Only the Leave Apporver can update status.,Dieser Urlaubsantrag ist bis zur Genehmigung . Nur das Datum Apporver können Status zu aktualisieren.
This Time Log Batch has been billed.,Dieser Zeitprotokollstapel wurde abgerechnet.
This Time Log Batch has been cancelled.,Dieser Zeitprotokollstapel wurde abgebrochen.
This Time Log conflicts with {0},This Time Log Konflikt mit {0}
This format is used if country specific format is not found,"Dieses Format wird verwendet, wenn länderspezifischen Format wird nicht gefunden"
This is a root account and cannot be edited.,Dies ist ein Root-Account und können nicht bearbeitet werden.
This is a root customer group and cannot be edited.,Dies ist eine Wurzel Kundengruppe und können nicht editiert werden .
This is a root item group and cannot be edited.,Dies ist ein Stammelement -Gruppe und können nicht editiert werden .
This is a root sales person and cannot be edited.,Dies ist ein Root- Verkäufer und können nicht editiert werden .
This is a root territory and cannot be edited.,Dies ist ein Root- Gebiet und können nicht bearbeitet werden.
This is an example website auto-generated from ERPNext,Dies ist ein Beispiel -Website von ERPNext automatisch generiert
This is the number of the last created transaction with this prefix,Dies ist die Nummer der letzten erstellten Transaktion mit diesem Präfix
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,"Dieses Tool hilft Ihnen, die Menge und die Bewertung von Bestand im System zu aktualisieren oder zu ändern. Sie wird in der Regel verwendet, um die Systemwerte und den aktuellen Bestand Ihrer Warenlager zu synchronisieren."
This will be used for setting rule in HR module,Dies wird für die Festlegung der Regel im HR-Modul verwendet
Thread HTML,Thread HTML
Thursday,Donnerstag
Time Log,Zeitprotokoll
Time Log Batch,Zeitprotokollstapel
Time Log Batch Detail,Zeitprotokollstapel-Detail
Time Log Batch Details,Zeitprotokollstapel-Details
Time Log Batch {0} must be 'Submitted',"Zeit Log Batch {0} muss "" Eingereicht "" werden"
Time Log Status must be Submitted.,Status des Zeitprotokolls muss 'Eingereicht/Abgesendet' sein
Time Log for tasks.,Zeitprotokoll für Aufgaben.
Time Log is not billable,Zeitprotokoll ist nicht abrechenbar
Time Log {0} must be 'Submitted',"Anmelden Zeit {0} muss "" Eingereicht "" werden"
Time Zone,Zeitzone
Time Zones,Zeitzonen
Time and Budget,Zeit und Budget
Time at which items were delivered from warehouse,"Zeitpunkt, zu dem Gegenstände aus dem Lager geliefert wurden"
Time at which materials were received,"Zeitpunkt, zu dem Materialien empfangen wurden"
Title,Titel
Titles for print templates e.g. Proforma Invoice.,Titel für Druckvorlagen z. B. Proforma-Rechnung .
To,An
To Currency,In Währung
To Date,Bis dato
To Date should be same as From Date for Half Day leave,Bis Datum sollten gleiche wie von Datum für Halbtagesurlaubsein
To Date should be within the Fiscal Year. Assuming To Date = {0},"Bis Datum sollte im Geschäftsjahr sein. Unter der Annahme, bis Datum = {0}"
To Discuss,Zur Diskussion
To Do List,Aufgabenliste
To Package No.,Bis Paket Nr.
To Produce,Um Produzieren
To Time,Bis Uhrzeit
To Value,Bis Wert
To Warehouse,An Warenlager
"To add child nodes, explore tree and click on the node under which you want to add more nodes.","Um geordneten Knoten hinzufügen , erkunden Baum und klicken Sie auf den Knoten , unter dem Sie mehrere Knoten hinzufügen möchten."
"To assign this issue, use the ""Assign"" button in the sidebar.","Um dieses Problem zu zuzuweisen, verwenden Sie die Schaltfläche ""Zuweisen"" auf der Seitenleiste."
To create a Bank Account,Um ein Bankkonto zu erstellen
To create a Tax Account,Um ein Steuerkonto erstellen
"To create an Account Head under a different company, select the company and save customer.","Um einen Kontenführer unter einem anderen Unternehmen zu erstellen, wählen Sie das Unternehmen aus und speichern Sie den Kunden."
To date cannot be before from date,Bis heute kann nicht vor von aktuell sein
To enable <b>Point of Sale</b> features,Um Funktionen der <b>Verkaufsstelle</b> zu aktivieren
To enable <b>Point of Sale</b> view,Um <b> Point of Sale </ b> Ansicht aktivieren
To get Item Group in details table,So rufen sie eine Artikelgruppe in die Detailtabelle ab
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Um Steuer in Zeile enthalten {0} in Artikel Rate , Steuern in Reihen {1} müssen ebenfalls enthalten sein"
"To merge, following properties must be same for both items","Um mischen können, müssen folgende Eigenschaften für beide Produkte sein"
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Um Pricing Regel in einer bestimmten Transaktion nicht zu, sollten alle geltenden Preisregeln deaktiviert zu sein."
"To set this Fiscal Year as Default, click on 'Set as Default'","Zu diesem Geschäftsjahr als Standard festzulegen, klicken Sie auf "" Als Standard festlegen """
To track any installation or commissioning related work after sales,So verfolgen Sie eine Installation oder eine mit Kommissionierung verbundene Arbeit nach dem Verkauf
"To track brand name in the following documents Delivery Note, Opportunity, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","Um Markennamen in der folgenden Dokumente Lieferschein , Gelegenheit, Materialanforderung , Punkt , Bestellung , Einkauf Gutschein , Käufer Beleg, Angebot, Verkaufsrechnung , Vertriebsstückliste, Kundenauftrag, Seriennummer verfolgen"
To track item in sales and purchase documents based on their serial nos. This is can also used to track warranty details of the product.,"So verfolgen Sie Artikel in Einkaufs-und Verkaufsdokumenten auf der Grundlage ihrer Seriennummern. Diese Funktion kann auch verwendet werden, um die Garantieangaben des Produkts zu verfolgen."
To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>,So verfolgen Sie Artikel in Einkaufs-und Verkaufsdokumenten mit Stapelnummern<b>Bevorzugte Branche: Chemikalien usw.</b>
To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,So verfolgen Sie Artikel über den Barcode. Durch das Scannen des Artikel-Barcodes können Sie ihn in den Lieferschein und die Rechnung aufnehmen.
Too many columns. Export the report and print it using a spreadsheet application.,Zu viele Spalten. Exportieren Sie den Bericht und drucken Sie es mit einem Tabellenkalkulationsprogramm.
Tools,Extras
Total,Gesamt
Total ({0}),Gesamt ({0})
Total Advance,Gesamtvoraus
Total Amount,Gesamtbetrag
Total Amount To Pay,Fälliger Gesamtbetrag
Total Amount in Words,Gesamtbetrag in Worten
Total Billing This Year: ,Insgesamt Billing Dieses Jahr:
Total Characters,Insgesamt Charaktere
Total Claimed Amount,Summe des geforderten Betrags
Total Commission,Gesamtbetrag Kommission
Total Cost,Gesamtkosten
Total Credit,Gesamtkredit
Total Debit,Gesamtschuld
Total Debit must be equal to Total Credit. The difference is {0},Insgesamt muss Debit gleich Gesamt-Credit ist.
Total Deduction,Gesamtabzug
Total Earning,Gesamteinnahmen
Total Experience,Intensive Erfahrung
Total Hours,Gesamtstunden
Total Hours (Expected),Gesamtstunden (erwartet)
Total Invoiced Amount,Gesamtrechnungsbetrag
Total Leave Days,Urlaubstage insgesamt
Total Leaves Allocated,Insgesamt zugewiesene Urlaubstage
Total Message(s),Insgesamt Nachricht (en)
Total Operating Cost,Gesamtbetriebskosten
Total Points,Gesamtpunkte
Total Raw Material Cost,Gesamtkosten für Rohstoffe
Total Sanctioned Amount,Gesamtsumme genehmigter Betrag
Total Score (Out of 5),Gesamtwertung (von 5)
Total Tax (Company Currency),Gesamtsteuerlast (Unternehmenswährung)
Total Taxes and Charges,Steuern und Ausgaben insgesamt
Total Taxes and Charges (Company Currency),Steuern und Ausgaben insgesamt (Unternehmenswährung)
Total allocated percentage for sales team should be 100,Insgesamt zugeordnet Prozentsatz für Vertriebsteam sollte 100 sein
Total amount of invoices received from suppliers during the digest period,Gesamtbetrag der vom Lieferanten während des Berichtszeitraums eingereichten Rechnungen
Total amount of invoices sent to the customer during the digest period,"Gesamtbetrag der Rechnungen, die während des Berichtszeitraums an den Kunden gesendet wurden"
Total cannot be zero,Insgesamt darf nicht Null sein
Total in words,Gesamt in Worten
Total points for all goals should be 100. It is {0},Gesamtpunkte für alle Ziele sollten 100 sein. Es ist {0}
Total valuation for manufactured or repacked item(s) can not be less than total valuation of raw materials,Gesamtbewertungs für hergestellte oder umgepackt Artikel (s) kann nicht kleiner als die Gesamt Bewertung der Rohstoffe sein
Total weightage assigned should be 100%. It is {0},Insgesamt Gewichtung zugeordnet sollte 100 % sein. Es ist {0}
Totals,Summen
Track Leads by Industry Type.,Spur führt nach Branche Typ .
Track separate Income and Expense for product verticals or divisions.,Einnahmen und Ausgaben für Produktbereiche oder Abteilungen separat verfolgen.
Track this Delivery Note against any Project,Diesen Lieferschein für jedes Projekt nachverfolgen
Track this Sales Order against any Project,Diesen Kundenauftrag für jedes Projekt nachverfolgen
Transaction,Transaktion
Transaction Date,Transaktionsdatum
Transaction not allowed against stopped Production Order {0},Transaktion nicht gegen gestoppt Fertigungsauftrag erlaubt {0}
Transfer,Übertragung
Transfer Material,Transfermaterial
Transfer Raw Materials,Übertragen Rohstoffe
Transferred Qty,Die übertragenen Menge
Transportation,Transport
Transporter Info,Informationen zum Transportunternehmer
Transporter Name,Name des Transportunternehmers
Transporter lorry number,LKW-Nr. des Transportunternehmers
Travel,Reise
Travel Expenses,Reisekosten
Tree Type,Baum- Typ
Tree of Item Groups.,Baum der Artikelgruppen .
Tree of finanial Cost Centers.,Baum des finanial Kostenstellen .
Tree of finanial accounts.,Baum des finanial Konten.
Trial Balance,Allgemeine Kontenbilanz
Tuesday,Dienstag
Type,Typ
Type of document to rename.,Art des Dokuments umbenennen.
"Type of leaves like casual, sick etc.","Grund für Beurlaubung, wie Urlaub, krank usw."
Types of Expense Claim.,Spesenabrechnungstypen
Types of activities for Time Sheets,Art der Aktivität für Tätigkeitsnachweis
"Types of employment (permanent, contract, intern etc.).","Art der Beschäftigung (permanent , Vertrag, Praktikanten etc.)."
UOM Conversion Detail,ME-Umrechnung Detail
UOM Conversion Details,ME-Umrechnung Details
UOM Conversion Factor,ME-Umrechnungsfaktor
UOM Conversion factor is required in row {0},Verpackung Umrechnungsfaktor wird in der Zeile erforderlich {0}
UOM Name,ME-Namen
UOM coversion factor required for UOM: {0} in Item: {1},Verpackung coverFaktor für Verpackung benötigt: {0} in Item: {1}
Under AMC,Unter AMC
Under Graduate,Schulabgänger
Under Warranty,Unter Garantie
Unit,Einheit
Unit of Measure,Maßeinheit
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Maßeinheit {0} hat mehr als einmal in Umrechnungsfaktor Tabelle eingetragen
"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Maßeinheit für diesen Artikel (z.B. Kg, Einheit, Nein, Paar)."
Units/Hour,Einheiten/Stunde
Units/Shifts,Einheiten/Schichten
Unpaid,Unbezahlt
Unreconciled Payment Details,Nicht abgestimmte Zahlungsdetails
Unscheduled,Außerplanmäßig
Unsecured Loans,Unbesicherte Kredite
Unstop,aufmachen
Unstop Material Request,Unstop -Material anfordern
Unstop Purchase Order,Unstop Bestellung
Unsubscribed,Abgemeldet
Update,Aktualisierung
Update Clearance Date,Tilgungsdatum aktualisieren
Update Cost,Update- Kosten
Update Finished Goods,Aktualisieren Fertigwaren
Update Series,Serie aktualisieren
Update Series Number,Seriennummer aktualisieren
Update Stock,Lagerbestand aktualisieren
Update additional costs to calculate landed cost of items,
Update bank payment dates with journals.,Aktualisieren Sie die Zahlungstermine anhand der Journale.
Update clearance date of Journal Entries marked as 'Bank Vouchers',"Update- Clearance Datum der Journaleinträge als ""Bank Gutscheine 'gekennzeichnet"
Updated,Aktualisiert
Updated Birthday Reminders,Aktualisiert Geburtstagserinnerungen
Upload Attendance,Teilnahme hochladen
Upload Backups to Dropbox,Backups in Dropbox hochladen
Upload Backups to Google Drive,Backups auf Google Drive hochladen
Upload HTML,Upload-HTML
Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,"Laden Sie eine CSV-Datei mit zwei Spalten hoch: In der einen der alte, in der anderen der neue Name. Höchstens 500 Zeilen."
Upload attendance from a .csv file,Teilnahme aus  einer CSV-Datei hochladen
Upload stock balance via csv.,Bestandsbilanz über CSV hochladen
Upload your letter head and logo - you can edit them later.,Laden Sie Ihr Briefkopf und Logo - Sie können sie später zu bearbeiten.
Upper Income,Oberes Einkommen
Urgent,Dringend
Use Multi-Level BOM,Mehrstufige Stückliste verwenden
Use SSL,SSL verwenden
Used for Production Plan,Wird für Produktionsplan
User,Benutzer
User ID,Benutzerkennung
User ID not set for Employee {0},Benutzer-ID nicht für Mitarbeiter eingestellt {0}
User Name,Benutzername
User Name or Support Password missing. Please enter and try again.,Benutzername oder Passwort -Unterstützung fehlt. Bitte geben Sie und versuchen Sie es erneut .
User Remark,Benutzerbemerkung
User Remark will be added to Auto Remark,Benutzerbemerkung wird der automatischen Bemerkung hinzugefügt
User Remarks is mandatory,Benutzer Bemerkungen ist obligatorisch
User Specific,Benutzerspezifisch
User must always select,Benutzer muss immer auswählen
User {0} is already assigned to Employee {1},Benutzer {0} ist bereits an Mitarbeiter zugewiesen {1}
User {0} is disabled,Benutzer {0} ist deaktiviert
Username,Benutzername
Users who can approve a specific employee's leave applications,"Benutzer, die die Urlaubsanträge eines bestimmten Mitarbeiters genehmigen können"
Users with this role are allowed to create / modify accounting entry before frozen date,Benutzer mit dieser Rolle sind erlaubt zu erstellen / Verbuchung vor gefrorenen Datum ändern
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Benutzer mit dieser Rolle erlaubt sind auf eingefrorenen Konten setzen und / Buchungen gegen eingefrorene Konten ändern
Utilities,Dienstprogramme
Utility Expenses,Utility- Aufwendungen
Valid For Territories,Gültig für Regionen
Valid From,Gültig ab
Valid Upto,Gültig bis
Valid for Territories,Gültig für Regionen
Validate,Prüfen
Valuation,Bewertung
Valuation Method,Bewertungsmethode
Valuation Rate,Bewertungsrate
Valuation Rate required for Item {0},Artikel für erforderlich Bewertungs Bewerten {0}
Valuation and Total,Bewertung und Gesamt
Value,Wert
Value or Qty,Wert oder Menge
Vehicle Dispatch Date,Fahrzeugversanddatum
Vehicle No,Fahrzeug Nr.
Venture Capital,Risikokapital
Verified By,Geprüft durch
View Details,
View Ledger,Ansicht Ledger
View Now,Jetzt ansehen
Visit report for maintenance call.,Besuchsbericht für Wartungsabruf.
Voucher #,Gutschein #
Voucher Detail No,Gutscheindetail Nr.
Voucher Detail Number,Gutschein Detail Anzahl
Voucher ID,Gutschein-ID
Voucher No,Gutscheinnr.
Voucher Type,Gutscheintyp
Voucher Type and Date,Art und Datum des Gutscheins
Walk In,Hereinspazieren
Warehouse,Warenlager
Warehouse Contact Info,Kontaktinformation Warenlager
Warehouse Detail,Detail Warenlager
Warehouse Name,Warenlagername
Warehouse and Reference,Warenlager und Referenz
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,"Warehouse kann nicht gelöscht werden, da Aktienbuch Eintrag für diese Lager gibt."
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Warehouse kann nur über Lizenz Entry / Lieferschein / Kaufbeleg geändert werden
Warehouse cannot be changed for Serial No.,Warehouse kann nicht für Seriennummer geändert werden
Warehouse is mandatory for stock Item {0} in row {1},Warehouse ist für Lager Artikel {0} in Zeile {1}
Warehouse is missing in Purchase Order,Warehouse ist in der Bestellung fehlen
Warehouse not found in the system,Warehouse im System nicht gefunden
Warehouse required for stock Item {0},Lagerhaus Lager Artikel erforderlich {0}
Warehouse where you are maintaining stock of rejected items,"Warenlager, in dem Sie Bestand oder abgelehnte Artikel lagern"
Warehouse {0} can not be deleted as quantity exists for Item {1},"Warehouse {0} kann nicht gelöscht werden, Menge für Artikel existiert {1}"
Warehouse {0} does not belong to company {1},Warehouse {0} ist nicht gehören Unternehmen {1}
Warehouse {0} does not exist,Warehouse {0} existiert nicht
Warehouse {0}: Company is mandatory,Warehouse {0}: Unternehmen ist obligatorisch
Warehouse {0}: Parent account {1} does not bolong to the company {2},Warehouse {0}: Eltern-Konto {1} nicht Bolong an die Firma {2}
Warehouse-Wise Stock Balance,Warenlagerweise Bestandsbilanz
Warehouse-wise Item Reorder,Warenlagerweise Artikelaufzeichnung
Warehouses,Warenlager
Warehouses.,Gewerberäume .
Warn,Warnen
Warning: Leave application contains following block dates,Achtung: Die Urlaubsanwendung enthält die folgenden gesperrten Daten
Warning: Material Requested Qty is less than Minimum Order Qty,Achtung : Material Gewünschte Menge weniger als Mindestbestellmengeist
Warning: Sales Order {0} already exists against same Purchase Order number,Warnung: Sales Order {0} gegen gleiche Auftragsnummer ist bereits vorhanden
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,"Achtung: Das System wird nicht zu überprüfen, da überhöhte Betrag für Artikel {0} in {1} Null"
Warranty / AMC Details,Garantie / AMC-Details
Warranty / AMC Status,Garantie / AMC-Status
Warranty Expiry Date,Garantieablaufdatum
Warranty Period (Days),Gewährleistungsfrist
Warranty Period (in days),Garantiezeitraum (in Tagen)
We buy this Item,Wir kaufen Artikel
We sell this Item,Wir verkaufen Artikel
Website,Webseite
Website Description,Website Beschreibung
Website Item Group,Webseite Artikelgruppe
Website Item Groups,Webseite Artikelgruppen
Website Manager,
Website Settings,Webseiteneinstellungen
Website Warehouse,Webseite Warenlager
Wednesday,Mittwoch
Weekly,Wöchentlich
Weekly Off,Wöchentlich frei
Weight UOM,Gewicht ME
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Das Gewicht wird erwähnt, \ nBitte erwähnen "" Gewicht Verpackung "" zu"
Weightage,Gewichtung
Weightage (%),Gewichtung (%)
Welcome,Willkommen
Welcome to ERPNext. Over the next few minutes we will help you setup your ERPNext account. Try and fill in as much information as you have even if it takes a bit longer. It will save you a lot of time later. Good Luck!,"Willkommen auf ERPNext . In den nächsten Minuten werden wir Ihnen helfen, Ihre Setup ERPNext Konto. Versuchen Sie, und füllen Sie so viele Informationen wie Sie haben , auch wenn es etwas länger dauert . Es wird Ihnen eine Menge Zeit später. Viel Glück!"
Welcome to ERPNext. Please select your language to begin the Setup Wizard.,"Willkommen auf ERPNext . Bitte wählen Sie Ihre Sprache , um den Setup-Assistenten zu starten."
What does it do?,Was macht sie?
"When any of the checked transactions are ""Submitted"", an email pop-up automatically opened to send an email to the associated ""Contact"" in that transaction, with the transaction as an attachment. The user may or may not send the email.","Wenn eine der geprüften Transaktionen den Status ""Abgesendet/Eingereicht"" hat, wird automatisch eine Popup-E-Mail geöffnet, damit die Transaktion als Anhang per E-Mail an den zugeordneten ""Kontakt"" dieser Transaktion gesendet werden kann.  Der Benutzer kann diese E-Mail absenden oder nicht."
"When submitted, the system creates difference entries to set the given stock and valuation on this date.","Wenn vorgelegt , erstellt das System Unterschied Einträge, um die Lager -und Bewertungs gegeben an diesem Tag eingestellt ."
Where items are stored.,Wo Artikel gelagert werden.
Where manufacturing operations are carried out.,Wo Herstellungsvorgänge durchgeführt werden.
Widowed,Verwaist
Will be calculated automatically when you enter the details,"Wird automatisch berechnet, wenn Sie die Daten eingeben"
Will be updated after Sales Invoice is Submitted.,"Wird aktualisiert, nachdem die Verkaufsrechnung eingereicht wird."
Will be updated when batched.,"Wird aktualisiert, wenn Stapel erstellt werden."
Will be updated when billed.,"Wird aktualisiert, wenn in Rechnung gestellt."
Wire Transfer,Überweisung
With Operations,Mit Vorgängen
Work Details,Arbeitsdetails
Work Done,Erledigte Arbeit
Work In Progress,Laufende Arbeiten
Work-in-Progress Warehouse,Warenlager laufende Arbeit
Work-in-Progress Warehouse is required before Submit,"Arbeit - in -Progress Warehouse erforderlich ist, bevor abschicken"
Working,Arbeit
Working Days,Arbeitstage
Workstation,Arbeitsstation
Workstation Name,Name der Arbeitsstation
Write Off Account,"Abschreiben, Konto"
Write Off Amount,"Abschreiben, Betrag"
Write Off Amount <=,"Abschreiben, Betrag <="
Write Off Based On,Abschreiben basiert auf
Write Off Cost Center,"Abschreiben, Kostenstelle"
Write Off Outstanding Amount,"Abschreiben, ausstehender Betrag"
Write Off Voucher,"Abschreiben, Gutschein"
Wrong Template: Unable to find head row.,Falsche Vorlage: Kopfzeile nicht gefunden
Year,Jahr
Year Closed,Jahr geschlossen
Year End Date,Year End Datum
Year Name,Name des Jahrs
Year Start Date,Startdatum des Jahrs
Year of Passing,Jahr des Übergangs
Yearly,Jährlich
Yes,Ja
You are not authorized to add or update entries before {0},"Sie sind nicht berechtigt , um Einträge hinzuzufügen oder zu aktualisieren , bevor {0}"
You are not authorized to set Frozen value,"Sie sind nicht berechtigt, Gefrorene Wert eingestellt"
You are the Expense Approver for this record. Please Update the 'Status' and Save,Sie sind der Kosten Genehmiger für diesen Datensatz . Bitte aktualisiere den 'Status' und Sparen
You are the Leave Approver for this record. Please Update the 'Status' and Save,Sie sind der Leave Genehmiger für diesen Datensatz . Bitte aktualisiere den 'Status' und Sparen
You can enter any date manually,Sie können jedes Datum manuell eingeben
You can enter the minimum quantity of this item to be ordered.,"Sie können die Mindestmenge dieses Artikels eingeben, die bestellt werden soll."
You can not change rate if BOM mentioned agianst any item,"Sie können Rate nicht ändern, wenn BOM agianst jeden Artikel erwähnt"
You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Sie können nicht sowohl Lieferschein Nein und Sales Invoice Nr. Bitte geben Sie eine beliebige .
You can not enter current voucher in 'Against Journal Voucher' column,"Sie können keine aktuellen Gutschein in ""Gegen Blatt Gutschein -Spalte"
You can set Default Bank Account in Company master,Sie können Standard- Bank-Konto in Firmen Master eingestellt
You can start by selecting backup frequency and granting access for sync,Sie können durch Auswahl Backup- Frequenz und den Zugang für die Gewährung Sync starten
You can submit this Stock Reconciliation.,Sie können diese Vektor Versöhnung vorzulegen.
You can update either Quantity or Valuation Rate or both.,Sie können entweder Menge oder Bewertungs bewerten oder beides aktualisieren.
You cannot credit and debit same account at the same time,Sie können keine Kredit-und Debit gleiche Konto in der gleichen Zeit
You have entered duplicate items. Please rectify and try again.,Sie haben doppelte Elemente eingetragen. Bitte korrigieren und versuchen Sie es erneut .
You may need to update: {0},Sie müssen möglicherweise aktualisiert werden: {0}
You must Save the form before proceeding,"Sie müssen das Formular , bevor Sie speichern"
Your Customer's TAX registration numbers (if applicable) or any general information,Steuernummern Ihres Kunden (falls zutreffend) oder allgemeine Informationen
Your Customers,Ihre Kunden
Your Login Id,Ihre Login-ID
Your Products or Services,Ihre Produkte oder Dienstleistungen
Your Suppliers,Ihre Lieferanten
Your email address,Ihre E-Mail -Adresse
Your financial year begins on,Ihr Geschäftsjahr beginnt am
Your financial year ends on,Ihr Geschäftsjahr endet am
Your sales person who will contact the customer in future,"Ihr Vertriebsmitarbeiter, der den Kunden in Zukunft kontaktiert"
Your sales person will get a reminder on this date to contact the customer,"Ihr Vertriebsmitarbeiter erhält an diesem Datum eine Erinnerung, den Kunden zu kontaktieren"
Your setup is complete. Refreshing...,Ihre Einrichtung ist abgeschlossen. Erfrischend ...
Your support email id - must be a valid email - this is where your emails will come!,Ihre Support-E-Mail-ID - muss eine gültige E-Mail sein. An diese Adresse erhalten Sie Ihre E-Mails!
[Error],[Error]
[Select],[Select ]
`Freeze Stocks Older Than` should be smaller than %d days.,`Frost Stocks Älter als ` sollte kleiner als% d Tage.
and,und
are not allowed.,sind nicht erlaubt.
assigned by,zugewiesen von
cannot be greater than 100,darf nicht größer als 100 sein
"e.g. ""Build tools for builders""","z.B. ""Build -Tools für Bauherren """
"e.g. ""MC""","z.B. ""MC"""
"e.g. ""My Company LLC""","z.B. "" My Company LLC"""
e.g. 5,z.B. 5
"e.g. Bank, Cash, Credit Card","z.B. Bank, Bargeld, Kreditkarte"
"e.g. Kg, Unit, Nos, m","z.B. Kg, Einheit, Nr, m"
e.g. VAT,z.B. Mehrwertsteuer
eg. Cheque Number,z. B. Schecknummer
example: Next Day Shipping,Beispiel: Versand am nächsten Tag
fold,
hidden,
hours,
lft,li
old_parent,old_parent
rgt,Rt
subject,Betreff
to,bis
website page link,Website-Link
{0} '{1}' not in Fiscal Year {2},{0} ' {1}' nicht im Geschäftsjahr {2}
{0} Credit limit {1} crossed,
{0} Serial Numbers required for Item {0}. Only {0} provided.,{0} Seriennummern für Artikel erforderlich {0}. Nur {0} ist.
{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} Budget für Konto {1} gegen Kostenstelle {2} wird von {3} überschreiten
{0} can not be negative,{0} kann nicht negativ sein
{0} created,{0} erstellt
{0} days from {1},
{0} does not belong to Company {1},{0} ist nicht auf Unternehmen gehören {1}
{0} entered twice in Item Tax,{0} trat zweimal in Artikel Tax
{0} is an invalid email address in 'Notification \					Email Address',
{0} is mandatory,{0} ist obligatorisch
{0} is mandatory for Item {1},{0} Artikel ist obligatorisch für {1}
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} ist obligatorisch. Vielleicht Devisenwechsel Datensatz nicht für {1} bis {2} erstellt.
{0} is not a stock Item,{0} ist kein Lagerartikel
{0} is not a valid Batch Number for Item {1},{0} ist keine gültige Chargennummer für Artikel {1}
{0} is not a valid Leave Approver. Removing row #{1}.,{0} ist kein gültiges Datum Genehmiger. Entfernen Folge # {1}.
{0} is not a valid email id,{0} ist keine gültige E-Mail -ID
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,"{0} ist jetzt der Standardgeschäftsjahr. Bitte aktualisieren Sie Ihren Browser , damit die Änderungen wirksam werden."
{0} is required,{0} ist erforderlich
{0} must be a Purchased or Sub-Contracted Item in row {1},{0} muss ein Gekaufte oder Subunternehmer vergebene Artikel in Zeile {1}
{0} must be reduced by {1} or you should increase overflow tolerance,"{0} muss {1} reduziert werden, oder sollten Sie Überlauftoleranz zu erhöhen"
{0} must have role 'Leave Approver',"{0} muss Rolle "" Genehmiger Leave ' haben"
{0} valid serial nos for Item {1},{0} gültige Seriennummernfür Artikel {1}
{0} {1} against Bill {2} dated {3},{0} {1} gegen Bill {2} {3} vom
{0} {1} against Invoice {2},{0} {1} gegen Rechnung {2}
{0} {1} has already been submitted,{0} {1} wurde bereits eingereicht
{0} {1} has been modified. Please refresh.,{0} {1} wurde geändert . Bitte aktualisieren.
{0} {1} is not submitted,{0} {1} nicht vorgelegt
{0} {1} must be submitted,{0} {1} muss vorgelegt werden
{0} {1} not in any Fiscal Year,{0} {1} nicht in jedem Geschäftsjahr
{0} {1} status is 'Stopped',"{0} {1} Status "" Stopped """
{0} {1} status is Stopped,{0} {1} Status beendet
{0} {1} status is Unstopped,{0} {1} Status unstopped
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Kostenstelle ist obligatorisch für Artikel {2}
{0}: {1} not found in Invoice Details table,{0}: {1} nicht in der Rechnungs Details-Tabelle gefunden
