 (Half Day),(Halber Tag)
 against sales order,gegen Kundenauftrag
 against same operation,gegen dieselbe Operation
 already marked,bereits markierten
 and year: ,und Jahr:
 as it is stock Item or packing item,wie es ist lagernd Artikel oder Packstück
 at warehouse: ,im Warenlager:
 by Role ,von Rolle
 can not be made.,nicht vorgenommen werden.
 can not be marked as a ledger as it has existing child,"nicht als Ledger gekennzeichnet, da es bestehenden Kind"
 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 ,Aktiv: Werden E-Mails 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
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: ,Da sich die bestehenden 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: ,Kostenstelle muss für PL Konto angegeben werden:
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 Material Requests,Material anlegen Requests
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 Kopf:
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
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 Numbering Series,Belegnummerierung Series
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 Bill of Materials,Von Bill of Materials
From Company,Von Unternehmen
From Currency,Von Währung
From Currency and To Currency cannot be same,Von Währung und To Währung dürfen nicht identisch sein
From Customer,Von Kunden
From 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 Eintrag: Debit-oder Kreditkarten Betrag ist obligatorisch 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 Items From Sales Orders,Holen Sie Angebote aus Kundenaufträgen
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 Below,Darunter einfügen
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 Item or Warehouse Data,Ungültiger Artikel oder Warehouse Data
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 UST 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 Requirement,Material Requirement
Material Transfer,Material Transfer
Materials,Materialien
Materials Required (Exploded),Benötigte Materialien (Explosionszeichnung)
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 Earning & Deduction,Monatlichen Einkommen &amp; Abzug
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
Multiple root nodes not allowed.,Mehrere Wurzelknoten nicht erlaubt.
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 ,Negative Bilanz ist 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 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 ,Keine Kommunikation mit diesem getaggt
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 ,Keine Berechtigung um
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 zugelassen:
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 ,Herausragend 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 Employee Number,Bitte geben Sie Anzahl der Mitarbeiter
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 Reserved Warehouse for item ,Bitte geben Reserviert Warehouse für Artikel
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 Naming Neries,Bitte wählen Naming Neries
Please select Price List,Bitte wählen Preisliste
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 setup Employee Naming System in Human Resource > HR Settings,Bitte Setup Mitarbeiter Naming System in Human Resource&gt; HR Einstellungen
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). Floats will be rounded up to specified decimals. Default = 3","Präzision für Float Felder (Mengen, Rabatte, Prozente etc). Floats werden bis zu angegebenen Dezimalstellen gerundet werden. Standard = 3"
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 List for Costing,Preisliste für die Kalkulation
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 Orders,Fertigungsaufträge
Production Plan Item,Production Plan Artikel
Production Plan Items,Production Plan Artikel
Production Plan Sales Order,Production Plan Sales Order
Production Plan Sales Orders,Production Plan Kundenaufträge
Production Planning (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 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 sein
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. ,Menge sollte gleich zum Verarbeitenden Menge.
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 when stock reaches re-order level,"Heben Anfrage Material erreicht, wenn der Vorrat re-order-Ebene"
Raised By,Raised By
Raised By (Email),Raised By (E-Mail)
Random,Zufällig
Range,Reichweite
Rate,Rate
Rate ,Rate
Rate (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
Reduce Deduction for Leave Without Pay (LWP),Reduzieren Abzug für unbezahlten Urlaub (LWP)
Reduce Earning for Leave Without Pay (LWP),Reduzieren Sie verdienen für unbezahlten Urlaub (LWP)
Ref Code,Ref Code
Ref 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 DocName,Referenz DocName
Reference DocType,Referenz DocType
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
Reserved Warehouse in Sales Order / Finished Goods Warehouse,Reserviert Warehouse in Sales Order / Fertigwarenlager
Reserved Warehouse is missing in Sales Order,Reserviert Warehouse ist in Sales Order fehlt
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 breakup based on Earning and Deduction.,Gehalt Trennung auf die Ertragskraft und Deduktion basiert.
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 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 Items,Elemente auswählen
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 zu erstellen"
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 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 ,Der Status muss einer 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 enable more currencies go to Setup > Currency,Um weitere Währungen ermöglichen weiter zu&gt; Währung einrichten
"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: ,Kann Anforderung abzuschließen:
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
WIP Warehouse required before Submit,"WIP Warehouse erforderlich, bevor abschicken"
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 / nicht ändern zurück datierte Einträge vor
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!"
[Error],[Error]
[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
