 (Half Day),(Halber Tag)
 against sales order,gegen Kundenauftrag
 against same operation,gegen dieselbe Operation
 already marked,bereits markierten
 and year: ,und Jahr:
 at warehouse: ,im Warenlager:
 by Role ,von Role
 can not be made.,nicht vorgenommen werden.
 cannot be 0,nicht 0 sein kann
 cannot be deleted.,kann nicht gelöscht werden.
 does not belong to the company,nicht dem Unternehmen gehören
 has already been submitted.,wurde bereits eingereicht.
 has been freezed. ,wurde eingefroren.
 has been freezed. \				Only Accounts Manager can do transaction against this account,Wurde eingefroren. \ Nur Accounts Manager kann Transaktion gegen dieses Konto zu tun
" is less than equals to zero in the system, \						valuation rate is mandatory for this item",weniger als gleich im System Null ist \ Wertansatz für diesen Artikel zwingend
 is mandatory,zwingend
 is mandatory for GL Entry,ist für GL Eintrag zwingend
 is not a ledger,ist nicht ein Ledger
 is not active,nicht aktiv
 is not set,nicht gesetzt
 is now the default Fiscal Year. \			Please refresh your browser for the change to take effect.,"Ist nun der Standard Geschäftsjahr. \ Bitte Ihren Browser aktualisieren, damit die Änderungen wirksam werden."
 is present in one or many Active BOMs,ist in einer oder mehreren Active BOMs
 not active or does not exists in the system,nicht aktiv oder existiert nicht im System
 not submitted,nicht vorgelegt
 or the BOM is cancelled or inactive,oder das BOM wird abgebrochen oder inaktiv
 should be 'Yes'. As Item: ,sollte &quot;Ja&quot;. Als Item:
 should be same as that in ,sollte dieselbe wie die in
 was on leave on ,war im Urlaub aus
 will be ,wird
 will be over-billed against mentioned ,wird gegen erwähnt überrepräsentiert in Rechnung gestellt werden
 will become ,werden
"""Company History""",Firmengeschichte
"""Team Members"" or ""Management""","Teammitglieder oder ""Management"""
%  Delivered,% Lieferung
% Amount Billed,% Rechnungsbetrag
% Billed,% Billed
% Completed,% Abgeschlossen
% 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
"' can not be managed using Stock Reconciliation.\					You can add/delete Serial No directly, \					to modify stock of this item.",&#39;Kann nicht verwaltet mit Lager Versöhnung werden. \ Sie können hinzufügen / löschen Seriennummer direkt \ to stock dieses Artikels ändern.
' in Company: ,&#39;In Unternehmen:
'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;
* Will be calculated in the transaction.,* Wird in der Transaktion berechnet werden.
"**Budget Distribution** helps you distribute your budget across months if you have seasonality in your business.To distribute a budget using this distribution, set this **Budget Distribution** in the **Cost Center**","** Budget Verteilung ** hilft Ihnen verteilen Sie Ihr Budget über Monate, wenn Sie Saisonalität in Ihrem business.To vertreiben ein Budget Verwendung dieser Verteilung, setzen Sie diesen ** Budget Verteilung ** in der ** Cost Center ** haben"
**Currency** Master,** Währung ** Meister
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Geschäftsjahr ** ein Geschäftsjahr. Alle Buchungen und anderen wichtigen Transaktionen gegen ** Geschäftsjahr ** verfolgt.
. Outstanding cannot be less than zero. \				 	Please match exact outstanding.,. Herausragende kann nicht kleiner als Null ist. \ Bitte Exakte hervorragend.
. Please set status of the employee as 'Left',. Bitte setzen Sie den Status des Mitarbeiters als &quot;links&quot;
. You can not mark his attendance as 'Present',. Sie können nicht markieren seine Teilnahme als &quot;Gegenwart&quot;
"000 is black, fff is white","000 ist schwarz, weiß fff"
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,1 Währung = [?] FractionFor beispielsweise 1 USD = 100 Cent
1. To maintain the customer wise item code and to make them searchable based on their code use this option,Ein. Um den Kunden kluge Artikel Code zu pflegen und um sie durchsuchbar basierend auf ihren Code um diese Option
12px,12px
13px,13px
14px,14px
15px,15px
16px,16px
2 days ago,Vor 2 Tagen
: Duplicate row from same ,: Doppelte Reihe von gleichen
: It is linked to other active BOM(s),: Es wird mit anderen aktiven BOM (s) verbunden
: Mandatory for a Recurring Invoice.,: Obligatorisch für ein Recurring Invoice.
"<a href=""#!Sales Browser/Customer Group"">To manage Customer Groups, click here</a>","<a href=""#!Sales Browser/Customer Group""> Kundengruppen zu verwalten, klicken Sie hier </ a>"
"<a href=""#!Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#!Sales Browser/Item Group""> Artikel Gruppen verwalten </ a>"
"<a href=""#!Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#!Sales Browser/Territory""> Um Territory zu verwalten, klicken Sie hier </ a>"
"<a href=""#Sales Browser/Customer Group"">Manage Customer Groups</a>","<a href=""#Sales Browser/Customer Group"">Verwalten von Kunden-Gruppen</a>"
"<a href=""#Sales Browser/Customer Group"">To manage Territory, click here</a>","<a href=""#Sales Browser/Customer Group""> Um Territory zu verwalten, klicken Sie hier </ a>"
"<a href=""#Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#Sales Browser/Item Group"">Artikel verwalten Gruppen</a>"
"<a href=""#Sales Browser/Territory"">Territory</a>","<a href=""#Sales Browser/Territory"">Bereich</a>"
"<a href=""#Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#Sales Browser/Territory""> Um Territory zu verwalten, klicken Sie hier </ a>"
"<a onclick=""msgprint('<ol>\<li><b>field:[fieldname]</b> - By Field\<li><b>naming_series:</b> - By Naming Series (field called naming_series must be present\<li><b>eval:[expression]</b> - Evaluate an expression in python (self is doc)\<li><b>Prompt</b> - Prompt user for a name\<li><b>[series]</b> - Series by prefix (separated by a dot); for example PRE.#####\</ol>')"">Naming Options</a>","<A onclick = ""msgprint ('<ol> \ <li> <b> Feld: [Feldname] </ b> - Durch Feld \ <li> <b> naming_series: </ b> - durch die Benennung Series (Feld namens naming_series muss vorhanden sein \ <li> <b> eval: [Ausdruck] </ b> - Bewerten Sie einen Ausdruck in python (Selbst ist doc) \ <li> <b> Prompt </ b> - Benutzer nach einem Namen \ <li> <b> [Serie] </ b> - Series by Prefix (getrennt durch einen Punkt);. zum Beispiel PRE # # # # # \ </ ol> ') ""> Naming Optionen </ a>"
<b>Cancel</b> allows you change Submitted documents by cancelling them and amending them.,<b> Abbrechen </ b> können Sie ändern eingereichten Unterlagen durch Vernichtung von ihnen und zur Änderung ihnen.
"<span class=""sys_manager"">To setup, please go to Setup > Naming Series</span>","<span class=""sys_manager""> Um einzurichten, gehen Sie bitte auf Setup> Naming Series </ span>"
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 a Service that is bought, sold or kept in stock.","Ein Produkt oder eine Dienstleistung, die gekauft, verkauft oder gehalten auf Lager."
A Supplier exists with same name,Ein Lieferant existiert mit dem gleichen Namen
A condition for a Shipping Rule,Eine Bedingung für einen Versand Rule
A logical Warehouse against which stock entries are made.,Eine logische Warehouse gegen die Lager-Einträge vorgenommen werden.
A new popup will open that will ask you to select further conditions.,"Ein neues Pop-up öffnet das wird Sie bitten, weitere Bedingungen zu wählen."
A symbol for this currency. For e.g. $,Ein Symbol für diese Währung. Für z.B. $
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Ein Dritter Vertrieb / Händler / Kommissionär / affiliate / Vertragshändler verkauft die Unternehmen Produkte für eine Provision.
A user can have multiple values for a property.,Ein Benutzer kann mehrere Werte für eine Eigenschaft.
A+,A +
A-,A-
AB+,AB +
AB-,AB-
AMC Expiry Date,AMC Ablaufdatum
ATT,ATT
Abbr,Abk.
About,Über
About Us Settings,Über uns Settings
About Us Team Member,Über uns Team Member
Above Value,Vor Wert
Absent,Abwesend
Acceptance Criteria,Akzeptanzkriterien
Accepted,Akzeptiert
Accepted Quantity,Akzeptiert Menge
Accepted Warehouse,Akzeptiert Warehouse
Account,Konto
Account Balance,Kontostand
Account Details,Kontodetails
Account Head,Konto Leiter
Account Id,Konto-ID
Account Name,Account Name
Account Type,Kontotyp
Account for this ,Konto für diese
Accounting,Buchhaltung
Accounting Year.,Rechnungsjahres.
"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 Frozen Upto,Konten Bis gefroren
Accounts Payable,Kreditorenbuchhaltung
Accounts Receivable,Debitorenbuchhaltung
Accounts Settings,Konten-Einstellungen
Action,Aktion
Active,Aktiv
Active: Will extract emails from ,Aktive: Wird E-Mails zu extrahieren
Activity,Aktivität
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 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 A New Rule,Fügen Sie eine neue Regel
Add A Property,Fügen Sie eine Eigenschaft
Add Attachments,Anhänge hinzufügen
Add Bookmark,Lesezeichen hinzufügen
Add CSS,Fügen Sie CSS
Add Column,Spalte hinzufügen
Add Comment,Kommentar hinzufügen
Add Google Analytics ID: eg. UA-89XXX57-1. Please search help on Google Analytics for more information.,In Google Analytics ID: zB. UA-89XXX57-1. Bitte suchen Sie Hilfe zu Google Analytics für weitere Informationen.
Add Message,Nachricht hinzufügen
Add New Permission Rule,Add New Permission Rule
Add Reply,Fügen Sie Antworten
Add Terms and Conditions for the Material Request. You can also prepare a Terms and Conditions Master and use the Template,In Allgemeinen Geschäftsbedingungen für das Material-Request. Sie können auch ein Master-AGB und verwenden Sie die Vorlage
Add Terms and Conditions for the Purchase Receipt. You can also prepare a Terms and Conditions Master and use the Template.,Hinzufügen Geschäftsbedingungen für den Kaufbeleg. Sie können auch eine AGB-Master und verwenden Sie die Vorlage.
"Add Terms and Conditions for the Quotation like Payment Terms, Validity of Offer etc. You can also prepare a Terms and Conditions Master and use the Template","Fügen AGB für das Angebot wie Zahlungsbedingungen, Gültigkeit des Angebots etc. Sie können auch ein AGB-Master und verwenden Sie die Vorlage"
Add Total Row,In insgesamt Row
Add a banner to the site. (small banners are usually good),Hinzufügen einen Banner auf der Website. (Kleine Banner sind in der Regel gut)
Add attachment,Anhang hinzufügen
Add code as &lt;script&gt;,Fügen Sie Code wie <script>
Add new row,In neue Zeile
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 the name of <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> e.g. ""Open Sans""","Fügen Sie den Namen <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> zB &quot;Offene Sans&quot;"
Add to To Do,In den To Do
Add to To Do List of,In den Um-Liste von Do
Add/Remove Recipients,Hinzufügen / Entfernen von Empfängern
Additional Info,Zusätzliche Informationen
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 Type,Adresse Typ
Address and other legal information you may want to put in the footer.,Adresse und weitere rechtliche Informationen möchten Sie vielleicht in der Fußzeile setzen.
Address to be displayed on the Contact Page,Adresse auf der Kontakt Seite angezeigt werden
Adds a custom field to a DocType,Fügt ein benutzerdefiniertes Feld zu einem DocType
Adds a custom script (client or server) to a DocType,Fügt ein benutzerdefiniertes Skript (Client oder Server) zu einem DocType
Advance Amount,Voraus Betrag
Advance amount,Vorschuss in Höhe
Advanced Scripting,Advanced Scripting
Advanced Settings,Erweiterte Einstellungen
Advances,Advances
Advertisement,Anzeige
After Sale Installations,After Sale Installationen
Against,Gegen
Against Account,Vor Konto
Against Docname,Vor DocName
Against Doctype,Vor Doctype
Against Document Date,Gegen Dokument Datum
Against Document Detail No,Vor Document Detailaufnahme
Against Document No,Gegen Dokument Nr.
Against Expense Account,Vor Expense Konto
Against Income Account,Vor Income Konto
Against Journal Voucher,Vor Journal Gutschein
Against Purchase Invoice,Vor Kaufrechnung
Against Sales Invoice,Vor Sales Invoice
Against Voucher,Gegen Gutschein
Against Voucher Type,Gegen Gutschein Type
Agent,Agent
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials","Aggregate Gruppe ** Artikel ** in einen anderen ** Artikel. ** Dies ist nützlich, wenn Sie bündeln eine gewisse ** Die Artikel werden ** in einem Paket und Sie behalten Lager der verpackten ** Artikel ** und nicht das Aggregat ** Artikel. ** Das Paket ** Artikel ** haben wird: ""Ist Stock Item"" als ""Nein"" und ""Ist Vertrieb Item"" als ""Ja"" Zum Beispiel:. Wenn Sie den Verkauf Laptops und Rucksäcke werden getrennt und haben einen besonderen Preis, wenn der Kunde kauft sowohl BOM = Bill of Materials:, dann wird der Laptop + Rucksack wird ein neuer Sales BOM Item.Note sein"
Aging Date,Aging Datum
All Addresses.,Alle Adressen.
All Contact,Alle Kontakt
All Contacts.,Alle Kontakte.
All Customer Contact,All Customer Contact
All Day,All Day
All Employee (Active),Alle Mitarbeiter (Active)
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 Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Alle Verkäufe Transaktionen können gegen mehrere ** Umsatz Personen **, so dass Sie und überwachen Ziele können markiert werden."
All Supplier Contact,Alle Lieferanten Kontakt
"All account columns should be after \							standard columns and on the right.							If you entered it properly, next probable reason \							could be wrong account name.							Please rectify it in the file and try again.","Alle Spalten Konto sollte nach \ standard Säulen und auf der rechten Seite. Wenn Sie es richtig eingegeben, könnte nächste wahrscheinliche Grund \ falsche Konto-Name sein. Bitte berichtigen in der Datei und versuchen Sie es erneut."
"All export related fields like currency, conversion rate, export total, export grand total etc are available in <br>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 <br> Lieferschein, POS, Angebot, Sales Invoice, Auftragsabwicklung, etc."
"All import related fields like currency, conversion rate, import total, import grand total etc are available in <br>Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Alle Import-verwandten Bereichen wie Währung, Conversion-Rate, Import Insgesamt sind Import Gesamtsumme etc in <br> Kaufbeleg Lieferant Angebot, Auftragsbestätigung, Bestellung etc. zur Verfügung"
All items have already been transferred \				for this Production Order.,Alle Elemente wurden bereits \ für diesen Fertigungsauftrag übertragen.
"All possible Workflow States and roles of the workflow. <br>Docstatus Options: 0 is""Saved"", 1 is ""Submitted"" and 2 is ""Cancelled""","Alle möglichen Workflow-Status und Rollen des Workflows. <br> DocStatus Optionen: 0 wird ""Gespeichert"" wird ein ""Eingereicht"" und 2 ""Cancelled"""
All posts by,Alle Beiträge
Allocate,Zuweisen
Allocate leaves for the year.,Weisen Blätter für das Jahr.
Allocated Amount,Zugeteilten Betrag
Allocated Budget,Zugeteilten Budget
Allocated amount,Zugeteilten Betrag
Allow Attach,Lassen Befestigen
Allow Bill of Materials,Lassen Bill of Materials
Allow Dropbox Access,Erlauben Dropbox-Zugang
Allow Editing of Frozen Accounts For,Erlauben Bearbeiten von eingefrorenen Konten für
Allow Google Drive Access,Erlauben Sie Google Drive Zugang
Allow Import,Erlauben Sie importieren
Allow Import via Data Import Tool,Erlauben Import via Datenimport-Werkzeug
Allow Negative Balance,Lassen Negative Bilanz
Allow Negative Stock,Lassen Negative Lager
Allow Production Order,Lassen Fertigungsauftrag
Allow Rename,Lassen Sie Umbenennen
Allow Samples,Lassen Proben
Allow User,Benutzer zulassen
Allow Users,Ermöglichen
Allow on Submit,Lassen Sie auf Absenden
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
Allow user to login only after this hour (0-24),"Lassen Sie Benutzer nur anmelden, nach dieser Stunde (0-24)"
Allow user to login only before this hour (0-24),"Lassen Sie Benutzer nur anmelden, bevor dieser Stunde (0-24)"
Allowance Percent,Allowance Prozent
Allowed,Erlaubt
Already Registered,Bereits angemeldete
Always use Login Id as sender,Immer Login ID als Absender
Amend,Ändern
Amended From,Geändert von
Amount,Menge
Amount (Company Currency),Betrag (Gesellschaft Währung)
Amount <=,Betrag <=
Amount >=,Betrag> =
"An icon file with .ico extension. Should be 16 x 16 px. Generated using a favicon generator. [<a href=""http://favicon-generator.org/"" target=""_blank"">favicon-generator.org</a>]","Ein Symbol-Datei mit. Ico. Sollte 16 x 16 px sein. Erzeugt mit ein Favicon-Generator. [<a Href=""http://favicon-generator.org/"" target=""_blank""> favicon-generator.org </ a>]"
Analytics,Analytics
Annual Cost To Company,Jährlichen Kosten für die Gesellschaft
Annual Cost To Company can not be less than 12 months of Total Earning,Jährlichen Kosten für die Gesellschaft nicht weniger als 12 Monaten nach Erwerb insgesamt sein
Another Salary Structure '%s' is active for employee '%s'. 				Please make its status 'Inactive' to proceed.,"Another Gehaltsstruktur &#39;% s&#39; ist für Mitarbeiter &#39;% s&#39; aktiv. Bitte stellen Sie den Status &quot;inaktiv&quot;, um fortzufahren."
"Any other comments, noteworthy effort that should go in the records.","Weitere Kommentare, bemerkenswerte Anstrengungen, die in den Aufzeichnungen gehen sollte."
Applicable Holiday List,Anwendbar Ferienwohnung Liste
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
Applicant for a Job.,Antragsteller für einen Job.
Applications for leave.,Bei Anträgen auf Urlaub.
Applies to Company,Gilt für Unternehmen
Apply / Approve Leaves,Übernehmen / Genehmigen Leaves
Apply Shipping Rule,Bewerben Versand Rule
Apply Taxes and Charges Master,Bewerben Steuern und Gebühren Meister
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
Approval Status,Genehmigungsstatus
Approved,Genehmigt
Approver,Approver
Approving Role,Genehmigung Rolle
Approving User,Genehmigen Benutzer
Are you sure you want to delete the attachment?,"Sind Sie sicher, dass Sie den Anhang löschen?"
Arial,Arial
Arrear Amount,Nachträglich Betrag
"As a best practice, do not assign the same set of permission rule to different Roles instead set multiple Roles to the User","Als Best Practice, nicht die gleiche Menge von Berechtigungen Vorschrift auf unterschiedliche Rollen stattdessen mehrere Rollen für den Benutzer"
As existing qty for item: ,Als bestehende Menge für Artikel:
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 es Bestand Transaktionen dieser \ item sind, können Sie nicht ändern, die Werte von &#39;Hat Seriennummer&#39;, &#39;Ist Lager Item&#39; \ und &quot;Valuation Method &#39;"
Ascending,Aufsteigend
Assign To,Zuordnen zu
Assigned By,Zugewiesen von
Assignment,Zuordnung
Assignments,Zuordnungen
Associate a DocType to the Print Format,Zuordnen eines DocType der Print Format
Atleast one warehouse is mandatory,Mindestens eines Lagers ist obligatorisch
Attach,Befestigen
Attach Document Print,Anhängen Dokument drucken
Attached To DocType,Hinzugefügt zu DOCTYPE
Attached To Name,An den Dateinamen
Attachment,Anhang
Attachments,Zubehör
Attempted to Contact,"Versucht, Kontakt"
Attendance,Teilnahme
Attendance Date,Teilnahme seit
Attendance Details,Teilnahme Einzelheiten
Attendance From Date,Teilnahme ab-Datum
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 the employee: ,Die Teilnahme für die Mitarbeiter:
Attendance record.,Zuschauerrekord.
Attributions,Zuschreibungen
Authorization Control,Authorization Control
Authorization Rule,Autorisierungsregel
Auto Email Id,Auto Email Id
Auto Inventory Accounting,Auto Vorratsbuchhaltung
Auto Inventory Accounting Settings,Auto Vorratsbuchhaltung Einstellungen
Auto Material Request,Auto Werkstoff anfordern
Auto Name,Auto Name
Auto generated,Auto generiert
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 updated via Stock Entry of type Manufacture/Repack,Automatisch über Lager Eintrag vom Typ Manufacture / Repack aktualisiert
Autoreply when a new mail is received,Autoreply wenn eine neue E-Mail empfangen
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ücklisten, Lieferschein, Bestellung, Fertigungsauftrag, Bestellung, Kaufbeleg, Sales Invoice, Sales Order, Stock Entry, Timesheet"
Avatar,Avatar
Average Discount,Durchschnittliche Discount
B+,B +
B-,B-
BILL,BILL
BILLJ,BILLJ
BOM,BOM
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 replaced,BOM ersetzt
Background Color,Hintergrundfarbe
Background Image,Background Image
Backup Manager,Backup Manager
Backup Right Now,Sichern Right Now
Backups will be uploaded to,"Backups werden, die hochgeladen werden"
"Balances of Accounts of type ""Bank or Cash""",Kontostände vom Typ &quot;Bank-oder Cash&quot;
Bank,Bank
Bank A/C No.,Bank A / C Nr.
Bank Account,Bankkonto
Bank Account No.,Bank Konto-Nr
Bank Clearance Summary,Bank-Ausverkauf Zusammenfassung
Bank Name,Name der Bank
Bank Reconciliation,Kontenabstimmung
Bank Reconciliation Detail,Kontenabstimmung Details
Bank Reconciliation Statement,Kontenabstimmung Statement
Bank Voucher,Bankgutschein
Bank or Cash,Bank oder Bargeld
Bank/Cash Balance,Banken / Cash Balance
Banner,Banner
Banner HTML,Banner HTML
Banner Image,Banner Bild
Banner is above the Top Menu Bar.,Banner über der oberen Menüleiste.
Barcode,Strichcode
Based On,Basierend auf
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 Protokolle für Billing.
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
Be the first one to comment,"Seien Sie der Erste, der einen Kommentar"
Begin this page with a slideshow of images,Beginnen Sie diese Seite mit einer Diashow von Bildern
Better Prospects,Bessere Aussichten
Bill Date,Bill Datum
Bill No,Bill No
Bill of Material to be considered for manufacturing,"Bill of Material, um für die Fertigung berücksichtigt werden"
Bill of Materials,Bill of Materials
Bill of Materials (BOM),Bill of Materials (BOM)
Billable,Billable
Billed,Angekündigt
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
Bio will be displayed in blog section etc.,Bio wird in Blog-Bereich usw. angezeigt werden
Birth Date,Geburtsdatum
Blob,Klecks
Block Date,Blockieren Datum
Block Days,Block Tage
Block Holidays on important days.,Blockieren Urlaub auf wichtige Tage.
Block leave applications by department.,Block verlassen Anwendungen nach Abteilung.
Blog Category,Blog Kategorie
Blog Intro,Blog Intro
Blog Introduction,Blog Einführung
Blog Post,Blog Post
Blog Settings,Blog-Einstellungen
Blog Subscriber,Blog Subscriber
Blog Title,Blog Titel
Blogger,Blogger
Blood Group,Blutgruppe
Bookmarks,Bookmarks
Branch,Zweig
Brand,Marke
Brand HTML,Marke HTML
Brand Name,Markenname
"Brand is what appears on the top-right of the toolbar. If it is an image, make sure ithas a transparent background and use the &lt;img /&gt; tag. Keep size as 200px x 30px","Marke ist das, was in der oberen rechten Ecke des Symbolleiste. Wenn es ein Bild ist, stellen Sie sicher, ithas einen transparenten Hintergrund und verwenden Sie die <img />-Tag. Halten Größe wie 200px x 30px"
Brand master.,Marke Meister.
Brands,Marken
Breakdown,Zusammenbruch
Budget,Budget
Budget Allocated,Budget
Budget Control,Budget Control
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
Build Modules,Bauen Module
Build Pages,Bauen Seiten
Build Server API,Build-Server API
Build Sitemap,Bauen Sitemap
Bulk Email,Bulk Email
Bulk Email records.,Bulk Email Datensätze.
Bummer! There are more holidays than working days this month.,Bummer! Es gibt mehr Feiertage als Arbeitstage in diesem Monat.
Bundle items at time of sale.,Bundle Artikel zum Zeitpunkt des Verkaufs.
Button,Taste
Buyer of Goods and Services.,Käufer von Waren und Dienstleistungen.
Buying,Kauf
Buying Amount,Einkaufsführer Betrag
Buying Settings,Einkaufsführer Einstellungen
By,Durch
C-FORM/,C-FORM /
C-Form,C-Form
C-Form Applicable,"C-Form,"
C-Form Invoice Detail,C-Form Rechnungsdetails
C-Form No,C-Form nicht
CI/2010-2011/,CI/2010-2011 /
COMM-,COMM-
CSS,CSS
CUST,CUST
CUSTMUM,CUSTMUM
Calculate Based On,Berechnen Basierend auf
Calculate Total Score,Berechnen Gesamtpunktzahl
Calendar,Kalender
Calendar Events,Kalendereintrag
Call,Rufen
Campaign,Kampagne
Campaign Name,Kampagnenname
Can only be exported by users with role 'Report Manager',"Kann nur von Benutzern mit der Rolle ""Report Manager"" exportiert werden"
Cancel,Kündigen
Cancel permission also allows the user to delete a document (if it is not linked to any other document).,"Abbrechen Erlaubnis ermöglicht dem Benutzer auch, um ein Dokument (wenn sie nicht auf irgendeine andere Dokument verknüpft) zu löschen."
Cancelled,Abgesagt
Cannot ,Kann nicht
Cannot approve leave as you are not authorized to approve leaves on Block Dates.,"Kann nicht genehmigen lassen, wie Sie sind nicht berechtigt, Blätter auf Block-Termine genehmigen."
Cannot change from,Kann nicht ändern
Cannot continue.,Kann nicht fortgesetzt werden.
Cannot have two prices for same Price List,Kann nicht zwei Preise für das gleiche Preisliste
Cannot map because following condition fails: ,"Kann nicht zuordnen, da folgende Bedingung nicht:"
Capacity,Kapazität
Capacity Units,Capacity Units
Carry Forward,Vortragen
Carry Forwarded Leaves,Carry Weitergeleitete Leaves
Case No(s) already in use. Please rectify and try again.				Recommended <b>From Case No. = %s</b>,Fall Nr. (n) bereits im Einsatz. Bitte korrigieren und versuchen Sie es erneut. Empfohlen <b>von Fall Nr. =% s</b>
Cash,Bargeld
Cash Voucher,Cash Gutschein
Cash/Bank Account,Cash / Bank Account
Categorize blog posts.,Kategorisieren Blog-Posts.
Category,Kategorie
Category Name,Kategorie Name
Category of customer as entered in Customer master,"Kategorie von Kunden, wie in Customer Master eingetragen"
Cell Number,Cell Number
Center,Zentrum
"Certain documents should not be changed once final, like an Invoice for example. The final state for such documents is called <b>Submitted</b>. You can restrict which roles can Submit.","Bestimmte Dokumente sollten nicht geändert werden, nachdem endgültig angesehen werden, wie eine Rechnung zum Beispiel. Der Endzustand für solche Dokumente wird als <b> Eingereicht </ b>. Sie können einschränken, welche Rollen können Sie auf Absenden."
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,Ladung
Chargeable,Gebührenpflichtig
Chart of Accounts,Kontenplan
Chart of Cost Centers,Abbildung von Kostenstellen
Chat,Plaudern
Check,Überprüfen
Check / Uncheck roles assigned to the Profile. Click on the Role to find out what permissions that Role has.,"Aktivieren / Deaktivieren zugewiesenen Rollen der Profile. Klicken Sie auf die Rolle, um herauszufinden, welche Berechtigungen dieser Rolle hat."
Check all the items below that you want to send in this digest.,"Überprüfen Sie alle Artikel unten, dass Sie in diesem Digest senden."
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 send emails as this id only (in case of restriction by your email provider).,"Aktivieren Sie diese Option, wenn Sie E-Mails, da diese id nur (im Falle von Beschränkungen durch Ihre E-Mail-Provider) gesendet werden soll."
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 make this the default letter head in all prints,"Aktivieren Sie diese Option, um es als Standard-Briefkopf in allen Ausdrucke"
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
Checked,Geprüft
Cheque,Scheck
Cheque Date,Scheck Datum
Cheque Number,Scheck-Nummer
Child Tables are shown as a Grid in other DocTypes.,Child-Tabellen werden als Grid in anderen DocTypes gezeigt.
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
Classification of Customers by region,Klassifizierung der Kunden nach Regionen
Clear Cache & Refresh,Clear Cache & Refresh
Clear Table,Tabelle löschen
Clearance Date,Clearance Datum
"Click on ""Get Latest Updates""",Klicken Sie auf &quot;Get Latest Updates&quot;
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 button in the 'Condition' column and select the option 'User is the creator of the document',"Klicken Sie auf die Schaltfläche in der 'Bedingung' Spalte und wählen Sie die Option ""Benutzer ist der Schöpfer des Dokuments"""
Click to Expand / Collapse,Klicken Sie auf Erweitern / Reduzieren
Client,Auftraggeber
Close,Schließen
Closed,Geschlossen
Closing Account Head,Konto schließen Leiter
Closing Date,Einsendeschluss
Closing Fiscal Year,Schließen Geschäftsjahr
CoA Help,CoA Hilfe
Code,Code
Cold Calling,Cold Calling
Color,Farbe
Column Break,Spaltenumbruch
Comma separated list of email addresses,Durch Komma getrennte Liste von E-Mail-Adressen
Comment,Kommentar
Comment By,Kommentar von
Comment By Fullname,Kommentar von Fullname
Comment Date,Kommentar Datum
Comment Docname,Kommentar DocName
Comment Doctype,Kommentar Doctype
Comment Time,Kommentar Zeit
Comments,Kommentare
Commission Rate,Kommission bewerten
Commission Rate (%),Kommission Rate (%)
Commission partners and targets,Kommission Partnern und Ziele
Communication,Kommunikation
Communication HTML,Communication HTML
Communication History,Communication History
Communication Medium,Communication Medium
Communication log.,Communication log.
Company,Firma
Company Details,Unternehmensprofil
Company History,Unternehmensgeschichte
Company History Heading,Unternehmensgeschichte Überschrift
Company Info,Firmeninfo
Company Introduction,Vorstellung der Gesellschaft
Company Master.,Firma Meister.
Company Name,Firmenname
Company Settings,Gesellschaft Einstellungen
Company branches.,Unternehmen Niederlassungen.
Company departments.,Abteilungen des Unternehmens.
Company is missing or entered incorrect value,Unternehmen fehlt oder falsch eingegeben Wert
Company mismatch for Warehouse,Unternehmen Mismatch für Warehouse
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.
Complaint,Beschwerde
Complete,Vervollständigen
Complete By,Complete von
Completed,Fertiggestellt
Completed Qty,Abgeschlossene Menge
Completion Date,Datum der Fertigstellung
Completion Status,Completion Status
Confirmed orders from Customers.,Bestätigte Bestellungen von Kunden.
Consider Tax or Charge for,Betrachten Sie Steuern oder Gebühren für die
"Consider this Price List for fetching rate. (only which have ""For Buying"" as checked)","Betrachten Sie diese Preisliste für das Abrufen bewerten. (Nur die haben ""für den Kauf"", wie geprüft)"
Considered as Opening Balance,Er gilt als Eröffnungsbilanz
Considered as an Opening Balance,Er gilt als einer Eröffnungsbilanz
Consultant,Berater
Consumed Qty,Verbrauchte Menge
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 Us Settings,Kontakt Settings
Contact in Future,Kontakt in Zukunft
"Contact options, like ""Sales Query, Support Query"" etc each on a new line or separated by commas.","Kontakt Optionen, wie ""Sales Query, Support-Anfrage"" etc jeweils auf einer neuen Zeile oder durch Kommas getrennt."
Contacted,Kontaktiert
Content,Inhalt
Content Type,Content Type
Content in markdown format that appears on the main side of your page,"Content in markdown Format, das auf der Hauptseite Ihrer Seite"
Content web page.,Inhalt Web-Seite.
Contra Voucher,Contra Gutschein
Contract End Date,Contract End Date
Contribution (%),Anteil (%)
Contribution to Net Total,Beitrag zum Net Total
Control Panel,Control Panel
Conversion Factor,Umrechnungsfaktor
Conversion Rate,Conversion Rate
Convert into Recurring Invoice,Konvertieren in Wiederkehrende Rechnung
Converted,Umgerechnet
Copy,Kopieren
Copy From Item Group,Kopieren von Artikel-Gruppe
Copyright,Copyright
Core,Kern
Cost Center,Kostenstellenrechnung
Cost Center Details,Kosten Center Details
Cost Center Name,Kosten Center Name
Cost Center is mandatory for item: ,Kostenstelle ist obligatorisch für Artikel:
Cost Center must be specified for PL Account: ,Cost Center muss für PL Konto angegeben werden:
Cost to Company,Kosten Unternehmen
Costing,Kalkulation
Country,Land
Country Name,Land Name
Create,Schaffen
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 Production Orders,Erstellen Fertigungsaufträge
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 a price list from Price List master and enter standard ref rates against each of them. On selection of a price list in Quotation, Sales Order or Delivery Note, corresponding ref rate will be fetched for this item.","Erstellen Sie eine Preisliste von Preisliste Master und geben Sie Standard-ref Preise gegen jeden von ihnen. Bei Auswahl einer Preisliste Angebot, Auftrag oder Lieferschein, werden entsprechende ref für dieser Artikel abgeholt werden."
Create and Send Newsletters,Erstellen und Senden Newsletters
Created Account Head: ,Erstellt Konto Head:
Created By,Erstellt von
Created Customer Issue,Erstellt Kunde Ausgabe
Created Group ,Erstellt Gruppe
Created Opportunity,Erstellt Chance
Created Support Ticket,Erstellt Support Ticket
Creates salary slip for above mentioned criteria.,Erstellt Gehaltsabrechnung für die oben genannten Kriterien.
Credentials,Referenzen
Credit,Kredit
Credit Amt,Kredit-Amt
Credit Card Voucher,Credit Card Gutschein
Credit Controller,Credit Controller
Credit Days,Kredit-Tage
Credit Limit,Kreditlimit
Credit Note,Gutschrift
Credit To,Kredite an
Cross Listing of Item in multiple groups,Überqueren Auflistung der Artikel in mehreren Gruppen
Currency,Währung
Currency Exchange,Geldwechsel
Currency Format,Währung Format
Currency Name,Währung Name
Currency Settings,Währung Einstellungen
Currency and Price List,Währungs-und Preisliste
Currency does not match Price List Currency for Price List,Währung nicht mit Preisliste Währung für Preisliste
Current Accommodation Type,Aktuelle Unterkunftstyp
Current Address,Aktuelle Adresse
Current BOM,Aktuelle Stückliste
Current Fiscal Year,Laufenden Geschäftsjahr
Current Stock,Aktuelle Stock
Current Stock UOM,Aktuelle Stock UOM
Current Value,Aktueller Wert
Current status,Aktueller Status
Custom,Brauch
Custom Autoreply Message,Benutzerdefinierte Autoreply Nachricht
Custom CSS,Custom CSS
Custom Field,Custom Field
Custom Message,Custom Message
Custom Reports,Benutzerdefinierte Berichte
Custom Script,Custom Script
Custom Startup Code,Benutzerdefinierte Startup Code
Custom?,Custom?
Customer,Kunde
Customer (Receivable) Account,Kunde (Forderungen) Konto
Customer / Item Name,Kunde / Item Name
Customer Account,Kundenkonto
Customer Account Head,Kundenkonto Kopf
Customer Address,Kundenadresse
Customer Addresses And Contacts,Kundenadressen und Kontakte
Customer Code,Customer Code
Customer Codes,Kunde Codes
Customer Details,Customer Details
Customer Discount,Kunden-Rabatt
Customer Discounts,Kunden Rabatte
Customer Feedback,Kundenfeedback
Customer Group,Customer Group
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 Type,Kundentyp
Customer classification tree.,Einteilung der Kunden Baum.
Customer database.,Kunden-Datenbank.
Customer's Currency,Kunden Währung
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 Vendor,Kunden Hersteller
Customer's currency,Kunden Währung
"Customer's currency - If you want to select a currency that is not the default currency, then you must also specify the Currency Conversion Rate.","Kunden Währung - Wenn Sie eine Währung, die nicht die Standard-Währung auswählen wollen, dann müssen Sie auch die Currency Conversion Rate."
Customers Not Buying Since Long Time,Kunden Kaufen nicht seit langer Zeit
Customerwise Discount,Customerwise Discount
Customize,Anpassen
Customize Form,Formular anpassen
Customize Form Field,Passen Form Field
"Customize Label, Print Hide, Default etc.","Passen Label, Print Hide, Standard, etc."
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,DN
DN Detail,DN Detailansicht
Daily,Täglich
Daily Event Digest is sent for Calendar Events where reminders are set.,Täglich Termin Digest ist für Kalendereintrag wo Erinnerungen eingestellt gesendet.
Daily Time Log Summary,Täglich Log Zusammenfassung
Danger,Gefahr
Data,Daten
Data missing in table,Fehlende Daten in der Tabelle
Database,Datenbank
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 and Number Settings,Datum und Anzahl Einstellungen
Date is repeated,Datum wird wiederholt
Date must be in format,Datum muss im Format
Date of Birth,Geburtsdatum
Date of Issue,Datum der Ausgabe
Date of Joining,Datum der Verbindungstechnik
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"
Date on which the lead was last contacted,"Datum, an dem das Blei letzten kontaktiert wurde"
Dates,Termine
Datetime,Datetime
Days for which Holidays are blocked for this department.,"Tage, für die Feiertage sind für diese Abteilung blockiert."
Dealer,Händler
Dear,Liebe
Debit,Soll
Debit Amt,Debit Amt
Debit Note,Lastschrift
Debit To,Debit Um
Debit or Credit,Debit-oder Kreditkarten
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 Cash Account,Standard Cashkonto
Default Commission Rate,Standard Kommission bewerten
Default Company,Standard Unternehmen
Default Cost Center,Standard Kostenstelle
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 Home Page,Standard Home Page
Default Home Pages,Standard-Home-Pages
Default Income Account,Standard Income Konto
Default Item Group,Standard Element Gruppe
Default Price List,Standard Preisliste
Default Print Format,Standard Print Format
Default Purchase Account in which cost of the item will be debited.,Standard Purchase Konto in dem Preis des Artikels wird abgebucht.
Default Sales Partner,Standard Vertriebspartner
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 Valuation Method,Standard Valuation Method
Default Value,Default Value
Default Warehouse,Standard Warehouse
Default Warehouse is mandatory for Stock Item.,Standard Warehouse ist obligatorisch für Lagerware.
Default settings for Shopping Cart,Standardeinstellungen für Einkaufswagen
"Default: ""Contact Us""",Default: &quot;Kontaktieren Sie uns&quot;
DefaultValue,DefaultValue
Defaults,Defaults
"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>"
Defines actions on states and the next step and allowed roles.,Definiert Aktionen auf Staaten und den nächsten Schritt und erlaubt Rollen.
Defines workflow states and rules for a document.,Definiert Workflow-Status und Regeln für ein Dokument.
Delete,Löschen
Delete Row,Zeile löschen
Delivered,Lieferung
Delivered Items To Be Billed,Liefergegenstände in Rechnung gestellt werden
Delivered Qty,Geliefert Menge
Delivery Address,Lieferanschrift
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 Packing Item,Lieferschein Verpackung Artikel
Delivery Note Required,Lieferschein erforderlich
Delivery Note Trends,Lieferschein Trends
Delivery Status,Lieferstatus
Delivery Time,Lieferzeit
Delivery To,Liefern nach
Department,Abteilung
Depend on LWP,Verlassen Sie sich auf LWP
Depends On,Depends On
Depends on LWP,Abhängig von LWP
Descending,Absteigend
Description,Beschreibung
Description HTML,Beschreibung HTML
"Description for listing page, in plain text, only a couple of lines. (max 140 characters)","Beschreibung für die Auflistung Seite, im Klartext, nur ein paar Zeilen. (Max 140 Zeichen)"
Description for page header.,Beschreibung für Seitenkopf.
Description of a Job Opening,Beschreibung eines Job Opening
Designation,Bezeichnung
Desktop,Desktop
Detailed Breakup of the totals,Detaillierte Breakup der Gesamtsummen
Details,Details
Deutsch,Deutsch
Did not add.,Haben Sie nicht hinzuzufügen.
Did not cancel,Haben Sie nicht abbrechen
Did not save,Nicht speichern
Difference,Unterschied
"Different ""States"" this document can exist in. Like ""Open"", ""Pending Approval"" etc.","Different ""Staaten"" in diesem Dokument existieren kann in. Gefällt mir ""Open"", ""Pending Approval"" etc."
Disable Customer Signup link in Login page,Deaktivieren Kunde anmelden Link in Login-Seite
Disable Rounded Total,Deaktivieren Abgerundete insgesamt
Disable Signup,Deaktivieren Anmelden
Disabled,Behindert
Discount  %,Discount%
Discount %,Discount%
Discount (%),Rabatt (%)
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Discount Felder werden in der Bestellung, Kaufbeleg Kauf Rechnung verfügbar"
Discount(%),Rabatt (%)
Display,Anzeige
Display Settings,Display-Einstellungen
Display all the individual items delivered with the main items,Alle anzeigen die einzelnen Punkte mit den wichtigsten Liefergegenstände
Distinct unit of an Item,Separate Einheit eines Elements
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 show any symbol like $ etc next to currencies.,Zeigen keine Symbol wie $ etc neben Währungen.
Doc Name,Doc Namen
Doc Status,Doc-Status
Doc Type,Doc Type
DocField,DocField
DocPerm,DocPerm
DocType,DOCTYPE
DocType Details,DocType Einzelheiten
DocType is a Table / Form in the application.,DocType ist eine Tabelle / Formular in der Anwendung.
DocType on which this Workflow is applicable.,"DOCTYPE, auf denen diese Workflow-anwendbar ist."
DocType or Field,DocType oder Field
Document,Dokument
Document Description,Document Beschreibung
Document Status transition from ,Document Status Übergang von
Document Type,Document Type
Document is only editable by users of role,Dokument ist nur editierbar Nutzer Rolle
Documentation,Dokumentation
Documentation Generator Console,Documentation Generator Console
Documentation Tool,Documentation Tool
Documents,Unterlagen
Domain,Domain
Download Backup,Download von Backup
Download Materials Required,Herunterladen benötigte Materialien
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.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 modifizierte file.All Termine und Mitarbeiter Kombination in der gewählten Zeit wird in der Vorlage zu kommen, mit den bestehenden Anwesenheitslisten"
Draft,Entwurf
Drafts,Dame
Drag to sort columns,Ziehen Sie Spalten sortieren
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox-Zugang erlaubt
Dropbox Access Key,Dropbox Access Key
Dropbox Access Secret,Dropbox Zugang Geheimnis
Due Date,Due Date
EMP/,EMP /
ESIC CARD No,ESIC CARD Nein
ESIC No.,ESIC Nr.
Earning,Earning
Earning & Deduction,Earning & Abzug
Earning Type,Earning Typ
Earning1,Earning1
Edit,Bearbeiten
Editable,Editable
Educational Qualification,Educational Qualifikation
Educational Qualification Details,Educational Qualifikation Einzelheiten
Eg. smsgateway.com/api/send_sms.cgi,Eg. smsgateway.com / api / send_sms.cgi
Email,E-Mail
Email (By company),Email (nach Unternehmen)
Email Digest,Email Digest
Email Digest Settings,Email Digest Einstellungen
Email Host,E-Mail-Host
Email Id,Email Id
"Email Id must be unique, already exists for: ","E-Mail-ID muss eindeutig sein, bereits für:"
"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 Login,E-Mail Anmelden
Email Password,E-Mail Passwort
Email Sent,E-Mail gesendet
Email Sent?,E-Mail gesendet?
Email Settings,E-Mail-Einstellungen
Email Settings for Outgoing and Incoming Emails.,E-Mail-Einstellungen für ausgehende und eingehende E-Mails.
Email Signature,E-Mail Signatur
Email Use SSL,E-Mail verwenden SSL
"Email addresses, separted by commas",E-Mail-Adressen durch Komma separted
Email ids separated by commas.,E-Mail-IDs durch Komma getrennt.
"Email settings for jobs email id ""jobs@example.com""","E-Mail-Einstellungen für Jobs email id ""jobs@example.com"""
"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"""
Email...,E-Mail ...
Embed image slideshows in website pages.,Einbetten Bild Diashows in Web-Seiten.
Emergency Contact Details,Notfall Kontakt
Emergency Phone Number,Notrufnummer
Employee,Mitarbeiter
Employee Birthday,Angestellter Geburtstag
Employee Designation.,Mitarbeiter Bezeichnung.
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 Setup,Mitarbeiter-Setup
Employee Type,Arbeitnehmertyp
Employee grades,Mitarbeiter-Typen
Employee record is created using selected field. ,Mitarbeiter Datensatz erstellt anhand von ausgewählten Feld.
Employee records.,Mitarbeiter-Datensätze.
Employee: ,Mitarbeiter:
Employees Email Id,Mitarbeiter Email Id
Employment Details,Beschäftigung Einzelheiten
Employment Type,Beschäftigungsart
Enable Auto Inventory Accounting,Enable Auto Vorratsbuchhaltung
Enable Shopping Cart,Aktivieren Einkaufswagen
Enabled,Aktiviert
Enables <b>More Info.</b> in all documents,Ermöglicht <b> Mehr Info. </ B> in alle Dokumente
Encashment Date,Inkasso Datum
End Date,Enddatum
End date of current invoice's period,Ende der laufenden Rechnung der Zeit
End of Life,End of Life
Ends on,Endet am
Enter Email Id to receive Error Report sent by users.E.g.: support@iwebnotes.com,Ihre Email-Id Fehler Bericht users.Eg geschickt bekommen: support@iwebnotes.com
Enter Form Type,Geben Formulartyp
Enter Row,Geben Row
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 default value fields (keys) and values. If you add multiple values for a field, the first one will be picked. These defaults are also used to set ""match"" permission rules. To see list of fields, go to <a href=""#Form/Customize Form/Customize Form"">Customize Form</a>.","Geben Standardwert Felder (keys) und Werten. Wenn Sie mehrere Werte für ein Feld hinzufügen, wird die erste abgeholt werden. Diese Standardwerte werden auch verwendet, um ""match"" permission Regeln. Um eine Liste der Felder zu sehen, <a gehen href=""#Form/Customize Form/Customize Form""> Formular anpassen </ a>."
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 the date by which payments from customer is expected against this invoice.,Geben Sie das Datum der Zahlungen von Kunden gegen diese Rechnung erwartet wird.
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
Entries,Einträge
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."
Error,Fehler
Error for,Fehler für
Error: Document has been modified after you have opened it,"Fehler: Dokument wurde geändert, nachdem Sie es geöffnet haben"
Estimated Material Cost,Geschätzter Materialkalkulationen
Event,Veranstaltung
Event End must be after Start,Termin Ende muss nach Anfang sein
Event Individuals,Event Personen
Event Role,Event Rolle
Event Roles,Event Rollen
Event Type,Ereignistyp
Event User,Ereignis Benutzer
Events In Today's Calendar,Events in der heutigen Kalender
Every Day,Every Day
Every Month,Jeden Monat
Every Week,Jede Woche
Every Year,Jährlich
Everyone can read,Jeder kann lesen
Example:,Beispiel:
Exchange Rate,Wechselkurs
Excise Page Number,Excise Page Number
Excise Voucher,Excise Gutschein
Exemption Limit,Freigrenze
Exhibition,Ausstellung
Existing Customer,Bestehende Kunden
Exit,Verlassen
Exit Interview Details,Verlassen Interview Einzelheiten
Expected,Voraussichtlich
Expected Delivery Date,Voraussichtlicher Liefertermin
Expected End Date,Erwartete Enddatum
Expected Start Date,Frühestes Eintrittsdatum
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 Date,Expense Datum
Expense Details,Expense Einzelheiten
Expense Head,Expense Leiter
Expense account is mandatory for item: ,Expense Konto ist verpflichtend für Artikel:
Expense/Adjustment Account,Aufwand / Adjustment Konto
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
Export,Exportieren
Exports,Ausfuhr
External,Extern
Extract Emails,Auszug Emails
FCFS Rate,FCFS Rate
FIFO,FIFO
Facebook Share,Facebook
Failed: ,Failed:
Family Background,Familiärer Hintergrund
FavIcon,FavIcon
Fax,Fax
Features Setup,Features Setup
Feed,Füttern
Feed Type,Eingabetyp
Feedback,Rückkopplung
Female,Weiblich
Fetch lead which will be converted into customer.,"Fetch Blei, die in Kunden konvertiert werden."
Field Description,Feld Beschreibung
Field Name,Feldname
Field Type,Feldtyp
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Feld in Lieferschein, Angebot, Sales Invoice, Sales Order"
"Field that represents the Workflow State of the transaction (if field is not present, a new hidden Custom Field will be created)","Feld, das den Workflow-Status der Transaktion darstellt (wenn das Feld nicht vorhanden ist, eine neue versteckte Custom Field wird erstellt)"
Fieldname,Fieldname
Fields,Felder
"Fields separated by comma (,) will be included in the<br /><b>Search By</b> list of Search dialog box","Felder durch ein Komma (,) getrennt werden in der <br /> Suche aufgenommen werden </ b> Liste der Such-Dialogfeld"
File,Datei
File Data,File Data
File Name,File Name
File Size,Dateigröße
File URL,File URL
File size exceeded the maximum allowed size,Dateigröße überschritten die maximal zulässige Größe
Files Folder ID,Dateien Ordner-ID
Filing in Additional Information about the Opportunity will help you analyze your data better.,"Die Einreichung in Weitere Informationen über die Möglichkeit wird Ihnen helfen, Ihre Daten analysieren besser."
Filing in Additional Information about the Purchase Receipt will help you analyze your data better.,"Die Einreichung in Zusätzliche Informationen über den Kaufbeleg wird Ihnen helfen, Ihre Daten analysieren besser."
Filling in Additional Information about the Delivery Note will help you analyze your data better.,"Ausfüllen Zusätzliche Informationen über den Lieferschein wird Ihnen helfen, Ihre Daten analysieren besser."
Filling in additional information about the Quotation will help you analyze your data better.,"Ausfüllen zusätzliche Informationen über das Angebot wird Ihnen helfen, Ihre Daten analysieren besser."
Filling in additional information about the Sales Order will help you analyze your data better.,"Ausfüllen zusätzliche Informationen über das Sales Order wird Ihnen helfen, Ihre Daten analysieren besser."
Filter,Filtern
Filter By Amount,Filtern nach Betrag
Filter By Date,Nach Datum filtern
Filter based on customer,Filtern basierend auf Kunden-
Filter based on item,Filtern basierend auf Artikel
Final Confirmation Date,Final Confirmation Datum
Financial Analytics,Financial Analytics
Financial Statements,Financial Statements
First Name,Vorname
First Responded On,Zunächst reagierte am
Fiscal Year,Geschäftsjahr
Fixed Asset Account,Fixed Asset Konto
Float,Schweben
Float Precision,Gleitkommatgenauigkeit
Follow via Email,Folgen Sie via E-Mail
Following Journal Vouchers have been created automatically,Nach Journal Gutscheine wurden automatisch erstellt
"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."
Font (Heading),Font (Überschrift)
Font (Text),Font (Text)
Font Size (Text),Schriftgröße (Text)
Fonts,Fonts
Footer,Fußzeile
Footer Items,Footer Artikel
For All Users,Für alle Benutzer
For Company,Für Unternehmen
For Employee,Für Mitarbeiter
For Employee Name,Für Employee Name
For Item ,Für Artikel
"For Links, enter the DocType as rangeFor Select, enter list of Options separated by comma","Für Links, geben Sie die DocType als rangeFor Select, geben Liste der Optionen durch Komma getrennt"
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 Territory,Für Territory
For UOM,Für Verpackung
For Warehouse,Für Warehouse
"For comparative filters, start with","Für vergleichende Filter, mit zu beginnen"
"For e.g. 2012, 2012-13","Für z.B. 2012, 2012-13"
For example if you cancel and amend 'INV004' it will become a new document 'INV004-1'. This helps you to keep track of each amendment.,"Zum Beispiel, wenn Sie stornieren und ändern 'INV004' wird es ein neues Dokument 'INV004-1' geworden. Dies hilft Ihnen, den Überblick über jede Änderung zu halten."
For example: You want to restrict users to transactions marked with a certain property called 'Territory',"Zum Beispiel: Sie möchten, dass Benutzer auf Geschäfte mit einer bestimmten Eigenschaft namens ""Territory"" markiert beschränken"
For opening balance entry account can not be a PL account,Für Eröffnungsbilanz Eintrag Konto kann nicht ein PL-Konto sein
For ranges,Für Bereiche
For reference,Als Referenz
For reference only.,Nur als Referenz.
For row,Für Zeile
"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"
Form,Form
Format: hh:mm example for one hour expiry set as 01:00. Max expiry will be 72 hours. Default is 24 hours,Format: hh: mm Beispiel für 1 Stunde Ablauf als 1.00 eingestellt. Max Ablauf wird 72 Stunden. Standardwert ist 24 Stunden
Forum,Forum
Fraction,Bruchteil
Fraction Units,Fraction Units
Freeze Stock Entries,Frieren Lager Einträge
Friday,Freitag
From,Von
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 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 PR Date,Von PR Datum
From Package No.,Von Package No
From Purchase Order,Von Bestellung
From Purchase Receipt,Von Kaufbeleg
From Sales Order,Von Sales Order
From Time,From Time
From Value,Von Wert
From Value should be less than To Value,Von Wert sollte weniger als To Value
Frozen,Eingefroren
Fulfilled,Erfüllte
Full Name,Vollständiger Name
Fully Completed,Vollständig ausgefüllte
GL Entry,GL Eintrag
GL Entry: Debit or Credit amount is mandatory for ,GL Entry: Debit-oder Kreditkarten Betrag ist verpflichtend für
GRN,GRN
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
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generieren Packzettel für Pakete geliefert werden. Verwendet, um Paket-Nummer, der Lieferumfang und sein Gewicht zu benachrichtigen."
Generates HTML to include selected image in the description,Erzeugt HTML ausgewählte Bild sind in der Beschreibung
Georgia,Georgia
Get,Holen Sie sich
Get Advances Paid,Holen Geleistete
Get Advances Received,Holen Erhaltene Anzahlungen
Get Current Stock,Holen Aktuelle Stock
Get From ,Holen Sie sich ab
Get Items,Holen Artikel
Get Last Purchase Rate,Get Last Purchase Rate
Get Non Reconciled Entries,Holen Non versöhnt Einträge
Get Outstanding Invoices,Holen Ausstehende Rechnungen
Get Purchase Receipt,Holen Kaufbeleg
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."
Give additional details about the indent.,Geben Sie weitere Details zu dem Gedankenstrich.
Global Defaults,Globale Defaults
Go back to home,Zurück nach Hause
Go to Setup > <a href='#user-properties'>User Properties</a> to set \			'territory' for diffent Users.,"Gehe zu> <a Richten href='#user-properties'> User Properties </ a> \ Gebiet ""für diffent Benutzer eingestellt."""
Goal,Ziel
Goals,Ziele
Goods received from Suppliers.,Wareneingang vom Lieferanten.
Google Analytics ID,Google Analytics ID
Google Drive,Google Drive
Google Drive Access Allowed,Google Drive Zugang erlaubt
Google Plus One,Google Plus One
Google Web Font (Heading),Google Web Font (Überschrift)
Google Web Font (Text),Google Web Font (Text)
Grade,Klasse
Graduate,Absolvent
Grand Total,Grand Total
Grand Total (Company Currency),Grand Total (Gesellschaft Währung)
Gratuity LIC ID,Gratuity LIC ID
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 or Ledger,Gruppe oder Ledger
Groups,Gruppen
HR,HR
HR Settings,HR-Einstellungen
HTML,HTML
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
Has Batch No,Hat Batch No
Has Child Node,Hat Child Node
Has Serial No,Hat Serial No
Header,Kopfzeile
Heading,Überschrift
Heading Text As,Unterwegs Text As
Heads (or groups) against which Accounting Entries are made and balances are maintained.,"Heads (oder Gruppen), gegen die Accounting-Einträge und sind Guthaben gehalten werden."
Health Concerns,Gesundheitliche Bedenken
Health Details,Gesundheit Details
Held On,Hielt
Help,Hilfe
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;)"
Helvetica Neue,Helvetica Neue
"Hence, maximum allowed Manufacturing Quantity",Daher maximal erlaubte Menge Fertigung
"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"
Hey there! You need to put at least one item in \				the item table.,Hey there! Sie müssen mindestens ein Element in \ dem Punkt Tisch zu legen.
Hey! All these items have already been invoiced.,Hey! Alle diese Elemente sind bereits in Rechnung gestellt.
Hey! There should remain at least one System Manager,Hey! Es sollte mindestens eine System-Manager bleiben
Hidden,Versteckt
Hide Actions,Ausblenden Aktionen
Hide Copy,Ausblenden kopieren
Hide Currency Symbol,Ausblenden Währungssymbol
Hide Email,Ausblenden Email
Hide Heading,Ausblenden Überschrift
Hide Print,Ausblenden drucken
Hide Toolbar,Symbolleiste ausblenden
High,Hoch
Highlight,Hervorheben
History,Geschichte
History In Company,Geschichte Im Unternehmen
Hold,Halten
Holiday,Urlaub
Holiday List,Ferienwohnung Liste
Holiday List Name,Ferienwohnung Name
Holidays,Ferien
Home,Zuhause
Home Page,Home Page
Home Page is Products,Home Page ist Products
Home Pages,Home Pages
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 Rate,Hour Rate
Hour Rate Consumable,Hour Rate Verbrauchsmaterial
Hour Rate Electricity,Hour Rate Strom
Hour Rate Labour,Hour Rate Labour
Hour Rate Rent,Hour Rate Miete
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"
How to upload,So laden
Hrvatski,Hrvatski
Human Resources,Human Resources
Hurray! The day(s) on which you are applying for leave \					coincide with holiday(s). You need not apply for leave.,"Hurra! Der Tag (e), an dem Sie verlassen \ zusammen mit Urlaub (s) bewerben. Sie müssen nicht für Urlaub beantragen."
I,Ich
ID (name) of the entity whose property is to be set,"ID (Name) des Unternehmens, dessen Eigenschaft gesetzt werden"
IDT,IDT
II,II
III,III
IN,IN
INV,INV
INV/10-11/,INV/10-11 /
ITEM,ITEM
IV,IV
Icon,Symbol
Icon will appear on the button,Icon wird auf der Schaltfläche angezeigt
Id of the profile will be the email.,Id des Profils wird die E-Mail.
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ücklisten definiert ist, wird die tatsächliche Stückliste des Pack als table.Available in Lieferschein und Sales Order angezeigt"
"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 a User does not have access at Level 0, then higher levels are meaningless","Wenn ein Benutzer keinen Zugriff auf Level 0, dann höheren Ebenen sind bedeutungslos"
"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, all other workflows become inactive.","Wenn aktiviert, werden alle anderen Workflows inaktiv."
"If checked, an email with an attached HTML format will be added to part of the EMail body as well as attachment. To only send as attachment, uncheck this.","Wenn aktiviert, wird eine E-Mail mit einer angehängten HTML-Format, einen Teil der EMail Körper sowie Anhang hinzugefügt werden. Um nur als Anhang zu senden, deaktivieren Sie diese."
"If checked, the Home page will be the default Item Group for the website.","Wenn aktiviert, wird die Startseite der Standard Artikel-Gruppe für die Website."
"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 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 image is selected, color will be ignored (attach first)","Wenn das Bild ausgewählt ist, wird die Farbe ignoriert (legen zuerst) werden"
If more than one package of the same type (for print),Wenn mehr als ein Paket des gleichen Typs (print)
If non standard port (e.g. 587),Wenn Nicht-Standard-Port (zum Beispiel 587)
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 not, create a","Wenn nicht, erstellen Sie eine"
"If set, data entry is only allowed for specified users. Else, entry is allowed for all users with requisite permissions.","Wenn gesetzt, wird die Dateneingabe nur für bestimmte Benutzer erlaubt. Else, wird der Eintritt für alle Benutzer mit den erforderlichen Berechtigungen erlaubt."
"If specified, send the newsletter using this email address","Wenn angegeben, senden sie den Newsletter mit dieser E-Mail-Adresse"
"If the 'territory' Link Field exists, it will give you an option to select it","Wenn das ""Gebiet"" Link Field existiert, wird es geben Sie eine Option, um sie auszuwählen"
"If the account is frozen, entries are allowed for the ""Account Manager"" only.","Wenn das Konto eingefroren ist, werden die Einträge für die ""Account Manager"" gestattet."
"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<br>Enables item QA Required and QA No in Purchase Receipt,Folgt man Qualitätsprüfung <br> Ermöglicht Artikel QA Erforderliche und QA 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<br>Enables item <b>Is Manufactured</b>,Wenn Sie in die produzierenden Aktivitäten <br> beinhalten Ermöglicht Artikel <b> hergestellt wird </ b>
Ignore,Ignorieren
Ignored: ,Ignoriert:
Image,Bild
Image Link,Link zum Bild
Image View,Bild anzeigen
Implementation Partner,Implementation Partner
Import,Importieren
Import Attendance,Import Teilnahme
Import Log,Import-Logbuch
Important dates and commitments in your project life cycle,Wichtige Termine und Verpflichtungen in Ihrem Projekt-Lebenszyklus
Imports,Imports
In Dialog,Im Dialog
In Filter,In Filter
In Hours,In Stunden
In List View,In Listenansicht
In Process,In Process
In Report Filter,Im Berichts-Filter
In Row,In Row
In Store,In Store
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."
In response to,Als Antwort auf
"In the Permission Manager, click on the button in the 'Condition' column for the Role you want to restrict.","In der Permission Manager, auf die Schaltfläche in der 'Bedingung' Spalte für die Rolle, die Sie einschränken möchten."
Incentives,Incentives
Incharge Name,InCharge Namen
Include holidays in Total no. of Working Days,Fügen Sie Urlaub in Summe nicht. der Arbeitstage
Income / Expense,Erträge / Aufwendungen
Income Account,Income Konto
Income Booked,Erträge gebucht
Income Year to Date,Income Jahr bis Datum
Income booked for the digest period,Erträge gebucht für die Auszugsperiodeninformation
Incoming,Eingehende
Incoming / Support Mail Setting,Incoming / Support Mail Setting
Incoming Rate,Incoming Rate
Incoming Time,Eingehende Zeit
Incoming quality inspection.,Eingehende Qualitätskontrolle.
Index,Index
Indicates that the package is a part of this delivery,"Zeigt an, dass das Paket ein Teil dieser Lieferung ist"
Individual,Einzelne
Individuals,Einzelpersonen
Industry,Industrie
Industry Type,Industry Typ
Info,Info
Insert After,Einfügen nach
Insert Code,Code einfügen
Insert Row,Zeile einfügen
Insert Style,Legen Stil
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 Status,Installation Status
Installation Time,Installation Time
Installation record for a Serial No.,Installation Rekord für eine Seriennummer
Installed Qty,Installierte Anzahl
Instructions,Anleitung
Int,Int
Integrations,Integrations
Interested,Interessiert
Internal,Intern
Introduce your company to the website visitor.,Präsentieren Sie Ihr Unternehmen auf der Website Besucher.
Introduction,Einführung
Introductory information for the Contact Us Page,Einführende Informationen für den Kontakt Seite
Invalid Delivery Note. Delivery Note should exist and should be in 				draft state. Please rectify and try again.,Ungültige Lieferschein. Lieferschein sollte vorhanden sein und sollte im Entwurf Zustand sein. Bitte korrigieren und versuchen Sie es erneut.
Invalid Email,Ungültige E-Mail
Invalid Email Address,Ungültige E-Mail-Adresse
Invalid Leave Approver,Ungültige Lassen Approver
Inventory,Inventar
Inverse,Umgekehrt
Invoice Date,Rechnungsdatum
Invoice Details,Rechnungsdetails
Invoice No,Rechnungsnummer
Invoice Period From Date,Rechnung ab Kaufdatum
Invoice Period To Date,Rechnung Zeitraum To Date
Is Active,Aktiv ist
Is Advance,Ist Advance
Is Asset Item,Ist Aktivposition
Is Cancelled,Wird abgebrochen
Is Carry Forward,Ist Carry Forward
Is Child Table,Ist Child Table
Is Default,Ist Standard
Is Encash,Ist einlösen
Is LWP,Ist LWP
Is Mandatory Field,Ist Pflichtfeld
Is Opening,Eröffnet
Is Opening Entry,Öffnet Eintrag
Is PL Account,Ist PL Konto
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 Single,Ist Single
Is Standard,Ist Standard
Is Stock Item,Ist Stock Item
Is Sub Contracted Item,Ist Sub Vertragsgegenstand
Is Subcontracted,Ist Fremdleistungen
Is Submittable,Ist Submittable
Is it a Custom DocType created by you?,Ist es ein Custom DocType von Ihnen erstellt?
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 is needed to fetch Item Details.,"Es wird benötigt, um Einzelteil-Details zu holen."
It was raised because the (actual + ordered + indented - reserved) 						quantity reaches re-order level when the following record was created,"Es wurde erhoben, weil die (tatsächliche + Bestellung + eingerückt - reserviert) Menge erreicht re-order-Ebene, wenn die folgenden Datensatz erstellt wurde"
Item,Artikel
Item Advanced,Erweiterte Artikel
Item Barcode,Barcode Artikel
Item Batch Nos,In Batch Artikel
Item Classification,Artikel Klassifizierung
Item Code,Item Code
Item Code (item_code) is mandatory because Item naming is not sequential.,"Item Code (item_code) ist zwingend erforderlich, da Artikel Nennung ist nicht sequentiell."
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 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 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 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 MwSt. Details
Item classification.,Artikel Klassifizierung.
Item to be manufactured or repacked,Artikel hergestellt oder umgepackt werden
Item will be saved by this name in the data base.,Einzelteil wird mit diesem Namen in der Datenbank gespeichert werden.
"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,Item-Wise Preisliste
Item-wise Last Purchase Rate,Artikel-wise Letzte Purchase Rate
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
Items,Artikel
"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
JSON,JSON
JV,JV
Javascript,Javascript
Javascript to append to the head section of the page.,"Javascript, um den Kopfteil der Seite anhängen."
Job Applicant,Job Applicant
Job Opening,Stellenangebot
Job Profile,Job Profil
Job Title,Berufsbezeichnung
"Job profile, qualifications required etc.","Job-Profil, etc. erforderlichen Qualifikationen."
Jobs Email Settings,Jobs per E-Mail Einstellungen
Journal Entries,Journal Entries
Journal Entry,Journal Entry
Journal Entry for inventory that is received but not yet invoiced,"Journal Entry für die Inventur, die empfangen, aber noch nicht in Rechnung gestellt"
Journal Voucher,Journal Gutschein
Journal Voucher Detail,Journal Voucher Detail
Journal Voucher Detail No,In Journal Voucher Detail
KRA,KRA
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Behalten Verkaufsaktionen. Verfolgen Sie Leads, Angebote, Sales Order etc von Kampagnen zu Return on Investment messen."
Keep a track of all communications,Halten Sie einen Überblick über alle Kommunikations-
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."
Key,Schlüssel
Key Performance Area,Key Performance Area
Key Responsibility Area,Key Responsibility Bereich
LEAD,FÜHREN
LEAD/10-11/,LEAD/10-11 /
LEAD/MUMBAI/,LEAD / MUMBAI /
LR Date,LR Datum
LR No,In LR
Label,Etikett
Label Help,Label Hilfe
Lacs,Lacs
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
Landing Page,Landing Page
Language,Sprache
Language preference for user interface (only if available).,Bevorzugte Sprache für die Benutzeroberfläche (nur falls vorhanden).
Last Contact Date,Letzter Kontakt Datum
Last IP,Letzte IP-
Last Login,Letzter Login
Last Name,Nachname
Last Purchase Rate,Last Purchase Rate
Lato,Lato
Lead,Führen
Lead Details,Blei Einzelheiten
Lead Lost,Führung verloren
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
Leave Allocation,Lassen Allocation
Leave Allocation Tool,Lassen Allocation-Tool
Leave Application,Lassen Anwendung
Leave Approver,Lassen Approver
Leave Approver can be one of,Lassen Approver kann einen der
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 Setup,Lassen Sie Setup-
Leave Type,Lassen Typ
Leave Type Name,Lassen Typ Name
Leave Without Pay,Unbezahlten Urlaub
Leave allocations.,Lassen Zuweisungen.
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 blank if considered for all grades,"Freilassen, wenn für alle Typen gilt als"
Leave blank if you have not decided the end date.,"Leer lassen, wenn Sie noch nicht entschieden haben, das Enddatum."
Leave by,Lassen Sie von
"Leave can be approved by users with Role, ""Leave Approver""","Kann von Benutzern mit Role zugelassen zu verlassen, ""Leave Approver"""
Ledger,Hauptbuch
Left,Links
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Legal Entity / Tochtergesellschaft mit einem separaten Kontenplan Zugehörigkeit zu der Organisation.
Letter Head,Briefkopf
Letter Head Image,Briefkopf Bild
Letter Head Name,Brief Leitung Name
Level,Ebene
"Level 0 is for document level permissions, higher levels for field level permissions.","Level 0 ist für Dokumenten-Berechtigungen, höhere für die Feldebene Berechtigungen."
Lft,Lft
Link,Link
Link to other pages in the side bar and next section,Link zu anderen Seiten in der Seitenleiste und im nächsten Abschnitt
Linked In Share,Linked In Teilen
Linked With,Verbunden mit
List,Liste
List items that form the package.,Diese Liste Artikel bilden das Paket.
List of holidays.,Liste der Feiertage.
List of patches executed,Liste der Patches ausgeführt
List of records in which this document is linked,Welche Liste der Datensätze in diesem Dokument verknüpft ist
List of users who can edit a particular Note,"Liste der Benutzer, die eine besondere Note bearbeiten können"
List this Item in multiple groups on the website.,Liste Diesen Artikel in mehrere Gruppen auf der Website.
Live Chat,Live-Chat
Load Print View on opening of an existing form,Legen Druckansicht beim Öffnen eines vorhandenen Formulars
Loading,Laden
Loading Report,Loading
Log,Anmelden
"Log of Activities performed by users against Tasks that can be used for tracking time, billing.","Protokoll der Aktivitäten von Nutzern gegen Aufgaben, die zur Zeiterfassung, Abrechnung verwendet werden können durchgeführt werden."
Log of Scheduler Errors,Melden von Fehlern Scheduler
Login After,Nach dem Login
Login Before,Login vor
Login Id,Login ID
Logo,Logo
Logout,Ausloggen
Long Text,Langtext
Lost Reason,Verlorene Reason
Low,Gering
Lower Income,Lower Income
Lucida Grande,Lucida Grande
MIS Control,MIS Kontrolle
MREQ-,MREQ-
MTN Details,MTN Einzelheiten
Mail Footer,Mail Footer
Mail Password,Mail Passwort
Mail Port,Mail Port
Mail Server,Mail Server
Main Reports,Haupt-Reports
Main Section,Main Section
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 Schedules,Wartungspläne
Maintenance Status,Wartungsstatus
Maintenance Time,Wartung Zeit
Maintenance Type,Wartung Type
Maintenance Visit,Wartung Besuch
Maintenance Visit Purpose,Wartung Visit Zweck
Major/Optional Subjects,Major / Wahlfächer
Make Bank Voucher,Machen Bankgutschein
Make Difference Entry,Machen Difference Eintrag
Make Time Log Batch,Nehmen Sie sich Zeit Log Batch
Make a new,Machen Sie einen neuen
Make sure that the transactions you want to restrict have a Link field 'territory' that maps to a 'Territory' master.,"Stellen Sie sicher, dass die Transaktionen, die Sie möchten, um die Link-Feld zu beschränken ""Gebiet"" haben, dass die Karten auf den ""Territory"" Master."
Male,Männlich
Manage cost of operations,Verwalten Kosten der Operationen
Manage exchange rates for currency conversion,Verwalten Wechselkurse für die Währungsumrechnung
Mandatory,Verpflichtend
"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
Manufacturer,Hersteller
Manufacturer Part Number,Hersteller-Teilenummer
Manufacturing,Herstellung
Manufacturing Quantity,Fertigung Menge
Margin,Marge
Marital Status,Familienstand
Market Segment,Market Segment
Married,Verheiratet
Mass Mailing,Mass Mailing
Master,Master
Master Name,Master Name
Master Type,Master Type
Masters,Masters
Match,Entsprechen
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 Date,Material Request Date
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 used to make this Stock Entry,"Material anfordern verwendet, um dieses Lager Eintrag machen"
Material Transfer,Material Transfer
Materials,Materialien
Materials Required (Exploded),Benötigte Materialien (Explosionszeichnung)
Materials Requirement Planning (MRP),Materialien Requirement Planning (MRP)
Max 500 rows only.,Max 500 Zeilen nur.
Max Attachments,Max Attachments
Max Days Leave Allowed,Max Leave Tage erlaubt
Max Discount (%),Discount Max (%)
"Meaning of Submit, Cancel, Amend","Bedeutung Absenden, Abbrechen, Amend"
Medium,Medium
"Menu items in the Top Bar. For setting the color of the Top Bar, go to <a href=""#Form/Style Settings"">Style Settings</a>","Menüpunkte in der oberen Leiste. Zum Einstellen der Farbe der Top Bar, zu gehen <a href=""#Form/Style Settings"">Style Einstellungen</a>"
Merge,Verschmelzen
Merge Into,Verschmelzen zu
Merge Warehouses,Merge Warehouses
Merging is only possible between Group-to-Group or 					Ledger-to-Ledger,"Merging ist nur möglich, zwischen Gruppe-zu-Gruppe oder Ledger-to-Ledger"
"Merging is only possible if following \					properties are same in both records.					Group or Ledger, Debit or Credit, Is PL Account","Merging ist nur möglich, wenn nach \ Eigenschaften sind in beiden Datensätzen gleich. Gruppen-oder Ledger, Debit-oder Kreditkarten, PL Konto"
Message,Nachricht
Message Parameter,Nachricht Parameter
Message greater than 160 character will be splitted into multiple mesage,Größer als 160 Zeichen Nachricht in mehrere mesage aufgeteilt werden
Messages,Nachrichten
Method,Verfahren
Middle Income,Middle Income
Middle Name (Optional),Middle Name (Optional)
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
Millions,Millions
Min Order Qty,Mindestbestellmenge
Minimum Order Qty,Minimale Bestellmenge
Misc,Misc
Misc Details,Misc Einzelheiten
Miscellaneous,Verschieden
Miscelleneous,Miscelleneous
Mobile No,In Mobile
Mobile No.,Handy Nr.
Mode of Payment,Zahlungsweise
Modern,Moderne
Modified Amount,Geändert Betrag
Modified by,Geändert von
Module,Modul
Module Def,Module Def
Module Name,Modulname
Modules,Module
Monday,Montag
Month,Monat
Monthly,Monatlich
Monthly Attendance Sheet,Monatliche Anwesenheitsliste
Monthly Salary Register,Monatsgehalt Register
Monthly salary statement.,Monatsgehalt Aussage.
Monthly salary template.,Monatsgehalt Vorlage.
More,Mehr
More Details,Mehr Details
More Info,Mehr Info
More content for the bottom of the page.,Mehr Inhalte für die unten auf der Seite.
Moving Average,Moving Average
Moving Average Rate,Moving Average Rate
Mr,Herr
Ms,Ms
Multiple Item Prices,Mehrere Artikel Preise
Mupltiple Item prices.,Artikel Mupltiple Preisen.
Must be Whole Number,Muss ganze Zahl sein
Must have report permission to access this report.,"Muss Bericht Erlaubnis, diesen Bericht zugreifen."
Must specify a Query to run,Muss eine Abfrage angeben zu laufen
My Settings,Meine Einstellungen
NL-,NL-
Name,Name
Name Case,Name Gehäuse
Name and Description,Name und Beschreibung
Name and Employee ID,Name und Employee ID
Name as entered in Sales Partner master,Eingegebene Name in der Master-Vertriebspartner
Name is required,Name wird benötigt
Name of organization from where lead has come,"Name der Organisation, wo Blei hat kommen"
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
Name of the entity who has requested for the Material Request,"Name der Organisation, die für das Material-Anfrage angefordert hat"
Naming,Benennung
Naming Series,Benennen Series
Naming Series mandatory,Benennen Series obligatorisch
Negative balance is not allowed for account ,Negativer Saldo wird nicht für Konto erlaubt
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 can not be greater than 1/12th of Annual Cost To Company,Net Pay kann nicht größer sein als 1:12 von jährlichen Kosten für Unternehmen
Net pay can not be negative,Net Pay kann nicht negativ sein
Never,Nie
New,Neu
New BOM,New BOM
New Communications,New Communications
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 Password,New Password
New Projects,Neue Projekte
New Purchase Orders,New Bestellungen
New Purchase Receipts,New Kaufbelege
New Quotations,New Zitate
New Record,Neuer Rekord
New Sales Orders,New Sales Orders
New Stock Entries,New Stock Einträge
New Stock UOM,New Stock UOM
New Supplier Quotations,Neuer Lieferant Zitate
New Support Tickets,New Support Tickets
New Workplace,New Workplace
New value to be set,Neuer Wert eingestellt werden
Newsletter,Mitteilungsblatt
Newsletter Content,Newsletter Inhalt
Newsletter Status,Status Newsletter
"Newsletters to contacts, leads.",Newsletters zu Kontakten führt.
Next Communcation On,Weiter Communcation On
Next Contact By,Von Next Kontakt
Next Contact Date,Weiter Kontakt Datum
Next Date,Nächster Termin
Next State,Weiter State
Next actions,Nächste Veranstaltungen
Next email will be sent on:,Weiter E-Mail wird gesendet:
No,Auf
"No Account found in csv file, 							May be company abbreviation is not correct","Kein Konto in csv-Datei gefunden wird, kann sein Unternehmen Abkürzung ist nicht richtig"
No Action,In Aktion
No Communication tagged with this ,In dieser Mitteilung getaggt mit
No Copy,No Copy
No Customer Accounts found. Customer Accounts are identified based on \			'Master Type' value in account record.,Keine Kundenkonten gefunden. Kundenkonten werden basierend auf \ &#39;Master Type&#39; Wert in Kontodatensatz identifiziert.
No Item found with Barcode,Kein Artikel mit Barcode gefunden
No Items to Pack,Keine Einträge zu packen
No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user.,Kein genehmigende hinterlassen. Bitte weisen &#39;Leave Approver&#39; Rolle zu einem Benutzer atleast.
No Permission,In Permission
No Permission to ,In der Erlaubnis zur
No Permissions set for this criteria.,In die Berechtigungen für diese Kriterien.
No Report Loaded. Please use query-report/[Report Name] to run a report.,"Nein Missbrauch geladen. Bitte verwenden query-Bericht / [Report Name], um einen Bericht auszuführen."
No Supplier Accounts found. Supplier Accounts are identified based on \			'Master Type' value in account record.,Keine Lieferant Accounts gefunden. Lieferant Accounts basieren auf \ &#39;Master Type&#39; Wert in Kontodatensatz identifiziert.
No User Properties found.,In der User Properties gefunden.
No default BOM exists for item: ,Kein Standard BOM existiert für Artikel:
No further records,Keine weiteren Datensätze
No of Requested SMS,Kein SMS Erwünschte
No of Sent SMS,Kein SMS gesendet
No of Visits,Anzahl der Besuche
No one,Keiner
No permission to write / remove.,Keine Berechtigung zu schreiben / zu entfernen.
No record found,Kein Eintrag gefunden
No records tagged.,In den Datensätzen markiert.
No salary slip found for month: ,Kein Gehaltsabrechnung für den Monat gefunden:
"No table is created for Single DocTypes, all values are stored in tabSingles as a tuple.","Auf dem Tisch wird für Single doctypes erstellt wurden, werden alle Werte in den tabSingles das Tupel gespeichert."
None,Keine
None: End of Workflow,None: End of-Workflow
Not,Nicht
Not Active,Nicht aktiv
Not Applicable,Nicht zutreffend
Not Billed,Nicht Billed
Not Delivered,Nicht zugestellt
Not Found,Nicht gefunden
Not Linked to any record.,Nicht zu jedem Datensatz verknüpft.
Not Permitted,Nicht zulässig
Not allowed for: ,Nicht erlaubt sind:
Not enough permission to see links.,Nicht genügend Berechtigung Links zu sehen.
Not in Use,Nicht im Einsatz
Not interested,Kein Interesse
Not linked,Nicht verbunden
Note,Hinweis
Note User,Hinweis: User
Note is a free page where users can share documents / notes,"Hinweis ist eine kostenlose Seite, wo Nutzer Dokumente / Notizen austauschen können"
"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.","Hinweis: Backups und Dateien werden nicht von Dropbox gelöscht 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: Email will not be sent to disabled users,Hinweis: E-Mail wird nicht für behinderte Nutzer gesendet werden
"Note: For best results, images must be of the same size and width must be greater than height.","Hinweis: Für beste Ergebnisse, Bilder müssen die gleiche Größe und Breite muss größer sein als die Höhe."
Note: Other permission rules may also apply,Hinweis: Weitere Regeln können die Erlaubnis auch gelten
Note: You Can Manage Multiple Address or Contacts via Addresses & Contacts,Hinweis: Sie können mehrere Kontakte oder Adresse via Adressen & Kontakte verwalten
Note: maximum attachment size = 1mb,Hinweis: Die maximale Größe von Anhängen = 1mb
Notes,Aufzeichnungen
Nothing to show,"Nichts zu zeigen,"
Notice - Number of Days,Hinweis - Anzahl der Tage
Notification Control,Meldungssteuervorrichtung
Notification Email Address,Benachrichtigung per E-Mail-Adresse
Notify By Email,Benachrichtigen Sie Per E-Mail
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
O+,Die +
O-,O-
OPPT,OPPT
Office,Geschäftsstelle
Old Parent,Old Eltern
On,Auf
On Net Total,On Net Total
On Previous Row Amount,Auf Previous Row Betrag
On Previous Row Total,Auf Previous Row insgesamt
"Once you have set this, the users will only be able access documents with that property.","Sobald Sie dies eingestellt haben, werden die Benutzer nur Zugriff auf Dokumente mit dieser Eigenschaft sein."
Only Administrator allowed to create Query / Script Reports,"Nur Administrator erlaubt, Query / Script Reports erstellen"
Only Administrator can save a standard report. Please rename and save.,Nur Administrator können eine Standard-Bericht. Bitte benennen und zu speichern.
Only Allow Edit For,Für nur erlauben bearbeiten
Only Stock Items are allowed for Stock Entry,Nur Lagerware für lizenzfreie Eintrag erlaubt
Only System Manager can create / edit reports,Nur System-Manager können / Berichte bearbeiten
Only leaf nodes are allowed in transaction,Nur Blattknoten in Transaktion zulässig
Open,Öffnen
Open Sans,Offene Sans
Open Tickets,Open Tickets
Opening Date,Eröffnungsdatum
Opening Entry,Öffnungszeiten Eintrag
Opening Time,Öffnungszeit
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.)
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
Options,Optionen
Options Help,Optionen Hilfe
Order Confirmed,Bestellung bestätigt
Order Lost,Lost Order
Order Type,Auftragsart
Ordered Items To Be Billed,Bestellte Artikel in Rechnung gestellt werden
Ordered Items To Be Delivered,Bestellte Artikel geliefert werden
Ordered Quantity,Bestellte Menge
Orders released for production.,Bestellungen für die Produktion freigegeben.
Organization Profile,Organisation Profil
Original Message,Original Message
Other,Andere
Other Details,Weitere Details
Out,Heraus
Out of AMC,Von AMC
Out of Warranty,Außerhalb der Garantie
Outgoing,Abgehend
Outgoing Mail Server,Postausgangsserver
Outgoing Mails,Ausgehende Mails
Outstanding Amount,Ausstehenden Betrag
Outstanding for Voucher ,Hervorragend für Gutschein
Over Heads,Über Heads
Overhead,Oben
Overlapping Conditions found between,Überschneidungen zwischen AGB gefunden
Owned,Besitz
PAN Number,PAN-Nummer
PF No.,PF Nr.
PF Number,PF-Nummer
PI/2011/,PI/2011 /
PIN,PIN
PO,PO
POP3 Mail Server,POP3 Mail Server
POP3 Mail Server (e.g. pop.gmail.com),POP3 Mail Server (beispielsweise pop.gmail.com)
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 View,POS anzeigen
PR Detail,PR Detailansicht
PRO,PRO
PS,PS
Package Item Details,Package Artikeldetails
Package Items,Package Angebote
Package Weight Details,Paket-Details Gewicht
Packing Details,Verpackungs-Details
Packing Detials,Verpackung Detials
Packing List,Packliste
Packing Slip,Packzettel
Packing Slip Item,Packzettel Artikel
Packing Slip Items,Packzettel Artikel
Packing Slip(s) Cancelled,Verpackung Slip (s) Gelöscht
Page,Seite
Page Background,Seite Hintergrund
Page Border,Seite Border
Page Break,Seitenwechsel
Page HTML,HTML-Seite
Page Headings,Seite Rubriken
Page Links,Diese Seite Links
Page Name,Page Name
Page Role,Seite Role
Page Text,Seite Text
Page content,Seiteninhalt
Page not found,Seite nicht gefunden
Page text and background is same color. Please change.,Text und Hintergrund ist die gleiche Farbe. Bitte ändern.
Page to show on the website,Seite auf der Webseite zeigen
"Page url name (auto-generated) (add "".html"")","Seite url Namen (automatisch generierte) (zus. ""Html"")"
Paid Amount,Gezahlten Betrag
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 Label,Eltern Etikett
Parent Sales Person,Eltern Sales Person
Parent Territory,Eltern Territory
Parent is required.,Elternteil erforderlich.
Parenttype,ParentType
Partially Completed,Teilweise abgeschlossen
Participants,Die Teilnehmer
Partly Billed,Teilweise Billed
Partly Delivered,Teilweise Lieferung
Partner Target Detail,Partner Zieldetailbericht
Partner Type,Partner Typ
Partner's Website,Partner Website
Passive,Passive
Passport Number,Passnummer
Password,Kennwort
Password Expires in (days),Kennwort läuft ab in (Tage)
Patch,Fleck
Patch Log,Anmelden Patch-
Pay To / Recd From,Pay To / From RECD
Payables,Verbindlichkeiten
Payables Group,Verbindlichkeiten Gruppe
Payment Collection With Ageing,Inkasso Mit Ageing
Payment Days,Zahltage
Payment Entries,Payment Einträge
Payment Entry has been modified after you pulled it. 			Please pull it again.,"Payment Eintrag wurde geändert, nachdem Sie ihn gezogen. Bitte ziehen Sie es erneut."
Payment Made With Ageing,Zahlung Mit Ageing Gemacht
Payment Reconciliation,Payment Versöhnung
Payment Terms,Zahlungsbedingungen
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 Setup,Payroll-Setup
Pending,Schwebend
Pending Review,Bis Bewertung
Pending SO Items For Purchase Request,Ausstehend SO Artikel zum Kauf anfordern
Percent,Prozent
Percent Complete,Percent Complete
Percentage Allocation,Prozentuale Aufteilung
Percentage Allocation should be equal to ,Prozentuale Aufteilung sollte gleich
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 Closing Voucher,Periodenverschiebung Gutschein
Periodicity,Periodizität
Perm Level,Perm Stufe
Permanent Accommodation Type,Permanent Art der Unterkunft
Permanent Address,Permanent Address
Permission,Permission
Permission Level,Berechtigungsstufe
Permission Levels,Berechtigungsstufen
Permission Manager,Permission Manager
Permission Rules,Permission-Regeln
Permissions,Berechtigungen
Permissions Settings,Berechtigungen Einstellungen
Permissions are automatically translated to Standard Reports and Searches,Berechtigungen werden automatisch auf Standard Reports und Suchen übersetzt
"Permissions are set on Roles and Document Types (called DocTypes) by restricting read, edit, make new, submit, cancel, amend and report rights.","Berechtigungen für Rollen und Dokumenttypen (genannt doctypes) werden durch die Beschränkung lesen, bearbeiten, neue gesetzt, einreichen, abzubrechen, und Bericht Amend Rechte."
Permissions at higher levels are 'Field Level' permissions. All Fields have a 'Permission Level' set against them and the rules defined at that permissions apply to the field. This is useful incase you want to hide or make certain field read-only.,"Berechtigungen sind auf höheren Ebenen 'Level Field' Berechtigungen. Alle Felder haben eine ""Permission Level 'Satz gegen sie und die Regeln zu diesem definierten Berechtigungen gelten für das Feld. Dies ist nützlich, falls man sich zu verstecken oder zu bestimmten Gebiet nur gelesen werden soll."
"Permissions at level 0 are 'Document Level' permissions, i.e. they are primary for access to the document.","Berechtigungen sind auf Stufe 0 'Level Document ""-Berechtigungen, dh sie sind für die primäre Zugang zu dem Dokument."
Permissions translate to Users based on what Role they are assigned,"Berechtigungen für Benutzer auf, welche Rolle sie zugeordnet sind, basiert übersetzen"
Person,Person
Person To Be Contacted,Person kontaktiert werden
Personal,Persönliche
Personal Details,Persönliche Details
Personal Email,Persönliche E-Mail
Phone,Telefon
Phone No,Phone In
Phone No.,Telefon Nr.
Pick Columns,Wählen Sie Spalten
Pincode,Pincode
Place of Issue,Ausstellungsort
Plan for maintenance visits.,Plan für die Wartung Besuche.
Planned Qty,Geplante Menge
Planned Quantity,Geplante Menge
Plant,Pflanze
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,Bitte geben Abkürzung oder das Kurzer Name enquiry.c es auf alle Suffix Konto Heads hinzugefügt werden.
Please Update Stock UOM with the help of Stock UOM Replace Utility.,Bitte aktualisiere Lager Verpackung mit Hilfe von Auf UOM ersetzen Dienstprogramm.
Please attach a file first.,Bitte fügen Sie eine Datei zuerst.
Please attach a file or set a URL,Bitte fügen Sie eine Datei oder stellen Sie eine URL
Please check,Bitte überprüfen Sie
Please enter Default Unit of Measure,Bitte geben Sie Standard Maßeinheit
Please enter Delivery Note No or Sales Invoice No to proceed,"Bitte geben Sie Lieferschein oder No Sales Invoice Nein, um fortzufahren"
Please enter Expense Account,Bitte geben Sie Expense Konto
Please enter Expense/Adjustment Account,Bitte geben Sie Aufwand / Adjustment Konto
Please enter Purchase Receipt No to proceed,"Bitte geben Kaufbeleg Nein, um fortzufahren"
Please enter valid,Bitte geben Sie eine gültige
Please enter valid ,Bitte geben Sie eine gültige
Please install dropbox python module,Bitte installieren Sie Dropbox Python-Modul
Please make sure that there are no empty columns in the file.,"Bitte stellen Sie sicher, dass es keine leeren Spalten in der Datei."
Please mention default value for ',Bitte erwähnen Standardwert für &#39;
Please reduce qty.,Bitte reduzieren Menge.
Please refresh to get the latest document.,Bitte aktualisieren Sie das neueste Dokument zu erhalten.
Please save the Newsletter before sending.,Bitte bewahren Sie den Newsletter vor dem Versenden.
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 Date on which you want to run the report,"Bitte wählen Sie Datum, an dem Sie den Bericht ausführen"
Please select Time Logs.,Bitte wählen Sie Zeit Logs.
Please select a,Bitte wählen Sie eine
Please select a csv file,Bitte wählen Sie eine CSV-Datei
Please select a file or url,Bitte wählen Sie eine Datei oder URL
Please select a service item or change the order type to Sales.,"Bitte wählen Sie einen Dienst Artikel oder die Reihenfolge ändern, Typ Sales."
Please select a sub-contracted item or do not sub-contract the transaction.,Bitte wählen Sie einen Artikel Unteraufträge vergeben werden oder nicht sub-contract die Transaktion.
Please select a valid csv file with data.,Bitte wählen Sie eine gültige CSV-Datei mit Daten.
Please select month and year,Bitte wählen Sie Monat und Jahr
Please select the document type first,Bitte wählen Sie den Dokumententyp ersten
Please select: ,Bitte wählen Sie:
Please set Dropbox access keys in,Bitte setzen Dropbox Access Keys in
Please set Google Drive access keys in,Bitte setzen Google Drive Access Keys in
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 Company Master \ Global and Defaults
Please specify a,Bitte geben Sie eine
Please specify a Price List which is valid for Territory,Bitte geben Sie einen gültigen Preisliste für Territory ist
Please specify a valid,Bitte geben Sie eine gültige
Please specify a valid 'From Case No.',Bitte geben Sie eine gültige &quot;Von Fall Nr. &#39;
Please specify currency in Company,Bitte geben Sie die Währung in Unternehmen
Point of Sale,Point of Sale
Point-of-Sale Setting,Point-of-Sale-Einstellung
Post Graduate,Post Graduate
Post Topic,Beitrag Thema
Postal,Postal
Posting Date,Buchungsdatum
Posting Date Time cannot be before,"Buchungsdatum Zeit kann nicht sein, bevor"
Posting Time,Posting Zeit
Posts,Beiträge
Potential Sales Deal,Sales Potential Deal
Potential opportunities for selling.,Potenzielle Chancen für den Verkauf.
"Precision for Float fields (quantities, discounts, percentages etc) only for display. Floats will still be calculated up to 6 decimals.","Präzision ist Float Felder (quantities, Rabatte, Prozente etc) nur zur Anzeige. Floats noch bis zu 6 Dezimalstellen berechnet werden."
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 Work Experience,Berufserfahrung
Price,Preis
Price List,Preisliste
Price List Currency,Währung Preisliste
Price List Currency Conversion Rate,Preisliste Currency Conversion Rate
Price List Exchange Rate,Preisliste Wechselkurs
Price List Master,Meister Preisliste
Price List Name,Preis Name
Price List Rate,Preis List
Price List Rate (Company Currency),Preisliste Rate (Gesellschaft Währung)
Price Lists and Rates,Preislisten und Preise
Primary,Primär
Print Format,Drucken Format
Print Format Style,Druckformat Stil
Print Format Type,Drucken Format Type
Print Heading,Unterwegs drucken
Print Hide,Drucken ausblenden
Print Width,Druckbreite
Print Without Amount,Drucken ohne Amount
Print...,Drucken ...
Priority,Priorität
Private,Privat
Proceed to Setup,Gehen Sie auf Setup
Process,Prozess
Process Payroll,Payroll-Prozess
Produced Quantity,Produziert Menge
Product Enquiry,Produkt-Anfrage
Production Order,Fertigungsauftrag
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 (MRP),Production Planning (MRP)
Production Planning Tool,Production Planning-Tool
"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."
Profile,Profil
Profile Defaults,Profil Defaults
Profile Represents a User in the system.,Stellt ein Benutzerprofil im System.
Profile of a Blogger,Profil eines Blogger
Profile of a blog writer.,Profil eines Blog-Schreiber.
Project,Projekt
Project Costing,Projektkalkulation
Project Details,Project Details
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
Projected Qty,Prognostizierte Anzahl
Projects,Projekte
Prompt for Email on Submission of,Eingabeaufforderung für E-Mail auf Vorlage von
Properties,Eigenschaften
Property,Eigentum
Property Setter,Property Setter
Property Setter overrides a standard DocType or Field property,Property Setter überschreibt die Standard-DocType Feld oder Eigenschaft
Property Type,Art der Immobilie
Provide email id registered in company,Bieten E-Mail-ID in Unternehmen registriert
Public,Öffentlichkeit
Published,Veröffentlicht
Published On,Veröffentlicht am
Pull Emails from the Inbox and attach them as Communication records (for known contacts).,Ziehen Sie Emails aus dem Posteingang und bringen Sie die Kommunikation Them zeichnet (für bekannte Kontakte).
Pull Payment Entries,Ziehen Sie Payment Einträge
Pull items from Sales Order mentioned in the above table.,Ziehen Sie Elemente aus Sales Order in der obigen Tabelle erwähnt.
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 Analytics,Kauf Analytics
Purchase Common,Erwerb Eigener
Purchase Date,Kauf Datum
Purchase Details,Kaufinformationen
Purchase Discounts,Kauf Rabatte
Purchase Document No,Die Kaufdokument
Purchase Document Type,Kauf Document Type
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 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 sent by customer,Bestellung durch den Kunden geschickt
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 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
Purpose,Zweck
Purpose must be one of ,Zweck muss einer der
Python Module Name,Python Module Name
QA Inspection,QA Inspection
QAI/11-12/,QAI/11-12 /
QTN,QTN
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
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
Quantity,Menge
Quantity Requested for Purchase,Beantragten Menge für Kauf
Quantity already manufactured,Bereits Menge hergestellt
Quantity and Rate,Menge und Preis
Quantity and Warehouse,Menge und Warehouse
Quantity cannot be a fraction.,Menge kann nicht ein Bruchteil sein.
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 should be equal to Manufacturing Quantity. ,Sollte gleich Menge Menge Manufacturing.
Quarter,Quartal
Quarterly,Vierteljährlich
Query,Abfrage
Query Options,Abfrageoptionen
Query Report,Query Report
Query must be a SELECT,Abfrage muss ein SELECT sein
Quick Help for Setting Permissions,Schnelle Hilfe für Festlegen von Berechtigungen
Quick Help for User Properties,Schnelle Hilfe für User Properties
Quotation,Zitat
Quotation Date,Quotation Datum
Quotation Item,Zitat Artikel
Quotation Items,Angebotspositionen
Quotation Lost Reason,Zitat Passwort Reason
Quotation Message,Quotation Nachricht
Quotation Sent,Gesendete Quotation
Quotation Series,Zitat Series
Quotation To,Um Angebot
Quotation Trend,Zitat Trend
Quotations received from Suppliers.,Zitate von Lieferanten erhalten.
Quotes to Leads or Customers.,Zitate oder Leads zu Kunden.
Raise Material Request,Heben Material anfordern
Raise Material Request when stock reaches re-order level,"Heben Anfrage Material erreicht, wenn der Vorrat re-order-Ebene"
Raise Production Order,Heben Fertigungsauftrag
Raised By,Raised By
Raised By (Email),Raised By (E-Mail)
Random,Zufällig
Range,Reichweite
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 Item Code,Artikel Raw Material Code
Raw Materials Supplied,Rohstoffe verfügbar
Raw Materials Supplied Cost,Kostengünstige Rohstoffe geliefert
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
Read Only,Nur 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
Reason,Grund
Reason for Leaving,Grund für das Verlassen
Reason for Resignation,Grund zur Resignation
Recd Quantity,Menge RECD
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 Parameter,Empfänger Parameter
Recipient,Empfänger
Recipients,Empfänger
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
Ref Code,Ref Code
Ref Date is Mandatory if Ref Number is specified,"Ref Datum ist obligatorisch, wenn Ref-Nummer angegeben ist"
Ref DocType,Ref DocType
Ref Name,Ref Namen
Ref Rate,Ref Rate
Ref SQ,Ref SQ
Ref Type,Ref Type
Reference,Referenz
Reference Date,Stichtag
Reference Name,Reference Name
Reference Number,Reference Number
Reference Type,Referenztyp
Refresh,Erfrischen
Registered but disabled.,"Registriert, aber deaktiviert."
Registration Details,Registrierung Details
Registration Details Emailed.,Details zur Anmeldung zugeschickt.
Registration Info,Registrierung Info
Rejected,Abgelehnt
Rejected Quantity,Abgelehnt Menge
Rejected Serial No,Abgelehnt Serial In
Rejected Warehouse,Abgelehnt Warehouse
Relation,Relation
Relieving Date,Entlastung Datum
Relieving Date of employee is ,Entlastung Datum der Mitarbeiter ist
Remark,Bemerkung
Remarks,Bemerkungen
Remove Bookmark,Lesezeichen entfernen
Rename Log,Benennen Anmelden
Rename Tool,Umbenennen-Tool
Rename...,Benennen Sie ...
Rented,Gemietet
Repeat On,Wiederholen On
Repeat Till,Wiederholen Bis
Repeat on Day of Month,Wiederholen Sie auf Tag des Monats
Repeat this Event,Wiederholen Sie diesen Termin
Replace,Ersetzen
Replace Item / BOM in all BOMs,Ersetzen Item / BOM in allen Stücklisten
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM","Ersetzen Sie die insbesondere gut in allen anderen Stücklisten, wo sie verwendet wird. Es wird die alte BOM Link zu ersetzen, aktualisieren kosten und regenerieren ""Explosion Stücklistenposition"" Tabelle pro neuen GOOD"
Replied,Beantwortet
Report,Bericht
Report Builder,Report Builder
Report Builder reports are managed directly by the report builder. Nothing to do.,Report Builder-Berichte werden direkt vom Report Builder verwaltet. Nichts zu tun.
Report Date,Report Date
Report Hide,Ausblenden Bericht
Report Name,Report Name
Report Type,Melden Typ
Report was not saved (there were errors),Bericht wurde nicht gespeichert (es gab Fehler)
Reports,Reports
Reports to,Berichte an
Represents the states allowed in one document and role assigned to change the state.,Stellt die Zustände in einem Dokument und Veränderung zugewiesene Rolle des Staates erlaubt.
Reqd,Reqd
Reqd By Date,Reqd Nach Datum
Request Type,Art der Anfrage
Request for Information,Request for Information
Request for purchase.,Ankaufsgesuch.
Requested By,Angefordert von
Requested Items To Be Ordered,Erwünschte Artikel bestellt werden
Requested Items To Be Transferred,Erwünschte Objekte übertragen werden
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.
Reseller,Wiederverkäufer
Reserved Quantity,Reserviert Menge
Reserved Warehouse,Warehouse Reserved
Resignation Letter Date,Rücktrittsschreiben Datum
Resolution,Auflösung
Resolution Date,Resolution Datum
Resolution Details,Auflösung Einzelheiten
Resolved By,Gelöst von
Restrict IP,Beschränken IP
Restrict user from this IP address only. Multiple IP addresses can be added by separating with commas. Also accepts partial IP addresses like (111.111.111),Beschränken Sie Benutzer aus dieser IP-Adresse nur. Mehrere IP-Adressen können durch Trennung mit einem Komma hinzugefügt werden. Nimmt auch Teil einer IP-Adressen wie (111.111.111)
Restricting By User,Durch Einschränken von Benutzerrechten
Retail,Einzelhandel
Retailer,Einzelhändler
Review Date,Bewerten Datum
Rgt,Rgt
Right,Rechts
Role,Rolle
Role Allowed to edit frozen stock,Rolle erlaubt den gefrorenen bearbeiten
Role Name,Rolle Name
Role that is allowed to submit transactions that exceed credit limits set.,"Rolle, die erlaubt, Transaktionen, die Kreditlimiten gesetzt überschreiten vorlegen wird."
Roles,Rollen
Roles Assigned,Assigned Roles
Roles Assigned To User,Zugewiesenen Rollen Benutzer
Roles HTML,Rollen HTML
Root ,Wurzel
Root cannot have a parent cost center,Wurzel kann kein übergeordnetes Kostenstelle
Rounded Total,Abgerundete insgesamt
Rounded Total (Company Currency),Abgerundete Total (Gesellschaft Währung)
Row,Reihe
Row ,Reihe
Row #,Zeile #
Row # ,Zeile #
Rules defining transition of state in the workflow.,Regeln definieren Zustandsübergang im Workflow.
"Rules for how states are transitions, like next state and which role is allowed to change state etc.","Regeln für die Staaten sind Übergänge, wie neben Staat und welche Rolle darf Staates usw. ändern"
Rules to calculate shipping amount for a sale,Regeln zum Versand Betrag für einen Verkauf berechnen
SLE Exists,SLE Exists
SMS,SMS
SMS Center,SMS Center
SMS Control,SMS Control
SMS Gateway URL,SMS Gateway URL
SMS Log,SMS Log
SMS Parameter,SMS Parameter
SMS Parameters,SMS-Parameter
SMS Sender Name,SMS Absender Name
SMS Settings,SMS-Einstellungen
SMTP Server (e.g. smtp.gmail.com),SMTP Server (beispielsweise smtp.gmail.com)
SO,SO
SO Date,SO Datum
SO Pending Qty,SO Pending Menge
SO/10-11/,SO/10-11 /
SO1112,SO1112
SQTN,SQTN
STE,STE
SUP,SUP
SUPP,SUPP
SUPP/10-11/,SUPP/10-11 /
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 Structure,Gehaltsstruktur
Salary Structure Deduction,Gehaltsstruktur Abzug
Salary Structure Earning,Earning Gehaltsstruktur
Salary Structure Earnings,Ergebnis Gehaltsstruktur
Salary components.,Gehaltsbestandteile.
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 Common,Vertrieb Gemeinsame
Sales Details,Sales Details
Sales Discounts,Sales Rabatte
Sales Email Settings,Vertrieb E-Mail-Einstellungen
Sales Extras,Verkauf Extras
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 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 Trend,Sales Order Trend
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 Incharge,Sales Person Incharge
Sales Person Name,Sales Person Vorname
Sales Person Target Variance (Item Group-Wise),Sales Person Ziel Variance (Artikel-Nr. Gruppe-Wise)
Sales Person Targets,Sales Person Targets
Sales Person-wise Transaction Summary,Sales Person-wise Transaction Zusammenfassung
Sales Rate,Vertrieb bewerten
Sales Register,Verkäufe registrieren
Sales Return,Umsatzrendite
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,Sales-Kampagnen
Sales persons and targets,Vertriebsmitarbeiter und Ziele
Sales taxes template.,Umsatzsteuer-Vorlage.
Sales territories.,Vertriebsgebieten.
Salutation,Gruß
Same file has already been attached to the record,Gleiche Datei bereits auf den Rekordwert angebracht
Sample Size,Stichprobenumfang
Sanctioned Amount,Sanktioniert Betrag
Saturday,Samstag
Save,Sparen
Schedule,Planen
Schedule Details,Termine Details
Scheduled,Geplant
Scheduled Confirmation Date,Voraussichtlicher Bestätigung
Scheduled Date,Voraussichtlicher
Scheduler Log,Scheduler Log
School/University,Schule / Universität
Score (0-5),Score (0-5)
Score Earned,Ergebnis Bekommen
Scrap %,Scrap%
Script,Skript
Script Report,Script melden
Script Type,Script Type
Script to attach to all web pages.,Script auf alle Webseiten zu befestigen.
Search,Suchen
Search Fields,Search Fields
Seasonality for setting budgets.,Saisonalität setzt Budgets.
Section Break,Section Break
Security Settings,Security Settings
"See ""Rate Of Materials Based On"" in Costing Section",Siehe &quot;Rate Of Materials Based On&quot; in der Kalkulation Abschnitt
Select,Wählen
"Select ""Yes"" for sub - contracting items","Wählen Sie ""Ja"" für - Zulieferer Artikel"
"Select ""Yes"" if this item is to be sent to a customer or received from a supplier as a sample. Delivery notes and Purchase Receipts will update stock levels but there will be no invoice against this item.","Wählen Sie ""Ja"", wenn dieser Punkt ist es, an den Kunden gesendet oder empfangen werden vom Lieferanten auf die Probe. Lieferscheine und Kaufbelege werden aktualisiert Lagerbestände, aber es wird auf der Rechnung vor diesem Element sein."
"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 All,Alles auswählen
Select Attachments,Wählen Sie Attachments
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 Customer,Wählen Sie Kunde
Select Digest Content,Wählen Inhalt Digest
Select DocType,Wählen DocType
Select Document Type,Wählen Sie Document Type
Select Document Type or Role to start.,Wählen Sie Dokumenttyp oder Rolle zu beginnen.
Select PR,Select PR
Select Print Format,Wählen Sie Print Format
Select Print Heading,Wählen Sie Drucken Überschrift
Select Report Name,Wählen Sie Report Name
Select Role,Wählen Sie Rolle
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 Terms and Conditions,Wählen AGB
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 Type,Typ wählen
Select User or Property to start.,Wählen Sie Benutzer-oder Property zu starten.
Select a Banner Image first.,Wählen Sie ein Banner Bild zuerst.
Select account head of the bank where cheque was deposited.,"Wählen Sie den Kopf des Bankkontos, wo Kontrolle abgelagert wurde."
Select an image of approx width 150px with a transparent background for best results.,Wählen Sie ein Bild von ca. 150px Breite mit einem transparenten Hintergrund für beste Ergebnisse.
Select company name first.,Wählen Firmennamen erste.
Select dates to create a new ,"Wählen Sie ihre Reisedaten, um eine neue"
Select name of Customer to whom project belongs,"Wählen Sie den Namen des Kunden, dem gehört Projekts"
Select or drag across time slots to create a new event.,Wählen oder ziehen in Zeitfenstern um ein neues Ereignis zu erstellen.
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 currency in which price list is maintained,"Wählen Sie die Währung, in der Preisliste wird beibehalten"
Select the label after which you want to insert new field.,"Wählen Sie die Bezeichnung, die Sie nach dem Einfügen neuer Bereich."
Select the period when the invoice will be generated automatically,Wählen Sie den Zeitraum auf der Rechnung wird automatisch erzeugt werden
"Select the price list as entered in ""Price List"" master. This will pull the reference rates of items against this price list as specified in ""Item"" master.","Wählen Sie die Preisliste in der ""Preisliste"" Master eingetragen. Dadurch werden die Referenzkurse Artikel gegen diese Preisliste in der ""Item"" Master vorgegeben ziehen."
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"
"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 Invite Email,Senden Sie E-Mail einladen
Send Me A Copy,Senden Sie mir eine Kopie
Send Notifications To,Benachrichtigungen an
Send Print in Body and Attachment,Senden Drucker in Körper und Anhang
Send SMS,Senden Sie eine SMS
Send To,Send To
Send To Type,Send To Geben
Send an email reminder in the morning,Senden Sie eine E-Mail-Erinnerung in den Morgen
Send automatic emails to Contacts on Submitting transactions.,Senden Sie automatische E-Mails an Kontakte auf Einreichen Transaktionen.
Send mass SMS to your contacts,Senden Sie Massen-SMS an Ihre Kontakte
Send regular summary reports via Email.,Senden regelmäßige zusammenfassende Berichte per E-Mail.
Send to this list,Senden Sie zu dieser Liste
Sender,Absender
Sender Name,Absender Name
"Sending newsletters is not allowed for Trial users, \				to prevent abuse of this feature.","Newsletter versenden ist nicht für Trial Nutzer erlaubt, auf \ Prevent Missbrauch dieser Funktion."
Sent Mail,Gesendete E-Mails
Sent On,Sent On
Sent Quotation,Gesendete Quotation
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 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
Serialized Item: ',Serialisiert Item '
Series,Serie
Series List for this Transaction,Serien-Liste für diese Transaktion
Server,Server
Service Address,Service Adresse
Services,Dienstleistungen
Session Expired. Logging you out,Session abgelaufen. Sie werden abgemeldet
Session Expires in (time),Läuft in Session (Zeit)
Session Expiry,Session Verfall
Session Expiry in Hours e.g. 06:00,Session Verfall z. B. in Stunden 06.00
Set Banner from Image,Set Banner von Image
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 Login and Password if authentication is required.,"Stellen Sie Login und Passwort, wenn eine Authentifizierung erforderlich ist."
Set New Password,Set New Password
Set Value,Wert festlegen
"Set a new password and ""Save""","Stellen Sie das neue Kennwort und ""Speichern"""
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.
"Set your background color, font and image (tiled)","Stellen Sie Ihre Hintergrundfarbe, Schrift und Bild (Kachel)"
"Set your outgoing mail SMTP settings here. All system generated notifications, emails will go from this mail server. If you are not sure, leave this blank to use ERPNext servers (emails will still be sent from your email id) or contact your email provider.","Stellen Sie Ihre ausgehende Mail SMTP-Einstellungen hier. Alle System generierten Meldungen werden E-Mails von diesen Mail-Server gehen. Wenn Sie sich nicht sicher sind, lassen Sie dieses Feld leer, um ERPNext Server (E-Mails werden immer noch von Ihrer E-Mail-ID gesendet werden) verwenden oder kontaktieren Sie Ihren E-Mail-Provider."
Setting Account Type helps in selecting this Account in transactions.,Einstellung Kontotyp hilft bei der Auswahl der Transaktionen in diesem Konto.
Settings,Einstellungen
Settings for About Us Page.,Einstellungen für Über uns Seite.
Settings for Accounts,Einstellungen für Konten
Settings for Buying Module,Einstellungen für den Kauf Module
Settings for Contact Us Page,Einstellungen für Kontakt Seite
Settings for Contact Us Page.,Einstellungen für Kontakt-Seite.
Settings for Selling Module,Einstellungen für den Verkauf Module
Settings for the About Us Page,Einstellungen für die Über uns Seite
"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 Control,Setup Control
Setup Series,Setup-Series
Setup of Shopping Cart.,Aufbau Einkaufswagen.
Setup of fonts and background.,Setup von Schriftarten und Hintergrund.
"Setup of top navigation bar, footer and logo.","Setup der oberen Navigationsleiste, Fußzeile und Logo."
Setup to pull emails from support email account,Richten Sie E-Mails von E-Mail-Account-Support ziehen
Share,Teilen
Share With,Anziehen
Shipments to customers.,Lieferungen an Kunden.
Shipping,Schifffahrt
Shipping Account,Liefer-Konto
Shipping Address,Versandadresse
Shipping Address Name,Liefer-Adresse Name
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
Shipping Rules,Liefer-Regeln
Shop,Im Shop
Shopping Cart,Einkaufswagen
Shopping Cart Price List,Einkaufswagen Preisliste
Shopping Cart Price Lists,Einkaufswagen Preislisten
Shopping Cart Settings,Einkaufswagen Einstellungen
Shopping Cart Shipping Rule,Einkaufswagen Versandkosten Rule
Shopping Cart Shipping Rules,Einkaufswagen Versandkosten Rules
Shopping Cart Taxes and Charges Master,Einkaufswagen Steuern und Gebühren Meister
Shopping Cart Taxes and Charges Masters,Einkaufswagen Steuern und Gebühren Masters
Short Bio,Kurzbiografie
Short Name,Kurzer Name
Short biography for website and other publications.,Kurzbiographie für die Website und anderen Publikationen.
Shortcut,Abkürzung
"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 Details,Details anzeigen
Show In Website,Zeigen Sie in der Webseite
Show Print First,Erste Show Print
Show a slideshow at the top of the page,Zeige die Slideshow an der Spitze der Seite
Show in Website,Zeigen Sie im Website
Show rows with zero values,Zeige Zeilen mit Nullwerten
Show this slideshow at the top of the page,Zeige diese Slideshow an der Spitze der Seite
Showing only for,Zeige nur für
Signature,Unterschrift
Signature to be appended at the end of every email,Unterschrift am Ende jeder E-Mail angehängt werden
Single,Single
Single Post (article).,Single Post (Artikel).
Single unit of an Item.,Einzelgerät eines Elements.
Sitemap Domain,Sitemap Domain
Slideshow,Slideshow
Slideshow Items,Slideshow Artikel
Slideshow Name,Slideshow Namen
Slideshow like display for the website,Slideshow wie Display für die Website
Small Text,Kleiner Text
Solid background color (default light gray),Einfarbigen Hintergrund (Standard lichtgrau)
Sorry we were unable to find what you were looking for.,"Leider waren wir nicht in der Lage zu finden, was Sie suchen."
Sorry you are not permitted to view this page.,"Leider sind Sie nicht berechtigt, diese Seite anzuzeigen."
Sorry! We can only allow upto 100 rows for Stock Reconciliation.,Sorry! Wir können nur bis zu 100 Zeilen für Stock Reconciliation ermöglichen.
"Sorry! You cannot change company's default currency, because there are existing transactions against it. You will need to cancel those transactions if you want to change the default currency.","Es tut uns leid! Sie können nicht ändern Unternehmens Standard-Währung, weil es bestehende Transaktionen dagegen sind. Sie müssen diese Transaktionen zu stornieren, wenn Sie die Standard-Währung ändern möchten."
Sorry. Companies cannot be merged,Entschuldigung. Unternehmen können nicht zusammengeführt werden
Sorry. Serial Nos. cannot be merged,Entschuldigung. Seriennummern können nicht zusammengeführt werden
Sort By,Sortieren nach
Source,Quelle
Source Warehouse,Quelle Warehouse
Source and Target Warehouse cannot be same,Quelle und Ziel Warehouse kann nicht gleichzeitig
Source of th,Quelle th
"Source of the lead. If via a campaign, select ""Campaign""","Quelle der Leitung. Wenn über die Kampagne, wählen Sie ""Kampagne"""
Spartan,Spartan
Special Page Settings,Spezielle Einstellungen Seite
Specification Details,Ausschreibungstexte
Specify Exchange Rate to convert one currency into another,Geben Wechselkurs einer Währung in eine andere umzuwandeln
"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 conditions to calculate shipping amount,Geben Sie Bedingungen für die Schifffahrt zu berechnen
Split Delivery Note into packages.,Aufgeteilt in Pakete Lieferschein.
Standard,Standard
Standard Rate,Standardpreis
"Standard Terms and Conditions that can be added to Sales and Purchases.Examples:1. Validity of the offer.1. Payment Terms (In Advance, On Credit, part advance etc).1. What is extra (or payable by the Customer).1. Safety / usage warning.1. Warranty if any.1. Returns Policy.1. Terms of shipping, if applicable.1. Ways of addressing disputes, indemnity, liability, etc.1. Address and Contact of your Company.","1: Standard Bedingungen, können Umsatz und Purchases.Examples hinzugefügt werden. Gültigkeit der offer.1. Zahlungsbedingungen (im voraus auf Credit, einem Teil Voraus etc) .1. Was ist extra (oder zu Lasten des Kunden) .1. Sicherheit / Nutzung warning.1. Garantie, wenn any.1. Gibt Policy.1. AGB Versand, wenn applicable.1. Möglichkeiten zu erörtern, Streitigkeiten, Schadenersatz, Haftung, etc.1. Adress-und Kontaktdaten Ihres Unternehmens."
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.10. Add or Deduct: Whether you want to add or deduct the tax.","Standard Steuern Vorlage, die für alle Kauf-Transaktionen angewendet werden können. Diese Vorlage kann Liste der Steuerhinterziehung und auch andere Kosten Köpfe wie ""Versand"", ""Insurance"", ""Handling"" etc. # # # # AnmerkungDie Steuersatz, den Sie hier definieren, wird die Standard-Steuersatz für alle ** Artikel ** . Wenn es ** Artikel **, die unterschiedliche Preise haben, müssen sie in der ** Artikel Tax ** Tabelle in der ** Artikel werden ** Master. # # # # Beschreibung der Columns1 aufgenommen. Berechnungsart: - Dies kann auf ** Net Total sein ** (dh die Summe der Grundbetrag ist). - ** Auf Previous Row Total / Betrag ** (für kumulative Steuern oder Abgaben). Wenn Sie diese Option wählen, wird die Steuer als Prozentsatz der vorherigen Reihe (in der Steuer-Tabelle) oder Gesamtmenge angewendet werden. - ** Tatsächliche ** (wie erwähnt) 0,2. Konto Head: Der Account Ledger unter denen diese Steuer booked3 sein wird. Kostenstelle: Wenn die Steuer / Gebühr ist ein Einkommen (wie Versand) oder Kosten es braucht, um gegen eine Cost Center.4 gebucht werden. Beschreibung: Beschreibung der Steuer (das wird in den Rechnungen / quotes gedruckt werden) .5. Rate: Tax rate.6. Betrag: Tax amount.7. Total: Kumulierte insgesamt zu dieser point.8. Geben Row: Wenn Sie auf ""Previous Row Total"" Basis können Sie die Nummer der Zeile, die als Grundlage für diese Berechnung (voreingestellt ist die vorherige Zeile) .9 ergriffen werden wählen. Betrachten Sie Steuern oder Gebühren für: In diesem Bereich können Sie festlegen, ob die Steuer / Gebühr ist nur für die Bewertung (nicht ein Teil der Gesamtsumme) oder nur für die gesamte (nicht erhöhen den Wert der Position) oder für both.10. Hinzufügen oder abziehen: Ob Sie zum Hinzufügen oder entrichtete Mehrwertsteuer abziehen wollen."
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Standard Steuern Vorlage, die für alle Verkaufsvorgänge angewendet werden können. Diese Vorlage kann Liste der Steuerhinterziehung und auch andere Aufwendungen / Erträge Köpfe wie ""Versand"", ""Insurance"", ""Handling"" etc. # # # # AnmerkungDie Steuersatz, den Sie hier definieren, wird der Steuersatz für alle ** Artikel werden **. Wenn es ** Artikel **, die unterschiedliche Preise haben, müssen sie in der ** Artikel Tax ** Tabelle in der ** Artikel werden ** Master. # # # # Beschreibung der Columns1 aufgenommen. Berechnungsart: - Dies kann auf ** Net Total sein ** (dh die Summe der Grundbetrag ist). - ** Auf Previous Row Total / Betrag ** (für kumulative Steuern oder Abgaben). Wenn Sie diese Option wählen, wird die Steuer als Prozentsatz der vorherigen Reihe (in der Steuer-Tabelle) oder Gesamtmenge angewendet werden. - ** Tatsächliche ** (wie erwähnt) 0,2. Konto Head: Der Account Ledger unter denen diese Steuer booked3 sein wird. Kostenstelle: Wenn die Steuer / Gebühr ist ein Einkommen (wie Versand) oder Kosten es braucht, um gegen eine Cost Center.4 gebucht werden. Beschreibung: Beschreibung der Steuer (das wird in den Rechnungen / quotes gedruckt werden) .5. Rate: Tax rate.6. Betrag: Tax amount.7. Total: Kumulierte insgesamt zu dieser point.8. Geben Row: Wenn Sie auf ""Previous Row Total"" Basis können Sie die Nummer der Zeile, die als Grundlage für diese Berechnung (voreingestellt ist die vorherige Zeile) .9 ergriffen werden wählen. Wird diese Steuer in Basic Rate enthalten: Wenn Sie diese Option, bedeutet dies, dass diese Steuer nicht unterhalb des Artikels Tabelle dargestellt werden, wird aber in der Basic Rate in Ihrem Hauptsache Tabelle aufgenommen. Dies ist nützlich, wenn Sie geben einen Pauschalpreis (inklusive aller Steuern) Preise für die Kunden wollen."
Start Date,Startdatum
Start Report For,Starten des Berichts für
Start date of current invoice's period,Startdatum der laufenden Rechnung der Zeit
Starts on,Beginnt am
Startup,Startup
State,Zustand
States,Staaten
Static Parameters,Statische Parameter
Status,Status
Status must be one of ,Status muss einer der folgenden sein
Status should be Submitted,Der Status vorgelegt werden sollte
Statutory info and other general information about your Supplier,Gesetzliche Informationen und andere allgemeine Informationen über Ihr Lieferant
Stock,Lager
Stock Adjustment Account,Auf Adjustment Konto
Stock Adjustment Cost Center,Auf die Anpassung der Kostenstellenrechnung
Stock Ageing,Lager Ageing
Stock Analytics,Lager Analytics
Stock Balance,Bestandsliste
Stock Entry,Lager Eintrag
Stock Entry Detail,Lager Eintrag Details
Stock Frozen Upto,Lager Bis gefroren
Stock In Hand Account,Vorrat in der Hand Konto
Stock Ledger,Lager Ledger
Stock Ledger Entry,Lager Ledger Eintrag
Stock Level,Stock Level
Stock Qty,Lieferbar Menge
Stock Queue (FIFO),Lager Queue (FIFO)
Stock Received But Not Billed,"Auf empfangen, aber nicht Angekündigt"
Stock Reconciliation,Lager Versöhnung
Stock Reconciliation file not uploaded,Lager Versöhnung Datei nicht hochgeladen
Stock Settings,Auf Einstellungen
Stock UOM,Lager UOM
Stock UOM Replace Utility,Lager UOM ersetzen Dienstprogramm
Stock Uom,Lager ME
Stock Value,Bestandswert
Stock Value Difference,Auf Wertdifferenz
Stop,Stoppen
Stop users from making Leave Applications on following days.,Stoppen Sie den Nutzer von Leave Anwendungen auf folgenden Tagen.
Stopped,Gestoppt
Structure cost centers for budgeting.,Structure Kostenstellen für die Budgetierung.
Structure of books of accounts.,Struktur der Bücher von Konten.
Style,Stil
Style Settings,Style Einstellungen
"Style represents the button color: Success - Green, Danger - Red, Inverse - Black, Primary - Dark Blue, Info - Light Blue, Warning - Orange","Stil repräsentiert die Farbe der Schaltfläche: Success - Grün, Gefahr - Rot, Inverse - Schwarz, Primary - Dunkelblau, Info - Light Blue, Warnung - Orange"
"Sub-currency. For e.g. ""Cent""","Sub-Währung. Für z.B. ""Cent"""
Sub-domain provided by erpnext.com,Sub-Domain durch erpnext.com vorgesehen
Subcontract,Vergeben
Subdomain,Subdomain
Subject,Thema
Submit,Einreichen
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
Submitted,Eingereicht
Submitted Record cannot be deleted,Eingereicht Datensatz kann nicht gelöscht werden
Subsidiary,Tochtergesellschaft
Success,Erfolg
Successful: ,Erfolgreich:
Suggestion,Vorschlag
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 Head,Lieferant Konto Leiter
Supplier Address,Lieferant Adresse
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 Shipment Date,Lieferant Warensendung Datum
Supplier Shipment No,Lieferant Versand Keine
Supplier Type,Lieferant Typ
Supplier Warehouse,Lieferant Warehouse
Supplier Warehouse mandatory subcontracted purchase receipt,Lieferant Warehouse zwingend vergeben Kaufbeleg
Supplier classification.,Lieferant Klassifizierung.
Supplier database.,Lieferanten-Datenbank.
Supplier of Goods or Services.,Lieferant von Waren oder Dienstleistungen.
Supplier warehouse where you have issued raw materials for sub - contracting,Lieferantenlager wo Sie Rohstoffe ausgegeben haben - Zulieferer
Supplier's currency,Lieferant Währung
Support,Unterstützen
Support Analytics,Unterstützung Analytics
Support Email,Unterstützung per E-Mail
Support Email Id,Unterstützt E-Mail-Id
Support Password,Support Passwort
Support Ticket,Support Ticket
Support queries from customers.,Support-Anfragen von Kunden.
Symbol,Symbol
Sync Inbox,Sync Posteingang
Sync Support Mails,Sync Unterstützung Mails
Sync with Dropbox,Sync mit Dropbox
Sync with Google Drive,Sync mit Google Drive
System,System
System Defaults,System Defaults
System Settings,Systemeinstellungen
System User,System User
"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."
System for managing Backups,System zur Verwaltung von Backups
System generated mails will be sent from this email id.,System generierten E-Mails werden von dieser E-Mail-ID gesendet werden.
TL-,TL-
TLB-,TLB-
Table,Tabelle
Table for Item that will be shown in Web Site,"Tabelle für Artikel, die in Web-Site angezeigt werden"
Tag,Anhänger
Tag Name,Tag Name
Tags,Tags
Tahoma,Tahoma
Target,Ziel
Target  Amount,Zielbetrag
Target Detail,Ziel Detailansicht
Target Details,Zieldetails
Target Details1,Ziel Details1
Target Distribution,Target Distribution
Target Qty,Ziel Menge
Target Warehouse,Ziel Warehouse
Task,Aufgabe
Task Details,Task Details
Tax,Steuer
Tax Calculation,Steuerberechnung
Tax Category can not be 'Valuation' or 'Valuation and Total' 					as all items are non-stock items,"MwSt. Kategorie kann nicht &quot;Bewertungstag&quot; oder &quot;Bewertung und Total &#39;sein, da alle Artikel nicht auf Lager gehalten werden"
Tax Master,Tax Meister
Tax Rate,Tax Rate
Tax Template for Purchase,MwSt. Vorlage für Kauf
Tax Template for Sales,MwSt. Template für Vertrieb
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 holte aus Artikelstammdaten als String und in diesem field.Used für Steuern und Abgaben
Taxable,Steuerpflichtig
Taxes,Steuern
Taxes and Charges,Steuern und Abgaben
Taxes and Charges Added,Steuern und Abgaben am
Taxes and Charges Added (Company Currency),Steuern und Gebühren Added (Gesellschaft Währung)
Taxes and Charges Calculation,Steuern und Gebühren Berechnung
Taxes and Charges Deducted,Steuern und Gebühren Abgezogen
Taxes and Charges Deducted (Company Currency),Steuern und Gebühren Abzug (Gesellschaft Währung)
Taxes and Charges Total,Steuern und Gebühren gesamt
Taxes and Charges Total (Company Currency),Steuern und Abgaben insgesamt (Gesellschaft Währung)
Taxes and Charges1,Steuern und Kosten1
Team Members,Teammitglieder
Team Members Heading,Teammitglieder Überschrift
Template for employee performance appraisals.,Vorlage für Mitarbeiter Leistungsbeurteilungen.
Template of terms or contract.,Vorlage von Begriffen oder Vertrag.
Term Details,Begriff Einzelheiten
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
Territory,Gebiet
Territory Manager,Territory Manager
Territory Name,Territory Namen
Territory Target Variance (Item Group-Wise),Territory Ziel Variance (Artikel-Nr. Gruppe-Wise)
Territory Targets,Territory Targets
Test,Test
Test Email Id,Test Email Id
Test Runner,Test Runner
Test the Newsletter,Testen Sie den Newsletter
Text,Text
Text Align,Text ausrichten
Text Editor,Text Editor
"The ""Web Page"" that is the website home page","Die ""Web Page"", die Homepage der Website ist"
The BOM which will be replaced,"Die Stückliste, die ersetzt werden"
"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 date at which current entry is made in system.,"Das Datum, an dem aktuellen Eintrag im System hergestellt wird."
The date at which current entry will get or has actually executed.,"Das Datum, an dem aktuellen Eintrag zu erhalten oder wird tatsächlich ausgeführt."
The date on which next invoice will be generated. It is generated on submit.,"Der Tag, an dem nächsten Rechnung generiert werden. Es basiert auf einzureichen generiert."
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 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 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 / website as you want to appear on browser title bar. All pages will have this as the prefix to the title.,"Der Name Ihrer Firma / Website, wie Sie auf Titelleiste des Browsers angezeigt werden soll. Alle Seiten werden diese als Präfix für den Titel haben."
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 system provides pre-defined roles, but you can <a href='#List/Role'>add new roles</a> to set finer permissions","Das System bietet vordefinierte Rollen, aber Sie können <a href='#List/Role'> neue Rollen </ a>, um feinere Berechtigungen festlegen"
The unique id for tracking all recurring invoices. It is generated on submit.,Die eindeutige ID für Tracking alle wiederkehrenden Rechnungen. Es basiert auf einreichen generiert.
Then By (optional),Dann nach (optional)
These properties are Link Type fields from all Documents.,Diese Eigenschaften sind Link-Typ Felder aus allen Dokumenten.
"These properties can also be used to 'assign' a particular document, whose property matches with the User's property to a User. These can be set using the <a href='#permission-manager'>Permission Manager</a>","Diese Eigenschaften können auch verwendet werden, um 'assign' ein bestimmtes Dokument, dessen Eigenschaft übereinstimmt mit der Benutzer-Eigenschaft auf einen Benutzer werden. Dies kann mit dem <a href='#permission-manager'> Permission Manager </ a> werden"
These properties will appear as values in forms that contain them.,"Diese Eigenschaften werden als Werte in Formen, die sie enthalten, erscheinen."
These values will be automatically updated in transactions and also will be useful to restrict permissions for this user on transactions containing these values.,"Diese Werte werden automatisch in Transaktionen aktualisiert werden und wird auch nützlich sein, um Berechtigungen für diesen Benutzer auf Transaktionen mit diesen Werten zu beschränken."
This Price List will be selected as default for all Customers under this Group.,Diese Preisliste wird als Standard für alle Kunden unter dieser Gruppe ausgewählt werden.
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,This Time Log Konflikte mit
This account will be used to maintain value of available stock,Dieses Konto wird auf den Wert der verfügbaren Bestand zu halten
This currency will get fetched in Purchase transactions of this supplier,Diese Währung wird in Kauf Transaktionen dieser Lieferanten bekommen geholt
This currency will get fetched in Sales transactions of this customer,Diese Währung wird in Sales Transaktionen dieser Kunden erhalten geholt
"This feature is for merging duplicate warehouses. It will replace all the links of this warehouse by ""Merge Into"" warehouse. After merging you can delete this warehouse, as stock level for this warehouse will be zero.","Diese Funktion ist für das Zusammenführen von doppelten Lagern. Es werden alle Links dieses Lager durch warehouse &quot;Into Merge&quot; zu ersetzen. Nach dem Zusammenführen löschen Sie dieses Warehouse, da Lagerbestände für dieses Lager wird gleich Null sein."
This feature is only applicable to self hosted instances,Diese Funktion ist nur für selbst gehostete Instanzen
This field will appear only if the fieldname defined here has value OR the rules are true (examples): <br>myfieldeval:doc.myfield=='My Value'<br>eval:doc.age>18,"Dieses Feld wird nur angezeigt, wenn der Feldname hier definierten Wert hat oder die Regeln wahr sind (Beispiele): <br> myfieldeval: doc.myfield == 'My Value' <br> eval: doc.age> 18"
This goes above the slideshow.,Dies geht über die Diashow.
This is PERMANENT action and you cannot undo. Continue?,Dies ist PERMANENT Aktion und können nicht rückgängig gemacht werden. Weiter?
This is an auto generated Material Request.,Dies ist eine automatische generierte Werkstoff anfordern.
This is permanent action and you cannot undo. Continue?,Dies ist ständige Aktion und können nicht rückgängig gemacht werden. Weiter?
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 message goes away after you create your first customer.,"Diese Meldung geht weg, nachdem Sie Ihre ersten Kunden zu schaffen."
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,"Dieses Tool hilft Ihnen zu aktualisieren oder zu beheben die Menge und die Bewertung der Aktie im System. Es wird normalerweise verwendet, um das System abzugleichen und was tatsächlich existiert in Ihrem Lager."
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,Zeit
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 status must be 'Submitted',Zeit Log Batch-Status muss &quot;vorgelegt&quot; werden
Time Log Status must be Submitted.,Zeit Log-Status vorzulegen.
Time Log for tasks.,Log Zeit für Aufgaben.
Time Log is not billable,Log Zeit ist nicht abrechenbar
Time Log must have status 'Submitted',Log Zeit muss Status &#39;Änderung&#39;
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
Title / headline of your page,Titel / Überschrift Ihrer Seite
Title Case,Titel Case
Title Prefix,Title Prefix
To,Auf
To Currency,Um Währung
To Date,To Date
To Discuss,Zu diskutieren
To Do,To Do
To Do List,To Do List
To PR Date,Um PR Datum
To Package No.,Um Nr. Paket
To Reply,Um Antworten
To Time,Um Zeit
To Value,To Value
To Warehouse,Um Warehouse
"To add a tag, open the document and click on ""Add Tag"" on the sidebar","Um einen Tag hinzuzufügen, öffnen Sie das Dokument und klicken Sie auf ""Add Tag"" in der Seitenleiste"
"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 automatically create Support Tickets from your incoming mail, set your POP3 settings here. You must ideally create a separate email id for the erp system so that all emails will be synced into the system from that mail id. If you are not sure, please contact your EMail Provider.","Um automatisch Support Tickets von Ihrem Posteingang, stellen Sie Ihren POP3-Einstellungen hier. Sie müssen im Idealfall eine separate E-Mail-ID für das ERP-System, so dass alle E-Mails in das System von diesem Mail-ID synchronisiert werden. Wenn Sie nicht sicher sind, wenden Sie sich bitte EMail Provider."
"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 enable <b>Point of Sale</b> features,Zum <b> Point of Sale </ b> Funktionen ermöglichen
"To fetch items again, click on 'Get Items' button \						or update the Quantity manually.","Um Elemente wieder zu holen, auf 'Get Items' Taste \ oder aktualisieren Sie die Menge manuell auf."
"To format columns, give column labels in the query.","Um Spalten zu formatieren, geben Spaltenbeschriftungen in der Abfrage."
"To further restrict permissions based on certain values in a document, use the 'Condition' settings.","Um weiter einschränken Berechtigungen für bestimmte Werte in einem Dokument basiert, verwenden Sie die 'Bedingung' Einstellungen."
To get Item Group in details table,Zu Artikelnummer Gruppe im Detail Tisch zu bekommen
To manage multiple series please go to Setup > Manage Series,Um mehrere Reihen zu verwalten gehen Sie bitte auf Setup> Verwalten Series
To restrict a User of a particular Role to documents that are explicitly assigned to them,"Um einen Benutzer einer bestimmten Rolle zu Dokumenten, die ihnen ausdrücklich zugeordnet beschränken"
To restrict a User of a particular Role to documents that are only self-created.,"Um einen Benutzer einer bestimmten Rolle zu Dokumenten, die nur selbst erstellte sind zu beschränken."
"To set reorder level, item must be Purchase Item","Um Meldebestand, muss Einzelteil Kaufsache sein"
"To set user roles, just go to <a href='#List/Profile'>Setup > Users</a> and click on the user to assign roles.","Benutzerrollen, nur um <a gehen href='#List/Profile'> Setup> Benutzer </ a> und klicken Sie auf den Benutzer Rollen zuweisen."
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<br>Delivery Note, Enuiry, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","Um Markennamen in den folgenden Dokumenten zu verfolgen <br> Lieferschein, Enuiry, Material anfordern, Artikel, Bestellung, Kauf Voucher, Käufer Receipt, Angebot, Sales Invoice, Sales BOM, Sales Order, Serial No"
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."
ToDo,ToDo
Tools,Werkzeuge
Top,Spitze
Top Bar,Top Bar
Top Bar Background,Top Bar Hintergrund
Top Bar Item,Top Bar Artikel
Top Bar Items,Top Bar Artikel
Top Bar Text,Top Bar Text
Top Bar text and background is same color. Please change.,Top Bar Text und Hintergrund ist die gleiche Farbe. Bitte ändern.
Total,Gesamt
Total (sum of) points distribution for all goals should be 100.,Total (Summe) Punkte Verteilung für alle Ziele sollten 100 sein.
Total Advance,Insgesamt Geleistete
Total Amount,Gesamtbetrag
Total Amount To Pay,Insgesamt zu zahlenden Betrag
Total Amount in Words,Insgesamt Betrag in Worten
Total Billing This Year: ,Insgesamt Billing Dieses Jahr:
Total Claimed Amount,Insgesamt geforderten Betrag
Total Commission,Gesamt Kommission
Total Cost,Total Cost
Total Credit,Insgesamt Kredit
Total Debit,Insgesamt Debit
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 Operating Cost,Gesamten Betriebskosten
Total Points,Total Points
Total Raw Material Cost,Insgesamt Rohstoffkosten
Total SMS Sent,Insgesamt SMS gesendet
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 Working Days In The Month,Insgesamt Arbeitstagen im Monat
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 in words,Total in Worten
Total production order qty for item,Gesamtproduktion Bestellmenge für Artikel
Totals,Totals
Track separate Income and Expense for product verticals or divisions.,Verfolgen separaten Erträge und Aufwendungen für die Produktentwicklung Branchen oder Geschäftsbereichen.
Track this Delivery Note against any Project,Verfolgen Sie diesen Lieferschein gegen Projekt
Track this Sales Invoice against any Project,Verfolgen Sie diesen Sales Invoice gegen Projekt
Track this Sales Order against any Project,Verfolgen Sie diesen Kundenauftrag gegen Projekt
Transaction,Transaktion
Transaction Date,Transaction Datum
Transfer,Übertragen
Transition Rules,Übergangsregeln
Transporter Info,Transporter Info
Transporter Name,Transporter Namen
Transporter lorry number,Transporter Lkw-Zahl
Trash Reason,Trash Reason
Tree of item classification,Tree of Artikelzugehörigkeit
Trial Balance,Rohbilanz
Tuesday,Dienstag
Tweet will be shared via your user account (if specified),Tweet wird via E-Mail Account geteilt werden (falls angegeben)
Twitter Share,Twitter
Twitter Share via,Twitter teilen
Type,Typ
Type of document to rename.,Art des Dokuments umbenennen.
Type of employment master.,Art der Beschäftigung Master.
"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
UOM,UOM
UOM Conversion Detail,UOM Conversion Details
UOM Conversion Details,UOM Conversion Einzelheiten
UOM Conversion Factor,UOM Umrechnungsfaktor
UOM Conversion Factor is mandatory,UOM Umrechnungsfaktor ist obligatorisch
UOM Details,UOM Einzelheiten
UOM Name,UOM Namen
UOM Replace Utility,UOM ersetzen Dienstprogramm
UPPER CASE,UPPER CASE
UPPERCASE,UPPERCASE
URL,URL
Unable to complete request: ,Konnte die Anforderung nicht ausführen:
Under AMC,Unter AMC
Under Graduate,Unter Graduate
Under Warranty,Unter Garantie
Unit of Measure,Maßeinheit
"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
Unread Messages,Ungelesene Nachrichten
Unscheduled,Außerplanmäßig
Unsubscribed,Unsubscribed
Upcoming Events for Today,Die nächsten Termine für heute
Update,Aktualisieren
Update Clearance Date,Aktualisieren Restposten Datum
Update Field,Felder aktualisieren
Update PR,Update PR
Update Series,Update Series
Update Series Number,Update Series Number
Update Stock,Aktualisieren Lager
Update Stock should be checked.,Update-Lager sollte überprüft werden.
Update Value,Aktualisieren Wert
"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 is in progress. This may take some time.,Update ist im Gange. Dies kann einige Zeit dauern.
Updated,Aktualisiert
Upload Attachment,Anhang hochladen
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 a file,Hochladen einer Datei
Upload and Import,Upload und Import
Upload attendance from a .csv file,Fotogalerie Besuch aus einer. Csv-Datei
Upload stock balance via csv.,Hochladen Bestandsliste über csv.
Uploading...,Uploading ...
Upper Income,Obere Income
Urgent,Dringend
Use Multi-Level BOM,Verwenden Sie Multi-Level BOM
Use SSL,Verwenden Sie SSL
User,Benutzer
User Cannot Create,Benutzer kann sich nicht erstellen
User Cannot Search,Benutzer kann sich nicht durchsuchen
User ID,Benutzer-ID
User Image,User Image
User Name,User Name
User Remark,Benutzer Bemerkung
User Remark will be added to Auto Remark,Benutzer Bemerkung auf Auto Bemerkung hinzugefügt werden
User Tags,Nutzertags
User Type,User Type
User must always select,Der Benutzer muss immer wählen
User not allowed entry in the Warehouse,Benutzer nicht erlaubt Eintrag in der Warehouse
User not allowed to delete.,"Benutzer nicht erlaubt, zu löschen."
UserRole,UserRole
Username,Benutzername
Users who can approve a specific employee's leave applications,"Benutzer, die Arbeit eines bestimmten Urlaubs Anwendungen genehmigen können"
Users with this role are allowed to do / modify accounting entry before frozen date,Benutzer mit dieser Rolle tun dürfen / ändern Verbuchung vor dem gefrorenen Datum
Utilities,Dienstprogramme
Utility,Nutzen
Valid For Territories,Gültig für Territories
Valid Upto,Gültig Bis
Valid for Buying or Selling?,Gültig für den Kauf oder Verkauf?
Valid for Territories,Gültig für Territories
Validate,Bestätigen
Valuation,Bewertung
Valuation Method,Valuation Method
Valuation Rate,Valuation bewerten
Valuation and Total,Bewertung und insgesamt
Value,Wert
Value missing for,Fehlender Wert für
Vehicle Dispatch Date,Fahrzeug Versanddatum
Vehicle No,Kein Fahrzeug
Verdana,Verdana
Verified By,Verified By
Visit,Besuchen
Visit report for maintenance call.,Bericht über den Besuch für die Wartung Anruf.
Voucher Detail No,Gutschein Detailaufnahme
Voucher ID,Gutschein ID
Voucher Import Tool,Gutschein Import Tool
Voucher No,Gutschein Nein
Voucher Type,Gutschein Type
Voucher Type and Date,Gutschein Art und Datum
Waiting for Customer,Warten auf Kunden
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 Users,Warehouse-Benutzer
Warehouse and Reference,Warehouse und Referenz
Warehouse does not belong to company.,Warehouse nicht auf Unternehmen gehören.
Warehouse where you are maintaining stock of rejected items,"Warehouse, wo Sie erhalten Bestand abgelehnt Elemente werden"
Warehouse-Wise Stock Balance,Warehouse-Wise Bestandsliste
Warehouse-wise Item Reorder,Warehouse-weise Artikel Reorder
Warehouses,Gewerberäume
Warn,Warnen
Warning,Warnung
Warning: Leave application contains following block dates,Achtung: Leave Anwendung enthält folgende Block Termine
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)
Web Content,Web Content
Web Page,Web Page
Website,Webseite
Website Description,Website Beschreibung
Website Item Group,Website-Elementgruppe
Website Item Groups,Website Artikelgruppen
Website Overall Settings,Website Overall Einstellungen
Website Script,Website Script
Website Settings,Website-Einstellungen
Website Slideshow,Website Slideshow
Website Slideshow Item,Website Slideshow Artikel
Website User,Webseite User
Website Warehouse,Website Warehouse
Wednesday,Mittwoch
Weekly,Wöchentlich
Weekly Off,Wöchentliche Off
Weight UOM,Gewicht UOM
Weightage,Gewichtung
Weightage (%),Gewichtung (%)
Welcome,Willkommen
"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 you <b>Amend</b> a document after cancel and save it, it will get a new number that is a version of the old number.","Wenn Sie <b> Amend </ b> ein Dokument nach abbrechen und speichern Sie es, es wird eine neue Nummer, die eine Version der alten Nummer erhalten."
Where items are stored.,Wo Elemente gespeichert werden.
Where manufacturing operations are carried out.,Wo Herstellungsvorgänge werden durchgeführt.
Widowed,Verwitwet
Width,Breite
Will be calculated automatically when you enter the details,"Wird automatisch berechnet, wenn Sie die Daten eingeben"
Will be fetched from Customer,Wird vom Kunden abgeholt werden
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."
Will be used in url (usually first name).,Wird in url (in der Regel zuerst Name) verwendet werden.
With Operations,Mit Operations
Work Details,Werk Details
Work Done,Arbeit
Work In Progress,Work In Progress
Work-in-Progress Warehouse,Work-in-Progress Warehouse
Workflow,Workflow
Workflow Action,Workflow-Aktion
Workflow Action Master,Workflow-Aktion Meister
Workflow Action Name,Workflow Aktion Name
Workflow Document State,Workflow Document Staat
Workflow Document States,Workflow Document Staaten
Workflow Name,Workflow-Name
Workflow State,Workflow-Status
Workflow State Field,Workflow State Field
Workflow State Name,Workflow State Name
Workflow Transition,Workflow Transition
Workflow Transitions,Workflow Transitions
Workflow state represents the current state of a document.,Workflow-Status repräsentiert den aktuellen Status eines Dokuments.
Workflow will start after saving.,Workflow wird nach dem Speichern beginnen.
Working,Arbeit
Workstation,Arbeitsplatz
Workstation Name,Name der Arbeitsstation
Write,Schreiben
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
Write a Python file in the same folder where this is saved and return column and result.,"Schreiben Sie eine Python-Datei im gleichen Ordner, in dem diese gespeichert oder Rückgabebelehrung Spalte und Ergebnis."
Write a SELECT query. Note result is not paged (all data is sent in one go).,Schreiben Sie eine SELECT-Abfrage. Hinweis Ergebnis nicht ausgelagert (alle Daten in einem Rutsch gesendet).
Write sitemap.xml,Schreiben sitemap.xml
Write titles and introductions to your blog.,Schreiben Sie Titel und Einführungen in Ihrem Blog.
Writers Introduction,Writers Einführung
Wrong Template: Unable to find head row.,Falsche Vorlage: Kann Kopfzeile zu finden.
Year,Jahr
Year Closed,Jahr geschlossen
Year Name,Jahr Name
Year Start Date,Jahr Startdatum
Year of Passing,Jahr der Übergabe
Yearly,Jährlich
Yes,Ja
Yesterday,Gestern
You are not authorized to do/modify back dated entries before ,"Sie sind nicht berechtigt, / do ändern zurück datierte Einträge vor"
You can create more earning and deduction type from Setup --> HR,Sie können mehr verdienen und Deduktion Typ aus Setup -> HR
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 enter both Delivery Note No and Sales Invoice No. \					Please enter any one.,Sie können nicht sowohl Lieferschein Nein und Sales Invoice No \ Bitte geben Sie eine beliebige.
You can set various 'properties' to Users to set default values and apply permission rules based on the value of these properties in various forms.,"Sie können verschiedene ""Eigenschaften"", um Benutzer auf Standardwerte gesetzt und gelten Erlaubnis Vorschriften über den Wert dieser Eigenschaften in verschiedenen Formen."
You can start by selecting backup frequency and \					granting access for sync,Sie können durch Auswahl der Backup-Frequenz beginnen und \ Gewährung des Zugangs für die Synchronisation
You can use <a href='#Form/Customize Form'>Customize Form</a> to set levels on fields.,Sie können <a href='#Form/Customize Form'> Formular anpassen </ a> auf ein Niveau auf den Feldern eingestellt.
You may need to update: ,Möglicherweise müssen Sie aktualisieren:
Your Customer's TAX registration numbers (if applicable) or any general information,Ihre Kunden TAX Kennzeichen (falls zutreffend) oder allgemeine Informationen
"Your download is being built, this may take a few moments...","Ihr Download gebaut wird, kann dies einige Zeit dauern ..."
Your letter head content,Ihr Briefkopf Inhalt
Your sales person who will contact the customer in future,"Ihr Umsatz Person, die die Kunden in Zukunft in Verbindung setzen"
Your sales person who will contact the lead in future,"Ihr Umsatz Person, die die Führung in der Zukunft an"
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 sales person will get a reminder on this date to contact the lead,Ihre Vertriebsmitarbeiter erhalten eine Erinnerung an diesem Tag an die Spitze setzen
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!"
[Label]:[Field Type]/[Options]:[Width],[Label]: [Feldtyp] / [Optionen]: [Breite]
add your own CSS (careful!),fügen Sie Ihre eigenen CSS (Vorsicht!)
adjust,einstellen
align-center,align-center
align-justify,Ausrichtung zu rechtfertigen
align-left,-links ausrichten
align-right,align-right
also be included in Item's rate,auch in Artikelbeschreibung inbegriffen sein
and,und
arrow-down,arrow-down
arrow-left,Pfeil-links
arrow-right,arrow-right
arrow-up,arrow-up
assigned by,zugewiesen durch
asterisk,Sternchen
backward,rückwärts
ban-circle,ban-Kreis
barcode,Strichcode
bell,Glocke
bold,fett
book,Buch
bookmark,Lesezeichen
briefcase,Aktentasche
bullhorn,Megafon
calendar,Kalender
camera,Kamera
cancel,kündigen
cannot be 0,nicht 0 sein kann
cannot be empty,darf nicht leer sein
cannot be greater than 100,kann nicht größer sein als 100
cannot be included in Item's rate,kann nicht in der Artikelbeschreibung enthalten sein
"cannot have a URL, because it has child item(s)","kann nicht eine URL, weil es Kind item (s) hat"
cannot start with,kann nicht mit starten
certificate,Zertifikat
check,überprüfen
chevron-down,Chevron-down
chevron-left,Chevron-links
chevron-right,Chevron-Rechts
chevron-up,Chevron-up
circle-arrow-down,circle-arrow-down
circle-arrow-left,Kreis-Pfeil-links
circle-arrow-right,circle-arrow-right
circle-arrow-up,circle-arrow-up
cog,Zahn
comment,Kommentar
create a Custom Field of type Link (Profile) and then use the 'Condition' settings to map that field to the Permission rule.,"erstellen ein benutzerdefiniertes Feld vom Typ Link (Profile) und dann die 'Bedingung' Einstellungen, um das Feld der Erlaubnis der Regel abzubilden."
dd-mm-yyyy,dd-mm-yyyy
dd/mm/yyyy,dd / mm / yyyy
deactivate,deaktivieren
does not belong to BOM: ,nicht auf BOM gehören:
does not exist,nicht vorhanden
does not have role 'Leave Approver',keine Rolle &#39;Leave Approver&#39;
does not match,stimmt nicht
download,Download
download-alt,Download-alt
"e.g. Bank, Cash, Credit Card","z.B. Bank, Bargeld, Kreditkarte"
"e.g. Kg, Unit, Nos, m","z.B. Kg, Einheit, Nos, m"
edit,bearbeiten
eg. Cheque Number,zB. Scheck-Nummer
eject,auswerfen
english,Englisch
envelope,Umschlag
español,español
example: Next Day Shipping,Beispiel: Versand am nächsten Tag
example: http://help.erpnext.com,Beispiel: http://help.erpnext.com
exclamation-sign,Ausrufezeichen-Zeichen
eye-close,Auge-Schließ
eye-open,Augen öffnen
facetime-video,FaceTime-Video
fast-backward,Schnellrücklauf
fast-forward,Vorlauf
file,Datei
film,Film
filter,filtern
fire,Feuer
flag,Flagge
folder-close,Ordner-close
folder-open,Ordner öffnen
font,Schriftart
forward,vorwärts
français,français
fullscreen,Vollbild
gift,Geschenk
glass,Glas
globe,Globus
hand-down,Hand-down
hand-left,Hand-links
hand-right,Hand-Rechts
hand-up,Hand-up
has been entered atleast twice,wurde atleast zweimal eingegeben
have a common territory,haben ein gemeinsames Territorium
have the same Barcode,haben den gleichen Barcode
hdd,hdd
headphones,Kopfhörer
heart,Herz
home,Zuhause
icon,icon
in,in
inbox,Posteingang
indent-left,Gedankenstrich links
indent-right,indent-Recht
info-sign,info-Zeichen
is a cancelled Item,ist ein gestempeltes
is linked in,in Zusammenhang
is not a Stock Item,ist kein Lagerartikel
is not allowed.,ist nicht erlaubt.
italic,kursiv
leaf,Blatt
lft,lft
list,Liste
list-alt,list-alt
lock,sperren
lowercase,Kleinbuchstaben
magnet,Magnet
map-marker,map-Marker
minus,minus
minus-sign,Minus-Zeichen
mm-dd-yyyy,mm-dd-yyyy
mm/dd/yyyy,mm / dd / yyyy
move,bewegen
music,Musik
must be one of,muss einer sein
nederlands,nederlands
not a purchase item,kein Kaufsache
not a sales item,kein Verkaufsartikel
not a service item.,nicht ein service Produkt.
not a sub-contracted item.,keine Unteraufträge vergeben werden Artikel.
not in,nicht in
not within Fiscal Year,nicht innerhalb Geschäftsjahr
of,von
of type Link,vom Typ Link-
off,ab
ok,Ok
ok-circle,ok-Kreis
ok-sign,ok-Zeichen
old_parent,old_parent
or,oder
pause,Pause
pencil,Bleistift
picture,Bild
plane,Flugzeug
play,spielen
play-circle,play-Kreis
plus,plus
plus-sign,Plus-Zeichen
português,português
português brasileiro,português Brasileiro
print,drucken
qrcode,qrcode
question-sign,Frage-Zeichen
random,zufällig
reached its end of life on,erreichte Ende des Lebens auf
refresh,erfrischen
remove,entfernen
remove-circle,remove-Kreis
remove-sign,remove-Anmeldung
repeat,wiederholen
resize-full,resize-full
resize-horizontal,resize-horizontal
resize-small,resize-small
resize-vertical,resize-vertikalen
retweet,retweet
rgt,rgt
road,Straße
screenshot,Screenshot
search,Suche
share,Aktie
share-alt,Aktien-alt
shopping-cart,Shopping-cart
should be 100%,sollte 100% sein
signal,signalisieren
star,Stern
star-empty,star-empty
step-backward,Schritt-Rückwärts
step-forward,Schritt vorwärts
stop,stoppen
tag,Anhänger
tags,Tags
"target = ""_blank""","target = ""_blank"""
tasks,Aufgaben
text-height,text-Höhe
text-width,Text-width
th,th
th-large,th-groß
th-list,th-Liste
thumbs-down,Daumen runter
thumbs-up,Daumen hoch
time,Zeit
tint,Tönung
to,auf
"to be included in Item's rate, it is required that: ","in Artikelbeschreibung inbegriffen werden, ist es erforderlich, dass:"
trash,Müll
upload,laden
user,Benutzer
user_image_show,user_image_show
values and dates,Werte und Daten
volume-down,Volumen-down
volume-off,Volumen-off
volume-up,Volumen-up
warning-sign,Warn-Schild
website page link,Website-Link
which is greater than sales order qty ,die größer ist als der Umsatz Bestellmenge
wrench,Schraubenschlüssel
yyyy-mm-dd,yyyy-mm-dd
zoom-in,zoom-in
zoom-out,zoom-out
