 (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
%(conversion_rate_label)s is mandatory. Maybe Currency Exchange record is not created for %(from_currency)s to %(to_currency)s,% ( conversion_rate_label ) s ist obligatorisch. Vielleicht Devisenwechsel Datensatz nicht für% erstellt ( from_currency ) s in% ( to_currency ) s
'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 \ nFür z. B.
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>"
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
About,Über
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 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 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} 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} can only be updated via \
					Stock Transactions",Konto : {0} kann nur über \ \ n Auf Transaktionen 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 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 Entries,vor Einträge
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 items have already been transferred for this Production Order.,Alle Einzelteile haben schon für diese Fertigungsauftrag übertragen.
All these items have already been invoiced,Alle diese Elemente sind bereits in Rechnung gestellt
Allocate,Zuweisen
Allocate Amount Automatically,Ordnen Betrag automatisch
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-delivery / over-billing crossed for Item {0},Wertberichtigungen für Über Lieferung / Über Abrechnung für Artikel gekreuzt {0}
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 <=,Betrag <=
Amount >=,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 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 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
Built on,Erbaut auf
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
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
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 Year Start Date and Year End Date once the Fiscal Year is saved.,"Jahr Startdatum und Enddatum Jahr , sobald 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 'Setup' > 'Global Defaults'","Kann nicht für Artikel {0} in Zeile overbill {0} mehr als {1} . Um Überfakturierung zu ermöglichen, bitte ""Setup"" eingestellt > ' Globale Defaults'"
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 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
Comma separated list of email addresses,Durch Komma getrennte Liste von E-Mail-Adressen
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 mandatory for Item {0},Kostenstelle ist obligatorisch für Artikel {0}
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, 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 Account Head,Kundenkonto Kopf
Customer Acquisition and Loyalty,Kundengewinnung und-bindung
Customer Address,Kundenadresse
Customer Addresses And Contacts,Kundenadressen und Kontakte
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 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 Cost Center for tracking expense for this item.,Standard Cost Center for Tracking Kosten für diesen Artikel.
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>"
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
Director,Direktor
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 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 . \ NAlle stammt 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
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,Einträge gegen
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."
Entries before {0} are frozen,Einträge vor {0} werden eingefroren
Equity,Gerechtigkeit
Error: {0} > {1},Fehler: {0}> {1}
Estimated Material Cost,Geschätzter Materialkalkulationen
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 # # # # # \ nWenn Serie ist eingestellt und Seriennummer ist nicht in Transaktionen erwähnt, dann automatische Seriennummer wird auf der Basis dieser Serie erstellt werden."
Exchange Rate,Wechselkurs
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 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
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 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 must be before To Date,Von Datum muss vor dem Laufenden bleiben
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 Completed,Vollständig ausgefüllte
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 Against Entries,Holen Sie sich gegen Einträge
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 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 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 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 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 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
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 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,"Zeigt an, dass das Paket ein Teil dieser Lieferung ist"
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 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 Period From Date,Rechnung ab Kaufdatum
Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Rechnung Zeitraum ab Rechnungszeitraumum Pflichtterminefür wiederkehrende Rechnung
Invoice Period To Date,Rechnung Zeitraum To Date
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 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 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 mit \ \ n Auf Versöhnung in Einklang gebracht werden , 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 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 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
Male,Männlich
Manage Customer Group Tree.,Verwalten von Kunden- Gruppenstruktur .
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
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 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
Modified Amount,Geändert Betrag
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 \ \ n Konflikt durch Zuweisung Priorität."
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 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 is not allowed for Trial users,Newsletters ist nicht für Test Benutzer erlaubt
"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 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 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 entries older than {0},"Nicht erlaubt, um Einträge zu aktualisieren , 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
Open source ERP built for the web,Open-Source- ERP für die Bahn gebaut
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 {1},Auftragstyp muss man von {1}
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.
Original Amount,Original- Menge
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
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
PR Posting Date,PR Buchungsdatum
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
Parent account can not be a ledger,"Eltern-Konto kann nicht sein, ein Hauptbuch"
Parent account does not exist,Eltern-Konto existiert nicht
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 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 Type,Zahlungsart
Payment of salary for the month {0} and year {1},Die Zahlung der Gehälter für den Monat {0} und {1} Jahre
Payment to Invoice Matching Tool,Zahlung an Rechnung Matching-Tool
Payment to Invoice Matching Tool Detail,Zahlung an Rechnung Matching Werkzeug-Detail
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 add expense voucher details,Bitte fügen Sie Kosten Gutschein Details
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 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 select Account first,Bitte wählen Sie Konto
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 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 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 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 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 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 For Discount,Preisregel für Discount
Pricing Rule For Price,Preisregel für Preis
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."
Profit and Loss,Gewinn-und Verlust
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
Public,Öffentlichkeit
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 In Transit,Erwerben In Transit
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 Date,Bestelldatum
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 Date,Quotation Datum
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 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
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
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}: Account does not match with \
						Purchase Invoice Credit To account",Row {0}: Konto nicht mit \ \ n Einkaufsrechnung dem Konto übereinstimmen
"Row {0}: Account does not match with \
						Sales Invoice Debit To account",Row {0}: Konto nicht mit \ \ n Sales Invoice Debit Zur Account entsprechen
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}: To set {1} periodicity, difference between from and to date \
						must be greater than or equal to {2}",Row {0}: Um {1} Periodizität muss Unterschied zwischen von und bis heute \ \ n größer als oder gleich zu 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.
SMS Center,SMS Center
SMS Control,SMS Control
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 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 DocType,Wählen DocType
Select Items,Elemente auswählen
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 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
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} \ \ n 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
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 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 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 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 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
Standard,Standard
Standard Buying,Standard- Einkaufsführer
Standard Rate,Standardpreis
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
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'
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 allocated,Erfolgreich zuge
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 Account,Lieferant Konto
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."
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 holten von Artikelstamm als String und in diesem Bereich gespeichert. \ Für Steuern und Abgaben nUsed
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 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 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."
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.
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 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 for tasks.,Log Zeit für Aufgaben.
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 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 zu 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 report an issue, go to ",
"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."
Tools,Werkzeuge
Total,Gesamt
Total Advance,Insgesamt Geleistete
Total Allocated Amount,Insgesamt gewährte Betrag
Total Allocated Amount can not be greater than unmatched amount,Insgesamt gewährte Betrag darf nicht größer als unerreichte Menge sein
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 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 Words,insgesamt Wörter
Total Working Days In The Month,Insgesamt Arbeitstagen im Monat
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 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 erforderlich {0} in Artikel {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
Unmatched Amount,Unübertroffene Betrag
Unpaid,Unbezahlte
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 allocated amount in the above table and then click ""Allocate"" button","Aktualisieren Zuteilungsbetrag in der obigen Tabelle und klicken Sie dann auf ""Allocate""-Taste"
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
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 ID,Gutschein ID
Voucher No,Gutschein Nein
Voucher No is not valid,Kein Gutschein ist nicht gültig
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 User,Warehouse Benutzer
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 required in POS Setting,Warehouse in POS -Einstellung erforderlich
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-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 Periodenverschiebung 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
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 Start Date and Year End Date are already set in Fiscal Year {0},Jahr Startdatum und Enddatum Jahr sind bereits im Geschäftsjahr gesetzt {0}
Year Start Date and Year End Date are not within Fiscal Year.,Jahr Startdatum und Enddatum Jahr nicht innerhalb des Geschäftsjahres .
Year Start Date should not be greater than Year End Date,Jahr Startdatum sollte nicht größer als Year End Date
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 assign itself as parent account,Sie können sich nicht als Hauptkonto zuweisen
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"
You must allocate amount before reconcile,Sie müssen Wert vor Abgleich zuweisen
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!"
[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
"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
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} 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 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,{0} ist kein gültiges Datum Approver
{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 less than or equal to {1},{0} muss kleiner als oder gleich {1}
{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 {1},{0} {1} gegen Rechnung {1}
{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} has been modified. Please refresh,{0} {1} wurde geändert . Bitte aktualisieren
{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
