diff --git a/erpnext/translations/nl.csv b/erpnext/translations/nl.csv
index b89765c..77eec27 100644
--- a/erpnext/translations/nl.csv
+++ b/erpnext/translations/nl.csv
@@ -303,16 +303,16 @@
 BOM Item,BOM Item
 BOM No,BOM nr.
 BOM No. for a Finished Good Item,BOM nr. voor een afgewerkt goederen item
-BOM Operation,BOM Operatie
-BOM Operations,BOM Operations
-BOM Replace Tool,BOM Replace Tool
+BOM Operation,Stuklijst Operatie
+BOM Operations,Stuklijst Operaties
+BOM Replace Tool,Stuklijst Vervang Tool
 BOM number is required for manufactured Item {0} in row {1},BOM nr. is vereist voor gefabriceerde Item {0} in rij {1}
 BOM number not allowed for non-manufactured Item {0} in row {1},BOM nr. niet toegestaan ​​voor niet - gefabriceerde Item {0} in rij {1}
-BOM recursion: {0} cannot be parent or child of {2},BOM recursie : {0} mag niet ouder of kind zijn van {2}
-BOM replaced,BOM vervangen
-BOM {0} for Item {1} in row {2} is inactive or not submitted,BOM {0} voor post {1} in rij {2} is niet actief of niet ingediend
-BOM {0} is not active or not submitted,BOM {0} is niet actief of niet ingediend
-BOM {0} is not submitted or inactive BOM for Item {1},BOM {0} is niet voorgelegd of inactief BOM voor post {1}
+BOM recursion: {0} cannot be parent or child of {2},Stuklijst recursie: {0} mag niet ouder of kind zijn van {2}
+BOM replaced,Stuklijst vervangen
+BOM {0} for Item {1} in row {2} is inactive or not submitted,Stuklijst {0} voor Artikel {1} in rij {2} is niet actief of niet ingediend
+BOM {0} is not active or not submitted,Stuklijst {0} is niet actief of niet ingediend
+BOM {0} is not submitted or inactive BOM for Item {1},Stuklijst {0} is niet ingediend of inactief voor Artikel {1}
 Backup Manager,Backup Manager
 Backup Right Now,Nu Backup maken
 Backups will be uploaded to,Back-ups worden geüpload naar
@@ -332,9 +332,9 @@
 Bank Draft,Bank Draft
 Bank Name,Naam Bank
 Bank Overdraft Account,Bank Overdraft Account
-Bank Reconciliation,Bank Verzoening
-Bank Reconciliation Detail,Bank Verzoening Detail
-Bank Reconciliation Statement,Bank Verzoening Statement
+Bank Reconciliation,Bank Aflettering
+Bank Reconciliation Detail,Bank Aflettering Detail
+Bank Reconciliation Statement,Bank Aflettering Statement
 Bank Voucher,Bank Voucher
 Bank/Cash Balance,Bank- / Kassaldo
 Banking,Bankieren
@@ -356,12 +356,12 @@
 Batch-Wise Balance History,Batchgewijze Balans Geschiedenis
 Batched for Billing,Gebundeld voor facturering
 Better Prospects,Betere vooruitzichten
-Bill Date,Rekening Datum
-Bill No,Rekening Nummer
-Bill No {0} already booked in Purchase Invoice {1},Rekening Geen {0} al geboekt in inkoopfactuur {1}
-Bill of Material,Rekening Materialen
-Bill of Material to be considered for manufacturing,Materiaalrekening te worden beschouwd voor de productie van
-Bill of Materials (BOM),Rekening Materialen (BOM)
+Bill Date,Factuurdatum
+Bill No,Factuur nr
+Bill No {0} already booked in Purchase Invoice {1},Factuurnummer {0} al geboekt in inkoopfactuur {1}
+Bill of Material,Stuklijst
+Bill of Material to be considered for manufacturing,Stuklijst beschouwd voor productie
+Bill of Materials (BOM),Stuklijsten
 Billable,Factureerbaar
 Billed,Gefactureerd
 Billed Amount,Gefactureerd Bedrag
@@ -1066,8 +1066,8 @@
 For Sales Invoice,Voor verkoopfactuur
 For Server Side Print Formats,Voor Server Side Print Formats
 For Supplier,voor Leverancier
-For Warehouse,Voor Warehouse
-For Warehouse is required before Submit,Voor Warehouse is vereist voordat Indienen
+For Warehouse,Voor Magazijn
+For Warehouse is required before Submit,Voor Magazijn is vereist voor het Indienen
 "For e.g. 2012, 2012-13","Voor bijvoorbeeld 2012, 2012-13"
 For reference,Ter referentie
 For reference only.,Alleen ter referentie.
@@ -1075,43 +1075,43 @@
 Fraction,Fractie
 Fraction Units,Fractie Units
 Freeze Stock Entries,Freeze Stock Entries
-Freeze Stocks Older Than [Days],Freeze Voorraden Ouder dan [ dagen ]
-Freight and Forwarding Charges,Vracht-en verzendingskosten
+Freeze Stocks Older Than [Days],Bevries Voorraden ouder dan [dagen]
+Freight and Forwarding Charges,Vracht-en verzendkosten
 Friday,Vrijdag
 From,Van
-From Bill of Materials,Van Bill of Materials
-From Company,Van Company
+From Bill of Materials,Van Stuklijst
+From Company,Van Bedrijf
 From Currency,Van Valuta
-From Currency and To Currency cannot be same,Van Munt en naar Valuta kan niet hetzelfde zijn
+From Currency and To Currency cannot be same,Van Valuta en naar Valuta kan niet hetzelfde zijn
 From Customer,Van Klant
-From Customer Issue,Van Customer Issue
+From Customer Issue,Van Klant Issue
 From Date,Van Datum
 From Date cannot be greater than To Date,Vanaf de datum kan niet groter zijn dan tot nu toe
-From Date must be before To Date,Van datum moet voor-to-date
-From Date should be within the Fiscal Year. Assuming From Date = {0},Van datum moet binnen het boekjaar. Ervan uitgaande dat Van Date = {0}
-From Delivery Note,Van Delivery Note
+From Date must be before To Date,Van Datum moet voor Tot Datum
+From Date should be within the Fiscal Year. Assuming From Date = {0},Van Datum moet binnen het boekjaar zijn. Er vanuit gaande dat Van Datum {0} is
+From Delivery Note,Van Vrachtbrief
 From Employee,Van Medewerker
-From Lead,Van Lood
+From Lead,Van Lead
 From Maintenance Schedule,Van onderhoudsschema
-From Material Request,Van Materiaal Request
-From Opportunity,van Opportunity
+From Material Request,Van Materiaal Aanvraag
+From Opportunity,Van Opportunity
 From Package No.,Van Pakket No
-From Purchase Order,Van Purchase Order
-From Purchase Receipt,Van Kwitantie
-From Quotation,van Offerte
-From Sales Order,Van verkooporder
+From Purchase Order,Van Inkooporder
+From Purchase Receipt,Van Ontvangstbevestiging
+From Quotation,Van Offerte
+From Sales Order,Van Verkooporder
 From Supplier Quotation,Van Leverancier Offerte
 From Time,Van Tijd
 From Value,Van Waarde
-From and To dates required,Van en naar de data vereist
-From value must be less than to value in row {0},Van waarde moet in rij minder dan waarde {0}
+From and To dates required,Van en naar data vereist
+From value must be less than to value in row {0},Van waarde moet minder zijn dan waarde in rij {0}
 Frozen,Bevroren
 Frozen Accounts Modifier,Bevroren rekeningen Modifikatie
 Fulfilled,Vervulde
 Full Name,Volledige naam
-Full-time,Full -time
-Fully Billed,Volledig gefactureerde
-Fully Completed,Volledig ingevulde
+Full-time,Full-time
+Fully Billed,Volledig gefactureerd
+Fully Completed,Volledig afgerond
 Fully Delivered,Volledig geleverd
 Furniture and Fixture,Meubilair en Inrichting
 Further accounts can be made under Groups but entries can be made against Ledger,"Verder rekeningen kunnen onder Groepen worden gemaakt, maar data kan worden gemaakt tegen Ledger"
@@ -1119,21 +1119,21 @@
 Further nodes can be only created under 'Group' type nodes,Verder nodes kunnen alleen worden gemaakt op grond van het type nodes 'Groep'
 GL Entry,GL Entry
 Gantt Chart,Gantt-diagram
-Gantt chart of all tasks.,Gantt-grafiek van alle taken.
+Gantt chart of all tasks.,Gantt-daigram 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 Material Requests (MRP) and Production Orders.,Genereer Materiaal Aanvragen (MRP) en Productieorders.
+Generate Salary Slips,Genereer Salarisstroken
 Generate Schedule,Genereer Plan
 Generates HTML to include selected image in the description,Genereert HTML aan geselecteerde beeld te nemen in de beschrijving
 Get Advances Paid,Get betaalde voorschotten
 Get Advances Received,Get ontvangen voorschotten
 Get Current Stock,Get Huidige voorraad
 Get Items,Get Items
-Get Items From Sales Orders,Krijg Items Van klantorders
-Get Items from BOM,Items ophalen van BOM
+Get Items From Sales Orders,Haal Artikelen van Verkooporders
+Get Items from BOM,Items ophalen van Stuklijst
 Get Last Purchase Rate,Get Laatst Purchase Rate
 Get Outstanding Invoices,Get openstaande facturen
 Get Relevant Entries,Krijgen relevante gegevens
@@ -1155,24 +1155,24 @@
 Goods received from Suppliers.,Goederen ontvangen van leveranciers.
 Google Drive,Google Drive
 Google Drive Access Allowed,Google Drive Access toegestaan
-Government,overheid
+Government,Overheid
 Graduate,Afstuderen
 Grand Total,Algemeen totaal
 Grand Total (Company Currency),Grand Total (Company Munt)
-"Grid ""","Grid """
-Grocery,kruidenierswinkel
-Gross Margin %,Winstmarge%
-Gross Margin Value,Winstmarge Value
+"Grid ""","Rooster """
+Grocery,Kruidenierswinkel
+Gross Margin %,Bruto marge %
+Gross Margin Value,Bruto marge waarde
 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
+Gross Profit,Bruto Winst
+Gross Profit (%),Bruto Winst (%)
+Gross Weight,Bruto Gewicht
+Gross Weight UOM,Bruto Gewicht Eenheid
 Group,Groep
-Group by Account,Groep door Account
+Group by Account,Groeperen per Rekening
 Group by Voucher,Groep door Voucher
-Group or Ledger,Groep of Ledger
+Group or Ledger,Groep of Grootboek
 Groups,Groepen
 HR Manager,HR Manager
 HR Settings,HR-instellingen
@@ -1180,15 +1180,15 @@
 Half Day,Halve dag
 Half Yearly,Halfjaarlijkse
 Half-yearly,Halfjaarlijks
-Happy Birthday!,Happy Birthday!
+Happy Birthday!,Gefeliciteerd!
 Hardware,hardware
 Has Batch No,Heeft Batch nr.
-Has Child Node,Heeft het kind Node
+Has Child Node,Heeft onderliggende node
 Has Serial No,Heeft Serienummer
-Head of Marketing and Sales,Hoofd Marketing en Sales
+Head of Marketing and Sales,Hoofd Marketing en Verkoop
 Header,Hoofd
 Health Care,Gezondheidszorg
-Health Concerns,Gezondheid Zorgen
+Health Concerns,Gezondheidszorgen
 Health Details,Gezondheid Details
 Held On,Held Op
 Help HTML,Help HTML
@@ -1203,34 +1203,34 @@
 Holiday List,Holiday Lijst
 Holiday List Name,Holiday Lijst Naam
 Holiday master.,Vakantie meester .
-Holidays,Vakantie
-Home,Thuis
-Host,Gastheer
+Holidays,Feestdagen
+Home,Home
+Host,Host
 "Host, Email and Password required if emails are to be pulled","Host, e-mail en wachtwoord nodig als e-mails moeten worden getrokken"
 Hour,uur
 Hour Rate,Uurtarief
 Hour Rate Labour,Uurtarief Arbeid
-Hours,Uur
-How Pricing Rule is applied?,Hoe Pricing regel wordt toegepast?
+Hours,Uren
+How Pricing Rule is applied?,Hoe wordt de Prijsregel toegepast?
 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 should this currency be formatted? If not set, will use system defaults","Hoe moet deze valuta worden geformatteerd? Indien niet ingesteld, dan zal gebruik gemaakt wroden van de systeem standaard"
 Human Resources,Human Resources
 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 Income or Expense,Indien Inkomsten (baten) of Uitgaven (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 , de werkelijke BOM van de Pack wordt weergegeven als tabel . Verkrijgbaar 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 Yearly Budget Exceeded,Als jaarlijks budget is overschreden
 "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, 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 different than customer address,Indien anders dan adres van de klant
-"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 different than customer address,Indien anders dan klantadres
+"If disable, 'Rounded Total' field will not be visible in any transaction","Indien uitgevinkt, zal het 'Afgerond Totaal' veld niet zichtbaar zijn in een transactie"
+"If enabled, the system will post accounting entries for inventory automatically.","Indien aangevinkt, zal het systeem voorraadboekingen automatisch plaatsen."
 If more than one package of the same type (for print),Als er meer dan een pakket van hetzelfde type (voor afdrukken)
 "If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Als er meerdere prijzen Regels blijven die gelden, worden gebruikers gevraagd om Prioriteit handmatig instellen om conflicten op te lossen."
 "If no change in either Quantity or Valuation Rate, leave the cell blank.","Als er geen wijziging optreedt Hoeveelheid of Valuation Rate , verlaat de cel leeg ."
-If not applicable please enter: NA,Indien niet van toepassing gelieve: Nvt
+If not applicable please enter: NA,"Indien niet van toepassing, voer in: 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 selected Pricing Rule is made for 'Price', it will overwrite Price List. Pricing Rule price is the final price, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Indien geselecteerd Prijzen Regel is gemaakt voor 'Prijs', zal het prijslijst overschrijven. Pricing Rule prijs is de uiteindelijke prijs, dus geen verdere korting worden toegepast. Vandaar dat in transacties zoals Sales Order, Bestelling etc, het zal worden opgehaald in 'Rate' veld, in plaats van 'prijslijst Rate' veld."
 "If specified, send the newsletter using this email address","Als de opgegeven, stuurt u de nieuwsbrief via dit e-mailadres"
@@ -1244,51 +1244,51 @@
 "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. Enables Item 'Is Manufactured',Als u te betrekken in de productie -activiteit . Stelt Item ' is vervaardigd '
 Ignore,Negeren
-Ignore Pricing Rule,Negeer Pricing Rule
+Ignore Pricing Rule,Negeer Prijsregel
 Ignored: ,Genegeerd:
-Image,Beeld
-Image View,Afbeelding View
+Image,Afbeelding
+Image View,Afbeelding Bekijken
 Implementation Partner,Implementatie Partner
 Import Attendance,Import Toeschouwers
-Import Failed!,Import mislukt!
-Import Log,Importeren Inloggen
-Import Successful!,Importeer Succesvol!
-Imports,Invoer
+Import Failed!,Importeren mislukt!
+Import Log,Importeren Log
+Import Successful!,Importeren succesvol!
+Imports,Imports
 In Hours,In Hours
 In Process,In Process
 In Qty,in Aantal
 In Value,in Waarde
 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 (Company Currency),In Woorden (Bedrijfsvaluta)
+In Words (Export) will be visible once you save the Delivery Note.,In woorden (Export) wordt zichtbaar zodra u de vrachtbrief opslaat.
+In Words will be visible once you save the Delivery Note.,In Woorden zijn zichtbaar zodra u de vrachtbrief opslaat.
 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 Words will be visible once you save the Purchase Order.,In Woorden zijn zichtbaar zodra u de Inkooporder opslaat
+In Words will be visible once you save the Purchase Receipt.,In Woorden zijn zichtbaar zodra u de Ontvangstbevestiging opslaat.
+In Words will be visible once you save the Quotation.,In Woorden zijn zichtbaar zodra u de Offerte opslaat.
+In Words will be visible once you save the Sales Invoice.,In Woorden zijn zichtbaar zodra u de Verkoopfactuur opslaat.
+In Words will be visible once you save the Sales Order.,In Woorden zijn zichtbaar zodra u de Verkooporder opslaat.
 Incentives,Incentives
 Include Reconciled Entries,Omvatten Reconciled Entries
-Include holidays in Total no. of Working Days,Onder meer vakanties in Total nee. van Werkdagen
-Income,inkomen
+Include holidays in Total no. of Working Days,Feestdagen opnemen in totaal aantal werkdagen.
+Income,Inkomsten
 Income / Expense,Inkomsten / Uitgaven
-Income Account,Inkomen account
-Income Booked,Inkomen Geboekt
-Income Tax,inkomstenbelasting
+Income Account,Inkomstenrekening
+Income Booked,Inkomsten Geboekt
+Income Tax,Inkomstenbelasting
 Income Year to Date,Inkomsten Jaar tot datum
 Income booked for the digest period,Inkomsten geboekt voor de digest periode
 Incoming,Inkomend
 Incoming Rate,Inkomende Rate
 Incoming quality inspection.,Inkomende kwaliteitscontrole.
-Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Onjuist aantal Grootboekposten gevonden. Je zou een verkeerde account hebt geselecteerd in de transactie.
-Incorrect or Inactive BOM {0} for Item {1} at row {2},Onjuiste of Inactieve BOM {0} voor post {1} bij rij {2}
+Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Onjuist aantal Grootboekposten gevonden. U zou een verkeerde rekening kunnen hebben geselecteerd in de transactie.
+Incorrect or Inactive BOM {0} for Item {1} at row {2},Onjuiste of Inactieve Stuklijst {0} voor artikel {1} in rij {2}
 Indicates that the package is a part of this delivery (Only Draft),Geeft aan dat het pakket is een onderdeel van deze levering (alleen ontwerp)
-Indirect Expenses,indirecte kosten
-Indirect Income,indirecte Inkomen
+Indirect Expenses,Indirecte onkosten
+Indirect Income,Indirecte Inkomsten
 Individual,Individueel
 Industry,Industrie
-Industry Type,Industry Type
+Industry Type,Industrie Type
 Inspected By,Geïnspecteerd door
 Inspection Criteria,Inspectie Criteria
 Inspection Required,Inspectie Verplicht
@@ -1296,14 +1296,14 @@
 Installation Date,Installatie Datum
 Installation Note,Installatie Opmerking
 Installation Note Item,Installatie Opmerking Item
-Installation Note {0} has already been submitted,Installatie Let op {0} al is ingediend
+Installation Note {0} has already been submitted,Installatie Opmerking {0} is al ingediend
 Installation Status,Installatie Status
 Installation Time,Installatie Tijd
 Installation date cannot be before delivery date for Item {0},De installatie mag niet vóór leveringsdatum voor post {0}
 Installation record for a Serial No.,Installatie record voor een Serienummer
 Installed Qty,Aantal geïnstalleerd
 Instructions,Instructies
-Integrate incoming support emails to Support Ticket,Integreer inkomende support e-mails naar ticket support
+Integrate incoming support emails to Support Ticket,Integreer inkomende support e-mails naar Support Ticket
 Interested,Geïnteresseerd
 Intern,intern
 Internal,Intern
@@ -1311,12 +1311,12 @@
 Introduction,Introductie
 Invalid Barcode,Ongeldige Barcode
 Invalid Barcode or Serial No,Ongeldige streepjescode of Serienummer
-Invalid Mail Server. Please rectify and try again.,Ongeldige Mail Server . Aub verwijderen en probeer het opnieuw .
+Invalid Mail Server. Please rectify and try again.,Ongeldige Mail Server . Aub herstellen en  opnieuw proberen.
 Invalid Master Name,Ongeldige Master Naam
 Invalid User Name or Support Password. Please rectify and try again.,Ongeldige gebruikersnaam of wachtwoord Ondersteuning . Aub verwijderen en probeer het opnieuw .
-Invalid quantity specified for item {0}. Quantity should be greater than 0.,Ongeldig aantal opgegeven voor product {0} . Hoeveelheid moet groter zijn dan 0 .
-Inventory,Inventaris
-Inventory & Support,Inventarisatie & Support
+Invalid quantity specified for item {0}. Quantity should be greater than 0.,Ongeldig aantal opgegeven voor artikel {0} . Hoeveelheid moet groter zijn dan 0 .
+Inventory,Voorraad
+Inventory & Support,Voorraad & Support
 Investment Banking,Investment Banking
 Investments,investeringen
 Invoice Date,Factuurdatum
@@ -1324,151 +1324,151 @@
 Invoice No,Factuur nr.
 Invoice Number,Factuurnummer
 Invoice Period From,Factuur Periode Van
-Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Factuur Periode Van en Factuur periode data verplicht voor terugkerende factuur
-Invoice Period To,Factuur periode
+Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Factuur Periode Van en Factuur Periode Tot data zijn verplicht voor terugkerende factuur
+Invoice Period To,Factuur Periode Tot
 Invoice Type,Factuur Type
 Invoice/Journal Voucher Details,Factuur / Journal Voucher Details
-Invoiced Amount (Exculsive Tax),Factuurbedrag ( Exculsive BTW )
+Invoiced Amount (Exculsive Tax),Factuurbedrag (excl BTW)
 Is Active,Is actief
-Is Advance,Is Advance
+Is Advance,Is voorschot
 Is Cancelled,Is Geannuleerd
 Is Carry Forward,Is Forward Carry
 Is Default,Is Standaard
 Is Encash,Is incasseren
-Is Fixed Asset Item,Is post der vaste activa
+Is Fixed Asset Item,Is Vast Activum
 Is LWP,Is LWP
-Is Opening,Is openen
+Is Opening,Opent
 Is Opening Entry,Wordt Opening Entry
 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 Stock Item,Is Stock Item
+Is Purchase Item,Is inkoopartikel
+Is Sales Item,Is verkoopartikel
+Is Service Item,Is service-artikel
+Is Stock Item,Is Voorraadartikel
 Is Sub Contracted Item,Is Sub Gecontracteerde Item
 Is Subcontracted,Wordt uitbesteed
 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
+Issue Details,Issue Details
+Issued Items Against Production Order,Uitgegeven Artikelen voor productieorder
 It can also be used to create opening stock entries and to fix stock value.,Het kan ook worden gebruikt voor het openen van de voorraad te maken en om de balans de waarde vast te stellen .
-Item,Product
-Item Advanced,Geavanceerd Product
-Item Barcode,Product Barcode
-Item Batch Nos,Product Batch Nos
-Item Code,Productcode
-Item Code > Item Group > Brand,Productcode> Product Group> Merk
-Item Code and Warehouse should already exist.,Product Code en Magazijn moet al bestaan ​​.
-Item Code cannot be changed for Serial No.,Productcode kan niet worden gewijzigd voor Serienummer
-Item Code is mandatory because Item is not automatically numbered,Productcode is verplicht omdat Item is niet automatisch genummerd
-Item Code required at Row No {0},Productcode vereist bij Rij Geen {0}
-Item Customer Detail,Product Klant Details
-Item Description,Productomschrijving
-Item Desription,Productomschrijving
-Item Details,Product Details
-Item Group,Product Groep
-Item Group Name,Product Groepsnaam
-Item Group Tree,Punt Groepsstructuur
-Item Group not mentioned in item master for item {0},Post Groep niet in punt meester genoemd voor punt {0}
-Item Groups in Details,Productgroepen in Details
-Item Image (if not slideshow),Product Afbeelding (indien niet diashow)
-Item Name,Productnaam
-Item Naming By,Productnamen door
-Item Price,Productprijs
-Item Prices,Productprijzen
-Item Quality Inspection Parameter,Item Kwaliteitscontrole Parameter
-Item Reorder,Product opnieuw ordenen
-Item Serial No,Product Serienummer
-Item Serial Nos,Product Serienummers
-Item Shortage Report,Product Tekort Report
-Item Supplier,Product Leverancier
-Item Supplier Details,Item Product Detail
-Item Tax,Item Belasting
-Item Tax Amount,Item BTW-bedrag
-Item Tax Rate,Item Belastingtarief
+Item,Artikel
+Item Advanced,Geavanceerd Artikel
+Item Barcode,Artikel Barcode
+Item Batch Nos,Artikel Batchnummers
+Item Code,Artikelcode
+Item Code > Item Group > Brand,Artikelcode > Product Groep > Merk
+Item Code and Warehouse should already exist.,Artikelcode en Magazijn moeten al bestaan.
+Item Code cannot be changed for Serial No.,Artikelcode kan niet worden gewijzigd voor Serienummer
+Item Code is mandatory because Item is not automatically numbered,Artikelcode is verplicht omdat Artikel niet automatisch is genummerd
+Item Code required at Row No {0},Artikelcode vereist bij rijnummer {0}
+Item Customer Detail,Artikel Klant Details
+Item Description,Artikelomschrijving
+Item Desription,Artikelomschrijving
+Item Details,Artikel Details
+Item Group,Artikelgroep
+Item Group Name,Artikel groepsnaam
+Item Group Tree,Artikel groepstructuur
+Item Group not mentioned in item master for item {0},Artikelgroep niet genoemd in Artikelstam voor Artikel {0}
+Item Groups in Details,Artikelgroepen in Details
+Item Image (if not slideshow),Artikel Afbeelding (indien niet diashow)
+Item Name,Artikelnaam
+Item Naming By,Artikel benoeming door
+Item Price,Artikelprijs
+Item Prices,Artikelprijzen
+Item Quality Inspection Parameter,Artikel Kwaliteitsinspectie Parameter
+Item Reorder,Artikel opnieuw ordenen
+Item Serial No,Artikel Serienummer
+Item Serial Nos,Artikel Serienummers
+Item Shortage Report,Artikel Tekort Rapport
+Item Supplier,Artikel Leverancier
+Item Supplier Details,Artikel Leverancier Details
+Item Tax,Artikel Belasting
+Item Tax Amount,Artikel BTW-bedrag
+Item Tax Rate,Artikel BTW-tarief
 Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Item Tax Rij {0} moet rekening houden met het type belasting of inkomsten of uitgaven of Chargeable
-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 Tax1,Artikel BTW1
+Item To Manufacture,Artikel te produceren
+Item UOM,Artikel Eenheid
+Item Website Specification,Artikel Website Specificatie
+Item Website Specifications,Artikel Website Specificaties
+Item Wise Tax Detail,Artikelgebaseerde BTW Details
 Item Wise Tax Detail ,Item Wise Tax Detail
-Item is required,Product is vereist
-Item is updated,Het product wordt bijgewerkt
-Item master.,Product hoofd .
-"Item must be a purchase item, as it is present in one or many Active BOMs","Het punt moet een aankoop item, als het aanwezig is in een of vele Actieve stuklijsten is"
-Item or Warehouse for row {0} does not match Material Request,Punt of Warehouse voor rij {0} komt niet overeen Materiaal Request
-Item table can not be blank,Item tabel kan niet leeg zijn
-Item to be manufactured or repacked,Item te vervaardigen of herverpakt
-Item valuation updated,Punt waardering bijgewerkt
-Item will be saved by this name in the data base.,Het punt zal worden opgeslagen met deze naam in de databank.
-Item {0} appears multiple times in Price List {1},Punt {0} verschijnt meerdere keren in prijslijst {1}
-Item {0} does not exist,Punt {0} bestaat niet
-Item {0} does not exist in the system or has expired,Punt {0} bestaat niet in het systeem of is verlopen
-Item {0} does not exist in {1} {2},Punt {0} bestaat niet in {1} {2}
-Item {0} has already been returned,Punt {0} is al teruggekeerd
-Item {0} has been entered multiple times against same operation,Punt {0} is meerdere malen opgenomen tegen dezelfde operatie
-Item {0} has been entered multiple times with same description or date,Punt {0} is meerdere keren opgenomen met dezelfde beschrijving of datum
-Item {0} has been entered multiple times with same description or date or warehouse,Punt {0} is meerdere keren opgenomen met dezelfde beschrijving of datum of magazijn
-Item {0} has been entered twice,Punt {0} is tweemaal ingevoerd
-Item {0} has reached its end of life on {1},Punt {0} heeft het einde van zijn levensduur bereikt op {1}
-Item {0} ignored since it is not a stock item,Punt {0} genegeerd omdat het niet een voorraad artikel
-Item {0} is cancelled,Punt {0} wordt geannuleerd
-Item {0} is not Purchase Item,Punt {0} is geen aankoop Item
-Item {0} is not a serialized Item,Punt {0} is geen series Item
-Item {0} is not a stock Item,Punt {0} is geen voorraad artikel
-Item {0} is not active or end of life has been reached,Punt {0} is niet actief of einde van de levensduur bereikt is
-Item {0} is not setup for Serial Nos. Check Item master,Punt {0} is niet ingesteld voor serienummers controleren Item meester
-Item {0} is not setup for Serial Nos. Column must be blank,Punt {0} is niet ingesteld voor Serial Nos kolom moet leeg zijn
-Item {0} must be Sales Item,Punt {0} moet Sales Item zijn
-Item {0} must be Sales or Service Item in {1},Punt {0} moet Sales of SERVICE in {1}
-Item {0} must be Service Item,Punt {0} moet Serviceartikelbeheer zijn
-Item {0} must be a Purchase Item,Punt {0} moet een aankoop Item zijn
-Item {0} must be a Sales Item,Punt {0} moet een Sales Item zijn
-Item {0} must be a Service Item.,Punt {0} moet een service item.
-Item {0} must be a Sub-contracted Item,Punt {0} moet een Uitbestede Item zijn
-Item {0} must be a stock Item,Punt {0} moet een voorraad artikel zijn
-Item {0} must be manufactured or sub-contracted,Punt {0} moet worden vervaardigd of uitbesteed
-Item {0} not found,Punt {0} niet gevonden
-Item {0} with Serial No {1} is already installed,Punt {0} met Serial No {1} is al geïnstalleerd
-Item {0} with same description entered twice,Punt {0} met dezelfde beschrijving tweemaal ingevoerd
-"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 Rate,Item- wise Prijslijst 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
-"Item: {0} managed batch-wise, can not be reconciled using \					Stock Reconciliation, instead use Stock Entry","Product: {0} beheerd batchgewijs, niet kan worden verzoend met behulp van \ Stock Verzoening, in plaats daarvan gebruik Stock Entry"
-Item: {0} not found in the system,Product: {0} niet gevonden in het systeem
-Items,Producten
-Items To Be Requested,Aan te vragen producten
-Items required,Benodigde producten
-"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty","Producten worden aangevraagd die ""Niet op voorraad"" 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,Producten 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
+Item is required,Artikel is vereist
+Item is updated,Het artikel is bijgewerkt
+Item master.,Artikelstam
+"Item must be a purchase item, as it is present in one or many Active BOMs","Artikel moet inkoopbaar zijn, aangezien het voorkomt in één of meerdere actieve Stuklijsten."
+Item or Warehouse for row {0} does not match Material Request,Artikel of Magazijn voor rij {0} komt niet overeen met Materiaal Aanvraag
+Item table can not be blank,Artikel tabel kan niet leeg zijn
+Item to be manufactured or repacked,Artikel te vervaardigen of herverpakken
+Item valuation updated,Artikelwaardering bijgewerkt
+Item will be saved by this name in the data base.,Het Artikel zal worden opgeslagen met deze naam in de database.
+Item {0} appears multiple times in Price List {1},Artikel {0} verschijnt meerdere keren in prijslijst {1}
+Item {0} does not exist,Artikel {0} bestaat niet
+Item {0} does not exist in the system or has expired,Artikel {0} bestaat niet in het systeem of is verlopen
+Item {0} does not exist in {1} {2},Artikel {0} bestaat niet in {1} {2}
+Item {0} has already been returned,Artikel {0} is al geretourneerd
+Item {0} has been entered multiple times against same operation,Artikel {0} is meerdere malen opgenomen tegen dezelfde operatie
+Item {0} has been entered multiple times with same description or date,Artikel {0} is meerdere keren opgenomen met dezelfde beschrijving of datum
+Item {0} has been entered multiple times with same description or date or warehouse,Artikel {0} is meerdere keren opgenomen met dezelfde beschrijving of datum of magazijn
+Item {0} has been entered twice,Artikel {0} is tweemaal ingevoerd
+Item {0} has reached its end of life on {1},Artikel {0} heeft het einde van zijn levensduur bereikt op {1}
+Item {0} ignored since it is not a stock item,Artikel {0} genegeerd omdat het niet een voorraadartikel is
+Item {0} is cancelled,Artikel {0} is geannuleerd
+Item {0} is not Purchase Item,ARtikel {0} is geen inkoopbaar artikel
+Item {0} is not a serialized Item,Artikel {0} is geen seriegebonden artikel
+Item {0} is not a stock Item,Artikel {0} is geen voorraadartikel
+Item {0} is not active or end of life has been reached,ARtikel {0} is niet actief of heeft einde levensduur bereikt
+Item {0} is not setup for Serial Nos. Check Item master,Artikel {0} is niet ingesteld voor serienummers. Controleer Artikelstam
+Item {0} is not setup for Serial Nos. Column must be blank,Artikel {0} is niet ingesteld voor serienummers. Kolom moet leeg zijn
+Item {0} must be Sales Item,Artikel {0} moet verkoopartikel zijn
+Item {0} must be Sales or Service Item in {1},Artikel {0} moet verkoop- of service-artikel zijn in {1}
+Item {0} must be Service Item,Artikel {0} moet service-artikel zijn
+Item {0} must be a Purchase Item,Artikel {0} moet een inkoopbaar artikel zijn
+Item {0} must be a Sales Item,Artikel {0} moet een verkoopbaar artikel zijn
+Item {0} must be a Service Item.,Artikel {0} moet een service-artikel zijn.
+Item {0} must be a Sub-contracted Item,Artikel {0} moet een uitbesteed artikel zijn
+Item {0} must be a stock Item,Artikel {0} moet een voorraadartikel zijn
+Item {0} must be manufactured or sub-contracted,Artikel {0} moet worden geproduceerd of uitbesteed
+Item {0} not found,Artikel {0} niet gevonden
+Item {0} with Serial No {1} is already installed,Artikel {0} met serienummer {1} is al geïnstalleerd
+Item {0} with same description entered twice,Artikel {0} met dezelfde beschrijving tweemaal ingevoerd
+"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","Artikel, Garantie, JOC (jaarlijks onderhoudscontract) details worden automatisch opgehaald wanneer Serienummer is geselecteerd."
+Item-wise Price List Rate,Artikelgebaseerde Prijslijst Tarief
+Item-wise Purchase History,Artikelgebaseerde Inkoop Geschiedenis
+Item-wise Purchase Register,Artikelgebaseerde Inkoop Register
+Item-wise Sales History,Artikelgebaseerde Verkoop Geschiedenis
+Item-wise Sales Register,Artikelgebaseerde Verkoop Register
+"Item: {0} managed batch-wise, can not be reconciled using \					Stock Reconciliation, instead use Stock Entry","Artikel: {0} batchgewijs beheerd, niet kan worden afgestemd met behulp van \ Voorraadafstemming, in plaats daarvan gebruik Voorraadinvoer"
+Item: {0} not found in the system,Artikel: {0} niet gevonden in het systeem
+Items,Artikelen
+Items To Be Requested,Aan te vragen artikelen
+Items required,Benodigde artikelen
+"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty","Artikelen die worden aangevraagd die ""Niet op voorraad"" zijn, rekening houdend met alle magazijnen op basis van verwachte aantal en minimale bestelhoeveelheid"
+Items which do not exist in Item master can also be entered on customer's request,Artikelen die niet bestaan ​​in artikelstam kunnen ook worden ingevoerd op verzoek van de klant
+Itemwise Discount,Artikelgebaseerde Korting
+Itemwise Recommended Reorder Level,Artikelgebaseerde Aanbevolen Bestelniveau
 Job Applicant,Sollicitant
 Job Opening,Vacature
 Job Profile,Functieprofiel
-Job Title,Functie
-"Job profile, qualifications required etc.","Functieprofiel , kwalificaties enz."
+Job Title,Functiebenaming
+"Job profile, qualifications required etc.","Functieprofiel, benodigde kwalificaties enz."
 Jobs Email Settings,Vacatures E-mailinstellingen
 Journal Entries,Journaalposten
-Journal Entry,Journal Entry
+Journal Entry,Journaalpost
 Journal Voucher,Journal Voucher
 Journal Voucher Detail,Journal Voucher Detail
 Journal Voucher Detail No,Journal Voucher Detail Geen
 Journal Voucher {0} does not have account {1} or already matched,Journal Voucher {0} heeft geen rekening {1} of al geëvenaard
 Journal Vouchers {0} are un-linked,Dagboek Vouchers {0} zijn niet- verbonden
 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.
-Keep it web friendly 900px (w) by 100px (h),Houd het web vriendelijk 900px ( w ) door 100px ( h )
+Keep it web friendly 900px (w) by 100px (h),Houd het web vriendelijk 900px (w) bij 100px (h)
 Key Performance Area,Key Performance Area
-Key Responsibility Area,Belangrijke verantwoordelijkheid Area
+Key Responsibility Area,Key verantwoordelijkheid Area
 Kg,kg
 LR Date,LR Datum
-LR No,LR Geen
+LR No,LR nummer
 Label,Label
 Landed Cost Item,Landed Cost Item
 Landed Cost Items,Landed Cost Items
@@ -1478,7 +1478,7 @@
 Landed Cost updated successfully,Landed Cost succesvol bijgewerkt
 Language,Taal
 Last Name,Achternaam
-Last Purchase Rate,Laatste inkoop aantal
+Last Purchase Rate,Laatste inkooptarief
 Latest,laatst
 Lead,Lead
 Lead Details,Lead Details
@@ -1489,22 +1489,22 @@
 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
-Lead must be set if Opportunity is made from Lead,Lood moet worden ingesteld als Opportunity is gemaakt van lood
+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 waarin dit artikel wordt verwacht in uw magazijn. Deze waarde wordt gebruikt in de Materiaal Aanvraag als u dit artikel daar selecteert.
+Lead Type,Lead Type
+Lead must be set if Opportunity is made from Lead,Lead moet worden ingesteld als de Opportunity is gemaakt obv een lead
 Leave Allocation,Verlof Toewijzing
 Leave Allocation Tool,Verlof Toewijzing Tool
 Leave Application,Verlofaanvraag
 Leave Approver,Verlof goedkeurder
 Leave Approvers,Verlof goedkeurders
 Leave Balance Before Application,Verlofsaldo voor aanvraag
-Leave Block List,Laat Block List
+Leave Block List,Verlof bloklijst
 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 Blocked,Verlof Geblokkeerd
 Leave Control Panel,Verlof Configuratiescherm
 Leave Encashed?,Verlof verzilverd?
 Leave Encashment Amount,Laat inning Bedrag
@@ -1513,26 +1513,26 @@
 Leave Without Pay,Onbetaald verlof
 Leave application has been approved.,Verlof aanvraag is goedgekeurd .
 Leave application has been rejected.,Verlofaanvraag is afgewezen .
-Leave approver must be one of {0},Verlof goedkeurder moet een van zijn {0}
+Leave approver must be one of {0},Verlof goedkeurder moet een zijn van {0}
 Leave blank if considered for all branches,Laat leeg indien dit voor alle vestigingen is
 Leave blank if considered for all departments,Laat leeg indien dit voor alle afdelingen is
 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 can be approved by users with Role, ""Leave Approver""",Laat kan worden goedgekeurd door gebruikers met Role: &quot;Laat Fiatteur&quot;
+"Leave can be approved by users with Role, ""Leave Approver""","Verlof kan worden goedgekeurd door gebruikers met Rol: ""Verlof Goedkeurder"""
 Leave of type {0} cannot be longer than {1},Verlof van type {0} kan niet langer zijn dan {1}
 Leaves Allocated Successfully for {0},Verlof succesvol toegewezen aan {0}
 Leaves for type {0} already allocated for Employee {1} for Fiscal Year {0},Verlof van type {0} reeds voor medewerker {1} voor het fiscale jaar {0}
-Leaves must be allocated in multiples of 0.5,"Bladeren moeten in veelvouden van 0,5 worden toegewezen"
+Leaves must be allocated in multiples of 0.5,"Verloven moeten in veelvouden van 0,5 worden toegewezen"
 Ledger,Grootboek
 Ledgers,Grootboeken
 Left,Links
 Legal,Wettelijk
 Legal Expenses,Juridische uitgaven
 Letter Head,Brief Hoofd
-Letter Heads for print templates.,Letter Heads voor print sjablonen.
+Letter Heads for print templates.,Briefhoofden voor print sjablonen.
 Level,Niveau
 Lft,Lft
-Liability,aansprakelijkheid
+Liability,Verplichting
 List a few of your customers. They could be organizations or individuals.,Lijst een paar van uw klanten. Ze kunnen organisaties of personen .
 List a few of your suppliers. They could be organizations or individuals.,Lijst een paar van uw leveranciers . Ze kunnen organisaties of personen .
 List items that form the package.,Lijst items die het pakket vormen.
@@ -1540,8 +1540,8 @@
 "List your products or services that you buy or sell. Make sure to check the Item Group, Unit of Measure and other properties when you start.",Een lijst van uw producten of diensten die u koopt of verkoopt .
 "List your tax heads (e.g. VAT, Excise; they should have unique names) and their standard rates. This will create a standard template, which you can edit and add more later.","Een lijst van uw fiscale koppen ( zoals btw , accijnzen , ze moeten unieke namen hebben ) en hun standaard tarieven."
 Loading...,Laden ...
-Loans (Liabilities),Leningen (passiva )
-Loans and Advances (Assets),Leningen en voorschotten ( Assets )
+Loans (Liabilities),Leningen (Passiva)
+Loans and Advances (Assets),Leningen en voorschotten (Activa)
 Local,Lokaal
 Login,Login
 Login with your new User ID,Log in met je nieuwe gebruikersnaam
@@ -1554,8 +1554,8 @@
 MTN Details,MTN Details
 Main,Hoofd
 Main Reports,Hoofd Rapporten
-Maintain Same Rate Throughout Sales Cycle,Onderhouden Zelfde Rate Gedurende Salescyclus
-Maintain same rate throughout purchase cycle,Handhaaf dezelfde snelheid gedurende aankoop cyclus
+Maintain Same Rate Throughout Sales Cycle,Handhaaf zelfde tarief gedurende verkoopcyclus
+Maintain same rate throughout purchase cycle,Handhaaf zelfde tarief gedurende inkoopcyclus
 Maintenance,Onderhoud
 Maintenance Date,Onderhoud Datum
 Maintenance Details,Onderhoud Details
@@ -1592,7 +1592,7 @@
 Make Payment Entry,Betalen Entry
 Make Purchase Invoice,Maak inkoopfactuur
 Make Purchase Order,Maak inkooporder
-Make Purchase Receipt,Maak Kwitantie
+Make Purchase Receipt,Maak ontvangsbevestiging
 Make Salary Slip,Maak Salarisstrook
 Make Salary Structure,Maak salarisstructuur
 Make Sales Invoice,Maak verkoopfactuur
@@ -1607,48 +1607,48 @@
 Manage cost of operations,Beheer kosten van de operaties
 Management,Beheer
 Manager,Manager
-"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
-Manufactured quantity {0} cannot be greater than planned quanitity {1} in Production Order {2},Geproduceerde hoeveelheid {0} mag niet groter zijn dan gepland quanitity {1} in productieorder {2}
+"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.","Verplicht als Voorraadartikel is ""ja"". Ook het standaard magazijn waar de gereserveerde hoeveelheid is ingesteld vanaf de verkooporder."
+Manufacture against Sales Order,Produceren tegen Verkooporder
+Manufacture/Repack,Produceren/Herverpakken
+Manufactured Qty,Geproduceerd Aantal
+Manufactured quantity will be updated in this warehouse,Geproduceerde hoeveelheid zal worden bijgewerkt in dit magazijn
+Manufactured quantity {0} cannot be greater than planned quanitity {1} in Production Order {2},Geproduceerde hoeveelheid {0} mag niet groter zijn dan geplande hoeveelheid {1} in productieorder {2}
 Manufacturer,Fabrikant
-Manufacturer Part Number,Partnummer fabrikant
+Manufacturer Part Number,Onderdeelnummer fabrikant
 Manufacturing,Productie
 Manufacturing Quantity,Productie Aantal
-Manufacturing Quantity is mandatory,Manufacturing Kwantiteit is verplicht
+Manufacturing Quantity is mandatory,Productie Aantal is verplicht
 Margin,Marge
 Marital Status,Burgerlijke staat
 Market Segment,Marktsegment
-Marketing,afzet
+Marketing,Marketing
 Marketing Expenses,marketingkosten
 Married,Getrouwd
 Mass Mailing,Mass Mailing
-Master Name,Master Naam
+Master Name,Stam naam
 Master Name is mandatory if account type is Warehouse,Master Naam is verplicht als account type Warehouse
-Master Type,Meester Soort
-Masters,Masters
+Master Type,Stam type
+Masters,Stamdata
 Match non-linked Invoices and Payments.,Match niet-gekoppelde facturen en betalingen.
-Material Issue,Materiaal Probleem
-Material Receipt,Materiaal Ontvangst
+Material Issue,Materiaal uitgifte
+Material Receipt,Materiaal ontvangst
 Material Request,"Materiaal Aanvraag
 "
 Material Request Detail No,Materiaal Aanvraag Detail nr.
 Material Request For Warehouse,Materiaal Aanvraag voor magazijn
-Material Request Item,Materiaal Aanvraag Item
-Material Request Items,Materiaal Aanvraag Items
+Material Request Item,Materiaal Aanvraag Artikel
+Material Request Items,Materiaal Aanvraag Artikelen
 Material Request No,Materiaal Aanvraag nr.
-Material Request Type,Materiaal Soort aanvraag
-Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Materiaal Aanvraag van maximaal {0} kan worden gemaakt voor item {1} tegen Verkooporder {2}
-Material Request used to make this Stock Entry,Materiaal Request gebruikt om dit Stock Entry maken
-Material Request {0} is cancelled or stopped,Materiaal aanvragen {0} wordt geannuleerd of gestopt
-Material Requests for which Supplier Quotations are not created,Materiaal Verzoeken waarvoor Leverancier Offertes worden niet gemaakt
-Material Requests {0} created,Materiaal Verzoeken {0} aangemaakt
+Material Request Type,Materiaal Aanvraag Type
+Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Materiaal Aanvraag van maximaal {0} kan worden gemaakt voor Artikel {1} tegen Verkooporder {2}
+Material Request used to make this Stock Entry,Materiaal Aanvraag is gebruikt om deze Voorraad  Entry te maken
+Material Request {0} is cancelled or stopped,Materiaal Aanvraag {0} is geannuleerd of gestopt
+Material Requests for which Supplier Quotations are not created,Materiaal Aanvragen waarvoor Leverancier Offertes niet zijn gemaakt
+Material Requests {0} created,Materiaal Aanvragen {0} aangemaakt
 Material Requirement,Material Requirement
 Material Transfer,Materiaaloverdracht
 Materials,Materieel
-Materials Required (Exploded),Benodigde materialen (Exploded)
+Materials Required (Exploded),Benodigde materialen (uitgeklapt)
 Max 5 characters,Max. 5 tekens
 Max Days Leave Allowed,Max Dagen Verlof toegestaan
 Max Discount (%),Max Korting (%)
@@ -1657,16 +1657,16 @@
 Maximum Amount,Maximum Bedrag
 Maximum allowed credit is {0} days after posting date,Maximaal toegestane krediet is {0} dagen na de boekingsdatum
 Maximum {0} rows allowed,Maximum {0} rijen toegestaan
-Maxiumm discount for Item {0} is {1}%,Maxiumm korting voor post {0} is {1} %
+Maxiumm discount for Item {0} is {1}%,Maxium korting voor artikel {0} is {1} %
 Medical,medisch
 Medium,Medium
 "Merging is only possible if following properties are same in both records. Group or Ledger, Root Type, Company",Samenvoegen is alleen mogelijk als volgende eigenschappen zijn hetzelfde in beide dossiers .
 Message,Bericht
 Message Parameter,Bericht Parameter
 Message Sent,bericht verzonden
-Message updated,bericht geactualiseerd
+Message updated,bericht bijgewerkt
 Messages,Berichten
-Messages greater than 160 characters will be split into multiple messages,Bericht van meer dan 160 tekens worden opgesplitst in meerdere mesage
+Messages greater than 160 characters will be split into multiple messages,Bericht van meer dan 160 tekens worden opgesplitst in meerdere berichten
 Middle Income,Modaal Inkomen
 Milestone,Mijlpaal
 Milestone Date,Mijlpaal Datum
@@ -1678,17 +1678,17 @@
 Minimum Amount,Minimumbedrag
 Minimum Order Qty,Minimum bestel aantal
 Minute,minuut
-Misc Details,Misc Details
+Misc Details,Div Details
 Miscellaneous Expenses,diverse kosten
 Miscelleneous,Divers
-Mobile No,Mobiel Nog geen
-Mobile No.,Mobile No
+Mobile No,Mobiel nummer
+Mobile No.,Mobiel nummer
 Mode of Payment,Wijze van betaling
 Modern,Modern
 Monday,Maandag
 Month,Maand
 Monthly,Maandelijks
-Monthly Attendance Sheet,Maandelijkse Toeschouwers Sheet
+Monthly Attendance Sheet,Maandelijkse Aanwezigheids Sheet
 Monthly Earning & Deduction,Maandelijkse Verdienen &amp; Aftrek
 Monthly Salary Register,Maandsalaris Register
 Monthly salary statement.,Maandsalaris verklaring.
@@ -1704,61 +1704,61 @@
 Music,muziek
 Must be Whole Number,Moet heel getal zijn
 Name,Naam
-Name and Description,Naam en beschrijving
-Name and Employee ID,Naam en Employee ID
-"Name of new Account. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master","Naam van de nieuwe account . Let op : Gelieve niet goed voor klanten en leveranciers te maken, worden ze automatisch gemaakt op basis van cliënt en leverancier, meester"
-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 and Description,Naam en omschrijving
+Name and Employee ID,Naam en Werknemer ID
+"Name of new Account. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master","Naam van de nieuwe rekening . Let op: Maak geen rekeningen aan voor klanten en leveranciers te maken, deze worden automatisch gemaakt in de Leverancier- en Klantenstam."
+Name of person or organization that this address belongs to.,Naam van de persoon of organisatie waartoe dit adres behoort.
+Name of the Budget Distribution,Naam van de Budget Distributie
 Naming Series,Benoemen Series
 Negative Quantity is not allowed,Negatieve Hoeveelheid is niet toegestaan
-Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},Negatieve Stock Error ( {6} ) voor post {0} in Pakhuis {1} op {2} {3} in {4} {5}
-Negative Valuation Rate is not allowed,Negatieve waardering Rate is niet toegestaan
-Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},Negatief saldo in Lot {0} voor post {1} bij Warehouse {2} op {3} {4}
+Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},Negatieve Voorraad Fout ({6}) voor Artikel {0} in Magazijn {1} op {2} {3} in {4} {5}
+Negative Valuation Rate is not allowed,Negatieve Waarderingstarief is niet toegestaan
+Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},Negatief saldo in Batch {0} voor Artikel {1} bij Magazijn {2} op {3} {4}
 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 Pay (in words) will be visible once you save the Salary Slip.,Nettoloon (in woorden) zal zichtbaar zijn zodra de Salarisstrook wordt opgeslagen.
 Net Profit / Loss,Netto winst / verlies
-Net Total,Net Total
-Net Total (Company Currency),Netto Totaal (Bedrijf Munt)
+Net Total,Netto Totaal
+Net Total (Company Currency),Netto Totaal (Bedrijfsvaluta)
 Net Weight,Netto Gewicht
-Net Weight UOM,Netto Gewicht Verpakking
-Net Weight of each Item,Netto gewicht van elk item
+Net Weight UOM,Netto Gewicht Eenheid
+Net Weight of each Item,Netto gewicht van elk Artikel
 Net pay cannot be negative,Nettoloon kan niet negatief zijn
 Never,Nooit
-New ,New 
-New Account,nieuw account
-New Account Name,Nieuw account Naam
-New BOM,Nieuwe BOM
-New Communications,Nieuwe Communications
-New Company,nieuw bedrijf
-New Cost Center,Nieuwe kostenplaats
-New Cost Center Name,Nieuwe kostenplaats Naam
-New Delivery Notes,Nieuwe Delivery Notes
+New ,Nieuw
+New Account,Nieuwe Rekening
+New Account Name,Nieuwe Rekening Naam
+New BOM,Nieuwe Eenheid
+New Communications,Nieuwe Communicatie
+New Company,Nieuw Bedrijf
+New Cost Center,Nieuwe Kostenplaats
+New Cost Center Name,Nieuwe Kostenplaats Naam
+New Delivery Notes,Nieuwe Vrachtbrief
 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 Leads,Nieuwe Leads
+New Leave Application,Nieuwe Verlofaanvraag
+New Leaves Allocated,Nieuwe Verloven Toegewezen
+New Leaves Allocated (In Days),Nieuwe Verloven Toegewezen (in dagen)
+New Material Requests,Nieuwe Materiaal Aanvragen
 New Projects,Nieuwe projecten
-New Purchase Orders,Nieuwe bestellingen
-New Purchase Receipts,Nieuwe aankoopbonnen
-New Quotations,Nieuwe Citaten
+New Purchase Orders,Nieuwe Inkooporders
+New Purchase Receipts,Nieuwe Ontvangstbevestigingen
+New Quotations,Nieuwe Offertes
 New Sales Orders,Nieuwe Verkooporders
-New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nieuwe Serienummer kunt niet Warehouse. Warehouse moet door Stock Entry of Kwitantie worden ingesteld
-New Stock Entries,Nieuwe toevoegingen aan de voorraden
-New Stock UOM,Nieuwe Voorraad Verpakking
-New Stock UOM is required,Nieuw Stock UOM nodig
-New Stock UOM must be different from current stock UOM,Nieuw Stock Verpakking moet verschillen van huidige voorraad Verpakking zijn
-New Supplier Quotations,Nieuwe leverancier Offertes
+New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nieuw Serienummer kan geen Magazijn krijgen. Magazijn moet via Voorraad Invoer of Ontvangst worden ingesteld.
+New Stock Entries,Nieuwe Voorraad Invoer
+New Stock UOM,Nieuwe Voorraad Eenheid
+New Stock UOM is required,Nieuwe Voorraad Eenheid is verplicht
+New Stock UOM must be different from current stock UOM,Nieuwe Voorraad Eenheid moet verschillen van bestaande Eenheden
+New Supplier Quotations,Nieuwe Leverancier Offertes
 New Support Tickets,Nieuwe Support Tickets
-New UOM must NOT be of type Whole Number,Nieuw Verpakking mag NIET van het type Geheel getal zijn
+New UOM must NOT be of type Whole Number,Nieuwe Eenheid mag NIET van het type Geheel getal zijn
 New Workplace,Nieuwe werkplek
 Newsletter,Nieuwsbrief
 Newsletter Content,Nieuwsbrief Inhoud
 Newsletter Status,Nieuwsbrief Status
 Newsletter has already been sent,Newsletter reeds verzonden
-"Newsletters to contacts, leads.","Nieuwsbrieven naar contacten, leidt."
-Newspaper Publishers,Newspaper Publishers
+"Newsletters to contacts, leads.","Nieuwsbrieven naar contacten, leads."
+Newspaper Publishers,Kranten Uitgeverijen
 Next,volgende
 Next Contact By,Volgende Contact Door
 Next Contact Date,Volgende Contact Datum
@@ -1767,111 +1767,111 @@
 No,Geen
 No Customer Accounts found.,Geen Customer Accounts gevonden .
 No Customer or Supplier Accounts found,Geen klant of leverancier Accounts gevonden
-No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user,Geen kosten Goedkeurders . Gelieve toewijzen ' Expense Approver ' Rol om tenminste een gebruiker
-No Item with Barcode {0},Geen Item met Barcode {0}
-No Item with Serial No {0},Geen Item met Serienummer {0}
-No Items to pack,Geen items om te pakken
-No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user,Geen Leave Goedkeurders . Gelieve ' Leave Approver ' Rol toewijzen aan tenminste een gebruiker
+No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user,Geen Kosten Goedkeurders. Wijs de rol 'Kosten Goedkeurder' toe aan tenminste één gebruiker
+No Item with Barcode {0},Geen Artikel met Barcode {0}
+No Item with Serial No {0},Geen Artikel met Serienummer {0}
+No Items to pack,Geen Artikelen om te verpakken
+No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user,Geen Verlof Goedkeurders. Wijs de rol 'Verlof Goedkeurder' toe aan tenminste één gebruiker
 No Permission,Geen toestemming
 No Production Orders created,Geen productieorders aangemaakt
-No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,Geen Leverancier Accounts gevonden . Leverancier Accounts worden geïdentificeerd op basis van 'Master Type' waarde in rekening te nemen.
+No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,Geen Leveranciersrekening gevonden. Leveranciersrekeningen worden geïdentificeerd op basis van 'Master Type' waarde in het rekening record.
 No accounting entries for the following warehouses,Geen boekingen voor de volgende magazijnen
 No addresses created,Geen adressen aangemaakt
 No contacts created,Geen contacten gemaakt
 No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template.,Geen standaard-adres Template gevonden. Maak een nieuwe van Setup> Afdrukken en Branding> Address Template.
-No default BOM exists for Item {0},Geen standaard BOM bestaat voor post {0}
+No default BOM exists for Item {0},Er bestaat geen standaard Stuklijst voor Artikel {0}
 No description given,Geen beschrijving gegeven
-No employee found,Geen enkele werknemer gevonden
-No employee found!,Geen enkele werknemer gevonden !
-No of Requested SMS,Geen van de gevraagde SMS
-No of Sent SMS,Geen van Sent SMS
-No of Visits,Geen van bezoeken
+No employee found,Geen werknemer gevonden
+No employee found!,Geen werknemer gevonden!
+No of Requested SMS,Aantal gevraagde SMS
+No of Sent SMS,Aantal gestuurde SMS
+No of Visits,Aantal bezoeken
 No permission,geen toestemming
 No record found,Geen record gevonden
 No records found in the Invoice table,Geen records gevonden in de factuur tabel
 No records found in the Payment table,Geen records gevonden in de betaling tabel
 No salary slip found for month: ,Geen loonstrook gevonden voor de maand:
-Non Profit,non Profit
-Nos,nos
+Non Profit,Non-Profit
+Nos,Nrs
 Not Active,Niet actief
 Not Applicable,Niet van toepassing
 Not Available,niet beschikbaar
 Not Billed,Niet in rekening gebracht
 Not Delivered,Niet geleverd
-Not Set,niet instellen
-Not allowed to update stock transactions older than {0},Niet toegestaan om transacties in effecten ouder dan updaten {0}
-Not authorized to edit frozen Account {0},Niet bevoegd om bevroren account bewerken {0}
-Not authroized since {0} exceeds limits,Niet authroized sinds {0} overschrijdt grenzen
+Not Set,niet ingesteld
+Not allowed to update stock transactions older than {0},Niet toegestaan om voorraadtransacties ouder dan  {0} bij te werken
+Not authorized to edit frozen Account {0},Niet bevoegd om bevroren rekening te bewerken {0}
+Not authroized since {0} exceeds limits,Niet toegestaan aangezien {0} grenzen overschrijdt
 Not permitted,niet toegestaan
-Note,Nota
+Note,Opmerking
 Note User,Opmerking Gebruiker
-"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: Due Date exceeds the allowed credit days by {0} day(s),Opmerking : Due Date overschrijdt de toegestane krediet dagen door {0} dag (en )
-Note: Email will not be sent to disabled users,Opmerking: E-mail wordt niet verzonden naar gebruikers met een handicap
-Note: Item {0} entered multiple times,Opmerking : Item {0} ingevoerd meerdere keren
-Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Let op : De betaling krijgt u geen toegang gemaakt sinds ' Cash of bankrekening ' is niet opgegeven
+"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, u moet ze handmatig verwijderen."
+"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, u moet ze handmatig verwijderen."
+Note: Due Date exceeds the allowed credit days by {0} day(s),Opmerking: Vervaldatum overschrijdt de toegestane krediettermijn met {0} dag(en)
+Note: Email will not be sent to disabled users,Opmerking: E-mail wordt niet verzonden naar uitgeschakelde gebruikers
+Note: Item {0} entered multiple times,Opmerking : Artikel {0} meerdere keren ingevoerd
+Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Opmerking: De betaling wordt niet aangemaakt, aangezien de 'Kas- of Bankrekening' niet gespecificeerd is."
 Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Opmerking : Het systeem controleert niet over- levering en overboeking voor post {0} als hoeveelheid of bedrag 0
-Note: There is not enough leave balance for Leave Type {0},Opmerking : Er is niet genoeg verlofsaldo voor Verlof type {0}
-Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Opmerking: Deze kostenplaats is een groep . Kan boekingen van groepen niet te maken.
+Note: There is not enough leave balance for Leave Type {0},Opmerking: Er is niet genoeg verlofsaldo voor Verlof type {0}
+Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Opmerking: Deze kostenplaats is een groep. Kan geen boekingen aanmaken voor groepen.
 Note: {0},Opmerking : {0}
 Notes,Opmerkingen
 Notes:,Opmerkingen:
 Nothing to request,Niets aan te vragen
-Notice (days),Notice ( dagen )
-Notification Control,Kennisgeving Controle
-Notification Email Address,Melding e-mail adres
-Notify by Email on creation of automatic Material Request,Informeer per e-mail op de creatie van automatische Materiaal Request
+Notice (days),Kennisgeving ( dagen )
+Notification Control,Notificatie Beheer
+Notification Email Address,Notificatie e-mailadres
+Notify by Email on creation of automatic Material Request,Notificeer per e-mail bij automatisch aanmaken van Materiaal Aanvraag
 Number Format,Getalnotatie
 Offer Date,Aanbieding datum
 Office,Kantoor
-Office Equipments,Office Uitrustingen
-Office Maintenance Expenses,Office onderhoudskosten
+Office Equipments,Kantoor Apparatuur
+Office Maintenance Expenses,Kantoor onderhoudskosten
 Office Rent,Kantoorhuur
 Old Parent,Oude Parent
-On Net Total,On Net Totaal
+On Net Total,Op Netto Totaal
 On Previous Row Amount,Aantal van vorige rij
 On Previous Row Total,Aantal van volgende rij
 Online Auctions,online Veilingen
-Only Leave Applications with status 'Approved' can be submitted,Alleen Laat Toepassingen met de status ' Goedgekeurd ' kunnen worden ingediend
-"Only Serial Nos with status ""Available"" can be delivered.","Alleen serienummers met de status ""Beschikbaar"" kan worden geleverd."
+Only Leave Applications with status 'Approved' can be submitted,Alleen Verlofaanvragen met de status 'Goedgekeurd' kunnen worden ingediend
+"Only Serial Nos with status ""Available"" can be delivered.","Alleen serienummers met de status ""Beschikbaar"" kunnen worden geleverd."
 Only leaf nodes are allowed in transaction,Alleen leaf nodes zijn toegestaan ​​in transactie
-Only the selected Leave Approver can submit this Leave Application,Alleen de geselecteerde Leave Approver kan deze verlofaanvraag indienen
+Only the selected Leave Approver can submit this Leave Application,Alleen de geselecteerde Verlof Goedkeurder kan deze verlofaanvraag indienen
 Open,Open
 Open Production Orders,Open productieorders
-Open Tickets,Open Kaarten
+Open Tickets,Open Tickets
 Opening (Cr),Opening ( Cr )
 Opening (Dr),Opening ( Dr )
 Opening Date,Openingsdatum
 Opening Entry,Opening Entry
 Opening Qty,Opening Aantal
-Opening Time,Opening Time
+Opening Time,Opening Tijd
 Opening Value,Opening Waarde
-Opening for a Job.,Opening voor een baan.
+Opening for a Job.,Vacature voor een baan.
 Operating Cost,Operationele kosten
 Operation Description,Operatie Beschrijving
-Operation No,Operation No
-Operation Time (mins),Operatie Tijd (min.)
-Operation {0} is repeated in Operations Table,Operatie {0} wordt herhaald in Operations Tabel
-Operation {0} not present in Operations Table,Operatie {0} niet in Operations Tabel
-Operations,Operations
-Opportunity,Kans
+Operation No,Bewerking nummer
+Operation Time (mins),Bewerking Tijd (min)
+Operation {0} is repeated in Operations Table,Bewerking {0} wordt herhaald in Bewerkingen Tabel
+Operation {0} not present in Operations Table,Bewerking {0} staat niet in Operations Tabel
+Operations,Bewerkingen
+Opportunity,Opportunity
 Opportunity Date,Opportunity Datum
 Opportunity From,Opportunity Van
-Opportunity Item,Opportunity Item
-Opportunity Items,Opportunity Items
+Opportunity Item,Opportunity Artikel
+Opportunity Items,Opportunity Artikelen
 Opportunity Lost,Opportunity Verloren
-Opportunity Type,Type functie
+Opportunity Type,Opportunity Type
 Optional. This setting will be used to filter in various transactions.,Optioneel. Deze instelling wordt gebruikt om te filteren op diverse transacties .
-Order Type,Bestel Type
-Order Type must be one of {0},Bestel Type moet een van zijn {0}
-Ordered,bestelde
+Order Type,Order Type
+Order Type must be one of {0},Order Type moet één van {0} zijn
+Ordered,Besteld
 Ordered Items To Be Billed,Bestelde artikelen te factureren
-Ordered Items To Be Delivered,Besteld te leveren zaken
-Ordered Qty,bestelde Aantal
-"Ordered Qty: Quantity ordered for purchase, but not received.","Bestelde Aantal : Aantal besteld voor aankoop , maar niet ontvangen ."
+Ordered Items To Be Delivered,Bestelde artikelen te leveren
+Ordered Qty,Besteld Aantal
+"Ordered Qty: Quantity ordered for purchase, but not received.","Besteld Aantal: Hoeveelheid ingekocht , maar niet ontvangen."
 Ordered Quantity,Bestelde hoeveelheid
-Orders released for production.,Bestellingen vrijgegeven voor productie.
+Orders released for production.,Orders vrijgegeven voor productie.
 Organization Name,Naam van de Organisatie
 Organization Profile,organisatie Profiel
 Organization branch master.,Organisatie tak meester .
@@ -1882,27 +1882,27 @@
 Out Qty,out Aantal
 Out Value,out Waarde
 Out of AMC,Uit AMC
-Out of Warranty,Out of Warranty
+Out of Warranty,Uit de garantie
 Outgoing,Uitgaande
-Outstanding Amount,Openstaande bedrag
-Outstanding for {0} cannot be less than zero ({1}),Uitstekend voor {0} mag niet kleiner zijn dan nul ( {1} )
-Overhead,Boven het hoofd
-Overheads,overheadkosten
+Outstanding Amount,Openstaand Bedrag
+Outstanding for {0} cannot be less than zero ({1}),Openstaand bedrag voor {0} mag niet kleiner zijn dan nul ({1})
+Overhead,Overhead
+Overheads,Overheadkosten
 Overlapping conditions found between:,Overlappende voorwaarden gevonden tussen :
 Overview,Overzicht
-Owned,Owned
+Owned,Eigendom
 Owner,eigenaar
 P L A - Cess Portion,PLA - Cess Portie
 PL or BS,PL of BS
-PO Date,PO Datum
-PO No,PO Geen
+PO Date,IO datum
+PO No,IO nummer
 POP3 Mail Server,POP3-e-mailserver
-POP3 Mail Settings,POP3-mailinstellingen
-POP3 mail server (e.g. pop.gmail.com),POP3-mailserver (bv pop.gmail.com)
+POP3 Mail Settings,POP3-e-mailinstellingen
+POP3 mail server (e.g. pop.gmail.com),POP3-e-mailserver (bv pop.gmail.com)
 POP3 server e.g. (pop.gmail.com),POP3-server bijvoorbeeld (pop.gmail.com)
 POS Setting,POS-instelling
-POS Setting required to make POS Entry,POS -instelling verplicht om POS Entry maken
-POS Setting {0} already created for user: {1} and company {2},POS -instelling {0} al gemaakt voor de gebruiker : {1} en {2} bedrijf
+POS Setting required to make POS Entry,POS-instelling verplicht om POS invoer te maken
+POS Setting {0} already created for user: {1} and company {2},POS-instelling {0} al gemaakt voor de gebruiker : {1} en bedrijf {2}
 POS View,POS View
 PR Detail,PR Detail
 Package Item Details,Pakket Item Details
@@ -1913,27 +1913,27 @@
 Packing Details,Details van de verpakking
 Packing List,Paklijst
 Packing Slip,Pakbon
-Packing Slip Item,Pakbon Item
-Packing Slip Items,Pakbon Items
-Packing Slip(s) cancelled,Pakbon ( s ) geannuleerd
+Packing Slip Item,Pakbon Artikel
+Packing Slip Items,Pakbon Artikelen
+Packing Slip(s) cancelled,Pakbon(en) geannuleerd
 Page Break,Pagina-einde
 Page Name,Page Name
-Paid Amount,Betaalde Bedrag
-Paid amount + Write Off Amount can not be greater than Grand Total,Betaalde bedrag + Schrijf Uit Het bedrag kan niet groter zijn dan eindtotaal worden
+Paid Amount,Betaald Bedrag
+Paid amount + Write Off Amount can not be greater than Grand Total,Betaald bedrag + Afgeschreven bedrag kan niet groter zijn dan Eindtotaal
 Pair,paar
 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 Item {0} must be not Stock Item and must be a Sales Item,Parent Item {0} mag niet Stock Item zijn en moet een Sales Item zijn
+Parent Account,Bovenliggende rekening
+Parent Cost Center,Bovenliggende kostenplaats
+Parent Customer Group,Bovenliggende klantgroep
+Parent Detail docname,Bovenliggende Detail docname
+Parent Item,Bovenliggend Artikel
+Parent Item Group,Bovenliggende Artikelgroep
+Parent Item {0} must be not Stock Item and must be a Sales Item,Bovenliggend Artikel {0} mag geen Voorraadartikel zijn en moet een Verkoopartikel zijn
 Parent Party Type,Bovenliggende partij Type
 Parent Sales Person,Parent Sales Person
-Parent Territory,Parent Territory
-Parent Website Page,Ouder Website Pagina
-Parent Website Route,Ouder Website Route
+Parent Territory,Bovenliggende Regio
+Parent Website Page,Bovenliggende Website Pagina
+Parent Website Route,Bovenliggende Website Route
 Parenttype,Parenttype
 Part-time,Deeltijds
 Partially Completed,Gedeeltelijk afgesloten
@@ -1947,178 +1947,178 @@
 Party Type,partij Type
 Party Type Name,Partij Type Naam
 Passive,Passief
-Passport Number,Nummer van het paspoort
+Passport Number,Paspoortnummer
 Password,Wachtwoord
-Pay To / Recd From,Pay To / RECD Van
+Pay To / Recd From,Betaal aan / Ontv van
 Payable,betaalbaar
 Payables,Schulden
 Payables Group,Schulden Groep
 Payment Days,Betaling Dagen
-Payment Due Date,Betaling Due Date
-Payment Period Based On Invoice Date,Betaling Periode Based On Factuurdatum
-Payment Reconciliation,Betaling Verzoening
-Payment Reconciliation Invoice,Betaling Verzoening Factuur
-Payment Reconciliation Invoices,Betaling Verzoening Facturen
-Payment Reconciliation Payment,Betaling Betaling Verzoening
-Payment Reconciliation Payments,Betaling Verzoening Betalingen
-Payment Type,betaling Type
-Payment cannot be made for empty cart,Betaling kan niet worden gemaakt van lege kar
-Payment of salary for the month {0} and year {1},Betaling van salaris voor de maand {0} en {1} jaar
+Payment Due Date,Betaling Vervaldatum
+Payment Period Based On Invoice Date,Betaling Periode gebaseerd op factuurdatum
+Payment Reconciliation,Afletteren
+Payment Reconciliation Invoice,Afletteren Factuur
+Payment Reconciliation Invoices,Afletteren Facturen
+Payment Reconciliation Payment,Afletteren Betaling
+Payment Reconciliation Payments,Afletteren Betalingen
+Payment Type,Betaling Type
+Payment cannot be made for empty cart,Betaling kan niet worden gemaakt voor een lege boodschappenmand
+Payment of salary for the month {0} and year {1},Betaling van salaris voor de maand {0} en jaar {1} 
 Payments,Betalingen
-Payments Made,Betalingen Made
+Payments Made,Betalingen gedaan
 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 Settings,payroll -instellingen
+Payroll Settings,Loonadministratie Instellingen
 Pending,In afwachting van
 Pending Amount,In afwachting van Bedrag
-Pending Items {0} updated,Wachtende items {0} bijgewerkt
-Pending Review,In afwachting Beoordeling
-Pending SO Items For Purchase Request,In afwachting van SO Artikelen te Purchase Request
+Pending Items {0} updated,Wachtende Artikelen {0} bijgewerkt
+Pending Review,In afwachting van Beoordeling
+Pending SO Items For Purchase Request,In afwachting van Verkoop Artikelen voor Inkoopaanvraag
 Pension Funds,pensioenfondsen
 Percent Complete,Percentage voltooid
 Percentage Allocation,Percentage Toewijzing
-Percentage Allocation should be equal to 100%,Percentage toewijzing moet gelijk zijn aan 100 % te zijn
-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.
+Percentage Allocation should be equal to 100%,Percentage toewijzing moet gelijk zijn aan 100%
+Percentage variation in quantity to be allowed while receiving or delivering this item.,Toegestane percentage afwijkingen in hoeveelheid te ontvangen of versturen van dit artikel.
+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 meer mag ontvangen of leveren dan de bestelde hoeveelheid. Bijvoorbeeld: Als u  100 eenheden heeft besteld en uw bandbreedte is 10% dan mag u 110 eenheden ontvangen.
 Performance appraisal.,Beoordeling van de prestaties.
 Period,periode
 Period Closing Voucher,Periode Closing Voucher
 Periodicity,Periodiciteit
-Permanent Address,Permanente Adres
-Permanent Address Is,Vast adres
+Permanent Address,Vast Adres
+Permanent Address Is,Vast Adres is
 Permission,Toestemming
 Personal,Persoonlijk
 Personal Details,Persoonlijke Gegevens
 Personal Email,Persoonlijke e-mail
-Pharmaceutical,farmaceutisch
-Pharmaceuticals,Pharmaceuticals
+Pharmaceutical,Geneesmiddel
+Pharmaceuticals,Geneesmiddelen
 Phone,Telefoon
-Phone No,Telefoon nr.
+Phone No,Telefoonnummer
 Piecework,stukwerk
 Pincode,Pincode
-Place of Issue,Plaats van uitgave
+Place of Issue,Plaats van uitgifte
 Plan for maintenance visits.,Plan voor onderhoud bezoeken.
-Planned Qty,Geplande Aantal
-"Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured.","Geplande Aantal : Aantal , waarvoor , productieorder is verhoogd , maar is in afwachting van te worden vervaardigd."
-Planned Quantity,Geplande Aantal
+Planned Qty,Gepland Aantal
+"Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured.","Gepland Aantal : Aantal waarvoor productieorder is aangemaakt, maar welke nog geproduceerd moet worden."
+Planned Quantity,Gepland Aantal
 Planning,planning
-Plant,Plant
-Plant and Machinery,Plant and Machinery
-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 SMS Settings,Werk SMS-instellingen
+Plant,Fabriek
+Plant and Machinery,Fabriek en Machinepark
+Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,"Vul de afkorting of verkorte naam zorgvuldig in, want het zal als achtervoegsel aan alle Rekeningen worden toegevoegd."
+Please Update SMS Settings,Werk SMS-instellingen bij
 Please add expense voucher details,Gelieve te voegen koste voucher informatie
 Please add to Modes of Payment from Setup.,Gelieve te voegen aan vormen van betaling van Setup.
-Please check 'Is Advance' against Account {0} if this is an advance entry.,Kijk ' Is Advance ' tegen account {0} als dit is een voorschot binnenkomst .
-Please click on 'Generate Schedule',Klik op ' Generate Schedule'
-Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Klik op ' Generate Schedule' te halen Serial No toegevoegd voor post {0}
-Please click on 'Generate Schedule' to get schedule,Klik op ' Generate Schedule' schema te krijgen
+Please check 'Is Advance' against Account {0} if this is an advance entry.,'Is voorschot' aanvinken als dit een voorschot is voor rekening {0}.
+Please click on 'Generate Schedule',Klik op 'Genereer Planning'
+Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Klik op 'Genereer Planning' om serienummer op te halen voor Artikel {0}
+Please click on 'Generate Schedule' to get schedule,Klik op 'Genereer Planning' om planning te krijgen
 Please create Customer from Lead {0},Maak Klant van Lead {0}
 Please create Salary Structure for employee {0},Maak salarisstructuur voor werknemer {0}
-Please create new account from Chart of Accounts.,Maak nieuwe account van Chart of Accounts .
-Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.,Gelieve niet Account ( Grootboeken ) te creëren voor klanten en leveranciers . Ze worden rechtstreeks vanuit de klant / leverancier- meesters.
-Please enter 'Expected Delivery Date',Vul ' Verwachte leverdatum '
-Please enter 'Is Subcontracted' as Yes or No,Vul ' Is Uitbesteed ' als Ja of Nee
-Please enter 'Repeat on Day of Month' field value,Vul de 'Repeat op de Dag van de Maand ' veldwaarde
-Please enter Account Receivable/Payable group in company master,Vul Debiteuren / Crediteuren groep in gezelschap meester
-Please enter Approving Role or Approving User,Vul Goedkeuren Rol of Goedkeuren Gebruiker
-Please enter BOM for Item {0} at row {1},Vul BOM voor post {0} op rij {1}
-Please enter Company,Vul Company
-Please enter Cost Center,Vul kostenplaats
-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 Id of this sales parson,Vul Werknemer Id van deze verkoop dominee
-Please enter Expense Account,Vul Expense Account
-Please enter Item Code to get batch no,Vul de artikelcode voor batch niet krijgen
-Please enter Item Code.,Vul Item Code .
-Please enter Item first,Gelieve eerst in Item
-Please enter Maintaince Details first,Vul Maintaince Details eerste
-Please enter Master Name once the account is created.,Vul Master Naam zodra het account is aangemaakt .
-Please enter Planned Qty for Item {0} at row {1},Vul Geplande Aantal voor post {0} op rij {1}
-Please enter Production Item first,Vul Productie Item eerste
-Please enter Purchase Receipt No to proceed,Vul Kwitantie Nee om door te gaan
-Please enter Reference date,Vul Peildatum
-Please enter Warehouse for which Material Request will be raised,Vul Warehouse waarvoor Materiaal Request zal worden verhoogd
-Please enter Write Off Account,Vul Schrijf Off account
-Please enter atleast 1 invoice in the table,Vul tenminste 1 factuur in de tabel
-Please enter company first,Gelieve eerst in bedrijf
-Please enter company name first,Vul de naam van het bedrijf voor het eerst
-Please enter default Unit of Measure,Vul Standaard meeteenheid
-Please enter default currency in Company Master,Vul de standaard valuta in Bedrijf Master
-Please enter email address,Vul het e-mailadres
-Please enter item details,Vul objectgegevens
-Please enter message before sending,Gelieve bericht voordat u
-Please enter parent account group for warehouse account,Vul ouderaccount groep voor magazijn rekening
-Please enter parent cost center,Vul ouder kostenplaats
-Please enter quantity for Item {0},Graag het aantal voor post {0}
+Please create new account from Chart of Accounts.,Maak nieuwe rekening van Rekeningschema.
+Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.,Maak GEEN rekeningen (in grootboek) aan voor klanten en leveranciers . Ze worden rechtstreeks vanuit de klant- en leverancierstam gemaakt.
+Please enter 'Expected Delivery Date',Vul 'Verwachte leverdatum' in
+Please enter 'Is Subcontracted' as Yes or No,Vul 'Is Uitbesteed' in als Ja of Nee
+Please enter 'Repeat on Day of Month' field value,Vul de 'Herhaal op dag van de maand' waarde in
+Please enter Account Receivable/Payable group in company master,Vul Debiteuren / Crediteuren groep in in bedrijfsstam
+Please enter Approving Role or Approving User,Vul de Goedkeurders Rol of Goedkeurende Gebruiker in
+Please enter BOM for Item {0} at row {1},Vul Stuklijst in voor Artikel {0} op rij {1}
+Please enter Company,Vul Bedrijf in
+Please enter Cost Center,Vul kostenplaats in
+Please enter Delivery Note No or Sales Invoice No to proceed,Vul Vrachtbriefnummer of Verkoopfactuurnummer in om door te gaan.
+Please enter Employee Id of this sales parson,Vul Werknemer Id in van deze verkoopmedewerker
+Please enter Expense Account,Vul Kostenrekening in
+Please enter Item Code to get batch no,Vul de artikelcode  in om batchnummer op te halen
+Please enter Item Code.,Vul Artikelcode in.
+Please enter Item first,Vul eerst artikel in
+Please enter Maintaince Details first,Vul eerst Onderhoudsdetails in
+Please enter Master Name once the account is created.,"Vul Master Naam in, zodra de rekening is aangemaakt ."
+Please enter Planned Qty for Item {0} at row {1},Vul Gepland Aantal in voor artikel {0} op rij {1}
+Please enter Production Item first,Vul eerst Productie Artikel in
+Please enter Purchase Receipt No to proceed,Vul Ontvangstbevestiging in om door te gaan
+Please enter Reference date,Vul Peildatum in
+Please enter Warehouse for which Material Request will be raised,Vul magazijn in waarvoor Materiaal Aanvragen zullen worden ingediend.
+Please enter Write Off Account,Voer Afschrijvingenrekening in
+Please enter atleast 1 invoice in the table,Vul tenminste 1 factuur in in de tabel
+Please enter company first,Vul aub eerst bedrijf in
+Please enter company name first,Vul aub eerst de naam van het bedrijf in
+Please enter default Unit of Measure,Vul Standaard eenheid in
+Please enter default currency in Company Master,Vul de standaard valuta in in Bedrijfsstam
+Please enter email address,Vul het e-mailadres in
+Please enter item details,Vul artikeldetails in
+Please enter message before sending,Vul bericht in alvorens te verzenden
+Please enter parent account group for warehouse account,Vul bovenliggende rekeninggroep in voor magazijn rekening
+Please enter parent cost center,Vul bovenliggende kostenplaats in
+Please enter quantity for Item {0},Vul het aantal in voor artikel {0}
 Please enter relieving date.,Vul het verlichten datum .
-Please enter sales order in the above table,Vul de verkooporder in de bovenstaande tabel
-Please enter valid Company Email,Voer geldige Company Email
-Please enter valid Email Id,Voer een geldig e Id
-Please enter valid Personal Email,Voer geldige Personal Email
-Please enter valid mobile nos,Voer geldige mobiele nos
-Please find attached Sales Invoice #{0},Gelieve in bijlage verkoopfactuur # {0}
+Please enter sales order in the above table,Vul de verkooporder in in de bovenstaande tabel
+Please enter valid Company Email,Voer geldige Bedrijfse-mail in
+Please enter valid Email Id,Voer een geldig e-mail Id in
+Please enter valid Personal Email,Voer geldige Persoonlijke E-mail in
+Please enter valid mobile nos,Voer geldige mobiele nummers in
+Please find attached Sales Invoice #{0},U vindt verkoopfactuur nummer {0} in de bijlage
 Please install dropbox python module,Installeer dropbox python module
-Please mention no of visits required,Vermeld geen bezoeken nodig
-Please pull items from Delivery Note,Gelieve te trekken items uit Delivery Note
-Please save the Newsletter before sending,Wij verzoeken u de nieuwsbrief voor het verzenden
-Please save the document before generating maintenance schedule,Bewaar het document voordat het genereren van onderhoudsschema
+Please mention no of visits required,Vermeld het benodigde aantal bezoeken
+Please pull items from Delivery Note,Haal aub artikelen uit de Vrachtbrief
+Please save the Newsletter before sending,Sla de nieuwsbrief op voor het verzenden
+Please save the document before generating maintenance schedule,Sla het document op voordat u het onderhoudsschema genereert
 Please see attachment,Zie bijlage
 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 Category first,Selecteer Categorie eerst
-Please select Charge Type first,Selecteer Charge Type eerste
+Please select Category first,Selecteer eerst een Categorie
+Please select Charge Type first,Selecteer eerst een Charge Type
 Please select Fiscal Year,Selecteer boekjaar
-Please select Group or Ledger value,Selecteer Groep of Ledger waarde
-Please select Incharge Person's name,Selecteer de naam Incharge Person's
-Please select Invoice Type and Invoice Number in atleast one row,Selecteer Factuur Type en factuurnummer in tenminste een rij
-"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM","Selecteer aub Punt waar "" Is Stock Item "" is ""Nee"" en "" Is Sales Item"" ""ja"" en er is geen andere Sales BOM"
-Please select Price List,Selecteer Prijs Lijst
-Please select Start Date and End Date for Item {0},Selecteer Start en Einddatum voor post {0}
+Please select Group or Ledger value,Selecteer Groep of Grootboek
+Please select Incharge Person's name,Selecteer de naam van de Verantwoordelijk Persoon
+Please select Invoice Type and Invoice Number in atleast one row,Selecteer factuurtype en factuurnummer in tenminste één rij
+"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM","Selecteer aub Artikel waar ""Is Voorraadartikel"" is ""Nee"" en ""Is Verkoopartikel is ""ja"" en er is geen andere Verkoop Stuklijst."
+Please select Price List,Selecteer Prijslijst
+Please select Start Date and End Date for Item {0},Selecteer Start- en Einddatum voor Artikel {0}
 Please select Time Logs.,Selecteer Time Logs.
 Please select a csv file,Selecteer een CSV-bestand
-Please select a valid csv file with data,Selecteer een geldige CSV-bestand met gegevens
+Please select a valid csv file with data,Selecteer een geldig CSV-bestand met gegevens
 Please select a value for {0} quotation_to {1},Selecteer een waarde voor {0} quotation_to {1}
-"Please select an ""Image"" first","Selecteer aub een "" beeld"" eerste"
+"Please select an ""Image"" first","Selecteer aub eerst een ""afbeelding"""
 Please select charge type first,Selecteer het type lading eerst
 Please select company first,Selecteer eerst bedrijf
 Please select company first.,Selecteer eerst bedrijf.
-Please select item code,Selecteer aub artikelcode
+Please select item code,Selecteer artikelcode
 Please select month and year,Selecteer maand en jaar
-Please select prefix first,Selecteer prefix eerste
-Please select the document type first,Selecteer het documenttype eerste
-Please select weekly off day,Selecteer wekelijkse rotdag
-Please select {0},Selecteer dan {0}
-Please select {0} first,Selecteer {0} eerste
-Please select {0} first.,Selecteer {0} eerste.
-Please set Dropbox access keys in your site config,Stel Dropbox toegang sleutels in uw site config
-Please set Google Drive access keys in {0},Stel Google Drive toegang sleutels in {0}
-Please set default Cash or Bank account in Mode of Payment {0},Stel standaard Cash of bankrekening in wijze van betaling {0}
-Please set default value {0} in Company {0},Stel standaard waarde {0} in Bedrijf {0}
-Please set {0},Stel {0}
-Please setup Employee Naming System in Human Resource > HR Settings,Gelieve setup Employee Naming System in Human Resource&gt; HR-instellingen
-Please setup numbering series for Attendance via Setup > Numbering Series,Gelieve setup nummerreeks voor het bijwonen via Setup > Nummering Series
-Please setup your chart of accounts before you start Accounting Entries,Behagen opstelling uw rekeningschema voordat u start boekingen
-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,Gelieve te specificeren Standaard valuta in Bedrijf Master en Global Defaults
-Please specify a,Geef een
-Please specify a valid 'From Case No.',Geef een geldige &#39;Van Case No&#39;
-Please specify a valid Row ID for {0} in row {1},Geef een geldig rij -ID voor {0} in rij {1}
-Please specify either Quantity or Valuation Rate or both,Specificeer ofwel Hoeveelheid of Valuation Rate of beide
-Please submit to update Leave Balance.,Gelieve te werken verlofsaldo .
+Please select prefix first,Selecteer eerst een voorvoegsel
+Please select the document type first,Selecteer eerst het documenttype
+Please select weekly off day,Selecteer wekelijkse vrije dag
+Please select {0},Selecteer {0}
+Please select {0} first,Selecteer eerst {0}
+Please select {0} first.,Selecteer eerst {0}.
+Please set Dropbox access keys in your site config,Stel Dropbox access keys in in uw site configuratie
+Please set Google Drive access keys in {0},Stel Google Drive access keys in voor {0}
+Please set default Cash or Bank account in Mode of Payment {0},Stel een standaard Kas- of Bankrekening in bij Betaalwijze {0}
+Please set default value {0} in Company {0},Stel standaard waarde {0} in voor Bedrijf {0}
+Please set {0},Stel {0} in
+Please setup Employee Naming System in Human Resource > HR Settings,Stel een Werknemer Benaming Systeem in via  Human Resources > HR-instellingen
+Please setup numbering series for Attendance via Setup > Numbering Series,Stel een nummerreeks in voor Aanwezigheid via Setup > Nummerreeksen
+Please setup your chart of accounts before you start Accounting Entries,"Stel eerst uw rekeningschema op, voordat u start met het invoeren van boekingen"
+Please specify,Specificeer
+Please specify Company,Specificeer Bedrijf
+Please specify Company to proceed,Specificeer Bedrijf om verder te gaan
+Please specify Default Currency in Company Master and Global Defaults,Specificeer een Standaard Valuta in Bedrijfsstam en Algemene Standaardwaarden
+Please specify a,Specificeer een
+Please specify a valid 'From Case No.',Geef een geldig 'Van Zaaknummer'
+Please specify a valid Row ID for {0} in row {1},Geef een geldig rij-ID voor {0} in rij {1}
+Please specify either Quantity or Valuation Rate or both,Specificeer ofwel Hoeveelheid of Waarderingstarief of beide
+Please submit to update Leave Balance.,Dien in om het verlofsaldo bij te werken.
 Plot,plot
 Plot By,plot Door
 Point of Sale,Point of Sale
 Point-of-Sale Setting,Point-of-Sale-instelling
-Post Graduate,Post Graduate
+Post Graduate,Post Doctoraal
 Postal,Post-
 Postal Expenses,portokosten
 Posting Date,Plaatsingsdatum
-Posting Time,Posting Time
-Posting date and posting time is mandatory,Boekingsdatum en detachering is verplicht
-Posting timestamp must be after {0},Posting timestamp moet na {0}
-Potential opportunities for selling.,Potentiële mogelijkheden voor de verkoop.
+Posting Time,Plaatsing Time
+Posting date and posting time is mandatory,Plaatsingsdatum en -tijd is verplicht
+Posting timestamp must be after {0},Plaatsing timestamp moet na {0} zijn
+Potential opportunities for selling.,Potentiële mogelijkheden voor verkoop.
 Preferred Billing Address,Voorkeur Factuuradres
 Preferred Shipping Address,Voorkeur verzendadres
 Prefix,Voorvoegsel
@@ -2132,156 +2132,156 @@
 Price / Discount,Prijs / Korting
 Price List,Prijslijst
 Price List Currency,Prijslijst Valuta
-Price List Currency not selected,Prijslijst Munt nog niet geselecteerd
+Price List Currency not selected,Prijslijst Valuta nog niet geselecteerd
 Price List Exchange Rate,Prijslijst Wisselkoers
 Price List Name,Prijslijst Naam
-Price List Rate,Prijslijst Prijs
-Price List Rate (Company Currency),Prijslijst Rate (Company Munt)
-Price List master.,Prijslijst meester .
-Price List must be applicable for Buying or Selling,Prijslijst moet van toepassing voor de aankoop of verkoop zijn
+Price List Rate,Prijslijst Tarief
+Price List Rate (Company Currency),Prijslijst Tarief (Bedrijfsvaluta)
+Price List master.,Prijslijst stam.
+Price List must be applicable for Buying or Selling,Prijslijst moet van toepassing zijn op Inkoop of Verkoop
 Price List not selected,Prijslijst niet geselecteerd
 Price List {0} is disabled,Prijslijst {0} is uitgeschakeld
 Price or Discount,Prijs of korting
-Pricing Rule,Pricing Rule
-Pricing Rule Help,Pricing Rule Help
-"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Pricing Rule wordt eerst geselecteerd op basis van 'Toepassen op' veld, dat kan zijn item, artikel Group of merk."
-"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Prijsstelling Regel is gemaakt om te overschrijven prijslijst / define kortingspercentage, gebaseerd op een aantal criteria."
-Pricing Rules are further filtered based on quantity.,Pricing regels worden verder gefilterd op basis van kwantiteit.
+Pricing Rule,Prijsbepalingsregel
+Pricing Rule Help,Prijsbepalingsregel Help
+"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Prijsbepalingsregel wordt eerst geselecteerd op basis van 'Toepassen op' veld, dat kan zijn artikel, artikelgroep of merk."
+"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Prijsbepalingsregel overschrijft de prijslijst / defininieer een kortingspercentage, gebaseerd op een aantal criteria."
+Pricing Rules are further filtered based on quantity.,Prijsbepalingsregels worden verder gefilterd op basis van aantal.
 Print Format Style,Print Format Style
-Print Heading,Print rubriek
+Print Heading,Print Kop
 Print Without Amount,Printen zonder Bedrag
-Print and Stationary,Print en stationaire
+Print and Stationary,Afdrukken en kantoorartikelen
 Printing and Branding,Printen en Branding
 Priority,Prioriteit
-Private Equity,private Equity
-Privilege Leave,Privilege Leave
+Private Equity,Eigen Vermogen
+Privilege Leave,Bijzonder Verlof
 Probation,proeftijd
-Process Payroll,Proces Payroll
-Produced,geproduceerd
+Process Payroll,Verwerk Salarisadministratie
+Produced,Geproduceerd
 Produced Quantity,Geproduceerd Aantal
 Product Enquiry,Product Aanvraag
 Production,productie
 Production Order,Productieorder
 Production Order status is {0},Productie Order status is {0}
-Production Order {0} must be cancelled before cancelling this Sales Order,Productie Order {0} moet worden geannuleerd voordat het annuleren van deze verkooporder
+Production Order {0} must be cancelled before cancelling this Sales Order,Productie Order {0} moet worden geannuleerd voor het annuleren van deze verkooporder
 Production Order {0} must be submitted,Productie Order {0} moet worden ingediend
 Production Orders,Productieorders
-Production Orders in Progress,Productieorders in Progress
-Production Plan Item,Productie Plan Item
-Production Plan Items,Productie Plan Items
+Production Orders in Progress,Productieorders in behandeling
+Production Plan Item,Productie Plan Artikel
+Production Plan Items,Productie Plan Artikelen
 Production Plan Sales Order,Productie Plan Verkooporder
 Production Plan Sales Orders,Productie Plan Verkooporders
 Production Planning Tool,Productie Planning Tool
 Products,producten
-"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."
-Professional Tax,Professionele Tax
-Profit and Loss,Winst-en verliesrekening
+"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 standaard zoekopdrachten. Hoe meer gewicht-leeftijd, hoe hoger het product getoond wordt in de lijst."
+Professional Tax,Beroepsgebaseerde belasting
+Profit and Loss,Winst en Verlies
 Profit and Loss Statement,Winst-en verliesrekening
 Project,Project
 Project Costing,Project Costing
 Project Details,Details van het project
-Project Manager,project Manager
-Project Milestone,Project Milestone
-Project Milestones,Project Milestones
+Project Manager,Project Manager
+Project Milestone,Project Mijlpaal
+Project Milestones,Project Mijlpalen
 Project Name,Naam van het project
 Project Start Date,Project Start Datum
 Project Type,Project Type
-Project Value,Project Value
+Project Value,Project Waarde
 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
-Project-wise data is not available for Quotation,Project - wise gegevens is niet beschikbaar voor Offerte
+Project master.,Project stam.
+Project will get saved and will be searchable with project name given,Project zal opgeslagen worden en zal doorzoekbaar zijn met de naam van het project
+Project wise Stock Tracking,Projectgebaseerde Aandelenhandel
+Project-wise data is not available for Quotation,Projectgegevens zijn niet beschikbaar voor Offertes
 Projected,verwachte
 Projected Qty,Verwachte Aantal
 Projects,Projecten
 Projects & System,Projecten & Systeem
 Prompt for Email on Submission of,Vragen om E-mail op Indiening van
-Proposal Writing,voorstel Schrijven
-Provide email id registered in company,Zorg voor e-id geregistreerd in bedrijf
+Proposal Writing,Voorstel Schrijven
+Provide email id registered in company,Zorg voor een bedrijfs e-mail ID
 Provisional Profit / Loss (Credit),Voorlopige winst / verlies (Credit)
 Public,Publiek
 Published on website at: {0},Gepubliceerd op de website op: {0}
 Publishing,Publishing
-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 / Manufacture Details,Aankoop / Productie Details
-Purchase Analytics,Aankoop Analytics
-Purchase Common,Aankoop Gemeenschappelijke
-Purchase Details,Aankoopinformatie
+Pull sales orders (pending to deliver) based on the above criteria,Haal verkooporders (in afwachting van levering) op basis van de bovengenoemde criteria
+Purchase,Inkopen
+Purchase / Manufacture Details,Inkoop / Productie Details
+Purchase Analytics,Inkoop Analyse
+Purchase Common,Inkoop Gemeenschappelijk
+Purchase Details,Inkoop Details
 Purchase Discounts,Inkoopkortingen
-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 Invoice {0} is already submitted,Purchase Invoice {0} is al ingediend
-Purchase Order,Purchase Order
-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 number required for Item {0},Purchase Order nummer nodig voor post {0}
-Purchase Order {0} is 'Stopped',"Purchase Order {0} ""Te betalen"""
-Purchase Order {0} is not submitted,Bestelling {0} is niet ingediend
+Purchase Invoice,Inkoopfactuur
+Purchase Invoice Advance,Inkoopfactuur Voorschot
+Purchase Invoice Advances,Inkoopfactuur Voorschotten
+Purchase Invoice Item,Inkoopfactuur Artikel
+Purchase Invoice Trends,Inkoopfactuur Trends
+Purchase Invoice {0} is already submitted,Inkoopfactuur {0} is al ingediend
+Purchase Order,Inkooporder
+Purchase Order Item,Inkooporder Artikel
+Purchase Order Item No,Inkooporder Artikel nr
+Purchase Order Item Supplied,Inkooporder Artikel geleverd
+Purchase Order Items,Inkooporder Artikelen
+Purchase Order Items Supplied,Inkooporder Artikelen geleverd
+Purchase Order Items To Be Billed,Inkooporder Artikelen nog te factureren
+Purchase Order Items To Be Received,Inkooporder Artikelen nog te ontvangen
+Purchase Order Message,Inkooporder Bericht
+Purchase Order Required,Inkooporder verplicht
+Purchase Order Trends,Inkooporder Trends
+Purchase Order number required for Item {0},Inkoopordernummer nodig voor Artikel {0}
+Purchase Order {0} is 'Stopped',"Inkooporder {0} is ""Gestopt"""
+Purchase Order {0} is not submitted,Inkooporder {0} is niet ingediend
 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 Receipt number required for Item {0},Aankoopbewijs nummer nodig voor post {0}
-Purchase Receipt {0} is not submitted,Aankoopbewijs {0} is niet ingediend
-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
-Purchse Order number required for Item {0},Purchse Bestelnummer vereist voor post {0}
+Purchase Receipt,Ontvangstbevestiging
+Purchase Receipt Item,Ontvangstbevestiging Artikel
+Purchase Receipt Item Supplied,Ontvangstbevestiging Artikel geleverd
+Purchase Receipt Item Supplieds,Ontvangstbevestiging Artikelen geleverd
+Purchase Receipt Items,Ontvangstbevestiging Artikelen
+Purchase Receipt Message,Ontvangstbevestiging Bericht
+Purchase Receipt No,Ontvangstbevestiging nummer
+Purchase Receipt Required,Ontvangstbevestiging Verplicht
+Purchase Receipt Trends,Ontvangstbevestiging Trends
+Purchase Receipt number required for Item {0},Ontvangstbevestiging nummer vereist voor Artikel {0}
+Purchase Receipt {0} is not submitted,Ontvangstbevestiging {0} is niet ingediend
+Purchase Register,Inkoop Register
+Purchase Return,Inkoop Retour
+Purchase Returned,Inkoop Geretourneerd
+Purchase Taxes and Charges,Inkoop belastingen en kosten
+Purchase Taxes and Charges Master,Inkoop belastingen en kosten Stam
+Purchse Order number required for Item {0},Inkoopordernummer vereist voor Artikel {0}
 Purpose,Doel
-Purpose must be one of {0},Doel moet een van zijn {0}
+Purpose must be one of {0},Doel moet één zijn van {0}
 QA Inspection,QA Inspectie
 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
+Qty as per Stock UOM,Aantal per Voorraad eenheid
 Qty to Deliver,Aantal te leveren
 Qty to Order,Aantal te bestellen
 Qty to Receive,Aantal te ontvangen
-Qty to Transfer,Aantal Transfer
+Qty to Transfer,Aantal over te boeken
 Qualification,Kwalificatie
 Quality,Kwaliteit
 Quality Inspection,Kwaliteitscontrole
-Quality Inspection Parameters,Quality Inspection Parameters
-Quality Inspection Reading,Kwaliteitscontrole Reading
-Quality Inspection Readings,Kwaliteitscontrole Lezingen
-Quality Inspection required for Item {0},Kwaliteitscontrole vereist voor item {0}
+Quality Inspection Parameters,Kwaliteitscontrole Parameters
+Quality Inspection Reading,Kwaliteitscontrole Meting
+Quality Inspection Readings,Kwaliteitscontrole Metingen
+Quality Inspection required for Item {0},Kwaliteitscontrole vereist voor Artikel {0}
 Quality Management,Quality Management
 Quantity,Hoeveelheid
 Quantity Requested for Purchase,Aantal aangevraagd voor inkoop
-Quantity and Rate,Hoeveelheid en Prijs
+Quantity and Rate,Hoeveelheid en Tarief
 Quantity and Warehouse,Hoeveelheid en magazijn
-Quantity cannot be a fraction in row {0},Hoeveelheid kan geen onderdeel zijn in rij {0}
-Quantity for Item {0} must be less than {1},Hoeveelheid voor item {0} moet kleiner zijn dan {1}
-Quantity in row {0} ({1}) must be same as manufactured quantity {2},Hoeveelheid in rij {0} ( {1} ) moet hetzelfde zijn als geproduceerde hoeveelheid {2}
-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 cannot be a fraction in row {0},Hoeveelheid moet een geheel getal zijn in rij {0}
+Quantity for Item {0} must be less than {1},Hoeveelheid voor artikel {0} moet kleiner zijn dan {1}
+Quantity in row {0} ({1}) must be same as manufactured quantity {2},Hoeveelheid in rij {0} ({1}) moet hetzelfde zijn als geproduceerde hoeveelheid {2}
+Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Hoeveelheid product verkregen na productie / herverpakken van de gegeven hoeveelheden grondstoffen
 Quantity required for Item {0} in row {1},Benodigde hoeveelheid voor item {0} in rij {1}
 Quarter,Kwartaal
-Quarterly,Driemaandelijks
+Quarterly,Kwartaal
 Quick Help,Quick Help
-Quotation,Offerte Aanvraag
-Quotation Item,Offerte Item
-Quotation Items,Offerte Items
+Quotation,Offerte
+Quotation Item,Offerte Artikel
+Quotation Items,Offerte Artikelen
 Quotation Lost Reason,Reden verlies van Offerte
 Quotation Message,Offerte Bericht
 Quotation To,Offerte Voor
@@ -2290,183 +2290,183 @@
 Quotation {0} not of type {1},Offerte {0} niet van het type {1}
 Quotations received from Suppliers.,Offertes ontvangen van leveranciers.
 Quotes to Leads or Customers.,Offertes naar leads of klanten.
-Raise Material Request when stock reaches re-order level,Raise Materiaal aanvragen bij voorraad strekt re-order niveau
+Raise Material Request when stock reaches re-order level,Maak Materiaal Aanvraag wanneer voorraad daalt tot onder het bestelniveau
 Raised By,Opgevoed door
-Raised By (Email),Verhoogde Door (E-mail)
+Raised By (Email),Opgevoerd door (E-mail)
 Random,Toeval
 Range,Reeks
 Rate,Tarief
 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
+Rate (Company Currency),Tarief (Bedrijfsvaluta)
+Rate Of Materials Based On,Prijs van materialen op basis van
+Rate and Amount,Tarief en Bedrag
+Rate at which Customer Currency is converted to customer's base currency,Koers waarmee de Klant Valuta wordt omgerekend naar de basisvaluta van de klant.
+Rate at which Price list currency is converted to company's base currency,Koers waarmee Prijslijst valuta wordt omgerekend naar de basis bedrijfsvaluta
+Rate at which Price list currency is converted to customer's base currency,Koers waarmee Prijslijst valuta wordt omgerekend naar de basisvaluta van de klant
+Rate at which customer's currency is converted to company's base currency,Koers waarmee de Klant Valuta wordt omgerekend naar de basis bedrijfsvaluta
+Rate at which supplier's currency is converted to company's base currency,Koers waarmee de leverancier valuta wordt omgerekend naar de basis bedrijfsvaluta
+Rate at which this tax is applied,Percentage waarmee deze belasting toegepast wordt
 Raw Material,grondstof
 Raw Material Item Code,Grondstof Artikelcode
 Raw Materials Supplied,Grondstoffen Geleverd
-Raw Materials Supplied Cost,Grondstoffen ingevoerd Kosten
-Raw material cannot be same as main Item,Grondstof kan niet hetzelfde zijn als belangrijkste punt zijn
-Re-Order Level,Re-Order Level
-Re-Order Qty,Re-Order Aantal
-Re-order,Re-order
+Raw Materials Supplied Cost,Grondstoffen Leveringskosten
+Raw material cannot be same as main Item,Grondstof kan niet hetzelfde zijn als hoofdartikel
+Re-Order Level,Herbestel niveau
+Re-Order Qty,Herbestel Aantal
+Re-order,Herbestellen
 Re-order Level,Re-order Level
 Re-order Qty,Re-order Aantal
 Read,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
-Real Estate,Real Estate
+Reading 1,Meting 1
+Reading 10,Meting 10
+Reading 2,Meting 2
+Reading 3,Meting 3
+Reading 4,Meting 4
+Reading 5,Meting 5
+Reading 6,Meting 6
+Reading 7,Meting 7
+Reading 8,Meting 8
+Reading 9,Meting 9
+Real Estate,Vastgoed
 Reason,Reden
 Reason for Leaving,Reden voor vertrek
 Reason for Resignation,Reden voor ontslag
 Reason for losing,Reden voor het verliezen
-Recd Quantity,RECD Aantal
-Receivable,Vorderingen
+Recd Quantity,Benodigde hoeveelheid
+Receivable,Vordering
 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,Debiteuren
 Receivables / Payables,Debiteuren / Crediteuren
-Receivables Group,Vorderingen Groep
-Received Date,Ontvangen Datum
-Received Items To Be Billed,Ontvangen items te factureren
+Receivables Group,Debiteuren Groep
+Received Date,Ontvangstdatum
+Received Items To Be Billed,Ontvangen artikelen nog te factureren
 Received Qty,Ontvangen Aantal
 Received and Accepted,Ontvangen en geaccepteerd
 Receiver List,Ontvanger Lijst
-Receiver List is empty. Please create Receiver List,Ontvanger is leeg. Maak Receiver Lijst
+Receiver List is empty. Please create Receiver List,Ontvanger Lijst is leeg. Maak Ontvanger Lijst
 Receiver Parameter,Receiver Parameter
 Recipients,Ontvangers
-Reconcile,verzoenen
-Reconciliation Data,Reconciliatiegegevens
-Reconciliation HTML,Verzoening HTML
-Reconciliation JSON,Verzoening JSON
-Record item movement.,Opnemen punt beweging.
+Reconcile,Afletteren
+Reconciliation Data,Afletteringsdata
+Reconciliation HTML,Aflettering HTML
+Reconciliation JSON,Aflettering JSON
+Record item movement.,Opnemen artikelbeweging
 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)
+Reduce Deduction for Leave Without Pay (LWP),Verminderen Aftrek voor onbetaald verlof
+Reduce Earning for Leave Without Pay (LWP),Verminderen Inkomsten voor onbetaald verlof
 Ref,Ref
 Ref Code,Ref Code
 Ref SQ,Ref SQ
-Reference,Verwijzing
-Reference #{0} dated {1},Referentie # {0} gedateerd {1}
+Reference,Referentie
+Reference #{0} dated {1},Referentie #{0} gedateerd {1}
 Reference Date,Referentie Datum
 Reference Name,Referentie Naam
-Reference No & Reference Date is required for {0},Referentienummer en referentie Datum nodig is voor {0}
-Reference No is mandatory if you entered Reference Date,Referentienummer is verplicht als je Peildatum ingevoerd
+Reference No & Reference Date is required for {0},Referentienummer en referentiedatum nodig is voor {0}
+Reference No is mandatory if you entered Reference Date,Referentienummer is verplicht als u een referentiedatum hebt ingevoerd
 Reference Number,Referentienummer
-Reference Row #,Referentie Row #
+Reference Row #,Referentie Rij #
 Refresh,Verversen
 Registration Details,Registratie Details
 Registration Info,Registratie Info
-Rejected,Verworpen
-Rejected Quantity,Rejected Aantal
+Rejected,Afgewezen
+Rejected Quantity,Afgewezen Aantal
 Rejected Serial No,Afgewezen Serienummer
-Rejected Warehouse,Afgewezen Warehouse
-Rejected Warehouse is mandatory against regected item,Verworpen Warehouse is verplicht tegen regected post
+Rejected Warehouse,Afgewezen Magazijn
+Rejected Warehouse is mandatory against regected item,Afgewezen Magazijn is verplicht bij een afgewezen Artikel.
 Relation,Relatie
-Relieving Date,Het verlichten van Datum
-Relieving Date must be greater than Date of Joining,Het verlichten Datum moet groter zijn dan Datum van Deelnemen zijn
+Relieving Date,Ontslagdatum
+Relieving Date must be greater than Date of Joining,Ontslagdatum moet groter zijn dan datum van indiensttreding
 Remark,Opmerking
 Remarks,Opmerkingen
-Remarks Custom,Opmerkingen Custom
-Rename,andere naam geven
-Rename Log,Hernoemen Inloggen
-Rename Tool,Wijzig de naam van Tool
-Rent Cost,Kosten huur
+Remarks Custom,Opmerkingen Aangepast
+Rename,Hernoemen
+Rename Log,Hernoemen Log
+Rename Tool,Hernoem Tool
+Rent Cost,Huurkosten
 Rent per hour,Huur per uur
 Rented,Verhuurd
-Repeat on Day of Month,Herhaal dit aan Dag van de maand
+Repeat on Day of Month,Herhaal dit op dag van de maand
 Replace,Vervang
-Replace Item / BOM in all BOMs,Vervang Item / BOM in alle stuklijsten
+Replace Item / BOM in all BOMs,Vervang Item / Stuklijst in alle stuklijsten
 Replied,Beantwoord
-Report Date,Verslag Datum
-Report Type,Meld Type
-Report Type is mandatory,Soort rapport is verplicht
+Report Date,Rapport datum
+Report Type,Rapport Type
+Report Type is mandatory,Rapport type is verplicht
 Reports to,Rapporteert aan
-Reqd By Date,Reqd op datum
+Reqd By Date,Benodigd op datum
 Reqd by Date,Reqd op Datum
-Request Type,Soort aanvraag
-Request for Information,Aanvraag voor informatie
-Request for purchase.,Verzoek om aankoop.
-Requested,gevraagd
-Requested For,gevraagd voor
-Requested Items To Be Ordered,Gevraagde items te bestellen
-Requested Items To Be Transferred,Gevraagde items te dragen
-Requested Qty,verzocht Aantal
-"Requested Qty: Quantity requested for purchase, but not ordered.","Aangevraagd Aantal : Aantal op aankoop, maar niet besteld."
-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.
+Request Type,Aanvraag type
+Request for Information,Informatieaanvraag
+Request for purchase.,Inkoopaanvraag
+Requested,Aangevraagd
+Requested For,Aangevraagd voor
+Requested Items To Be Ordered,Aangevraagde Artikelen in te kopen
+Requested Items To Be Transferred,Aangevraagde Artikelen over te boeken
+Requested Qty,Aangevraagde Hoeveelheid
+"Requested Qty: Quantity requested for purchase, but not ordered.","Aangevraagd Hoeveelheid: Aantal gevraagd om in te kopen, maar nog niet besteld."
+Requests for items.,Artikelaanvragen
+Required By,Benodigd op
+Required Date,Benodigd op datum
+Required Qty,Benodigde hoeveelheid
+Required only for sample item.,Alleen benodigd voor Artikelmonster.
+Required raw materials issued to the supplier for producing a sub - contracted item.,Benodigde grondstoffen uitgegeven aan de leverancier voor het produceren van een uitbesteed artikel
 Research,onderzoek
 Research & Development,Research & Development
 Researcher,onderzoeker
 Reseller,Reseller
 Reserved,gereserveerd
-Reserved Qty,Gereserveerd Aantal
-"Reserved Qty: Quantity ordered for sale, but not delivered.","Gereserveerd Aantal : Aantal besteld te koop , maar niet geleverd ."
-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
-Reserved Warehouse required for stock Item {0} in row {1},Gereserveerd Warehouse nodig voor voorraad Item {0} in rij {1}
+Reserved Qty,Gereserveerde Hoeveelheid
+"Reserved Qty: Quantity ordered for sale, but not delivered.","Gereserveerde Hoeveelheid: Aantal toegewezen aan verkoop, maar nog niet geleverd."
+Reserved Quantity,Gereserveerde Hoeveelheid
+Reserved Warehouse,Gereserveerd Magazijn
+Reserved Warehouse in Sales Order / Finished Goods Warehouse,Gereserveerd Magazijn in Verkooporder / Magazijn Gereed Product
+Reserved Warehouse is missing in Sales Order,Gereserveerd Magazijn ontbreekt in verkooporder
+Reserved Warehouse required for stock Item {0} in row {1},Gereserveerd Warehouse nodig voor voorraadartikel {0} in rij {1}
 Reserved warehouse required for stock item {0},Gereserveerd magazijn nodig voor voorraad artikel {0}
-Reserves and Surplus,Reserves en Surplus
+Reserves and Surplus,Reserves en Overschotten
 Reset Filters,Reset Filters
 Resignation Letter Date,Ontslagbrief Datum
-Resolution,Resolutie
-Resolution Date,Resolutie Datum
-Resolution Details,Resolutie Details
+Resolution,Oplossing
+Resolution Date,Oplossing Datum
+Resolution Details,Oplossing Details
 Resolved By,Opgelost door
 Rest Of The World,Rest van de Wereld
-Retail,Kleinhandel
-Retail & Wholesale,Retail & Wholesale
-Retailer,Kleinhandelaar
+Retail,Retail
+Retail & Wholesale,Retail & Groothandel
+Retailer,Retailer
 Review Date,Herzieningsdatum
 Rgt,Rgt
-Role Allowed to edit frozen stock,Rol toegestaan ​​op bevroren voorraad bewerken
-Role that is allowed to submit transactions that exceed credit limits set.,"Rol die is toegestaan ​​om transacties die kredietlimieten, te overschrijden indienen."
+Role Allowed to edit frozen stock,Rol toegestaan ​​om bevroren voorraden bewerken
+Role that is allowed to submit transactions that exceed credit limits set.,Rol welke is toegestaan ​​om transacties in te dienen die gestelde kredietlimieten overschrijden .
 Root Type,Root Type
 Root Type is mandatory,Root Type is verplicht
 Root account can not be deleted,Root-account kan niet worden verwijderd
 Root cannot be edited.,Root kan niet worden bewerkt .
-Root cannot have a parent cost center,Root kan niet een ouder kostenplaats
+Root cannot have a parent cost center,Root kan niet een bovenliggende kostenplaats hebben
 Rounded Off,afgerond
-Rounded Total,Afgeronde Totaal
-Rounded Total (Company Currency),Afgeronde Totaal (Bedrijf Munt)
+Rounded Total,Afgerond Totaal
+Rounded Total (Company Currency),Afgerond Totaal (Bedrijfsvaluta)
 Row # ,Rij #
-Row # {0}: ,Row # {0}: 
-Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,Rij # {0}: Bestelde hoeveelheid kan niet minder dan minimum afname item (gedefinieerd in punt master).
-Row #{0}: Please specify Serial No for Item {1},Rij # {0}: Geef volgnummer voor post {1}
-Row {0}: Account does not match with \						Purchase Invoice Credit To account,Rij {0}: Account komt niet overeen met \ Aankoop Factuur Credit Om rekening te houden
-Row {0}: Account does not match with \						Sales Invoice Debit To account,Rij {0}: Account komt niet overeen met \ verkoopfactuur Debit Om rekening te houden
+Row # {0}: ,Rij # {0}:
+Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,Rij #{0}: Bestelde hoeveelheid kan niet minder zijn dan minimum afname van het artikel (gedefinieerd in artikelstam).
+Row #{0}: Please specify Serial No for Item {1},Rij #{0}: Voer serienummer in voor artikel {1}
+Row {0}: Account does not match with \						Purchase Invoice Credit To account,Rij {0}: Rekening komt niet overeen met \ Inkoopfactuur Crediteren Aan rekening
+Row {0}: Account does not match with \						Sales Invoice Debit To account,Rij {0}: Rekening komt niet overeen met \ verkoopfactuur Debiteren Aan rekening
 Row {0}: Conversion Factor is mandatory,Rij {0}: Conversie Factor is verplicht
-Row {0}: Credit entry can not be linked with a Purchase Invoice,Rij {0} : Credit invoer kan niet worden gekoppeld aan een inkoopfactuur
+Row {0}: Credit entry can not be linked with a Purchase Invoice,Rij {0} : Creditering kan niet worden gekoppeld aan een inkoopfactuur
 Row {0}: Debit entry can not be linked with a Sales Invoice,Rij {0} : debitering kan niet worden gekoppeld aan een verkoopfactuur
-Row {0}: Payment amount must be less than or equals to invoice outstanding amount. Please refer Note below.,Rij {0}: Betaling bedrag moet kleiner dan of gelijk aan openstaande bedrag factureren zijn. Raadpleeg onderstaande opmerking.
+Row {0}: Payment amount must be less than or equals to invoice outstanding amount. Please refer Note below.,Rij {0}: Betaling bedrag moet kleiner dan of gelijk zijn aan openstaande factuurbedrag. Raadpleeg onderstaande opmerking.
 Row {0}: Qty is mandatory,Rij {0}: Aantal is verplicht
-"Row {0}: Qty not avalable in warehouse {1} on {2} {3}.					Available Qty: {4}, Transfer Qty: {5}","Rij {0}: Aantal niet voorraad in magazijn {1} op {2} {3}. Beschikbaar Aantal: {4}, Transfer Aantal: {5}"
+"Row {0}: Qty not avalable in warehouse {1} on {2} {3}.					Available Qty: {4}, Transfer Qty: {5}","Rij {0}: Aantal niet voorradig in magazijn {1} op {2} {3}. Beschikbaar Aantal: {4}, Verplaatsing Aantal: {5}"
 "Row {0}: To set {1} periodicity, difference between from and to date \						must be greater than or equal to {2}","Rij {0}: Voor het instellen van {1} periodiciteit, verschil tussen uit en tot op heden \ moet groter zijn dan of gelijk aan {2}"
-Row {0}:Start Date must be before End Date,Rij {0} : Start Datum moet zijn voordat Einddatum
+Row {0}:Start Date must be before End Date,Rij {0} : Start Datum moet voor Einddatum zijn
 Rules for adding shipping costs.,Regels voor het toevoegen van verzendkosten.
 Rules for applying pricing and discount.,Regels voor de toepassing van prijzen en kortingen .
-Rules to calculate shipping amount for a sale,Regels voor de scheepvaart bedrag te berekenen voor een verkoop
-S.O. No.,S.O. Nee.
+Rules to calculate shipping amount for a sale,Regels om verzendkosten te berekenen voor een verkooptransactie
+S.O. No.,VO nr
 SHE Cess on Excise,SHE Cess op Excise
 SHE Cess on Service Tax,SHE Cess op Dienst Belastingen
 SHE Cess on TDS,SHE Cess op TDS
@@ -2474,11 +2474,11 @@
 SMS Gateway URL,SMS Gateway URL
 SMS Log,SMS Log
 SMS Parameter,SMS Parameter
-SMS Sender Name,SMS Sender Name
+SMS Sender Name,SMS Afzender naam
 SMS Settings,SMS-instellingen
-SO Date,SO Datum
-SO Pending Qty,SO afwachting Aantal
-SO Qty,SO Aantal
+SO Date,VO Datum
+SO Pending Qty,VO afwachting Aantal
+SO Qty,VO Aantal
 Salary,Salaris
 Salary Information,Salaris Informatie
 Salary Manager,Salaris beheerder
@@ -2490,202 +2490,202 @@
 Salary Structure,Salarisstructuur
 Salary Structure Deduction,Salaris Structuur Aftrek
 Salary Structure Earning,Salaris Structuur Inkomen
-Salary Structure Earnings,Salaris Structuur winst
+Salary Structure Earnings,Salaris Structuur Inkomen
 Salary breakup based on Earning and Deduction.,Salaris verbreken op basis Verdienen en Aftrek.
 Salary components.,Salaris componenten.
-Salary template master.,Salaris sjabloon meester .
+Salary template master.,Salaris sjabloon stam .
 Sales,Verkoop
 Sales Analytics,Verkoop analyse
-Sales BOM,Verkoop BOM
-Sales BOM Help,Verkoop BOM Help
-Sales BOM Item,Verkoop BOM Item
-Sales BOM Items,Verkoop BOM Items
+Sales BOM,Verkoop Stuklijst
+Sales BOM Help,Verkoop Stuklijst Help
+Sales BOM Item,Verkoop Stuklijst Artikel
+Sales BOM Items,Verkoop Stuklijst Artikelen
 Sales Browser,Verkoop verkenner
 Sales Details,Verkoop Details
 Sales Discounts,Verkoop kortingen
-Sales Email Settings,Verkoop emailinstellingen
+Sales Email Settings,Verkoop e-mailinstellingen
 Sales Expenses,Verkoopkosten
-Sales Extras,Sales Extra&#39;s
-Sales Funnel,Sales Funnel
+Sales Extras,Verkoop Extra's
+Sales Funnel,Verkoop Trechter
 Sales Invoice,Verkoopfactuur
-Sales Invoice Advance,Sales Invoice Advance
-Sales Invoice Item,Verkoopfactuur Item
-Sales Invoice Items,Verkoopfactuur Items
+Sales Invoice Advance,Verkoopfactuur Voorschot
+Sales Invoice Item,Verkoopfactuur Artikel
+Sales Invoice Items,Verkoopfactuur Artikelen
 Sales Invoice Message,Verkoopfactuur bericht
 Sales Invoice No,Verkoopfactuur nr.
 Sales Invoice Trends,Verkoopfactuur Trends
-Sales Invoice {0} has already been submitted,Verkoopfactuur {0} ia al ingediend
+Sales Invoice {0} has already been submitted,Verkoopfactuur {0} is al ingediend
 Sales Invoice {0} must be cancelled before cancelling this Sales Order,Verkoopfactuur {0} moet worden geannuleerd voordat deze verkooporder kan worden geannuleerd.
 Sales Order,Verkooporder
 Sales Order Date,Verkooporder Datum
-Sales Order Item,Verkooporder Item
-Sales Order Items,Verkooporder Items
+Sales Order Item,Verkooporder Artikel
+Sales Order Items,Verkooporder Artikelen
 Sales Order Message,Verkooporder Bericht
 Sales Order No,Verkooporder nr.
 Sales Order Required,Verkooporder Vereist
 Sales Order Trends,Verkooporder Trends
-Sales Order required for Item {0},Verkooporder nodig voor item {0}
+Sales Order required for Item {0},Verkooporder nodig voor Artikel {0}
 Sales Order {0} is not submitted,Verkooporder {0} is niet ingediend
 Sales Order {0} is not valid,Verkooporder {0} is niet geldig
 Sales Order {0} is stopped,Verkooporder {0} is gestopt
 Sales Partner,Verkoop Partner
 Sales Partner Name,Verkoop Partner Naam
-Sales Partner Target,Sales Partner Target
-Sales Partners Commission,Sales Partners Commissie
+Sales Partner Target,Verkoop Partner Doel
+Sales Partners Commission,Verkoop Partners Commissie
 Sales Person,Verkoper
-Sales Person Name,Sales Person Name
+Sales Person Name,Verkoper Naam
 Sales Person Target Variance Item Group-Wise,Sales Person Doel 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 Person Targets,Verkoper Doelen
+Sales Person-wise Transaction Summary,Verkopergebaseerd Transactie Overzicht
+Sales Register,Verkoopregister
+Sales Return,Terugkerende verkoop
 Sales Returned,Terugkerende verkoop
-Sales Taxes and Charges,Verkoop en-heffingen
-Sales Taxes and Charges Master,Verkoop en-heffingen Master
+Sales Taxes and Charges,Verkoop Belasting en Kosten
+Sales Taxes and Charges Master,Verkoop Belasting en Kosten stam
 Sales Team,Verkoop Team
-Sales Team Details,Verkoops Team Details
+Sales Team Details,Verkoop Team Details
 Sales Team1,Verkoop Team1
 Sales and Purchase,Verkoop en Inkoop
 Sales campaigns.,Verkoop campagnes
 Salutation,Aanhef
-Sample Size,Steekproefomvang
+Sample Size,Monster grootte
 Sanctioned Amount,Gesanctioneerde Bedrag
 Saturday,Zaterdag
 Schedule,Plan
-Schedule Date,tijdschema
-Schedule Details,Schema Details
+Schedule Date,Plan datum
+Schedule Details,Plan details
 Scheduled,Geplande
 Scheduled Date,Geplande Datum
 Scheduled to send to {0},Gepland om te sturen naar {0}
 Scheduled to send to {0} recipients,Gepland om te sturen naar {0} ontvangers
-Scheduler Failed Events,Scheduler mislukt Evenementen
+Scheduler Failed Events,Planner mislukte Evenementen
 School/University,School / Universiteit
 Score (0-5),Score (0-5)
-Score Earned,Score Verdiende
+Score Earned,Verdiende Score 
 Score must be less than or equal to 5,Score moet lager dan of gelijk aan 5 zijn
 Scrap %,Scrap%
 Seasonality for setting budgets.,Seizoensinvloeden voor het instellen van budgetten.
 Secretary,secretaresse
-Secured Loans,Beveiligde Leningen
+Secured Loans,Veilig gestelde Leningen
 Securities & Commodity Exchanges,Securities & Commodity Exchanges
 Securities and Deposits,Effecten en deposito's
 "See ""Rate Of Materials Based On"" in Costing Section",Zie &quot;Rate Of Materials Based On&quot; in Costing Sectie
-"Select ""Yes"" for sub - contracting items",Selecteer &quot;Ja&quot; voor sub - aanbestedende artikelen
-"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 ""Yes"" for sub - contracting items","Selecteer ""Ja"" voor uitbesteedde artikelen"
+"Select ""Yes"" if this item is used for some internal purpose in your company.","Selecteer ""Ja"" als dit artikel bestemd is voor intern gebruik in uw bedrijf."
+"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Selecteer ""Ja"" als dit artikel werk representeert, zoals bijvoorbeeld trainen, ontwerpen, adviseren, etc."
+"Select ""Yes"" if you are maintaining stock of this item in your Inventory.","Selecteer ""Ja"" als u voorraad aanhoudt van dit artikel."
+"Select ""Yes"" if you supply raw materials to your supplier to manufacture this item.","Selecteer ""Ja"" als u grondstoffen aan uw leverancier levert om dit artikel te produceren."
 Select Brand...,Selecteer Merk ...
-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 Budget Distribution to unevenly distribute targets across months.,Selecteer Budget Verdeling om doelen ongelijk over maanden heen te kunnen verdelen.
+"Select Budget Distribution, if you want to track based on seasonality.",Selecteer Budget Verdeling als u seizoensinvloeden wilt kunnen bijhouden.
 Select Company...,Selecteer Bedrijf ...
 Select DocType,Selecteer DocType
 Select Fiscal Year...,Selecteer boekjaar ...
-Select Items,Selecteer Items
+Select Items,Selecteer Artikelen
 Select Project...,Selecteer Project ...
-Select Purchase Receipts,Selecteer Aankoopfacturen
+Select Purchase Receipts,Selecteer Ontvangstbevestigingen
 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 Time Logs and Submit to create a new Sales Invoice.,Selecteer Time Logs en indienen om een ​​nieuwe verkoopfactuur maken.
+Select Sales Orders from which you want to create Production Orders.,Selecteer Verkooporders op basis waarvan u Productie Orders wilt maken.
+Select Time Logs and Submit to create a new Sales Invoice.,Selecteer Tijd Logs en druk op Indienen om een ​​nieuwe verkoopfactuur maken.
 Select Transaction,Selecteer Transactie
-Select Warehouse...,Selecteer Warehouse ...
+Select Warehouse...,Selecteer Magazijn ...
 Select Your Language,Selecteer uw taal
-Select account head of the bank where cheque was deposited.,Selecteer met het hoofd van de bank waar cheque werd afgezet.
+Select account head of the bank where cheque was deposited.,Selecteer hoofdrekening van de bank waar cheque werd gedeponeerd.
 Select company name first.,Kies eerst een bedrijfsnaam.
-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 period when the invoice will be generated automatically,Selecteer de periode waarin de factuur wordt automatisch gegenereerd
-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
+Select template from which you want to get the Goals,Selecteer template van waaruit u de Doelen wilt krijgen
+Select the Employee for whom you are creating the Appraisal.,Selecteer de werknemer voor wie u de Beoordeling wilt maken.
+Select the period when the invoice will be generated automatically,Selecteer de periode waarin de factuur  automatisch wordt gegenereerd
+Select the relevant company name if you have multiple companies,Selecteer de gewenste bedrijfsnaam als u meerdere bedrijven hebt
+Select the relevant company name if you have multiple companies.,Selecteer de gewenste bedrijfsnaam als u meerdere bedrijven hebt.
+Select who you want to send this newsletter to,Selecteer de personen naar wie u deze nieuwsbrief wilt sturen
 Select your home country and check the timezone and currency.,Selecteer uw land en controleer de tijdzone en valuta .
-"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.
+"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","Door ""Ja"" te selecteren, kan dit artikel worden gebruikt in een Inkooporder en Ontvangstbewijs"
+"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","Door ""Ja"" te selecteren, kan dit artikel worden gebruikt in een Verkooporder en Vrachtbrief."
+"Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.","Door ""Ja"" te selecteren, kunt u Stuklijsten maken 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.","Door ""Ja"" te selecteren kunt u een Productie Order maken voor dit artikel."
+"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.","Door ""Ja"" te selecteren kunt u een voorkomen van dit artikel maken welke u kunt bekijken in de Serienummer Stamdata."
 Selling,Verkoop
 Selling Settings,Verkoop Instellingen
-"Selling must be checked, if Applicable For is selected as {0}","Selling moet worden gecontroleerd, indien van toepassing voor is geselecteerd als {0}"
+"Selling must be checked, if Applicable For is selected as {0}","Verkoop moet zijn aangevinkt, indien ""Van toepassing voor"" is geselecteerd als {0}"
 Send,Verstuur
-Send Autoreply,Stuur Autoreply
+Send Autoreply,Stuur Automatisch Antwoord
 Send Email,E-mail verzenden
 Send From,Stuur Van
-Send Notifications To,Meldingen verzenden naar
+Send Notifications To,Verzend Notificaties naar
 Send Now,Nu verzenden
 Send SMS,SMS versturen
 Send To,Verzenden naar
 Send To Type,Verzenden naar type
 Send mass SMS to your contacts,Stuur massa SMS naar uw contacten
-Send to this list,Stuur deze lijst
+Send to this list,Stuur naar deze lijst
 Sender Name,Naam afzender
 Sent On,Verzonden op
-Separate production order will be created for each finished good item.,Gescheiden productie order wordt aangemaakt voor elk eindproduct goed punt.
+Separate production order will be created for each finished good item.,Een aparte Productie Order zal worden aangemaakt voor elk gereed product artikel
 Serial No,Serienummer
 Serial No / Batch,Serienummer / Batch
-Serial No Details,Serial geen gegevens
-Serial No Service Contract Expiry,Serial No Service Contract Expiry
+Serial No Details,Serienummer Details
+Serial No Service Contract Expiry,Serienummer Service Contract Afloop
 Serial No Status,Serienummer Status
-Serial No Warranty Expiry,Serial Geen garantie Expiry
-Serial No is mandatory for Item {0},Serienummer is verplicht voor post {0}
+Serial No Warranty Expiry,Serienummer Garantie Afloop
+Serial No is mandatory for Item {0},Serienummer is verplicht voor Artikel {0}
 Serial No {0} created,Serienummer {0} aangemaakt
-Serial No {0} does not belong to Delivery Note {1},Serienummer {0} behoort niet tot Delivery Note {1}
-Serial No {0} does not belong to Item {1},Serienummer {0} behoort niet tot Item {1}
-Serial No {0} does not belong to Warehouse {1},Serienummer {0} behoort niet tot Warehouse {1}
+Serial No {0} does not belong to Delivery Note {1},Serienummer {0} behoort niet tot Vrachtbrief {1}
+Serial No {0} does not belong to Item {1},Serienummer {0} behoort niet tot Artikel {1}
+Serial No {0} does not belong to Warehouse {1},Serienummer {0} behoort niet tot Magazijn {1}
 Serial No {0} does not exist,Serienummer {0} bestaat niet
 Serial No {0} has already been received,Serienummer {0} is reeds ontvangen
-Serial No {0} is under maintenance contract upto {1},Serienummer {0} is onder onderhoudscontract tot {1}
+Serial No {0} is under maintenance contract upto {1},Serienummer {0} valt binnen onderhoudscontract tot {1}
 Serial No {0} is under warranty upto {1},Serienummer {0} is onder garantie tot {1}
 Serial No {0} not in stock,Serienummer {0} niet op voorraad
-Serial No {0} quantity {1} cannot be a fraction,Serienummer {0} hoeveelheid {1} kan een fractie niet
-Serial No {0} status must be 'Available' to Deliver,Serienummer {0} statuut moet 'Beschikbaar' te bezorgen
-Serial Nos Required for Serialized Item {0},Volgnummers Vereiste voor Serialized Item {0}
-Serial Number Series,Serienummer Series
-Serial number {0} entered more than once,Serienummer {0} ingevoerd meer dan eens
-Serialized Item {0} cannot be updated \					using Stock Reconciliation,Geserialiseerde Item {0} niet kan worden bijgewerkt \ met behulp van Stock Verzoening
-Series,serie
-Series List for this Transaction,Series Lijst voor deze transactie
-Series Updated,serie update
-Series Updated Successfully,Serie succesvol bijgewerkt
-Series is mandatory,Serie is verplicht
-Series {0} already used in {1},Serie {0} al gebruikt in {1}
+Serial No {0} quantity {1} cannot be a fraction,Serienummer {0} hoeveelheid {1} moet een geheel getal zijn
+Serial No {0} status must be 'Available' to Deliver,Serienummer {0} status moet 'Beschikbaar' zijn
+Serial Nos Required for Serialized Item {0},Volgnummers zijn vereist voor Seriegebonden Artikel {0}
+Serial Number Series,Serienummer Reeksen
+Serial number {0} entered more than once,Serienummer {0} meer dan eens ingevoerd
+Serialized Item {0} cannot be updated \					using Stock Reconciliation,Seriegebonden Artikel {0} kan niet worden bijgewerkt \ met behulp van Voorraad Afletteren
+Series,Reeksen
+Series List for this Transaction,Reeks voor deze transactie
+Series Updated,Reeks bijgewerkt
+Series Updated Successfully,Reeks succesvol bijgewerkt
+Series is mandatory,Reeks is verplicht
+Series {0} already used in {1},Reeks {0} al gebruikt in {1}
 Service,service
 Service Address,Service Adres
-Service Tax,Dienst Belastingen
-Services,Diensten
-Set,reeks
-"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Standaardwaarden zoals onderneming , Valuta , huidige boekjaar , etc."
+Service Tax,Service Belastingen
+Services,Services
+Set,Instellen
+"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Instellen Standaardwaarden zoals Bedrijf , Valuta , huidige boekjaar , etc."
 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 Status as Available,Stel Status als Beschikbaar
+Set Status as Available,Zet Status als Beschikbaar
 Set as Default,Instellen als standaard
-Set as Lost,Instellen als Lost
-Set prefix for numbering series on your transactions,Stel prefix voor het nummeren van serie over uw transacties
+Set as Lost,Instellen als Verloren
+Set prefix for numbering series on your transactions,Instellen voorvoegsel voor nummerreeksen voor uw transacties
 Set targets Item Group-wise for this Sales Person.,Set richt Item Group-wise voor deze verkoper.
 Setting Account Type helps in selecting this Account in transactions.,Instellen Account Type helpt bij het selecteren van deze account in transacties.
 Setting this Address Template as default as there is no other default,Dit adres Template instellen als standaard als er geen andere standaard
 Setting up...,Het opzetten ...
 Settings,Instellingen
 Settings for HR Module,Instellingen voor HR Module
-"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 Already Complete!!,Setup al voltooid !
+"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""","Instellingen om sollicitanten te extraheren uit een mailbox bijv. ""vacatures@example.com"""
+Setup,Instellingen
+Setup Already Complete!!,Installatie al voltooid !
 Setup Complete,Installatie voltooid
-Setup SMS gateway settings,Setup SMS gateway instellingen
-Setup Series,Setup-serie
-Setup Wizard,Setup Wizard
+Setup SMS gateway settings,Instellingen SMS gateway
+Setup Series,Instellen Reeksen
+Setup Wizard,Instellingen Wizard
 Setup incoming server for jobs email id. (e.g. jobs@example.com),Setup inkomende server voor banen e-id . ( b.v. jobs@example.com )
 Setup incoming server for sales email id. (e.g. sales@example.com),Setup inkomende server voor de verkoop e-id . ( b.v. sales@example.com )
 Setup incoming server for support email id. (e.g. support@example.com),Setup inkomende server voor ondersteuning e-id . ( b.v. support@example.com )
-Share,Aandeel
-Share With,Delen
+Share,Delen
+Share With,Delen met
 Shareholders Funds,eigen middelen
 Shipments to customers.,Verzendingen naar klanten.
-Shipping,Scheepvaart
-Shipping Account,Verzending account
+Shipping,Verzending
+Shipping Account,Verzending Rekening
 Shipping Address,Verzendadres
-Shipping Amount,Verzending Bedrag
-Shipping Rule,Verzending Rule
-Shipping Rule Condition,Verzending Regel Conditie
+Shipping Amount,Verzendbedrag
+Shipping Rule,Verzending Regel
+Shipping Rule Condition,Verzending Regel Voorwaarde
 Shipping Rule Conditions,Verzending Regel Voorwaarden
 Shipping Rule Label,Verzending Regel Label
 Shop,Winkelen
@@ -2694,119 +2694,119 @@
 "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 / Hide features like Serial Nos, POS etc.","Toon / verberg functies, zoals serienummers , POS etc."
 Show In Website,Toon in Website
-Show a slideshow at the top of the page,Laat een diavoorstelling aan de bovenkant van de pagina
+Show a slideshow at the top of the page,Laat een diavoorstelling zien 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
-Sick Leave,Sick Leave
+Sick Leave,Ziekteverlof
 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 unit of an Item.,Enkele eenheid van een item.
-Sit tight while your system is being setup. This may take a few moments.,Hou je vast terwijl uw systeem wordt setup. Dit kan even duren .
+Single,Enkele
+Single unit of an Item.,Enkel stuks van een artikel. 
+Sit tight while your system is being setup. This may take a few moments.,Het systeem wordt nu ingericht. Dit kan even duren.
 Slideshow,Diashow
-Soap & Detergent,Soap & Wasmiddel
+Soap & Detergent,Zeep & Wasmiddel
 Software,software
-Software Developer,software Developer
-"Sorry, Serial Nos cannot be merged","Sorry , kan de serienummers niet worden samengevoegd"
+Software Developer,Software Ontwikkelaar
+"Sorry, Serial Nos cannot be merged","Sorry , serienummers kunnen niet worden samengevoegd"
 "Sorry, companies cannot be merged","Sorry , bedrijven kunnen niet worden samengevoegd"
 Source,Bron
 Source File,Bronbestand
-Source Warehouse,Bron Warehouse
-Source and target warehouse cannot be same for row {0},Bron en doel magazijn kan niet hetzelfde zijn voor de rij {0}
+Source Warehouse,Bron Magazijn
+Source and target warehouse cannot be same for row {0},Bron- en doelmagazijn kan niet hetzelfde zijn voor de rij {0}
 Source of Funds (Liabilities),Bron van fondsen (passiva)
 Source warehouse is mandatory for row {0},Bron magazijn is verplicht voor rij {0}
 Spartan,Spartaans
-"Special Characters except ""-"" and ""/"" not allowed in naming series","Speciale tekens behalve "" - "" en "" / "" niet toegestaan ​​in het benoemen serie"
+"Special Characters except ""-"" and ""/"" not allowed in naming series","Speciale tekens behalve "" - "" en "" / "" zijn niet toegestaan ​​in het benoemen van reeksen"
 Specification Details,Specificatie Details
 Specifications,specificaties
-"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 the operations, operating cost and give a unique Operation no to your operations.","Geef de operaties , operationele kosten en geven een unieke operatie niet aan uw activiteiten ."
-Split Delivery Note into packages.,Split pakbon in pakketten.
-Sports,sport-
+"Specify a list of Territories, for which, this Price List is valid","Geef een lijst van regio's, waarvoor deze prijslijst geldig is"
+"Specify a list of Territories, for which, this Shipping Rule is valid","Geef een lijst van regio's, waarvoor dit Verzendregel geldig is"
+"Specify a list of Territories, for which, this Taxes Master is valid","Geef een lijst van regio's, waarvoor deze Belastingen Stam geldig is"
+"Specify the operations, operating cost and give a unique Operation no to your operations.","Geef de operaties, operationele kosten en geef een unieke operatienummer aan uw activiteiten ."
+Split Delivery Note into packages.,Splits Vrachtbrief in pakketten.
+Sports,Sport
 Sr,Sr
 Standard,Standaard
 Standard Buying,Standard kopen
 Standard Reports,standaard rapporten
-Standard Selling,Standaard Selling
-Standard contract terms for Sales or Purchase.,Standaard contractvoorwaarden voor Sales en Inkoop .
-Start,begin
+Standard Selling,Standaard Verkoop
+Standard contract terms for Sales or Purchase.,Standaard contractvoorwaarden voor Verkoop of Inkoop .
+Start,Start
 Start Date,Startdatum
-Start date of current invoice's period,Begindatum van de periode huidige factuur&#39;s
-Start date should be less than end date for Item {0},Startdatum moet kleiner zijn dan einddatum voor post zijn {0}
-State,Staat
+Start date of current invoice's period,Begindatum van de huidige factuurperiode
+Start date should be less than end date for Item {0},Startdatum moet kleiner zijn dan einddatum voor Artikel {0}
+State,Status
 Statement of Account,Rekeningafschrift
 Static Parameters,Statische Parameters
-Status,Staat
-Status must be one of {0},Status moet een van zijn {0}
+Status,Status
+Status must be one of {0},Status moet één zijn van {0}
 Status of {0} {1} is now {2},Status van {0} {1} is nu {2}
 Status updated to {0},Status bijgewerkt naar {0}
 Statutory info and other general information about your Supplier,Wettelijke info en andere algemene informatie over uw leverancier
 Stay Updated,Blijf op de hoogte
 Stock,Voorraad
-Stock Adjustment,Stock aanpassing
-Stock Adjustment Account,Stock Aanpassing Account
-Stock Ageing,Stock Vergrijzing
-Stock Analytics,Stock Analytics
-Stock Assets,Stock activa
-Stock Balance,Stock Balance
-Stock Entries already created for Production Order ,Stock Entries already created for Production Order 
-Stock Entry,Stock Entry
-Stock Entry Detail,Stock Entry Detail
-Stock Expenses,Stock Lasten
-Stock Frozen Upto,Stock Bevroren Tot
-Stock Ledger,Stock Ledger
-Stock Ledger Entry,Stock Ledger Entry
-Stock Ledger entries balances updated,Stock dagboekposten saldi bijgewerkt
-Stock Level,Stock Level
-Stock Liabilities,Stock Verplichtingen
-Stock Projected Qty,Verwachte voorraad Aantal
-Stock Queue (FIFO),Stock Queue (FIFO)
-Stock Received But Not Billed,Stock Ontvangen maar niet gefactureerde
-Stock Reconcilation Data,Stock Verzoening gegevens
-Stock Reconcilation Template,Stock Verzoening Template
-Stock Reconciliation,Stock Verzoening
+Stock Adjustment,Voorraad aanpassing
+Stock Adjustment Account,Voorraad Aanpassing Rekening
+Stock Ageing,Voorraad Veroudering
+Stock Analytics,Voorraad Analyses
+Stock Assets,Voorraad Activa
+Stock Balance,Voorraad Saldo
+Stock Entries already created for Production Order ,Voorraadtransacties al aangemaakt voor Productie Order
+Stock Entry,Voorraadtransactie
+Stock Entry Detail,Voorraadtransactie Detail
+Stock Expenses,Voorraadkosten
+Stock Frozen Upto,Voorraad Bevroren Tot
+Stock Ledger,Voorraad Dagboek
+Stock Ledger Entry,Voorraad Dagboek post
+Stock Ledger entries balances updated,Voorraad Dagboek saldi bijgewerkt
+Stock Level,Voorraad Niveau
+Stock Liabilities,Voorraad Verplichtingen
+Stock Projected Qty,Verwachte voorraad hoeveelheid
+Stock Queue (FIFO),Voorraad rij (FIFO)
+Stock Received But Not Billed,Voorraad ontvangen maar nog niet gefactureerd
+Stock Reconcilation Data,Voorraad Afletter Data
+Stock Reconcilation Template,Voorraad Afletter Sjabloon
+Stock Reconciliation,Voorraad Aflettering
 "Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory.","Stock Verzoening kan worden gebruikt om de voorraad bij te werken op een bepaalde datum , meestal als per fysieke inventaris ."
-Stock Settings,Stock Instellingen
-Stock UOM,Stock Verpakking
-Stock UOM Replace Utility,Stock Verpakking Vervang Utility
-Stock UOM updatd for Item {0},Stock Verpakking updatd voor post {0}
+Stock Settings,Voorraad Instellingen
+Stock UOM,Voorraad Eenheid
+Stock UOM Replace Utility,Voorraad Eenheid Vervang Utility
+Stock UOM updatd for Item {0},Voorraad Eenheid bijgewerkt voor Artikel {0}
 Stock Uom,Stock Verpakking
-Stock Value,Stock Waarde
-Stock Value Difference,Stock Waarde Verschil
-Stock balances updated,Stock saldi bijgewerkt
-Stock cannot be updated against Delivery Note {0},Voorraad kan niet worden bijgewerkt tegen Delivery Note {0}
-Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name',Stock inzendingen bestaan ​​tegen magazijn {0} kan niet opnieuw toewijzen of wijzigen 'Master Naam'
-Stock transactions before {0} are frozen,Aandelentransacties voor {0} zijn bevroren
+Stock Value,Voorraad Waarde
+Stock Value Difference,Voorraad Waarde Verschil
+Stock balances updated,Voorraad Balansen bijgewerkt
+Stock cannot be updated against Delivery Note {0},Voorraad kan niet worden bijgewerkt obv Vrachtbrief {0}
+Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name',Er zijn voorraadtransacties in magazijn {0} kan'Stam Naam' niet opnieuw toewijzen of wijzigen 
+Stock transactions before {0} are frozen,Voorraadtransacties voor {0} zijn bevroren
 Stop,Stop
 Stop Birthday Reminders,Stop verjaardagsherinneringen
-Stop Material Request,Stop Materiaal Request
-Stop users from making Leave Applications on following days.,Stop gebruikers van het maken van verlofaanvragen op de volgende dagen.
+Stop Material Request,Stop Materiaal Aanvraag
+Stop users from making Leave Applications on following days.,Weerhoud gebruikers van het maken van verlofaanvragen op de volgende dagen.
 Stop!,Stop!
 Stopped,Gestopt
-Stopped order cannot be cancelled. Unstop to cancel.,Gestopt bestelling kan niet worden geannuleerd . Opendraaien om te annuleren .
-Stores,winkel
-Stub,stomp
-Sub Assemblies,sub Assemblies
+Stopped order cannot be cancelled. Unstop to cancel.,Gestopte order kan niet worden geannuleerd. Terugdraaien om te annuleren .
+Stores,Winkels
+Stub,Aanzet
+Sub Assemblies,Uitbesteed werk
 "Sub-currency. For e.g. ""Cent""",Sub-valuta. Voor bijvoorbeeld &quot;Cent&quot;
 Subcontract,Subcontract
 Subject,Onderwerp
-Submit Salary Slip,Indienen loonstrook
-Submit all salary slips for the above selected criteria,Gelieve alle loonstroken voor de bovenstaande geselecteerde criteria
-Submit this Production Order for further processing.,Submit deze productieorder voor verdere verwerking .
-Submitted,Ingezonden
+Submit Salary Slip,Indienen salarisstrook
+Submit all salary slips for the above selected criteria,Dien alle salarisstroken in voor de bovenstaande geselecteerde criteria
+Submit this Production Order for further processing.,Dien deze productieorder in voor verdere verwerking .
+Submitted,Ingediend
 Subsidiary,Dochteronderneming
 Successful: ,Succesvol:
-Successfully Reconciled,Succes Reconciled
-Suggestions,Tips
+Successfully Reconciled,Succesvol Afgeletterd
+Suggestions,Suggesties
 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 > Supplier Type,Leveranciers> Leverancier Type
-Supplier Account Head,Leverancier Account Head
+Supplier (Payable) Account,Leverancier (te betalen) rekening
+Supplier (vendor) name as entered in supplier master,Leveranciersnaam zoals deze voorkomt in de Leverancier Stam.
+Supplier > Supplier Type,Leverancier > Leverancier Type
+Supplier Account Head,Leverancier hoofdrekening
 Supplier Address,Adres Leverancier
 Supplier Addresses and Contacts,Leverancier Adressen en Contacten
 Supplier Details,Leverancier Details
@@ -2814,35 +2814,35 @@
 Supplier Invoice Date,Factuurdatum Leverancier
 Supplier Invoice No,Factuurnr. Leverancier
 Supplier Name,Leverancier Naam
-Supplier Naming By,Leverancier Naming Door
+Supplier Naming By,Leverancier Benaming Door
 Supplier Part Number,Leverancier Onderdeelnummer
 Supplier Quotation,Leverancier Offerte
-Supplier Quotation Item,Leverancier Offerte Item
+Supplier Quotation Item,Leverancier Offerte Artikel
 Supplier Reference,Leverancier Referentie
 Supplier Type,Leverancier Type
 Supplier Type / Supplier,Leverancier Type / leverancier
-Supplier Type master.,Leverancier Type master.
-Supplier Warehouse,Leverancier Warehouse
-Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Leverancier Warehouse verplicht voor onderaannemers Kwitantie
+Supplier Type master.,Leverancier Type stam.
+Supplier Warehouse,Leverancier Magazijn
+Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Leverancier Magazijn verplicht voor uitbesteedde Ontvangstbewijs
 Supplier database.,Leverancier database.
-Supplier master.,Leverancier meester .
-Supplier warehouse where you have issued raw materials for sub - contracting,Leverancier magazijn waar u grondstoffen afgegeven voor sub - aanbestedende
-Supplier-Wise Sales Analytics,Leveranciers Wise Sales Analytics
-Support,Ondersteunen
-Support Analtyics,ondersteuning Analtyics
-Support Analytics,Ondersteuning Analytics
-Support Email,Ondersteuning E-mail
-Support Email Settings,Ondersteuning E-mailinstellingen
-Support Password,Ondersteuning Wachtwoord
-Support Ticket,Hulpaanvraag
-Support queries from customers.,Ondersteuning vragen van klanten.
+Supplier master.,Leverancier stam .
+Supplier warehouse where you have issued raw materials for sub - contracting,Leverancier magazijn waar u grondstoffen uitgegeven hebt voor uitbesteding
+Supplier-Wise Sales Analytics,Leverancier-gebaseerde Verkoop Analyse
+Support,Support
+Support Analtyics,Support Analyse
+Support Analytics,Support Analyse
+Support Email,Support E-mail
+Support Email Settings,Support E-mailinstellingen
+Support Password,Support Wachtwoord
+Support Ticket,Support Ticket
+Support queries from customers.,Support vragen van klanten.
 Symbol,Symbool
-Sync Support Mails,Sync Ondersteuning Mails
+Sync Support Mails,Sync Support Mails
 Sync with Dropbox,Synchroniseren met Dropbox
 Sync with Google Drive,Synchroniseren met Google Drive
 System,Systeem
 System Settings,Systeeminstellingen
-"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 User (login) ID. If set, it will become default for all HR forms.","Systeemgebruiker (login) ID. Indien ingesteld, zal het de standaard worden voor alle HR-formulieren."
 TDS (Advertisement),TDS (Advertentie)
 TDS (Commission),TDS (Commissie)
 TDS (Contractor),TDS (Aannemer)
@@ -2851,306 +2851,306 @@
 TDS (Salary),TDS (Salaris)
 Target  Amount,Streefbedrag
 Target Detail,Doel Detail
-Target Details,Target Details
-Target Details1,Target Details1
-Target Distribution,Target Distributie
-Target On,Target On
-Target Qty,Target Aantal
-Target Warehouse,Target Warehouse
+Target Details,Doel Details
+Target Details1,Doel Details1
+Target Distribution,Doel Distributie
+Target On,Doel op
+Target Qty,Doel Aantal
+Target Warehouse,Doel Magazijn
 Target warehouse in row {0} must be same as Production Order,Doel magazijn in rij {0} moet hetzelfde zijn als productieorder
 Target warehouse is mandatory for row {0},Doel magazijn is verplicht voor rij {0}
 Task,Taak
 Task Details,Taak Details
-Tasks,taken
+Tasks,Taken
 Tax,Belasting
-Tax Amount After Discount Amount,Tax bedrag na korting Bedrag
+Tax Amount After Discount Amount,Belasting bedrag na korting
 Tax Assets,belastingvorderingen
-Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items,Fiscale categorie kan ' Valuation ' of ' Valuation en Total ' als alle items zijn niet-voorraadartikelen niet
+Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items,Belastingcategorie kan niet 'Waardering' of 'Waardering en Totaal' zijn als geen van de artikelen voorraadartikelen zijn
 Tax Rate,Belastingtarief
-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,Tax detail tafel haalde van post meester als een string en opgeslagen in dit gebied. Gebruikt voor belastingen en-heffingen
-Tax template for buying transactions.,Belasting sjabloon voor het kopen van transacties .
-Tax template for selling transactions.,Belasting sjabloon voor de verkoop transacties.
+Tax and other salary deductions.,Belastingen en andere inhoudingen op het salaris.
+Tax detail table fetched from item master as a string and stored in this field.Used for Taxes and Charges,Belasting detail tabel van de Artikelstam als string opgehaald en opgeslagen in dit veld. Gebruikt voor 'Belastingen en Heffingen'
+Tax template for buying transactions.,Belasting sjabloon voor inkooptransacties .
+Tax template for selling transactions.,Belasting sjabloon voor verkooptransacties.
 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 Added (Company Currency),Belastingen en heffingen toegevoegd (Bedrijfsvaluta)
+Taxes and Charges Calculation,Belastingen en heffingen 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 Charges Deducted (Company Currency),Belastingen en kosten afgetrokken (Bedrijfsvaluta)
+Taxes and Charges Total,Belastingen en heffingen Totaal
+Taxes and Charges Total (Company Currency),Belastingen en heffingen Totaal (Bedrijfsvaluta)
 Technology,technologie
 Telecommunications,telecommunicatie
 Telephone Expenses,telefoonkosten
 Television,televisie
 Template,Sjabloon
 Template for performance appraisals.,Sjabloon voor functioneringsgesprekken .
-Template of terms or contract.,Sjabloon van termen of contract.
-Temporary Accounts (Assets),Tijdelijke Accounts ( Activa )
-Temporary Accounts (Liabilities),Tijdelijke rekeningen ( passiva )
-Temporary Assets,tijdelijke activa
-Temporary Liabilities,tijdelijke Verplichtingen
-Term Details,Term Details
+Template of terms or contract.,Sjabloon voor contractvoorwaarden
+Temporary Accounts (Assets),Tijdelijke Rekeningen ( Activa )
+Temporary Accounts (Liabilities),Tijdelijke Rekeningen ( Passiva )
+Temporary Assets,Tijdelijke Activa
+Temporary Liabilities,Tijdelijke Passiva
+Term Details,Voorwaarde Details
 Terms,Voorwaarden
 Terms and Conditions,Algemene Voorwaarden
-Terms and Conditions Content,Voorwaarden Inhoud
+Terms and Conditions Content,Algemene Voorwaarden Inhoud
 Terms and Conditions Details,Algemene Voorwaarden Details
 Terms and Conditions Template,Algemene voorwaarden Template
-Terms and Conditions1,Algemene Conditions1
-Terretory,terretory
-Territory,Grondgebied
-Territory / Customer,Grondgebied / Klantenservice
-Territory Manager,Territory Manager
-Territory Name,Grondgebied Naam
-Territory Target Variance Item Group-Wise,Grondgebied Doel Variance Post Group - Wise
-Territory Targets,Grondgebied Doelen
+Terms and Conditions1,Algemene Voorwaarden1
+Terretory,Regio
+Territory,Regio
+Territory / Customer,Regio / Klantenservice
+Territory Manager,Regio Manager
+Territory Name,Regio Naam
+Territory Target Variance Item Group-Wise,Regio Doel Variance Artikel Groepsgewijs
+Territory Targets,Regio Doelen
 Test,Test
-Test Email Id,Test E-mail Identiteitskaart
+Test Email Id,Test E-mail ID
 Test the Newsletter,Test de nieuwsbrief
-The BOM which will be replaced,De BOM die zal worden vervangen
-The First User: You,De eerste gebruiker : U
-"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 Organization,de Organisatie
-"The account head under Liability, in which Profit/Loss will be booked","De rekening hoofd onder Aansprakelijkheid , waarin Winst / verlies zal worden geboekt"
-The date on which next invoice will be generated. It is generated on submit.,De datum waarop de volgende factuur wordt gegenereerd. Het wordt geproduceerd 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 day(s) on which you are applying for leave are holiday. You need not apply for leave.,De dag (en ) waarop je solliciteert verlof zijn vakantie . Je hoeft niet voor verlof .
-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 first user will become the System Manager (you can change that later).,De eerste gebruiker zal de System Manager te worden (u kunt dat later wijzigen ) .
+The BOM which will be replaced,De Stuklijst die zal worden vervangen
+The First User: You,De eerste gebruiker: U
+"The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes""","Het Artikel dat het Pakket vertegenwoordigt. Dit artikel moet gedefinieerd zijn als ""Is Voorraad Artikel"" = ""Nee"" en ""Is Verkoop Artikel"" = ""Ja"""
+The Organization,De Organisatie
+"The account head under Liability, in which Profit/Loss will be booked","De hoofdrekening onder Passiva, waarin Winst of Verlies zal worden geboekt"
+The date on which next invoice will be generated. It is generated on submit.,De datum waarop de volgende factuur wordt gegenereerd. Deze wordt bij Indienen gegenereerd.
+The date on which recurring invoice will be stop,De datum waarop terugkerende factuur stopt
+"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 bijv. 05, 28 etc"
+The day(s) on which you are applying for leave are holiday. You need not apply for leave.,De dag(en) waarvoor je verlof aanvraagt zijn feestdagen. Hier hoef je niet voor aan te vragen.
+The first Leave Approver in the list will be set as the default Leave Approver,De eerste Verlofgoedkeurder in de lijst wordt als de standaard Verlofgoedkeurder ingesteld
+The first user will become the System Manager (you can change that later).,De eerste gebruiker zal de System Manager worden (u kunt dit later wijzigen).
 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 for which you are setting up this system.,De naam van uw bedrijf waar u het opzetten van dit systeem .
-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 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 Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Dan prijsregels worden uitgefilterd op basis van Klant, Customer Group, Territory, Leverancier, Leverancier Type, Campagne, Sales Partner etc."
+The name of your company for which you are setting up this system.,De naam van uw bedrijf waar u het systeem voor op zet.
+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 de artikelen)
+The new BOM after replacement,De nieuwe Stuklijst na vervanging
+The rate at which Bill Currency is converted into company's base currency,De koers waarmee Factuur valuta wordt omgezet in de bedrijfs basisvaluta
+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 gegenereerd bij het indienen.
+"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Dan worden prijsregels uitgefilterd op basis van Klant, Klantgroep, Regio,  Leverancier, Leverancier Type, Campagne, Verkooppartner, etc."
 There are more holidays than working days this month.,Er zijn meer vakanties dan werkdagen deze maand .
-"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Er kan maar een Verzenden Regel Voorwaarde met 0 of blanco waarde voor ""To Value """
+"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Er kan maar één Verzendregel Voorwaarde met 0 of blanco waarde zijn voor ""To Value """
 There is not enough leave balance for Leave Type {0},Er is niet genoeg verlofsaldo voor Verlof type {0}
 There is nothing to edit.,Er is niets om te bewerken .
-There was an error. One probable reason could be that you haven't saved the form. Please contact support@erpnext.com if the problem persists.,Er is een fout opgetreden . Een mogelijke reden zou kunnen zijn dat je niet hebt opgeslagen het formulier . Neem dan contact support@erpnext.com als het probleem aanhoudt .
-There were errors.,Er waren fouten .
-This Currency is disabled. Enable to use in transactions,Deze valuta is uitgeschakeld . In staat om te gebruiken in transacties
-This Leave Application is pending approval. Only the Leave Apporver can update status.,Deze verlofaanvraag is in afwachting van goedkeuring . Alleen de Leave Apporver kan status bijwerken .
-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 {0},This Time Log in strijd is met {0}
-This format is used if country specific format is not found,Dit formaat wordt gebruikt als landspecifieke indeling niet wordt gevonden
-This is a root account and cannot be edited.,Dit is een root account en kan niet worden bewerkt .
-This is a root customer group and cannot be edited.,Dit is een wortel klantgroep en kan niet worden bewerkt .
-This is a root item group and cannot be edited.,Dit is een hoofditem groep en kan niet worden bewerkt .
-This is a root sales person and cannot be edited.,Dit is een wortel verkoper en kan niet worden bewerkt .
-This is a root territory and cannot be edited.,Dit is een wortel grondgebied en kan niet worden bewerkt .
-This is an example website auto-generated from ERPNext,Dit is een voorbeeld website automatisch gegenereerd ERPNext
+There was an error. One probable reason could be that you haven't saved the form. Please contact support@erpnext.com if the problem persists.,Er is een fout opgetreden . Een mogelijke reden zou kunnen zijn dat u het formulier niet hebt opgeslagen. Neem contact op met Support als het probleem aanhoudt .
+There were errors.,Er zijn fouten opgetreden.
+This Currency is disabled. Enable to use in transactions,Deze valuta is uitgeschakeld. Schakel het in om deze valuta te kunnen gebruiken in transacties.
+This Leave Application is pending approval. Only the Leave Apporver can update status.,Deze verlofaanvraag is in afwachting van goedkeuring. Alleen de Verlofgoedkeurder kan de status bijwerken.
+This Time Log Batch has been billed.,Deze Tijd Log Batch is gefactureerd.
+This Time Log Batch has been cancelled.,Deze Tijd Log Batch is geannuleerd.
+This Time Log conflicts with {0},Deze Tijd Log in strijd is met {0}
+This format is used if country specific format is not found,Dit formaat wordt gebruikt als landspecifiek formaat niet kan worden gevonden
+This is a root account and cannot be edited.,Dit is een basis account en kan niet worden bewerkt .
+This is a root customer group and cannot be edited.,Dit is een basis klantgroep en kan niet worden bewerkt .
+This is a root item group and cannot be edited.,Dit is een basis artikelgroep en kan niet worden bewerkt .
+This is a root sales person and cannot be edited.,Dit is een basis verkoper en kan niet worden bewerkt .
+This is a root territory and cannot be edited.,Dit is een basis regio en kan niet worden bewerkt .
+This is an example website auto-generated from ERPNext,"Dit is een voorbeeld website, automatisch gegenereerd door ERPNext"
 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 will be used for setting rule in HR module,Deze wordt gebruikt voor instelling regel HR module
 Thread HTML,Thread HTML
 Thursday,Donderdag
-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 {0} must be 'Submitted',Tijd Inloggen Batch {0} moet worden ' Ingezonden '
-Time Log Status must be Submitted.,Tijd Inloggen Status moet worden ingediend.
-Time Log for tasks.,Tijd Inloggen voor taken.
-Time Log is not billable,Time Log is niet factureerbare
-Time Log {0} must be 'Submitted',Tijd Inloggen {0} moet worden ' Ingezonden '
-Time Zone,Time Zone
+Time Log,Tijd Log
+Time Log Batch,Tijd Log Batch
+Time Log Batch Detail,Tijd Log Batch Detail
+Time Log Batch Details,Tijd Log Batch Details
+Time Log Batch {0} must be 'Submitted',Tijd Log Batch {0} moet worden 'Ingediend'
+Time Log Status must be Submitted.,Tijd Log Status moet worden ingediend.
+Time Log for tasks.,Tijd Log voor taken.
+Time Log is not billable,Tijd Log is niet factureerbaar
+Time Log {0} must be 'Submitted',Tijd Log {0} moet worden 'Ingediend'
+Time Zone,Tijdzone
 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
+Time at which items were delivered from warehouse,Tijdstip waarop artikelen werden geleverd uit magazijn
+Time at which materials were received,Tijdstip waarop materialen zijn ontvangen
 Title,Titel
-Titles for print templates e.g. Proforma Invoice.,Titels voor print templates bijv. Proforma Factuur .
+Titles for print templates e.g. Proforma Invoice.,Titels voor print sjablonen bijv. Proforma Factuur.
 To,Naar
 To Currency,Naar Valuta
-To Date,To-date houden
-To Date should be same as From Date for Half Day leave,Om datum moet dezelfde zijn als Van Datum voor halve dag verlof zijn
-To Date should be within the Fiscal Year. Assuming To Date = {0},To Date dient binnen het boekjaar. Ervan uitgaande To Date = {0}
-To Discuss,Om Bespreek
-To Do List,To Do List
-To Package No.,Op Nee Pakket
-To Produce,Produce
-To Time,Naar Time
-To Value,Om Value
-To Warehouse,Om Warehouse
-"To add child nodes, explore tree and click on the node under which you want to add more nodes.","Om onderliggende nodes te voegen , te verkennen boom en klik op het knooppunt waar u wilt meer knooppunten toe te voegen ."
-"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 create a Bank Account,Om een bankrekening te creëren
-To create a Tax Account,Om een Tax Account maken
-"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 date cannot be before from date,Tot op heden kan niet eerder worden vanaf datum
+To Date,Tot Datum
+To Date should be same as From Date for Half Day leave,Tot Datum moet dezelfde zijn als Van Datum voor een halve dag verlof
+To Date should be within the Fiscal Year. Assuming To Date = {0},Tot Datum moet binnen het boekjaar vallenn. Ervan uitgaande dat Tot Datum = {0}
+To Discuss,Te bespreken
+To Do List,Actie Lijst
+To Package No.,Naar pakket nr
+To Produce,Produceren
+To Time,Tot Tijd
+To Value,Tot Waarde
+To Warehouse,Tot Magazijn
+"To add child nodes, explore tree and click on the node under which you want to add more nodes.","Om onderliggende nodes te voegen , klap de boom uit en klik op de node waaronder u meer nodes wilt toevoegen."
+"To assign this issue, use the ""Assign"" button in the sidebar.","Om dit Issue toe te wijzen, gebruikt u de ""Toewijzen""-knop in de zijbalk."
+To create a Bank Account,Een bankrekening aanmaken
+To create a Tax Account,Een belastingrekening aanmaken
+"To create an Account Head under a different company, select the company and save customer.","Om een hoofdrekeninge te maken onder een ander bedrijf, selecteert u het bedrijf en slaat de klant op."
+To date cannot be before from date,Tot Datum kan niet eerder zijn dan Van Datum
 To enable <b>Point of Sale</b> features,Om <b>Point of Sale</b> functies in te schakelen
 To enable <b>Point of Sale</b> view,Om <b> Point of Sale < / b > view staat
-To get Item Group in details table,Om Item Group te krijgen in details tabel
-"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Om voorheffing omvatten in rij {0} in Item tarief , de belastingen in rijen {1} moet ook opgenomen worden"
-"To merge, following properties must be same for both items","Te fuseren , moeten volgende eigenschappen hetzelfde zijn voor beide posten"
-"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Om Prijzen regel niet van toepassing in een bepaalde transactie, moeten alle toepasselijke prijszettingsregels worden uitgeschakeld."
-"To set this Fiscal Year as Default, click on 'Set as Default'","Om dit fiscale jaar ingesteld als standaard , klik op ' Als standaard instellen '"
-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 Delivery Note, Opportunity, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","Om merknaam volgen op de volgende documenten Delivery Note, Opportunity , Materiaal Request , punt , Bestelling , Aankoopbon , Koper Ontvangst , Offerte , verkoopfactuur , 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 get Item Group in details table,Om Artikelgroep in details tabel te plaatsen
+"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Om Belastingen op te nemen in het Artikeltarief in rij {0}, moeten de belastingen in rijen {1} ook worden opgenomen "
+"To merge, following properties must be same for both items","Om samen te voegen, moeten de volgende eigenschappen hetzelfde zijn voor beide artikelen"
+"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Om de prijsbepalingsregel in een specifieke transactie niet toe te passen, moeten alle toepasbare prijsbepalingsregels worden uitgeschakeld."
+"To set this Fiscal Year as Default, click on 'Set as Default'","Om dit boekjaar in te stellen als standaard, klik op 'Als standaard instellen'"
+To track any installation or commissioning related work after sales,Om een ​​installatie of commissie-gerelateerd werk na verkoop bij te houden
+"To track brand name in the following documents Delivery Note, Opportunity, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","Om merknaam te volgen op de volgende documenten Vrachtbrief, Opportunity, Materiaal Aanvraag, Artikel, Inkooporder, Inkoop Voucher, Ontvangstbewijs, Offerte, Verkoopfactuur, Verkoop Stuklijst, Verkooporder, 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.,Het bijhouden van een artikel in verkoop- en inkoopdocumenten op basis van het serienummer. U kunt hiermee ook de garantiedetails van het product bijhouden.
 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.
-Too many columns. Export the report and print it using a spreadsheet application.,Te veel kolommen. Het rapport exporteren en afdrukken met behulp van een spreadsheetprogramma.
-Tools,Gereedschap
+To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,Het kunnen identificeren van artikelen mbv een streepjescode. U kunt hiermee artikelen op Vrachtbrieven en Verkoopfacturen invoeren door de streepjescode van het artikel te scannen.
+Too many columns. Export the report and print it using a spreadsheet application.,Teveel kolommen. Exporteer het rapport en druk het af via een Spreadsheet programma.
+Tools,Tools
 Total,Totaal
 Total ({0}),Totaal ({0})
-Total Advance,Totaal Advance
+Total Advance,Totaal Voorschot
 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 Characters,Totaal Characters
-Total Claimed Amount,Totaal gedeclareerde bedrag
+Total Billing This Year: ,Totaal facturering dit jaar:
+Total Characters,Totaal Tekens
+Total Claimed Amount,Totaal gedeclareerd bedrag
 Total Commission,Totaal Commissie
 Total Cost,Totale kosten
 Total Credit,Totaal Krediet
 Total Debit,Totaal Debet
-Total Debit must be equal to Total Credit. The difference is {0},Totaal Debet moet gelijk zijn aan de totale krediet.
+Total Debit must be equal to Total Credit. The difference is {0},Totaal Debet moet gelijk zijn aan Totaal Credit. Het verschil is {0}
 Total Deduction,Totaal Aftrek
-Total Earning,Totaal Verdienen
+Total Earning,Totale Winst
 Total Experience,Total Experience
-Total Hours,Total Hours
-Total Hours (Expected),Totaal aantal uren (Verwachte)
+Total Hours,Totaal Uren
+Total Hours (Expected),Totaal Uren (Verwacht)
 Total Invoiced Amount,Totaal Gefactureerd bedrag
 Total Leave Days,Totaal verlofdagen
-Total Leaves Allocated,Totaal Bladeren Toegewezen
-Total Message(s),Totaal Message ( s )
+Total Leaves Allocated,Totaal Verlofdagen Toegewezen
+Total Message(s),Totaal Bericht(en)
 Total Operating Cost,Totale exploitatiekosten
 Total Points,Totaal aantal punten
-Total Raw Material Cost,Totaal grondstofprijzen
-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 Raw Material Cost,Totaal kosten grondstoffen
+Total Sanctioned Amount,Totaal Goedgekeurd Bedrag
+Total Score (Out of 5),Totale Score (van de 5)
+Total Tax (Company Currency),Totaal Belastingen (Bedrijfsvaluta)
 Total Taxes and Charges,Totaal belastingen en heffingen
-Total Taxes and Charges (Company Currency),Total en-heffingen (Company Munt)
-Total allocated percentage for sales team should be 100,Totaal toegewezen percentage voor sales team moet 100
+Total Taxes and Charges (Company Currency),Totaal belastingen en heffingen (Bedrijfsvaluta)
+Total allocated percentage for sales team should be 100,Totaal toegewezen percentage voor verkoopteam moet 100 zijn
 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 cannot be zero,Totaal kan niet nul zijn
 Total in words,Totaal in woorden
-Total points for all goals should be 100. It is {0},Totaal aantal punten voor alle doelen moet 100 . Het is {0}
-Total valuation for manufactured or repacked item(s) can not be less than total valuation of raw materials,Totale waardering voor de gefabriceerde of omgepakt item (s) kan niet lager zijn dan de totale waarde van de grondstoffen worden
-Total weightage assigned should be 100%. It is {0},Totaal weightage toegewezen moet 100 % zijn. Het is {0}
+Total points for all goals should be 100. It is {0},Totaal aantal punten voor alle doelen moet 100 zijn. Het is {0}
+Total valuation for manufactured or repacked item(s) can not be less than total valuation of raw materials,De totale waardering voor de geproduceerde of herverpakte artikelen kan niet lager zijn dan de totale waarde van de grondstoffen.
+Total weightage assigned should be 100%. It is {0},Totaal toegewezen gewicht moet 100% zijn. Het is {0}
 Totals,Totalen
-Track Leads by Industry Type.,Track Leads door de industrie type .
-Track this Delivery Note against any Project,Volg dit pakbon tegen elke Project
+Track Leads by Industry Type.,Houd Leads bij per de industrie type.
+Track this Delivery Note against any Project,Track this Delivery Note against any Project 
 Track this Sales Order against any Project,Volg dit Verkooporder tegen elke Project
 Transaction,Transactie
 Transaction Date,Transactie Datum
-Transaction not allowed against stopped Production Order {0},Transactie niet toegestaan ​​tegen gestopt productieorder {0}
-Transfer,Overdracht
-Transfer Material,Transfer Materiaal
-Transfer Raw Materials,Transfer Grondstoffen
-Transferred Qty,overgedragen hoeveelheid
-Transportation,vervoer
-Transporter Info,Transporter Info
+Transaction not allowed against stopped Production Order {0},Transactie niet toegestaan met gestopte productieorder {0}
+Transfer,Overboeken
+Transfer Material,Overboeken Materiaal
+Transfer Raw Materials,Overboeken Grondstoffen
+Transferred Qty,Overgeboekte hoeveelheid
+Transportation,Vervoer
+Transporter Info,Vervoerder Info
 Transporter Name,Vervoerder Naam
-Transporter lorry number,Transporter vrachtwagen nummer
+Transporter lorry number,Vervoerder vrachtwagen nummer
 Travel,reizen
 Travel Expenses,reiskosten
-Tree Type,boom Type
-Tree of Item Groups.,Boom van Punt groepen .
-Tree of finanial Cost Centers.,Boom van finanial kostenplaatsen .
-Tree of finanial accounts.,Boom van finanial accounts.
-Trial Balance,Trial Balance
+Tree Type,Boom Type
+Tree of Item Groups.,Boom van Artikelgroepen .
+Tree of finanial Cost Centers.,Boom van financiële kostenplaatsen.
+Tree of finanial accounts.,Boom van financiële rekeningen
+Trial Balance,Proefbalans
 Tuesday,Dinsdag
 Type,Type
 Type of document to rename.,Type document te hernoemen.
-"Type of leaves like casual, sick etc.","Aard van de bladeren, zoals casual, zieken enz."
-Types of Expense Claim.,Bij declaratie.
+"Type of leaves like casual, sick etc.","Type verloven zoals, buitengewoon, ziekte, etc."
+Types of Expense Claim.,Typen Onkostendeclaraties.
 Types of activities for Time Sheets,Soorten activiteiten voor Time Sheets
-"Types of employment (permanent, contract, intern etc.).","Vormen van werkgelegenheid ( permanent, contract , intern etc. ) ."
-UOM Conversion Detail,Verpakking Conversie Detail
-UOM Conversion Details,Verpakking Conversie Details
-UOM Conversion Factor,Verpakking Conversie Factor
-UOM Conversion factor is required in row {0},Verpakking omrekeningsfactor worden vastgesteld in rij {0}
-UOM Name,Verpakking Naam
-UOM coversion factor required for UOM: {0} in Item: {1},Verpakking conversie factor die nodig is voor Verpakking: {0} in Item: {1}
+"Types of employment (permanent, contract, intern etc.).","Vormen van dienstverband (permanent, contract, stage, etc. ) ."
+UOM Conversion Detail,Eenheid Omrekeningsfactor Detail
+UOM Conversion Details,Eenheid Omrekeningsfactor Details
+UOM Conversion Factor,Eenheid Omrekeningsfactor
+UOM Conversion factor is required in row {0},Eenheid Omrekeningsfactor is vereist in rij {0}
+UOM Name,Eenheid Naam
+UOM coversion factor required for UOM: {0} in Item: {1},Eenheid Omrekeningsfactor is nodig voor eenheid: {0} in Artikel: {1}
 Under AMC,Onder AMC
 Under Graduate,Onder Graduate
-Under Warranty,Onder de garantie
+Under Warranty,Binnen Garantie
 Unit,eenheid
-Unit of Measure,Meeteenheid
-Unit of Measure {0} has been entered more than once in Conversion Factor Table,Maateenheid {0} is ingevoerd meer dan eens in Conversion Factor Tabel
-"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Meeteenheid van dit artikel (bijvoorbeeld kg, eenheid, Nee, Pair)."
+Unit of Measure,Eenheid
+Unit of Measure {0} has been entered more than once in Conversion Factor Table,Eenheid {0} is meer dan eens ingevoerd in Conversie Factor Tabel
+"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Meeteenheid van dit artikel (bijvoorbeeld kg, stuks, paar)."
 Units/Hour,Eenheden / uur
-Units/Shifts,Eenheden / Verschuivingen
+Units/Shifts,Eenheden / Ploegen
 Unpaid,Onbetaald
-Unreconciled Payment Details,Onverzoend Betalingsgegevens
+Unreconciled Payment Details,Niet-afgeletterde Betalingsgegevens
 Unscheduled,Ongeplande
 Unsecured Loans,ongedekte leningen
-Unstop,opendraaien
-Unstop Material Request,Unstop Materiaal Request
-Unstop Purchase Order,Unstop Bestelling
+Unstop,On-stop
+Unstop Material Request,On-stop Materiaal Aanvraag
+Unstop Purchase Order,On-stop Inkooporder
 Unsubscribed,Uitgeschreven
 Update,Bijwerken
 Update Clearance Date,Werk Clearance Datum
 Update Cost,Kosten bijwerken
-Update Finished Goods,Afgewerkt update Goederen
+Update Finished Goods,Bijwerken Gereed Product
 Update Landed Cost,Update Landed Cost
-Update Series,Update Series
-Update Series Number,Update Serie Nummer
-Update Stock,Werk Stock
-Update bank payment dates with journals.,Update bank betaaldata met tijdschriften.
+Update Series,Bijwerken Reeksen
+Update Series Number,Bijwerken Serienummer
+Update Stock,Bijwerken Voorraad
+Update bank payment dates with journals.,Bijwerken bank betaaldata met journaalposten
 Update clearance date of Journal Entries marked as 'Bank Vouchers',Goedkeuring datum actualisering van Journaalposten gemarkeerd als ' Bank Vouchers '
 Updated,Bijgewerkt
 Updated Birthday Reminders,Bijgewerkt verjaardagsherinneringen
-Upload Attendance,Upload Toeschouwers
+Upload Attendance,Upload Aanwezigheid
 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 attendance from a .csv file,Upload aanwezigheid van een. Csv-bestand
+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 attendance from a .csv file,Upload aanwezigheid uit een .csv-bestand
 Upload stock balance via csv.,Upload voorraadsaldo via csv.
-Upload your letter head and logo - you can edit them later.,Upload uw brief hoofd en logo - u kunt ze later bewerken .
+Upload your letter head and logo - you can edit them later.,Upload uw briefhoofd en logo - u kunt deze later bewerken.
 Upper Income,Bovenste Inkomen
 Urgent,Dringend
-Use Multi-Level BOM,Gebruik Multi-Level BOM
+Use Multi-Level BOM,Gebruik Multi-Level Stuklijst
 Use SSL,Gebruik SSL
 Used for Production Plan,Gebruikt voor Productie Plan
 User,Gebruiker
 User ID,Gebruikers-ID
-User ID not set for Employee {0},Gebruikers-ID niet ingesteld voor Employee {0}
+User ID not set for Employee {0},Gebruikers-ID niet ingesteld voor Werknemer {0}
 User Name,Gebruikersnaam
-User Name or Support Password missing. Please enter and try again.,Gebruikersnaam of wachtwoord ondersteuning ontbreekt. Vul en probeer het opnieuw .
+User Name or Support Password missing. Please enter and try again.,Gebruikersnaam of Support wachtwoord ontbreekt. Vul in en probeer opnieuw .
 User Remark,Gebruiker Opmerking
 User Remark will be added to Auto Remark,Gebruiker Opmerking zal worden toegevoegd aan Auto Opmerking
 User Remarks is mandatory,Gebruiker Opmerkingen is verplicht
-User Specific,gebruiker Specifieke
+User Specific,Gebruikerspecifiek
 User must always select,Gebruiker moet altijd kiezen
-User {0} is already assigned to Employee {1},Gebruiker {0} is al Employee toegewezen {1}
+User {0} is already assigned to Employee {1},Gebruiker {0} is al aan Werknemer toegewezen {1}
 User {0} is disabled,Gebruiker {0} is uitgeschakeld
 Username,Gebruikersnaam
-Users with this role are allowed to create / modify accounting entry before frozen date,Gebruikers met deze rol mogen maken / boekhoudkundige afschrijving vóór bevroren datum wijzigen
-Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Gebruikers met deze rol mogen bevroren accounts en maak / boekingen tegen bevroren rekeningen wijzigen
+Users with this role are allowed to create / modify accounting entry before frozen date,Gebruikers met deze rol mogen boekhoudkundige transacties maken / wijzigen vóór de bevroren datum
+Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts 
 Utilities,Utilities
 Utility Expenses,Utility kosten
-Valid For Territories,Geldig voor Territories
-Valid From,geldig van
+Valid For Territories,Geldig voor Regio's
+Valid From,Geldig van
 Valid Upto,Geldig Tot
 Valid for Territories,Geldig voor Territories
 Validate,Bevestigen
-Valuation,Taxatie
+Valuation,Waardering
 Valuation Method,Waardering Methode
-Valuation Rate,Waardering Prijs
-Valuation Rate required for Item {0},Taxatie Rate vereist voor post {0}
-Valuation and Total,Taxatie en Totaal
+Valuation Rate,Waardering Tarief
+Valuation Rate required for Item {0},Waardering Tarief vereist voor Artikel {0}
+Valuation and Total,Waardering en Totaal
 Value,Waarde
 Value or Qty,Waarde of Aantal
-Vehicle Dispatch Date,Vehicle Dispatch Datum
+Vehicle Dispatch Date,Voertuig Vertrekdatum
 Vehicle No,Voertuig nr.
 Venture Capital,Venture Capital
 Verified By,Geverifieerd door
 View Ledger,Bekijk Grootboek
 View Now,Bekijk nu
 Visit report for maintenance call.,Bezoek rapport voor onderhoud gesprek.
-Voucher #,voucher #
-Voucher Detail No,Voucher Detail Geen
+Voucher #,voucher nr
+Voucher Detail No,Voucher Detail nr
 Voucher Detail Number,Voucher Detail Nummer
 Voucher ID,Voucher ID
 Voucher No,Voucher nr.
@@ -3158,59 +3158,59 @@
 Voucher Type and Date,Voucher Type en Datum
 Walk In,Walk In
 Warehouse,Magazijn
-Warehouse Contact Info,Warehouse Contact Info
+Warehouse Contact Info,Magazijn Contact Info
 Warehouse Detail,Magazijn Detail
 Warehouse Name,Magazijn Naam
 Warehouse and Reference,Magazijn en Referentie
-Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Magazijn kan niet worden verwijderd als voorraad grootboek toegang bestaat voor dit magazijn .
-Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazijn kan alleen via Stock Entry / Delivery Note / Kwitantie worden veranderd
+Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Magazijn kan niet worden verwijderd omdat er voorraadboekingen zijn voor dit magazijn.
+Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazijn kan alleen via Voorraad Invoer / Vrachtbrief / Ontvangstbewijs worden veranderd
 Warehouse cannot be changed for Serial No.,Magazijn kan niet worden gewijzigd voor Serienummer
-Warehouse is mandatory for stock Item {0} in row {1},Warehouse is verplicht voor voorraad Item {0} in rij {1}
-Warehouse is missing in Purchase Order,Warehouse ontbreekt in Purchase Order
+Warehouse is mandatory for stock Item {0} in row {1},Magazijn is verplicht voor voorraadartikel {0} in rij {1}
+Warehouse is missing in Purchase Order,Magazijn ontbreekt in Inkooporder
 Warehouse not found in the system,Magazijn niet gevonden in het systeem
-Warehouse required for stock Item {0},Magazijn nodig voor voorraad Item {0}
-Warehouse where you are maintaining stock of rejected items,Warehouse waar u het handhaven voorraad van afgewezen artikelen
-Warehouse {0} can not be deleted as quantity exists for Item {1},Magazijn {0} kan niet worden verwijderd als hoeveelheid bestaat voor post {1}
+Warehouse required for stock Item {0},Magazijn nodig voor voorraad Artikel {0}
+Warehouse where you are maintaining stock of rejected items,Magazijn waar u voorraad bijhoudt van afgewezen artikelen
+Warehouse {0} can not be deleted as quantity exists for Item {1},Magazijn {0} kan niet worden verwijderd als er voorraad is voor artikel {1}
 Warehouse {0} does not belong to company {1},Magazijn {0} behoort niet tot bedrijf {1}
 Warehouse {0} does not exist,Magazijn {0} bestaat niet
 Warehouse {0}: Company is mandatory,Magazijn {0}: Bedrijf is verplicht
-Warehouse {0}: Parent account {1} does not bolong to the company {2},Magazijn {0}: Parent rekening {1} niet bolong aan het bedrijf {2}
-Warehouse-Wise Stock Balance,Warehouse-Wise Stock Balance
-Warehouse-wise Item Reorder,Warehouse-wise Item opnieuw ordenen
+Warehouse {0}: Parent account {1} does not bolong to the company {2},Magazijn {0}: Bovenliggende rekening {1} behoort niet tot bedrijf {2}
+Warehouse-Wise Stock Balance,Magazijngebaseerde Voorraad Balans
+Warehouse-wise Item Reorder,Magazijngebaseerd Artikel opnieuw bestellen
 Warehouses,Magazijnen
 Warehouses.,Magazijnen.
 Warn,Waarschuwen
 Warning: Leave application contains following block dates,Waarschuwing: Verlof applicatie bevat volgende blok data
-Warning: Material Requested Qty is less than Minimum Order Qty,Waarschuwing : Materiaal gevraagde Aantal minder dan Minimum afname
-Warning: Sales Order {0} already exists against same Purchase Order number,Waarschuwing : Sales Order {0} bestaat tegen hetzelfde Purchase Order nummer
-Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Waarschuwing : Het systeem zal niet controleren overbilling sinds bedrag voor post {0} in {1} nul
+Warning: Material Requested Qty is less than Minimum Order Qty,Waarschuwing: Materiaal Aanvraag Aantal is minder dan Minimum Bestelhoeveelheid
+Warning: Sales Order {0} already exists against same Purchase Order number,Waarschuwing: Verkooporder {0} bestaat al voor hetzelfde Inkoopordernummer
+Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Waarschuwing: Het systeem zal niet controleren overbilling sinds bedrag voor post {0} in {1} nul
 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)
-We buy this Item,We kopen dit item
-We sell this Item,Wij verkopen dit item
+We buy this Item,We kopen dit artikel
+We sell this Item,Wij verkopen dit artikel
 Website,Website
 Website Description,Website Beschrijving
-Website Item Group,Website Item Groep
+Website Item Group,Website Artikel Groep
 Website Item Groups,Website Artikelgroepen
 Website Settings,Website instellingen
-Website Warehouse,Website Warehouse
+Website Warehouse,Website Magazijn
 Wednesday,Woensdag
 Weekly,Wekelijks
-Weekly Off,Wekelijkse Uit
-Weight UOM,Gewicht Verpakking
-"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Gewicht wordt vermeld , \ nGelieve noemen "" Gewicht Verpakking "" te"
-Weightage,Weightage
-Weightage (%),Weightage (%)
+Weekly Off,Wekelijks Vrij
+Weight UOM,Gewicht Eenheid
+"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Gewicht wordt vermeld , \n Vermeld aub ook de ""Gewicht Eenheid"""
+Weightage,Weging
+Weightage (%),Weging (%)
 Welcome,Welkom
-Welcome to ERPNext. Over the next few minutes we will help you setup your ERPNext account. Try and fill in as much information as you have even if it takes a bit longer. It will save you a lot of time later. Good Luck!,"Welkom bij ERPNext . In de komende paar minuten zullen we u helpen opzetten van je ERPNext account. Probeer en vul zo veel mogelijk informatie je hebt , zelfs als het duurt een beetje langer . Het zal u een hoop tijd later besparen . Good Luck !"
-Welcome to ERPNext. Please select your language to begin the Setup Wizard.,Welkom bij ERPNext . Selecteer uw taal om de installatiewizard te starten.
+Welcome to ERPNext. Over the next few minutes we will help you setup your ERPNext account. Try and fill in as much information as you have even if it takes a bit longer. It will save you a lot of time later. Good Luck!,"Welkom bij ERPNext . In de komende minuten zullen we u helpen met het opzetten uw ERPNext account. Vul zo veel mogelijk informatie in, ook al duurt het daardoor iets langer. Het zal u verderop een hoop tijd besparen. Succes!"
+Welcome to ERPNext. Please select your language to begin the Setup Wizard.,Welkom bij ERPNext. Selecteer uw taal om de installatiewizard te starten.
 What does it do?,Wat doet het?
-"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 submitted, the system creates difference entries to set the given stock and valuation on this date.","Wanneer ingediend , maakt het systeem verschil inzendingen voor de gegeven voorraad en de waardering die op deze datum."
-Where items are stored.,Waar items worden opgeslagen.
+"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 de aangevinkte transacties worden ""Ingediend"", wordt een e-mail pop-up automatisch geopend om een ​​e-mail te sturen naar de bijbehorende ""Contact"" in deze transactie, met de transactie als bijlage. De gebruiker heeft vervolgens de optie om de e-mail wel of niet te verzenden."
+"When submitted, the system creates difference entries to set the given stock and valuation on this date.","Wanneer ingediend , zal het systeem verschillende boekingen maken om de gegeven voorraad en de waardering op deze datum in te stellen."
+Where items are stored.,Waar artikelen worden opgeslagen.
 Where manufacturing operations are carried out.,Wanneer de productie operaties worden uitgevoerd.
 Widowed,Weduwe
 Will be calculated automatically when you enter the details,Wordt automatisch berekend wanneer u de details invult
@@ -3220,49 +3220,49 @@
 Wire Transfer,overboeking
 With Operations,Met Operations
 With Period Closing Entry,Met Periode sluitpost
-Work Details,Work Details
-Work Done,Werk
-Work In Progress,Work In Progress
-Work-in-Progress Warehouse,Work-in-Progress Warehouse
-Work-in-Progress Warehouse is required before Submit,Work -in- Progress Warehouse wordt vóór vereist Verzenden
+Work Details,Werk Details
+Work Done,Afgerond Werk
+Work In Progress,Onderhanden Werk
+Work-in-Progress Warehouse,Onderhanden Werk Magazijn
+Work-in-Progress Warehouse is required before Submit,Onderhanden Werk Magazijn is vereist alvorens in te dienen
 Working,Werkzaam
 Working Days,Werkdagen
 Workstation,Werkstation
 Workstation Name,Naam van werkstation
-Write Off Account,Schrijf Uit account
-Write Off Amount,Schrijf Uit Bedrag
+Write Off Account,Afschrijvingsrekening
+Write Off Amount,Afschrijvingsbedrag
 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
-Wrong Template: Unable to find head row.,Verkeerde Template: Kan hoofd rij vinden.
+Write Off Based On,Afschrijving gebaseerd op
+Write Off Cost Center,Afschrijvingen kostenplaats
+Write Off Outstanding Amount,Afschrijving uitstaande bedrag
+Write Off Voucher,Afschrijving Voucher
+Wrong Template: Unable to find head row.,Verkeerde Template: Kan hoofd rij niet vinden.
 Year,Jaar
 Year Closed,Jaar Gesloten
-Year End Date,Eind van het jaar Datum
+Year End Date,Jaar Einddatum
 Year Name,Jaar Naam
 Year Start Date,Jaar Startdatum
 Year of Passing,Voorbije Jaar
 Yearly,Jaarlijks
 Yes,Ja
 You are not authorized to add or update entries before {0},U bent niet bevoegd om items toe te voegen of bij te werken voor {0}
-You are not authorized to set Frozen value,U bent niet bevoegd om Frozen waarde in te stellen
-You are the Expense Approver for this record. Please Update the 'Status' and Save,U bent de Expense Approver voor dit record . Werk van de 'Status' en opslaan
-You are the Leave Approver for this record. Please Update the 'Status' and Save,U bent de Leave Approver voor dit record . Werk van de 'Status' en opslaan
+You are not authorized to set Frozen value,U bent niet bevoegd om Bevroren waarde in te stellen
+You are the Expense Approver for this record. Please Update the 'Status' and Save,U bent de Onkosten Goedkeurder voor dit record. Werk de 'Status' bij en sla op.
+You are the Leave Approver for this record. Please Update the 'Status' and Save,U bent de Verlof Goedkeurder voor dit record. Werk de 'Status' bij en sla op.
 You can enter any date manually,U kunt elke datum handmatig ingeven
-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 change rate if BOM mentioned agianst any item,U kunt geen koers veranderen als BOM agianst een item genoemd
-You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Je kunt niet Geen Voer beide Delivery Note en verkoopfactuur Nee Geef iemand.
-You can not enter current voucher in 'Against Journal Voucher' column,Je kan niet in de huidige voucher in ' Against Journal Voucher ' kolom
-You can set Default Bank Account in Company master,U kunt Default Bank Account ingesteld in Bedrijf meester
-You can start by selecting backup frequency and granting access for sync,U kunt beginnen met back- frequentie te selecteren en het verlenen van toegang voor synchronisatie
-You can submit this Stock Reconciliation.,U kunt indienen dit Stock Verzoening .
-You can update either Quantity or Valuation Rate or both.,U kunt Hoeveelheid of Valuation Rate of beide te werken.
-You cannot credit and debit same account at the same time,Je kunt niet crediteren en debiteren dezelfde account op hetzelfde moment
-You have entered duplicate items. Please rectify and try again.,U heeft dubbele items ingevoerd. Aub verwijderen en probeer het opnieuw .
-You may need to update: {0},U kan nodig zijn om te werken: {0}
+You can enter the minimum quantity of this item to be ordered.,U kunt de minimale bestelhoeveelheid van dit product invoeren.
+You can not change rate if BOM mentioned agianst any item,U kunt geen tarief veranderen als BOM agianst een item genoemd
+You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,U kunt niet zowel een Vrachtbriefnummer als een Verkoopordernummer invoeren. Vul één in.
+You can not enter current voucher in 'Against Journal Voucher' column,"U kunt de huidige voucher niet invoeren in ""Against Journal Voucher"" kolom"
+You can set Default Bank Account in Company master,U kun de Standaard Bankrekening invullen in de Bedrijfs Stam
+You can start by selecting backup frequency and granting access for sync,You can start by selecting backup frequency and granting access for sync 
+You can submit this Stock Reconciliation.,U kunt deze Voorraad Aflettering indienen
+You can update either Quantity or Valuation Rate or both.,U kunt de Hoeveelheid of Waardering Tarief of beide bijwerken.
+You cannot credit and debit same account at the same time,U kunt niet hetzelfde bedrag crediteren en debiteren op hetzelfde moment
+You have entered duplicate items. Please rectify and try again.,U hebt dubbele artikelen ingevoerd. Aub aanpassen en opnieuw proberen.
+You may need to update: {0},U moet misschien {0} bijwerken.
 You must Save the form before proceeding,U moet het formulier opslaan voordat u verder gaat
-Your Customer's TAX registration numbers (if applicable) or any general information,Uw klant fiscale nummers (indien van toepassing) of een algemene informatie
+Your Customer's TAX registration numbers (if applicable) or any general information,De BTW-nummers van uw klant (indien van toepassing) of andere algemene informatie
 Your Customers,Uw Klanten
 Your Login Id,Uw loginnaam
 Your Products or Services,Uw producten of diensten
@@ -3270,10 +3270,10 @@
 Your email address,Uw e-mailadres
 Your financial year begins on,Uw financiële jaar begint op
 Your financial year ends on,Uw financiële jaar eindigt op
-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 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 setup is complete. Refreshing...,Uw installatie is voltooid. Aan het vernieuwen ...
-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!
+Your sales person who will contact the customer in future,Uw verkopers die in de toekomst contact op zullen nemen met de klant.
+Your sales person will get a reminder on this date to contact the customer,Uw verkoper krijgt een herinnering op deze datum om contact op te nemen met de klant
+Your setup is complete. Refreshing...,Uw installatie is voltooid. Bezig te vernieuwen...
+Your support email id - must be a valid email - this is where your emails will come!,Uw Support e-mail ID (moet een geldig e-mailadres zijn) is waar uw e-mails naartoe gestuurd worden.
 [Error],[Error]
 [Select],[Selecteer ]
 `Freeze Stocks Older Than` should be smaller than %d days.,`Freeze Voorraden Ouder dan` moet kleiner zijn dan %d dagen.
@@ -3295,7 +3295,7 @@
 rgt,RGT
 subject,onderwerp
 to,naar
-website page link,website Paginalink
+website page link,Website Paginalink
 {0} '{1}' not in Fiscal Year {2},{0} ' {1} ' niet in het fiscale jaar {2}
 {0} Credit limit {0} crossed,{0} kredietlimiet {0} gekruist
 {0} Serial Numbers required for Item {0}. Only {0} provided.,{0} serienummers nodig voor post {0} . Slechts {0} ontvangen .
