 (Half Day),(Halber Tag)
 and year: ,und Jahr:
""" does not exists",""" Existiert nicht"
%  Delivered,% Lieferung
% Amount Billed,% Rechnungsbetrag
% Billed,% Billed
% Completed,% Abgeschlossen
% Delivered,Geliefert %
% Installed,% Installierte
% Received,% Erhaltene
% of materials billed against this Purchase Order.,% Der Materialien gegen diese Bestellung in Rechnung gestellt.
% of materials billed against this Sales Order,% Der Materialien gegen diesen Kundenauftrag abgerechnet
% of materials delivered against this Delivery Note,% Der Materialien gegen diese Lieferschein
% of materials delivered against this Sales Order,% Der Materialien gegen diesen Kundenauftrag geliefert
% of materials ordered against this Material Request,% Der bestellten Materialien gegen diesen Werkstoff anfordern
% of materials received against this Purchase Order,% Der Materialien erhalten gegen diese Bestellung
'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 invoice,"'Benachrichtigung per E-Mail -Adressen ""nicht für wiederkehrende Rechnung angegebenen"
'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.',&#39;To Fall Nr.&#39; kann nicht kleiner sein als &quot;Von Fall Nr. &#39;
'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 werden.
"1 Currency = [?] Fraction
For e.g. 1 USD = 100 Cent","1 Währungs = [?] Fraction 
 Für zB 1 USD = 100 Cent"
1. To maintain the customer wise item code and to make them searchable based on their code use this option,Ein. Um den Kunden kluge Artikel Code zu pflegen und um sie durchsuchbar basierend auf ihren Code um 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>","<h4> Standardvorlage </ h4> 
 <p> Verwendet <a href=""http://jinja.pocoo.org/docs/templates/""> Jinja Templating </ a> und alle Felder der Adresse ( einschließlich Custom Fields falls vorhanden) zur Verfügung stehen </ p> 
 {{<pre> <code> address_line1}} <br> 
 {% wenn address_line2%} {{}} address_line2 <br> { endif% -%} 
 {{city}} <br> 
 {% wenn staatliche%} {{Zustand}} {% endif <br> -%} 
 {%%}, wenn PIN-Code PIN: {{PIN-Code}} {% endif <br> -%} 
 {{Land}} <br> 
 {%%}, wenn das Telefon Tel.: {{Telefon}} {<br> endif% -%} 
 {%%}, wenn Fax Fax: {{Fax}} {% endif <br> -%} 
 {% wenn email_id%} E-Mail: {{}} email_id <br> , {% endif -%} 
 </ code> </ pre>"
A Customer Group exists with same name please change the Customer name or rename the Customer Group,Mit dem gleichen Namen eine Kundengruppe existiert ändern Sie bitte die Kundenname oder benennen Sie die Kundengruppe
A Customer exists with same name,Ein Kunde gibt mit dem gleichen Namen
A Lead with this email id should exist,Ein Lead mit dieser E-Mail-ID sollte vorhanden sein
A Product or Service,Ein Produkt oder Dienstleistung
A Supplier exists with same name,Ein Lieferant existiert mit dem gleichen Namen
A symbol for this currency. For e.g. $,Ein Symbol für diese Währung. Für z.B. $
AMC Expiry Date,AMC Ablaufdatum
Abbr,Abk.
Abbreviation cannot have more than 5 characters,Abkürzung kann nicht mehr als 5 Zeichen
Above Value,Vor Wert
Absent,Abwesend
Acceptance Criteria,Akzeptanzkriterien
Accepted,Akzeptiert
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Akzeptierte + Abgelehnt Menge muss für den Posten gleich Received Menge {0}
Accepted Quantity,Akzeptiert Menge
Accepted Warehouse,Akzeptiert Warehouse
Account,Konto
Account Balance,Kontostand
Account Created: {0},Konto Erstellt: {0}
Account Details,Kontodetails
Account Head,Konto Leiter
Account Name,Account Name
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 ( Perpetual Inventory) wird unter diesem Konto erstellt werden.
Account head {0} created,Konto Kopf {0} erstellt
Account must be a balance sheet account,Konto muss ein Bilanzkonto sein
Account with child nodes cannot be converted to ledger,Konto mit Kind -Knoten können nicht umgewandelt werden Buch
Account with existing transaction can not be converted to group.,Konto mit bestehenden Transaktion nicht zur Gruppe umgewandelt werden.
Account with existing transaction can not be deleted,Konto mit bestehenden Transaktion kann nicht gelöscht werden
Account with existing transaction cannot be converted to ledger,Konto mit bestehenden Transaktion kann nicht umgewandelt werden Buch
Account {0} cannot be a Group,Konto {0} kann nicht eine Gruppe sein
Account {0} does not belong to Company {1},Konto {0} ist nicht auf Unternehmen gehören {1}
Account {0} does not belong to company: {1},Konto {0} ist nicht auf Unternehmen gehören: {1}
Account {0} does not exist,Konto {0} existiert nicht
Account {0} has been entered more than once for fiscal year {1},Konto {0} hat mehr als einmal für das Geschäftsjahr eingegeben {1}
Account {0} is frozen,Konto {0} ist eingefroren
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 "" Fixed Asset "" sein, wie Artikel {1} ist ein Aktivposten"
Account {0}: Parent account {1} can not be a ledger,"Konto {0}: Eltern-Konto {1} kann nicht sein, ein Hauptbuch"
Account {0}: Parent account {1} does not belong to company: {2},Konto {0}: Eltern-Konto {1} nicht zur Firma gehören: {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: \
 Auf Transaktionen {0} kann nur über 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 frozen up to this date, nobody can do / modify entry except role specified below.","Buchhaltungseingaben bis zu diesem Zeitpunkt eingefroren, kann niemand / nicht ändern Eintrag außer Rolle unten angegebenen."
Accounting journal entries.,Accounting Journaleinträge.
Accounts,Konten
Accounts Browser,Konten Browser
Accounts Frozen Upto,Konten Bis gefroren
Accounts Payable,Kreditorenbuchhaltung
Accounts Receivable,Debitorenbuchhaltung
Accounts Settings,Konten-Einstellungen
Active,Aktiv
Active: Will extract emails from ,Aktiv: Werden E-Mails extrahieren
Activity,Aktivität
Activity Log,Activity Log
Activity Log:,Activity Log:
Activity Type,Art der Tätigkeit
Actual,Tatsächlich
Actual Budget,Tatsächliche Budget
Actual Completion Date,Tatsächliche Datum der Fertigstellung
Actual Date,Aktuelles Datum
Actual End Date,Actual End Datum
Actual Invoice Date,Tag der Rechnungslegung
Actual Posting Date,Tatsächliche Buchungsdatum
Actual Qty,Tatsächliche Menge
Actual Qty (at source/target),Tatsächliche Menge (an der Quelle / Ziel)
Actual Qty After Transaction,Tatsächliche Menge Nach Transaction
Actual Qty: Quantity available in the warehouse.,Tatsächliche Menge: Menge verfügbar im Lager.
Actual Quantity,Tatsächliche Menge
Actual Start Date,Tatsächliche Startdatum
Add,Hinzufügen
Add / Edit Taxes and Charges,Hinzufügen / Bearbeiten Steuern und Abgaben
Add Child,Kinder hinzufügen
Add Serial No,In Seriennummer
Add Taxes,Steuern hinzufügen
Add Taxes and Charges,In Steuern und Abgaben
Add or Deduct,Hinzufügen oder abziehen
Add rows to set annual budgets on Accounts.,Fügen Sie Zeilen hinzu jährlichen Budgets für Konten festgelegt.
Add to Cart,In den Warenkorb
Add to calendar on this date,In den an diesem Tag Kalender
Add/Remove Recipients,Hinzufügen / Entfernen von Empfängern
Address,Adresse
Address & Contact,Adresse &amp; Kontakt
Address & Contacts,Adresse und Kontakte
Address Desc,Adresse Desc
Address Details,Adressdaten
Address HTML,Adresse HTML
Address Line 1,Address Line 1
Address Line 2,Address Line 2
Address Template,Adressvorlage
Address Title,Anrede
Address Title is mandatory.,Titel Adresse ist verpflichtend.
Address Type,Adresse Typ
Address master.,Adresse Master.
Administrative Expenses,Verwaltungskosten
Administrative Officer,Administrative Officer
Advance Amount,Voraus Betrag
Advance amount,Vorschuss in Höhe
Advances,Advances
Advertisement,Anzeige
Advertising,Werbung
Aerospace,Luft-und Raumfahrt
After Sale Installations,After Sale Installationen
Against,Gegen
Against Account,Vor Konto
Against Bill {0} dated {1},Gegen Bill {0} vom {1}
Against Docname,Vor DocName
Against Doctype,Vor Doctype
Against Document Detail No,Vor Document Detailaufnahme
Against Document No,Gegen Dokument Nr.
Against Expense Account,Vor Expense Konto
Against Income Account,Vor Income Konto
Against Journal Voucher,Vor Journal Gutschein
Against Journal Voucher {0} does not have any unmatched {1} entry,Vor Blatt Gutschein {0} keine unerreichte {1} Eintrag haben
Against Purchase Invoice,Vor Kaufrechnung
Against Sales Invoice,Vor Sales Invoice
Against Sales Order,Vor Sales Order
Against Voucher,Gegen Gutschein
Against Voucher Type,Gegen Gutschein Type
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
Aging Date,Aging Datum
Aging Date is mandatory for opening entry,Aging Datum ist obligatorisch für die Öffnung der Eintrag
Agriculture,Landwirtschaft
Airline,Fluggesellschaft
All Addresses.,Alle Adressen.
All Contact,Alle Kontakt
All Contacts.,Alle Kontakte.
All Customer Contact,All Customer Contact
All Customer Groups,Alle Kundengruppen
All Day,All Day
All Employee (Active),Alle Mitarbeiter (Active)
All Item Groups,Alle Artikelgruppen
All Lead (Open),Alle Lead (Open)
All Products or Services.,Alle Produkte oder Dienstleistungen.
All Sales Partner Contact,Alle Vertriebspartner Kontakt
All Sales Person,Alle Sales Person
All Supplier Contact,Alle Lieferanten Kontakt
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,Zuweisen
Allocate leaves for a period.,Ordnen Blätter für einen Zeitraum .
Allocate leaves for the year.,Weisen Blätter für das Jahr.
Allocated Amount,Zugeteilten Betrag
Allocated Budget,Zugeteilten Budget
Allocated amount,Zugeteilten 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,Lassen Bill of Materials
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,Erlauben Dropbox-Zugang
Allow Google Drive Access,Erlauben Sie Google Drive Zugang
Allow Negative Balance,Lassen Negative Bilanz
Allow Negative Stock,Lassen Negative Lager
Allow Production Order,Lassen Fertigungsauftrag
Allow User,Benutzer zulassen
Allow Users,Ermöglichen
Allow the following users to approve Leave Applications for block days.,Lassen Sie die folgenden Benutzer zu verlassen Anwendungen für Block Tage genehmigen.
Allow user to edit Price List Rate in transactions,Benutzer zulassen Preis List in Transaktionen bearbeiten
Allowance Percent,Allowance 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 von
Amount,Menge
Amount (Company Currency),Betrag (Gesellschaft Währung)
Amount Paid,Betrag
Amount to Bill,Belaufen sich auf Bill
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 {0}. Please make its status 'Inactive' to proceed.,"Eine andere Gehaltsstruktur {0} ist für Mitarbeiter aktiv {0}. Bitte stellen Sie ihren Status ""inaktiv"" , um fortzufahren."
"Any other comments, noteworthy effort that should go in the records.","Weitere Kommentare, bemerkenswerte Anstrengungen, die in den Aufzeichnungen gehen sollte."
Apparel & Accessories,Kleidung & Accessoires
Applicability,Anwendbarkeit
Applicable For,Anwendbar
Applicable Holiday List,Anwendbar Ferienwohnung Liste
Applicable Territory,Anwendbar Territory
Applicable To (Designation),Für (Bezeichnung)
Applicable To (Employee),Für (Employee)
Applicable To (Role),Anwendbar (Rolle)
Applicable To (User),Anwendbar auf (User)
Applicant Name,Name des Antragstellers
Applicant for a Job.,Antragsteller für einen Job.
Application of Funds (Assets),Mittelverwendung (Aktiva)
Applications for leave.,Bei Anträgen auf Urlaub.
Applies to Company,Gilt für Unternehmen
Apply On,Bewerben auf
Appraisal,Bewertung
Appraisal Goal,Bewertung Goal
Appraisal Goals,Bewertung Details
Appraisal Template,Bewertung Template
Appraisal Template Goal,Bewertung Template Goal
Appraisal Template Title,Bewertung Template 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,Approver
Approving Role,Genehmigung 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,Nachträglich 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 Lagerbestand UOM
"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 eines Lagers 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,Teilnahme seit
Attendance Details,Teilnahme Einzelheiten
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 To Date
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.,Zuschauerrekord.
Authorization Control,Authorization Control
Authorization Rule,Autorisierungsregel
Auto Accounting For Stock Settings,Auto Accounting for Stock -Einstellungen
Auto Material Request,Auto Werkstoff anfordern
Auto-raise Material Request if quantity goes below re-order level in a warehouse,"Auto-Raise Werkstoff anfordern, wenn Quantität geht unten re-order-Ebene in einer Lagerhalle"
Automatically compose message on submission of transactions.,Automatisch komponieren Nachricht auf Vorlage von Transaktionen.
Automatically extract Job Applicants from a mail box ,
Automatically extract Leads from a mail box e.g.,Extrahieren Sie automatisch Leads aus einer Mail-Box z. B.
Automatically updated via Stock Entry of type Manufacture/Repack,Automatisch über Lager Eintrag vom Typ Manufacture / Repack aktualisiert
Automotive,Automotive
Autoreply when a new mail is received,Autoreply wenn eine neue E-Mail empfangen
Available,verfügbar
Available Qty at Warehouse,Verfügbare Menge bei Warehouse
Available Stock for Packing Items,Lagerbestand für Packstücke
"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, dem Fertigungsauftrag , Bestellung, Kaufbeleg , Verkaufsrechnung , Auftrags , Stock Erfassung, Zeiterfassung"
Average Age,Durchschnittsalter
Average Commission Rate,Durchschnittliche Kommission bewerten
Average Discount,Durchschnittliche Discount
Awesome Products,ehrfürchtig Produkte
Awesome Services,ehrfürchtig Dienstleistungen
BOM Detail No,BOM Detailaufnahme
BOM Explosion Item,Stücklistenauflösung Artikel
BOM Item,Stücklistenposition
BOM No,BOM Nein
BOM No. for a Finished Good Item,BOM-Nr für Finished Gute Artikel
BOM Operation,BOM Betrieb
BOM Operations,BOM Operationen
BOM Replace Tool,BOM Replace Tool
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,BOM 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,Backup Manager
Backup Right Now,Sichern Right Now
Backups will be uploaded to,"Backups werden, die hochgeladen werden"
Balance Qty,Bilanz Menge
Balance Sheet,Bilanz
Balance Value,Bilanzwert
Balance for Account {0} must always be {1},Saldo Konto {0} muss immer {1}
Balance must be,"Gleichgewicht sein muss,"
"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.,Bank A / C Nr.
Bank Account,Bankkonto
Bank Account No.,Bank Konto-Nr
Bank Accounts,Bankkonten
Bank Clearance Summary,Bank-Ausverkauf Zusammenfassung
Bank Draft,Bank Draft
Bank Name,Name der Bank
Bank Overdraft Account,Kontokorrentkredit Konto
Bank Reconciliation,Kontenabstimmung
Bank Reconciliation Detail,Kontenabstimmung Details
Bank Reconciliation Statement,Kontenabstimmung Statement
Bank Voucher,Bankgutschein
Bank/Cash Balance,Banken / Cash Balance
Banking,Bankwesen
Barcode,Strichcode
Barcode {0} already used in Item {1},Barcode {0} bereits im Artikel verwendet {1}
Based On,Basierend auf
Basic,Grund-
Basic Info,Basic Info
Basic Information,Grundlegende Informationen
Basic Rate,Basic Rate
Basic Rate (Company Currency),Basic Rate (Gesellschaft Währung)
Batch,Stapel
Batch (lot) of an Item.,Batch (Los) eines Item.
Batch Finished Date,Batch Beendet Datum
Batch ID,Batch ID
Batch No,Batch No
Batch Started Date,Batch gestartet Datum
Batch Time Logs for billing.,Batch Zeit Logs für die Abrechnung.
Batch-Wise Balance History,Batch-Wise Gleichgewicht History
Batched for Billing,Batch für Billing
Better Prospects,Bessere Aussichten
Bill Date,Bill Datum
Bill No,Bill No
Bill No {0} already booked in Purchase Invoice {1},Bill Nein {0} bereits in Einkaufsrechnung gebucht {1}
Bill of Material,Bill of Material
Bill of Material to be considered for manufacturing,"Bill of Material, um für die Fertigung berücksichtigt werden"
Bill of Materials (BOM),Bill of Materials (BOM)
Billable,Billable
Billed,Angekündigt
Billed Amount,Rechnungsbetrag
Billed Amt,Billed Amt
Billing,Billing
Billing Address,Rechnungsadresse
Billing Address Name,Rechnungsadresse Name
Billing Status,Billing-Status
Bills raised by Suppliers.,Bills erhöht durch den Lieferanten.
Bills raised to Customers.,"Bills angehoben, um Kunden."
Bin,Kasten
Bio,Bio
Biotechnology,Biotechnologie
Birthday,Geburtstag
Block Date,Blockieren Datum
Block Days,Block Tage
Block leave applications by department.,Block verlassen Anwendungen nach Abteilung.
Blog Post,Blog Post
Blog Subscriber,Blog Subscriber
Blood Group,Blutgruppe
Both Warehouse must belong to same Company,Beide Lager müssen an derselben Gesellschaft gehören
Box,Box
Branch,Zweig
Brand,Marke
Brand Name,Markenname
Brand master.,Marke Meister.
Brands,Marken
Breakdown,Zusammenbruch
Broadcasting,Rundfunk
Brokerage,Maklergeschäft
Budget,Budget
Budget Allocated,Budget
Budget Detail,Budget Detailansicht
Budget Details,Budget Einzelheiten
Budget Distribution,Budget Verteilung
Budget Distribution Detail,Budget Verteilung Detailansicht
Budget Distribution Details,Budget Ausschüttungsinformationen
Budget Variance Report,Budget Variance melden
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.,Bundle Artikel zum Zeitpunkt des Verkaufs.
Business Development Manager,Business Development Manager
Buying,Kauf
Buying & Selling,Kaufen und Verkaufen
Buying Amount,Einkaufsführer Betrag
Buying Settings,Einkaufsführer 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-Form
C-Form Applicable,"C-Form,"
C-Form Invoice Detail,C-Form Rechnungsdetails
C-Form No,C-Form nicht
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,Berechnen Basierend auf
Calculate Total Score,Berechnen Gesamtpunktzahl
Calendar Events,Kalendereintrag
Call,Rufen
Calls,Anrufe
Campaign,Kampagne
Campaign Name,Kampagnenname
Campaign Name is required,Kampagnenname ist erforderlich
Campaign Naming By,Kampagne von Naming
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,Abgesagt
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,Capacity Units
Capital Account,Kapitalkonto
Capital Equipments,Hauptstadt -Ausrüstungen
Carry Forward,Vortragen
Carry Forwarded Leaves,Carry Weitergeleitete Leaves
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,Cash Gutschein
Cash or Bank Account is mandatory for making payment entry,Barzahlung oder Bankkonto ist für die Zahlung Eintrag
Cash/Bank Account,Cash / Bank Account
Casual Leave,Lässige Leave
Cell Number,Cell Number
Change UOM for an Item.,Ändern UOM für ein Item.
Change the starting / current sequence number of an existing series.,Ändern Sie den Start / aktuelle Sequenznummer eines bestehenden Serie.
Channel Partner,Channel Partner
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
Charity and Donations,Charity und Spenden
Chart Name,Diagrammname
Chart of Accounts,Kontenplan
Chart of Cost Centers,Abbildung von 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 es an deine E-Mail."
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Prüfen Sie, ob wiederkehrende Rechnung, deaktivieren zu stoppen wiederkehrende oder legen richtigen Enddatum"
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Überprüfen Sie, ob Sie die automatische wiederkehrende Rechnungen benötigen. Nach dem Absenden eine Rechnung über den Verkauf wird Recurring Abschnitt sichtbar sein."
Check if you want to send salary slip in mail to each employee while submitting salary slip,"Überprüfen Sie, ob Sie Gehaltsabrechnung in Mail an jeden Mitarbeiter wollen, während Einreichung Gehaltsabrechnung"
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 Sie diese Option, wenn Sie den Benutzer zwingen, eine Reihe vor dem Speichern auswählen möchten. Es wird kein Standard sein, wenn Sie dies zu überprüfen."
Check this if you want to show in website,"Aktivieren Sie diese Option, wenn Sie in der Website zeigen wollen"
Check this to disallow fractions. (for Nos),Aktivieren Sie diese verbieten Fraktionen. (Für Nos)
Check this to pull emails from your mailbox,"Aktivieren Sie diese Option, um E-Mails aus Ihrer Mailbox ziehen"
Check to activate,Überprüfen Sie aktivieren
Check to make Shipping Address,"Überprüfen Sie, Liefer-Adresse machen"
Check to make primary address,Überprüfen primäre Adresse machen
Chemical,Chemikalie
Cheque,Scheck
Cheque Date,Scheck Datum
Cheque Number,Scheck-Nummer
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,City
City/Town,Stadt / Ort
Claim Amount,Schadenhöhe
Claims for company expense.,Ansprüche für Unternehmen Kosten.
Class / Percentage,Klasse / Anteil
Classic,Klassische
Clear Table,Tabelle löschen
Clearance Date,Clearance Datum
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 &quot;Als Sales Invoice&quot;, um einen neuen Sales Invoice erstellen."
Click on a link to get options to expand get options ,
Client,Auftraggeber
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,Konto schließen Leiter
Closing Account {0} must be of type 'Liability',"Schluss Konto {0} muss vom Typ ""Haftung"" sein"
Closing Date,Einsendeschluss
Closing Fiscal Year,Schließen Geschäftsjahr
Closing Qty,Schließen Menge
Closing Value,Schlusswerte
CoA Help,CoA Hilfe
Code,Code
Cold Calling,Cold Calling
Color,Farbe
Column Break,Spaltenumbruch
Comma separated list of email addresses,Durch Komma getrennte Liste von E-Mail-Adressen
Comment,Kommentar
Comments,Kommentare
Commercial,Handels-
Commission,Provision
Commission Rate,Kommission bewerten
Commission Rate (%),Kommission Rate (%)
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,Communication HTML
Communication History,Communication History
Communication log.,Communication log.
Communications,Kommunikation
Company,Firma
Company (not Customer or Supplier) master.,Company ( nicht der Kunde oder Lieferant ) Master.
Company Abbreviation,Firmen Abkürzung
Company Details,Unternehmensprofil
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,Firmeninfo
Company Name,Firmenname
Company Settings,Gesellschaft Einstellungen
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.,Handelsregisternummer für Ihre Referenz. Beispiel: Umsatzsteuer-Identifikationsnummern usw.
Company registration numbers for your reference. Tax numbers etc.,Handelsregisternummer für Ihre Referenz. MwSt.-Nummern etc.
"Company, Month and Fiscal Year is mandatory","Unternehmen , Monat und Geschäftsjahr ist obligatorisch"
Compensatory Off,Ausgleichs Off
Complete,Vervollständigen
Complete Setup,Vollständige Setup
Completed,Fertiggestellt
Completed Production Orders,Abgeschlossene Fertigungsaufträge
Completed Qty,Abgeschlossene Menge
Completion Date,Datum der Fertigstellung
Completion Status,Completion Status
Computer,Computer
Computers,Computer
Confirmation Date,Bestätigung Datum
Confirmed orders from Customers.,Bestätigte Bestellungen von Kunden.
Consider Tax or Charge for,Betrachten Sie Steuern oder Gebühren für die
Considered as Opening Balance,Er gilt als Eröffnungsbilanz
Considered as an Opening Balance,Er gilt als einer Eröffnungsbilanz
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,Kontakt Kontrolle
Contact Desc,Kontakt Desc
Contact Details,Kontakt Details
Contact Email,Kontakt per E-Mail
Contact HTML,Kontakt HTML
Contact Info,Kontakt Info
Contact Mobile No,Kontakt Mobile Kein
Contact Name,Kontakt Name
Contact No.,Kontakt Nr.
Contact Person,Ansprechpartner
Contact Type,Kontakt Typ
Contact master.,Kontakt Master.
Contacts,Impressum
Content,Inhalt
Content Type,Content Type
Contra Voucher,Contra Gutschein
Contract,Vertrag
Contract End Date,Contract End Date
Contract End Date must be greater than Date of Joining,Vertragsende muss größer sein als Datum für Füge sein
Contribution (%),Anteil (%)
Contribution to Net Total,Beitrag zum Net Total
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 into Recurring Invoice,Konvertieren in Wiederkehrende Rechnung
Convert to Group,Konvertieren in Gruppe
Convert to Ledger,Convert to Ledger
Converted,Umgerechnet
Copy From Item Group,Kopieren von Artikel-Gruppe
Cosmetics,Kosmetika
Cost Center,Kostenstellenrechnung
Cost Center Details,Kosten Center Details
Cost Center Name,Kosten Center Name
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,Kalkulation
Country,Land
Country Name,Land Name
Country wise default Address Templates,Land weise Standardadressvorlagen
"Country, Timezone and Currency","Land , Zeitzone und Währung"
Create Bank Voucher for the total salary paid for the above selected criteria,Erstellen Bankgutschein für die Lohnsumme für die oben ausgewählten Kriterien gezahlt
Create Customer,Neues Kunden
Create Material Requests,Material anlegen Requests
Create New,Neu erstellen
Create Opportunity,erstellen Sie Gelegenheit
Create Production Orders,Erstellen Fertigungsaufträge
Create Quotation,Angebot erstellen
Create Receiver List,Erstellen Receiver Liste
Create Salary Slip,Erstellen Gehaltsabrechnung
Create Stock Ledger Entries when you submit a Sales Invoice,"Neues Lager Ledger Einträge, wenn Sie einen Sales Invoice vorlegen"
"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 die oben genannten Kriterien.
Creation Date,Erstellungsdatum
Creation Document No,Creation Dokument Nr.
Creation Document Type,Creation Dokumenttyp
Creation Time,Erstellungszeit
Credentials,Referenzen
Credit,Kredit
Credit Amt,Kredit-Amt
Credit Card,Kreditkarte
Credit Card Voucher,Credit Card Gutschein
Credit Controller,Credit Controller
Credit Days,Kredit-Tage
Credit Limit,Kreditlimit
Credit Note,Gutschrift
Credit To,Kredite an
Currency,Währung
Currency Exchange,Geldwechsel
Currency Name,Währung Name
Currency Settings,Währung Einstellungen
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 Stückliste
Current BOM and New BOM can not be same,Aktuelle Stückliste und New BOM kann nicht gleich sein
Current Fiscal Year,Laufenden Geschäftsjahr
Current Liabilities,Kurzfristige Verbindlichkeiten
Current Stock,Aktuelle Stock
Current Stock UOM,Aktuelle Stock UOM
Current Value,Aktueller Wert
Custom,Brauch
Custom Autoreply Message,Benutzerdefinierte Autoreply Nachricht
Custom Message,Custom Message
Customer,Kunde
Customer (Receivable) Account,Kunde (Forderungen) Konto
Customer / Item Name,Kunde / Item Name
Customer / Lead Address,Kunden / Lead -Adresse
Customer / Lead Name,Kunden / Lead Namen
Customer > Customer Group > Territory,Kunden> Kundengruppe> Territory
Customer Account Head,Kundenkonto Kopf
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,Customer Code
Customer Codes,Kunde Codes
Customer Details,Customer Details
Customer Feedback,Kundenfeedback
Customer Group,Customer Group
Customer Group / Customer,Kundengruppe / Kunden
Customer Group Name,Kunden Group Name
Customer Intro,Kunden Intro
Customer Issue,Das Anliegen des Kunden
Customer Issue against Serial No.,Das Anliegen des Kunden gegen Seriennummer
Customer Name,Name des Kunden
Customer Naming By,Kunden Benennen von
Customer Service,Kundenservice
Customer database.,Kunden-Datenbank.
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 Item Code
Customer's Purchase Order Date,Bestellung des Kunden Datum
Customer's Purchase Order No,Bestellung des Kunden keine
Customer's Purchase Order Number,Kundenauftragsnummer
Customer's Vendor,Kunden Hersteller
Customers Not Buying Since Long Time,Kunden Kaufen nicht seit langer Zeit
Customerwise Discount,Customerwise Discount
Customize,anpassen
Customize the Notification,Passen Sie die Benachrichtigung
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,"Passen Sie den einleitenden Text, der als Teil der E-Mail geht. Jede Transaktion hat einen separaten einleitenden Text."
DN Detail,DN Detailansicht
Daily,Täglich
Daily Time Log Summary,Täglich Log Zusammenfassung
Database Folder ID,Database Folder ID
Database of potential customers.,Datenbank von potentiellen Kunden.
Date,Datum
Date Format,Datumsformat
Date Of Retirement,Datum 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 Ausgabe
Date of Joining,Datum der Verbindungstechnik
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 Lastwagen startete von Lieferantenlager"
Date on which lorry started from your warehouse,"Datum, an dem Lkw begann von Ihrem Lager"
Dates,Termine
Days Since Last Order,Tage seit dem letzten Auftrag
Days for which Holidays are blocked for this department.,"Tage, für die Feiertage sind für diese Abteilung blockiert."
Dealer,Händler
Debit,Soll
Debit Amt,Debit Amt
Debit Note,Lastschrift
Debit To,Debit Um
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,Abzug Typ
Deduction1,Deduction1
Deductions,Abzüge
Default,Default
Default Account,Default-Konto
Default Address Template cannot be deleted,Standard-Adressvorlage kann nicht gelöscht werden
Default Amount,Standard-Betrag
Default BOM,Standard BOM
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,"Standard Bank / Cash-Konto werden automatisch in POS Rechnung aktualisiert werden, wenn dieser Modus ausgewählt ist."
Default Bank Account,Standard Bank Account
Default Buying Cost Center,Standard Buying Kostenstelle
Default Buying Price List,Standard Kaufpreisliste
Default Cash Account,Standard Cashkonto
Default Company,Standard Unternehmen
Default Currency,Standardwährung
Default Customer Group,Standard Customer Group
Default Expense Account,Standard Expense Konto
Default Income Account,Standard Income Konto
Default Item Group,Standard Element Gruppe
Default Price List,Standard Preisliste
Default Purchase Account in which cost of the item will be debited.,Standard Purchase Konto in dem Preis des Artikels wird abgebucht.
Default Selling Cost Center,Standard- Selling Kostenstelle
Default Settings,Default Settings
Default Source Warehouse,Default Source Warehouse
Default Stock UOM,Standard Lager UOM
Default Supplier,Standard Lieferant
Default Supplier Type,Standard Lieferant Typ
Default Target Warehouse,Standard Ziel Warehouse
Default Territory,Standard Territory
Default Unit of Measure,Standard-Maß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 Valuation Method
Default Warehouse,Standard Warehouse
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>","Definieren Budget für diese Kostenstelle. Um Budget Aktion finden Sie unter <a href=""#!List/Company""> Firma Master </ a>"
Del,löschen
Delete,Löschen
Delete {0} {1}?,Löschen {0} {1} ?
Delivered,Lieferung
Delivered Items To Be Billed,Liefergegenstände in Rechnung gestellt werden
Delivered Qty,Geliefert Menge
Delivered Serial No {0} cannot be deleted,Geliefert Seriennummer {0} kann nicht gelöscht werden
Delivery Date,Liefertermin
Delivery Details,Anlieferungs-Details
Delivery Document No,Lieferung Dokument Nr.
Delivery Document Type,Lieferung Document Type
Delivery Note,Lieferschein
Delivery Note Item,Lieferscheinposition
Delivery Note Items,Lieferscheinpositionen
Delivery Note Message,Lieferschein Nachricht
Delivery Note No,Lieferschein Nein
Delivery Note Required,Lieferschein erforderlich
Delivery Note Trends,Lieferschein Trends
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,Liefern nach
Department,Abteilung
Department Stores,Kaufhäuser
Depends on LWP,Abhängig von LWP
Depreciation,Abschreibung
Description,Beschreibung
Description HTML,Beschreibung HTML
Designation,Bezeichnung
Designer,Konstrukteur
Detailed Breakup of the totals,Detaillierte Breakup 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,Deaktivieren Abgerundete insgesamt
Disabled,Behindert
Discount  %,Discount%
Discount %,Discount%
Discount (%),Rabatt (%)
Discount Amount,Discount Amount
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Discount Felder werden in der Bestellung, Kaufbeleg Kauf Rechnung verfügbar"
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 anzeigen die einzelnen Punkte mit den wichtigsten Liefergegenstände
Distribute transport overhead across items.,Verteilen Transport-Overhead auf Gegenstände.
Distribution,Aufteilung
Distribution Id,Verteilung Id
Distribution Name,Namen der Distribution
Distributor,Verteiler
Divorced,Geschieden
Do Not Contact,Nicht berühren
Do not show any symbol like $ etc next to currencies.,Zeigen keine Symbol wie $ etc neben Währungen.
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,Doc Namen
Doc Type,Doc Type
Document Description,Document Beschreibung
Document Type,Document Type
Documents,Unterlagen
Domain,Domain
Don't send Employee Birthday Reminders,Senden Sie keine Mitarbeitergeburtstagserinnerungen
Download Materials Required,Herunterladen benötigte Materialien
Download Reconcilation Data,Laden Versöhnung Daten
Download Template,Vorlage herunterladen
Download a report containing all raw materials with their latest inventory status,Laden Sie einen Bericht mit allen Rohstoffen mit ihren neuesten Inventar Status
"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","Laden Sie die Vorlage, füllen entsprechenden Daten und befestigen Sie die geänderte Datei.
 Alle Termine und Mitarbeiter-Kombination in der gewünschten Zeit wird in der Vorlage zu kommen, mit den bestehenden Besucherrekorde"
Draft,Entwurf
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox-Zugang erlaubt
Dropbox Access Key,Dropbox Access Key
Dropbox Access Secret,Dropbox Zugang Geheimnis
Due Date,Due Date
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,Earning
Earning & Deduction,Earning & Abzug
Earning Type,Earning Typ
Earning1,Earning1
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,Educational Qualifikation
Educational Qualification Details,Educational Qualifikation Einzelheiten
Eg. smsgateway.com/api/send_sms.cgi,Eg. 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,Email Digest
Email Digest Settings,Email Digest Einstellungen
Email Digest: ,
Email Id,Email Id
"Email Id where a job applicant will email e.g. ""jobs@example.com""","Email Id, wo ein Bewerber beispielsweise per E-Mail wird ""Jobs@example.com"""
Email Notifications,E-Mail- Benachrichtigungen
Email Sent?,E-Mail gesendet?
"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 Komma getrennt.
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""","E-Mail-Einstellungen zu extrahieren Leads aus dem Verkauf email id zB ""Sales@example.com"""
Emergency Contact,Notfallkontakt
Emergency Contact Details,Notfall Kontakt
Emergency Phone,Notruf
Employee,Mitarbeiter
Employee Birthday,Angestellter Geburtstag
Employee Details,Mitarbeiterdetails
Employee Education,Mitarbeiterschulung
Employee External Work History,Mitarbeiter Externe Arbeit Geschichte
Employee Information,Employee Information
Employee Internal Work History,Mitarbeiter Interner Arbeitsbereich Geschichte
Employee Internal Work Historys,Mitarbeiter Interner Arbeitsbereich Historys
Employee Leave Approver,Mitarbeiter Leave Approver
Employee Leave Balance,Mitarbeiter Leave Bilanz
Employee Name,Name des Mitarbeiters
Employee Number,Mitarbeiternummer
Employee Records to be created by,Mitarbeiter Records erstellt werden
Employee Settings,Mitarbeitereinstellungen
Employee Type,Arbeitnehmertyp
"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.,Mitarbeiter-Datensä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 Email Id
Employment Details,Beschäftigung Einzelheiten
Employment Type,Beschäftigungsart
Enable / disable currencies.,Aktivieren / Deaktivieren der Währungen.
Enabled,Aktiviert
Encashment Date,Inkasso Datum
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 Rechnung der Zeit
End of Life,End of Life
Energy,Energie
Engineer,Ingenieur
Enter Verification Code,Sicherheitscode eingeben
Enter campaign name if the source of lead is campaign.,"Geben Sie Namen der Kampagne, wenn die Quelle von Blei-Kampagne."
Enter department to which this Contact belongs,"Geben Abteilung, auf die diese Kontakt gehört"
Enter designation of this Contact,Geben Bezeichnung dieser Kontakt
"Enter email id separated by commas, invoice will be mailed automatically on particular date","Geben Sie E-Mail-ID durch Kommata getrennt, wird Rechnung automatisch auf bestimmte Zeitpunkt zugeschickt"
Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,Geben Sie die Posten und geplante Menge für die Sie Fertigungsaufträge erhöhen oder downloaden Rohstoffe für die Analyse.
Enter name of campaign if source of enquiry is campaign,"Geben Sie den Namen der Kampagne, wenn die Quelle der Anfrage ist Kampagne"
"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Geben Sie statischen URL-Parameter hier (Bsp. sender = ERPNext, username = ERPNext, password = 1234 etc.)"
Enter the company name under which Account Head will be created for this Supplier,"Geben Sie den Namen des Unternehmens, unter denen Konto Leiter für diesen Lieferant erstellt werden"
Enter url parameter for message,Geben Sie URL-Parameter für die Nachrichtenübertragung
Enter url parameter for receiver nos,Geben Sie URL-Parameter für Empfänger nos
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.,"Die Einträge sind nicht gegen diese Geschäftsjahr zulässig, wenn die Jahre geschlossen ist."
Equity,Gerechtigkeit
Error: {0} > {1},Fehler: {0}> {1}
Estimated Material Cost,Geschätzter Materialkalkulationen
"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.",". Beispiel: ABCD # # # # # 
 Wenn Serie ist eingestellt und Seriennummer ist nicht in Transaktionen erwähnt, wird dann automatisch die Seriennummer auf der Basis dieser Serie erstellt werden. Wenn Sie wollen immer ausdrücklich erwähnt, Seriennummern zu diesem Artikel. lassen Sie dieses Feld leer."
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,Excise Page Number
Excise Voucher,Excise Gutschein
Execution,Ausführung
Executive Search,Executive Search
Exemption Limit,Freigrenze
Exhibition,Ausstellung
Existing Customer,Bestehende Kunden
Exit,Verlassen
Exit Interview Details,Verlassen Interview Einzelheiten
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,Erwartete Enddatum
Expected Start Date,Frühestes Eintrittsdatum
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,Expense Konto
Expense Account is mandatory,Expense Konto ist obligatorisch
Expense Claim,Expense Anspruch
Expense Claim Approved,Expense Anspruch Genehmigt
Expense Claim Approved Message,Expense Anspruch Genehmigt Nachricht
Expense Claim Detail,Expense Anspruch Details
Expense Claim Details,Expense Anspruch Einzelheiten
Expense Claim Rejected,Expense Antrag abgelehnt
Expense Claim Rejected Message,Expense Antrag abgelehnt Nachricht
Expense Claim Type,Expense Anspruch Type
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,Expense Datum
Expense Details,Expense Einzelheiten
Expense Head,Expense Leiter
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,Aufwand gebucht
Expenses Included In Valuation,Aufwendungen enthalten In Bewertungstag
Expenses booked for the digest period,Aufwendungen für den gebuchten Zeitraum Digest
Expiry Date,Verfallsdatum
Exports,Ausfuhr
External,Extern
Extract Emails,Auszug Emails
FCFS Rate,FCFS Rate
Failed: ,Failed:
Family Background,Familiärer Hintergrund
Fax,Fax
Features Setup,Features Setup
Feed,Füttern
Feed Type,Eingabetyp
Feedback,Rückkopplung
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, Sales Invoice, Sales Order"
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 basierend auf Kunden-
Filter based on item,Filtern basierend auf Artikel
Financial / accounting year.,Finanz / Rechnungsjahres.
Financial Analytics,Financial Analytics
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,Zunächst reagierte 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
Fixed Asset,Fixed Asset
Fixed Assets,Anlagevermögen
Follow via Email,Folgen Sie via E-Mail
"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.","Folgende Tabelle zeigt Werte, wenn Artikel sub sind - vergeben werden. Vertragsgegenständen - Diese Werte werden vom Meister der ""Bill of Materials"" von Sub geholt werden."
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 Employee Name
For Price List,Für Preisliste
For Production,For Production
For Reference Only.,Nur als Referenz.
For Sales Invoice,Für Sales Invoice
For Server Side Print Formats,Für Server Side Druckformate
For Supplier,für Lieferanten
For Warehouse,Für Warehouse
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,Als Referenz
For reference only.,Nur als Referenz.
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Für die Bequemlichkeit der Kunden, können diese Codes in Druckformate wie Rechnungen und Lieferscheine werden"
Fraction,Bruchteil
Fraction Units,Fraction Units
Freeze Stock Entries,Frieren Lager Einträge
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 Bill of Materials
From Company,Von Unternehmen
From Currency,Von Währung
From Currency and To Currency cannot be same,Von Währung und To Währung dürfen nicht identisch 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 Laufenden bleiben
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,Von Lieferschein
From Employee,Von Mitarbeiter
From Lead,Von Blei
From Maintenance Schedule,Vom Wartungsplan
From Material Request,Von Materialanforderung
From Opportunity,von der Chance
From Package No.,Von Package No
From Purchase Order,Von Bestellung
From Purchase Receipt,Von Kaufbeleg
From Quotation,von Zitat
From Sales Order,Von Sales Order
From Supplier Quotation,Von Lieferant Zitat
From Time,From Time
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,Erfüllte
Full Name,Vollständiger Name
Full-time,Vollzeit-
Fully Billed,Voll Angekündigt
Fully Completed,Vollständig ausgefüllte
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,GL Eintrag
Gantt Chart,Gantt Chart
Gantt chart of all tasks.,Gantt-Diagramm aller Aufgaben.
Gender,Geschlecht
General,General
General Ledger,General Ledger
Generate Description HTML,Generieren Beschreibung HTML
Generate Material Requests (MRP) and Production Orders.,Generieren Werkstoff Requests (MRP) und Fertigungsaufträge.
Generate Salary Slips,Generieren Gehaltsabrechnungen
Generate Schedule,Generieren Zeitplan
Generates HTML to include selected image in the description,Erzeugt HTML ausgewählte Bild sind in der Beschreibung
Get Advances Paid,Holen Geleistete
Get Advances Received,Holen Erhaltene Anzahlungen
Get Current Stock,Holen Aktuelle Stock
Get Items,Holen Artikel
Get Items From Sales Orders,Holen Sie Angebote aus Kundenaufträgen
Get Items from BOM,Holen Sie Angebote von Stücklisten
Get Last Purchase Rate,Get Last Purchase Rate
Get Outstanding Invoices,Holen Ausstehende Rechnungen
Get Relevant Entries,Holen Relevante Einträge
Get Sales Orders,Holen Sie Kundenaufträge
Get Specification Details,Holen Sie Ausschreibungstexte
Get Stock and Rate,Holen Sie Stock und bewerten
Get Template,Holen Template
Get Terms and Conditions,Holen AGB
Get Unreconciled Entries,Holen Nicht abgestimmte Einträge
Get Weekly Off Dates,Holen Weekly Off Dates
"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.","Holen Bewertungskurs und verfügbaren Bestand an der Quelle / Ziel-Warehouse am genannten Buchungsdatum-Zeit. Wenn serialisierten Objekt, drücken Sie bitte diese Taste nach Eingabe der Seriennummern nos."
Global Defaults,Globale Defaults
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.,Wareneingang vom Lieferanten.
Google Drive,Google Drive
Google Drive Access Allowed,Google Drive Zugang erlaubt
Government,Regierung
Graduate,Absolvent
Grand Total,Grand Total
Grand Total (Company Currency),Grand Total (Gesellschaft Währung)
"Grid ""","Grid """
Grocery,Lebensmittelgeschäft
Gross Margin %,Gross Margin%
Gross Margin Value,Gross Margin Wert
Gross Pay,Gross Pay
Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,Gross Pay + nachträglich Betrag + Inkasso Betrag - Total Abzug
Gross Profit,Bruttogewinn
Gross Profit (%),Gross Profit (%)
Gross Weight,Bruttogewicht
Gross Weight UOM,Bruttogewicht UOM
Group,Gruppe
Group by Account,Gruppe von Konto
Group by Voucher,Gruppe von Gutschein
Group or Ledger,Gruppe oder Ledger
Groups,Gruppen
HR Manager,HR -Manager
HR Settings,HR-Einstellungen
HTML / Banner that will show on the top of product list.,"HTML / Banner, die auf der Oberseite des Produkt-Liste zeigen."
Half Day,Half Day
Half Yearly,Halbjahresfinanzbericht
Half-yearly,Halbjährlich
Happy Birthday!,Happy Birthday!
Hardware,Hardware
Has Batch No,Hat Batch No
Has Child Node,Hat Child Node
Has Serial No,Hat Serial No
Head of Marketing and Sales,Leiter Marketing und Vertrieb
Header,Kopfzeile
Health Care,Health Care
Health Concerns,Gesundheitliche Bedenken
Health Details,Gesundheit Details
Held On,Hielt
Help HTML,Helfen Sie HTML
"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Hilfe: Um zu einem anderen Datensatz im System zu verknüpfen, verwenden Sie &quot;# Form / Note / [Anmerkung Name]&quot;, wie der Link URL. (Verwenden Sie nicht &quot;http://&quot;)"
"Here you can maintain family details like name and occupation of parent, spouse and children","Hier können Sie pflegen Familie Details wie Name und Beruf der Eltern, Ehepartner und Kinder"
"Here you can maintain height, weight, allergies, medical concerns etc","Hier können Sie pflegen Größe, Gewicht, Allergien, medizinischen Bedenken etc"
Hide Currency Symbol,Ausblenden Währungssymbol
High,Hoch
History In Company,Geschichte Im Unternehmen
Hold,Halten
Holiday,Urlaub
Holiday List,Ferienwohnung Liste
Holiday List Name,Ferienwohnung Name
Holiday master.,Ferien Master.
Holidays,Ferien
Home,Zuhause
Host,Gastgeber
"Host, Email and Password required if emails are to be pulled","Host, E-Mail und Passwort erforderlich, wenn E-Mails gezogen werden"
Hour,Stunde
Hour Rate,Hour Rate
Hour Rate Labour,Hour Rate Labour
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 gesetzt, verwenden Standardeinstellungen des Systems"
Human Resources,Human Resources
Identification of the package for the delivery (for print),Identifikation des Pakets für die Lieferung (für den Druck)
If Income or Expense,Wenn Ertrags-oder Aufwandsposten
If Monthly Budget Exceeded,Wenn Monthly Budget überschritten
"If Sale BOM is defined, the actual BOM of the Pack is displayed as table. Available in Delivery Note and Sales Order","Wenn Sale Stückliste definiert ist, wird die tatsächliche Stückliste des Pack als Tabelle angezeigt. Erhältlich in Lieferschein und Sales Order"
"If Supplier Part Number exists for given Item, it gets stored here","Wenn der Lieferant Teilenummer existiert für bestimmte Artikel, wird es 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 Stückliste Baugruppe Artikel für immer Rohstoff betrachtet werden. Andernfalls werden alle Unterbaugruppe Elemente als Ausgangsmaterial behandelt werden."
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Wenn aktiviert, insgesamt nicht. der Arbeitstage zählen Ferien, und dies wird den Wert der Gehalt pro Tag zu reduzieren"
"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 Print Rate / Print Menge aufgenommen werden"
If different than customer address,Wenn anders als Kundenadresse
"If disable, 'Rounded Total' field will not be visible in any transaction",Wenn deaktivieren &#39;Abgerundete Total&#39; Feld nicht in einer Transaktion sichtbar
"If enabled, the system will post accounting entries for inventory automatically.","Wenn aktiviert, wird das System Buchungsposten für Inventar automatisch erstellen."
If more than one package of the same type (for print),Wenn mehr als ein Paket des gleichen Typs (print)
"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 applicable please enter: NA,"Soweit dies nicht zutrifft, geben Sie bitte: NA"
"If not checked, the list will have to be added to each Department where it has to be applied.","Falls nicht, wird die Liste müssen auf jeden Abteilung, wo sie angewendet werden hinzugefügt werden."
"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 ein Kunde, Lieferant oder Mitarbeiter, stellen Sie es hier."
"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 Sales Team und Verkauf Partners (Channel Partners) sie markiert werden können und pflegen ihren Beitrag in der Vertriebsaktivitäten
"If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.","Wenn Sie ein Standard-Template in Kauf Steuern und Abgaben Meister erstellt haben, wählen Sie eine aus und klicken Sie auf den Button unten."
"If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.","Wenn Sie ein Standard-Template in Sales Steuern und Abgaben Meister erstellt haben, wählen Sie eine aus und klicken Sie auf den Button unten."
"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 drucken, haben Formate, kann diese Funktion dazu verwendet, um die Seite auf mehreren Seiten mit allen Kopf-und Fußzeilen auf jeder Seite gedruckt werden"
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,Bild anzeigen
Implementation Partner,Implementation Partner
Import Attendance,Import Teilnahme
Import Failed!,Import fehlgeschlagen !
Import Log,Import-Logbuch
Import Successful!,Importieren Sie erfolgreich!
Imports,Imports
In Hours,In Stunden
In Process,In Process
In Qty,Menge
In Value,Wert bei
In Words,In Worte
In Words (Company Currency),In Words (Gesellschaft Währung)
In Words (Export) will be visible once you save the Delivery Note.,"In Words (Export) werden sichtbar, sobald Sie den Lieferschein zu speichern."
In Words will be visible once you save the Delivery Note.,"In Worte sichtbar sein wird, sobald Sie den Lieferschein zu speichern."
In Words will be visible once you save the Purchase Invoice.,"In Worte sichtbar sein wird, wenn Sie den Kaufbeleg speichern."
In Words will be visible once you save the Purchase Order.,"In Worte sichtbar sein wird, wenn Sie die Bestellung zu speichern."
In Words will be visible once you save the Purchase Receipt.,"In Worte sichtbar sein wird, wenn Sie den Kaufbeleg speichern."
In Words will be visible once you save the Quotation.,"In Worte sichtbar sein wird, sobald Sie das Angebot zu speichern."
In Words will be visible once you save the Sales Invoice.,"In Worte sichtbar sein wird, sobald Sie das Sales Invoice speichern."
In Words will be visible once you save the Sales Order.,"In Worte sichtbar sein wird, sobald Sie den Sales Order zu speichern."
Incentives,Incentives
Include Reconciled Entries,Fügen versöhnt Einträge
Include holidays in Total no. of Working Days,Fügen Sie Urlaub in Summe nicht. der Arbeitstage
Income,Einkommen
Income / Expense,Erträge / Aufwendungen
Income Account,Income Konto
Income Booked,Erträge gebucht
Income Tax,Einkommensteuer
Income Year to Date,Income Jahr bis Datum
Income booked for the digest period,Erträge gebucht für die Auszugsperiodeninformation
Incoming,Eingehende
Incoming Rate,Incoming Rate
Incoming quality inspection.,Eingehende Qualitätskontrolle.
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,Einzelne
Industry,Industrie
Industry Type,Industry Typ
Inspected By,Geprüft von
Inspection Criteria,Prüfkriterien
Inspection Required,Inspektion erforderlich
Inspection Type,Prüfart
Installation Date,Installation Date
Installation Note,Installation Hinweis
Installation Note Item,Installation Hinweis Artikel
Installation Note {0} has already been submitted,Installation Hinweis {0} wurde bereits eingereicht
Installation Status,Installation Status
Installation Time,Installation Time
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.,Installation Rekord für eine Seriennummer
Installed Qty,Installierte Anzahl
Instructions,Anleitung
Integrate incoming support emails to Support Ticket,Integrieren eingehende Support- E-Mails an Ticket-Support
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,Inventar
Inventory & Support,Inventar & Support
Investment Banking,Investment Banking
Investments,Investments
Invoice Date,Rechnungsdatum
Invoice Details,Rechnungsdetails
Invoice No,Rechnungsnummer
Invoice Number,Rechnungsnummer
Invoice Period From,Rechnungszeitraum Von
Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Rechnung Zeitraum ab Rechnungszeitraumum Pflichtterminefür wiederkehrende Rechnung
Invoice Period To,Rechnungszeitraum auf
Invoice Type,Rechnungstyp
Invoice/Journal Voucher Details,Rechnung / Journal Gutschein-Details
Invoiced Amount (Exculsive Tax),Rechnungsbetrag ( Exculsive MwSt.)
Is Active,Aktiv ist
Is Advance,Ist Advance
Is Cancelled,Wird abgebrochen
Is Carry Forward,Ist Carry Forward
Is Default,Ist Standard
Is Encash,Ist einlösen
Is Fixed Asset Item,Ist Posten des Anlagevermögens
Is LWP,Ist LWP
Is Opening,Eröffnet
Is Opening Entry,Öffnet Eintrag
Is POS,Ist POS
Is Primary Contact,Ist Hauptansprechpartner
Is Purchase Item,Ist Kaufsache
Is Sales Item,Ist Verkaufsartikel
Is Service Item,Ist Service Item
Is Stock Item,Ist Stock Item
Is Sub Contracted Item,Ist Sub Vertragsgegenstand
Is Subcontracted,Ist Fremdleistungen
Is this Tax included in Basic Rate?,Wird diese Steuer in Basic Rate inbegriffen?
Issue,Ausgabe
Issue Date,Issue Date
Issue Details,Issue Details
Issued Items Against Production Order,Ausgestellt Titel Against Fertigungsauftrag
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 Advanced,Erweiterte Artikel
Item Barcode,Barcode Artikel
Item Batch Nos,In Batch Artikel
Item Code,Item Code
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,Artikel Kundenrezensionen
Item Description,Artikelbeschreibung
Item Desription,Artikel Desription
Item Details,Artikeldetails
Item Group,Artikel-Gruppe
Item Group Name,Artikel Group Name
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,Details Gruppen in Artikel
Item Image (if not slideshow),Item Image (wenn nicht Diashow)
Item Name,Item Name
Item Naming By,Artikel Benennen von
Item Price,Artikel Preis
Item Prices,Produkt Preise
Item Quality Inspection Parameter,Qualitätsprüfung Artikel Parameter
Item Reorder,Artikel Reorder
Item Serial No,Artikel Serial In
Item Serial Nos,Artikel Serial In
Item Shortage Report,Artikel Mangel Bericht
Item Supplier,Artikel Lieferant
Item Supplier Details,Artikel Supplier Details
Item Tax,MwSt. Artikel
Item Tax Amount,Artikel Steuerbetrag
Item Tax Rate,Artikel Tax Rate
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,Artikel Tax1
Item To Manufacture,Artikel in der Herstellung
Item UOM,Artikel UOM
Item Website Specification,Artikelbeschreibung Webseite
Item Website Specifications,Artikel Spezifikationen Webseite
Item Wise Tax Detail,Artikel Wise Tax -Detail
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 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,Artikel hergestellt oder umgepackt werden
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 werden.
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.","Artikel, Garantie, wird AMC (Annual Maintenance Contract) Details werden automatisch abgerufen Wenn Serial Number ausgewählt ist."
Item-wise Price List Rate,Artikel weise Preis List
Item-wise Purchase History,Artikel-wise Kauf-Historie
Item-wise Purchase Register,Artikel-wise Kauf Register
Item-wise Sales History,Artikel-wise Vertrieb Geschichte
Item-wise Sales Register,Artikel-wise Vertrieb Registrieren
"Item: {0} managed batch-wise, can not be reconciled using \
					Stock Reconciliation, instead use Stock Entry","Item: {0} verwaltet chargenweise, kann nicht in Einklang gebracht werden mit \
 Auf Versöhnung, verwenden Sie stattdessen Lizenz Eintrag"
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","Welche Gegenstände werden gebeten, sich ""Out of Stock"" unter Berücksichtigung aller Hallen auf projizierte minimale Bestellmenge und Menge der Basis"
Items which do not exist in Item master can also be entered on customer's request,"Gegenstände, die nicht in Artikelstammdaten nicht existieren kann auch auf Wunsch des Kunden eingegeben werden"
Itemwise Discount,Discount Itemwise
Itemwise Recommended Reorder Level,Itemwise Empfohlene Meldebestand
Job Applicant,Job Applicant
Job Opening,Stellenangebot
Job Profile,Job- Profil
Job Title,Berufsbezeichnung
"Job profile, qualifications required etc.","Job -Profil erforderlich , Qualifikationen usw."
Jobs Email Settings,Jobs per E-Mail Einstellungen
Journal Entries,Journal Entries
Journal Entry,Journal Entry
Journal Voucher,Journal Gutschein
Journal Voucher Detail,Journal Voucher Detail
Journal Voucher Detail No,In Journal Voucher Detail
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 a track of communication related to this enquiry which will help for future reference.,"Verfolgen Sie die Kommunikation im Zusammenhang mit dieser Untersuchung, die für zukünftige Referenz helfen."
Keep it web friendly 900px (w) by 100px (h),Halten Sie es freundliche Web- 900px (w) von 100px ( h)
Key Performance Area,Key Performance Area
Key Responsibility Area,Key Responsibility Bereich
Kg,kg
LR Date,LR Datum
LR No,In LR
Label,Etikett
Landed Cost Item,Landed Cost Artikel
Landed Cost Items,Landed Cost Artikel
Landed Cost Purchase Receipt,Landed Cost Kaufbeleg
Landed Cost Purchase Receipts,Landed Cost Kaufbelege
Landed Cost Wizard,Landed Cost Wizard
Landed Cost updated successfully,Landed Cost erfolgreich aktualisiert
Language,Sprache
Last Name,Nachname
Last Purchase Rate,Last Purchase Rate
Latest,neueste
Lead,Führen
Lead Details,Blei Einzelheiten
Lead Id,Lead- Id
Lead Name,Name der Person
Lead Owner,Blei Owner
Lead Source,Blei Quelle
Lead Status,Lead-Status
Lead Time Date,Lead Time Datum
Lead Time Days,Lead Time 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.,"Lead Time Tage ist die Anzahl der Tage, um die diesen Artikel in Ihrem Lager zu erwarten ist. Diese geholt Tage in Material anfordern Wenn Sie diese Option auswählen."
Lead Type,Bleisatz
Lead must be set if Opportunity is made from Lead,"Blei muss eingestellt werden, wenn Gelegenheit ist aus Blei hergestellt werden"
Leave Allocation,Lassen Allocation
Leave Allocation Tool,Lassen Allocation-Tool
Leave Application,Lassen Anwendung
Leave Approver,Lassen Approver
Leave Approvers,Lassen genehmigende
Leave Balance Before Application,Lassen Vor Saldo Anwendung
Leave Block List,Lassen Block List
Leave Block List Allow,Lassen Lassen Block List
Leave Block List Allowed,Lassen Sie erlaubt Block List
Leave Block List Date,Lassen Block List Datum
Leave Block List Dates,Lassen Block List Termine
Leave Block List Name,Lassen Blockieren Name
Leave Blocked,Lassen Blockierte
Leave Control Panel,Lassen Sie Control Panel
Leave Encashed?,Lassen eingelöst?
Leave Encashment Amount,Lassen Einlösung Betrag
Leave Type,Lassen Typ
Leave Type Name,Lassen Typ Name
Leave Without Pay,Unbezahlten 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 Mitarbeiter Typen betrachtet"
"Leave can be approved by users with Role, ""Leave Approver""","Kann von Benutzern mit Role zugelassen zu verlassen, ""Leave Approver"""
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,Hauptbuch
Ledgers,Ledger
Left,Links
Legal,Rechts-
Legal Expenses,Anwaltskosten
Letter Head,Briefkopf
Letter Heads for print templates.,Schreiben Köpfe für Druckvorlagen .
Level,Ebene
Lft,Lft
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.,Diese Liste Artikel bilden das Paket.
List this Item in multiple groups on the website.,Liste Diesen Artikel in mehrere Gruppen auf der Website.
"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
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,Verlorene Reason
Low,Gering
Lower Income,Lower Income
MTN Details,MTN Einzelheiten
Main,Main
Main Reports,Haupt-Reports
Maintain Same Rate Throughout Sales Cycle,Pflegen gleichen Rate Während Sales Cycle
Maintain same rate throughout purchase cycle,Pflegen gleichen Rate gesamten Kauf-Zyklus
Maintenance,Wartung
Maintenance Date,Wartung Datum
Maintenance Details,Wartung Einzelheiten
Maintenance Schedule,Wartungsplan
Maintenance Schedule Detail,Wartungsplan Details
Maintenance Schedule Item,Wartungsplan Artikel
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,Wartung Zeit
Maintenance Type,Wartung Type
Maintenance Visit,Wartung Besuch
Maintenance Visit Purpose,Wartung Visit 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,Major / Wahlfächer
Make ,
Make Accounting Entry For Every Stock Movement,Machen Accounting Eintrag für jede Lagerbewegung
Make Bank Voucher,Machen Bankgutschein
Make Credit Note,Machen Gutschrift
Make Debit Note,Machen Lastschrift
Make Delivery,machen Liefer
Make Difference Entry,Machen Difference Eintrag
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,Nehmen Sie sich Zeit Log Batch
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,Verwalten Kosten der Operationen
Management,Management
Manager,Manager
"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.","Obligatorisch, wenn Lager Artikel ist &quot;Ja&quot;. Auch die Standard-Lager, wo reservierte Menge von Sales Order eingestellt ist."
Manufacture against Sales Order,Herstellung gegen Sales Order
Manufacture/Repack,Herstellung / Repack
Manufactured Qty,Hergestellt Menge
Manufactured quantity will be updated in this warehouse,Menge hergestellt werden in diesem Lager aktualisiert werden
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,Herstellung
Manufacturing Quantity,Fertigung Menge
Manufacturing Quantity is mandatory,Fertigungsmengeist obligatorisch
Margin,Marge
Marital Status,Familienstand
Market Segment,Market Segment
Marketing,Marketing
Marketing Expenses,Marketingkosten
Married,Verheiratet
Mass Mailing,Mass Mailing
Master Name,Master Name
Master Name is mandatory if account type is Warehouse,"Meister -Name ist obligatorisch, wenn Kontotyp Warehouse"
Master Type,Master Type
Masters,Masters
Match non-linked Invoices and Payments.,Spiel nicht verknüpften Rechnungen und Zahlungen.
Material Issue,Material Issue
Material Receipt,Material Receipt
Material Request,Material anfordern
Material Request Detail No,Material anfordern Im Detail
Material Request For Warehouse,Material Request For Warehouse
Material Request Item,Material anfordern Artikel
Material Request Items,Material anfordern Artikel
Material Request No,Material anfordern On
Material Request Type,Material Request Type
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,"Material anfordern verwendet, um dieses Lager Eintrag machen"
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,Material Requirement
Material Transfer,Material Transfer
Materials,Materialien
Materials Required (Exploded),Benötigte Materialien (Explosionszeichnung)
Max 5 characters,Max 5 Zeichen
Max Days Leave Allowed,Max Leave Tage erlaubt
Max Discount (%),Discount Max (%)
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,Medium
"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,Nachricht Parameter
Message Sent,Nachricht gesendet
Message updated,Nachricht aktualisiert
Messages,Nachrichten
Messages greater than 160 characters will be split into multiple messages,Größer als 160 Zeichen Nachricht in mehrere mesage aufgeteilt werden
Middle Income,Middle Income
Milestone,Meilenstein
Milestone Date,Milestone Datum
Milestones,Meilensteine
Milestones will be added as Events in the Calendar,Meilensteine ​​werden die Veranstaltungen in der hinzugefügt werden
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,Minimale Bestellmenge
Minute,Minute
Misc Details,Misc Einzelheiten
Miscellaneous Expenses,Sonstige Aufwendungen
Miscelleneous,Miscelleneous
Mobile No,In Mobile
Mobile No.,Handy Nr.
Mode of Payment,Zahlungsweise
Modern,Moderne
Monday,Montag
Month,Monat
Monthly,Monatlich
Monthly Attendance Sheet,Monatliche Anwesenheitsliste
Monthly Earning & Deduction,Monatlichen Einkommen &amp; Abzug
Monthly Salary Register,Monatsgehalt Register
Monthly salary statement.,Monatsgehalt Aussage.
More Details,Mehr Details
More Info,Mehr Info
Motion Picture & Video,Motion Picture & Video
Moving Average,Moving Average
Moving Average Rate,Moving Average Rate
Mr,Herr
Ms,Ms
Multiple Item prices.,Mehrere Artikelpreise .
"Multiple Price Rule exists with same criteria, please resolve \
			conflict by assigning priority. Price Rules: {0}","Mehrere Price Rule mit gleichen Kriterien gibt, lösen Sie bitte \
 Konflikt durch Zuweisung Priorität. Preis Regeln: {0}"
Music,Musik
Must be Whole Number,Muss ganze Zahl sein
Name,Name
Name and Description,Name und Beschreibung
Name and Employee ID,Name und Employee ID
"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 Organisation, dass diese Adresse gehört."
Name of the Budget Distribution,Name der Verteilung Budget
Naming Series,Benennen Series
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,Net Pay
Net Pay (in words) will be visible once you save the Salary Slip.,"Net Pay (in Worten) sichtbar sein wird, sobald Sie die Gehaltsabrechnung zu speichern."
Net Profit / Loss,Nettogewinn /-verlust
Net Total,Total Net
Net Total (Company Currency),Net Total (Gesellschaft Währung)
Net Weight,Nettogewicht
Net Weight UOM,Nettogewicht UOM
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,New BOM
New Communications,New Communications
New Company,Neue Gesellschaft
New Cost Center,Neue Kostenstelle
New Cost Center Name,Neue Kostenstellennamen
New Delivery Notes,New Delivery Notes
New Enquiries,New Anfragen
New Leads,New Leads
New Leave Application,New Leave Anwendung
New Leaves Allocated,Neue Blätter Allocated
New Leaves Allocated (In Days),New Leaves Allocated (in Tagen)
New Material Requests,Neues Material Requests
New Projects,Neue Projekte
New Purchase Orders,New Bestellungen
New Purchase Receipts,New Kaufbelege
New Quotations,New Zitate
New Sales Orders,New Sales Orders
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,New Stock Einträge
New Stock UOM,New Stock UOM
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,Neuer Lieferant Zitate
New Support Tickets,New Support Tickets
New UOM must NOT be of type Whole Number,Neue Verpackung darf NICHT vom Typ ganze Zahl sein
New Workplace,New Workplace
Newsletter,Mitteilungsblatt
Newsletter Content,Newsletter Inhalt
Newsletter Status,Status Newsletter
Newsletter has already been sent,Newsletter wurde bereits gesendet
"Newsletters to contacts, leads.",Newsletters zu Kontakten führt.
Newspaper Publishers,Zeitungsverleger
Next,nächste
Next Contact By,Von Next Kontakt
Next Contact Date,Weiter Kontakt Datum
Next Date,Nächster Termin
Next email will be sent on:,Weiter E-Mail wird gesendet:
No,Auf
No Customer Accounts found.,Keine Kundenkonten gefunden.
No Customer or Supplier Accounts found,Keine Kunden-oder Lieferantenkontengefunden
No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user,"Keine Kosten Genehmiger . Bitte weisen ' Expense Genehmiger "" -Rolle an einen Benutzer atleast"
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 Leave Approvers. Please assign 'Leave Approver' Role to atleast one user,"Keine Leave Genehmiger . Bitte weisen ' Leave Genehmiger "" -Rolle an einen Benutzer atleast"
No Permission,In Permission
No Production Orders created,Keine Fertigungsaufträge erstellt
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,Kein SMS Erwünschte
No of Sent SMS,Kein SMS gesendet
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 zutreffend
Not Available,nicht verfügbar
Not Billed,Nicht Billed
Not Delivered,Nicht zugestellt
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,Hinweis
Note User,Hinweis: User
"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 wird, müssen Sie 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 nicht von Google Drive gelöscht, müssen Sie 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 für behinderte Nutzer gesendet werden
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,Aufzeichnungen
Notes:,Hinweise:
Nothing to request,"Nichts zu verlangen,"
Notice (days),Unsere (Tage)
Notification Control,Meldungssteuervorrichtung
Notification Email Address,Benachrichtigung per E-Mail-Adresse
Notify by Email on creation of automatic Material Request,Benachrichtigen Sie per E-Mail bei der Erstellung von automatischen Werkstoff anfordern
Number Format,Number Format
Offer Date,Angebot Datum
Office,Geschäftsstelle
Office Equipments,Büro Ausstattung
Office Maintenance Expenses,Office-Wartungskosten
Office Rent,Büromiete
Old Parent,Old Eltern
On Net Total,On Net Total
On Previous Row Amount,Auf Previous Row Betrag
On Previous Row Total,Auf Previous Row insgesamt
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,Nur Blattknoten in Transaktion zulässig
Only the selected Leave Approver can submit this Leave Application,Nur der ausgewählte Datum Genehmiger können diese Urlaubsantrag einreichen
Open,Öffnen
Open Production Orders,Offene Fertigungsaufträge
Open Tickets,Open Tickets
Opening (Cr),Eröffnung (Cr)
Opening (Dr),Opening ( Dr)
Opening Date,Eröffnungsdatum
Opening Entry,Öffnungszeiten Eintrag
Opening Qty,Öffnungs Menge
Opening Time,Öffnungszeit
Opening Value,Öffnungs Wert
Opening for a Job.,Öffnung für den Job.
Operating Cost,Betriebskosten
Operation Description,Operation Beschreibung
Operation No,In Betrieb
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,Geschäftstätigkeit
Opportunity,Gelegenheit
Opportunity Date,Gelegenheit Datum
Opportunity From,Von der Chance
Opportunity Item,Gelegenheit Artikel
Opportunity Items,Gelegenheit Artikel
Opportunity Lost,Chance vertan
Opportunity Type,Gelegenheit Typ
Optional. This setting will be used to filter in various transactions.,"Optional. Diese Einstellung wird verwendet, um in verschiedenen Transaktionen zu filtern."
Order Type,Auftragsart
Order Type must be one of {0},Auftragstyp muss einer der {0}
Ordered,Bestellt
Ordered Items To Be Billed,Bestellte Artikel in Rechnung gestellt werden
Ordered Items To Be Delivered,Bestellte Artikel geliefert werden
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.,Bestellungen für die Produktion freigegeben.
Organization Name,Name der Organisation
Organization Profile,Unternehmensprofil
Organization branch master.,Organisation Niederlassung Master.
Organization unit (department) master.,Organisationseinheit ( Abteilung ) Master.
Other,Andere
Other Details,Weitere Details
Others,andere
Out Qty,out Menge
Out Value,out Wert
Out of AMC,Von AMC
Out of Warranty,Außerhalb der Garantie
Outgoing,Abgehend
Outstanding Amount,Ausstehenden Betrag
Outstanding for {0} cannot be less than zero ({1}),Herausragende für {0} kann nicht kleiner als Null sein ({1})
Overhead,Oben
Overheads,Gemeinkosten
Overlapping conditions found between:,Overlapping Bedingungen zwischen gefunden:
Overview,Überblick
Owned,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 (pop.gmail.com beispielsweise)
POP3 server e.g. (pop.gmail.com),POP3-Server beispielsweise (pop.gmail.com)
POS Setting,POS Setting
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 anzeigen
PR Detail,PR Detailansicht
Package Item Details,Package Artikeldetails
Package Items,Package Angebote
Package Weight Details,Paket-Details Gewicht
Packed Item,Lieferschein Verpackung 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,Verpackungs-Details
Packing List,Packliste
Packing Slip,Packzettel
Packing Slip Item,Packzettel Artikel
Packing Slip Items,Packzettel Artikel
Packing Slip(s) cancelled,Lieferschein (e) abgesagt
Page Break,Seitenwechsel
Page Name,Page Name
Paid Amount,Gezahlten 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,Hauptkonto
Parent Cost Center,Eltern Kostenstellenrechnung
Parent Customer Group,Eltern Customer Group
Parent Detail docname,Eltern Detailansicht docname
Parent Item,Übergeordneter Artikel
Parent Item Group,Übergeordneter Artikel Gruppe
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,Eltern Sales Person
Parent Territory,Eltern Territory
Parent Website Page,Eltern- Website Seite
Parent Website Route,Eltern- Webseite Routen
Parenttype,ParentType
Part-time,Teilzeit-
Partially Completed,Teilweise abgeschlossen
Partly Billed,Teilweise Billed
Partly Delivered,Teilweise Lieferung
Partner Target Detail,Partner Zieldetailbericht
Partner Type,Partner Typ
Partner's Website,Partner Website
Party,Gruppe
Party Account,Party Account
Party Type,Party- Typ
Party Type Name,Party- Typ Name
Passive,Passive
Passport Number,Passnummer
Password,Kennwort
Pay To / Recd From,Pay To / From RECD
Payable,zahlbar
Payables,Verbindlichkeiten
Payables Group,Verbindlichkeiten Gruppe
Payment Days,Zahltage
Payment Due Date,Zahlungstermin
Payment Period Based On Invoice Date,Zahlungszeitraum basiert auf Rechnungsdatum
Payment Reconciliation,Zahlung Versöhnung
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,Zahlungen
Payments Received,Erhaltene Anzahlungen
Payments made during the digest period,Zahlungen während der Auszugsperiodeninformation gemacht
Payments received during the digest period,Einzahlungen während der Auszugsperiodeninformation
Payroll Settings,Payroll -Einstellungen
Pending,Schwebend
Pending Amount,Bis Betrag
Pending Items {0} updated,Ausstehende Elemente {0} aktualisiert
Pending Review,Bis Bewertung
Pending SO Items For Purchase Request,Ausstehend SO Artikel zum Kauf anfordern
Pension Funds,Pensionsfonds
Percent Complete,Percent Complete
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 Veränderung in der Menge zu dürfen während des Empfangs oder der Lieferung diesen Artikel werden.
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.,"Prozentual Sie erlaubt zu empfangen oder zu liefern, mehr gegen die Menge bestellt werden. Zum Beispiel: Wenn Sie 100 Einheiten bestellt. und Ihre Allowance ist 10%, dann dürfen Sie 110 Einheiten erhalten."
Performance appraisal.,Leistungsbeurteilung.
Period,Zeit
Period Closing Voucher,Periodenverschiebung Gutschein
Periodicity,Periodizität
Permanent Address,Permanent Address
Permanent Address Is,Permanent -Adresse ist
Permission,Permission
Personal,Persönliche
Personal Details,Persönliche Details
Personal Email,Persönliche E-Mail
Pharmaceutical,pharmazeutisch
Pharmaceuticals,Pharmaceuticals
Phone,Telefon
Phone No,Phone In
Piecework,Akkordarbeit
Pincode,Pincode
Place of Issue,Ausstellungsort
Plan for maintenance visits.,Plan für die Wartung Besuche.
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,Pflanze
Plant and Machinery,Anlagen und Maschinen
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,Bitte geben Abkürzung oder das Kurzer Name enquiry.c es auf alle Suffix Konto Heads hinzugefügt werden.
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,"Bitte geben Sie Lieferschein oder No Sales Invoice Nein, um fortzufahren"
Please enter Employee Id of this sales parson,Bitte geben Sie die Mitarbeiter-ID dieses Verkaufs Pfarrer
Please enter Expense Account,Bitte geben Sie Expense Konto
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,"Bitte geben Kaufbeleg Nein, um fortzufahren"
Please enter Reference date,Bitte geben Sie Stichtag
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 account,Bitte geben Sie Eltern Kontengruppe für Lagerkonto
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 Sales Invoice #{0},Im Anhang finden Sie Sales Invoice # {0}
Please install dropbox python module,Bitte installieren Sie Dropbox Python-Modul
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,Bitte wählen Sie Bank Account
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Bitte wählen Sie Carry Forward Auch wenn Sie zum vorherigen Geschäftsjahr die Blätter aufnehmen möchten zum Ausgleich in diesem Geschäftsjahr
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,Bitte wählen Preisliste
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.,Bitte wählen Sie Zeitprotokolle.
Please select a csv file,Bitte wählen Sie eine CSV-Datei
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,Bitte wählen Sie Monat und Jahr
Please select prefix first,Bitte wählen Sie zunächst Präfix
Please select the document type first,Bitte wählen Sie den Dokumententyp ersten
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,Bitte Setup Mitarbeiter Naming System in Human Resource&gt; HR Einstellungen
Please setup numbering series for Attendance via Setup > Numbering Series,Bitte Setup Nummerierungsserie für Besucher über Setup> Nummerierung Serie
Please setup your chart of accounts before you start Accounting Entries,"Bitte Einrichtung Ihrer Kontenbuchhaltung, bevor Sie beginnen Einträge"
Please specify,Bitte geben Sie
Please specify Company,Bitte geben Unternehmen
Please specify Company to proceed,"Bitte geben Sie Unternehmen, 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,Bitte geben Sie eine
Please specify a valid 'From Case No.',Bitte geben Sie eine gültige &quot;Von Fall Nr. &#39;
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,Point of Sale
Point-of-Sale Setting,Point-of-Sale-Einstellung
Post Graduate,Post Graduate
Postal,Postal
Postal Expenses,Post Aufwendungen
Posting Date,Buchungsdatum
Posting Time,Posting Zeit
Posting date and posting time is mandatory,Buchungsdatum und Buchungszeit ist obligatorisch
Posting timestamp must be after {0},Buchungszeitmarkemuss nach {0}
Potential opportunities for selling.,Potenzielle Chancen für den Verkauf.
Preferred Billing Address,Bevorzugte Rechnungsadresse
Preferred Shipping Address,Bevorzugte Lieferadresse
Prefix,Präfix
Present,Präsentieren
Prevdoc DocType,Prevdoc DocType
Prevdoc Doctype,Prevdoc Doctype
Preview,Vorschau
Previous,früher
Previous Work Experience,Berufserfahrung
Price,Preis
Price / Discount,Preis / Rabatt
Price List,Preisliste
Price List Currency,Währung Preisliste
Price List Currency not selected,Preisliste Währung nicht ausgewählt
Price List Exchange Rate,Preisliste Wechselkurs
Price List Name,Preis Name
Price List Rate,Preis List
Price List Rate (Company Currency),Preisliste Rate (Gesellschaft Wä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,Druckformat Stil
Print Heading,Unterwegs drucken
Print Without Amount,Drucken ohne Amount
Print and Stationary,Print-und Schreibwaren
Printing and Branding,Druck-und Branding-
Priority,Priorität
Private Equity,Private Equity
Privilege Leave,Privilege Leave
Probation,Bewährung
Process Payroll,Payroll-Prozess
Produced,produziert
Produced Quantity,Produziert Menge
Product Enquiry,Produkt-Anfrage
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,Production Plan Artikel
Production Plan Items,Production Plan Artikel
Production Plan Sales Order,Production Plan Sales Order
Production Plan Sales Orders,Production Plan Kundenaufträge
Production Planning Tool,Production Planning-Tool
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 Gew.-age in Verzug Suchbegriffe sortiert werden. Mehr das Gewicht-Alter, wird das Produkt höher erscheinen in der Liste."
Professional Tax,Professionelle Steuer
Profit and Loss,Gewinn-und Verlust
Profit and Loss Statement,Gewinn-und Verlustrechnung
Project,Projekt
Project Costing,Projektkalkulation
Project Details,Project Details
Project Manager,Project Manager
Project Milestone,Projekt Milestone
Project Milestones,Projektmeilensteine
Project Name,Project Name
Project Start Date,Projekt Startdatum
Project Type,Projekttyp
Project Value,Projekt Wert
Project activity / task.,Projektaktivität / Aufgabe.
Project master.,Projekt Meister.
Project will get saved and will be searchable with project name given,Projekt wird gespeichert und erhalten werden durchsuchbare mit Projekt-Namen
Project wise Stock Tracking,Projekt weise Rohteilnachführung
Project-wise data is not available for Quotation,Projekt - weise Daten nicht verfügbar Angebots
Projected,projektiert
Projected Qty,Prognostizierte Anzahl
Projects,Projekte
Projects & System,Projekte & System
Prompt for Email on Submission of,Eingabeaufforderung für E-Mail auf Vorlage von
Proposal Writing,Proposal Writing
Provide email id registered in company,Bieten E-Mail-ID in Unternehmen registriert
Provisional Profit / Loss (Credit),Vorläufige Gewinn / Verlust (Kredit)
Public,Öffentlichkeit
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,"Ziehen Sie Kundenaufträge (anhängig zu liefern), basierend auf den oben genannten Kriterien"
Purchase,Kaufen
Purchase / Manufacture Details,Kauf / Herstellung Einzelheiten
Purchase Analytics,Kauf Analytics
Purchase Common,Erwerb Eigener
Purchase Details,Kaufinformationen
Purchase Discounts,Kauf Rabatte
Purchase Invoice,Kaufrechnung
Purchase Invoice Advance,Advance Purchase Rechnung
Purchase Invoice Advances,Kaufrechnung Advances
Purchase Invoice Item,Kaufrechnung Artikel
Purchase Invoice Trends,Kauf Rechnung Trends
Purchase Invoice {0} is already submitted,Einkaufsrechnung {0} ist bereits eingereicht
Purchase Order,Auftragsbestätigung
Purchase Order Item,Bestellposition
Purchase Order Item No,In der Bestellposition
Purchase Order Item Supplied,Bestellposition geliefert
Purchase Order Items,Bestellpositionen
Purchase Order Items Supplied,Bestellung Lieferumfang
Purchase Order Items To Be Billed,Bestellpositionen in Rechnung gestellt werden
Purchase Order Items To Be Received,Bestellpositionen empfangen werden
Purchase Order Message,Purchase Order Nachricht
Purchase Order Required,Bestellung erforderlich
Purchase Order Trends,Purchase Order Trends
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.,Bestellungen Angesichts zu Lieferanten.
Purchase Receipt,Kaufbeleg
Purchase Receipt Item,Kaufbeleg Artikel
Purchase Receipt Item Supplied,Kaufbeleg Liefergegenstand
Purchase Receipt Item Supplieds,Kaufbeleg Artikel Supplieds
Purchase Receipt Items,Kaufbeleg Artikel
Purchase Receipt Message,Kaufbeleg Nachricht
Purchase Receipt No,Kaufbeleg
Purchase Receipt Required,Kaufbeleg erforderlich
Purchase Receipt Trends,Kaufbeleg Trends
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 Register,Erwerben Registrieren
Purchase Return,Kauf zurückgeben
Purchase Returned,Kehrte Kauf
Purchase Taxes and Charges,Purchase Steuern und Abgaben
Purchase Taxes and Charges Master,Steuern und Gebühren Meister Kauf
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 Inspection
Qty,Menge
Qty Consumed Per Unit,Menge pro verbrauchter
Qty To Manufacture,Um Qty Herstellung
Qty as per Stock UOM,Menge pro dem Stock UOM
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üfung Parameter
Quality Inspection Reading,Qualitätsprüfung Lesen
Quality Inspection Readings,Qualitätsprüfung Readings
Quality Inspection required for Item {0},Qualitätsprüfung für den Posten erforderlich {0}
Quality Management,Qualitätsmanagement
Quantity,Menge
Quantity Requested for Purchase,Beantragten Menge für Kauf
Quantity and Rate,Menge und Preis
Quantity and Warehouse,Menge und Warehouse
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,Anzahl der Artikel nach der Herstellung / Umpacken vom Angesichts quantities von Rohstoffen Erhalten
Quantity required for Item {0} in row {1},Menge Artikel für erforderlich {0} in Zeile {1}
Quarter,Quartal
Quarterly,Vierteljährlich
Quick Help,schnelle Hilfe
Quotation,Zitat
Quotation Item,Zitat Artikel
Quotation Items,Angebotspositionen
Quotation Lost Reason,Zitat Passwort Reason
Quotation Message,Quotation Nachricht
Quotation To,Um Angebot
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.,Zitate von Lieferanten erhalten.
Quotes to Leads or Customers.,Zitate oder Leads zu Kunden.
Raise Material Request when stock reaches re-order level,"Heben Anfrage Material erreicht, wenn der Vorrat re-order-Ebene"
Raised By,Raised By
Raised By (Email),Raised By (E-Mail)
Random,Zufällig
Range,Reichweite
Rate,Rate
Rate ,Rate
Rate (%),Rate ( %)
Rate (Company Currency),Rate (Gesellschaft Währung)
Rate Of Materials Based On,Rate Of Materialien auf Basis von
Rate and Amount,Geschwindigkeit und Menge
Rate at which Customer Currency is converted to customer's base currency,"Kunden Rate, mit der Währung wird nach Kundenwunsch Basiswährung umgerechnet"
Rate at which Price list currency is converted to company's base currency,"Geschwindigkeit, mit der Währung der Preisliste zu Unternehmen der Basiswährung umgewandelt wird"
Rate at which Price list currency is converted to customer's base currency,"Geschwindigkeit, mit der Währung der Preisliste des Kunden Basiswährung umgewandelt wird"
Rate at which customer's currency is converted to company's base currency,"Rate, mit der Kunden Währung ist an Unternehmen Basiswährung umgerechnet"
Rate at which supplier's currency is converted to company's base currency,"Geschwindigkeit, mit der Lieferanten Währung Unternehmens Basiswährung umgewandelt wird"
Rate at which this tax is applied,"Geschwindigkeit, mit der dieser Steuer an"
Raw Material,Rohstoff
Raw Material Item Code,Artikel Raw Material Code
Raw Materials Supplied,Rohstoffe verfügbar
Raw Materials Supplied Cost,Kostengünstige Rohstoffe geliefert
Raw material cannot be same as main Item,Raw Material nicht wie Haupt Titel
Re-Order Level,Re-Order Stufe
Re-Order Qty,Re-Order Menge
Re-order,Re-Order
Re-order Level,Re-Order-Ebene
Re-order Qty,Re-Bestellung Menge
Read,Lesen
Reading 1,Reading 1
Reading 10,Lesen 10
Reading 2,Reading 2
Reading 3,Reading 3
Reading 4,Reading 4
Reading 5,Reading 5
Reading 6,Lesen 6
Reading 7,Lesen 7
Reading 8,Lesen 8
Reading 9,Lesen 9
Real Estate,Immobilien
Reason,Grund
Reason for Leaving,Grund für das Verlassen
Reason for Resignation,Grund zur Resignation
Reason for losing,Grund für den Verlust
Recd Quantity,Menge RECD
Receivable,Forderungen
Receivable / Payable account will be identified based on the field Master Type,Forderungen / Verbindlichkeiten Konto wird basierend auf dem Feld Meister Typ identifiziert werden
Receivables,Forderungen
Receivables / Payables,Forderungen / Verbindlichkeiten
Receivables Group,Forderungen Gruppe
Received Date,Datum empfangen
Received Items To Be Billed,Empfangene Nachrichten in Rechnung gestellt werden
Received Qty,Erhaltene Menge
Received and Accepted,Erhalten und angenommen
Receiver List,Receiver Liste
Receiver List is empty. Please create Receiver List,Empfängerliste ist leer. Bitte erstellen Sie Empfängerliste
Receiver Parameter,Empfänger Parameter
Recipients,Empfänger
Reconcile,versöhnen
Reconciliation Data,Datenabgleich
Reconciliation HTML,HTML Versöhnung
Reconciliation JSON,Überleitung JSON
Record item movement.,Notieren Sie Artikel Bewegung.
Recurring Id,Wiederkehrende Id
Recurring Invoice,Wiederkehrende Rechnung
Recurring Type,Wiederkehrende Typ
Reduce Deduction for Leave Without Pay (LWP),Reduzieren Abzug für unbezahlten Urlaub (LWP)
Reduce Earning for Leave Without Pay (LWP),Reduzieren Sie verdienen für unbezahlten Urlaub (LWP)
Ref,Ref.
Ref Code,Ref Code
Ref SQ,Ref SQ
Reference,Referenz
Reference #{0} dated {1},Referenz # {0} vom {1}
Reference Date,Stichtag
Reference Name,Reference Name
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,Reference Number
Reference Row #,Referenz Row #
Refresh,Erfrischen
Registration Details,Registrierung Details
Registration Info,Registrierung Info
Rejected,Abgelehnt
Rejected Quantity,Abgelehnt Menge
Rejected Serial No,Abgelehnt Serial In
Rejected Warehouse,Abgelehnt Warehouse
Rejected Warehouse is mandatory against regected item,Abgelehnt Warehouse ist obligatorisch gegen regected Artikel
Relation,Relation
Relieving Date,Entlastung Datum
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
Remarks Custom,Bemerkungen Custom
Rename,umbenennen
Rename Log,Benennen Anmelden
Rename Tool,Umbenennen-Tool
Rent Cost,Mieten Kosten
Rent per hour,Miete pro Stunde
Rented,Gemietet
Repeat on Day of Month,Wiederholen Sie auf Tag des Monats
Replace,Ersetzen
Replace Item / BOM in all BOMs,Ersetzen Item / BOM in allen Stücklisten
Replied,Beantwortet
Report Date,Report Date
Report Type,Melden Typ
Report Type is mandatory,Berichtstyp ist verpflichtend
Reports to,Berichte an
Reqd By Date,Reqd Nach Datum
Reqd by Date,Reqd nach Datum
Request Type,Art der Anfrage
Request for Information,Request for Information
Request for purchase.,Ankaufsgesuch.
Requested,Angeforderte
Requested For,Für Anfrage
Requested Items To Be Ordered,Erwünschte Artikel bestellt werden
Requested Items To Be Transferred,Erwünschte Objekte übertragen werden
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.,Anfragen für Einzelteile.
Required By,Erforderliche By
Required Date,Erforderlich Datum
Required Qty,Erwünschte Stückzahl
Required only for sample item.,Nur erforderlich für die Probe Element.
Required raw materials issued to the supplier for producing a sub - contracted item.,Erforderliche Rohstoffe Ausgestellt an den Lieferanten produziert eine sub - Vertragsgegenstand.
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,Reserviert Menge
Reserved Warehouse,Warehouse Reserved
Reserved Warehouse in Sales Order / Finished Goods Warehouse,Reserviert Warehouse in Sales Order / Fertigwarenlager
Reserved Warehouse is missing in Sales Order,Reserviert Warehouse ist in Sales Order fehlt
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,Rücktrittsschreiben Datum
Resolution,Auflösung
Resolution Date,Resolution Datum
Resolution Details,Auflösung Einzelheiten
Resolved By,Gelöst von
Rest Of The World,Rest der Welt
Retail,Einzelhandel
Retail & Wholesale,Retail & Wholesale
Retailer,Einzelhändler
Review Date,Bewerten Datum
Rgt,Rgt
Role Allowed to edit frozen stock,Rolle erlaubt den gefrorenen bearbeiten
Role that is allowed to submit transactions that exceed credit limits set.,"Rolle, die erlaubt, Transaktionen, die Kreditlimiten gesetzt überschreiten vorlegen wird."
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,Wurzel kann kein übergeordnetes Kostenstelle
Rounded Off,abgerundet
Rounded Total,Abgerundete insgesamt
Rounded Total (Company Currency),Abgerundete Total (Gesellschaft Währung)
Row # ,Zeile #
Row # {0}: ,
Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,Row # {0}: Bestellmenge kann nicht weniger als Mindestbestellmenge Elements (in Artikelstamm definiert).
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}: \
 Einkaufsrechnung dem Konto Konto nicht mit überein"
"Row {0}: Account does not match with \
						Sales Invoice Debit To account","Row {0}: \
 Sales Invoice Debit Zur Account Konto nicht mit überein"
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}: Menge nicht in der Lager Avalable {1} auf {2} {3}.
 Verfügbare Stückzahl: {4}, Transfer Stück: {5}"
"Row {0}: To set {1} periodicity, difference between from and to date \
						must be greater than or equal to {2}","Row {0}: Um {1} Periodizität Unterschied zwischen von und nach Datum \
 muss größer als oder gleich sein {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 Versand Betrag für einen Verkauf berechnen
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 Log
SMS Parameter,SMS Parameter
SMS Sender Name,SMS Absender Name
SMS Settings,SMS-Einstellungen
SO Date,SO Datum
SO Pending Qty,SO Pending Menge
SO Qty,SO Menge
Salary,Gehalt
Salary Information,Angaben über den Lohn
Salary Manager,Manager Gehalt
Salary Mode,Gehalt Modus
Salary Slip,Gehaltsabrechnung
Salary Slip Deduction,Lohnabzug Rutsch
Salary Slip Earning,Earning Gehaltsabrechnung
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,Earning Gehaltsstruktur
Salary Structure Earnings,Ergebnis Gehaltsstruktur
Salary breakup based on Earning and Deduction.,Gehalt Trennung auf die Ertragskraft und Deduktion basiert.
Salary components.,Gehaltsbestandteile.
Salary template master.,Gehalt Master -Vorlage .
Sales,Vertrieb
Sales Analytics,Sales Analytics
Sales BOM,Vertrieb BOM
Sales BOM Help,Vertrieb BOM Hilfe
Sales BOM Item,Vertrieb Stücklistenposition
Sales BOM Items,Vertrieb Stücklistenpositionen
Sales Browser,Verkauf Browser
Sales Details,Sales Details
Sales Discounts,Sales Rabatte
Sales Email Settings,Vertrieb E-Mail-Einstellungen
Sales Expenses,Vertriebskosten
Sales Extras,Verkauf Extras
Sales Funnel,Sales Funnel
Sales Invoice,Sales Invoice
Sales Invoice Advance,Sales Invoice Geleistete
Sales Invoice Item,Sales Invoice Artikel
Sales Invoice Items,Sales Invoice Artikel
Sales Invoice Message,Sales Invoice Nachricht
Sales Invoice No,Sales Invoice In
Sales Invoice Trends,Sales Invoice Trends
Sales Invoice {0} has already been submitted,Sales Invoice {0} wurde bereits eingereicht
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Sales Invoice {0} muss vor Streichung dieses Sales Order storniert werden
Sales Order,Sales Order
Sales Order Date,Sales Order Datum
Sales Order Item,Auftragsposition
Sales Order Items,Kundenauftragspositionen
Sales Order Message,Sales Order Nachricht
Sales Order No,In Sales Order
Sales Order Required,Sales Order erforderlich
Sales Order Trends,Sales Order Trends
Sales Order required for Item {0},Sales Order für den Posten erforderlich {0}
Sales Order {0} is not submitted,Sales Order {0} ist nicht eingereicht
Sales Order {0} is not valid,Sales Order {0} ist nicht gültig
Sales Order {0} is stopped,Sales Order {0} gestoppt
Sales Partner,Vertriebspartner
Sales Partner Name,Sales Partner Name
Sales Partner Target,Partner Sales Target
Sales Partners Commission,Vertriebspartner Kommission
Sales Person,Sales Person
Sales Person Name,Sales Person Vorname
Sales Person Target Variance Item Group-Wise,Sales Person ZielabweichungsartikelgruppeWise -
Sales Person Targets,Sales Person Targets
Sales Person-wise Transaction Summary,Sales Person-wise Transaction Zusammenfassung
Sales Register,Verkäufe registrieren
Sales Return,Umsatzrendite
Sales Returned,Verkaufszurück
Sales Taxes and Charges,Vertrieb Steuern und Abgaben
Sales Taxes and Charges Master,Vertrieb Steuern und Abgaben Meister
Sales Team,Sales Team
Sales Team Details,Sales Team Details
Sales Team1,Vertrieb Team1
Sales and Purchase,Verkauf und Kauf
Sales campaigns.,Vertriebskampagnen.
Salutation,Gruß
Sample Size,Stichprobenumfang
Sanctioned Amount,Sanktioniert Betrag
Saturday,Samstag
Schedule,Planen
Schedule Date,Termine Datum
Schedule Details,Termine Details
Scheduled,Geplant
Scheduled Date,Voraussichtlicher
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),Score (0-5)
Score Earned,Ergebnis Bekommen
Score must be less than or equal to 5,Score muß weniger als oder gleich 5 sein
Scrap %,Scrap%
Seasonality for setting budgets.,Saisonalität setzt Budgets.
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 &quot;Rate Of Materials Based On&quot; in der Kalkulation Abschnitt
"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 dieser Punkt für einige interne Zwecke in Ihrem Unternehmen verwendet wird."
"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Wählen Sie ""Ja"", wenn dieser Artikel stellt einige Arbeiten wie Ausbildung, Gestaltung, Beratung etc.."
"Select ""Yes"" if you are maintaining stock of this item in your Inventory.","Wählen Sie ""Ja"", wenn Sie Pflege stock dieses Artikels in Ihrem Inventar."
"Select ""Yes"" if you supply raw materials to your supplier to manufacture this item.","Wählen Sie ""Ja"", wenn Sie Rohstoffe an Ihren Lieferanten liefern, um diesen Artikel zu fertigen."
Select Brand...,Wählen Brand ...
Select Budget Distribution to unevenly distribute targets across months.,Wählen Budget Verteilung ungleichmäßig Targets über Monate verteilen.
"Select Budget Distribution, if you want to track based on seasonality.","Wählen Budget Distribution, wenn Sie basierend auf Saisonalität verfolgen möchten."
Select Company...,Wählen Gesellschaft ...
Select DocType,Wählen DocType
Select Fiscal Year...,Wählen Sie das Geschäftsjahr ...
Select Items,Elemente auswählen
Select Project...,Wählen Sie Projekt ...
Select Purchase Receipts,Wählen Kaufbelege
Select Sales Orders,Wählen Sie Kundenaufträge
Select Sales Orders from which you want to create Production Orders.,Wählen Sie Aufträge aus der Sie Fertigungsaufträge erstellen.
Select Time Logs and Submit to create a new Sales Invoice.,"Wählen Sie Zeit Logs und abschicken, um einen neuen Sales Invoice erstellen."
Select Transaction,Wählen Sie Transaction
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 Kopf des Bankkontos, wo Kontrolle abgelagert wurde."
Select company name first.,Wählen Firmennamen erste.
Select template from which you want to get the Goals,"Wählen Sie aus, welche Vorlage Sie die Ziele erhalten möchten"
Select the Employee for whom you are creating the Appraisal.,"Wählen Sie den Mitarbeiter, für den Sie erstellen Appraisal."
Select the period when the invoice will be generated automatically,Wählen Sie den Zeitraum auf der Rechnung wird automatisch erzeugt werden
Select the relevant company name if you have multiple companies,"Wählen Sie den entsprechenden Firmennamen, wenn Sie mehrere Unternehmen haben"
Select the relevant company name if you have multiple companies.,"Wählen Sie den entsprechenden Firmennamen, wenn Sie mehrere Unternehmen haben."
Select who you want to send this newsletter to,"Wählen Sie, wer Sie diesen Newsletter senden möchten"
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.","Wählen Sie ""Ja"" können diesen Artikel in Bestellung, Kaufbeleg erscheinen."
"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","Wählen Sie ""Ja"" können diesen Artikel in Sales Order herauszufinden, Lieferschein"
"Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.","Wählen Sie ""Ja"" ermöglicht es Ihnen, Bill of Material zeigt Rohstoffe und Betriebskosten anfallen, um diesen Artikel herzustellen erstellen."
"Selecting ""Yes"" will allow you to make a Production Order for this item.","Wählen Sie ""Ja"" ermöglicht es Ihnen, einen Fertigungsauftrag für diesen Artikel machen."
"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.","Wählen Sie ""Ja"" wird eine einzigartige Identität zu jeder Einheit dieses Artikels, die in der Serial No Master eingesehen werden kann geben."
Selling,Verkauf
Selling Settings,Verkauf Einstellungen
"Selling must be checked, if Applicable For is selected as {0}","Selling muss überprüft werden, wenn Anwendbar ist als gewählte {0}"
Send,Senden
Send Autoreply,Senden Autoreply
Send Email,E-Mail senden
Send From,Senden Von
Send Notifications To,Benachrichtigungen an
Send Now,Jetzt senden
Send SMS,Senden Sie eine SMS
Send To,Send To
Send To Type,Send To Geben
Send mass SMS to your contacts,Senden Sie Massen-SMS an Ihre Kontakte
Send to this list,Senden Sie zu dieser Liste
Sender Name,Absender Name
Sent On,Sent On
Separate production order will be created for each finished good item.,Separate Fertigungsauftrag wird für jeden fertigen gute Position geschaffen werden.
Serial No,Serial In
Serial No / Batch,Seriennummer / Charge
Serial No Details,Serial No Einzelheiten
Serial No Service Contract Expiry,Serial No Service Contract Verfall
Serial No Status,Serielle In-Status
Serial No Warranty Expiry,Serial No Scheckheftgepflegt
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 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","Serialisierten Artikel {0} kann nicht aktualisiert werden, \
 mit Lizenz Versöhnung"
Series,Serie
Series List for this Transaction,Serien-Liste 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,Service Adresse
Service Tax,Service Steuer
Services,Dienstleistungen
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.,"Set Artikel gruppenweise Budgets auf diesem Gebiet. Sie können Saisonalität auch gehören, indem Sie die Distribution."
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,Nummerierung einstellen Serie Präfix für Ihre Online-Transaktionen
Set targets Item Group-wise for this Sales Person.,Set zielt Artikel gruppenweise für diesen Sales Person.
Setting Account Type helps in selecting this Account in transactions.,Einstellung Kontotyp hilft bei der Auswahl der Transaktionen in diesem Konto.
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 HR Module,Einstellungen für das HR -Modul
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""","Einstellungen für Bewerber aus einer Mailbox zB ""jobs@example.com"" extrahieren"
Setup,Setup
Setup Already Complete!!,Bereits Komplett -Setup !
Setup Complete,Setup Complete
Setup SMS gateway settings,Setup-SMS-Gateway-Einstellungen
Setup Series,Setup-Series
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,Teilen
Share With,Anziehen
Shareholders Funds,Aktionäre Fonds
Shipments to customers.,Lieferungen an Kunden.
Shipping,Schifffahrt
Shipping Account,Liefer-Konto
Shipping Address,Versandadresse
Shipping Amount,Liefer-Betrag
Shipping Rule,Liefer-Regel
Shipping Rule Condition,Liefer-Rule Condition
Shipping Rule Conditions,Liefer-Rule AGB
Shipping Rule Label,Liefer-Rule Etikett
Shop,Im Shop
Shopping Cart,Einkaufswagen
Short biography for website and other publications.,Kurzbiographie für die Website und anderen Publikationen.
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Anzeigen ""Im Lager"" oder ""Nicht auf Lager"", basierend auf verfügbaren Bestand in diesem Lager."
"Show / Hide features like Serial Nos, POS etc.","Show / Hide Funktionen wie Seriennummern, POS , etc."
Show In Website,Zeigen Sie in der Webseite
Show a slideshow at the top of the page,Zeige die Slideshow an der Spitze der Seite
Show in Website,Zeigen Sie im Website
Show rows with zero values,Zeige Zeilen mit Nullwerten
Show this slideshow at the top of the page,Zeige diese Slideshow an der Spitze der Seite
Sick Leave,Sick Leave
Signature,Unterschrift
Signature to be appended at the end of every email,Unterschrift am Ende jeder E-Mail angehängt werden
Single,Single
Single unit of an Item.,Einzelgerät eines Elements.
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,Slideshow
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,Quelle Warehouse
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,Spartan
"Special Characters except ""-"" and ""/"" not allowed in naming series","Sonderzeichen außer ""-"" und ""/"" nicht in der Benennung Serie erlaubt"
Specification Details,Ausschreibungstexte
Specifications,Technische Daten
"Specify a list of Territories, for which, this Price List is valid","Geben Sie eine Liste der Gebiete, für die ist diese Preisliste gültig"
"Specify a list of Territories, for which, this Shipping Rule is valid","Geben Sie eine Liste der Gebiete, für die ist diese Regel gültig Versand"
"Specify a list of Territories, for which, this Taxes Master is valid","Geben Sie eine Liste der Gebiete, für die ist diese Steuern Meister gültig"
"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.,Aufgeteilt in Pakete Lieferschein.
Sports,Sport
Sr,Sr
Standard,Standard
Standard Buying,Standard- Einkaufsführer
Standard Reports,Standardberichte
Standard Selling,Standard- Selling
Standard contract terms for Sales or Purchase.,Übliche Vertragsbedingungen für den Verkauf oder Kauf .
Start,Start-
Start Date,Startdatum
Start date of current invoice's period,Startdatum der laufenden Rechnung der Zeit
Start date should be less than end date for Item {0},Startdatum sollte weniger als Enddatum für Artikel {0}
State,Zustand
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 Informationen und andere allgemeine Informationen über Ihr Lieferant
Stay Updated,Bleiben Aktualisiert
Stock,Lager
Stock Adjustment,Auf Einstellung
Stock Adjustment Account,Auf Adjustment Konto
Stock Ageing,Lager Ageing
Stock Analytics,Lager Analytics
Stock Assets,Auf Assets
Stock Balance,Bestandsliste
Stock Entries already created for Production Order ,
Stock Entry,Lager Eintrag
Stock Entry Detail,Lager Eintrag Details
Stock Expenses,Auf Kosten
Stock Frozen Upto,Lager Bis gefroren
Stock Ledger,Lager Ledger
Stock Ledger Entry,Lager Ledger Eintrag
Stock Ledger entries balances updated,Auf BucheinträgeSalden aktualisiert
Stock Level,Stock Level
Stock Liabilities,Auf Verbindlichkeiten
Stock Projected Qty,Auf Projizierte Menge
Stock Queue (FIFO),Lager Queue (FIFO)
Stock Received But Not Billed,"Auf empfangen, aber nicht Angekündigt"
Stock Reconcilation Data,Auf Versöhnung Daten
Stock Reconcilation Template,Auf Versöhnung Vorlage
Stock Reconciliation,Lager Versöhnung
"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,Auf Einstellungen
Stock UOM,Lager UOM
Stock UOM Replace Utility,Lager UOM ersetzen Dienstprogramm
Stock UOM updatd for Item {0},"Auf ME fortgeschrieben, für den Posten {0}"
Stock Uom,Lager ME
Stock Value,Bestandswert
Stock Value Difference,Auf Wertdifferenz
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
Stop,Stoppen
Stop Birthday Reminders,Stop- Geburtstagserinnerungen
Stop Material Request,Stopp -Material anfordern
Stop users from making Leave Applications on following days.,Stoppen Sie den Nutzer von Leave Anwendungen auf folgenden Tagen.
Stop!,Stop!
Stopped,Gestoppt
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""","Sub-Währung. Für z.B. ""Cent"""
Subcontract,Vergeben
Subject,Thema
Submit Salary Slip,Senden Gehaltsabrechnung
Submit all salary slips for the above selected criteria,Reichen Sie alle Gehaltsabrechnungen für die oben ausgewählten Kriterien
Submit this Production Order for further processing.,Senden Sie dieses Fertigungsauftrag für die weitere Verarbeitung .
Submitted,Eingereicht
Subsidiary,Tochtergesellschaft
Successful: ,Erfolgreich:
Successfully Reconciled,Erfolgreich versöhnt
Suggestions,Vorschläge
Sunday,Sonntag
Supplier,Lieferant
Supplier (Payable) Account,Lieferant (zahlbar) Konto
Supplier (vendor) name as entered in supplier master,Lieferant (Kreditor) Namen wie im Lieferantenstamm eingetragen
Supplier > Supplier Type,Lieferant> Lieferantentyp
Supplier Account Head,Lieferant Konto Leiter
Supplier Address,Lieferant Adresse
Supplier Addresses and Contacts,Lieferant Adressen und Kontakte
Supplier Details,Supplier Details
Supplier Intro,Lieferant Intro
Supplier Invoice Date,Lieferantenrechnung Datum
Supplier Invoice No,Lieferant Rechnung Nr.
Supplier Name,Name des Anbieters
Supplier Naming By,Lieferant Benennen von
Supplier Part Number,Lieferant Teilenummer
Supplier Quotation,Lieferant Angebot
Supplier Quotation Item,Lieferant Angebotsposition
Supplier Reference,Lieferant Reference
Supplier Type,Lieferant Typ
Supplier Type / Supplier,Lieferant Typ / Lieferant
Supplier Type master.,Lieferant Typ Master.
Supplier Warehouse,Lieferant Warehouse
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Lieferantenlager obligatorisch für Unteraufträge vergeben Kaufbeleg
Supplier database.,Lieferanten-Datenbank.
Supplier master.,Lieferant Master.
Supplier warehouse where you have issued raw materials for sub - contracting,Lieferantenlager wo Sie Rohstoffe ausgegeben haben - Zulieferer
Supplier-Wise Sales Analytics,HerstellerverkaufsWise Analytics
Support,Unterstützen
Support Analtyics,Unterstützung Analtyics
Support Analytics,Unterstützung Analytics
Support Email,Unterstützung per E-Mail
Support Email Settings,Support- E-Mail -Einstellungen
Support Password,Support Passwort
Support Ticket,Support Ticket
Support queries from customers.,Support-Anfragen von Kunden.
Symbol,Symbol
Sync Support Mails,Sync Unterstützung Mails
Sync with Dropbox,Sync mit Dropbox
Sync with Google Drive,Sync mit Google Drive
System,System
System Settings,Systemeinstellungen
"System User (login) ID. If set, it will become default for all HR forms.","System User (login) ID. Wenn gesetzt, wird es standardmäßig für alle HR-Formulare werden."
TDS (Advertisement),TDS (Anzeige)
TDS (Commission),TDS (Kommission)
TDS (Contractor),TDS (Auftragnehmer)
TDS (Interest),TDS (Zinsen)
TDS (Rent),TDS (Mieten)
TDS (Salary),TDS (Salary)
Target  Amount,Zielbetrag
Target Detail,Ziel Detailansicht
Target Details,Zieldetails
Target Details1,Ziel Details1
Target Distribution,Target Distribution
Target On,Ziel Auf
Target Qty,Ziel Menge
Target Warehouse,Ziel Warehouse
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,Task Details
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,Tax Rate
Tax and other salary deductions.,Steuer-und sonstige Lohnabzüge.
"Tax detail table fetched from item master as a string and stored in this field.
Used for Taxes and Charges","MwSt. Detailtabelle geholt von Artikelstamm als String und in diesem Bereich gespeichert.
 Für Steuern und Abgaben Gebraucht"
Tax template for buying transactions.,Tax -Vorlage für Kauf -Transaktionen.
Tax template for selling transactions.,Tax -Vorlage für Verkaufsgeschäfte .
Taxable,Steuerpflichtig
Taxes,Steuern
Taxes and Charges,Steuern und Abgaben
Taxes and Charges Added,Steuern und Abgaben am
Taxes and Charges Added (Company Currency),Steuern und Gebühren Added (Gesellschaft Währung)
Taxes and Charges Calculation,Steuern und Gebühren Berechnung
Taxes and Charges Deducted,Steuern und Gebühren Abgezogen
Taxes and Charges Deducted (Company Currency),Steuern und Gebühren Abzug (Gesellschaft Währung)
Taxes and Charges Total,Steuern und Gebühren gesamt
Taxes and Charges Total (Company Currency),Steuern und Abgaben insgesamt (Gesellschaft Wä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 von Begriffen 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,Begriff Einzelheiten
Terms,Bedingungen
Terms and Conditions,AGB
Terms and Conditions Content,AGB Inhalt
Terms and Conditions Details,AGB Einzelheiten
Terms and Conditions Template,AGB Template
Terms and Conditions1,Allgemeine Bedingungen1
Terretory,Terretory
Territory,Gebiet
Territory / Customer,Territory / Kunden
Territory Manager,Territory Manager
Territory Name,Territory Namen
Territory Target Variance Item Group-Wise,Territory ZielabweichungsartikelgruppeWise -
Territory Targets,Territory Targets
Test,Test
Test Email Id,Test Email Id
Test the Newsletter,Testen Sie den Newsletter
The BOM which will be replaced,"Die Stückliste, die ersetzt werden"
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""","Das Element, das das Paket darstellt. Dieser Artikel muss ""Ist Stock Item"" als ""Nein"" und ""Ist Vertrieb Item"" als ""Ja"""
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.
","Der Tag, an dem nächsten Rechnung wird erzeugt. Es basiert auf einreichen erzeugt.
"
The date on which recurring invoice will be stop,"Der Tag, an dem wiederkehrende Rechnung werden aufhören wird"
"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(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,Die erste Leave Approver in der Liste wird als Standard-Leave Approver eingestellt werden
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 Eigengewicht + Verpackungsmaterial Gewicht. (Zum Drucken)
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 Netto-Gewicht der Sendungen berechnet)
The new BOM after replacement,Der neue BOM nach dem Austausch
The rate at which Bill Currency is converted into company's base currency,"Die Rate, mit der Bill Währung in Unternehmen Basiswährung umgewandelt 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.,This Time Log Batch abgerechnet hat.
This Time Log Batch has been cancelled.,This Time Log Batch 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 des zuletzt erzeugte Transaktion mit diesem Präfix
This will be used for setting rule in HR module,Dies wird für die Einstellung der Regel im HR-Modul verwendet werden
Thread HTML,Themen HTML
Thursday,Donnerstag
Time Log,Log Zeit
Time Log Batch,Zeit Log Batch
Time Log Batch Detail,Zeit Log Batch Detailansicht
Time Log Batch Details,Zeit Log Chargendetails
Time Log Batch {0} must be 'Submitted',"Zeit Log Batch {0} muss "" Eingereicht "" werden"
Time Log Status must be Submitted.,Zeit Protokollstatus vorzulegen.
Time Log for tasks.,Log Zeit für Aufgaben.
Time Log is not billable,Anmelden Zeit ist nicht abrechenbar
Time Log {0} must be 'Submitted',"Anmelden Zeit {0} muss "" Eingereicht "" werden"
Time Zone,Zeitzone
Time Zones,Time Zones
Time and Budget,Zeit und Budget
Time at which items were delivered from warehouse,"Zeit, mit dem Gegenstände wurden aus dem Lager geliefert"
Time at which materials were received,"Zeitpunkt, an dem Materialien wurden erhalten"
Title,Titel
Titles for print templates e.g. Proforma Invoice.,Titel für Druckvorlagen z. B. Proforma-Rechnung .
To,Auf
To Currency,Um Währung
To Date,To Date
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,Zu diskutieren
To Do List,To Do List
To Package No.,Um Nr. Paket
To Produce,Um Produzieren
To Time,Um Zeit
To Value,To Value
To Warehouse,Um Warehouse
"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 ""Zuordnen"" in 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 ein Konto Kopf unter einem anderen Unternehmen zu erstellen, wählen das Unternehmen und sparen Kunden."
To date cannot be before from date,Bis heute kann nicht vor von aktuell sein
To enable <b>Point of Sale</b> features,Zum <b> Point of Sale </ b> Funktionen ermöglichen
To enable <b>Point of Sale</b> view,Um <b> Point of Sale </ b> Ansicht aktivieren
To get Item Group in details table,Zu Artikelnummer Gruppe im Detail Tisch zu bekommen
"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,Um jegliche Installation oder Inbetriebnahme verwandte Arbeiten After Sales verfolgen
"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.,"Um Artikel in Vertrieb und Einkauf Dokumente auf ihrem Werknummern Basis zu verfolgen. Dies wird auch verwendet, um Details zum Thema Gewährleistung des Produktes zu verfolgen."
To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>,Um Elemente in An-und Verkauf von Dokumenten mit Batch-nos <br> <b> Preferred Industry verfolgen: Chemicals etc </ b>
To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,"Um Objekte mit Barcode verfolgen. Sie werden in der Lage sein, um Elemente in Lieferschein und Sales Invoice durch Scannen Barcode einzusteigen."
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,Werkzeuge
Total,Gesamt
Total ({0}),Gesamt ({0})
Total Advance,Insgesamt Geleistete
Total Amount,Gesamtbetrag
Total Amount To Pay,Insgesamt zu zahlenden Betrag
Total Amount in Words,Insgesamt Betrag in Worten
Total Billing This Year: ,Insgesamt Billing Dieses Jahr:
Total Characters,Insgesamt Charaktere
Total Claimed Amount,Insgesamt geforderten Betrag
Total Commission,Gesamt Kommission
Total Cost,Total Cost
Total Credit,Insgesamt Kredit
Total Debit,Insgesamt Debit
Total Debit must be equal to Total Credit. The difference is {0},Insgesamt muss Debit gleich Gesamt-Credit ist.
Total Deduction,Insgesamt Abzug
Total Earning,Insgesamt Earning
Total Experience,Total Experience
Total Hours,Gesamtstunden
Total Hours (Expected),Total Hours (Erwartete)
Total Invoiced Amount,Insgesamt Rechnungsbetrag
Total Leave Days,Insgesamt Leave Tage
Total Leaves Allocated,Insgesamt Leaves Allocated
Total Message(s),Insgesamt Nachricht (en)
Total Operating Cost,Gesamten Betriebskosten
Total Points,Total Points
Total Raw Material Cost,Insgesamt Rohstoffkosten
Total Sanctioned Amount,Insgesamt Sanctioned Betrag
Total Score (Out of 5),Gesamtpunktzahl (von 5)
Total Tax (Company Currency),Total Tax (Gesellschaft Währung)
Total Taxes and Charges,Insgesamt Steuern und Abgaben
Total Taxes and Charges (Company Currency),Insgesamt Steuern und Gebühren (Gesellschaft Wä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 erhaltenen Rechnungen von Lieferanten während der Auszugsperiodeninformation
Total amount of invoices sent to the customer during the digest period,Gesamtbetrag der Rechnungen an die Kunden während der Auszugsperiodeninformation
Total cannot be zero,Insgesamt darf nicht Null sein
Total in words,Total 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,Totals
Track Leads by Industry Type.,Spur führt nach Branche Typ .
Track this Delivery Note against any Project,Verfolgen Sie diesen Lieferschein gegen Projekt
Track this Sales Order against any Project,Verfolgen Sie diesen Kundenauftrag gegen Projekt
Transaction,Transaktion
Transaction Date,Transaction Datum
Transaction not allowed against stopped Production Order {0},Transaktion nicht gegen gestoppt Fertigungsauftrag erlaubt {0}
Transfer,Übertragen
Transfer Material,Transfermaterial
Transfer Raw Materials,Übertragen Rohstoffe
Transferred Qty,Die übertragenen Menge
Transportation,Transport
Transporter Info,Transporter Info
Transporter Name,Transporter Namen
Transporter lorry number,Transporter Lkw-Zahl
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,Rohbilanz
Tuesday,Dienstag
Type,Typ
Type of document to rename.,Art des Dokuments umbenennen.
"Type of leaves like casual, sick etc.","Art der Blätter wie beiläufig, krank usw."
Types of Expense Claim.,Arten von Expense Anspruch.
Types of activities for Time Sheets,Arten von Aktivitäten für Time Sheets
"Types of employment (permanent, contract, intern etc.).","Art der Beschäftigung (permanent , Vertrag, Praktikanten etc.)."
UOM Conversion Detail,UOM Conversion Details
UOM Conversion Details,UOM Conversion Einzelheiten
UOM Conversion Factor,UOM Umrechnungsfaktor
UOM Conversion factor is required in row {0},Verpackung Umrechnungsfaktor wird in der Zeile erforderlich {0}
UOM Name,UOM 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,Unter Graduate
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 (zB kg, Einheit, Nein, Pair)."
Units/Hour,Einheiten / Stunde
Units/Shifts,Units / Shifts
Unpaid,Unbezahlte
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,Unsubscribed
Update,Aktualisieren
Update Clearance Date,Aktualisieren Restposten Datum
Update Cost,Update- Kosten
Update Finished Goods,Aktualisieren Fertigwaren
Update Landed Cost,Aktualisieren Landed Cost
Update Series,Update Series
Update Series Number,Update Series Number
Update Stock,Aktualisieren Lager
Update bank payment dates with journals.,Update Bank Zahlungstermine mit Zeitschriften.
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,Hochladen Teilnahme
Upload Backups to Dropbox,Backups auf Dropbox hochladen
Upload Backups to Google Drive,Laden Sie Backups auf Google Drive
Upload HTML,Hochladen 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:. Den alten Namen und der neue Name. Max 500 Zeilen.
Upload attendance from a .csv file,Fotogalerie Besuch aus einer. Csv-Datei
Upload stock balance via csv.,Hochladen Bestandsliste über csv.
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,Obere Income
Urgent,Dringend
Use Multi-Level BOM,Verwenden Sie Multi-Level BOM
Use SSL,Verwenden Sie SSL
Used for Production Plan,Wird für Produktionsplan
User,Benutzer
User ID,Benutzer-ID
User ID not set for Employee {0},Benutzer-ID nicht für Mitarbeiter eingestellt {0}
User Name,User Name
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,Benutzer Bemerkung
User Remark will be added to Auto Remark,Benutzer Bemerkung auf Auto Bemerkung hinzugefügt werden
User Remarks is mandatory,Benutzer Bemerkungen ist obligatorisch
User Specific,Benutzerspezifisch
User must always select,Der Benutzer muss immer wä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 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 Territories
Valid From,Gültig ab
Valid Upto,Gültig Bis
Valid for Territories,Gültig für Territories
Validate,Bestätigen
Valuation,Bewertung
Valuation Method,Valuation Method
Valuation Rate,Valuation bewerten
Valuation Rate required for Item {0},Artikel für erforderlich Bewertungs Bewerten {0}
Valuation and Total,Bewertung und insgesamt
Value,Wert
Value or Qty,Wert oder Menge
Vehicle Dispatch Date,Fahrzeug Versanddatum
Vehicle No,Kein Fahrzeug
Venture Capital,Risikokapital
Verified By,Verified By
View Ledger,Ansicht Ledger
View Now,Jetzt ansehen
Visit report for maintenance call.,Bericht über den Besuch für die Wartung Anruf.
Voucher #,Gutschein #
Voucher Detail No,Gutschein Detailaufnahme
Voucher Detail Number,Gutschein Detail Anzahl
Voucher ID,Gutschein ID
Voucher No,Gutschein Nein
Voucher Type,Gutschein Type
Voucher Type and Date,Gutschein Art und Datum
Walk In,Walk In
Warehouse,Lager
Warehouse Contact Info,Warehouse Kontakt Info
Warehouse Detail,Warehouse Details
Warehouse Name,Warehouse Namen
Warehouse and Reference,Warehouse 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,"Warehouse, wo Sie erhalten Bestand abgelehnt Elemente werden"
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,Warehouse-Wise Bestandsliste
Warehouse-wise Item Reorder,Warehouse-weise Artikel Reorder
Warehouses,Gewerberäume
Warehouses.,Gewerberäume .
Warn,Warnen
Warning: Leave application contains following block dates,Achtung: Leave Anwendung enthält folgende Block Termine
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 Einzelheiten
Warranty / AMC Status,Garantie / AMC-Status
Warranty Expiry Date,Garantie Ablaufdatum
Warranty Period (Days),Garantiezeitraum (Tage)
Warranty Period (in days),Gewährleistungsfrist (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,Website-Elementgruppe
Website Item Groups,Website Artikelgruppen
Website Settings,Website-Einstellungen
Website Warehouse,Website Warehouse
Wednesday,Mittwoch
Weekly,Wöchentlich
Weekly Off,Wöchentliche Off
Weight UOM,Gewicht UOM
"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 überprüften Transaktionen werden ""Eingereicht"", ein E-Mail-pop-up automatisch geöffnet, um eine E-Mail mit dem zugehörigen ""Kontakt"" in dieser Transaktion zu senden, mit der Transaktion als Anhang. Der Benutzer kann oder nicht-Mail senden."
"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 Elemente gespeichert werden.
Where manufacturing operations are carried out.,Wo Herstellungsvorgänge werden durchgeführt.
Widowed,Verwitwet
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 After-Sales-Rechnung vorgelegt werden.
Will be updated when batched.,"Wird aktualisiert, wenn dosiert werden."
Will be updated when billed.,"Wird aktualisiert, wenn in Rechnung gestellt."
Wire Transfer,Überweisung
With Operations,Mit Operations
With Period Closing Entry,Mit Periode Schluss Eintrag
Work Details,Werk Details
Work Done,Arbeit
Work In Progress,Work In Progress
Work-in-Progress Warehouse,Work-in-Progress Warehouse
Work-in-Progress Warehouse is required before Submit,"Arbeit - in -Progress Warehouse erforderlich ist, bevor abschicken"
Working,Arbeit
Working Days,Arbeitstage
Workstation,Arbeitsplatz
Workstation Name,Name der Arbeitsstation
Write Off Account,Write Off Konto
Write Off Amount,Write Off Betrag
Write Off Amount <=,Write Off Betrag <=
Write Off Based On,Write Off Based On
Write Off Cost Center,Write Off Kostenstellenrechnung
Write Off Outstanding Amount,Write Off ausstehenden Betrag
Write Off Voucher,Write Off Gutschein
Wrong Template: Unable to find head row.,Falsche Vorlage: Kann Kopfzeile zu finden.
Year,Jahr
Year Closed,Jahr geschlossen
Year End Date,Year End Datum
Year Name,Jahr Name
Year Start Date,Jahr Startdatum
Year of Passing,Jahr der Übergabe
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 ein beliebiges Datum manuell eingeben
You can enter the minimum quantity of this item to be ordered.,Sie können die minimale Menge von diesem Artikel bestellt werden.
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,Ihre Kunden TAX Kennzeichen (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 Umsatz Person, die die Kunden in Zukunft in Verbindung setzen"
Your sales person will get a reminder on this date to contact the customer,"Ihre Vertriebsmitarbeiter erhalten eine Erinnerung an diesem Tag, um den Kunden an"
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 Unterstützung email id - muss eine gültige E-Mail-sein - das ist, wo Ihre E-Mails wird kommen!"
[Error],[Fehler]
[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 durch
cannot be greater than 100,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, Nos, m"
e.g. VAT,z.B. Mehrwertsteuer
eg. Cheque Number,zB. Scheck-Nummer
example: Next Day Shipping,Beispiel: Versand am nächsten Tag
lft,lft
old_parent,old_parent
rgt,rgt
subject,Betreff
to,auf
website page link,Website-Link
{0} '{1}' not in Fiscal Year {2},{0} ' {1}' nicht im Geschäftsjahr {2}
{0} Credit limit {0} crossed,{0} Kreditlimit {0} gekreuzt
{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} 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} ist eine ungültige E-Mail- Adresse in 'Benachrichtigung per E-Mail -Adresse'
{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
