 (Half Day),(Halve dag)
 against sales order,tegen verkooporder
 against same operation,tegen dezelfde handeling
 already marked,al gemarkeerd
 and year: ,en jaar:
 as it is stock Item or packing item,zoals het is voorraad Punt of verpakkingsitem
 at warehouse: ,in het magazijn:
 by Role ,per rol
 can not be made.,kan niet worden gemaakt.
 can not be marked as a ledger as it has existing child,kan niet worden gemarkeerd als een grootboek als het heeft bestaande kind
 cannot be 0,mag niet 0
 cannot be deleted.,kunnen niet worden verwijderd.
 does not belong to the company,behoort niet tot de onderneming
 has already been submitted.,al is ingediend.
 has been freezed. ,is bevroren.
 has been freezed. \				Only Accounts Manager can do transaction against this account,is bevroren. \ Accounts Manager kan doen transactie tegen deze account
" is less than equals to zero in the system, \						valuation rate is mandatory for this item","is minder dan gelijk aan nul in het systeem, \ taxatie tarief is verplicht voor dit item"
 is mandatory,is verplicht
 is mandatory for GL Entry,is verplicht voor GL Entry
 is not a ledger,is niet een grootboek
 is not active,niet actief
 is not set,is niet ingesteld
 is now the default Fiscal Year. \			Please refresh your browser for the change to take effect.,is nu de standaard boekjaar. \ Vernieuw uw browser om de wijziging door te voeren.
 is present in one or many Active BOMs,aanwezig is in een of vele Actieve stuklijsten
 not active or does not exists in the system,niet actief of niet bestaat in het systeem
 not submitted,niet ingediend
 or the BOM is cancelled or inactive,of de BOM wordt geannuleerd of inactief
 should be 'Yes'. As Item: ,zou moeten zijn &#39;Yes&#39;. Als Item:
 should be same as that in ,dezelfde als die moeten worden in
 was on leave on ,was op verlof op
 will be ,zal
 will be over-billed against mentioned ,wordt over-gefactureerd tegen genoemde
 will become ,zal worden
"""Company History""",&quot;Geschiedenis&quot;
"""Team Members"" or ""Management""",&quot;Team Members&quot; of &quot;Management&quot;
%  Delivered,Geleverd%
% Amount Billed,Gefactureerd% Bedrag
% Billed,% Gefactureerd
% Completed,% Voltooid
% Installed,% Geïnstalleerd
% Received,% Ontvangen
% of materials billed against this Purchase Order.,% Van de materialen in rekening gebracht tegen deze Purchase Order.
% of materials billed against this Sales Order,% Van de materialen in rekening gebracht tegen deze verkooporder
% of materials delivered against this Delivery Note,% Van de geleverde materialen tegen deze Delivery Note
% of materials delivered against this Sales Order,% Van de geleverde materialen tegen deze verkooporder
% of materials ordered against this Material Request,% Van de bestelde materialen tegen dit materiaal aanvragen
% of materials received against this Purchase Order,% Van de materialen ontvangen tegen deze Kooporder
"' can not be managed using Stock Reconciliation.\					You can add/delete Serial No directly, \					to modify stock of this item.","&#39;Kan niet worden beheerd met behulp van Stock Verzoening. \ U kunt toevoegen / verwijderen Serienummer direct, \ om de balans op van dit artikel te wijzigen."
' in Company: ,&#39;In Bedrijf:
'To Case No.' cannot be less than 'From Case No.',&#39;Om Case No&#39; kan niet minder zijn dan &#39;Van Case No&#39;
* Will be calculated in the transaction.,* Zal worden berekend in de transactie.
"**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 Distributie ** helpt u uw budget te verdelen over maanden, indien u seizoensgebondenheid in uw business.To verspreiden van een budget met behulp van deze verdeling, stelt u deze ** Budget Distributie ** in het ** Cost Center **"
**Currency** Master,** Valuta ** Master
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Boekjaar ** staat voor een boekjaar. Alle boekingen en andere grote transacties worden bijgehouden tegen ** boekjaar **.
. Outstanding cannot be less than zero. \				 	Please match exact outstanding.,. Openstaande kan niet lager zijn dan nul. \ Gelieve overeenkomen exacte uitstekend.
. Please set status of the employee as 'Left',. Stelt u de status van de werknemer als &#39;Links&#39;
. You can not mark his attendance as 'Present',. Je kunt zijn aanwezigheid als &#39;Present&#39; niet markeren
"000 is black, fff is white","000 is zwart, fff is wit"
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,1 Valuta = [?] FractionFor bijv. 1 USD = 100 Cent
1. To maintain the customer wise item code and to make them searchable based on their code use this option,1. Om de klant wijzen artikelcode te behouden en om ze doorzoekbaar te maken op basis van hun code te gebruiken van deze optie
12px,12px
13px,13px
14px,14px
15px,15px
16px,16px
2 days ago,2 dagen geleden
: Duplicate row from same ,: Dubbele rij van dezelfde
: It is linked to other active BOM(s),: Het is gekoppeld aan andere actieve BOM (s)
: Mandatory for a Recurring Invoice.,: Verplicht voor een terugkerende factuur.
"<a href=""#!Sales Browser/Customer Group"">To manage Customer Groups, click here</a>","<a href=""#!Sales Browser/Customer Group"">Om Doelgroepen beheren, klik hier</a>"
"<a href=""#!Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#!Sales Browser/Item Group"">Beheren Artikelgroepen</a>"
"<a href=""#!Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#!Sales Browser/Territory"">Om Territory beheren, klik hier</a>"
"<a href=""#Sales Browser/Customer Group"">Manage Customer Groups</a>","<a href=""#Sales Browser/Customer Group"">Beheren Doelgroepen</a>"
"<a href=""#Sales Browser/Customer Group"">To manage Territory, click here</a>","<a href=""#Sales Browser/Customer Group"">Om Territory beheren, klik hier</a>"
"<a href=""#Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#Sales Browser/Item Group"">Item beheren Groepen</a>"
"<a href=""#Sales Browser/Territory"">Territory</a>","<a href=""#Sales Browser/Territory"">Grondgebied</a>"
"<a href=""#Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#Sales Browser/Territory"">Om Territory beheren, klik 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>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>')"">Benoemen Opties</a>"
<b>Cancel</b> allows you change Submitted documents by cancelling them and amending them.,<b>Annuleren</b> kunt u Ingezonden documenten wilt wijzigen door intrekking van hen en wijziging ervan.
"<span class=""sys_manager"">To setup, please go to Setup > Naming Series</span>","<span class=""sys_manager"">Voor het opzetten van, ga dan naar&gt; Naamgeving Series Setup</span>"
A Customer exists with same name,Een Klant bestaat met dezelfde naam
A Lead with this email id should exist,Een Lead met deze e-mail-ID moet bestaan
"A Product or a Service that is bought, sold or kept in stock.","Een product of een dienst die wordt gekocht, verkocht of in voorraad gehouden."
A Supplier exists with same name,Een leverancier bestaat met dezelfde naam
A condition for a Shipping Rule,Een voorwaarde voor een Scheepvaart Rule
A logical Warehouse against which stock entries are made.,Een logische Warehouse waartegen de voorraad worden gemaakt.
A new popup will open that will ask you to select further conditions.,Een nieuwe pop-up opent die u vragen om nadere voorwaarden te selecteren.
A symbol for this currency. For e.g. $,Een symbool voor deze valuta. Voor bijvoorbeeld $
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Een derde distributeur / dealer / commissionair / affiliate / reseller die verkoopt de bedrijven producten voor een commissie.
A user can have multiple values for a property.,Een gebruiker kan meerdere waarden voor een woning.
A+,A +
A-,A-
AB+,AB +
AB-,AB-
AMC Expiry Date,AMC Vervaldatum
ATT,ATT
Abbr,Abbr
About,Over
About Us Settings,Over Ons Instellingen
About Us Team Member,Over ons Team Member
Above Value,Boven Value
Absent,Afwezig
Acceptance Criteria,Acceptatiecriteria
Accepted,Aanvaard
Accepted Quantity,Geaccepteerde Aantal
Accepted Warehouse,Geaccepteerde Warehouse
Account,Rekening
Account Balance,Account Balance
Account Details,Account Details
Account Head,Account Hoofd
Account Id,Account Id
Account Name,Accountnaam
Account Type,Account Type
Account for this ,Account voor deze
Accounting,Rekening
Accounting Year.,Accounting Jaar.
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Boekhoudkundige afschrijving bevroren tot deze datum, kan niemand / te wijzigen toegang behalve rol hieronder aangegeven."
Accounting journal entries.,Accounting journaalposten.
Accounts,Accounts
Accounts Frozen Upto,Accounts Frozen Tot
Accounts Payable,Accounts Payable
Accounts Receivable,Debiteuren
Accounts Settings,Accounts Settings
Action,Actie
Active,Actief
Active: Will extract emails from ,Actief: Zal ​​e-mails uittreksel uit
Activity,Activiteit
Activity Log,Activiteitenlogboek
Activity Type,Activiteit Type
Actual,Daadwerkelijk
Actual Budget,Werkelijk Begroting
Actual Completion Date,Werkelijke Voltooiingsdatum
Actual Date,Werkelijke Datum
Actual End Date,Werkelijke Einddatum
Actual Invoice Date,Werkelijke Factuurdatum
Actual Posting Date,Werkelijke Boekingsdatum
Actual Qty,Werkelijke Aantal
Actual Qty (at source/target),Werkelijke Aantal (bij de bron / doel)
Actual Qty After Transaction,Werkelijke Aantal Na Transactie
Actual Quantity,Werkelijke hoeveelheid
Actual Start Date,Werkelijke Startdatum
Add,Toevoegen
Add / Edit Taxes and Charges,Toevoegen / bewerken en-heffingen
Add A New Rule,Voeg een nieuwe regel
Add A Property,Voeg een woning
Add Attachments,Bijlagen toevoegen
Add Bookmark,Voeg bladwijzer toe
Add CSS,Voeg CSS
Add Column,Kolom toevoegen
Add Comment,Reactie toevoegen
Add Google Analytics ID: eg. UA-89XXX57-1. Please search help on Google Analytics for more information.,Voeg Google Analytics ID: bv. UA-89XXX57-1. Zoek dan hulp bij Google Analytics voor meer informatie.
Add Message,Bericht toevoegen
Add New Permission Rule,Toevoegen nieuwe Toestemming regel
Add Reply,Voeg antwoord
Add Terms and Conditions for the Material Request. You can also prepare a Terms and Conditions Master and use the Template,Voeg Voorwaarden voor de Material Request. U kunt ook de voorbereiding van een Algemene Voorwaarden meester en gebruik de Template
Add Terms and Conditions for the Purchase Receipt. You can also prepare a Terms and Conditions Master and use the Template.,Voeg Algemene voorwaarden voor het bewijs van aankoop. U kunt ook bereiden een Algemene voorwaarden Master en gebruik maken van de sjabloon.
"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","Voeg Algemene Voorwaarden voor de offerte als Betalingscondities, Geldigheid van de aanbieding, enz. U kunt ook de voorbereiding van een Algemene voorwaarden Master en gebruik maken van de sjabloon"
Add Total Row,Voeg Totaal Row
Add a banner to the site. (small banners are usually good),Plaats ook een banner op de site. (Kleine banners zijn meestal goed)
Add attachment,Bijlage toevoegen
Add code as &lt;script&gt;,Voeg code als &lt;script&gt;
Add new row,Voeg een nieuwe rij
Add or Deduct,Toevoegen of aftrekken
Add rows to set annual budgets on Accounts.,Rijen toevoegen aan jaarlijkse begrotingen op Accounts in te stellen.
"Add the name of <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> e.g. ""Open Sans""","Voeg de naam van de <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> bv. &quot;Open Sans&quot;"
Add to To Do,Toevoegen aan To Do
Add to To Do List of,Toevoegen aan To Do List van Do
Add/Remove Recipients,Toevoegen / verwijderen Ontvangers
Additional Info,Extra informatie
Address,Adres
Address & Contact,Adres &amp; Contact
Address & Contacts,Adres &amp; Contact
Address Desc,Adres Desc
Address Details,Adresgegevens
Address HTML,Adres HTML
Address Line 1,Adres Lijn 1
Address Line 2,Adres Lijn 2
Address Title,Adres Titel
Address Type,Adrestype
Address and other legal information you may want to put in the footer.,Adres-en andere wettelijke informatie die u wilt zetten in de voettekst.
Address to be displayed on the Contact Page,Adres moet worden weergegeven op de Contact Pagina
Adds a custom field to a DocType,Voegt een aangepast veld aan een DocType
Adds a custom script (client or server) to a DocType,Hiermee wordt een aangepast script (client of server) om een ​​DocType
Advance Amount,Advance Bedrag
Advance amount,Advance hoeveelheid
Advanced Scripting,Geavanceerde Scripting
Advanced Settings,Geavanceerde instellingen
Advances,Vooruitgang
Advertisement,Advertentie
After Sale Installations,Na Verkoop Installaties
Against,Tegen
Against Account,Tegen account
Against Docname,Tegen Docname
Against Doctype,Tegen Doctype
Against Document Date,Tegen Document Datum
Against Document Detail No,Tegen Document Detail Geen
Against Document No,Tegen document nr.
Against Expense Account,Tegen Expense Account
Against Income Account,Tegen Inkomen account
Against Journal Voucher,Tegen Journal Voucher
Against Purchase Invoice,Tegen Aankoop Factuur
Against Sales Invoice,Tegen Sales Invoice
Against Voucher,Tegen Voucher
Against Voucher Type,Tegen Voucher 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","De totale groep van ** Items ** in een andere ** Item **. Dit is handig als u de bundeling van een bepaalde ** Items ** in een pakket en u onderhoudt voorraad van de verpakte ** Items ** en niet de totale ** Item **. Het pakket ** Item ** zal hebben &quot;Is Stock Item&quot; als &quot;No&quot; en &quot;Is Sales Item&quot; als &quot;Ja&quot; Bijvoorbeeld:. Als je verkoopt laptops en Rugzakken apart en hebben een speciale prijs als de klant koopt zowel , dan is de laptop + Rugzak zal een nieuwe Sales BOM Item.Note: BOM = Bill of Materials"
Aging Date,Aging Datum
All Addresses.,Alle adressen.
All Contact,Alle Contact
All Contacts.,Alle contactpersonen.
All Customer Contact,Alle Customer Contact
All Day,All Day
All Employee (Active),Alle medewerkers (Actief)
All Lead (Open),Alle Lood (Open)
All Products or Services.,Alle producten of diensten.
All Sales Partner Contact,Alle Sales Partner Contact
All Sales Person,Alle Sales Person
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"All Sales Transacties kunnen worden gelabeld tegen meerdere ** Sales Personen **, zodat u kunt instellen en bewaken doelstellingen."
All Supplier Contact,Alle Leverancier Contact
"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 rekening kolommen na \ standaard kolommen en aan de rechterkant. Als je het goed ingevoerd, zou de volgende waarschijnlijke reden \ verkeerde account naam zijn. Gelieve te corrigeren in het bestand en probeer het opnieuw."
"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 gerelateerde gebieden zoals valuta, wisselkoers, export totaal, uitvoer totaal, enz. zijn verkrijgbaar in <br> Levering Let op, POS, Offerte, Sales Invoice, Sales Order enz."
"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 aanverwante gebieden zoals valuta, wisselkoers, totale import, import totaal enz. zijn beschikbaar in <br> Aankoopbewijs, Leverancier Offerte, aankoopfactuur, Purchase Order enz."
All items have already been transferred \				for this Production Order.,Alle items zijn al overgebracht \ voor deze productieorder.
"All possible Workflow States and roles of the workflow. <br>Docstatus Options: 0 is""Saved"", 1 is ""Submitted"" and 2 is ""Cancelled""","Alle mogelijke Workflow Staten en rollen van de workflow. <br> Docstatus Opties: 0 is &quot;Saved&quot;, is 1 &quot;Submitted&quot; en 2 &quot;Cancelled&quot;"
All posts by,Alle berichten van
Allocate,Toewijzen
Allocate leaves for the year.,Wijs bladeren voor het jaar.
Allocated Amount,Toegewezen bedrag
Allocated Budget,Toegekende budget
Allocated amount,Toegewezen bedrag
Allow Attach,Laat Bevestig
Allow Bill of Materials,Laat Bill of Materials
Allow Dropbox Access,Laat Dropbox Access
Allow Editing of Frozen Accounts For,Laat bewerken van bevroren rekeningen voor
Allow Google Drive Access,Laat Google Drive Access
Allow Import,Laat importeren
Allow Import via Data Import Tool,Laat importeren via Gegevens importeren Tool
Allow Negative Balance,Laat negatief saldo
Allow Negative Stock,Laat Negatieve voorraad
Allow Production Order,Laat Productieorder
Allow Rename,Laat hernoemen
Allow Samples,Laat Monsters
Allow User,Door gebruiker toestaan
Allow Users,Gebruikers toestaan
Allow on Submit,Laat op Submit
Allow the following users to approve Leave Applications for block days.,Laat de volgende gebruikers te keuren Verlof Aanvragen voor blok dagen.
Allow user to edit Price List Rate in transactions,Zodat de gebruiker te bewerken prijslijst Rate bij transacties
Allow user to login only after this hour (0-24),Gebruiker mag alleen inloggen na dit uur (0-24)
Allow user to login only before this hour (0-24),Gebruiker mag alleen inloggen voordat dit uur (0-24)
Allowance Percent,Toelage Procent
Allowed,Toegestaan
Already Registered,Reeds geregistreerd
Always use Login Id as sender,Gebruik altijd Inloggen Id als afzender
Amend,Amenderen
Amended From,Gewijzigd Van
Amount,Bedrag
Amount (Company Currency),Bedrag (Company Munt)
Amount <=,Bedrag &lt;=
Amount >=,Bedrag&gt; =
"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>]","Een icoon bestand met. Ico extensie. Moet 16 x 16 px. Gegenereerd met behulp van een 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.,Andere Salaris Structure &#39;% s&#39; is actief voor werknemer &#39;% s&#39;. Maak dan de status &#39;Inactief&#39; om door te gaan.
"Any other comments, noteworthy effort that should go in the records.","Eventuele andere opmerkingen, opmerkelijke inspanning die moet gaan in de administratie."
Applicable Holiday List,Toepasselijk Holiday Lijst
Applicable To (Designation),Van toepassing zijn op (Benaming)
Applicable To (Employee),Van toepassing zijn op (Werknemer)
Applicable To (Role),Van toepassing zijn op (Rol)
Applicable To (User),Van toepassing zijn op (Gebruiker)
Applicant Name,Aanvrager Naam
Applicant for a Job,Aanvrager van een baan
Applicant for a Job.,Kandidaat voor een baan.
Applications for leave.,Aanvragen voor verlof.
Applies to Company,Geldt voor Bedrijf
Apply / Approve Leaves,Toepassen / goedkeuren Leaves
Apply Shipping Rule,Solliciteer Scheepvaart Rule
Apply Taxes and Charges Master,Toepassing en-heffingen Master
Appraisal,Taxatie
Appraisal Goal,Beoordeling Doel
Appraisal Goals,Beoordeling Doelen
Appraisal Template,Beoordeling Sjabloon
Appraisal Template Goal,Beoordeling Sjabloon Doel
Appraisal Template Title,Beoordeling Template titel
Approval Status,Goedkeuringsstatus
Approved,Aangenomen
Approver,Goedkeurder
Approving Role,Goedkeuren Rol
Approving User,Goedkeuren Gebruiker
Are you sure you want to delete the attachment?,Weet u zeker dat u de bijlage wilt verwijderen?
Arial,Arial
Arrear Amount,Achterstallig bedrag
"As a best practice, do not assign the same set of permission rule to different Roles instead set multiple Roles to the User","Als een best practice, niet dezelfde set van toestemming regel niet toe te wijzen aan de verschillende rollen in plaats te stellen van meerdere rollen aan de gebruiker"
As existing qty for item: ,Als bestaande aantal voor artikel:
As per Stock UOM,Per Stock Verpakking
"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'","Want er zijn bestaande voorraad transacties voor dit \ item, kunt u niet de waarden van &#39;Heeft Serial No&#39; te veranderen, \ &#39;Is Stock Item&#39; en &#39;Valuation Method&#39;"
Ascending,Oplopend
Assign To,Toewijzen aan
Assigned By,Toegekend door
Assignment,Toewijzing
Assignments,Opdrachten
Associate a DocType to the Print Format,Associeer een DOCTYPE aan de Print Format
Atleast one warehouse is mandatory,Tenminste een magazijn is verplicht
Attach,Hechten
Attach Document Print,Bevestig Document Print
Attached To DocType,Bijlage Aan DocType
Attached To Name,Gehecht Aan Naam
Attachment,Gehechtheid
Attachments,Toebehoren
Attempted to Contact,Geprobeerd om contact
Attendance,Opkomst
Attendance Date,Aanwezigheid Datum
Attendance Details,Aanwezigheid Details
Attendance From Date,Aanwezigheid Van Datum
Attendance To Date,Aanwezigheid graag:
Attendance can not be marked for future dates,Toeschouwers kunnen niet worden gemarkeerd voor toekomstige data
Attendance for the employee: ,Opkomst voor de werknemer:
Attendance record.,Aanwezigheid record.
Attributions,Toeschrijvingen
Authorization Control,Autorisatie controle
Authorization Rule,Autorisatie Rule
Auto Email Id,Auto E-mail Identiteitskaart
Auto Inventory Accounting,Auto Inventory Accounting
Auto Inventory Accounting Settings,Auto Inventory Accounting Instellingen
Auto Material Request,Automatisch Materiaal Request
Auto Name,Auto Naam
Auto generated,Gegenereerd Auto
Auto-raise Material Request if quantity goes below re-order level in a warehouse,Auto-raise Materiaal aanvragen als kwantiteit gaat onder re-orde niveau in een magazijn
Automatically updated via Stock Entry of type Manufacture/Repack,Automatisch geüpdate via Stock positie van het type Vervaardiging / Verpak
Autoreply when a new mail is received,Autoreply wanneer er een nieuwe e-mail wordt ontvangen
Available Qty at Warehouse,Qty bij Warehouse
Available Stock for Packing Items,Beschikbaar voor Verpakking Items
"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Verkrijgbaar in BOM, pakbon, de factuur, de Productieorder, Inkooporder, aankoopbon, Sales Invoice, Sales Order, Voorraad Entry, Timesheet"
Avatar,Avatar
Average Discount,Gemiddelde korting
B+,B +
B-,B-
BILL,BILL
BILLJ,BILLJ
BOM,BOM
BOM Detail No,BOM Detail Geen
BOM Explosion Item,BOM Explosie Item
BOM Item,BOM Item
BOM No,BOM Geen
BOM No. for a Finished Good Item,BOM Nee voor een afgewerkte goed item
BOM Operation,BOM Operatie
BOM Operations,BOM Operations
BOM Replace Tool,BOM Replace Tool
BOM replaced,BOM vervangen
Background Color,Achtergrondkleur
Background Image,Achtergrondafbeelding
Backup Manager,Backup Manager
Backup Right Now,Back-up Right Now
Backups will be uploaded to,Back-ups worden geüpload naar
"Balances of Accounts of type ""Bank or Cash""",Saldi van de rekeningen van het type &#39;Bank of Cash &quot;
Bank,Bank
Bank A/C No.,Bank A / C Nee
Bank Account,Bankrekening
Bank Account No.,Bank Account Nr
Bank Clearance Summary,Bank Ontruiming Samenvatting
Bank Name,Naam van de bank
Bank Reconciliation,Bank Verzoening
Bank Reconciliation Detail,Bank Verzoening Detail
Bank Reconciliation Statement,Bank Verzoening Statement
Bank Voucher,Bank Voucher
Bank or Cash,Bank of Cash
Bank/Cash Balance,Bank / Geldsaldo
Banner,Banier
Banner HTML,Banner HTML
Banner Image,Banner Afbeelding
Banner is above the Top Menu Bar.,Banner is boven de top menubalk.
Barcode,Barcode
Based On,Gebaseerd op
Basic Info,Basic Info
Basic Information,Basisinformatie
Basic Rate,Basic Rate
Basic Rate (Company Currency),Basic Rate (Company Munt)
Batch,Partij
Batch (lot) of an Item.,Batch (lot) van een item.
Batch Finished Date,Batch Afgewerkt Datum
Batch ID,Batch ID
Batch No,Batch nr.
Batch Started Date,Batch Gestart Datum
Batch Time Logs for Billing.,Batch Time Logs voor Billing.
Batch Time Logs for billing.,Batch Time Logs voor de facturering.
Batch-Wise Balance History,Batch-Wise Balance Geschiedenis
Batched for Billing,Gebundeld voor facturering
Be the first one to comment,Wees de eerste om te reageren
Begin this page with a slideshow of images,Begin deze pagina met een diavoorstelling van foto&#39;s
Better Prospects,Betere vooruitzichten
Bill Date,Bill Datum
Bill No,Bill Geen
Bill of Material to be considered for manufacturing,Bill of Material te worden beschouwd voor de productie van
Bill of Materials,Bill of Materials
Bill of Materials (BOM),Bill of Materials (BOM)
Billable,Factureerbare
Billed,Gefactureerd
Billed Amt,Billed Amt
Billing,Billing
Billing Address,Factuuradres
Billing Address Name,Factuuradres Naam
Billing Status,Billing Status
Bills raised by Suppliers.,Rekeningen die door leveranciers.
Bills raised to Customers.,Bills verhoogd tot klanten.
Bin,Bak
Bio,Bio
Bio will be displayed in blog section etc.,Bio wordt weergegeven in blog sectie enz.
Birth Date,Geboortedatum
Blob,Bobbel
Block Date,Blokkeren Datum
Block Days,Blokkeren Dagen
Block Holidays on important days.,Blok Vakantie op belangrijke dagen.
Block leave applications by department.,Blok verlaten toepassingen per afdeling.
Blog Category,Blog Categorie
Blog Intro,Blog Intro
Blog Introduction,Blog Inleiding
Blog Post,Blog Post
Blog Settings,Blog Settings
Blog Subscriber,Blog Abonnee
Blog Title,Blog Titel
Blogger,Blogger
Blood Group,Bloedgroep
Bookmarks,Bladwijzers
Branch,Tak
Brand,Merk
Brand HTML,Brand HTML
Brand Name,Merknaam
"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","Brand is wat er op de rechterbovenhoek van de werkbalk. Als het een afbeelding, zorg ervoor dat ithas een transparante achtergrond en gebruik de &lt;img /&gt; tag. Houd grootte als 200px x 30px"
Brand master.,Brand meester.
Brands,Merken
Breakdown,Storing
Budget,Begroting
Budget Allocated,Budget
Budget Control,Begrotingscontrole
Budget Detail,Budget Detail
Budget Details,Budget Details
Budget Distribution,Budget Distributie
Budget Distribution Detail,Budget Distributie Detail
Budget Distribution Details,Budget Distributie Details
Budget Variance Report,Budget Variantie Report
Build Modules,Bouwen Modules
Build Pages,Build Pages
Build Server API,Build Server API
Build Sitemap,Bouwen Sitemap
Bulk Email,Bulk Email
Bulk Email records.,Bulk Email records.
Bummer! There are more holidays than working days this month.,Bummer! Er zijn meer feestdagen dan werkdagen deze maand.
Bundle items at time of sale.,Bundel artikelen op moment van verkoop.
Button,Knop
Buyer of Goods and Services.,Bij uw aankoop van goederen en diensten.
Buying,Het kopen
Buying Amount,Kopen Bedrag
Buying Settings,Kopen Instellingen
By,Door
C-FORM/,C-FORM /
C-Form,C-Form
C-Form Applicable,C-Form Toepasselijk
C-Form Invoice Detail,C-Form Factuurspecificatie
C-Form No,C-vorm niet
CI/2010-2011/,CI/2010-2011 /
COMM-,COMM-
CSS,CSS
CUST,CUST
CUSTMUM,CUSTMUM
Calculate Based On,Bereken Based On
Calculate Total Score,Bereken Totaal Score
Calendar,Kalender
Calendar Events,Kalender Evenementen
Call,Noemen
Campaign,Campagne
Campaign Name,Campagnenaam
Can only be exported by users with role 'Report Manager',Alleen uitgevoerd door gebruikers met de rol &#39;Report Manager&#39;
Cancel,Annuleren
Cancel permission also allows the user to delete a document (if it is not linked to any other document).,Annuleren permissie stelt de gebruiker ook in het verwijderen van een document (als het niet is gekoppeld aan een ander document).
Cancelled,Geannuleerd
Cannot ,Kan niet
Cannot approve leave as you are not authorized to approve leaves on Block Dates.,Kan niet goedkeuren verlaten als je bent niet gemachtigd om bladeren op Block Dates.
Cannot change from,Kan niet veranderen van
Cannot continue.,Kan niet doorgaan.
Cannot have two prices for same Price List,Kunt niet twee prijzen voor dezelfde prijslijst
Cannot map because following condition fails: ,"Kan niet toewijzen, omdat volgende voorwaarde mislukt:"
Capacity,Hoedanigheid
Capacity Units,Capaciteit Units
Carry Forward,Carry Forward
Carry Forwarded Leaves,Carry Doorgestuurd Bladeren
Case No(s) already in use. Please rectify and try again.				Recommended <b>From Case No. = %s</b>,Zaak nr. (s) al in gebruik. Gelieve te corrigeren en opnieuw te proberen. Aanbevolen <b>Van Case No =% s</b>
Cash,Geld
Cash Voucher,Cash Voucher
Cash/Bank Account,Cash / bankrekening
Categorize blog posts.,Categoriseren blog posts.
Category,Categorie
Category Name,Categorie Naam
Category of customer as entered in Customer master,Categorie van de klant als die in Customer Master
Cell Number,Mobiele nummer
Center,Centrum
"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.","Bepaalde documenten mogen niet worden gewijzigd zodra de definitieve, zoals een factuur bijvoorbeeld. De eindtoestand van deze documenten wordt genoemd <b>Ingediend.</b> U kunt beperken welke rollen kunnen op Verzenden."
Change UOM for an Item.,Wijzig Verpakking voor een item.
Change the starting / current sequence number of an existing series.,Wijzig de start-/ huidige volgnummer van een bestaande serie.
Channel Partner,Channel Partner
Charge,Lading
Chargeable,Oplaadbare
Chart of Accounts,Rekeningschema
Chart of Cost Centers,Grafiek van Kostenplaatsen
Chat,Praten
Check,Controleren
Check / Uncheck roles assigned to the Profile. Click on the Role to find out what permissions that Role has.,Controleer / Deselecteer rollen toegewezen aan het profiel. Klik op de rol om uit te vinden welke permissies die taak.
Check all the items below that you want to send in this digest.,Controleer alle onderstaande items die u wilt verzenden in deze verteren.
Check how the newsletter looks in an email by sending it to your email.,Controleer hoe de nieuwsbrief eruit ziet in een e-mail door te sturen naar uw e-mail.
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Controleer of terugkerende factuur, schakelt u om te stoppen met terugkerende of zet de juiste Einddatum"
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Controleer of u de automatische terugkerende facturen. Na het indienen van elke verkoop factuur, zal terugkerende sectie zichtbaar zijn."
Check if you want to send salary slip in mail to each employee while submitting salary slip,"Controleer of u wilt loonstrook sturen mail naar elke werknemer, terwijl het indienen van loonstrook"
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Controleer dit als u wilt dwingen de gebruiker om een ​​reeks voor het opslaan te selecteren. Er zal geen standaard zijn als je dit controleren.
Check this if you want to send emails as this id only (in case of restriction by your email provider).,Controleer dit als u wilt e-mails als enige deze id (in geval van beperking door uw e-mailprovider) te sturen.
Check this if you want to show in website,Selecteer dit als u wilt weergeven in de website
Check this to disallow fractions. (for Nos),Controleer dit te verbieden fracties. (Voor Nos)
Check this to make this the default letter head in all prints,Vink dit aan om deze de standaard briefpapier maken in alle afdrukken
Check this to pull emails from your mailbox,Vink dit aan om e-mails uit je mailbox
Check to activate,Controleer activeren
Check to make Shipping Address,Controleer Verzendadres maken
Check to make primary address,Controleer primaire adres maken
Checked,Geruit
Cheque,Cheque
Cheque Date,Cheque Datum
Cheque Number,Cheque nummer
Child Tables are shown as a Grid in other DocTypes.,Onderliggende tabellen worden weergegeven als een tabel in andere DocTypes.
City,City
City/Town,Stad / Plaats
Claim Amount,Claim Bedrag
Claims for company expense.,Claims voor rekening bedrijf.
Class / Percentage,Klasse / Percentage
Classic,Klassiek
Classification of Customers by region,Indeling van klanten per regio
Clear Cache & Refresh,Clear Cache &amp; Vernieuwen
Clear Table,Clear Tabel
Clearance Date,Clearance Datum
"Click on ""Get Latest Updates""",Klik op &quot;Get Latest Updates&quot;
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,Klik op &#39;Sales Invoice&#39; knop om een ​​nieuwe verkoopfactuur maken.
Click on button in the 'Condition' column and select the option 'User is the creator of the document',Klik op de knop in de &#39;Staat&#39; kolom en selecteer de optie &#39;Gebruiker is de maker van het document&#39;
Click to Expand / Collapse,Klik om Uitklappen / Inklappen
Client,Klant
Close,Sluiten
Closed,Gesloten
Closing Account Head,Sluiten Account Hoofd
Closing Date,Afsluitingsdatum
Closing Fiscal Year,Het sluiten van het fiscale jaar
CoA Help,CoA Help
Code,Code
Cold Calling,Cold Calling
Color,Kleur
Column Break,Column Break
Comma separated list of email addresses,Komma&#39;s gescheiden lijst van e-mailadressen
Comment,Commentaar
Comment By,Reactie door
Comment By Fullname,Reactie door Volledige naam
Comment Date,Reactie Datum
Comment Docname,Reactie Docname
Comment Doctype,Reactie Doctype
Comment Time,Reactie Tijd
Comments,Reacties
Commission Rate,Commissie Rate
Commission Rate (%),Commissie Rate (%)
Commission partners and targets,Partners van de Commissie en de doelstellingen
Communication,Verbinding
Communication HTML,Communicatie HTML
Communication History,Communicatie Geschiedenis
Communication Medium,Communicatie Medium
Communication log.,Communicatie log.
Company,Vennootschap
Company Details,Bedrijfsgegevens
Company History,Bedrijf Geschiedenis
Company History Heading,Bedrijf Geschiedenis rubriek
Company Info,Bedrijfsgegevens
Company Introduction,Bedrijf Introductie
Company Master.,Bedrijf Master.
Company Name,Bedrijfsnaam
Company Settings,Bedrijfsinstellingen
Company branches.,Bedrijfstakken.
Company departments.,Bedrijfsafdelingen.
Company is missing or entered incorrect value,Bedrijf ontbreekt of ingevoerde onjuiste waarde
Company mismatch for Warehouse,Bedrijf mismatch voor Warehouse
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,"Registratienummers van de onderneming voor uw referentie. Voorbeeld: BTW-nummers, enz."
Company registration numbers for your reference. Tax numbers etc.,"Registratienummers van de onderneming voor uw referentie. Fiscale nummers, enz."
Complaint,Klacht
Complete,Compleet
Complete By,Compleet Door
Completed,Voltooid
Completed Qty,Voltooide Aantal
Completion Date,Voltooiingsdatum
Completion Status,Afronding Status
Confirmed orders from Customers.,Bevestigde orders van klanten.
Consider Tax or Charge for,Overweeg belasting of heffing voor
"Consider this Price List for fetching rate. (only which have ""For Buying"" as checked)",Beschouw dit Prijslijst voor het ophalen van tarief. (Alleen die &quot;voor het kopen van&quot; als aangevinkt)
Considered as Opening Balance,Beschouwd als Opening Balance
Considered as an Opening Balance,Beschouwd als een openingsbalans
Consultant,Consultant
Consumed Qty,Consumed Aantal
Contact,Contact
Contact Control,Contact Controle
Contact Desc,Contact Desc
Contact Details,Contactgegevens
Contact Email,Contact E-mail
Contact HTML,Contact HTML
Contact Info,Contact Info
Contact Mobile No,Contact Mobiel Nog geen
Contact Name,Contact Naam
Contact No.,Contact No
Contact Person,Contactpersoon
Contact Type,Contact Type
Contact Us Settings,Neem contact met ons op Instellingen
Contact in Future,Contact in de toekomst
"Contact options, like ""Sales Query, Support Query"" etc each on a new line or separated by commas.","Contact opties, zoals &quot;Sales Query, ondersteuning Query&quot; etc elk op een nieuwe regel of gescheiden door komma&#39;s."
Contacted,Contact
Content,Inhoud
Content Type,Content Type
Content in markdown format that appears on the main side of your page,Inhoud in Markdown-formaat dat wordt weergegeven op de belangrijkste kant van uw pagina
Content web page.,Inhoud webpagina.
Contra Voucher,Contra Voucher
Contract End Date,Contract Einddatum
Contribution (%),Bijdrage (%)
Contribution to Net Total,Bijdrage aan de netto Total
Control Panel,Controle Panel
Conversion Factor,Conversie Factor
Conversion Rate,Succespercentage
Convert into Recurring Invoice,Om te zetten in terugkerende factuur
Converted,Omgezet
Copy,Kopiëren
Copy From Item Group,Kopiëren van Item Group
Copyright,Auteursrecht
Core,Kern
Cost Center,Kostenplaats
Cost Center Details,Kosten Center Details
Cost Center Name,Kosten Center Naam
Cost Center is mandatory for item: ,Kostenplaats is verplicht voor artikel:
Cost Center must be specified for PL Account: ,Kostenplaats moet worden opgegeven voor PL-account:
Costing,Costing
Country,Land
Country Name,Naam van het land
Create,Creëren
Create Bank Voucher for the total salary paid for the above selected criteria,Maak Bank Voucher voor het totale loon voor de bovenstaande geselecteerde criteria
Create Material Requests,Maak Materiaal Aanvragen
Create Production Orders,Maak productieorders
Create Receiver List,Maak Receiver Lijst
Create Salary Slip,Maak loonstrook
Create Stock Ledger Entries when you submit a Sales Invoice,Maak Stock Grootboekposten wanneer u een verkoopfactuur indienen
"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.","Maak een prijslijst van prijslijst meester en voert standaard ref tarieven tegen elk van hen. Over de selectie van een prijslijst in Offerte, Sales Order of Delivery Note, zal overeenkomstige ref tarief worden opgehaald voor dit object."
Create and Send Newsletters,Maken en versturen nieuwsbrieven
Created Account Head: ,Gemaakt Account Head:
Created By,Gemaakt door
Created Customer Issue,Gemaakt op problemen van klanten
Created Group ,Gemaakt Group
Created Opportunity,Gemaakt Opportunity
Created Support Ticket,Gemaakt Hulpaanvraag
Creates salary slip for above mentioned criteria.,Maakt salarisstrook voor de bovengenoemde criteria.
Credentials,Geloofsbrieven
Credit,Krediet
Credit Amt,Credit Amt
Credit Card Voucher,Credit Card Voucher
Credit Controller,Credit Controller
Credit Days,Credit Dagen
Credit Limit,Kredietlimiet
Credit Note,Creditnota
Credit To,Met dank aan
Cross Listing of Item in multiple groups,Kruis een overzicht van onze item in meerdere groepen
Currency,Valuta
Currency Exchange,Wisselkantoor
Currency Format,Valuta Format
Currency Name,De Naam van
Currency Settings,Valuta-instellingen
Currency and Price List,Valuta en Prijslijst
Currency does not match Price List Currency for Price List,Munt komt niet overeen prijslijst Koers voor Prijslijst
Current Accommodation Type,Actueel Accommodatie type
Current Address,Huidige adres
Current BOM,Actueel BOM
Current Fiscal Year,Huidige fiscale jaar
Current Stock,Huidige voorraad
Current Stock UOM,Huidige voorraad Verpakking
Current Value,Huidige waarde
Current status,Actuele status
Custom,Gewoonte
Custom Autoreply Message,Aangepaste Autoreply Bericht
Custom CSS,Custom CSS
Custom Field,Aangepast veld
Custom Message,Aangepast bericht
Custom Reports,Aangepaste rapporten
Custom Script,Aangepaste Script
Custom Startup Code,Custom Startup Code
Custom?,Custom?
Customer,Klant
Customer (Receivable) Account,Klant (Debiteuren) Account
Customer / Item Name,Klant / Naam van het punt
Customer Account,Customer Account
Customer Account Head,Customer Account Head
Customer Address,Klant Adres
Customer Addresses And Contacts,Klant adressen en contacten
Customer Code,Klantcode
Customer Codes,Klant Codes
Customer Details,Klant Details
Customer Discount,Klanten Korting
Customer Discounts,Klant Kortingen
Customer Feedback,Klantenfeedback
Customer Group,Klantengroep
Customer Group Name,Klant Groepsnaam
Customer Intro,Klant Intro
Customer Issue,Probleem voor de klant
Customer Issue against Serial No.,Klant Kwestie tegen Serienummer
Customer Name,Klantnaam
Customer Naming By,Klant Naming Door
Customer Type,Klant Type
Customer classification tree.,Klant classificatie boom.
Customer database.,Klantenbestand.
Customer's Currency,Klant Munteenheid
Customer's Item Code,Klant Artikelcode
Customer's Purchase Order Date,Klant Purchase Order Date
Customer's Purchase Order No,Klant Purchase Order No
Customer's Vendor,Klant Vendor
Customer's currency,Klant munt
"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.","Klant valuta - Als u een valuta die niet de standaard valuta te selecteren, dan moet u ook de Currency Conversion Rate."
Customers Not Buying Since Long Time,Klanten Niet kopen Sinds Long Time
Customerwise Discount,Customerwise Korting
Customize,Pas
Customize Form,Pas Form
Customize Form Field,Pas Form Field
"Customize Label, Print Hide, Default etc.","Pas Label, Print verbergen, Standaard, enz."
Customize the Notification,Pas de Kennisgeving
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,Pas de inleidende tekst die gaat als een deel van die e-mail. Elke transactie heeft een aparte inleidende tekst.
DN,DN
DN Detail,DN Detail
Daily,Dagelijks
Daily Event Digest is sent for Calendar Events where reminders are set.,Dagelijkse gebeurtenis Digest wordt gestuurd voor Agenda Events waar herinneringen worden ingesteld.
Daily Time Log Summary,Daily Time Log Samenvatting
Danger,Gevaar
Data,Gegevens
Data missing in table,Ontbreekt in tabel data
Database,Database
Database Folder ID,Database Folder ID
Database of potential customers.,Database van potentiële klanten.
Date,Datum
Date Format,Datumnotatie
Date Of Retirement,Datum van pensionering
Date and Number Settings,Datum en nummer Settings
Date is repeated,Datum wordt herhaald
Date must be in format,Datum moet in formaat
Date of Birth,Geboortedatum
Date of Issue,Datum van afgifte
Date of Joining,Datum van toetreding tot
Date on which lorry started from supplier warehouse,Datum waarop vrachtwagen gestart vanuit leverancier magazijn
Date on which lorry started from your warehouse,Datum waarop vrachtwagen gestart vanuit uw magazijn
Date on which the lead was last contacted,Datum waarop het voortouw laatste werd benaderd
Dates,Data
Datetime,Datetime
Days for which Holidays are blocked for this department.,Dagen waarvoor feestdagen zijn geblokkeerd voor deze afdeling.
Dealer,Handelaar
Dear,Lieve
Debit,Debet
Debit Amt,Debet Amt
Debit Note,Debetnota
Debit To,Debitering van
Debit or Credit,Debet of Credit
Deduct,Aftrekken
Deduction,Aftrek
Deduction Type,Aftrek Type
Deduction1,Deduction1
Deductions,Inhoudingen
Default,Verzuim
Default Account,Standaard Account
Default BOM,Standaard BOM
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,Standaard Bank / Cash account wordt automatisch bijgewerkt in POS Factuur bij deze modus is geselecteerd.
Default Bank Account,Standaard bankrekening
Default Cash Account,Standaard Cash Account
Default Commission Rate,Standaard Commissie Rate
Default Company,Standaard Bedrijf
Default Cost Center,Standaard kostenplaats
Default Cost Center for tracking expense for this item.,Standaard kostenplaats voor het bijhouden van kosten voor dit object.
Default Currency,Standaard valuta
Default Customer Group,Standaard Klant Groep
Default Expense Account,Standaard Expense Account
Default Home Page,Standaard startpagina
Default Home Pages,Standaard Home Pages
Default Income Account,Standaard Inkomen account
Default Item Group,Standaard Onderdeel Groep
Default Price List,Standaard Prijslijst
Default Print Format,Default Print Format
Default Purchase Account in which cost of the item will be debited.,Standaard Aankoop account waarin kosten van het actief zal worden gedebiteerd.
Default Sales Partner,Standaard Sales Partner
Default Settings,Standaardinstellingen
Default Source Warehouse,Standaard Bron Warehouse
Default Stock UOM,Default Stock Verpakking
Default Supplier,Standaardleverancier
Default Supplier Type,Standaard Leverancier Type
Default Target Warehouse,Standaard Target Warehouse
Default Territory,Standaard Territory
Default Unit of Measure,Standaard Maateenheid
Default Valuation Method,Standaard Valuation Method
Default Value,Standaardwaarde
Default Warehouse,Standaard Warehouse
Default Warehouse is mandatory for Stock Item.,Standaard Warehouse is verplicht voor Stock Item.
Default settings for Shopping Cart,Standaardinstellingen voor Winkelwagen
"Default: ""Contact Us""",Default: &quot;Contact&quot;
DefaultValue,DefaultValue
Defaults,Standaardwaarden
"Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>","Definieer budget voor deze kostenplaats. Om de begroting actie in te stellen, zie <a href=""#!List/Company"">Company Master</a>"
Defines actions on states and the next step and allowed roles.,Worden de acties op staten en de volgende stap en liet rollen.
Defines workflow states and rules for a document.,Definieert workflow staten en regels voor een document.
Delete,Verwijder
Delete Row,Rij verwijderen
Delivered,Geleverd
Delivered Items To Be Billed,Geleverd Items te factureren
Delivered Qty,Geleverd Aantal
Delivery Address,Afleveradres
Delivery Date,Leveringsdatum
Delivery Details,Levering Details
Delivery Document No,Levering document nr.
Delivery Document Type,Levering Soort document
Delivery Note,Vrachtbrief
Delivery Note Item,Levering Note Item
Delivery Note Items,Levering Opmerking Items
Delivery Note Message,Levering Opmerking Bericht
Delivery Note No,Levering aantekening
Delivery Note Packing Item,Levering Opmerking Verpakking Item
Delivery Note Required,Levering Opmerking Verplicht
Delivery Note Trends,Delivery Note Trends
Delivery Status,Delivery Status
Delivery Time,Levertijd
Delivery To,Levering To
Department,Afdeling
Depends On,Hangt af van
Depends on LWP,Afhankelijk van LWP
Descending,Aflopend
Description,Beschrijving
Description HTML,Beschrijving HTML
"Description for listing page, in plain text, only a couple of lines. (max 140 characters)","Beschrijving van lijst pagina, in platte tekst, slechts een paar regels. (Max 140 tekens)"
Description for page header.,Beschrijving van pagina header.
Description of a Job Opening,Beschrijving van een vacature
Designation,Benaming
Desktop,Desktop
Detailed Breakup of the totals,Gedetailleerde Breakup van de totalen
Details,Details
Deutsch,Deutsch
Did not add.,Niet toe te voegen.
Did not cancel,Niet annuleren
Did not save,Niet bewaren
Difference,Verschil
"Different ""States"" this document can exist in. Like ""Open"", ""Pending Approval"" etc.","Verschillende &quot;staten&quot; van dit document kan in bestaan ​​Like &quot;Open&quot;, &quot;In afwachting van goedkeuring&quot;, enz."
Disable Customer Signup link in Login page,Uitschakelen Customer Inschrijven schakel in Login pagina
Disable Rounded Total,Uitschakelen Afgeronde Totaal
Disable Signup,Uitschakelen Inschrijven
Disabled,Invalide
Discount  %,Korting%
Discount %,Korting%
Discount (%),Korting (%)
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Korting Velden zal beschikbaar zijn in Bestelbon, bewijs van aankoop Aankoop Factuur"
Discount(%),Korting (%)
Display,Tonen
Display Settings,Beeldscherminstellingen
Display all the individual items delivered with the main items,Toon alle afzonderlijke onderdelen geleverd met de belangrijkste onderwerpen
Distinct unit of an Item,Aparte eenheid van een item
Distribute transport overhead across items.,Verdeel het vervoer overhead van verschillende items.
Distribution,Distributie
Distribution Id,Distributie Id
Distribution Name,Distributie Naam
Distributor,Verdeler
Divorced,Gescheiden
Do not show any symbol like $ etc next to currencies.,"Vertonen geen symbool zoals $, enz. naast valuta."
Doc Name,Doc Naam
Doc Status,Doc Status
Doc Type,Doc Type
DocField,DocField
DocPerm,DocPerm
DocType,DOCTYPE
DocType Details,DocType Details
DocType is a Table / Form in the application.,DocType is een tabel / formulier in de applicatie.
DocType on which this Workflow is applicable.,DOCTYPE waarop dit Workflow toepassing is.
DocType or Field,DocType of Field
Document,Document
Document Description,Document Beschrijving
Document Numbering Series,Document Numbering Series
Document Status transition from ,Document Status overgang van
Document Type,Soort document
Document is only editable by users of role,Document is alleen bewerkbaar door gebruikers van de rol van
Documentation,Documentatie
Documentation Generator Console,Documentatie Generator Console
Documentation Tool,Documentatie Tool
Documents,Documenten
Domain,Domein
Download Backup,Download Backup
Download Materials Required,Download Benodigde materialen
Download Template,Download Template
Download a report containing all raw materials with their latest inventory status,Download een verslag met alle grondstoffen met hun nieuwste inventaris 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","Download het sjabloon, juiste gegevens in en bevestig de gewijzigde file.All data en combinatie werknemer in de geselecteerde periode zal komen in de sjabloon, met bestaande presentielijsten"
Draft,Ontwerp
Drafts,Concepten
Drag to sort columns,Sleep om te sorteren kolommen
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox Toegang toegestaan
Dropbox Access Key,Dropbox Access Key
Dropbox Access Secret,Dropbox Toegang Secret
Due Date,Vervaldag
EMP/,EMP /
ESIC CARD No,ESIC CARD Geen
ESIC No.,ESIC Nee
Earning,Verdienen
Earning & Deduction,Verdienen &amp; Aftrek
Earning Type,Verdienen Type
Earning1,Earning1
Edit,Redigeren
Editable,Bewerkbare
Educational Qualification,Educatieve Kwalificatie
Educational Qualification Details,Educatieve Kwalificatie Details
Eg. smsgateway.com/api/send_sms.cgi,Bijv. smsgateway.com / api / send_sms.cgi
Email,E-mail
Email (By company),E-mail (Door bedrijf)
Email Digest,E-mail Digest
Email Digest Settings,E-mail Digest Instellingen
Email Host,E-mail Host
Email Id,E-mail Identiteitskaart
"Email Id must be unique, already exists for: ","E-mail Identiteitskaart moet uniek zijn, al bestaat voor:"
"Email Id where a job applicant will email e.g. ""jobs@example.com""",E-mail Identiteitskaart waar een sollicitant zal bijvoorbeeld &quot;jobs@example.com&quot; e-mail
Email Login,E-mail Login
Email Password,E-mail Wachtwoord
Email Sent,E-mail verzonden
Email Sent?,E-mail verzonden?
Email Settings,E-mailinstellingen
Email Settings for Outgoing and Incoming Emails.,E-mail Instellingen voor uitgaande en inkomende e-mails.
Email Signature,E-mail Handtekening
Email Use SSL,E-mail SSL gebruiken
"Email addresses, separted by commas","E-mailadressen, separted door komma&#39;s"
Email ids separated by commas.,E-mail ids gescheiden door komma&#39;s.
"Email settings for jobs email id ""jobs@example.com""",E-mail instellingen voor banen e-id &quot;jobs@example.com&quot;
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""",E-mail instellingen voor Leads uit de verkoop e-id bijvoorbeeld &quot;sales@example.com&quot; extract
Email...,Email ...
Embed image slideshows in website pages.,Afbeelding insluiten diavoorstellingen in website pagina&#39;s.
Emergency Contact Details,Emergency Contactgegevens
Emergency Phone Number,Telefoonnummer voor noodgevallen
Employee,Werknemer
Employee Birthday,Werknemer Verjaardag
Employee Designation.,Medewerker Aanduiding.
Employee Details,Medewerker Details
Employee Education,Medewerker Onderwijs
Employee External Work History,Medewerker Buitendienst Medewerker Geschiedenis
Employee Information,Employee Information
Employee Internal Work History,Medewerker Interne Werk Geschiedenis
Employee Internal Work Historys,Medewerker Interne Werk historys
Employee Leave Approver,Werknemer Verlof Fiatteur
Employee Leave Balance,Werknemer Verlof Balance
Employee Name,Naam werknemer
Employee Number,Medewerker Aantal
Employee Records to be created by,Werknemer Records worden gecreëerd door
Employee Setup,Medewerker Setup
Employee Type,Type werknemer
Employee grades,Medewerker cijfers
Employee record is created using selected field. ,Werknemer record wordt gemaakt met behulp van geselecteerde veld.
Employee records.,Employee records.
Employee: ,Werknemer:
Employees Email Id,Medewerkers E-mail Identiteitskaart
Employment Details,Werkgelegenheid Details
Employment Type,Type baan
Enable Auto Inventory Accounting,Enable Auto Inventory Accounting
Enable Shopping Cart,Enable Winkelwagen
Enabled,Ingeschakeld
Enables <b>More Info.</b> in all documents,Maakt <b>Meer Info.</b> In alle documenten
Encashment Date,Inning Datum
End Date,Einddatum
End date of current invoice's period,Einddatum van de periode huidige factuur&#39;s
End of Life,End of Life
Ends on,Eindigt op
Enter Email Id to receive Error Report sent by users.E.g.: support@iwebnotes.com,Voer E-mail Identiteitskaart naar foutrapport verstuurd door users.Eg ontvangen: support@iwebnotes.com
Enter Form Type,Voer Form Type
Enter Row,Voer Row
Enter Verification Code,Voer Verification Code
Enter campaign name if the source of lead is campaign.,Voer naam voor de campagne als de bron van lood is campagne.
"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>.","Voer standaardwaarde velden (sleutels) en waarden. Als u meerdere waarden voor een veld, zal de eerste worden opgepakt. Deze standaardwaarden worden ook gebruikt om &quot;match&quot; toestemming regels. Om de lijst van de velden te zien, ga naar <a href=""#Form/Customize Form/Customize Form"">Formulier aanpassen</a> ."
Enter department to which this Contact belongs,Voer dienst waaraan deze persoon behoort
Enter designation of this Contact,Voer aanwijzing van deze persoon
"Enter email id separated by commas, invoice will be mailed automatically on particular date","Vul e-id, gescheiden door komma&#39;s, zal factuur automatisch worden gemaild op bepaalde datum"
Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,Voer de onderdelen in en geplande aantal waarvoor u wilt productieorders verhogen of grondstoffen voor analyse te downloaden.
Enter name of campaign if source of enquiry is campaign,Voer de naam van de campagne als bron van onderzoek is campagne
"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Voer statische url parameters here (Eg. afzender = ERPNext, username = ERPNext, wachtwoord = 1234 enz.)"
Enter the company name under which Account Head will be created for this Supplier,Voer de bedrijfsnaam waaronder Account hoofd zal worden aangemaakt voor dit bedrijf
Enter the date by which payments from customer is expected against this invoice.,Voer de datum waarop de betalingen van de klant wordt verwacht tegen deze factuur.
Enter url parameter for message,Voer URL-parameter voor bericht
Enter url parameter for receiver nos,Voer URL-parameter voor de ontvanger nos
Entries,Inzendingen
Entries are not allowed against this Fiscal Year if the year is closed.,Inzendingen zijn niet toegestaan ​​tegen deze fiscale jaar als het jaar gesloten is.
Error,Fout
Error for,Fout voor
Error: Document has been modified after you have opened it,Fout: Document is gewijzigd nadat u het hebt geopend
Estimated Material Cost,Geschatte Materiaal Kosten
Event,Evenement
Event End must be after Start,Event End moet na Start
Event Individuals,Event Personen
Event Role,Event Rol
Event Roles,Event Rollen
Event Type,Type gebeurtenis
Event User,Evenement Gebruiker
Events In Today's Calendar,Evenementen In Kalender Today&#39;s
Every Day,Elke Dag
Every Month,Elke maand
Every Week,Elke Week
Every Year,Elk jaar
Everyone can read,Iedereen kan lezen
Example:,Voorbeeld:
Exchange Rate,Wisselkoers
Excise Page Number,Accijnzen Paginanummer
Excise Voucher,Accijnzen Voucher
Exemption Limit,Vrijstelling Limit
Exhibition,Tentoonstelling
Existing Customer,Bestaande klant
Exit,Uitgang
Exit Interview Details,Exit Interview Details
Expected,Verwachte
Expected Delivery Date,Verwachte leverdatum
Expected End Date,Verwachte einddatum
Expected Start Date,Verwachte startdatum
Expense Account,Expense Account
Expense Account is mandatory,Expense Account is verplicht
Expense Claim,Expense Claim
Expense Claim Approved,Expense Claim Goedgekeurd
Expense Claim Approved Message,Expense Claim Goedgekeurd Bericht
Expense Claim Detail,Expense Claim Detail
Expense Claim Details,Expense Claim Details
Expense Claim Rejected,Expense claim afgewezen
Expense Claim Rejected Message,Expense claim afgewezen Bericht
Expense Claim Type,Expense Claim Type
Expense Date,Expense Datum
Expense Details,Expense Details
Expense Head,Expense Hoofd
Expense account is mandatory for item: ,Kostenrekening is verplicht voor artikel:
Expense/Adjustment Account,Expense / Aanpassing Account
Expenses Booked,Kosten geboekt
Expenses Included In Valuation,Kosten inbegrepen In Valuation
Expenses booked for the digest period,Kosten geboekt voor de digest periode
Expiry Date,Vervaldatum
Export,Exporteren
Exports,Export
External,Extern
Extract Emails,Extract Emails
FCFS Rate,FCFS Rate
FIFO,FIFO
Facebook Share,Facebook Share
Failed: ,Mislukt:
Family Background,Familie Achtergrond
FavIcon,FavIcon
Fax,Fax
Features Setup,Features instelscherm
Feed,Voeden
Feed Type,Feed Type
Feedback,Terugkoppeling
Female,Vrouwelijk
Fetch lead which will be converted into customer.,Fetch lead die wordt omgezet in klant.
Field Description,Veld Beschrijving
Field Name,Veldnaam
Field Type,Veldtype
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Veld verkrijgbaar in Delivery Note, Offerte, 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)","Veld dat de workflow-status van de transactie vertegenwoordigt (indien veld niet aanwezig is, een nieuwe verborgen Aangepast veld wordt aangemaakt)"
Fieldname,Veldnaam
Fields,Velden
"Fields separated by comma (,) will be included in the<br /><b>Search By</b> list of Search dialog box","Velden gescheiden door komma (,) opgenomen in de <br /> <b>Zoeken op</b> lijst van dialoogvenster Zoeken"
File,Bestand
File Data,File Data
File Name,Bestandsnaam
File Size,Bestand Grootte
File URL,File-URL
File size exceeded the maximum allowed size,Bestandsgrootte overschreden de maximaal toegestane grootte
Files Folder ID,Bestanden Folder ID
Filing in Additional Information about the Opportunity will help you analyze your data better.,Het indienen van aanvullende informatie over de Opportunity zal u helpen uw gegevens te analyseren hoe beter.
Filing in Additional Information about the Purchase Receipt will help you analyze your data better.,Het indienen van aanvullende informatie over de aankoopbon zal u helpen uw gegevens te analyseren hoe beter.
Filling in Additional Information about the Delivery Note will help you analyze your data better.,Het invullen van aanvullende informatie over de levering Note zal u helpen beter uw gegevens te analyseren.
Filling in additional information about the Quotation will help you analyze your data better.,Het invullen van aanvullende informatie over de Offerte zal u helpen beter uw gegevens te analyseren.
Filling in additional information about the Sales Order will help you analyze your data better.,Het invullen van aanvullende informatie over de verkooporder zal u helpen beter uw gegevens te analyseren.
Filter,Filteren
Filter By Amount,Filteren op Bedrag
Filter By Date,Filter op datum
Filter based on customer,Filteren op basis van klant
Filter based on item,Filteren op basis van artikel
Final Confirmation Date,Definitieve bevestiging Datum
Financial Analytics,Financiële Analytics
Financial Statements,Jaarrekening
First Name,Voornaam
First Responded On,Eerste reageerden op
Fiscal Year,Boekjaar
Fixed Asset Account,Fixed Asset account
Float,Zweven
Float Precision,Float Precision
Follow via Email,Volg via e-mail
Following Journal Vouchers have been created automatically,Na Vouchers Journal zijn automatisch aangemaakt
"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.",Na tafel zal waarden als items zijn sub - gecontracteerde. Deze waarden zullen worden opgehaald van de meester van de &quot;Bill of Materials&quot; van sub - gecontracteerde items.
Font (Heading),Font (rubriek)
Font (Text),Font (Tekst)
Font Size (Text),Tekengrootte (Text)
Fonts,Fonts
Footer,Footer
Footer Items,Footer Items
For All Users,Voor alle gebruikers
For Company,Voor Bedrijf
For Employee,Uitvoeringsinstituut Werknemersverzekeringen
For Employee Name,Voor Naam werknemer
For Item ,Voor post
"For Links, enter the DocType as rangeFor Select, enter list of Options separated by comma","Voor Links, de DocType invoeren als rangeFor Select, voert de lijst van opties, gescheiden door komma&#39;s"
For Production,Voor productie
For Reference Only.,Alleen ter referentie.
For Sales Invoice,Voor verkoopfactuur
For Server Side Print Formats,Voor Server Side Print Formats
For Territory,Voor Territory
For UOM,Voor UOM
For Warehouse,Voor Warehouse
"For comparative filters, start with","Voor vergelijkingsdoeleinden filters, te beginnen met"
"For e.g. 2012, 2012-13","Voor bijvoorbeeld 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.,Bijvoorbeeld als u wilt annuleren en wijzigen &#39;INV004&#39; het zal worden een nieuw document &#39;INV004-1&#39;. Dit helpt u bij te houden van elke wijziging.
For example: You want to restrict users to transactions marked with a certain property called 'Territory',Bijvoorbeeld: U wilt gebruikers te beperken tot transacties gemarkeerd met een bepaalde eigenschap genaamd &#39;Territory&#39;
For opening balance entry account can not be a PL account,Voor openingsbalans toegang account kan niet worden een PL rekening
For ranges,Voor bereiken
For reference,Ter referentie
For reference only.,Alleen ter referentie.
For row,Voor rij
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Voor het gemak van de klanten, kunnen deze codes worden gebruikt in gedrukte formaten zoals facturen en de leveringsbonnen"
Form,Vorm
Format: hh:mm example for one hour expiry set as 01:00. Max expiry will be 72 hours. Default is 24 hours,Formaat: uu: mm voorbeeld voor een uur verstrijken ingesteld als 01:00 uur. Max afloop zal 72 uur. Standaard is 24 uur
Forum,Forum
Fraction,Fractie
Fraction Units,Fractie Units
Freeze Stock Entries,Freeze Stock Entries
Friday,Vrijdag
From,Van
From Bill of Materials,Van Bill of Materials
From Company,Van Company
From Currency,Van Valuta
From Currency and To Currency cannot be same,Van Munt en naar Valuta kan niet hetzelfde zijn
From Customer,Van Klant
From Date,Van Datum
From Date must be before To Date,Van datum moet voor-to-date
From Delivery Note,Van Delivery Note
From Employee,Van Medewerker
From Lead,Van Lood
From PR Date,Van PR Datum
From Package No.,Van Pakket No
From Purchase Order,Van Purchase Order
From Purchase Receipt,Van Kwitantie
From Sales Order,Van verkooporder
From Time,Van Tijd
From Value,Van Waarde
From Value should be less than To Value,Van Waarde minder dan aan Waarde moet zijn
Frozen,Bevroren
Fulfilled,Vervulde
Full Name,Volledige naam
Fully Completed,Volledig ingevulde
GL Entry,GL Entry
GL Entry: Debit or Credit amount is mandatory for ,GL Entry: Debet of Credit bedrag is verplicht voor
GRN,GRN
Gantt Chart,Gantt-diagram
Gantt chart of all tasks.,Gantt-grafiek van alle taken.
Gender,Geslacht
General,Algemeen
General Ledger,Grootboek
Generate Description HTML,Genereer Beschrijving HTML
Generate Material Requests (MRP) and Production Orders.,Genereer Materiaal Requests (MRP) en productieorders.
Generate Salary Slips,Genereer Salaris Slips
Generate Schedule,Genereer Plan
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Genereer pakbonnen voor pakketten te leveren. Gebruikt voor het verpakken aantal, inhoud van de verpakking en het gewicht mee te delen."
Generates HTML to include selected image in the description,Genereert HTML aan geselecteerde beeld te nemen in de beschrijving
Georgia,Georgië
Get,Krijgen
Get Advances Paid,Get betaalde voorschotten
Get Advances Received,Get ontvangen voorschotten
Get Current Stock,Get Huidige voorraad
Get From ,Get Van
Get Items,Get Items
Get Items From Sales Orders,Krijg Items Van klantorders
Get Last Purchase Rate,Get Laatst Purchase Rate
Get Non Reconciled Entries,Get Niet Reconciled reacties
Get Outstanding Invoices,Get openstaande facturen
Get Purchase Receipt,Get Aankoop Ontvangst
Get Sales Orders,Get Verkooporders
Get Specification Details,Get Specificatie Details
Get Stock and Rate,Get voorraad en Rate
Get Template,Get Sjabloon
Get Terms and Conditions,Get Algemene Voorwaarden
Get Weekly Off Dates,Ontvang wekelijkse Uit Data
"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.","Get waardering tarief en beschikbare voorraad bij de bron / doel pakhuis op de genoemde plaatsen van datum-tijd. Als geserialiseerde item, drukt u op deze toets na het invoeren van seriële nos."
Give additional details about the indent.,Geven extra informatie over het streepje.
Global Defaults,Global Standaardwaarden
Go back to home,Ga terug naar home
Go to Setup > <a href='#user-properties'>User Properties</a> to set \			'territory' for diffent Users.,Ga naar Instellingen&gt; <a href='#user-properties'>Eigenschappen voor gebruiker</a> om \ &#39;grondgebied&#39; voor diffent gebruikers in te stellen.
Goal,Doel
Goals,Doelen
Goods received from Suppliers.,Goederen ontvangen van leveranciers.
Google Analytics ID,Google Analytics ID
Google Drive,Google Drive
Google Drive Access Allowed,Google Drive Access toegestaan
Google Plus One,Google Plus One
Google Web Font (Heading),Google Web Font (rubriek)
Google Web Font (Text),Google Web Font (Tekst)
Grade,Graad
Graduate,Afstuderen
Grand Total,Algemeen totaal
Grand Total (Company Currency),Grand Total (Company Munt)
Gratuity LIC ID,Fooi LIC ID
Gross Margin %,Winstmarge%
Gross Margin Value,Winstmarge Value
Gross Pay,Brutoloon
Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,Brutoloon + achteraf Bedrag + inning Bedrag - Totaal Aftrek
Gross Profit,Brutowinst
Gross Profit (%),Brutowinst (%)
Gross Weight,Brutogewicht
Gross Weight UOM,Brutogewicht Verpakking
Group,Groep
Group or Ledger,Groep of Ledger
Groups,Groepen
HR,HR
HR Settings,HR-instellingen
HTML,HTML
HTML / Banner that will show on the top of product list.,HTML / Banner dat zal laten zien op de bovenkant van het product lijst.
Half Day,Halve dag
Half Yearly,Halfjaarlijkse
Half-yearly,Halfjaarlijks
Has Batch No,Heeft Batch nr.
Has Child Node,Heeft het kind Node
Has Serial No,Heeft Serienummer
Header,Hoofd
Heading,Titel
Heading Text As,Rubriek Tekst Zoals
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Heads (of groepen) waartegen de boekingen zijn gemaakt en saldi worden gehandhaafd.
Health Concerns,Gezondheid Zorgen
Health Details,Gezondheid Details
Held On,Held Op
Help,Help
Help HTML,Help HTML
"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Help: Om te linken naar een andere record in het systeem, gebruikt &quot;# Vorm / NB / [Note Name] &#39;, zoals de Link URL. (Gebruik geen &quot;http://&quot;)"
Helvetica Neue,Helvetica Neue
"Hence, maximum allowed Manufacturing Quantity",Dus maximale hoeveelheid Manufacturing
"Here you can maintain family details like name and occupation of parent, spouse and children","Hier kunt u onderhouden familie gegevens zoals naam en beroep van de ouder, echtgenoot en kinderen"
"Here you can maintain height, weight, allergies, medical concerns etc","Hier kunt u onderhouden lengte, gewicht, allergieën, medische zorgen, enz."
Hey there! You need to put at least one item in \				the item table.,Hey there! U moet ten minste een item zet in \ het item tafel.
Hey! All these items have already been invoiced.,Hey! Al deze items zijn al gefactureerd.
Hey! There should remain at least one System Manager,Hey! Er moet minstens een System Manager blijven
Hidden,Verborgen
Hide Actions,Verberg Acties
Hide Copy,Verberg Copy
Hide Currency Symbol,Verberg Valutasymbool
Hide Email,Verberg E-mail
Hide Heading,Verberg rubriek
Hide Print,Verberg Afdrukken
Hide Toolbar,Werkbalk verbergen
High,Hoog
Highlight,Markeer
History,Geschiedenis
History In Company,Geschiedenis In Bedrijf
Hold,Houden
Holiday,Feestdag
Holiday List,Holiday Lijst
Holiday List Name,Holiday Lijst Naam
Holidays,Vakantie
Home,Thuis
Home Page,Home Page
Home Page is Products,Startpagina is Producten
Home Pages,Home Pages
Host,Gastheer
"Host, Email and Password required if emails are to be pulled","Host, e-mail en wachtwoord nodig als e-mails moeten worden getrokken"
Hour Rate,Uurtarief
Hour Rate Consumable,Uurtarief verbruiksartikelen
Hour Rate Electricity,Uur Prijs Elektriciteit
Hour Rate Labour,Uurtarief Arbeid
Hour Rate Rent,Uur Prijs Huur
Hours,Uur
How frequently?,Hoe vaak?
"How should this currency be formatted? If not set, will use system defaults","Hoe moet deze valuta worden geformatteerd? Indien niet ingesteld, zal gebruik maken van het systeem standaard"
How to upload,Hoe om te uploaden
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.,Hoera! De dag (en) waarop u een aanvraag voor verlof \ samenvallen met vakantie (s). Je moet niet van toepassing voor verlof.
I,Ik
ID (name) of the entity whose property is to be set,ID (naam) van de entiteit waarvan de eigenschap moet worden ingesteld
IDT,IDT
II,II
III,III
IN,IN
INV,INV
INV/10-11/,INV/10-11 /
ITEM,ITEM
IV,IV
Icon,Pictogram
Icon will appear on the button,Pictogram verschijnt op de knop
Id of the profile will be the email.,Id van het profiel zal de e-mail.
Identification of the package for the delivery (for print),Identificatie van het pakket voor de levering (voor afdrukken)
If Income or Expense,Indien baten of lasten
If Monthly Budget Exceeded,Als Maandelijks Budget overschreden
"If Sale BOM is defined, the actual BOM of the Pack is displayed as table.Available in Delivery Note and Sales Order","Als Verkoop BOM is gedefinieerd, wordt de werkelijke BOM van de Pack weergegeven als table.Available in Delivery Note en Sales Order"
"If Supplier Part Number exists for given Item, it gets stored here","Indien Leverancier Onderdeelnummer bestaat voor bepaalde Item, het wordt hier opgeslagen"
If Yearly Budget Exceeded,Als jaarlijks budget overschreden
"If a User does not have access at Level 0, then higher levels are meaningless","Als een gebruiker geen toegang hebben op niveau 0, dan is een hoger niveau zijn betekenisloos"
"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.","Indien aangevinkt, zal BOM voor sub-assemblage zaken geacht voor het krijgen van grondstoffen. Anders zullen alle subeenheid items worden behandeld als een grondstof."
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Indien aangevinkt, Totaal niet. van Werkdagen zal omvatten feestdagen, en dit zal de waarde van het salaris per dag te verminderen"
"If checked, all other workflows become inactive.","Indien aangevinkt, alle andere werkstromen worden inactief."
"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.","Indien aangevinkt, zal een e-mail met een bijgevoegd HTML-formaat worden toegevoegd aan een deel van het EMail lichaam als attachment. Om alleen te verzenden als bijlage, vink dit."
"If checked, the Home page will be the default Item Group for the website.","Indien aangevinkt, zal de Home pagina zijn de standaard Item Groep voor de website."
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Indien aangevinkt, zal de BTW-bedrag worden beschouwd als reeds in de Print Tarief / Print Bedrag"
"If disable, 'Rounded Total' field will not be visible in any transaction","Indien storing, &#39;Afgerond Total&#39; veld niet zichtbaar zijn in een transactie"
"If enabled, the system will post accounting entries for inventory automatically.","Indien ingeschakeld, zal het systeem de boekingen automatisch plaatsen voor de inventaris."
"If image is selected, color will be ignored (attach first)","Als beeld is geselecteerd, wordt kleur worden genegeerd (voeg als eerste)"
If more than one package of the same type (for print),Als er meer dan een pakket van hetzelfde type (voor afdrukken)
If non standard port (e.g. 587),Als niet-standaard poort (bijv. 587)
If not applicable please enter: NA,Indien niet van toepassing gelieve: Nvt
"If not checked, the list will have to be added to each Department where it has to be applied.","Indien niet gecontroleerd, wordt de lijst worden toegevoegd aan elk Department waar het moet worden toegepast."
"If not, create a","Zo niet, maak dan een"
"If set, data entry is only allowed for specified users. Else, entry is allowed for all users with requisite permissions.","Indien ingesteld, wordt het invoeren van gegevens alleen toegestaan ​​voor bepaalde gebruikers. Else, is toegang toegestaan ​​voor alle gebruikers met de vereiste machtigingen."
"If specified, send the newsletter using this email address","Als de opgegeven, stuurt u de nieuwsbrief via dit e-mailadres"
"If the 'territory' Link Field exists, it will give you an option to select it","Als de &#39;grondgebied&#39; Link Field bestaat, zal het u een optie om deze te selecteren"
"If the account is frozen, entries are allowed for the ""Account Manager"" only.","Als de account is bevroren, worden items toegestaan ​​voor de &quot;Account Manager&quot; alleen."
"If this Account represents a Customer, Supplier or Employee, set it here.","Als dit account is een klant, leverancier of werknemer, hier instellen."
If you follow Quality Inspection<br>Enables item QA Required and QA No in Purchase Receipt,Volg je Quality Inspection <br> Maakt onderdeel QA Vereiste en QA Nee in Purchase Receipt
If you have Sales Team and Sale Partners (Channel Partners)  they can be tagged and maintain their contribution in the sales activity,Als je Sales Team en Verkoop Partners (Channel Partners) ze kunnen worden gelabeld en onderhouden van hun bijdrage in de commerciële activiteit
"If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.","Als u hebt gemaakt van een standaard template in Aankoop en-heffingen Meester, selecteert u een en klikt u op de knop."
"If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.","Als u hebt gemaakt van een standaard template in Sales en-heffingen Meester, selecteert u een en klikt u op de knop."
"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","Als je al lang af te drukken formaten, kan deze functie gebruikt worden om splitsing van de pagina die moet worden afgedrukt op meerdere pagina&#39;s met alle kop-en voetteksten op elke pagina"
If you involve in manufacturing activity<br>Enables item <b>Is Manufactured</b>,Als u te betrekken in de productie-activiteit <br> Maakt onderdeel <b>is vervaardigd</b>
Ignore,Negeren
Ignored: ,Genegeerd:
Image,Beeld
Image Link,Afbeelding Link
Image View,Afbeelding View
Implementation Partner,Implementatie Partner
Import,Importeren
Import Attendance,Import Toeschouwers
Import Log,Importeren Inloggen
Important dates and commitments in your project life cycle,Belangrijke data en verplichtingen in uw project levenscyclus
Imports,Invoer
In Dialog,In Dialog
In Filter,In Filter
In Hours,In Hours
In List View,In lijstweergave
In Process,In Process
In Report Filter,In Report Filter
In Row,In Rij
In Store,In Store
In Words,In Woorden
In Words (Company Currency),In Woorden (Company Munt)
In Words (Export) will be visible once you save the Delivery Note.,In Words (Export) wordt zichtbaar zodra u bespaart de pakbon.
In Words will be visible once you save the Delivery Note.,In Woorden zijn zichtbaar zodra u bespaart de pakbon.
In Words will be visible once you save the Purchase Invoice.,In Woorden zijn zichtbaar zodra u bespaart de aankoopfactuur.
In Words will be visible once you save the Purchase Order.,In Woorden zijn zichtbaar zodra u bespaart de Bestelbon.
In Words will be visible once you save the Purchase Receipt.,In Woorden zijn zichtbaar zodra u de aankoopbon te bewaren.
In Words will be visible once you save the Quotation.,In Woorden zijn zichtbaar zodra het opslaan van de offerte.
In Words will be visible once you save the Sales Invoice.,In Woorden zijn zichtbaar zodra u bespaart de verkoopfactuur.
In Words will be visible once you save the Sales Order.,In Woorden zijn zichtbaar zodra u bespaart de Verkooporder.
In response to,In reactie op
"In the Permission Manager, click on the button in the 'Condition' column for the Role you want to restrict.","In de Permission Manager, klik op de knop in de &#39;Staat&#39; op de kolom voor de rol die u wilt beperken."
Incentives,Incentives
Incharge Name,InCharge Naam
Include holidays in Total no. of Working Days,Onder meer vakanties in Total nee. van Werkdagen
Income / Expense,Inkomsten / Uitgaven
Income Account,Inkomen account
Income Booked,Inkomen Geboekt
Income Year to Date,Inkomsten Jaar tot datum
Income booked for the digest period,Inkomsten geboekt voor de digest periode
Incoming,Inkomend
Incoming / Support Mail Setting,Inkomende / Ondersteuning mail instelling
Incoming Rate,Inkomende Rate
Incoming Time,Inkomende Tijd
Incoming quality inspection.,Inkomende kwaliteitscontrole.
Index,Index
Indicates that the package is a part of this delivery,Geeft aan dat het pakket is een deel van deze levering
Individual,Individueel
Individuals,Personen
Industry,Industrie
Industry Type,Industry Type
Info,Info
Insert After,Invoegen na
Insert Below,Hieronder invoegen
Insert Code,Plaats Code
Insert Row,Rij invoegen
Insert Style,Plaats Style
Inspected By,Geïnspecteerd door
Inspection Criteria,Inspectie Criteria
Inspection Required,Inspectie Verplicht
Inspection Type,Inspectie Type
Installation Date,Installatie Datum
Installation Note,Installatie Opmerking
Installation Note Item,Installatie Opmerking Item
Installation Status,Installatie Status
Installation Time,Installatie Tijd
Installation record for a Serial No.,Installatie record voor een Serienummer
Installed Qty,Aantal geïnstalleerd
Instructions,Instructies
Int,Int
Integrations,Integraties
Interested,Geïnteresseerd
Internal,Intern
Introduce your company to the website visitor.,Introduceer uw bedrijf op de website bezoeker.
Introduction,Introductie
Introductory information for the Contact Us Page,Inleidende informatie voor het Contactformulier
Invalid Delivery Note. Delivery Note should exist and should be in 				draft state. Please rectify and try again.,Ongeldige Delivery Note. Delivery Note moet bestaan ​​en moet in ontwerp staat. Gelieve te corrigeren en opnieuw te proberen.
Invalid Email,Ongeldig E-mail
Invalid Email Address,Ongeldig e-mailadres
Invalid Item or Warehouse Data,Ongeldig artikel of Warehouse gegevens
Invalid Leave Approver,Ongeldige Laat Fiatteur
Inventory,Inventaris
Inverse,Omgekeerde
Invoice Date,Factuurdatum
Invoice Details,Factuurgegevens
Invoice No,Factuur nr.
Invoice Period From Date,Factuur Periode Van Datum
Invoice Period To Date,Factuur Periode To Date
Is Active,Is actief
Is Advance,Is Advance
Is Asset Item,Is actiefpost
Is Cancelled,Is Geannuleerd
Is Carry Forward,Is Forward Carry
Is Child Table,Is het kind Tabel
Is Default,Is Standaard
Is Encash,Is incasseren
Is LWP,Is LWP
Is Mandatory Field,Is Verplicht veld
Is Opening,Is openen
Is Opening Entry,Wordt Opening Entry
Is PL Account,Is PL Account
Is POS,Is POS
Is Primary Contact,Is Primaire contactpersoon
Is Purchase Item,Is Aankoop Item
Is Sales Item,Is Sales Item
Is Service Item,Is Service Item
Is Single,Is Single
Is Standard,Is Standaard
Is Stock Item,Is Stock Item
Is Sub Contracted Item,Is Sub Gecontracteerde Item
Is Subcontracted,Wordt uitbesteed
Is Submittable,Is Submittable
Is it a Custom DocType created by you?,Is het een aangepaste DOCTYPE gemaakt door u?
Is this Tax included in Basic Rate?,Is dit inbegrepen in de Basic Rate?
Issue,Uitgifte
Issue Date,Uitgiftedatum
Issue Details,Probleem Details
Issued Items Against Production Order,Uitgegeven Artikelen Tegen productieorder
It is needed to fetch Item Details.,Het is nodig om Item Details halen.
It was raised because the (actual + ordered + indented - reserved) 						quantity reaches re-order level when the following record was created,Het werd opgeheven omdat de (werkelijke + besteld + ingesprongen - gereserveerd) hoeveelheid re-order niveau bereikt wanneer de volgende record is aangemaakt
Item,Item
Item Advanced,Item Geavanceerde
Item Barcode,Item Barcode
Item Batch Nos,Item Batch Nos
Item Classification,Item Classificatie
Item Code,Artikelcode
Item Code (item_code) is mandatory because Item naming is not sequential.,Item Code (item_code) is verplicht omdat Item naamgeving is niet sequentieel.
Item Customer Detail,Item Klant Detail
Item Description,Item Beschrijving
Item Desription,Item desription
Item Details,Item Details
Item Group,Item Group
Item Group Name,Item Groepsnaam
Item Groups in Details,Artikelgroepen in Details
Item Image (if not slideshow),Item Afbeelding (indien niet diashow)
Item Name,Naam van het punt
Item Naming By,Punt benoemen Door
Item Price,Item Prijs
Item Prices,Item Prijzen
Item Quality Inspection Parameter,Item Kwaliteitscontrole Parameter
Item Reorder,Item opnieuw ordenen
Item Serial No,Item Volgnr
Item Serial Nos,Item serienummers
Item Supplier,Item Leverancier
Item Supplier Details,Item Product Detail
Item Tax,Item Belasting
Item Tax Amount,Item BTW-bedrag
Item Tax Rate,Item Belastingtarief
Item Tax1,Item belastingen1
Item To Manufacture,Item te produceren
Item UOM,Item Verpakking
Item Website Specification,Item Website Specificatie
Item Website Specifications,Item Website Specificaties
Item Wise Tax Detail ,Item Wise Tax Detail
Item classification.,Item classificatie.
Item to be manufactured or repacked,Item te vervaardigen of herverpakt
Item will be saved by this name in the data base.,Het punt zal worden opgeslagen met deze naam in de databank.
"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","Item, Garantie, zal AMC (jaarlijks onderhoudscontract) gegevens automatisch worden opgehaald wanneer Serienummer is geselecteerd."
Item-Wise Price List,Item-Wise Prijslijst
Item-wise Last Purchase Rate,Post-wise Last Purchase Rate
Item-wise Purchase History,Post-wise Aankoop Geschiedenis
Item-wise Purchase Register,Post-wise Aankoop Register
Item-wise Sales History,Post-wise Sales Geschiedenis
Item-wise Sales Register,Post-wise sales Registreren
Items,Artikelen
"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty",Items worden aangevraagd die &quot;Niet op voorraad&quot; rekening houdend met alle magazijnen op basis van verwachte aantal en minimale bestelling qty
Items which do not exist in Item master can also be entered on customer's request,Items die niet bestaan ​​in punt master kan ook worden ingevoerd op verzoek van de klant
Itemwise Discount,Itemwise Korting
Itemwise Recommended Reorder Level,Itemwise Aanbevolen Reorder Niveau
JSON,JSON
JV,JV
Javascript,Javascript
Javascript to append to the head section of the page.,Javascript toe te voegen aan de head sectie van de pagina.
Job Applicant,Sollicitant
Job Opening,Vacature
Job Profile,Functieprofiel
Job Title,Functie
"Job profile, qualifications required etc.","Functieprofiel, kwalificaties, etc. nodig"
Jobs Email Settings,Vacatures E-mailinstellingen
Journal Entries,Journaalposten
Journal Entry,Journal Entry
Journal Entry for inventory that is received but not yet invoiced,"Journal Entry voor de inventaris die is ontvangen, maar nog niet gefactureerde"
Journal Voucher,Journal Voucher
Journal Voucher Detail,Journal Voucher Detail
Journal Voucher Detail No,Journal Voucher Detail Geen
KRA,KRA
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Bijhouden van Sales Campaigns. Blijf op de hoogte van Leads, Offertes, Sales Order etc van campagnes om Return on Investment te peilen."
Keep a track of all communications,Houd een spoor van alle communicatie
Keep a track of communication related to this enquiry which will help for future reference.,Houd een spoor van communicatie met betrekking tot dit onderzoek dat zal helpen voor toekomstig gebruik.
Key,Sleutel
Key Performance Area,Key Performance Area
Key Responsibility Area,Belangrijke verantwoordelijkheid Area
LEAD,LEAD
LEAD/10-11/,LEAD/10-11 /
LEAD/MUMBAI/,LEIDEN / MUMBAI /
LR Date,LR Datum
LR No,LR Geen
Label,Label
Label Help,Label Help
Lacs,Lacs
Landed Cost Item,Landed Cost Item
Landed Cost Items,Landed Cost Items
Landed Cost Purchase Receipt,Landed Cost Inkoop Ontvangstbewijs
Landed Cost Purchase Receipts,Landed Cost aankoopbonnen
Landed Cost Wizard,Landed Cost Wizard
Landing Page,Landing Page
Language,Taal
Language preference for user interface (only if available).,Taal voorkeur voor user interface (alleen indien beschikbaar).
Last Contact Date,Laatste Contact Datum
Last IP,Laatste IP-
Last Login,Laatst ingelogd
Last Name,Achternaam
Last Purchase Rate,Laatste Purchase Rate
Lato,Lato
Lead,Leiden
Lead Details,Lood Details
Lead Lost,Lood Verloren
Lead Name,Lead Naam
Lead Owner,Lood Owner
Lead Source,Lood Bron
Lead Status,Lead Status
Lead Time Date,Lead Tijd Datum
Lead Time Days,Lead Time Dagen
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.,Levertijd dagen is het aantal dagen waarmee dit artikel wordt verwacht in uw magazijn. Deze dag wordt opgehaald in Laden en aanvragen als u dit item.
Lead Type,Lood Type
Leave Allocation,Laat Toewijzing
Leave Allocation Tool,Laat Toewijzing Tool
Leave Application,Verlofaanvraag
Leave Approver,Laat Fiatteur
Leave Approver can be one of,Vertrekken Fiatteur kan een van
Leave Approvers,Verlaat Goedkeurders
Leave Balance Before Application,Laat Balance Voor het aanbrengen
Leave Block List,Laat Block List
Leave Block List Allow,Laat Block List Laat
Leave Block List Allowed,Laat toegestaan ​​Block List
Leave Block List Date,Laat Block List Datum
Leave Block List Dates,Laat Block List Data
Leave Block List Name,Laat Block List Name
Leave Blocked,Laat Geblokkeerde
Leave Control Panel,Laat het Configuratiescherm
Leave Encashed?,Laat verzilverd?
Leave Encashment Amount,Laat inning Bedrag
Leave Setup,Laat Setup
Leave Type,Laat Type
Leave Type Name,Laat Type Naam
Leave Without Pay,Verlof zonder wedde
Leave allocations.,Laat toewijzingen.
Leave blank if considered for all branches,Laat leeg indien dit voor alle vestigingen
Leave blank if considered for all departments,Laat leeg indien dit voor alle afdelingen
Leave blank if considered for all designations,Laat leeg indien overwogen voor alle aanduidingen
Leave blank if considered for all employee types,Laat leeg indien overwogen voor alle werknemer soorten
Leave blank if considered for all grades,Laat leeg indien dit voor alle soorten
Leave blank if you have not decided the end date.,Laat leeg als je niet hebt besloten de einddatum.
Leave by,Laat door
"Leave can be approved by users with Role, ""Leave Approver""",Laat kan worden goedgekeurd door gebruikers met Role: &quot;Laat Fiatteur&quot;
Ledger,Grootboek
Left,Links
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Juridische entiteit / dochteronderneming met een aparte Chart of Accounts die behoren tot de Organisatie.
Letter Head,Brief Hoofd
Letter Head Image,Brief Hoofd afbeelding
Letter Head Name,Brief Hoofd Naam
Level,Niveau
"Level 0 is for document level permissions, higher levels for field level permissions.","Niveau 0 is voor document niveau machtigingen, hogere niveaus voor veldniveau machtigingen."
Lft,Lft
Link,Link
Link to other pages in the side bar and next section,Link naar andere pagina&#39;s in de zijbalk en de volgende sectie
Linked In Share,Linked In delen
Linked With,Linked Met
List,Lijst
List items that form the package.,Lijst items die het pakket vormen.
List of holidays.,Lijst van feestdagen.
List of patches executed,Lijst van de uitgevoerde stukken
List of records in which this document is linked,Lijst van records waarin dit document wordt gekoppeld
List of users who can edit a particular Note,Lijst van gebruikers die een bepaalde Note kan bewerken
List this Item in multiple groups on the website.,Lijst deze post in meerdere groepen op de website.
Live Chat,Live Chat
Load Print View on opening of an existing form,Laad Print Bekijk op opening van een bestaand formulier
Loading,Het laden
Loading Report,Laden Rapport
Log,Logboek
"Log of Activities performed by users against Tasks that can be used for tracking time, billing.","Log van activiteiten uitgevoerd door gebruikers tegen Taken die kunnen worden gebruikt voor het bijhouden van de tijd, billing."
Log of Scheduler Errors,Log van Scheduler fouten
Login After,Login Na
Login Before,Login Voor
Login Id,Login Id
Logo,Logo
Logout,Afmelden
Long Text,Lange tekst
Lost Reason,Verloren Reden
Low,Laag
Lower Income,Lager inkomen
Lucida Grande,Lucida Grande
MIS Control,MIS Controle
MREQ-,Mreq-
MTN Details,MTN Details
Mail Footer,Mail Footer
Mail Password,Mail Wachtwoord
Mail Port,Mail Port
Mail Server,Mail Server
Main Reports,Belangrijkste Rapporten
Main Section,Hoofd Sectie
Maintain Same Rate Throughout Sales Cycle,Onderhouden Zelfde Rate Gedurende Salescyclus
Maintain same rate throughout purchase cycle,Handhaaf dezelfde snelheid gedurende aankoop cyclus
Maintenance,Onderhoud
Maintenance Date,Onderhoud Datum
Maintenance Details,Onderhoud Details
Maintenance Schedule,Onderhoudsschema
Maintenance Schedule Detail,Onderhoudsschema Detail
Maintenance Schedule Item,Onderhoudsschema Item
Maintenance Schedules,Onderhoudsschema&#39;s
Maintenance Status,Onderhoud Status
Maintenance Time,Onderhoud Tijd
Maintenance Type,Onderhoud Type
Maintenance Visit,Onderhoud Bezoek
Maintenance Visit Purpose,Onderhoud Bezoek Doel
Major/Optional Subjects,Major / keuzevakken
Make Bank Voucher,Maak Bank Voucher
Make Difference Entry,Maak Verschil Entry
Make Time Log Batch,Maak Time Log Batch
Make a new,Maak een nieuw
Make sure that the transactions you want to restrict have a Link field 'territory' that maps to a 'Territory' master.,Zorg ervoor dat de transacties die u wilt beperken een link veld &#39;grondgebied&#39; hebben die verwijst naar een &#39;Territory&#39; meester.
Male,Mannelijk
Manage cost of operations,Beheer kosten van de operaties
Manage exchange rates for currency conversion,Beheer wisselkoersen voor valuta-omrekening
Mandatory,Verplicht
"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.",Verplicht als Stock Item is &quot;ja&quot;. Ook de standaard opslagplaats waar de gereserveerde hoeveelheid is ingesteld van Sales Order.
Manufacture against Sales Order,Vervaardiging tegen Verkooporder
Manufacture/Repack,Fabricage / Verpak
Manufactured Qty,Gefabriceerd Aantal
Manufactured quantity will be updated in this warehouse,Gefabriceerd hoeveelheid zal worden bijgewerkt in dit magazijn
Manufacturer,Fabrikant
Manufacturer Part Number,Partnummer fabrikant
Manufacturing,Productie
Manufacturing Quantity,Productie Aantal
Margin,Marge
Marital Status,Burgerlijke staat
Market Segment,Marktsegment
Married,Getrouwd
Mass Mailing,Mass Mailing
Master,Meester
Master Name,Master Naam
Master Type,Meester Soort
Masters,Masters
Match,Wedstrijd
Match non-linked Invoices and Payments.,Match niet-gekoppelde facturen en betalingen.
Material Issue,Materiaal Probleem
Material Receipt,Materiaal Ontvangst
Material Request,Materiaal aanvragen
Material Request Date,Materiaal Aanvraagdatum
Material Request Detail No,Materiaal Aanvraag Detail Geen
Material Request For Warehouse,Materiaal Request For Warehouse
Material Request Item,Materiaal aanvragen Item
Material Request Items,Materiaal aanvragen Items
Material Request No,Materiaal aanvragen Geen
Material Request Type,Materiaal Soort aanvraag
Material Request used to make this Stock Entry,Materiaal Request gebruikt om dit Stock Entry maken
Material Requirement,Material Requirement
Material Transfer,Materiaaloverdracht
Materials,Materieel
Materials Required (Exploded),Benodigde materialen (Exploded)
Max 500 rows only.,Alleen max. 500 rijen.
Max Attachments,Max Bijlagen
Max Days Leave Allowed,Max Dagen Laat toegestaan
Max Discount (%),Max Korting (%)
"Meaning of Submit, Cancel, Amend","Betekenis van Indienen, Annuleren, wijzigen"
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>","Menu-items in de Top Bar. Voor het instellen van de kleur van de Top Bar, ga naar <a href=""#Form/Style Settings"">Style Settings</a>"
Merge,Samensmelten
Merge Into,Samenvoegen in
Merge Warehouses,Samenvoegen Magazijnen
Merging is only possible between Group-to-Group or 					Ledger-to-Ledger,Samenvoegen is alleen mogelijk tussen de Groep-op-Groep of Ledger-to-Ledger
"Merging is only possible if following \					properties are same in both records.					Group or Ledger, Debit or Credit, Is PL Account","Samenvoegen is alleen mogelijk als volgt \ eigenschappen zijn hetzelfde in beide records. Groep of Ledger, Debet of Credit, Is PL Account"
Message,Bericht
Message Parameter,Bericht Parameter
Message greater than 160 character will be splitted into multiple mesage,Bericht van meer dan 160 tekens worden opgesplitst in meerdere mesage
Messages,Berichten
Method,Methode
Middle Income,Midden Inkomen
Middle Name (Optional),Midden Naam (Optioneel)
Milestone,Mijlpaal
Milestone Date,Mijlpaal Datum
Milestones,Mijlpalen
Milestones will be added as Events in the Calendar,Mijlpalen worden toegevoegd als evenementen in deze kalender
Millions,Miljoenen
Min Order Qty,Minimum Aantal
Minimum Order Qty,Minimum Aantal
Misc,Misc
Misc Details,Misc Details
Miscellaneous,Gemengd
Miscelleneous,Miscelleneous
Mobile No,Mobiel Nog geen
Mobile No.,Mobile No
Mode of Payment,Wijze van betaling
Modern,Modern
Modified Amount,Gewijzigd Bedrag
Modified by,Aangepast door
Module,Module
Module Def,Module Def
Module Name,Modulenaam
Modules,Modules
Monday,Maandag
Month,Maand
Monthly,Maandelijks
Monthly Attendance Sheet,Maandelijkse Toeschouwers Sheet
Monthly Earning & Deduction,Maandelijkse Verdienen &amp; Aftrek
Monthly Salary Register,Maandsalaris Register
Monthly salary statement.,Maandsalaris verklaring.
Monthly salary template.,Maandsalaris sjabloon.
More,Meer
More Details,Meer details
More Info,Meer info
More content for the bottom of the page.,Meer inhoud voor de onderkant van de pagina.
Moving Average,Moving Average
Moving Average Rate,Moving Average Rate
Mr,De heer
Ms,Mevrouw
Multiple Item Prices,Meerdere Item Prijzen
Multiple root nodes not allowed.,Meerdere wortel nodes niet toegestaan.
Mupltiple Item prices.,Mupltiple Item prijzen.
Must be Whole Number,Moet heel getal zijn
Must have report permission to access this report.,Moet verslag toestemming om toegang tot dit rapport.
Must specify a Query to run,Moet een query opgeven om te draaien
My Settings,Mijn instellingen
NL-,NL-
Name,Naam
Name Case,Naam Case
Name and Description,Naam en beschrijving
Name and Employee ID,Naam en Employee ID
Name as entered in Sales Partner master,Naam zoals die voorkomt in Sales Partner meester
Name is required,Naam is vereist
Name of organization from where lead has come,Naam van de organisatie waar lood is gekomen
Name of person or organization that this address belongs to.,Naam van de persoon of organisatie die dit adres behoort.
Name of the Budget Distribution,Naam van de begroting Distribution
Name of the entity who has requested for the Material Request,Naam van de instantie die voor de Material Request heeft verzocht
Naming,Benoemen
Naming Series,Benoemen Series
Naming Series mandatory,Naamgeving Series verplicht
Negative balance is not allowed for account ,Negatief saldo is niet toegestaan ​​voor rekening
Net Pay,Nettoloon
Net Pay (in words) will be visible once you save the Salary Slip.,Netto loon (in woorden) zal zichtbaar zodra het opslaan van de loonstrook.
Net Total,Net Total
Net Total (Company Currency),Netto Totaal (Bedrijf Munt)
Net Weight,Netto Gewicht
Net Weight UOM,Netto Gewicht Verpakking
Net Weight of each Item,Netto gewicht van elk item
Net pay can not be negative,Nettoloon kan niet negatief
Never,Nooit
New,Nieuw
New BOM,Nieuwe BOM
New Communications,Nieuwe Communications
New Delivery Notes,Nieuwe Delivery Notes
New Enquiries,Nieuwe Inlichtingen
New Leads,Nieuwe leads
New Leave Application,Nieuwe verlofaanvraag
New Leaves Allocated,Nieuwe bladeren Toegewezen
New Leaves Allocated (In Days),Nieuwe Bladeren Toegewezen (in dagen)
New Material Requests,Nieuw Materiaal Verzoeken
New Password,Nieuw wachtwoord
New Projects,Nieuwe projecten
New Purchase Orders,Nieuwe bestellingen
New Purchase Receipts,Nieuwe aankoopbonnen
New Quotations,Nieuwe Citaten
New Record,Nieuwe record
New Sales Orders,Nieuwe Verkooporders
New Stock Entries,Nieuwe toevoegingen aan de voorraden
New Stock UOM,Nieuwe Voorraad Verpakking
New Supplier Quotations,Nieuwe leverancier Offertes
New Support Tickets,Nieuwe Support Tickets
New Workplace,Nieuwe werkplek
New value to be set,Nieuwe waarde in te stellen
Newsletter,Nieuwsbrief
Newsletter Content,Nieuwsbrief Inhoud
Newsletter Status,Nieuwsbrief Status
"Newsletters to contacts, leads.","Nieuwsbrieven naar contacten, leidt."
Next Communcation On,Volgende communicatieboekjes Op
Next Contact By,Volgende Contact Door
Next Contact Date,Volgende Contact Datum
Next Date,Volgende datum
Next State,Volgende State
Next actions,Volgende acties
Next email will be sent on:,Volgende e-mail wordt verzonden op:
No,Geen
"No Account found in csv file, 							May be company abbreviation is not correct","Geen account gevonden in csv-bestand, Moge bedrijf afkorting zijn is niet correct"
No Action,Geen actie
No Communication tagged with this ,Geen Communicatie getagd met deze
No Copy,Geen Copy
No Customer Accounts found. Customer Accounts are identified based on \			'Master Type' value in account record.,Geen Customer Accounts gevonden. Customer Accounts zijn geïdentificeerd op basis van \ &#39;Master Type&#39; waarde in rekening record.
No Item found with Barcode,Geen artikel gevonden met barcode
No Items to Pack,Geen items om Pack
No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user.,Geen Laat Goedkeurders. Gelieve toewijzen &#39;Leave Fiatteur&#39; Rol om een ​​gebruiker atleast.
No Permission,Geen toestemming
No Permission to ,Geen toestemming om
No Permissions set for this criteria.,Geen Permissies ingesteld voor deze criteria.
No Report Loaded. Please use query-report/[Report Name] to run a report.,Geen rapport Loaded. Gelieve gebruik AND-rapport / [Report naam] om een ​​rapport uit te voeren.
No Supplier Accounts found. Supplier Accounts are identified based on \			'Master Type' value in account record.,Geen Leverancier Accounts gevonden. Leverancier Accounts zijn geïdentificeerd op basis van \ &#39;Master Type&#39; waarde in rekening record.
No User Properties found.,Geen Gebruiker Panden gevonden.
No default BOM exists for item: ,Geen standaard BOM bestaat voor artikel:
No further records,Geen verdere gegevens
No of Requested SMS,Geen van de gevraagde SMS
No of Sent SMS,Geen van Sent SMS
No of Visits,Geen van bezoeken
No one,Niemand
No permission to write / remove.,Geen toestemming om te schrijven / te verwijderen.
No record found,Geen record gevonden
No records tagged.,Geen records gelabeld.
No salary slip found for month: ,Geen loonstrook gevonden voor de maand:
"No table is created for Single DocTypes, all values are stored in tabSingles as a tuple.","Geen tafel is gemaakt voor Single DocTypes, worden alle waarden opgeslagen in tabSingles als een tupel."
None,Niemand
None: End of Workflow,Geen: Einde van de Workflow
Not,Niet
Not Active,Niet actief
Not Applicable,Niet van toepassing
Not Billed,Niet in rekening gebracht
Not Delivered,Niet geleverd
Not Found,Niet gevonden
Not Linked to any record.,Niet gekoppeld aan een record.
Not Permitted,Niet Toegestane
Not allowed for: ,Niet toegestaan ​​voor:
Not enough permission to see links.,Niet genoeg rechten om links te zien.
Not in Use,Niet in gebruik
Not interested,Niet geïnteresseerd
Not linked,Niet gekoppeld
Note,Nota
Note User,Opmerking Gebruiker
Note is a free page where users can share documents / notes,Opmerking is een gratis pagina waar gebruikers documenten / notities kunt delen
"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.","Opmerking: Back-ups en bestanden worden niet verwijderd van Dropbox, moet u ze handmatig verwijdert."
"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.","Opmerking: Back-ups en bestanden worden niet verwijderd uit Google Drive, moet u ze handmatig verwijdert."
Note: Email will not be sent to disabled users,Opmerking: E-mail wordt niet verzonden naar gebruikers met een handicap
"Note: For best results, images must be of the same size and width must be greater than height.","Opmerking: Voor de beste resultaten, moet beelden zijn van dezelfde grootte en breedte moet groter zijn dan de hoogte te zijn."
Note: Other permission rules may also apply,Opmerking: Andere toestemming regels kunnen ook van toepassing zijn
Note: You Can Manage Multiple Address or Contacts via Addresses & Contacts,Opmerking: U kunt meerdere Adres of Contactlenzen beheren via Adressen &amp; Contactpersonen
Note: maximum attachment size = 1mb,Let op: maximale grootte van bijlagen = 1mb
Notes,Opmerkingen
Nothing to show,Niets aan te geven
Notice - Number of Days,Notice - Aantal dagen
Notification Control,Kennisgeving Controle
Notification Email Address,Melding e-mail adres
Notify By Email,Informeer via e-mail
Notify by Email on creation of automatic Material Request,Informeer per e-mail op de creatie van automatische Materiaal Request
Number Format,Getalnotatie
O+,O +
O-,O-
OPPT,OPPT
Office,Kantoor
Old Parent,Oude Parent
On,Op
On Net Total,On Net Totaal
On Previous Row Amount,Op de vorige toer Bedrag
On Previous Row Total,Op de vorige toer Totaal
"Once you have set this, the users will only be able access documents with that property.","Zodra u dit instelt, zullen de gebruikers alleen in staat zijn toegang tot documenten met die eigenschap."
Only Administrator allowed to create Query / Script Reports,Alleen Beheerder toegestaan ​​om Query / Script Rapporten maken
Only Administrator can save a standard report. Please rename and save.,Alleen Beheerder kan een standaard rapport op te slaan. Wijzig de naam en sla.
Only Allow Edit For,Alleen toestaan ​​Bewerken Voor
Only Stock Items are allowed for Stock Entry,Alleen Stock Items zijn toegestaan ​​voor Stock Entry
Only System Manager can create / edit reports,Alleen systeembeheerder kan maken / bewerken rapporten
Only leaf nodes are allowed in transaction,Alleen leaf nodes zijn toegestaan ​​in transactie
Open,Open
Open Sans,Open Sans
Open Tickets,Open Kaarten
Opening Date,Opening Datum
Opening Entry,Opening Entry
Opening Time,Opening Time
Opening for a Job.,Opening voor een baan.
Operating Cost,Operationele kosten
Operation Description,Operatie Beschrijving
Operation No,Operation No
Operation Time (mins),Operatie Tijd (min.)
Operations,Operations
Opportunity,Kans
Opportunity Date,Opportunity Datum
Opportunity From,Opportunity Van
Opportunity Item,Opportunity Item
Opportunity Items,Opportunity Items
Opportunity Lost,Opportunity Verloren
Opportunity Type,Type functie
Options,Opties
Options Help,Opties Help
Order Confirmed,Order bevestigd
Order Lost,Bestel Verloren
Order Type,Bestel Type
Ordered Items To Be Billed,Bestelde artikelen te factureren
Ordered Items To Be Delivered,Besteld te leveren zaken
Ordered Quantity,Bestelde hoeveelheid
Orders released for production.,Bestellingen vrijgegeven voor productie.
Organization Profile,Organisatie Profiel
Original Message,Oorspronkelijk bericht
Other,Ander
Other Details,Andere Details
Out,Uit
Out of AMC,Uit AMC
Out of Warranty,Out of Warranty
Outgoing,Uitgaande
Outgoing Mail Server,Server uitgaande post
Outgoing Mails,Uitgaande mails
Outstanding Amount,Openstaande bedrag
Outstanding for Voucher ,Uitstekend voor Voucher
Over Heads,Meer dan Heads
Overhead,Boven het hoofd
Overlapping Conditions found between,Gevonden overlappende voorwaarden tussen
Owned,Owned
PAN Number,PAN-nummer
PF No.,PF Nee
PF Number,PF nummer
PI/2011/,PI/2011 /
PIN,PIN
PO,PO
POP3 Mail Server,POP3-e-mailserver
POP3 Mail Server (e.g. pop.gmail.com),POP3-e-mailserver (bv pop.gmail.com)
POP3 Mail Settings,POP3-mailinstellingen
POP3 mail server (e.g. pop.gmail.com),POP3-mailserver (bv pop.gmail.com)
POP3 server e.g. (pop.gmail.com),POP3-server bijvoorbeeld (pop.gmail.com)
POS Setting,POS-instelling
POS View,POS View
PR Detail,PR Detail
PRO,PRO
PS,PS
Package Item Details,Pakket Item Details
Package Items,Pakket Artikelen
Package Weight Details,Pakket gewicht details
Packing Details,Details van de verpakking
Packing Detials,Verpakking detials
Packing List,Paklijst
Packing Slip,Pakbon
Packing Slip Item,Pakbon Item
Packing Slip Items,Pakbon Items
Packing Slip(s) Cancelled,Pakbon (s) Cancelled
Page,Pagina
Page Background,Pagina-achtergrond
Page Border,Paginarand
Page Break,Pagina-einde
Page HTML,Pagina HTML
Page Headings,Pagina Koppen
Page Links,Pagina Links
Page Name,Page Name
Page Role,Pagina Rol
Page Text,Pagina tekst
Page content,Inhoud van de pagina
Page not found,Pagina niet gevonden
Page text and background is same color. Please change.,Pagina tekst en achtergrond is dezelfde kleur. Gelieve veranderen.
Page to show on the website,Pagina om te laten zien op de website
"Page url name (auto-generated) (add "".html"")",Pagina URL-naam (auto-generated) (toe te voegen &quot;. Html&quot;)
Paid Amount,Betaalde Bedrag
Parameter,Parameter
Parent Account,Parent Account
Parent Cost Center,Parent kostenplaats
Parent Customer Group,Bovenliggende klant Group
Parent Detail docname,Parent Detail docname
Parent Item,Parent Item
Parent Item Group,Parent Item Group
Parent Label,Parent Label
Parent Sales Person,Parent Sales Person
Parent Territory,Parent Territory
Parent is required.,Parent vereist.
Parenttype,Parenttype
Partially Completed,Gedeeltelijk afgesloten
Participants,Deelnemers
Partly Billed,Deels Gefactureerd
Partly Delivered,Deels geleverd
Partner Target Detail,Partner Target Detail
Partner Type,Partner Type
Partner's Website,Website partner
Passive,Passief
Passport Number,Nummer van het paspoort
Password,Wachtwoord
Password Expires in (days),Wachtwoord Verloopt (dagen)
Patch,Stuk
Patch Log,Patch Inloggen
Pay To / Recd From,Pay To / RECD Van
Payables,Schulden
Payables Group,Schulden Groep
Payment Collection With Ageing,Betaling Collection Met Vergrijzing
Payment Days,Betaling Dagen
Payment Entries,Betaling Entries
Payment Entry has been modified after you pulled it. 			Please pull it again.,Betaling Bericht is gewijzigd nadat u trok het. Gelieve opnieuw te trekken.
Payment Made With Ageing,Betaling Gemaakt Met Vergrijzing
Payment Reconciliation,Betaling Verzoening
Payment Terms,Betalingscondities
Payment to Invoice Matching Tool,Betaling aan Factuurvergelijk Tool
Payment to Invoice Matching Tool Detail,Betaling aan Factuurvergelijk Tool Detail
Payments,Betalingen
Payments Made,Betalingen Made
Payments Received,Betalingen ontvangen
Payments made during the digest period,Betalingen in de loop van de digest periode
Payments received during the digest period,Betalingen ontvangen tijdens de digest periode
Payroll Setup,Payroll Setup
Pending,In afwachting van
Pending Review,In afwachting Beoordeling
Pending SO Items For Purchase Request,In afwachting van SO Artikelen te Purchase Request
Percent,Percentage
Percent Complete,Percentage voltooid
Percentage Allocation,Percentage Toewijzing
Percentage Allocation should be equal to ,Percentage toewijzing moet gelijk zijn aan
Percentage variation in quantity to be allowed while receiving or delivering this item.,Percentage variërende hoeveelheid te mogen tijdens het ontvangen of versturen van dit item.
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.,Percentage dat u mag ontvangen of te leveren meer tegen de bestelde hoeveelheid. Bijvoorbeeld: Als u heeft besteld 100 eenheden. en uw Allowance is 10% dan mag je 110 eenheden ontvangen.
Performance appraisal.,Beoordeling van de prestaties.
Period Closing Voucher,Periode Closing Voucher
Periodicity,Periodiciteit
Perm Level,Perm Level
Permanent Accommodation Type,Permanente Accommodatie type
Permanent Address,Permanente Adres
Permission,Toestemming
Permission Level,Machtigingsniveau
Permission Levels,Toestemming Niveaus
Permission Manager,Toestemming Manager
Permission Rules,Toestemming Regels
Permissions,Rechten
Permissions Settings,Rechten Instellingen
Permissions are automatically translated to Standard Reports and Searches,Machtigingen worden automatisch vertaald naar Standard Rapporten en zoekopdrachten
"Permissions are set on Roles and Document Types (called DocTypes) by restricting read, edit, make new, submit, cancel, amend and report rights.","Zijn ingesteld voor Rollen en Documenttypen (de zogenaamde DocTypes) door beperking van lezen, bewerken, nieuwe te maken, in te dienen, te annuleren, te wijzigen en te rapporteren rechten."
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.,Rechten op een hoger niveau zijn &#39;Field Level&#39; machtigingen. Alle velden hebben een &#39;Permission Level&#39; set tegen hen en de regels gedefinieerd in die machtigingen van toepassing zijn op het veld. Dit is handig geval dat u wilt verbergen of bepaalde veld make-alleen-lezen.
"Permissions at level 0 are 'Document Level' permissions, i.e. they are primary for access to the document.","Rechten op niveau 0 zijn &#39;Document Level&#39; permissies, dat wil zeggen zij zijn primair voor toegang tot het document."
Permissions translate to Users based on what Role they are assigned,Rechten vertalen naar gebruikers op basis van welke rol zij zijn toegewezen
Person,Persoon
Person To Be Contacted,De te contacteren persoon
Personal,Persoonlijk
Personal Details,Persoonlijke Gegevens
Personal Email,Persoonlijke e-mail
Phone,Telefoon
Phone No,Telefoon nr.
Phone No.,Telefoonnummer
Pick Columns,Kies Kolommen
Pincode,Pincode
Place of Issue,Plaats van uitgave
Plan for maintenance visits.,Plan voor onderhoud bezoeken.
Planned Qty,Geplande Aantal
Planned Quantity,Geplande Aantal
Plant,Plant
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,Gelieve goed op Enter Afkorting of korte naam als het zal worden toegevoegd als suffix aan alle Account Heads.
Please Update Stock UOM with the help of Stock UOM Replace Utility.,Werk Stock UOM met behulp van Stock UOM Vervang Utility.
Please attach a file first.,Gelieve een bestand eerst.
Please attach a file or set a URL,Gelieve een bestand of stel een URL
Please check,Controleer
Please enter Default Unit of Measure,Vul Default Meeteenheid
Please enter Delivery Note No or Sales Invoice No to proceed,Vul Delivery Note Geen of verkoopfactuur Nee om door te gaan
Please enter Employee Number,Vul Employee Number
Please enter Expense Account,Vul Expense Account
Please enter Expense/Adjustment Account,Vul Expense / Aanpassing Account
Please enter Purchase Receipt No to proceed,Vul Kwitantie Nee om door te gaan
Please enter Reserved Warehouse for item ,Vul Gereserveerde Warehouse voor punt
Please enter valid,Voer geldige
Please enter valid ,Voer geldige
Please install dropbox python module,Installeer dropbox python module
Please make sure that there are no empty columns in the file.,Zorg ervoor dat er geen lege kolommen in het bestand.
Please mention default value for ',Vermeld standaardwaarde voor &#39;
Please reduce qty.,Gelieve te verminderen Verpak.inh.
Please refresh to get the latest document.,Vernieuw om de nieuwste document te krijgen.
Please save the Newsletter before sending.,Sla de Nieuwsbrief voor verzending.
Please select Bank Account,Selecteer Bankrekening
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Selecteer Carry Forward als u ook wilt opnemen vorige boekjaar uit balans laat dit fiscale jaar
Please select Date on which you want to run the report,Selecteer Datum waarop u het rapport wilt uitvoeren
Please select Naming Neries,Selecteer Naming Neries
Please select Price List,Selecteer Prijs Lijst
Please select Time Logs.,Selecteer Time Logs.
Please select a,Selecteer een
Please select a csv file,Selecteer een CSV-bestand
Please select a file or url,Selecteer een bestand of url
Please select a service item or change the order type to Sales.,Selecteer een service-item of wijzig het type om te verkopen.
Please select a sub-contracted item or do not sub-contract the transaction.,Selecteer een uitbesteed artikel of niet uitbesteden van de transactie.
Please select a valid csv file with data.,Selecteer een geldige CSV-bestand met data.
Please select month and year,Selecteer maand en jaar
Please select the document type first,Selecteer het documenttype eerste
Please select: ,Maak een keuze:
Please set Dropbox access keys in,Stel Dropbox toegang sleutels in
Please set Google Drive access keys in,Stel Google Drive toegang sleutels in
Please setup Employee Naming System in Human Resource > HR Settings,Gelieve setup Employee Naming System in Human Resource&gt; HR-instellingen
Please specify,Gelieve te specificeren
Please specify Company,Specificeer Company
Please specify Company to proceed,Specificeer Company om verder te gaan
Please specify Default Currency in Company Master \			and Global Defaults,Geef Standaard valuta in Bedrijf Master \ en Global Standaardwaarden
Please specify a,Geef een
Please specify a Price List which is valid for Territory,Geef een prijslijst die geldig is voor het grondgebied
Please specify a valid,Geef een geldige
Please specify a valid 'From Case No.',Geef een geldige &#39;Van Case No&#39;
Please specify currency in Company,Specificeer munt in Bedrijf
Point of Sale,Point of Sale
Point-of-Sale Setting,Point-of-Sale-instelling
Post Graduate,Post Graduate
Post Topic,Bericht Onderwerp
Postal,Post-
Posting Date,Plaatsingsdatum
Posting Date Time cannot be before,Posting Datum Tijd kan niet voor
Posting Time,Posting Time
Posts,Berichten
Potential Sales Deal,Potentiële Sales Deal
Potential opportunities for selling.,Potentiële mogelijkheden voor de verkoop.
"Precision for Float fields (quantities, discounts, percentages etc). Floats will be rounded up to specified decimals. Default = 3","Precisie voor Float velden (hoeveelheden, kortingen, percentages, enz.). Praalwagens zal worden afgerond naar opgegeven decimalen. Default = 3"
Preferred Billing Address,Voorkeur Factuuradres
Preferred Shipping Address,Voorkeur verzendadres
Prefix,Voorvoegsel
Present,Presenteer
Prevdoc DocType,Prevdoc DocType
Prevdoc Doctype,Prevdoc Doctype
Preview,Voorbeeld
Previous Work Experience,Vorige Werkervaring
Price,Prijs
Price List,Prijslijst
Price List Currency,Prijslijst Valuta
Price List Currency Conversion Rate,Prijslijst Currency Conversion Rate
Price List Exchange Rate,Prijslijst Wisselkoers
Price List Master,Prijslijst Master
Price List Name,Prijslijst Naam
Price List Rate,Prijslijst Prijs
Price List Rate (Company Currency),Prijslijst Rate (Company Munt)
Price List for Costing,Prijslijst voor Costing
Price Lists and Rates,Prijslijsten en tarieven
Primary,Primair
Print Format,Print Formaat
Print Format Style,Print Format Style
Print Format Type,Print Type Format
Print Heading,Print rubriek
Print Hide,Print Verberg
Print Width,Printbreedte
Print Without Amount,Printen zonder Bedrag
Print...,Print ...
Priority,Prioriteit
Private,Prive-
Proceed to Setup,Doorgaan naar Setup
Process,Procede
Process Payroll,Proces Payroll
Produced Quantity,Geproduceerd Aantal
Product Enquiry,Product Aanvraag
Production Order,Productieorder
Production Orders,Productieorders
Production Plan Item,Productie Plan Item
Production Plan Items,Productie Plan Items
Production Plan Sales Order,Productie Plan Verkooporder
Production Plan Sales Orders,Productie Plan Verkooporders
Production Planning (MRP),Productie Planning (MRP)
Production Planning Tool,Productie Planning Tool
"Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.","Producten worden gesorteerd op gewicht-leeftijd in verzuim zoekopdrachten. Meer van het gewicht-leeftijd, zal een hogere het product in de lijst."
Profile,Profiel
Profile Defaults,Profiel Standaardwaarden
Profile Represents a User in the system.,Profiel Geeft een gebruiker in het systeem.
Profile of a Blogger,Profiel van een Blogger
Profile of a blog writer.,Profiel van een blog schrijver.
Project,Project
Project Costing,Project Costing
Project Details,Details van het project
Project Milestone,Project Milestone
Project Milestones,Project Milestones
Project Name,Naam van het project
Project Start Date,Project Start Datum
Project Type,Project Type
Project Value,Project Value
Project activity / task.,Project activiteit / taak.
Project master.,Project meester.
Project will get saved and will be searchable with project name given,Project zal gered worden en zal doorzoekbaar met de gegeven naam van het project
Project wise Stock Tracking,Project verstandig Stock Tracking
Projected Qty,Verwachte Aantal
Projects,Projecten
Prompt for Email on Submission of,Vragen om E-mail op Indiening van
Properties,Eigenschappen
Property,Eigendom
Property Setter,Onroerend goed Setter
Property Setter overrides a standard DocType or Field property,Onroerend goed Setter heeft voorrang op een standaard DOCTYPE of Field eigendom
Property Type,Type Woning
Provide email id registered in company,Zorg voor e-id geregistreerd in bedrijf
Public,Publiek
Published,Gepubliceerd
Published On,Gepubliceerd op
Pull Emails from the Inbox and attach them as Communication records (for known contacts).,Trek E-mails van het Postvak IN en bevestig ze als communicatie-records (voor bekende contacten).
Pull Payment Entries,Trek Betaling Entries
Pull sales orders (pending to deliver) based on the above criteria,Trek verkooporders (in afwachting van te leveren) op basis van de bovengenoemde criteria
Purchase,Kopen
Purchase Analytics,Aankoop Analytics
Purchase Common,Aankoop Gemeenschappelijke
Purchase Date,Aankoopdatum
Purchase Details,Aankoopinformatie
Purchase Discounts,Inkoopkortingen
Purchase Document No,Aankoop Document nr.
Purchase Document Type,Koop Soort document
Purchase In Transit,Aankoop In Transit
Purchase Invoice,Aankoop Factuur
Purchase Invoice Advance,Aankoop Factuur Advance
Purchase Invoice Advances,Aankoop Factuur Vooruitgang
Purchase Invoice Item,Aankoop Factuur Item
Purchase Invoice Trends,Aankoop Factuur Trends
Purchase Order,Purchase Order
Purchase Order Date,Besteldatum
Purchase Order Item,Aankoop Bestelling
Purchase Order Item No,Purchase Order Item No
Purchase Order Item Supplied,Aankoop Bestelling ingevoerd
Purchase Order Items,Purchase Order Items
Purchase Order Items Supplied,Purchase Order Items ingevoerd
Purchase Order Items To Be Billed,Purchase Order Items te factureren
Purchase Order Items To Be Received,Purchase Order Items te ontvangen
Purchase Order Message,Purchase Order Bericht
Purchase Order Required,Vereiste Purchase Order
Purchase Order Trends,Purchase Order Trends
Purchase Order sent by customer,Purchase Order verzonden door de klant
Purchase Orders given to Suppliers.,Inkooporders aan leveranciers.
Purchase Receipt,Aankoopbewijs
Purchase Receipt Item,Aankoopbewijs Item
Purchase Receipt Item Supplied,Aankoopbewijs Item ingevoerd
Purchase Receipt Item Supplieds,Aankoopbewijs Item Supplieds
Purchase Receipt Items,Aankoopbewijs Items
Purchase Receipt Message,Aankoopbewijs Bericht
Purchase Receipt No,Aankoopbewijs Geen
Purchase Receipt Required,Aankoopbewijs Verplicht
Purchase Receipt Trends,Aankoopbewijs Trends
Purchase Register,Aankoop Registreer
Purchase Return,Aankoop Return
Purchase Returned,Aankoop Returned
Purchase Taxes and Charges,Aankoop en-heffingen
Purchase Taxes and Charges Master,Aankoop en-heffingen Master
Purpose,Doel
Purpose must be one of ,Doel moet zijn een van
Python Module Name,Python Module Naam
QA Inspection,QA Inspectie
QAI/11-12/,QAI/11-12 /
QTN,QTN
Qty,Aantal
Qty Consumed Per Unit,Aantal verbruikt per eenheid
Qty To Manufacture,Aantal te produceren
Qty as per Stock UOM,Aantal per Voorraad Verpakking
Qualification,Kwalificatie
Quality,Kwaliteit
Quality Inspection,Kwaliteitscontrole
Quality Inspection Parameters,Quality Inspection Parameters
Quality Inspection Reading,Kwaliteitscontrole Reading
Quality Inspection Readings,Kwaliteitscontrole Lezingen
Quantity,Hoeveelheid
Quantity Requested for Purchase,Aantal op aankoop
Quantity already manufactured,Aantal reeds vervaardigd
Quantity and Rate,Hoeveelheid en Prijs
Quantity and Warehouse,Hoeveelheid en Warehouse
Quantity cannot be a fraction.,Afname kan een fractie zijn.
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Hoeveelheid product verkregen na de productie / ompakken van de gegeven hoeveelheden grondstoffen
Quantity should be equal to Manufacturing Quantity. ,Hoeveelheid moet gelijk zijn aan Manufacturing Hoeveelheid.
Quarter,Kwartaal
Quarterly,Driemaandelijks
Query,Vraag
Query Options,Query-opties
Query Report,Query Report
Query must be a SELECT,Query moet een SELECT te zijn
Quick Help for Setting Permissions,Snelle hulp voor het instellen van permissies
Quick Help for User Properties,Snelle hulp voor de Gebruikerseigenschappen
Quotation,Citaat
Quotation Date,Offerte Datum
Quotation Item,Offerte Item
Quotation Items,Offerte Items
Quotation Lost Reason,Offerte Verloren Reden
Quotation Message,Offerte Bericht
Quotation Sent,Offerte Verzonden
Quotation Series,Offerte Series
Quotation To,Offerte Voor
Quotation Trend,Offerte Trend
Quotations received from Suppliers.,Offertes ontvangen van leveranciers.
Quotes to Leads or Customers.,Quotes om leads of klanten.
Raise Material Request when stock reaches re-order level,Raise Materiaal aanvragen bij voorraad strekt re-order niveau
Raised By,Opgevoed door
Raised By (Email),Verhoogde Door (E-mail)
Random,Toeval
Range,Reeks
Rate,Tarief
Rate ,Tarief
Rate (Company Currency),Rate (Company Munt)
Rate Of Materials Based On,Prijs van materialen op basis
Rate and Amount,Beoordeel en Bedrag
Rate at which Customer Currency is converted to customer's base currency,Snelheid waarmee Klant Valuta wordt omgezet naar de basis van de klant munt
Rate at which Price list currency is converted to company's base currency,Snelheid waarmee Prijslijst valuta wordt omgerekend naar de basis bedrijf munt
Rate at which Price list currency is converted to customer's base currency,Snelheid waarmee Prijslijst valuta wordt omgerekend naar de basis van de klant munt
Rate at which customer's currency is converted to company's base currency,Snelheid waarmee de klant valuta wordt omgerekend naar de basis bedrijf munt
Rate at which supplier's currency is converted to company's base currency,Snelheid waarmee de leverancier valuta wordt omgerekend naar de basis bedrijf munt
Rate at which this tax is applied,Snelheid waarmee deze belasting ingaat
Raw Material Item Code,Grondstof Artikelcode
Raw Materials Supplied,Grondstoffen Geleverd
Raw Materials Supplied Cost,Grondstoffen ingevoerd Kosten
Re-Order Level,Re-Order Level
Re-Order Qty,Re-Order Aantal
Re-order,Re-order
Re-order Level,Re-order Level
Re-order Qty,Re-order Aantal
Read,Lezen
Read Only,Alleen lezen
Reading 1,Reading 1
Reading 10,Lezen 10
Reading 2,2 lezen
Reading 3,Reading 3
Reading 4,Reading 4
Reading 5,Reading 5
Reading 6,Lezen 6
Reading 7,Het lezen van 7
Reading 8,Het lezen van 8
Reading 9,Lezen 9
Reason,Reden
Reason for Leaving,Reden voor vertrek
Reason for Resignation,Reden voor ontslag
Recd Quantity,RECD Aantal
Receivable / Payable account will be identified based on the field Master Type,Zal vorderen / betalen rekening worden geïdentificeerd op basis van het veld Master Type
Receivables,Vorderingen
Receivables / Payables,Debiteuren / Crediteuren
Receivables Group,Vorderingen Groep
Received Date,Ontvangen Datum
Received Items To Be Billed,Ontvangen items te factureren
Received Qty,Ontvangen Aantal
Received and Accepted,Ontvangen en geaccepteerd
Receiver List,Ontvanger Lijst
Receiver Parameter,Receiver Parameter
Recipient,Recipiënt
Recipients,Ontvangers
Reconciliation Data,Reconciliatiegegevens
Reconciliation HTML,Verzoening HTML
Reconciliation JSON,Verzoening JSON
Record item movement.,Opnemen punt beweging.
Recurring Id,Terugkerende Id
Recurring Invoice,Terugkerende Factuur
Recurring Type,Terugkerende Type
Reduce Deduction for Leave Without Pay (LWP),Verminderen Aftrek voor onbetaald verlof (LWP)
Reduce Earning for Leave Without Pay (LWP),Verminderen Verdienen voor onbetaald verlof (LWP)
Ref Code,Ref Code
Ref Date is Mandatory if Ref Number is specified,Ref Date is Verplicht indien Ref nummer is opgegeven
Ref DocType,Ref DocType
Ref Name,Ref Naam
Ref Rate,Ref Rate
Ref SQ,Ref SQ
Ref Type,Ref Type
Reference,Verwijzing
Reference Date,Referentie Datum
Reference DocName,Referentie DocName
Reference DocType,Referentie DocType
Reference Name,Referentie Naam
Reference Number,Referentienummer
Reference Type,Referentie Type
Refresh,Verversen
Registered but disabled.,Geregistreerd maar uitgeschakeld.
Registration Details,Registratie Details
Registration Details Emailed.,Registratie gegevens gemaild.
Registration Info,Registratie Info
Rejected,Verworpen
Rejected Quantity,Rejected Aantal
Rejected Serial No,Afgewezen Serienummer
Rejected Warehouse,Afgewezen Warehouse
Relation,Relatie
Relieving Date,Het verlichten van Datum
Relieving Date of employee is ,Het verlichten Data werknemer is
Remark,Opmerking
Remarks,Opmerkingen
Remove Bookmark,Bladwijzer verwijderen
Rename Log,Hernoemen Inloggen
Rename Tool,Wijzig de naam van Tool
Rename...,Hernoemen ...
Rented,Verhuurd
Repeat On,Herhaal On
Repeat Till,Herhaal Till
Repeat on Day of Month,Herhaal dit aan Dag van de maand
Repeat this Event,Herhaal dit evenement
Replace,Vervang
Replace Item / BOM in all BOMs,Vervang Item / BOM in alle stuklijsten
"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","Vervang een bepaalde BOM in alle andere BOMs waar het wordt gebruikt. Deze vervangt de oude BOM link, updaten kosten en regenereren &quot;BOM Explosion Item&quot; tafel als per nieuwe BOM"
Replied,Beantwoord
Report,Verslag
Report Builder,Report Builder
Report Builder reports are managed directly by the report builder. Nothing to do.,Report Builder rapporten worden rechtstreeks beheerd door de Report Builder. Niets te doen.
Report Date,Verslag Datum
Report Hide,Meld Hide
Report Name,Rapportnaam
Report Type,Meld Type
Report was not saved (there were errors),Rapport werd niet opgeslagen (er waren fouten)
Reports,Rapporten
Reports to,Rapporteert aan
Represents the states allowed in one document and role assigned to change the state.,Vertegenwoordigt de staten toegestaan ​​in een document en de rol toegewezen aan de staat te veranderen.
Reqd,Reqd
Reqd By Date,Reqd op datum
Request Type,Soort aanvraag
Request for Information,Aanvraag voor informatie
Request for purchase.,Verzoek om aankoop.
Requested By,Aangevraagd door
Requested Items To Be Ordered,Gevraagde items te bestellen
Requested Items To Be Transferred,Gevraagde items te dragen
Requests for items.,Verzoeken om punten.
Required By,Vereiste Door
Required Date,Vereiste Datum
Required Qty,Vereist aantal
Required only for sample item.,Alleen vereist voor monster item.
Required raw materials issued to the supplier for producing a sub - contracted item.,Benodigde grondstoffen uitgegeven aan de leverancier voor het produceren van een sub - gecontracteerde item.
Reseller,Reseller
Reserved Quantity,Gereserveerde Aantal
Reserved Warehouse,Gereserveerde Warehouse
Reserved Warehouse in Sales Order / Finished Goods Warehouse,Gereserveerde Warehouse in Sales Order / Finished Goods Warehouse
Reserved Warehouse is missing in Sales Order,Gereserveerde Warehouse ontbreekt in verkooporder
Resignation Letter Date,Ontslagbrief Datum
Resolution,Resolutie
Resolution Date,Resolutie Datum
Resolution Details,Resolutie Details
Resolved By,Opgelost door
Restrict IP,Beperken 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),"Beperk de gebruiker van dit IP-adres alleen. Meerdere IP-adressen kunnen worden toegevoegd door het scheiden van met komma&#39;s. Ook aanvaardt gedeeltelijke IP-adres, zoals (111.111.111)"
Restricting By User,Het beperken van deze gebruiker
Retail,Kleinhandel
Retailer,Kleinhandelaar
Review Date,Herzieningsdatum
Rgt,Rgt
Right,Rechts
Role,Rol
Role Allowed to edit frozen stock,Rol toegestaan ​​op bevroren voorraad bewerken
Role Name,Rolnaam
Role that is allowed to submit transactions that exceed credit limits set.,"Rol die is toegestaan ​​om transacties die kredietlimieten, te overschrijden indienen."
Roles,Rollen
Roles Assigned,Toegewezen Rollen
Roles Assigned To User,Rollen Toegewezen aan gebruiker
Roles HTML,Rollen HTML
Root ,Wortel
Root cannot have a parent cost center,Root kan niet een ouder kostenplaats
Rounded Total,Afgeronde Totaal
Rounded Total (Company Currency),Afgeronde Totaal (Bedrijf Munt)
Row,Rij
Row ,Rij
Row #,Rij #
Row # ,Rij #
Rules defining transition of state in the workflow.,Regels met betrekking tot de overgang van de staat in de workflow.
"Rules for how states are transitions, like next state and which role is allowed to change state etc.","Regels voor de manier waarop staten zijn overgangen, zoals naast staat en welke rol mag de staat, enz. te veranderen"
Rules to calculate shipping amount for a sale,Regels voor de scheepvaart bedrag te berekenen voor een verkoop
SLE Exists,SLE Bestaat
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 Parameters
SMS Sender Name,SMS Sender Name
SMS Settings,SMS-instellingen
SMTP Server (e.g. smtp.gmail.com),SMTP-server (bijvoorbeeld smtp.gmail.com)
SO,SO
SO Date,SO Datum
SO Pending Qty,SO afwachting Aantal
SO/10-11/,SO/10-11 /
SO1112,SO1112
SQTN,SQTN
STE,STE
SUP,SUP
SUPP,SUPP
SUPP/10-11/,SUPP/10-11 /
Salary,Salaris
Salary Information,Salaris Informatie
Salary Manager,Salaris Manager
Salary Mode,Salaris Mode
Salary Slip,Loonstrook
Salary Slip Deduction,Loonstrook Aftrek
Salary Slip Earning,Loonstrook verdienen
Salary Structure,Salarisstructuur
Salary Structure Deduction,Salaris Structuur Aftrek
Salary Structure Earning,Salaris Structuur verdienen
Salary Structure Earnings,Salaris Structuur winst
Salary breakup based on Earning and Deduction.,Salaris verbreken op basis Verdienen en Aftrek.
Salary components.,Salaris componenten.
Sales,Sales
Sales Analytics,Sales Analytics
Sales BOM,Verkoop BOM
Sales BOM Help,Verkoop BOM Help
Sales BOM Item,Verkoop BOM Item
Sales BOM Items,Verkoop BOM Items
Sales Common,Verkoop Gemeenschappelijke
Sales Details,Verkoop Details
Sales Discounts,Sales kortingen
Sales Email Settings,Sales E-mailinstellingen
Sales Extras,Sales Extra&#39;s
Sales Invoice,Sales Invoice
Sales Invoice Advance,Sales Invoice Advance
Sales Invoice Item,Sales Invoice Item
Sales Invoice Items,Verkoopfactuur Items
Sales Invoice Message,Sales Invoice Message
Sales Invoice No,Verkoop Factuur nr.
Sales Invoice Trends,Verkoopfactuur Trends
Sales Order,Verkooporder
Sales Order Date,Verkooporder Datum
Sales Order Item,Sales Order Item
Sales Order Items,Sales Order Items
Sales Order Message,Verkooporder Bericht
Sales Order No,Sales Order No
Sales Order Required,Verkooporder Vereiste
Sales Order Trend,Sales Order Trend
Sales Partner,Sales Partner
Sales Partner Name,Sales Partner Naam
Sales Partner Target,Sales Partner Target
Sales Partners Commission,Sales Partners Commissie
Sales Person,Sales Person
Sales Person Incharge,Sales Person Incharge
Sales Person Name,Sales Person Name
Sales Person Target Variance (Item Group-Wise),Sales Person Target Variance (Post Group-Wise)
Sales Person Targets,Sales Person Doelen
Sales Person-wise Transaction Summary,Sales Person-wise Overzicht opdrachten
Sales Register,Sales Registreer
Sales Return,Verkoop Terug
Sales Taxes and Charges,Verkoop en-heffingen
Sales Taxes and Charges Master,Verkoop en-heffingen Master
Sales Team,Sales Team
Sales Team Details,Sales Team Details
Sales Team1,Verkoop Team1
Sales and Purchase,Verkoop en Inkoop
Sales campaigns,Verkoopcampagnes
Sales persons and targets,Verkopers en doelstellingen
Sales taxes template.,Omzetbelasting sjabloon.
Sales territories.,Afzetgebieden.
Salutation,Aanhef
Same file has already been attached to the record,Hetzelfde bestand al is verbonden aan het record
Sample Size,Steekproefomvang
Sanctioned Amount,Gesanctioneerde Bedrag
Saturday,Zaterdag
Save,Besparen
Schedule,Plan
Schedule Details,Schema Details
Scheduled,Geplande
Scheduled Confirmation Date,Geplande Bevestiging Datum
Scheduled Date,Geplande Datum
Scheduler Log,Scheduler Inloggen
School/University,School / Universiteit
Score (0-5),Score (0-5)
Score Earned,Score Verdiende
Scrap %,Scrap%
Script,Script
Script Report,Script Report
Script Type,Script Type
Script to attach to all web pages.,Script te hechten aan alle webpagina&#39;s.
Search,Zoek
Search Fields,Zoeken Velden
Seasonality for setting budgets.,Seizoensinvloeden voor het instellen van budgetten.
Section Break,Sectie-einde
Security Settings,Beveiligingsinstellingen
"See ""Rate Of Materials Based On"" in Costing Section",Zie &quot;Rate Of Materials Based On&quot; in Costing Sectie
Select,Kiezen
"Select ""Yes"" for sub - contracting items",Selecteer &quot;Ja&quot; voor sub - aanbestedende artikelen
"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.","Selecteer &quot;Ja&quot; als dit voorwerp dient te worden verzonden naar een klant of ontvangen van een leverancier als een monster. Pakbonnen en aankoopbewijzen zal update voorraadniveaus, maar er zal geen factuur tegen deze item."
"Select ""Yes"" if this item is used for some internal purpose in your company.",Selecteer &quot;Ja&quot; als dit voorwerp wordt gebruikt voor een aantal intern gebruik in uw bedrijf.
"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Selecteer &quot;Ja&quot; als dit voorwerp vertegenwoordigt wat werk zoals training, ontwerpen, overleg, enz."
"Select ""Yes"" if you are maintaining stock of this item in your Inventory.",Selecteer &quot;Ja&quot; als u het handhaven voorraad van dit artikel in je inventaris.
"Select ""Yes"" if you supply raw materials to your supplier to manufacture this item.",Selecteer &quot;Ja&quot; als u de levering van grondstoffen aan uw leverancier om dit item te produceren.
Select All,Alles selecteren
Select Attachments,Selecteer Bijlagen
Select Budget Distribution to unevenly distribute targets across months.,Selecteer Budget Uitkering aan ongelijk verdelen doelen uit maanden.
"Select Budget Distribution, if you want to track based on seasonality.","Selecteer Budget Distributie, als je wilt volgen op basis van seizoensinvloeden."
Select Customer,Selecteer Klant
Select Digest Content,Selecteer Digest Inhoud
Select DocType,Selecteer DocType
Select Document Type,Selecteer de documenttypen die
Select Document Type or Role to start.,Selecteer Soort document of rol om te beginnen.
Select Items,Selecteer Items
Select PR,Selecteer PR
Select Print Format,Selecteer Print Format
Select Print Heading,Selecteer Print rubriek
Select Report Name,Selecteer Rapportnaam
Select Role,Selecteer Rol
Select Sales Orders,Selecteer Verkooporders
Select Sales Orders from which you want to create Production Orders.,Selecteer Verkooporders van waaruit u wilt productieorders creëren.
Select Terms and Conditions,Selecteer Algemene Voorwaarden
Select Time Logs and Submit to create a new Sales Invoice.,Selecteer Time Logs en indienen om een ​​nieuwe verkoopfactuur maken.
Select Transaction,Selecteer Transactie
Select Type,Selecteer Type
Select User or Property to start.,Selecteer Gebruiker of eigendom te beginnen.
Select a Banner Image first.,Kies eerst een banner afbeelding.
Select account head of the bank where cheque was deposited.,Selecteer met het hoofd van de bank waar cheque werd afgezet.
Select an image of approx width 150px with a transparent background for best results.,Selecteer een afbeelding van ca. breedte 150px met een transparante achtergrond voor het beste resultaat.
Select company name first.,Kies eerst een bedrijfsnaam.
Select dates to create a new ,Kies een datum om een ​​nieuwe te maken
Select name of Customer to whom project belongs,Selecteer de naam van de klant aan wie het project behoort
Select or drag across time slots to create a new event.,Selecteer of sleep over tijdsloten om een ​​nieuwe gebeurtenis te maken.
Select template from which you want to get the Goals,Selecteer template van waaruit u de Doelen te krijgen
Select the Employee for whom you are creating the Appraisal.,Selecteer de werknemer voor wie u het maken van de Beoordeling.
Select the currency in which price list is maintained,Selecteer de valuta waarin prijslijst wordt aangehouden
Select the label after which you want to insert new field.,"Selecteer het label, waarna u nieuwe veld wilt invoegen."
Select the period when the invoice will be generated automatically,Selecteer de periode waarin de factuur wordt automatisch gegenereerd
"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.","Selecteer de prijslijst, zoals ingevoerd in &quot;prijslijst&quot; meester. Dit trekt de referentie-tarieven van artikelen tegen deze prijslijst zoals gespecificeerd in &quot;Item&quot; meester."
Select the relevant company name if you have multiple companies,Selecteer de gewenste bedrijfsnaam als u meerdere bedrijven
Select the relevant company name if you have multiple companies.,Selecteer de gewenste bedrijfsnaam als u meerdere bedrijven.
Select who you want to send this newsletter to,Selecteer de personen die u wilt deze nieuwsbrief te sturen naar
"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","&quot;Ja&quot; zal dit artikel om te verschijnen in Purchase Order, aankoopbon."
"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","&quot;Ja&quot; zal dit artikel te achterhalen in Sales Order, pakbon"
"Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.",&quot;Ja&quot; zal u toelaten om Bill of Material tonen grondstof-en operationele kosten om dit item te produceren maken.
"Selecting ""Yes"" will allow you to make a Production Order for this item.",&quot;Ja&quot; zal u toelaten om een ​​productieorder voor dit item te maken.
"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.",&quot;Ja&quot; geeft een unieke identiteit voor elke entiteit van dit artikel die kunnen worden bekeken in de Serial No meester.
Selling,Selling
Selling Settings,Selling Instellingen
Send,Sturen
Send Autoreply,Stuur Autoreply
Send Email,E-mail verzenden
Send From,Stuur Van
Send Invite Email,Uitnodiging verzenden E-mail
Send Me A Copy,Stuur mij een kopie
Send Notifications To,Meldingen verzenden naar
Send Print in Body and Attachment,Doorsturen Afdrukken in Lichaam en bijlage
Send SMS,SMS versturen
Send To,Verzenden naar
Send To Type,Verzenden naar type
Send an email reminder in the morning,Stuur dan een e-mail reminder in de ochtend
Send automatic emails to Contacts on Submitting transactions.,Stuur automatische e-mails naar Contacten op Indienen van transacties.
Send mass SMS to your contacts,Stuur massa SMS naar uw contacten
Send regular summary reports via Email.,Stuur regelmatig beknopte verslagen via e-mail.
Send to this list,Stuur deze lijst
Sender,Afzender
Sender Name,Naam afzender
"Sending newsletters is not allowed for Trial users, \				to prevent abuse of this feature.","Het verzenden van nieuwsbrieven is niet toegestaan ​​voor Trial gebruikers, \ voorkoming van misbruik van deze functie."
Sent Mail,Verzonden berichten
Sent On,Verzonden op
Sent Quotation,Verzonden Offerte
Separate production order will be created for each finished good item.,Gescheiden productie order wordt aangemaakt voor elk eindproduct goed punt.
Serial No,Serienummer
Serial No Details,Serial geen gegevens
Serial No Service Contract Expiry,Serial No Service Contract Expiry
Serial No Status,Serienummer Status
Serial No Warranty Expiry,Serial Geen garantie Expiry
Serialized Item: ',Geserialiseerde Item: &#39;
Series List for this Transaction,Series Lijst voor deze transactie
Server,Server
Service Address,Service Adres
Services,Diensten
Session Expired. Logging you out,Sessie verlopen. U wordt afgemeld
Session Expires in (time),Sessie Verloopt (tijd)
Session Expiry,Sessie Vervaldatum
Session Expiry in Hours e.g. 06:00,"Sessie Vervaldatum in uren, bijvoorbeeld 06:00"
Set Banner from Image,Stel Banner uit Afbeelding
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Set Item Group-wise budgetten op dit gebied. U kunt ook seizoensinvloeden door de Distribution.
Set Login and Password if authentication is required.,Aanmelding en wachtwoorden instellen als verificatie vereist is.
Set New Password,Set Nieuw wachtwoord
Set Value,Set Value
"Set a new password and ""Save""",Stel een nieuw wachtwoord in en &quot;Opslaan&quot;
Set prefix for numbering series on your transactions,Stel prefix voor het nummeren van serie over uw transacties
Set targets Item Group-wise for this Sales Person.,Set richt Item Group-wise voor deze verkoper.
"Set your background color, font and image (tiled)","Zet je achtergrond kleur, lettertype en afbeelding (tegel)"
"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.","Stel hier uw uitgaande e-mail SMTP-instellingen. Alle systeem gegenereerde meldingen, zal e-mails gaan van deze e-mail server. Als u niet zeker bent, laat dit leeg om ERPNext servers (e-mails worden nog steeds verzonden vanaf uw e-id) te gebruiken of uw e-mailprovider te contacteren."
Setting Account Type helps in selecting this Account in transactions.,Instellen Account Type helpt bij het selecteren van deze account in transacties.
Settings,Instellingen
Settings for About Us Page.,Instellingen voor Over Ons pagina.
Settings for Accounts,Instellingen voor accounts
Settings for Buying Module,Instellingen voor het kopen Module
Settings for Contact Us Page,Instellingen voor Contact Pagina
Settings for Contact Us Page.,Instellingen voor Contact Pagina.
Settings for Selling Module,Instellingen voor Selling Module
Settings for the About Us Page,Instellingen voor de Over Ons pagina
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""",Instellingen om sollicitanten halen uit een mailbox bijv. &quot;jobs@example.com&quot;
Setup,Setup
Setup Control,Setup Controle
Setup Series,Setup-serie
Setup of Shopping Cart.,Setup van de Winkelwagen.
Setup of fonts and background.,Instellen van lettertypen en de achtergrond.
"Setup of top navigation bar, footer and logo.",Instellen van bovenste navigatiebalk voettekst en logo.
Setup to pull emails from support email account,Setup om e-mails te trekken van ondersteuning e-mailaccount
Share,Aandeel
Share With,Delen
Shipments to customers.,Verzendingen naar klanten.
Shipping,Scheepvaart
Shipping Account,Verzending account
Shipping Address,Verzendadres
Shipping Address Name,Verzenden Adres Naam
Shipping Amount,Verzending Bedrag
Shipping Rule,Verzending Rule
Shipping Rule Condition,Verzending Regel Conditie
Shipping Rule Conditions,Verzending Regel Voorwaarden
Shipping Rule Label,Verzending Regel Label
Shipping Rules,Verzending Regels
Shop,Winkelen
Shopping Cart,Winkelwagen
Shopping Cart Price List,Winkelwagen Prijslijst
Shopping Cart Price Lists,Winkelwagen Prijslijsten
Shopping Cart Settings,Winkelwagen Instellingen
Shopping Cart Shipping Rule,Winkelwagen Scheepvaart Rule
Shopping Cart Shipping Rules,Winkelwagen Scheepvaart Regels
Shopping Cart Taxes and Charges Master,Winkelwagen en-heffingen Master
Shopping Cart Taxes and Charges Masters,Winkelwagen en-heffingen Masters
Short Bio,Korte Bio
Short Name,Korte Naam
Short biography for website and other publications.,Korte biografie voor website en andere publicaties.
Shortcut,Kortere weg
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Toon &quot;Op voorraad&quot; of &quot;Niet op voorraad&quot; op basis van de beschikbare voorraad in dit magazijn.
Show Details,Show Details
Show In Website,Toon in Website
Show Print First,Eerste Show Print
Show a slideshow at the top of the page,Laat een diavoorstelling aan de bovenkant van de pagina
Show in Website,Toon in Website
Show rows with zero values,Toon rijen met nulwaarden
Show this slideshow at the top of the page,Laat deze slideshow aan de bovenkant van de pagina
Showing only for,Resultaat alleen voor
Signature,Handtekening
Signature to be appended at the end of every email,Handtekening moet worden toegevoegd aan het einde van elke e-mail
Single,Single
Single Post (article).,Los bericht (artikel).
Single unit of an Item.,Enkele eenheid van een item.
Sitemap Domain,Sitemap Domein
Slideshow,Diashow
Slideshow Items,Diashow Items
Slideshow Name,Diashow Naam
Slideshow like display for the website,Diashow zoals weergegeven voor de website
Small Text,Kleine tekst
Solid background color (default light gray),Effen achtergrondkleur (standaard lichtgrijs)
Sorry we were unable to find what you were looking for.,Sorry we waren niet in staat om te vinden wat u zocht.
Sorry you are not permitted to view this page.,Sorry dat je niet toegestaan ​​om deze pagina te bekijken.
Sorry! We can only allow upto 100 rows for Stock Reconciliation.,Sorry! We kunnen alleen maar staan ​​tot 100 rijen voor Stock Verzoening.
"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.","Sorry! U kunt het bedrijf standaardvaluta niet veranderen, want er zijn bestaande transacties tegen. Je nodig hebt om deze transacties te annuleren als u de standaardinstelling voor valuta te veranderen."
Sorry. Companies cannot be merged,Sorry. Bedrijven kunnen niet worden samengevoegd
Sorry. Serial Nos. cannot be merged,Sorry. Serienummers worden niet samengevoegd
Sort By,Sorteer op
Source,Bron
Source Warehouse,Bron Warehouse
Source and Target Warehouse cannot be same,Bron-en Warehouse kan niet hetzelfde zijn
Source of th,Bron van e
"Source of the lead. If via a campaign, select ""Campaign""","Bron van de leiding. Als er Via een campagne, selecteert u &quot;Campagne&quot;"
Spartan,Spartaans
Special Page Settings,Speciale Pagina-instellingen
Specification Details,Specificatie Details
Specify Exchange Rate to convert one currency into another,Specificeren Wisselkoers om een ​​valuta om te zetten in een andere
"Specify a list of Territories, for which, this Price List is valid","Geef een lijst van gebieden, waarvoor deze prijslijst is geldig"
"Specify a list of Territories, for which, this Shipping Rule is valid","Geef een lijst van gebieden, waarvoor dit Verzending regel is geldig"
"Specify a list of Territories, for which, this Taxes Master is valid","Geef een lijst van gebieden, waarvoor dit Belastingen Master is geldig"
Specify conditions to calculate shipping amount,Geef de voorwaarden voor de scheepvaart bedrag te berekenen
Split Delivery Note into packages.,Split pakbon in pakketten.
Standard,Standaard
Standard Rate,Standaard Tarief
"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.","Algemene Voorwaarden die kunnen worden toegevoegd aan Verkoop en Purchases.Examples: 1. Geldigheid van de offer.1. Betalingscondities (In Advance, op krediet, een deel vooraf enz.) .1. Wat is extra (of ten laste van de Klant) .1. Veiligheid / gebruik warning.1. Garantie indien any.1. Retourneren Policy.1. Voorwaarden voor de scheepvaart, indien applicable.1. Manieren om geschillen, schadevergoeding, aansprakelijkheid, etc.1. Adres en Contact van uw Bedrijf."
"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.","Standaard belasting sjabloon die kan worden toegepast op alle aankooptransacties. Deze sjabloon kan bevatten lijst van fiscale hoofden en ook andere kosten hoofden als &quot;Shipping&quot;, &quot;verzekering&quot;, &quot;Handling&quot;, enz. # # # # Opmerking De belastingdruk u hier definieert de nominale belastingtarief voor alle ** Items ** . Als er ** ** Items die verschillende tarieven hebben, moeten zij worden toegevoegd aan de ** Item Belasting ** tafel in de ** Item ** meester. # # # # Beschrijving van Columns1. Type berekening: - Dit kan op ** Netto Totaal ** (dat is de som van het basisbedrag). - ** Op de vorige toer Totaal / Bedrag ** (voor cumulatieve belastingen of heffingen). Als u deze optie selecteert, zal de belasting worden berekend als een percentage van de vorige rij (in de fiscale tabel) bedrag of totaal. - ** Werkelijke ** (zoals vermeld) .2. Account Hoofd: De Account grootboek waaronder deze belasting zal zijn booked3. Kostenplaats: Als de belasting / heffing is een inkomen (zoals scheepvaart) of kosten dient te worden geboekt tegen een kostprijs Center.4. Beschrijving: Beschrijving van de belasting (die zal worden afgedrukt op de facturen / offertes) .5. Prijs: Tax rate.6. Bedrag: Tax amount.7. Totaal: Cumulatieve totaal op deze point.8. Voer Rij: Als op basis van &quot;Vorige Row Totaal&quot; kunt u het nummer van de rij die zullen worden genomen als basis voor deze berekening (de standaardinstelling is de vorige toer) .9 selecteren. Overweeg belasting of heffing voor: In dit gedeelte kunt u aangeven of de belasting / heffing is alleen voor de waardering (niet een deel van het totaal) of alleen voor de totale (niet waarde toevoegen aan het item) of voor both.10. Toevoegen of Af: Of u wilt toevoegen of aftrekken van de belasting."
"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.","Standaard belasting sjabloon die kan worden toegepast op alle verkooptransacties. Deze sjabloon kan bevatten lijst van fiscale hoofden en ook andere kosten / baten hoofden als &quot;Shipping&quot;, &quot;verzekering&quot;, &quot;Handling&quot;, enz. # # # # Opmerking De belastingdruk u hier definieert de nominale belastingtarief voor alle ** Items zijn **. Als er ** ** Items die verschillende tarieven hebben, moeten zij worden toegevoegd aan de ** Item Belasting ** tafel in de ** Item ** meester. # # # # Beschrijving van Columns1. Type berekening: - Dit kan op ** Netto Totaal ** (dat is de som van het basisbedrag). - ** Op de vorige toer Totaal / Bedrag ** (voor cumulatieve belastingen of heffingen). Als u deze optie selecteert, zal de belasting worden berekend als een percentage van de vorige rij (in de fiscale tabel) bedrag of totaal. - ** Werkelijke ** (zoals vermeld) .2. Account Hoofd: De Account grootboek waaronder deze belasting zal zijn booked3. Kostenplaats: Als de belasting / heffing is een inkomen (zoals scheepvaart) of kosten dient te worden geboekt tegen een kostprijs Center.4. Beschrijving: Beschrijving van de belasting (die zal worden afgedrukt op de facturen / offertes) .5. Prijs: Tax rate.6. Bedrag: Tax amount.7. Totaal: Cumulatieve totaal op deze point.8. Voer Rij: Als op basis van &quot;Vorige Row Totaal&quot; kunt u het nummer van de rij die zullen worden genomen als basis voor deze berekening (de standaardinstelling is de vorige toer) .9 selecteren. Deze taks wordt opgenomen in Basic Prijs:? Als u deze, betekent dit dat deze belasting niet zal worden getoond onder de post tafel, maar zal worden opgenomen in de Basic Rate in uw belangrijkste item tafel. Dit is nuttig wanneer u maar wilt een vlakke prijs (inclusief alle belastingen) prijs aan de klanten."
Start Date,Startdatum
Start Report For,Start Rapport Voor
Start date of current invoice's period,Begindatum van de periode huidige factuur&#39;s
Starts on,Begint op
Startup,Startup
State,Staat
States,Staten
Static Parameters,Statische Parameters
Status,Staat
Status must be one of ,Status moet een van
Status should be Submitted,Status moeten worden ingediend
Statutory info and other general information about your Supplier,Wettelijke info en andere algemene informatie over uw leverancier
Stock,Voorraad
Stock Adjustment Account,Stock Aanpassing Account
Stock Adjustment Cost Center,Stock Aanpassing kostenplaats
Stock Ageing,Stock Vergrijzing
Stock Analytics,Stock Analytics
Stock Balance,Stock Balance
Stock Entry,Stock Entry
Stock Entry Detail,Stock Entry Detail
Stock Frozen Upto,Stock Bevroren Tot
Stock In Hand Account,Stock In Hand Account
Stock Ledger,Stock Ledger
Stock Ledger Entry,Stock Ledger Entry
Stock Level,Stock Level
Stock Qty,Voorraad Aantal
Stock Queue (FIFO),Stock Queue (FIFO)
Stock Received But Not Billed,Stock Ontvangen maar niet gefactureerde
Stock Reconciliation,Stock Verzoening
Stock Reconciliation file not uploaded,Stock Verzoening bestand niet geupload
Stock Settings,Stock Instellingen
Stock UOM,Stock Verpakking
Stock UOM Replace Utility,Stock Verpakking Vervang Utility
Stock Uom,Stock Verpakking
Stock Value,Stock Waarde
Stock Value Difference,Stock Waarde Verschil
Stop,Stop
Stop users from making Leave Applications on following days.,Stop gebruikers van het maken van verlofaanvragen op de volgende dagen.
Stopped,Gestopt
Structure cost centers for budgeting.,Structuur kostenplaatsen voor budgettering.
Structure of books of accounts.,Structuur van boeken van de rekeningen.
Style,Stijl
Style Settings,Stijlinstellingen
"Style represents the button color: Success - Green, Danger - Red, Inverse - Black, Primary - Dark Blue, Info - Light Blue, Warning - Orange","Stijl staat voor de kleur van de knoppen: Succes - Groen, Gevaar - Rood, Inverse - Zwart, Lager - Dark Blue, Info - Light Blue, Waarschuwing - Oranje"
"Sub-currency. For e.g. ""Cent""",Sub-valuta. Voor bijvoorbeeld &quot;Cent&quot;
Sub-domain provided by erpnext.com,Subdomein door erpnext.com
Subcontract,Subcontract
Subdomain,Subdomein
Subject,Onderwerp
Submit,Voorleggen
Submit Salary Slip,Indienen loonstrook
Submit all salary slips for the above selected criteria,Gelieve alle loonstroken voor de bovenstaande geselecteerde criteria
Submitted,Ingezonden
Submitted Record cannot be deleted,Ingezonden Record kan niet worden verwijderd
Subsidiary,Dochteronderneming
Success,Succes
Successful: ,Succesvol:
Suggestion,Suggestie
Suggestions,Tips
Sunday,Zondag
Supplier,Leverancier
Supplier (Payable) Account,Leverancier (te betalen) Account
Supplier (vendor) name as entered in supplier master,Leverancier (vendor) naam als die in leverancier meester
Supplier Account Head,Leverancier Account Head
Supplier Address,Leverancier Adres
Supplier Details,Product Detail
Supplier Intro,Leverancier Intro
Supplier Invoice Date,Leverancier Factuurdatum
Supplier Invoice No,Leverancier Factuur nr.
Supplier Name,Leverancier Naam
Supplier Naming By,Leverancier Naming Door
Supplier Part Number,Leverancier Onderdeelnummer
Supplier Quotation,Leverancier Offerte
Supplier Quotation Item,Leverancier Offerte Item
Supplier Reference,Leverancier Referentie
Supplier Shipment Date,Leverancier Verzending Datum
Supplier Shipment No,Leverancier Verzending Geen
Supplier Type,Leverancier Type
Supplier Warehouse,Leverancier Warehouse
Supplier Warehouse mandatory subcontracted purchase receipt,Leverancier Warehouse verplichte uitbestede aankoopbon
Supplier classification.,Leverancier classificatie.
Supplier database.,Leverancier database.
Supplier of Goods or Services.,Leverancier van goederen of diensten.
Supplier warehouse where you have issued raw materials for sub - contracting,Leverancier magazijn waar u grondstoffen afgegeven voor sub - aanbestedende
Supplier's currency,Leverancier valuta
Support,Ondersteunen
Support Analytics,Ondersteuning Analytics
Support Email,Ondersteuning E-mail
Support Email Id,Ondersteuning E-mail Identiteitskaart
Support Password,Ondersteuning Wachtwoord
Support Ticket,Hulpaanvraag
Support queries from customers.,Ondersteuning vragen van klanten.
Symbol,Symbool
Sync Inbox,Sync Inbox
Sync Support Mails,Sync Ondersteuning Mails
Sync with Dropbox,Synchroniseren met Dropbox
Sync with Google Drive,Synchroniseren met Google Drive
System,Systeem
System Defaults,System Defaults
System Settings,Systeeminstellingen
System User,Systeem
"System User (login) ID. If set, it will become default for all HR forms.","Systeem (login) ID. Indien ingesteld, zal het standaard voor alle HR-formulieren."
System for managing Backups,Systeem voor het beheer van back-ups
System generated mails will be sent from this email id.,Systeem gegenereerde mails worden verstuurd vanaf deze e-id.
TL-,TL-
TLB-,TLB-
Table,Tafel
Table for Item that will be shown in Web Site,Tabel voor post die wordt weergegeven in Web Site
Tag,Label
Tag Name,Tag Naam
Tags,Tags
Tahoma,Tahoma
Target,Doel
Target  Amount,Streefbedrag
Target Detail,Doel Detail
Target Details,Target Details
Target Details1,Target Details1
Target Distribution,Target Distributie
Target Qty,Target Aantal
Target Warehouse,Target Warehouse
Task,Taak
Task Details,Taak Details
Tax,Belasting
Tax Calculation,BTW-berekening
Tax Category can not be 'Valuation' or 'Valuation and Total' 					as all items are non-stock items,Fiscale categorie kan &#39;Valuation&#39; of &#39;Valuation en Total&#39; niet zo alle items zijn niet-voorraadartikelen
Tax Master,Fiscale Master
Tax Rate,Belastingtarief
Tax Template for Purchase,Fiscale Sjabloon voor Aankoop
Tax Template for Sales,Fiscale Sjabloon voor Sales
Tax and other salary deductions.,Belastingen en andere inhoudingen op het loon.
Tax detail table fetched from item master as a string and stored in this field.Used for Taxes and Charges,Fiscale detail tabel opgehaald uit artikelstamgegevens als een string en opgeslagen in deze field.Used voor en-heffingen
Taxable,Belastbaar
Taxes,Belastingen
Taxes and Charges,Belastingen en heffingen
Taxes and Charges Added,Belastingen en heffingen toegevoegd
Taxes and Charges Added (Company Currency),Belastingen en heffingen toegevoegd (Company Munt)
Taxes and Charges Calculation,Belastingen en kosten berekenen
Taxes and Charges Deducted,Belastingen en heffingen Afgetrokken
Taxes and Charges Deducted (Company Currency),Belastingen en kosten afgetrokken (Company Munt)
Taxes and Charges Total,Belastingen en kosten Totaal
Taxes and Charges Total (Company Currency),Belastingen en bijkomende kosten Totaal (Bedrijf Munt)
Taxes and Charges1,Belastingen en kosten1
Team Members,Teamleden
Team Members Heading,Teamleden rubriek
Template for employee performance appraisals.,Sjabloon voor werknemer functioneringsgesprekken.
Template of terms or contract.,Sjabloon van termen of contract.
Term Details,Term Details
Terms and Conditions,Algemene Voorwaarden
Terms and Conditions Content,Voorwaarden Inhoud
Terms and Conditions Details,Algemene Voorwaarden Details
Terms and Conditions Template,Algemene voorwaarden Template
Terms and Conditions1,Algemene Conditions1
Territory,Grondgebied
Territory Manager,Territory Manager
Territory Name,Grondgebied Naam
Territory Target Variance (Item Group-Wise),Grondgebied Target Variance (Item Group-Wise)
Territory Targets,Grondgebied Doelen
Test,Test
Test Email Id,Test E-mail Identiteitskaart
Test Runner,Test Runner
Test the Newsletter,Test de nieuwsbrief
Text,Tekst
Text Align,Tekst uitlijnen
Text Editor,Text Editor
"The ""Web Page"" that is the website home page",De &quot;Web Page&quot; dat is de homepagina van de site
The BOM which will be replaced,De BOM die zal worden vervangen
"The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes""",Het item dat het pakket vertegenwoordigt. Dit artikel moet hebben &quot;Is Stock Item&quot; als &quot;No&quot; en &quot;Is Sales Item&quot; als &quot;Yes&quot;
The date at which current entry is made in system.,De datum waarop huidige item wordt gemaakt in het systeem.
The date at which current entry will get or has actually executed.,De datum waarop huidige item krijgt of heeft daadwerkelijk zijn uitgevoerd.
The date on which next invoice will be generated. It is generated on submit.,De datum waarop volgende factuur wordt gegenereerd. Het wordt gegenereerd op te dienen.
The date on which recurring invoice will be stop,De datum waarop terugkerende factuur stoppen
"The day of the month on which auto invoice will be generated e.g. 05, 28 etc ","De dag van de maand waarop de automatische factuur wordt gegenereerd bv 05, 28 etc"
The first Leave Approver in the list will be set as the default Leave Approver,De eerste Plaats Approver in de lijst wordt als de standaard Leave Fiatteur worden ingesteld
The gross weight of the package. Usually net weight + packaging material weight. (for print),Het bruto gewicht van het pakket. Meestal nettogewicht + verpakkingsmateriaal gewicht. (Voor afdrukken)
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.,De naam van uw bedrijf / website als u wilt weergeven op de browser titelbalk. Alle pagina&#39;s hebben dit als het voorvoegsel om de titel.
The net weight of this package. (calculated automatically as sum of net weight of items),Het nettogewicht van dit pakket. (Wordt automatisch berekend als de som van de netto-gewicht van items)
The new BOM after replacement,De nieuwe BOM na vervanging
The rate at which Bill Currency is converted into company's base currency,De snelheid waarmee Bill valuta worden omgezet in basis bedrijf munt
"The system provides pre-defined roles, but you can <a href='#List/Role'>add new roles</a> to set finer permissions","Het systeem biedt vooraf gedefinieerde rollen, maar u kunt <a href='#List/Role'>toevoegen van nieuwe functies</a> aan fijnere machtigingen in te stellen"
The unique id for tracking all recurring invoices. It is generated on submit.,De unieke id voor het bijhouden van alle terugkerende facturen. Het wordt geproduceerd op te dienen.
Then By (optional),Vervolgens op (optioneel)
These properties are Link Type fields from all Documents.,Deze eigenschappen zijn Link Type velden van alle documenten.
"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>","Deze eigenschappen kunnen ook worden gebruikt om &#39;toe te wijzen&#39; een bepaald document, wiens eigendom overeenkomt met onroerend goed van de gebruiker aan een gebruiker. Deze kunnen worden ingesteld met de <a href='#permission-manager'>Toestemming Manager</a>"
These properties will appear as values in forms that contain them.,Deze eigenschappen worden weergegeven als waarden in vormen die ze bevatten.
These values will be automatically updated in transactions and also will be useful to restrict permissions for this user on transactions containing these values.,Deze waarden worden automatisch bijgewerkt in transacties en zal ook nuttig zijn om machtigingen voor deze gebruiker op de transacties die deze waarden te beperken.
This Price List will be selected as default for all Customers under this Group.,Deze prijslijst zal worden geselecteerd als standaard voor alle klanten in deze groep.
This Time Log Batch has been billed.,This Time Log Batch is gefactureerd.
This Time Log Batch has been cancelled.,This Time Log Batch is geannuleerd.
This Time Log conflicts with,This Time Log in strijd met
This account will be used to maintain value of available stock,Dit account wordt gebruikt om de waarde van de beschikbare voorraad aan te houden
This currency will get fetched in Purchase transactions of this supplier,Deze munt krijgt haalde in Purchase transacties van deze leverancier
This currency will get fetched in Sales transactions of this customer,Deze munt krijgt haalde in Sales transacties van deze klant
"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.","Deze functie is voor het samenvoegen van dubbele magazijnen. Het zal alle links van dit magazijn te vervangen door &quot;Merge Into&quot; warehouse. Na het samenvoegen kunt u dit magazijn verwijderen, zoals voorraden voor dit magazijn nul zal zijn."
This feature is only applicable to self hosted instances,Deze functie is alleen van toepassing op zelf gehost gevallen
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,Dit veld wordt alleen weergegeven als de veldnaam hier gedefinieerd heeft waarde of de regels zijn waar (voorbeelden): <br> myfieldeval: doc.myfield == &#39;Mijn Value&#39; <br> eval: doc.age&gt; 18
This goes above the slideshow.,Dit gaat boven de diavoorstelling.
This is PERMANENT action and you cannot undo. Continue?,Dit is PERMANENTE actie en u ongedaan kunt maken niet. Doorgaan?
This is an auto generated Material Request.,Dit is een automatisch gegenereerde materiaal aanvragen.
This is permanent action and you cannot undo. Continue?,Dit is een permanente actie en u ongedaan kunt maken niet. Doorgaan?
This is the number of the last created transaction with this prefix,Dit is het nummer van de laatst gemaakte transactie met dit voorvoegsel
This message goes away after you create your first customer.,Dit bericht verdwijnt nadat u uw eerste klanten te creëren.
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.,Deze tool helpt u bij te werken of vast te stellen de hoeveelheid en waardering van de voorraad in het systeem. Het wordt meestal gebruikt om het systeem waarden te synchroniseren en wat werkelijk bestaat in uw magazijnen.
This will be used for setting rule in HR module,Deze wordt gebruikt voor instelling regel HR module
Thread HTML,Thread HTML
Thursday,Donderdag
Time,Tijd
Time Log,Tijd Inloggen
Time Log Batch,Time Log Batch
Time Log Batch Detail,Time Log Batch Detail
Time Log Batch Details,Time Log Batch Details
Time Log Batch status must be 'Submitted',Time Log Batch-status moet &#39;Ingediend&#39;
Time Log Status must be Submitted.,Time Log Status moet worden ingediend.
Time Log for tasks.,Tijd Inloggen voor taken.
Time Log is not billable,Time Log is niet factureerbare
Time Log must have status 'Submitted',Time Log moeten de status &#39;Ingediend&#39;
Time Zone,Time Zone
Time Zones,Tijdzones
Time and Budget,Tijd en Budget
Time at which items were delivered from warehouse,Tijd waarop items werden geleverd uit magazijn
Time at which materials were received,Tijdstip waarop materialen ontvangen
Title,Titel
Title / headline of your page,Titel / kop van uw pagina
Title Case,Titel Case
Title Prefix,Titel Prefix
To,Naar
To Currency,Naar Valuta
To Date,To-date houden
To Discuss,Om Bespreek
To Do,Te doen
To Do List,To Do List
To PR Date,Om PR Datum
To Package No.,Op Nee Pakket
To Reply,Om Beantwoorden
To Time,Naar Time
To Value,Om Value
To Warehouse,Om Warehouse
"To add a tag, open the document and click on ""Add Tag"" on the sidebar","Als u een label toe te voegen, opent u het document en klik op &quot;Add Tag&quot; op de zijbalk"
"To assign this issue, use the ""Assign"" button in the sidebar.","Om dit probleem op te wijzen, gebruikt u de &quot;Assign&quot;-knop in de zijbalk."
"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.","Als u automatisch Support Tickets maken van uw inkomende e-mail, hier stelt u uw POP3-instellingen. U moet idealiter een aparte e-id voor het ERP-systeem, zodat alle e-mails worden gesynchroniseerd in het systeem van die e-mail-ID. Als u niet zeker bent, neem dan contact op met uw e-mailprovider."
"To create an Account Head under a different company, select the company and save customer.","Om een ​​account te creëren hoofd onder een andere onderneming, selecteert u het bedrijf en op te slaan klant."
To enable <b>Point of Sale</b> features,Om <b>Point of Sale</b> functies in te schakelen
To enable more currencies go to Setup > Currency,Om meer munten kunnen gaan naar&gt; Currency Setup
"To fetch items again, click on 'Get Items' button \						or update the Quantity manually.","Om weer op te halen items, klikt u op &#39;Get Items&#39; knop \ of handmatig bijwerken van de hoeveelheid."
"To format columns, give column labels in the query.","Om kolommen opmaken, geef kolom labels in de query."
"To further restrict permissions based on certain values in a document, use the 'Condition' settings.","Om verder te beperken rechten op basis van bepaalde waarden in een document, gebruikt u de &#39;Staat&#39; instellingen."
To get Item Group in details table,Om Item Group te krijgen in details tabel
To manage multiple series please go to Setup > Manage Series,Om meerdere reeksen te beheren gaat u naar Setup&gt; Beheer-serie
To restrict a User of a particular Role to documents that are explicitly assigned to them,Een gebruiker van een bepaalde rol beperken tot documenten die expliciet aan hen toegewezen
To restrict a User of a particular Role to documents that are only self-created.,Om een ​​gebruiker van een bepaalde rol te beperken tot documenten die alleen zelfgeschapen.
"To set reorder level, item must be Purchase Item","Te stellen bestelniveau, moet onderdeel Aankoop Item zijn"
"To set user roles, just go to <a href='#List/Profile'>Setup > Users</a> and click on the user to assign roles.","Om gebruikersrollen in te stellen, ga je gewoon naar <a href='#List/Profile'>&gt; Gebruikers Setup</a> en op de gebruiker Klik om rollen toe te wijzen."
To track any installation or commissioning related work after sales,Om een ​​installatie of inbedrijfstelling gerelateerde werk na verkoop bij te houden
"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","Om merknaam te volgen in de volgende documenten <br> Levering Let op, Enuiry, Materiaal Request, punt, Inkooporder, Aankoopbon, Koper Ontvangst, Offerte, Sales Invoice, Sales BOM, Sales Order, Serienummer"
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.,Om object in verkoop-en inkoopdocumenten op basis van hun seriële nos. Dit wordt ook gebruikt om informatie over de garantie van het product volgen.
To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>,"Als u items in verkoop-en inkoopdocumenten volgen met batch nos <br> <b>Voorkeur Industrie: Chemische stoffen, enz.</b>"
To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,Om items met behulp van barcode te volgen. Je zult in staat zijn om items in leveringsbon en Sales Invoice voer door het scannen van barcodes van item.
ToDo,ToDo
Tools,Gereedschap
Top,Top
Top Bar,Top Bar
Top Bar Background,Top Bar Achtergrond
Top Bar Item,Top Bar Item
Top Bar Items,Top Bar Artikelen
Top Bar Text,Top Bar Text
Top Bar text and background is same color. Please change.,Top Bar tekst en achtergrond is dezelfde kleur. Gelieve veranderen.
Total,Totaal
Total (sum of) points distribution for all goals should be 100.,Totaal (som van) punten distributie voor alle doelen moet 100.
Total Advance,Totaal Advance
Total Amount,Totaal bedrag
Total Amount To Pay,Totaal te betalen bedrag
Total Amount in Words,Totaal bedrag in woorden
Total Billing This Year: ,Totaal Facturering Dit Jaar:
Total Claimed Amount,Totaal gedeclareerde bedrag
Total Commission,Totaal Commissie
Total Cost,Totale kosten
Total Credit,Totaal Krediet
Total Debit,Totaal Debet
Total Deduction,Totaal Aftrek
Total Earning,Totaal Verdienen
Total Experience,Total Experience
Total Hours,Total Hours
Total Hours (Expected),Totaal aantal uren (Verwachte)
Total Invoiced Amount,Totaal Gefactureerd bedrag
Total Leave Days,Totaal verlofdagen
Total Leaves Allocated,Totaal Bladeren Toegewezen
Total Operating Cost,Totale exploitatiekosten
Total Points,Totaal aantal punten
Total Raw Material Cost,Totaal grondstofprijzen
Total SMS Sent,Totaal SMS Verzonden
Total Sanctioned Amount,Totaal Sanctioned Bedrag
Total Score (Out of 5),Totaal Score (van de 5)
Total Tax (Company Currency),Total Tax (Company Munt)
Total Taxes and Charges,Totaal belastingen en heffingen
Total Taxes and Charges (Company Currency),Total en-heffingen (Company Munt)
Total Working Days In The Month,Totaal Werkdagen In De Maand
Total amount of invoices received from suppliers during the digest period,Totaal bedrag van de facturen van leveranciers ontvangen tijdens de digest periode
Total amount of invoices sent to the customer during the digest period,Totaalbedrag van de verzonden facturen aan de klant tijdens de digest periode
Total in words,Totaal in woorden
Total production order qty for item,Totale productie aantallen bestellen voor punt
Totals,Totalen
Track separate Income and Expense for product verticals or divisions.,Track aparte Inkomsten en uitgaven voor product verticals of divisies.
Track this Delivery Note against any Project,Volg dit pakbon tegen elke Project
Track this Sales Invoice against any Project,Volg dit Sales Invoice tegen elke Project
Track this Sales Order against any Project,Volg dit Verkooporder tegen elke Project
Transaction,Transactie
Transaction Date,Transactie Datum
Transfer,Overdracht
Transition Rules,Overgang Regels
Transporter Info,Transporter Info
Transporter Name,Vervoerder Naam
Transporter lorry number,Transporter vrachtwagen nummer
Trash Reason,Trash Reden
Tree of item classification,Tree of post-classificatie
Trial Balance,Trial Balance
Tuesday,Dinsdag
Tweet will be shared via your user account (if specified),Tweet zal worden gedeeld via jouw account (indien opgegeven)
Twitter Share,Twitter Share
Twitter Share via,Twitter Deel via
Type,Type
Type of document to rename.,Type document te hernoemen.
Type of employment master.,Aard van de werkgelegenheid meester.
"Type of leaves like casual, sick etc.","Aard van de bladeren, zoals casual, zieken enz."
Types of Expense Claim.,Bij declaratie.
Types of activities for Time Sheets,Soorten activiteiten voor Time Sheets
UOM,Verpakking
UOM Conversion Detail,Verpakking Conversie Detail
UOM Conversion Details,Verpakking Conversie Details
UOM Conversion Factor,Verpakking Conversie Factor
UOM Conversion Factor is mandatory,UOM Conversie Factor is verplicht
UOM Details,Verpakking Details
UOM Name,Verpakking Naam
UOM Replace Utility,Verpakking Vervang Utility
UPPER CASE,HOOFDLETTERS
UPPERCASE,HOOFDLETTERS
URL,URL
Unable to complete request: ,Niet in staat om te voltooien aanvraag:
Under AMC,Onder AMC
Under Graduate,Onder Graduate
Under Warranty,Onder de garantie
Unit of Measure,Meeteenheid
"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Meeteenheid van dit artikel (bijvoorbeeld kg, eenheid, Nee, Pair)."
Units/Hour,Eenheden / uur
Units/Shifts,Eenheden / Verschuivingen
Unmatched Amount,Ongeëvenaarde Bedrag
Unpaid,Onbetaald
Unread Messages,Ongelezen berichten
Unscheduled,Ongeplande
Unsubscribed,Uitgeschreven
Upcoming Events for Today,Evenementen voor vandaag
Update,Bijwerken
Update Clearance Date,Werk Clearance Datum
Update Field,Veld bijwerken
Update PR,Update PR
Update Series,Update Series
Update Series Number,Update Serie Nummer
Update Stock,Werk Stock
Update Stock should be checked.,Update Stock moeten worden gecontroleerd.
Update Value,Werk Value
"Update allocated amount in the above table and then click ""Allocate"" button",Werk toegewezen bedrag in de bovenstaande tabel en klik vervolgens op &quot;Toewijzen&quot; knop
Update bank payment dates with journals.,Update bank betaaldata met tijdschriften.
Update is in progress. This may take some time.,Update wordt uitgevoerd. Dit kan enige tijd duren.
Updated,Bijgewerkt
Upload Attachment,Upload Attachment
Upload Attendance,Upload Toeschouwers
Upload Backups to Dropbox,Upload Backups naar Dropbox
Upload Backups to Google Drive,Upload Backups naar Google Drive
Upload HTML,Upload HTML
Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,Upload een csv-bestand met twee kolommen:. De oude naam en de nieuwe naam. Max. 500 rijen.
Upload a file,Een bestand uploaden
Upload and Import,Upload en importeren
Upload attendance from a .csv file,Upload aanwezigheid van een. Csv-bestand
Upload stock balance via csv.,Upload voorraadsaldo via csv.
Uploading...,Uploaden ...
Upper Income,Bovenste Inkomen
Urgent,Dringend
Use Multi-Level BOM,Gebruik Multi-Level BOM
Use SSL,Gebruik SSL
User,Gebruiker
User Cannot Create,Gebruiker kan niet maken
User Cannot Search,Gebruiker kan niet zoeken
User ID,Gebruikers-ID
User Image,GEBR.AFB
User Name,Gebruikersnaam
User Remark,Gebruiker Opmerking
User Remark will be added to Auto Remark,Gebruiker Opmerking zal worden toegevoegd aan Auto Opmerking
User Tags,Gebruiker-tags
User Type,Gebruikerstype
User must always select,Gebruiker moet altijd kiezen
User not allowed entry in the Warehouse,Gebruiker niet toegestaan ​​vermelding in het Warehouse
User not allowed to delete.,Gebruiker niet toegestaan ​​om te verwijderen.
UserRole,UserRole
Username,Gebruikersnaam
Users who can approve a specific employee's leave applications,Gebruikers die verlofaanvragen van een specifieke werknemer kan goedkeuren
Users with this role are allowed to do / modify accounting entry before frozen date,Gebruikers met deze rol mogen doen / inschrijving in de boekhouding aanpassen voordat bevroren datum
Utilities,Utilities
Utility,Utility
Valid For Territories,Geldig voor Territories
Valid Upto,Geldig Tot
Valid for Buying or Selling?,Geldig voor kopen of verkopen?
Valid for Territories,Geldig voor Territories
Validate,Bevestigen
Valuation,Taxatie
Valuation Method,Waardering Methode
Valuation Rate,Waardering Prijs
Valuation and Total,Taxatie en Total
Value,Waarde
Value missing for,Waarde vermist
Vehicle Dispatch Date,Vehicle Dispatch Datum
Vehicle No,Voertuig Geen
Verdana,Verdana
Verified By,Verified By
Visit,Bezoeken
Visit report for maintenance call.,Bezoek rapport voor onderhoud gesprek.
Voucher Detail No,Voucher Detail Geen
Voucher ID,Voucher ID
Voucher Import Tool,Voucher Import Tool
Voucher No,Blad nr.
Voucher Type,Voucher Type
Voucher Type and Date,Voucher Type en Date
WIP Warehouse required before Submit,WIP Warehouse vereist voordat Submit
Waiting for Customer,Wachten op klanten
Walk In,Walk In
Warehouse,Magazijn
Warehouse Contact Info,Warehouse Contact Info
Warehouse Detail,Magazijn Detail
Warehouse Name,Warehouse Naam
Warehouse User,Magazijn Gebruiker
Warehouse Users,Magazijn Gebruikers
Warehouse and Reference,Magazijn en Reference
Warehouse does not belong to company.,Magazijn behoort niet tot bedrijf.
Warehouse where you are maintaining stock of rejected items,Warehouse waar u het handhaven voorraad van afgewezen artikelen
Warehouse-Wise Stock Balance,Warehouse-Wise Stock Balance
Warehouse-wise Item Reorder,Warehouse-wise Item opnieuw ordenen
Warehouses,Magazijnen
Warn,Waarschuwen
Warning,Waarschuwing
Warning: Leave application contains following block dates,Waarschuwing: Verlof applicatie bevat volgende blok data
Warranty / AMC Details,Garantie / AMC Details
Warranty / AMC Status,Garantie / AMC Status
Warranty Expiry Date,Garantie Vervaldatum
Warranty Period (Days),Garantieperiode (dagen)
Warranty Period (in days),Garantieperiode (in dagen)
Web Content,Web Content
Web Page,Webpagina
Website,Website
Website Description,Website Beschrijving
Website Item Group,Website Item Group
Website Item Groups,Website Artikelgroepen
Website Overall Settings,Website Algemene Instellingen
Website Script,Website Script
Website Settings,Website-instellingen
Website Slideshow,Website Diashow
Website Slideshow Item,Website Diashow Item
Website User,Website Gebruiker
Website Warehouse,Website Warehouse
Wednesday,Woensdag
Weekly,Wekelijks
Weekly Off,Wekelijkse Uit
Weight UOM,Gewicht Verpakking
Weightage,Weightage
Weightage (%),Weightage (%)
Welcome,Welkom
"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.","Als een van de gecontroleerde transacties &quot;Submitted&quot;, een e-mail pop-up automatisch geopend om een ​​e-mail te sturen naar de bijbehorende &quot;Contact&quot; in deze transactie, de transactie als bijlage. De gebruiker kan al dan niet verzenden email."
"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.","Wanneer u een document <b>wijzigen</b> na te annuleren en op te slaan, zal het een nieuw nummer dat is een versie van het oude nummer."
Where items are stored.,Waar items worden opgeslagen.
Where manufacturing operations are carried out.,Wanneer de productie operaties worden uitgevoerd.
Widowed,Weduwe
Width,Breedte
Will be calculated automatically when you enter the details,Wordt automatisch berekend wanneer u de details
Will be fetched from Customer,Wordt opgehaald uit Klantenservice
Will be updated after Sales Invoice is Submitted.,Zal worden bijgewerkt na verkoopfactuur wordt ingediend.
Will be updated when batched.,Zal worden bijgewerkt wanneer gedoseerd.
Will be updated when billed.,Zal worden bijgewerkt wanneer gefactureerd.
Will be used in url (usually first name).,Wordt gebruikt url (meestal voornaam).
With Operations,Met Operations
Work Details,Work Details
Work Done,Werk
Work In Progress,Work In Progress
Work-in-Progress Warehouse,Work-in-Progress Warehouse
Workflow,Workflow
Workflow Action,Workflow Actie
Workflow Action Master,Workflow Actie Master
Workflow Action Name,Workflow Actie Naam
Workflow Document State,Workflow Document State
Workflow Document States,Workflow Document Staten
Workflow Name,Werkstroomnaam
Workflow State,Workflow State
Workflow State Field,Workflow State Field
Workflow State Name,Workflow lidstaat Naam
Workflow Transition,Workflow Transition
Workflow Transitions,Workflow Overgangen
Workflow state represents the current state of a document.,Workflow-status geeft de huidige status van een document.
Workflow will start after saving.,Workflow begint na het opslaan.
Working,Werkzaam
Workstation,Workstation
Workstation Name,Naam van werkstation
Write,Schrijven
Write Off Account,Schrijf Uit account
Write Off Amount,Schrijf Uit Bedrag
Write Off Amount <=,Schrijf Uit Bedrag &lt;=
Write Off Based On,Schrijf Uit Based On
Write Off Cost Center,Schrijf Uit kostenplaats
Write Off Outstanding Amount,Schrijf uitstaande bedrag
Write Off Voucher,Schrijf Uit Voucher
Write a Python file in the same folder where this is saved and return column and result.,Schrijf een Python bestand in dezelfde map waarin deze is opgeslagen en terugkeer kolom en resultaat.
Write a SELECT query. Note result is not paged (all data is sent in one go).,Schrijf een SELECT-query. Opmerking resultaat wordt niet opgeroepen (alle data wordt verzonden in een keer).
Write sitemap.xml,Schrijf sitemap.xml
Write titles and introductions to your blog.,Schrijf titels en inleidingen op je blog.
Writers Introduction,Schrijvers Introductie
Wrong Template: Unable to find head row.,Verkeerde Template: Kan hoofd rij vinden.
Year,Jaar
Year Closed,Jaar Gesloten
Year Name,Jaar Naam
Year Start Date,Jaar Startdatum
Year of Passing,Jaar van de Passing
Yearly,Jaar-
Yes,Ja
Yesterday,Gisteren
You are not authorized to do/modify back dated entries before ,U bent niet bevoegd om te doen / te wijzigen gedateerde gegevens terug voor
You can enter any date manually,U kunt elke datum handmatig
You can enter the minimum quantity of this item to be ordered.,U kunt de minimale hoeveelheid van dit product te bestellen.
You can not enter both Delivery Note No and Sales Invoice No. \					Please enter any one.,U kunt niet in Voer zowel Delivery Note en Sales Invoice No \ Geef iemand.
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.,U kunt verschillende &#39;eigenschappen&#39; om gebruikers op de standaardwaarden in te stellen en toestemming regels op basis van de waarde van deze eigenschappen in verschillende vormen toe te passen.
You can start by selecting backup frequency and \					granting access for sync,U kunt beginnen door het selecteren van back-up frequentie en \ verlenen van toegang voor synchronisatie
You can use <a href='#Form/Customize Form'>Customize Form</a> to set levels on fields.,U kunt gebruik maken <a href='#Form/Customize Form'>Customize Form</a> om in te stellen op velden.
You may need to update: ,U kan nodig zijn om bij te werken:
Your Customer's TAX registration numbers (if applicable) or any general information,Uw klant fiscale nummers (indien van toepassing) of een algemene informatie
"Your download is being built, this may take a few moments...","Uw download wordt gebouwd, kan dit enige tijd duren ..."
Your letter head content,Uw brief hoofd-inhoud
Your sales person who will contact the customer in future,Uw verkoop persoon die de klant in de toekomst contact op te nemen
Your sales person who will contact the lead in future,Uw verkoop persoon die de leiding contact in de toekomst
Your sales person will get a reminder on this date to contact the customer,Uw verkoop persoon krijgt een herinnering op deze datum aan de klant contact op te nemen
Your sales person will get a reminder on this date to contact the lead,Uw verkoop persoon krijgt een herinnering op deze datum om de leiding te contacteren
Your support email id - must be a valid email - this is where your emails will come!,Uw steun e-id - moet een geldig e zijn - dit is waar je e-mails zal komen!
[Error],[Error]
[Label]:[Field Type]/[Options]:[Width],[Label]: [Veld Type] / [Opties]: [Breedte]
add your own CSS (careful!),voeg uw eigen CSS (careful!)
adjust,aanpassen
align-center,lijn-centrum
align-justify,uitlijning te rechtvaardigen
align-left,uitlijning links
align-right,lijn-recht
also be included in Item's rate,ook opgenomen worden in tarief-item
and,en
arrow-down,arrow-down
arrow-left,pijl-links
arrow-right,pijl-rechts
arrow-up,pijl-up
assigned by,toegewezen door
asterisk,sterretje
backward,achterwaarts
ban-circle,ban-cirkel
barcode,barcode
bell,bel
bold,gedurfd
book,boek
bookmark,bladwijzer
briefcase,koffertje
bullhorn,megafoon
calendar,kalender
camera,camera
cancel,annuleren
cannot be 0,mag niet 0
cannot be empty,kan niet leeg zijn
cannot be greater than 100,kan niet groter zijn dan 100
cannot be included in Item's rate,kan niet worden opgenomen in het tarief Item&#39;s
"cannot have a URL, because it has child item(s)","kan geen URL, omdat het kind item (s)"
cannot start with,kan niet beginnen met
certificate,certificaat
check,controleren
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,cirkel-pijl-links
circle-arrow-right,cirkel-pijl-rechts
circle-arrow-up,cirkel-pijl-up
cog,tand
comment,commentaar
create a Custom Field of type Link (Profile) and then use the 'Condition' settings to map that field to the Permission rule.,een aangepast veld van het type Link (Profile) en gebruik dan de &#39;Staat&#39; instellingen om dat veld toe te wijzen aan de toestemming regel.
dd-mm-yyyy,dd-mm-jjjj
dd/mm/yyyy,dd / mm / yyyy
deactivate,deactiveren
does not belong to BOM: ,behoort niet tot BOM:
does not exist,bestaat niet
does not have role 'Leave Approver',heeft geen rol &#39;Leave Approver&#39;
does not match,niet overeenkomt
download,downloaden
download-alt,download-alt
"e.g. Bank, Cash, Credit Card","bijvoorbeeld Bank, Cash, Credit Card"
"e.g. Kg, Unit, Nos, m","bv Kg, eenheid, Nos, m"
edit,redigeren
eg. Cheque Number,bijvoorbeeld. Cheque nummer
eject,uitwerpen
english,Engels
envelope,envelop
español,español
example: Next Day Shipping,Bijvoorbeeld: Next Day Shipping
example: http://help.erpnext.com,Bijvoorbeeld: http://help.erpnext.com
exclamation-sign,uitroepteken-teken
eye-close,eye-close
eye-open,eye-opening
facetime-video,FaceTime-video
fast-backward,snel achteruit
fast-forward,snel vooruit
file,bestand
film,film
filter,filter
fire,brand
flag,vlag
folder-close,map-close
folder-open,map te openen
font,doopvont
forward,vooruit
français,français
fullscreen,volledig scherm
gift,gift
glass,glas
globe,wereldbol
hand-down,de hand-down
hand-left,hand-links
hand-right,hand-rechts
hand-up,hand-up
has been entered atleast twice,is ingevoerd minstens twee keer
have a common territory,hebben een gemeenschappelijk grondgebied
have the same Barcode,hebben dezelfde streepjescode
hdd,hdd
headphones,hoofdtelefoon
heart,hart
home,thuis
icon,icon
in,in
inbox,inbox
indent-left,streepje links
indent-right,streepje-rechts
info-sign,info-teken
is a cancelled Item,is een geannuleerde artikel
is linked in,is gekoppeld
is not a Stock Item,is niet een Stock Item
is not allowed.,is niet toegestaan.
italic,cursief
leaf,blad
lft,lft
list,lijst
list-alt,list-alt
lock,slot
lowercase,kleine letters
magnet,magneet
map-marker,kaart-marker
minus,minus
minus-sign,min-teken
mm-dd-yyyy,mm-dd-jjjj
mm/dd/yyyy,dd / mm / yyyy
move,bewegen
music,muziek
must be one of,moet een van
nederlands,nederlands
not a purchase item,niet een aankoop punt
not a sales item,geen verkoop punt
not a service item.,niet een service-item.
not a sub-contracted item.,niet een uitbesteed artikel.
not in,niet in
not within Fiscal Year,niet binnen boekjaar
of,van
of type Link,van het type Link
off,uit
ok,OK
ok-circle,ok-cirkel
ok-sign,ok-teken
old_parent,old_parent
or,of
pause,pauze
pencil,potlood
picture,afbeelding
plane,vliegtuig
play,spelen
play-circle,play-cirkel
plus,plus
plus-sign,plus-teken
português,português
português brasileiro,português brasileiro
print,afdrukken
qrcode,qrcode
question-sign,vraag-teken
random,toeval
reached its end of life on,het einde van zijn leven op
refresh,verversen
remove,verwijderen
remove-circle,remove-cirkel
remove-sign,remove-teken
repeat,herhalen
resize-full,resize-full
resize-horizontal,resize-horizontale
resize-small,resize-small
resize-vertical,resize-verticale
retweet,retweet
rgt,RGT
road,weg
screenshot,screenshot
search,zoeken
share,aandeel
share-alt,aandeel-alt
shopping-cart,shopping-cart
should be 100%,moet 100% zijn
signal,signaal
star,ster
star-empty,star-leeg
step-backward,step-achteruit
step-forward,stap vooruit
stop,stoppen
tag,label
tags,-tags
"target = ""_blank""",target = &quot;_blank&quot;
tasks,taken
text-height,text-height
text-width,text breedte
th,e
th-large,th-large
th-list,th-lijst
thumbs-down,duim omlaag
thumbs-up,duim omhoog
time,tijd
tint,tint
to,naar
"to be included in Item's rate, it is required that: ","te worden opgenomen in tarief-item, is het vereist dat:"
trash,prullenbak
upload,uploaden
user,gebruiker
user_image_show,user_image_show
values and dates,waarden en data
volume-down,volume-omlaag
volume-off,volume-off
volume-up,volume-up
warning-sign,waarschuwing-teken
website page link,website Paginalink
which is greater than sales order qty ,die groter is dan de verkoop aantallen bestellen
wrench,moersleutel
yyyy-mm-dd,yyyy-mm-dd
zoom-in,zoom-in
zoom-out,zoom-out
