 (Half Day),(Halve dag)
 and year: ,en jaar:
""" does not exists",""" Bestaat niet"
%  Delivered,Geleverd%
% Amount Billed,Gefactureerd% Bedrag
% Billed,% Gefactureerd
% Completed,% Voltooid
% Delivered,% Geleverd
% Installed,% Geïnstalleerd
% Received,% Ontvangen
% of materials billed against this Purchase Order.,% Van de materialen in rekening gebracht tegen deze Purchase Order.
% of materials billed against this Sales Order,% Van de materialen in rekening gebracht tegen deze verkooporder
% of materials delivered against this Delivery Note,% Van de geleverde materialen tegen deze Delivery Note
% of materials delivered against this Sales Order,% Van de geleverde materialen tegen deze verkooporder
% of materials ordered against this Material Request,% Van de bestelde materialen tegen dit materiaal aanvragen
% of materials received against this Purchase Order,% Van de materialen ontvangen tegen deze Kooporder
'Actual Start Date' can not be greater than 'Actual End Date',' Werkelijke Startdatum ' kan niet groter zijn dan ' Werkelijke Einddatum ' zijn
'Based On' and 'Group By' can not be same,' Based On ' en ' Group By ' kan niet hetzelfde zijn
'Days Since Last Order' must be greater than or equal to zero,' Dagen sinds Last Order ' moet groter zijn dan of gelijk zijn aan nul
'Entries' cannot be empty,' Inzendingen ' kan niet leeg zijn
'Expected Start Date' can not be greater than 'Expected End Date',' Verwacht Startdatum ' kan niet groter zijn dan ' Verwachte einddatum ' zijn
'From Date' is required,' Van datum ' vereist
'From Date' must be after 'To Date','From Date' moet na ' To Date'
'Has Serial No' can not be 'Yes' for non-stock item,' Heeft Serial No ' kan niet ' ja' voor niet- voorraad artikel
'Notification Email Addresses' not specified for recurring invoice,' Notification E-mailadressen ' niet gespecificeerd voor terugkerende factuur
'Profit and Loss' type account {0} not allowed in Opening Entry,' Winst-en verliesrekening ' accounttype {0} niet toegestaan ​​in Opening Entry
'To Case No.' cannot be less than 'From Case No.',&#39;Om Case No&#39; kan niet minder zijn dan &#39;Van Case No&#39;
'To Date' is required,' To Date' is vereist
'Update Stock' for Sales Invoice {0} must be set,'Bijwerken Stock ' voor verkoopfactuur {0} moet worden ingesteld
* Will be calculated in the transaction.,* Zal worden berekend in de transactie.
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,1 Valuta = [?] Fractie  Voor bijv. 1 USD = 100 Cent
1. To maintain the customer wise item code and to make them searchable based on their code use this option,1. Om de klant wijzen artikelcode te behouden en om ze doorzoekbaar te maken op basis van hun code te gebruiken van deze optie
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer Group""> toevoegen / bewerken < / a>"
"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item Group""> toevoegen / bewerken < / a>"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> toevoegen / bewerken < / a>"
"<h4>Default Template</h4><p>Uses <a href=""http://jinja.pocoo.org/docs/templates/"">Jinja Templating</a> and all the fields of Address (including Custom Fields if any) will be available</p><pre><code>{{ address_line1 }}&lt;br&gt;{% if address_line2 %}{{ address_line2 }}&lt;br&gt;{% endif -%}{{ city }}&lt;br&gt;{% if state %}{{ state }}&lt;br&gt;{% endif -%}{% if pincode %} PIN:  {{ pincode }}&lt;br&gt;{% endif -%}{{ country }}&lt;br&gt;{% if phone %}Phone: {{ phone }}&lt;br&gt;{% endif -%}{% if fax %}Fax: {{ fax }}&lt;br&gt;{% endif -%}{% if email_id %}Email: {{ email_id }}&lt;br&gt;{% endif -%}</code></pre>","<h4> Standaardsjabloon </ h4>  <p> Gebruikt <a href=""http://jinja.pocoo.org/docs/templates/""> Jinja Templating </ a> en alle velden van Address ( inclusief aangepaste velden indien aanwezig) zal beschikbaar zijn </ p>  <pre> <code> {{address_line1}} <br>  {% if address_line2%} {{address_line2}} {<br> % endif -%}  {{city}} <br>  {% if staat%} {{staat}} {% endif <br> -%}  {% if pincode%} PIN: {{pincode}} {% endif <br> -%}  {{land}} <br>  {% if telefoon%} Telefoon: {{telefoon}} {<br> % endif -%}  {% if fax%} Fax: {{fax}} {% endif <br> -%}  {% if email_id%} E-mail: {{email_id}} <br> ; {% endif -%}  </ code> </ pre>"
A Customer Group exists with same name please change the Customer name or rename the Customer Group,Een Klantgroep met dezelfde naam bestaat. Gelieve de naam van de Klant of de Klantgroep  wijzigen
A Customer exists with same name,Een Klant bestaat met dezelfde naam
A Lead with this email id should exist,Een Lead met dit email-ID moet bestaan
A Product or Service,Een product of dienst
A Supplier exists with same name,Een leverancier bestaat met dezelfde naam
A symbol for this currency. For e.g. $,Een symbool voor deze valuta. Voor bijvoorbeeld $
AMC Expiry Date,AMC Vervaldatum
Abbr,Afk
Abbreviation cannot have more than 5 characters,Afkorting kan niet meer dan 5 tekens lang zijn
Above Value,Bovenstaande waarde
Absent,Afwezig
Acceptance Criteria,Acceptatiecriteria
Accepted,Aanvaard
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Geaccepteerde + Verworpen Aantal moet gelijk zijn aan Ontvangen aantal zijn voor post {0}
Accepted Quantity,Geaccepteerd Aantal
Accepted Warehouse,Geaccepteerd Magazijn
Account,Rekening
Account Balance,Rekeningbalans
Account Created: {0},Account Gemaakt : {0}
Account Details,Account Details
Account Head,Account Hoofding
Account Name,Rekening Naam
Account Type,Rekening Type
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Saldo reeds in Credit, is het niet toegestaan om 'evenwicht moet worden' als 'Debet'"
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Saldo reeds in Debit, is het niet toegestaan om 'evenwicht moet worden' als 'Credit'"
Account for the warehouse (Perpetual Inventory) will be created under this Account.,Rekening voor het magazijn wordt aangemaakt onder dit account .
Account head {0} created,Account hoofding {0} aangemaakt
Account must be a balance sheet account,Rekening moet een balansrekening zijn
Account with child nodes cannot be converted to ledger,Rekening met onderliggende regels kunnen niet worden geconverteerd naar grootboek
Account with existing transaction can not be converted to group.,Rekening met bestaande transactie kan niet worden omgezet naar een groep .
Account with existing transaction can not be deleted,Rekening met bestaande transactie kan niet worden verwijderd
Account with existing transaction cannot be converted to ledger,Rekening met bestaande transactie kan niet worden geconverteerd naar grootboek
Account {0} cannot be a Group,Rekening {0} kan geen groep zijn
Account {0} does not belong to Company {1},Rekening {0} behoort niet tot Bedrijf {1}
Account {0} does not belong to company: {1},Rekening {0} behoort niet tot bedrijf: {1}
Account {0} does not exist,Account {0} bestaat niet
Account {0} has been entered more than once for fiscal year {1},Rekening {0} is meer dan een keer ingevoerd voor het fiscale jaar {1}
Account {0} is frozen,Rekening {0} is bevroren
Account {0} is inactive,Rekening {0} is niet actief
Account {0} is not valid,Rekening {0} is niet geldig
Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item,Rekening {0} moet van het type 'vaste activa' zijn  omdat Artikel {1} een actiefpost is
Account {0}: Parent account {1} can not be a ledger,Rekening {0}: Bovenliggende rekening {1} kan geen grootboek zijn
Account {0}: Parent account {1} does not belong to company: {2},Rekening {0}: Bovenliggende rekening {1} hoort niet bij bedrijf: {2}
Account {0}: Parent account {1} does not exist,Rekening {0}: Bovenliggende rekening {1} bestaat niet
Account {0}: You can not assign itself as parent account,Rekening {0}: U kunt niet zelf zichzelf toewijzen als bovenliggende rekening
Account: {0} can only be updated via \					Stock Transactions,Rekening: {0} kan alleen worden bijgewerkt via \ Voorraad Transacties
Accountant,Accountant
Accounting,Boekhouding
"Accounting Entries can be made against leaf nodes, called","Boekingen kunnen worden gemaakt tegen leaf nodes , genaamd"
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Boekhoudkundige afschrijving bevroren tot deze datum, kan niemand / te wijzigen toegang behalve rol hieronder aangegeven."
Accounting journal entries.,Accounting journaalposten.
Accounts,Rekeningen
Accounts Browser,Rekeningen Verkenner
Accounts Frozen Upto,Rekeningen bevroren tot
Accounts Payable,Crediteuren
Accounts Receivable,Debiteuren
Accounts Settings,Accounts Settings
Active,Actief
Active: Will extract emails from ,Actief: Gebruikt e-mails van
Activity,Activiteit
Activity Log,Activiteitenlogboek
Activity Log:,Activiteitenlogboek:
Activity Type,Activiteit Type
Actual,Werkelijk
Actual Budget,Werkelijk Budget
Actual Completion Date,Werkelijke Voltooiingsdatum
Actual Date,Werkelijke Datum
Actual End Date,Werkelijke Einddatum
Actual Invoice Date,Werkelijke Factuurdatum
Actual Posting Date,Werkelijke Boekingsdatum
Actual Qty,Werkelijke Aantal
Actual Qty (at source/target),Werkelijke Aantal (bij de bron / doel)
Actual Qty After Transaction,Werkelijke Aantal Na Transactie
Actual Qty: Quantity available in the warehouse.,Werkelijke Aantal: Aantal beschikbaar in het magazijn.
Actual Quantity,Werkelijke hoeveelheid
Actual Start Date,Werkelijke Startdatum
Add,Toevoegen
Add / Edit Taxes and Charges,Toevoegen / Bewerken Belastingen en Heffingen
Add Child,Onderliggende toevoegen
Add Serial No,Voeg Serienummer
Add Taxes,Belastingen toevoegen
Add Taxes and Charges,Belastingen en heffingen toe te voegen
Add or Deduct,Toevoegen of aftrekken
Add rows to set annual budgets on Accounts.,Rijen toevoegen aan jaarlijkse begrotingen op Accounts in te stellen.
Add to Cart,In winkelwagen
Add to calendar on this date,Toevoegen aan agenda op deze datum
Add/Remove Recipients,Toevoegen / verwijderen Ontvangers
Address,Adres
Address & Contact,Adres &amp; Contact
Address & Contacts,Adres &amp; Contact
Address Desc,Adres Desc
Address Details,Adresgegevens
Address HTML,Adres HTML
Address Line 1,Adres Lijn 1
Address Line 2,Adres Lijn 2
Address Template,Adres Template
Address Title,Adres Titel
Address Title is mandatory.,Adres titel is verplicht.
Address Type,Adrestype
Address master.,Adres meester .
Administrative Expenses,administratieve Lasten
Administrative Officer,Administrative Officer
Advance Amount,Advance Bedrag
Advance amount,Advance hoeveelheid
Advances,Vooruitgang
Advertisement,Advertentie
Advertising,advertentie-
Aerospace,ruimte
After Sale Installations,Na Verkoop Installaties
Against,Tegen
Against Account,Tegen account
Against Bill {0} dated {1},Tegen Bill {0} gedateerd {1}
Against Docname,Tegen Docname
Against Doctype,Tegen Doctype
Against Document Detail No,Tegen Document Detail Geen
Against Document No,Tegen document nr.
Against Expense Account,Tegen Expense Account
Against Income Account,Tegen Inkomen account
Against Journal Voucher,Tegen Journal Voucher
Against Journal Voucher {0} does not have any unmatched {1} entry,Tegen Journal Voucher {0} heeft geen ongeëvenaarde {1} toegang hebben
Against Purchase Invoice,Tegen Aankoop Factuur
Against Sales Invoice,Tegen Sales Invoice
Against Sales Order,Tegen klantorder
Against Voucher,Tegen Voucher
Against Voucher Type,Tegen Voucher Type
Ageing Based On,Vergrijzing Based On
Ageing Date is mandatory for opening entry,Vergrijzing Date is verplicht voor het openen van binnenkomst
Ageing date is mandatory for opening entry,Vergrijzing datum is verplicht voor het openen van binnenkomst
Agent,Agent
Aging Date,Aging Datum
Aging Date is mandatory for opening entry,Veroudering Date is verplicht voor het openen van binnenkomst
Agriculture,landbouw
Airline,vliegmaatschappij
All Addresses.,Alle adressen.
All Contact,Alle Contact
All Contacts.,Alle contactpersonen.
All Customer Contact,Alle Customer Contact
All Customer Groups,Alle Doelgroepen
All Day,All Day
All Employee (Active),Alle medewerkers (Actief)
All Item Groups,Alle Item Groepen
All Lead (Open),Alle Lood (Open)
All Products or Services.,Alle producten of diensten.
All Sales Partner Contact,Alle Sales Partner Contact
All Sales Person,Alle Sales Person
All Supplier Contact,Alle Leverancier Contact
All Supplier Types,Alle Leverancier Types
All Territories,Alle gebieden
"All export related fields like currency, conversion rate, export total, export grand total etc are available in Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Alle export gerelateerde gebieden zoals valuta , wisselkoers , export totaal, export eindtotaal enz. zijn beschikbaar in Delivery Note , POS , Offerte , verkoopfactuur , Sales Order etc."
"All import related fields like currency, conversion rate, import total, import grand total etc are available in Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Alle import gerelateerde gebieden zoals valuta , wisselkoers , import totaal, import eindtotaal enz. zijn beschikbaar in aankoopbewijs Leverancier offerte, factuur , bestelbon enz."
All items have already been invoiced,Alle items zijn reeds gefactureerde
All these items have already been invoiced,Al deze items zijn reeds gefactureerde
Allocate,Toewijzen
Allocate leaves for a period.,Toewijzen bladeren voor een periode .
Allocate leaves for the year.,Wijs bladeren voor het jaar.
Allocated Amount,Toegewezen bedrag
Allocated Budget,Toegekende budget
Allocated amount,Toegewezen bedrag
Allocated amount can not be negative,Toegekende bedrag kan niet negatief zijn
Allocated amount can not greater than unadusted amount,Toegekende bedrag kan niet hoger zijn dan unadusted bedrag
Allow Bill of Materials,Laat Bill of Materials
Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item,Laat Bill of Materials moet 'ja ' . Omdat een of veel actieve stuklijsten voor dit artikel aanwezig
Allow Children,Kinderen laten
Allow Dropbox Access,Laat Dropbox Access
Allow Google Drive Access,Laat Google Drive Access
Allow Negative Balance,Laat negatief saldo
Allow Negative Stock,Laat Negatieve voorraad
Allow Production Order,Laat Productieorder
Allow User,Door gebruiker toestaan
Allow Users,Gebruikers toestaan
Allow the following users to approve Leave Applications for block days.,Laat de volgende gebruikers te keuren Verlof Aanvragen voor blok dagen.
Allow user to edit Price List Rate in transactions,Zodat de gebruiker te bewerken prijslijst Rate bij transacties
Allowance Percent,Toelage Procent
Allowance for over-{0} crossed for Item {1},Korting voor over-{0} gekruist voor post {1}
Allowance for over-{0} crossed for Item {1}.,Korting voor over-{0} gekruist voor post {1}.
Allowed Role to Edit Entries Before Frozen Date,Toegestaan ​​Rol te bewerken items voor Frozen Datum
Amended From,Gewijzigd Van
Amount,Bedrag
Amount (Company Currency),Bedrag (Company Munt)
Amount Paid,Betaald bedrag
Amount to Bill,Neerkomen op Bill
An Customer exists with same name,Een klant bestaat met dezelfde naam
"An Item Group exists with same name, please change the item name or rename the item group","Een artikel Group bestaat met dezelfde naam , moet u de naam van het item of de naam van de artikelgroep"
"An item exists with same name ({0}), please change the item group name or rename the item","Een item bestaat met dezelfde naam ( {0} ) , wijzigt u de naam van het item groep of hernoem het item"
Analyst,analist
Annual,jaar-
Another Period Closing Entry {0} has been made after {1},Een ander Periode sluitpost {0} is gemaakt na {1}
Another Salary Structure {0} is active for employee {0}. Please make its status 'Inactive' to proceed.,Een andere salarisstructuur {0} is actief voor werknemer {0} . Maak dan de status ' Inactief ' om verder te gaan .
"Any other comments, noteworthy effort that should go in the records.","Eventuele andere opmerkingen, opmerkelijke inspanning die moet gaan in de administratie."
Apparel & Accessories,Kleding & Toebehoren
Applicability,toepasselijkheid
Applicable For,Toepasselijk voor
Applicable Holiday List,Toepasselijk Holiday Lijst
Applicable Territory,Toepasselijk Territory
Applicable To (Designation),Van toepassing zijn op (Benaming)
Applicable To (Employee),Van toepassing zijn op (Werknemer)
Applicable To (Role),Van toepassing zijn op (Rol)
Applicable To (User),Van toepassing zijn op (Gebruiker)
Applicant Name,Aanvrager Naam
Applicant for a Job.,Kandidaat voor een baan.
Application of Funds (Assets),Toepassing van fondsen ( activa )
Applications for leave.,Aanvragen voor verlof.
Applies to Company,Geldt voor Bedrijf
Apply On,toepassing op
Appraisal,Taxatie
Appraisal Goal,Beoordeling Doel
Appraisal Goals,Beoordeling Doelen
Appraisal Template,Beoordeling Sjabloon
Appraisal Template Goal,Beoordeling Sjabloon Doel
Appraisal Template Title,Beoordeling Template titel
Appraisal {0} created for Employee {1} in the given date range,Beoordeling {0} gemaakt voor Employee {1} in de bepaalde periode
Apprentice,leerling
Approval Status,Goedkeuringsstatus
Approval Status must be 'Approved' or 'Rejected',Goedkeuring Status moet worden ' goedgekeurd ' of ' Afgewezen '
Approved,Aangenomen
Approver,Goedkeurder
Approving Role,Goedkeuren Rol
Approving Role cannot be same as role the rule is Applicable To,Goedkeuring Rol kan niet hetzelfde zijn als de rol van de regel is van toepassing op
Approving User,Goedkeuren Gebruiker
Approving User cannot be same as user the rule is Applicable To,Goedkeuring van Gebruiker kan niet hetzelfde zijn als gebruiker de regel is van toepassing op
Are you sure you want to STOP ,Are you sure you want to STOP 
Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP 
Arrear Amount,Achterstallig bedrag
"As Production Order can be made for this item, it must be a stock item.","Zoals productieorder kan worden gemaakt voor dit punt, moet het een voorraad item."
As per Stock UOM,Per Stock Verpakking
"As there are existing stock transactions for this item, you can not change the values of 'Has Serial No', 'Is Stock Item' and 'Valuation Method'","Want er zijn bestaande voorraad transacties voor dit artikel , kunt u de waarden van ' Has Serial No ' niet veranderen , ' Is Stock Item ' en ' Valuation Method '"
Asset,aanwinst
Assistant,assistent
Associate,associëren
Atleast one of the Selling or Buying must be selected,Tenminste een van de verkopen of aankopen moeten worden gekozen
Atleast one warehouse is mandatory,Tenminste een magazijn is verplicht
Attach Image,Bevestig Afbeelding
Attach Letterhead,Bevestig briefhoofd
Attach Logo,Bevestig Logo
Attach Your Picture,Bevestig Uw Beeld
Attendance,Opkomst
Attendance Date,Aanwezigheid Datum
Attendance Details,Aanwezigheid Details
Attendance From Date,Aanwezigheid Van Datum
Attendance From Date and Attendance To Date is mandatory,Aanwezigheid Van Datum en tot op heden opkomst is verplicht
Attendance To Date,Aanwezigheid graag:
Attendance can not be marked for future dates,Toeschouwers kunnen niet worden gemarkeerd voor toekomstige data
Attendance for employee {0} is already marked,Opkomst voor werknemer {0} is al gemarkeerd
Attendance record.,Aanwezigheid record.
Authorization Control,Autorisatie controle
Authorization Rule,Autorisatie Rule
Auto Accounting For Stock Settings,Auto Accounting Voor Stock Instellingen
Auto Material Request,Automatisch Materiaal Request
Auto-raise Material Request if quantity goes below re-order level in a warehouse,Auto-raise Materiaal aanvragen als kwantiteit gaat onder re-orde niveau in een magazijn
Automatically compose message on submission of transactions.,Bericht automatisch samenstellen overlegging van transacties .
Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box 
Automatically extract Leads from a mail box e.g.,Leads automatisch extraheren uit een brievenbus bijv.
Automatically updated via Stock Entry of type Manufacture/Repack,Automatisch geüpdate via Stock positie van het type Vervaardiging / Verpak
Automotive,Automotive
Autoreply when a new mail is received,Autoreply wanneer er een nieuwe e-mail wordt ontvangen
Available,beschikbaar
Available Qty at Warehouse,Qty bij Warehouse
Available Stock for Packing Items,Beschikbaar voor Verpakking Items
"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Verkrijgbaar in BOM , Delivery Note, aankoopfactuur, Productie Order , Bestelling , Kwitantie , verkoopfactuur , Sales Order , Voorraad Entry , Rooster"
Average Age,Gemiddelde Leeftijd
Average Commission Rate,Gemiddelde Commissie Rate
Average Discount,Gemiddelde korting
Awesome Products,Awesome producten
Awesome Services,Awesome Services
BOM Detail No,BOM Detail nr.
BOM Explosion Item,BOM Explosie Item
BOM Item,BOM Item
BOM No,BOM nr.
BOM No. for a Finished Good Item,BOM nr. voor een afgewerkt goederen item
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},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
Balance Qty,Balance Aantal
Balance Sheet,balans
Balance Value,Balans Waarde
Balance for Account {0} must always be {1},Saldo van account {0} moet altijd {1} zijn
Balance must be,Evenwicht moet worden
"Balances of Accounts of type ""Bank"" or ""Cash""","Saldi van de rekeningen van het type ""Bank"" of ""Kas"""
Bank,Bank
Bank / Cash Account,Bank- / Kasrekening
Bank A/C No.,Bank A / C nr.
Bank Account,Bankrekening
Bank Account No.,Bankrekeningnummer
Bank Accounts,Bankrekeningen
Bank Clearance Summary,Bank Ontruiming Samenvatting
Bank Draft,Bank Draft
Bank Name,Naam Bank
Bank Overdraft Account,Bank Overdraft Account
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
Barcode,Barcode
Barcode {0} already used in Item {1},Barcode {0} is al in gebruik in post {1}
Based On,Gebaseerd op
Basic,Basis
Basic Info,Basis Info
Basic Information,Basis Informatie
Basic Rate,Basis Tarief
Basic Rate (Company Currency),Basis Tarief (Bedrijfs Valuta)
Batch,Batch
Batch (lot) of an Item.,Batch (partij) van een artikel.
Batch Finished Date,Einddatum Batch
Batch ID,Batch ID
Batch No,Batch nr.
Batch Started Date,Startdatum Batch
Batch Time Logs for billing.,Batch logbestanden voor facturering.
Batch-Wise Balance History,Batchgewijze Balans Geschiedenis
Batched for Billing,Gebundeld voor facturering
Better Prospects,Betere vooruitzichten
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
Billed Amt,Gefactureerd Bedr
Billing,Facturering
Billing Address,Factuuradres
Billing Address Name,Factuuradres Naam
Billing Status,Factuur Status
Bills raised by Suppliers.,Facturen van leveranciers.
Bills raised to Customers.,Factureren aan Klanten
Bin,Bak
Bio,Bio
Biotechnology,Biotechnologie
Birthday,Verjaardag
Block Date,Blokeer Datum
Block Days,Blokeer Dagen
Block leave applications by department.,Blok verlaten toepassingen per afdeling.
Blog Post,Blog Post
Blog Subscriber,Blog Abonnee
Blood Group,Bloedgroep
Both Warehouse must belong to same Company,Beide magazijnen moeten tot hetzelfde bedrijf behoren
Box,Doos
Branch,Tak
Brand,Merk
Brand Name,Merknaam
Brand master.,Merk meester.
Brands,Merken
Breakdown,Storing
Broadcasting,Uitzenden
Brokerage,makelaardij
Budget,Begroting
Budget Allocated,Budget Toegewezen
Budget Detail,Budget Detail
Budget Details,Budget Details
Budget Distribution,Budget Distributie
Budget Distribution Detail,Budget Distributie Detail
Budget Distribution Details,Budget Distributie Details
Budget Variance Report,Budget Variantie Rapport
Budget cannot be set for Group Cost Centers,Budget kan niet worden ingesteld voor groep kostenplaatsen
Build Report,Maak Rapport
Bundle items at time of sale.,Bundel artikelen op moment van verkoop.
Business Development Manager,Business Development Manager
Buying,Inkoop
Buying & Selling,Inkoop & Verkoop
Buying Amount,Aankoop Bedrag
Buying Settings,Inkoop Instellingen
"Buying must be checked, if Applicable For is selected as {0}","Aankopen moeten worden gecontroleerd, indien ""VAN TOEPASSING VOOR"" is geselecteerd als {0}"
C-Form,C-Form
C-Form Applicable,C-Form Toepasselijk
C-Form Invoice Detail,C-Form Factuurspecificatie
C-Form No,C-vorm niet
C-Form records,C -Form platen
CENVAT Capital Goods,CENVAT Kapitaalgoederen
CENVAT Edu Cess,CENVAT Edu Cess
CENVAT SHE Cess,CENVAT SHE Cess
CENVAT Service Tax,CENVAT Dienst Belastingen
CENVAT Service Tax Cess 1,CENVAT Dienst Belastingen Cess 1
CENVAT Service Tax Cess 2,CENVAT Dienst Belastingen Cess 2
Calculate Based On,Berekenen gebaseerd op
Calculate Total Score,Bereken Totaalscore
Calendar Events,Agenda Evenementen
Call,Bellen
Calls,Oproepen
Campaign,Campagne
Campaign Name,Campagnenaam
Campaign Name is required,Campagne Naam is vereist
Campaign Naming By,Campagne Naming Door
Campaign-.####,Campagne - . # # # #
Can be approved by {0},Kan door {0} worden goedgekeurd
"Can not filter based on Account, if grouped by Account",Kan niet filteren op basis van account als gegroepeerd per account
"Can not filter based on Voucher No, if grouped by Voucher","Kan niet filteren op basis van Vouchernummer, als gegroepeerd per Voucher"
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Kan verwijzen rij alleen als het type lading is 'On Vorige Row Bedrag ' of ' Vorige Row Total'
Cancel Material Visit {0} before cancelling this Customer Issue,Annuleren Materiaal Bezoek {0} voor het annuleren van deze klant Issue
Cancel Material Visits {0} before cancelling this Maintenance Visit,Annuleren Materiaal Bezoeken {0} voor het annuleren van deze Maintenance Visit
Cancelled,Geannuleerd
Cancelling this Stock Reconciliation will nullify its effect.,Annuleren van dit Stock Verzoening zal het effect teniet doen .
Cannot Cancel Opportunity as Quotation Exists,Kan niet annuleren Opportunity als Offerte Bestaat
Cannot approve leave as you are not authorized to approve leaves on Block Dates,Kan verlof niet goedkeuren omdat u niet bevoegd bent om verloven op Block Data goed te keuren
Cannot cancel because Employee {0} is already approved for {1},Kan niet annuleren omdat Employee {0} is reeds goedgekeurd voor {1}
Cannot cancel because submitted Stock Entry {0} exists,Kan niet annuleren omdat ingediend Stock Entry {0} bestaat
Cannot carry forward {0},Kan niet dragen {0}
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,"Kan Boekjaar Startdatum en Boekjaar Einde Datum  niet wijzigen, als het boekjaar is opgeslagen."
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Kan bedrijf standaard valuta niet veranderen , want er zijn bestaande transacties . Transacties moeten worden geannuleerd om de standaard valuta te wijzigen ."
Cannot convert Cost Center to ledger as it has child nodes,Kan kostenplaats niet omzetten naar grootboek vanwege onderliggende nodes
Cannot covert to Group because Master Type or Account Type is selected.,Kan niet omzetten naar Groep omdat Master Type of Rekening Type is geselecteerd.
Cannot deactive or cancle BOM as it is linked with other BOMs,"Kan stuklijst niet deactiveren of annuleren, omdat het verbonden is met andere stuklijsten"
"Cannot declare as lost, because Quotation has been made.","Kan niet als verloren verklaren, omdat Offerte is gemaakt."
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Kan niet aftrekken als categorie is voor ' Valuation ' of ' Valuation en Total '
"Cannot delete Serial No {0} in stock. First remove from stock, then delete.","Kan Serienummer {0} niet verwijderen in voorraad . Verwijder eerst uit voorraad , dan verwijderen."
"Cannot directly set amount. For 'Actual' charge type, use the rate field","Kan niet direct is opgenomen. Voor ' Actual ""type lading , gebruikt u het veld tarief"
"Cannot overbill for Item {0} in row {0} more than {1}. To allow overbilling, please set in Stock Settings","Kan niet overbill voor post {0} in rij {0} meer dan {1}. Om overbilling staan, stel dan in Stock Instellingen"
Cannot produce more Item {0} than Sales Order quantity {1},Kan niet meer produceren van Artikel {0} dan de Verkooporder hoeveelheid {1}
Cannot refer row number greater than or equal to current row number for this Charge type,Kan niet verwijzen rij getal groter dan of gelijk aan de huidige rijnummer voor dit type Charge
Cannot return more than {0} for Item {1},Kan niet meer retourneren dan {0} voor artikel {1}
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Kan het type lading niet selecteren als 'On Vorige Row Bedrag ' of ' On Vorige Row Totaal ' voor de eerste rij
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for valuation. You can select only 'Total' option for previous row amount or previous row total,Kan het type lading niet selecteren als 'On Vorige Row Bedrag ' of ' On Vorige Row Totaal ' voor waardering . U kunt alleen ' Totaal ' optie voor de vorige rij bedrag of vorige rijtotaal selecteren
Cannot set as Lost as Sales Order is made.,"Kan niet als Verloren instellen, omdat er al een Verkoop Order is gemaakt."
Cannot set authorization on basis of Discount for {0},Kan de autorisatie niet instellen op basis van Korting voor {0}
Capacity,Capaciteit
Capacity Units,Capaciteit Units
Capital Account,vermogensoverdrachtenrekening
Capital Equipments,kapitaal Uitrustingen
Carry Forward,Carry Forward
Carry Forwarded Leaves,Carry Doorgestuurd Bladeren
Case No(s) already in use. Try from Case No {0},Zaak nr. ( s ) al in gebruik. Probeer uit Zaak nr. {0}
Case No. cannot be 0,Zaak nr. mag geen 0
Cash,Kas
Cash In Hand,Kasvoorraad
Cash Voucher,Cash Voucher
Cash or Bank Account is mandatory for making payment entry,Kas- of Bankrekening is verplicht om een  betaling aan te maken
Cash/Bank Account,Kas/Bankrekening
Casual Leave,Casual Leave
Cell Number,Mobiele nummer
Change UOM for an Item.,Wijzig Eenheid voor een Artikel.
Change the starting / current sequence number of an existing series.,Wijzig het start-/ huidige volgnummer van een bestaande serie.
Channel Partner,Channel Partner
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Charge van het type ' Actual ' in rij {0} kan niet worden opgenomen in Item Rate
Chargeable,Oplaadbare
Charity and Donations,Liefdadigheid en Donaties
Chart Name,Grafieknaam
Chart of Accounts,Rekeningschema
Chart of Cost Centers,Grafiek van Kostenplaatsen
Check how the newsletter looks in an email by sending it to your email.,Controleer hoe de nieuwsbrief eruit ziet in een e-mail door het te sturen naar uw e-mail.
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Controleer of terugkerende factuur, schakelt u om te stoppen met terugkerende of zet de juiste Einddatum"
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.",Controleer of u automatische terugkerende facturen nodig heeft. Na het indienen van elke verkoopfactuur zal de sectie Terugkeren zichtbaar zijn.
Check if you want to send salary slip in mail to each employee while submitting salary slip,"Controleer of u wilt loonstrook sturen mail naar elke werknemer, terwijl het indienen van loonstrook"
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Controleer dit als u wilt dwingen de gebruiker om een ​​reeks voor het opslaan te selecteren. Er zal geen standaard zijn als je dit controleren.
Check this if you want to show in website,Selecteer dit als u wilt weergeven in de website
Check this to disallow fractions. (for Nos),Aanvinken om delingen te verbieden.
Check this to pull emails from your mailbox,Aanvinken om e-mails uit je mailbox te halen.
Check to activate,Aanvinken om te activeren
Check to make Shipping Address,Aanvinken om verzendadres te maken
Check to make primary address,Aanvinken om primair adres te maken
Chemical,Chemisch
Cheque,Cheque
Cheque Date,Cheque Datum
Cheque Number,Cheque nummer
Child account exists for this account. You can not delete this account.,Onderliggende rekening bestaat voor deze rekening. U kunt deze niet verwijderen .
City,City
City/Town,Stad / Plaats
Claim Amount,Claim Bedrag
Claims for company expense.,Claims voor bedrijfsonkosten
Class / Percentage,Klasse / Percentage
Classic,Klassiek
Clear Table,Wis Tabel
Clearance Date,Clearance Datum
Clearance Date not mentioned,Ontruiming Datum niet vermeld
Clearance date cannot be before check date in row {0},Klaring mag niet voor check datum in rij {0}
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,Klik op &#39;Sales Invoice&#39; knop om een ​​nieuwe verkoopfactuur maken.
Click on a link to get options to expand get options ,Click on a link to get options to expand get options 
Client,Klant
Close Balance Sheet and book Profit or Loss.,Sluiten Balans en boek Winst of verlies .
Closed,Gesloten
Closing (Cr),Sluiten (Cr)
Closing (Dr),Sluiten (Db)
Closing Account Head,Sluiten Account Hoofd
Closing Account {0} must be of type 'Liability',Closing account {0} moet van het type ' Aansprakelijkheid ' zijn
Closing Date,Afsluitingsdatum
Closing Fiscal Year,Het sluiten van het fiscale jaar
Closing Qty,closing Aantal
Closing Value,eindwaarde
CoA Help,CoA Help
Code,Code
Cold Calling,Cold Calling
Color,Kleur
Column Break,Column Break
Comma separated list of email addresses,Komma&#39;s gescheiden lijst van e-mailadressen
Comment,Commentaar
Comments,Reacties
Commercial,commercieel
Commission,commissie
Commission Rate,Commissie Rate
Commission Rate (%),Commissie Rate (%)
Commission on Sales,Commissie op de verkoop
Commission rate cannot be greater than 100,Commissietarief kan niet groter zijn dan 100
Communication,Communicatie
Communication HTML,Communicatie HTML
Communication History,Communicatie Geschiedenis
Communication log.,Communicatie log.
Communications,communicatie
Company,Bedrijf
Company (not Customer or Supplier) master.,Bedrijf ( geen klant of leverancier ) meester.
Company Abbreviation,Bedrijf Afkorting
Company Details,Bedrijfsgegevens
Company Email,Bedrijf E-mail
"Company Email ID not found, hence mail not sent","Bedrijf Email-id niet gevonden, dus mail niet verzonden"
Company Info,Bedrijfsinformatie
Company Name,Bedrijfsnaam
Company Settings,Bedrijfsinstellingen
Company is missing in warehouses {0},Bedrijf ontbreekt in magazijnen {0}
Company is required,Bedrijf is verplicht
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,"Registratienummers van de onderneming voor uw referentie. Voorbeeld: BTW-nummers, enz."
Company registration numbers for your reference. Tax numbers etc.,"Registratienummers van de onderneming voor uw referentie. Fiscale nummers, enz."
"Company, Month and Fiscal Year is mandatory","Bedrijf , maand en het fiscale jaar is verplicht"
Compensatory Off,compenserende Off
Complete,Compleet
Complete Setup,Voltooien Setup
Completed,Voltooid
Completed Production Orders,Voltooide productieorders
Completed Qty,Voltooide Aantal
Completion Date,Voltooiingsdatum
Completion Status,Voltooiingsstatus
Computer,Computer
Computers,Computers
Confirmation Date,Bevestigingsdatum
Confirmed orders from Customers.,Bevestigde orders van klanten.
Consider Tax or Charge for,Overweeg belasting of heffing voor
Considered as Opening Balance,Beschouwd als openingsbalans
Considered as an Opening Balance,Beschouwd als een openingsbalans
Consultant,Consultant
Consulting,Consulting
Consumable,Verbruiksartikelen
Consumable Cost,Verbruikskosten
Consumable cost per hour,Verbruikskosten per uur
Consumed Qty,Verbruikt aantal
Consumer Products,Consumentenproducten
Contact,Contact
Contact Control,Contact Controle
Contact Desc,Contact Omschr
Contact Details,Contactgegevens
Contact Email,Contact E-mail
Contact HTML,Contact HTML
Contact Info,Contact Info
Contact Mobile No,Contact Mobiele nummer
Contact Name,Contact Naam
Contact No.,Contact Nr
Contact Person,Contactpersoon
Contact Type,Contact Type
Contact master.,Contact meester.
Contacts,Contacten
Content,Inhoud
Content Type,Content Type
Contra Voucher,Contra Voucher
Contract,Contract
Contract End Date,Contract Einddatum
Contract End Date must be greater than Date of Joining,Contract Einddatum moet groter zijn dan datum van indiensttreding zijn
Contribution (%),Bijdrage (%)
Contribution to Net Total,Bijdrage aan Netto Totaal
Conversion Factor,Conversiefactor
Conversion Factor is required,Conversiefactor is verplicht
Conversion factor cannot be in fractions,Conversiefactor kan niet in fracties
Conversion factor for default Unit of Measure must be 1 in row {0},Conversiefactor voor Standaard meeteenheid moet 1 zijn in rij {0}
Conversion rate cannot be 0 or 1,Succespercentage kan niet 0 of 1 zijn
Convert into Recurring Invoice,Omzetten in Terugkerende Factuur
Convert to Group,Converteren naar Groep
Convert to Ledger,Converteren naar Grootboek
Converted,Omgezet
Copy From Item Group,Kopiëren van Item Group
Cosmetics,Cosmetica
Cost Center,Kostenplaats
Cost Center Details,Kostenplaats Details
Cost Center Name,Kostenplaats Naam
Cost Center is required for 'Profit and Loss' account {0},Kostenplaats is vereist voor 'winst- en verliesrekening' rekening {0}
Cost Center is required in row {0} in Taxes table for type {1},Kostenplaats is vereist in regel {0} in Belastingen tabel voor type {1}
Cost Center with existing transactions can not be converted to group,Kostenplaats met bestaande transacties kan niet worden omgezet in groep
Cost Center with existing transactions can not be converted to ledger,Kostenplaats met bestaande transacties kan niet worden omgezet naar grootboek
Cost Center {0} does not belong to Company {1},Kostenplaats {0} behoort niet tot Bedrijf {1}
Cost of Goods Sold,Kostprijs verkopen
Costing,Costing
Country,Land
Country Name,Naam van het land
Country wise default Address Templates,Landgebaseerde standaard Adres Template
"Country, Timezone and Currency","Land, Tijdzone en Valuta"
Create Bank Voucher for the total salary paid for the above selected criteria,Maak Bank Voucher voor het totale loon voor de bovenstaande geselecteerde criteria
Create Customer,Maak klant
Create Material Requests,Maak Materiaal Aanvragen
Create New,Maak nieuw
Create Opportunity,Maak Opportunity
Create Production Orders,Maak Productieorders
Create Quotation,Maak Offerte
Create Receiver List,Maak Ontvanger Lijst
Create Salary Slip,Maak loonstrook
Create Stock Ledger Entries when you submit a Sales Invoice,Maak Voorraad Journaalposten wanneer u een verkoopfactuur indient
"Create and manage daily, weekly and monthly email digests.","Aanmaken en beheren van dagelijkse, wekelijkse en maandelijkse e-mail nieuwsbrieven ."
Create rules to restrict transactions based on values.,Regels maken om transacties op basis van waarden te beperken.
Created By,Gemaakt door
Creates salary slip for above mentioned criteria.,Maakt salarisstrook voor de bovengenoemde criteria.
Creation Date,Aanmaakdatum
Creation Document No,Aanmaken Document nr
Creation Document Type,Aanmaken Document type
Creation Time,Aanmaaktijd
Credentials,Geloofsbrieven
Credit,Krediet
Credit Amt,Krediet bedrag
Credit Card,Credit Card
Credit Card Voucher,Credit Card Voucher
Credit Controller,Credit Controller
Credit Days,Credit Dagen
Credit Limit,Kredietlimiet
Credit Note,Creditnota
Credit To,Met dank aan
Currency,Valuta
Currency Exchange,Wisselkantoor
Currency Name,Valuta naam
Currency Settings,Valuta-instellingen
Currency and Price List,Valuta en Prijslijst
Currency exchange rate master.,Wisselkoers meester.
Current Address,Huidige adres
Current Address Is,Huidige adres is
Current Assets,Vlottende activa
Current BOM,Actuele stuklijst
Current BOM and New BOM can not be same,Huidige Stuklijst en Nieuwe Stuklijst kan niet hetzelfde zijn
Current Fiscal Year,Huidige fiscale jaar
Current Liabilities,Kortlopende verplichtingen
Current Stock,Huidige voorraad
Current Stock UOM,Huidige voorraad eenheid
Current Value,Huidige waarde
Custom,Aangepast
Custom Autoreply Message,Aangepaste Autoreply Bericht
Custom Message,Aangepast bericht
Customer,Klant
Customer (Receivable) Account,Klant (Debiteuren) Account
Customer / Item Name,Klant / Naam van het punt
Customer / Lead Address,Klant / Lead Adres
Customer / Lead Name,Klant / Lead Naam
Customer > Customer Group > Territory,Klant > Klantgroep > Regio
Customer Account Head,Customer Account Head
Customer Acquisition and Loyalty,Klantenwerving en behoud
Customer Address,Klant Adres
Customer Addresses And Contacts,Klant adressen en contacten
Customer Addresses and Contacts,Klant Adressen en Contacten
Customer Code,Klantcode
Customer Codes,Klantcodes
Customer Details,Klant Details
Customer Feedback,Klantenfeedback
Customer Group,Klantengroep
Customer Group / Customer,Klantengroep / Klant
Customer Group Name,Klant Groepsnaam
Customer Intro,Klant Intro
Customer Issue,Klant Issue
Customer Issue against Serial No.,Klant Issue voor Serienummer
Customer Name,Klantnaam
Customer Naming By,Klant Naming Door
Customer Service,Klantenservice
Customer database.,Klantenbestand.
Customer is required,Klant is verplicht
Customer master.,Klantenstam.
Customer required for 'Customerwise Discount',Klant nodig voor 'Klantgebaseerde Korting'
Customer {0} does not belong to project {1},Klant {0} behoort niet tot project {1}
Customer {0} does not exist,Klant {0} bestaat niet
Customer's Item Code,Artikelcode van Klant
Customer's Purchase Order Date,Inkooporder datum van Klant
Customer's Purchase Order No,Inkoopordernummer van Klant
Customer's Purchase Order Number,Inkoopordernummer van Klant
Customer's Vendor,Leverancier van Klant
Customers Not Buying Since Long Time,Klanten Niet kopen Sinds Long Time
Customerwise Discount,Klantgebaseerde Korting
Customize,Aanpassen
Customize the Notification,Aanpassen Kennisgeving
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,Pas de inleidende tekst aan die meegaat als een deel van die e-mail. Elke transactie heeft een aparte inleidende tekst.
DN Detail,DN Detail
Daily,Dagelijks
Daily Time Log Summary,Daily Time Log Samenvatting
Database Folder ID,Database Folder ID
Database of potential customers.,Database van potentiële klanten.
Date,Datum
Date Format,Datumnotatie
Date Of Retirement,Pensioneringsdatum
Date Of Retirement must be greater than Date of Joining,Pensioneringsdatum moet groter zijn dan Datum van Indiensttreding
Date is repeated,Datum wordt herhaald
Date of Birth,Geboortedatum
Date of Issue,Datum van afgifte
Date of Joining,Datum van Indiensttreding
Date of Joining must be greater than Date of Birth,Datum van Indiensttreding moet groter zijn dan Geboortedatum
Date on which lorry started from supplier warehouse,Datum waarop transport gestart is vanuit leveranciersmagazijn
Date on which lorry started from your warehouse,Datum waarop transport gestart is vanuit uw magazijn
Dates,Data
Days Since Last Order,Dagen sinds laatste Order
Days for which Holidays are blocked for this department.,Dagen waarvoor feestdagen zijn geblokkeerd voor deze afdeling.
Dealer,Dealer
Debit,Debet
Debit Amt,Debet Bedr
Debit Note,Debetnota
Debit To,Debitering van
Debit and Credit not equal for this voucher. Difference is {0}.,Debet en Credit niet gelijk voor deze bon. Verschil is {0} .
Deduct,Aftrekken
Deduction,Aftrek
Deduction Type,Aftrek Type
Deduction1,Aftrek1
Deductions,Inhoudingen
Default,Standaard
Default Account,Standaard Account
Default Address Template cannot be deleted,Standaard Adres Template kan niet worden verwijderd
Default Amount,Standaard Bedrag
Default BOM,Standaard Stuklijst
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,Standaard Kas-/Bankrekening wordt automatisch bijgewerkt in POS Factuur als deze modus is geselecteerd.
Default Bank Account,Standaard bankrekening
Default Buying Cost Center,Standaard Inkoop kostenplaats
Default Buying Price List,Standaard Inkoop Prijslijst
Default Cash Account,Standaard Kasrekening
Default Company,Standaard Bedrijf
Default Currency,Standaard valuta
Default Customer Group,Standaard Klant Groep
Default Expense Account,Standaard Kostenrekening
Default Income Account,Standaard Inkomstenrekening
Default Item Group,Standaard Artikelgroep
Default Price List,Standaard Prijslijst
Default Purchase Account in which cost of the item will be debited.,Standaard Inkooprekening waarop de kosten van het artikel zullen worden gedebiteerd.
Default Selling Cost Center,Standaard Verkoop kostenplaats
Default Settings,Standaardinstellingen
Default Source Warehouse,Standaard Bronmagazijn
Default Stock UOM,Standaard Voorraad Eenheid
Default Supplier,Standaardleverancier
Default Supplier Type,Standaard Leverancier Type
Default Target Warehouse,Standaard Doelmagazijn
Default Territory,Standaard Regio
Default Unit of Measure,Standaard Eenheid
"Default Unit of Measure can not be changed directly because you have already made some transaction(s) with another UOM. To change default UOM, use 'UOM Replace Utility' tool under Stock module.","Standaard Eenheid kan niet direct worden veranderd, omdat u al enkele transactie(s) heeft gemaakt met een andere Eenheid. Om de standaard Eenheid te wijzigen, gebruikt u het 'Vervang Eenheden Utility' hulpmiddel in de Voorraadmodule ."
Default Valuation Method,Standaard Waarderingsmethode
Default Warehouse,Standaard Magazijn
Default Warehouse is mandatory for stock Item.,Standaard Magazijn is verplicht voor voorraadartikel .
Default settings for accounting transactions.,Standaardinstellingen voor boekhoudkundige transacties.
Default settings for buying transactions.,Standaardinstellingen voor Inkooptransacties .
Default settings for selling transactions.,Standaardinstellingen voor Verkooptransacties .
Default settings for stock transactions.,Standaardinstellingen voor Voorraadtransacties .
Defense,Defensie
"Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>","Definieer budget voor deze kostenplaats. Om de begroting actie in te stellen, zie <a href=""#!List/Company"">Company Master</a>"
Del,Verw.
Delete,Verwijder
Delete {0} {1}?,Verwijder {0} {1} ?
Delivered,Geleverd
Delivered Items To Be Billed,Geleverde Artikelen nog te factureren
Delivered Qty,Geleverd Aantal
Delivered Serial No {0} cannot be deleted,Geleverd Serienummer {0} kan niet worden verwijderd
Delivery Date,Leveringsdatum
Delivery Details,Levering Details
Delivery Document No,Leveringsdocument nr.
Delivery Document Type,Levering Soort document
Delivery Note,Vrachtbrief
Delivery Note Item,Vrachtbrief Artikel
Delivery Note Items,Vrachtbrief Artikelen
Delivery Note Message,Vrachtbrief Bericht
Delivery Note No,Vrachtbrief Nr
Delivery Note Required,Vrachtbrief Verplicht
Delivery Note Trends,Vrachtbrief Trends
Delivery Note {0} is not submitted,Vrachtbrief {0} is niet ingediend
Delivery Note {0} must not be submitted,Vrachtbrief {0} mag niet worden ingediend
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Vrachtbrief {0} moet worden geannuleerd voordat het annuleren van deze Verkooporder
Delivery Status,Verzendstatus
Delivery Time,Levertijd
Delivery To,Leveren Aan
Department,Afdeling
Department Stores,Warenhuizen
Depends on LWP,Afhankelijk van LWP
Depreciation,waardevermindering
Description,Beschrijving
Description HTML,Beschrijving HTML
Designation,Benaming
Designer,Ontwerper
Detailed Breakup of the totals,Gedetailleerde Breakup van de totalen
Details,Details
Difference (Dr - Cr),Verschil (Db - Cr)
Difference Account,Verschillenrekening
"Difference Account must be a 'Liability' type account, since this Stock Reconciliation is an Opening Entry","De Verschillenrekening moet een 'Passiva' rekening zijn, aangezien deze Voorraad Afstemming een openingspost is."
Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,Verschillende eenheden voor artikelen zal leiden tot een onjuiste (Totaal) Netto gewicht. Zorg ervoor dat Netto gewicht van elk artikel in dezelfde eenheid is.
Direct Expenses,Directe onkosten
Direct Income,Directe Omzet
Disable,onbruikbaar maken
Disable Rounded Total,Uitschakelen Afgerond Totaal
Disabled,Invalide
Discount  %,Korting %
Discount %,Korting %
Discount (%),Korting (%)
Discount Amount,Korting Bedrag
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Korting Velden zullen beschikbaar zijn in Inkooporder, Ontvangstbewijs, Inkoopfactuur"
Discount Percentage,Kortingspercentage
Discount Percentage can be applied either against a Price List or for all Price List.,Kortingspercentage kan worden toegepast tegen een prijslijst of voor alle prijslijsten.
Discount must be less than 100,Korting moet minder dan 100 zijn
Discount(%),Korting (%)
Dispatch,verzending
Display all the individual items delivered with the main items,Toon alle afzonderlijke onderdelen geleverd het hoofdartikel
Distribute transport overhead across items.,Verdeel het vervoer overhead van verschillende items.
Distribution,Distributie
Distribution Id,Distributie Id
Distribution Name,Distributie Naam
Distributor,Distributeur
Divorced,Gescheiden
Do Not Contact,Neem geen contact op
Do not show any symbol like $ etc next to currencies.,"Vertoon geen symbool zoals $, enz. naast valuta."
Do really want to unstop production order: ,Do really want to unstop production order: 
Do you really want to STOP ,Wilt u echt STOPPEN?
Do you really want to STOP this Material Request?,Wilt u echt deze Materiaal Aanvraag STOPPEN?
Do you really want to Submit all Salary Slip for month {0} and year {1},Wilt u echt alle salarisstroken voor de maand {0} en jaar {1} indienen?
Do you really want to UNSTOP ,Do you really want to UNSTOP 
Do you really want to UNSTOP this Material Request?,Wil je echt wilt dit materiaal aanvragen opendraaien ?
Do you really want to stop production order: ,Wilt u echt deze productie order stoppen:
Doc Name,Doc Naam
Doc Type,Doc Type
Document Description,Document Beschrijving
Document Type,Soort document
Documents,Documenten
Domain,Domein
Don't send Employee Birthday Reminders,Stuur geen Werknemer verjaardagsherinneringen
Download Materials Required,Download Benodigde materialen
Download Reconcilation Data,Download Verzoening gegevens
Download Template,Download Template
Download a report containing all raw materials with their latest inventory status,Download een rapport met alle grondstoffen met hun laatste voorraadstatus
"Download the Template, fill appropriate data and attach the modified file.","Download de Template, vul de juiste gegevens in en voeg het gewijzigde bestand er bij."
"Download the Template, fill appropriate data and attach the modified file.All dates and employee combination in the selected period will come in the template, with existing attendance records","Download de Template, vul de juiste gegevens in en voeg het gewijzigde bestand er bij. Alle data en werknemercombinaties in de gekozen periode zal in de template worden opgenomen, inclusief bestaande presentielijsten"
Draft,Ontwerp
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox Toegang toegestaan
Dropbox Access Key,Dropbox Access Key
Dropbox Access Secret,Dropbox Toegang Secret
Due Date,Vervaldag
Due Date cannot be after {0},Due Date mag niet na {0}
Due Date cannot be before Posting Date,Einddatum kan niet voor de Boekingsdatum zijn
Duplicate Entry. Please check Authorization Rule {0},Dubbele vermelding . Controleer Authorization Regel {0}
Duplicate Serial No entered for Item {0},Dupliceer Serienummer ingevoerd voor Artikel {0}
Duplicate entry,dubbele vermelding
Duplicate row {0} with same {1},Dupliceer rij {0} met dezelfde {1}
Duties and Taxes,Invoerrechten en Belastingen
ERPNext Setup,ERPNext Setup
Earliest,Vroegst
Earnest Money,Earnest Money
Earning,Verdienen
Earning & Deduction,Verdienen &amp; Aftrek
Earning Type,Verdienen Type
Earning1,Earning1
Edit,Bewerken
Edu. Cess on Excise,Edu. Cess op Excise
Edu. Cess on Service Tax,Edu. Ces op Dienst Belastingen
Edu. Cess on TDS,Edu. Cess op TDS
Education,Onderwijs
Educational Qualification,Educatieve Kwalificatie
Educational Qualification Details,Educatieve Kwalificatie Details
Eg. smsgateway.com/api/send_sms.cgi,Bijv. smsgateway.com / api / send_sms.cgi
Either debit or credit amount is required for {0},Ofwel debet of credit bedrag is nodig voor {0}
Either target qty or target amount is mandatory,Ofwel doelwit aantal of streefbedrag is verplicht
Either target qty or target amount is mandatory.,Ofwel doelwit aantal of streefbedrag is verplicht.
Electrical,elektrisch
Electricity Cost,elektriciteitskosten
Electricity cost per hour,Kosten elektriciteit per uur
Electronics,elektronica
Email,E-mail
Email Digest,E-mail Digest
Email Digest Settings,E-mail Digest Instellingen
Email Digest: ,Email Digest: 
Email Id,E-mail ID
"Email Id where a job applicant will email e.g. ""jobs@example.com""","E-mail ID waar een sollicitant naartoe zou moeten e-mailen, bijvoorbeeld ""vacatures@example.com"""
Email Notifications,E-mail Notificaties
Email Sent?,E-mail verzonden?
"Email id must be unique, already exists for {0}","E-mail ID moet uniek zijn, bestaat al voor {0}"
Email ids separated by commas.,E-mail IDs gescheiden door komma's.
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""","E-mail instellingen om Leads uit de verkoop e-mail ID te halen, bijvoorbeeld ""verkkop@example.com"" "
Emergency Contact,Noodgeval Contact
Emergency Contact Details,Noodgeval Contactgegevens
Emergency Phone,Noodgeval Telefoonnummer
Employee,Werknemer
Employee Birthday,Werknemer Verjaardag
Employee Details,Medewerker Details
Employee Education,Werknemer Onderwijs
Employee External Work History,Werknemer Externe Werk Geschiedenis
Employee Information,Werknemer Informatie
Employee Internal Work History,Werknemer Interne Werk Geschiedenis
Employee Internal Work Historys,Werknemer Interne Werk Geschiedenis
Employee Leave Approver,Werknemer Verlof Fiatteur
Employee Leave Balance,Werknemer Verlof Balans
Employee Name,Werknemer Naam
Employee Number,Werknemer Nummer
Employee Records to be created by,Werknemer Records worden gecreëerd door
Employee Settings,Werknemer Instellingen
Employee Type,Type werknemer
"Employee designation (e.g. CEO, Director etc.).","Werknemer aanduiding ( bijv. CEO , directeur enz. ) ."
Employee master.,Werknemer stam.
Employee record is created using selected field. ,Werknemer record wordt gemaakt met behulp van geselecteerd veld.
Employee records.,Werknemer records.
Employee relieved on {0} must be set as 'Left',Werknemer ontslagen op {0} moet worden ingesteld als 'Verlaten'
Employee {0} has already applied for {1} between {2} and {3},Werknemer {0} heeft reeds gesolliciteerd voor {1} tussen {2} en {3}
Employee {0} is not active or does not exist,Werknemer {0} is niet actief of bestaat niet
Employee {0} was on leave on {1}. Cannot mark attendance.,Werknemer {0} was met verlof op {1} . Kan aanwezigheid niet markeren .
Employees Email Id,Medewerkers E-mail ID
Employment Details,Dienstverband Details
Employment Type,Dienstverband Type
Enable / disable currencies.,In- / uitschakelen valuta .
Enabled,Ingeschakeld
Encashment Date,Inning Datum
End Date,Einddatum
End Date can not be less than Start Date,Einddatum kan niet vroeger zijn dan startdatum
End date of current invoice's period,Einddatum van de huidige factuurperiode
End of Life,End of Life
Energy,Energie
Engineer,Ingenieur
Enter Verification Code,Voer Verificatie Code in
Enter campaign name if the source of lead is campaign.,"Voer naam voor de campagne in, als de bron van de Lead campagne is."
Enter department to which this Contact belongs,Voer afdeling in waartoe deze Contactpersoon behoort
Enter designation of this Contact,Voer aanduiding van deze Contactpersoon in
"Enter email id separated by commas, invoice will be mailed automatically on particular date","Vul e-mail ID in, gescheiden door komma's. De factuur zal automatisch worden gemaild op specifieke datum"
Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,"Voer de artikelen en geplande aantallen in waarvoor u productieorders wilt aanmaken, of grondstoffen voor analyse wilt downloaden."
Enter name of campaign if source of enquiry is campaign,Voer de naam van de campagne in als bron van onderzoek Campagne is
"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Voer statische url parameters hier in (bijv. afzender=ERPNext, username = ERPNext, wachtwoord = 1234 enz.)"
Enter the company name under which Account Head will be created for this Supplier,Voer de bedrijfsnaam waaronder Account hoofd zal worden aangemaakt voor dit bedrijf
Enter url parameter for message,Voer URL-parameter voor bericht in
Enter url parameter for receiver nos,Voer URL-parameter voor de ontvanger nos
Entertainment & Leisure,Entertainment & Vrije Tijd
Entertainment Expenses,Representatiekosten
Entries,Inzendingen
Entries against ,Entries against 
Entries are not allowed against this Fiscal Year if the year is closed.,Inzendingen zijn niet toegestaan ​​tegen deze fiscale jaar als het jaar gesloten is.
Equity,Vermogen
Error: {0} > {1},Fout : {0} > {1}
Estimated Material Cost,Geschatte Materiaal Kosten
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Zelfs als er meerdere Prijzen Regels met de hoogste prioriteit, worden vervolgens volgende interne prioriteiten aangebracht:"
Everyone can read,Iedereen kan lezen
"Example: ABCD.#####If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.",". Voorbeeld: ABCD # # # # #  Als serie is ingesteld en volgnummer wordt niet bij transacties vermeld, zal dan automatisch het serienummer worden gemaakt op basis van deze serie. Als u wilt altijd expliciet te vermelden serienummers voor dit item. dit veld leeg laten."
Exchange Rate,Wisselkoers
Excise Duty 10,Accijns 10
Excise Duty 14,Accijns 14
Excise Duty 4,Accijns 4
Excise Duty 8,Accijns 8
Excise Duty @ 10,Accijns @ 10
Excise Duty @ 14,Accijns @ 14
Excise Duty @ 4,Accijns @ 4
Excise Duty @ 8,Accijns @ 8
Excise Duty Edu Cess 2,Accijns Edu Cess 2
Excise Duty SHE Cess 1,Accijns SHE Cess 1
Excise Page Number,Accijnzen Paginanummer
Excise Voucher,Accijnzen Voucher
Execution,Uitvoering
Executive Search,Executive Search
Exemption Limit,Vrijstelling Limiet
Exhibition,Tentoonstelling
Existing Customer,Bestaande klant
Exit,Uitgang
Exit Interview Details,Exit Interview Details
Expected,Verwacht
Expected Completion Date can not be less than Project Start Date,Verwachte opleverdatum kan niet kleiner zijn dan startdatum van het project.
Expected Date cannot be before Material Request Date,Verwachte datum kan niet voor de Material Aanvraagdatum
Expected Delivery Date,Verwachte leverdatum
Expected Delivery Date cannot be before Purchase Order Date,Verwachte leverdatum kan niet voor de Inkooporder Datum
Expected Delivery Date cannot be before Sales Order Date,Verwachte leverdatum kan niet voor de Verkooporder Datum
Expected End Date,Verwachte einddatum
Expected Start Date,Verwachte startdatum
Expense,Kosten
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Kosten- / Verschillenrekening ({0}) moet een 'Winst of Verlies' rekening zijn.
Expense Account,Kostenrekening
Expense Account is mandatory,Kostenrekening is verplicht
Expense Claim,Kostendeclaratie
Expense Claim Approved,Kostendeclaratie Goedgekeurd
Expense Claim Approved Message,Kostendeclaratie Goedgekeurd Bericht
Expense Claim Detail,Kostendeclaratie Detail
Expense Claim Details,Kostendeclaratie Details
Expense Claim Rejected,Kostendeclaratie afgewezen
Expense Claim Rejected Message,Kostendeclaratie afgewezen Bericht
Expense Claim Type,Kostendeclaratie Type
Expense Claim has been approved.,Kostendeclaratie is goedgekeurd.
Expense Claim has been rejected.,Kostendeclaratie is afgewezen.
Expense Claim is pending approval. Only the Expense Approver can update status.,Kostendeclaratie is in afwachting van goedkeuring. Alleen de Kosten Goedkeurder kan status bijwerken.
Expense Date,Kosten Datum
Expense Details,Kosten Details
Expense Head,Kosten Hoofd
Expense account is mandatory for item {0},Kostenrekening is verplicht voor artikel {0}
Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,Kosten- of verschillenrekening is verplicht voor artikel {0} omdat het invloed heeft op de totale voorraadwaarde
Expenses,Uitgaven
Expenses Booked,Kosten geboekt
Expenses Included In Valuation,Kosten inbegrepen in waardering
Expenses booked for the digest period,Kosten geboekt voor de digest periode
Expiry Date,Vervaldatum
Exports,Export
External,Extern
Extract Emails,Extract E-mails
FCFS Rate,FCFS Rate
Failed: ,Mislukt:
Family Background,Familie Achtergrond
Fax,Fax
Features Setup,Features Setup
Feed,Feed
Feed Type,Feed Type
Feedback,Terugkoppeling
Female,Vrouwelijk
Fetch exploded BOM (including sub-assemblies),Haal uitgeklapte Stuklijst op (inclusief onderdelen)
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Veld beschikbaar in Vrachtbrief, Offerte, Verkoopfactuur, Verkooporder"
Files Folder ID,Bestanden Folder ID
Fill the form and save it,Vul het formulier in en sla het op
Filter based on customer,Filteren op basis van klant
Filter based on item,Filteren op basis van artikel
Financial / accounting year.,Financiële / boekjaar .
Financial Analytics,Financiële Analyse
Financial Services,Financiële Dienstverlening
Financial Year End Date,Boekjaar Einddatum
Financial Year Start Date,Boekjaar Startdatum
Finished Goods,Gereed Product
First Name,Voornaam
First Responded On,Eerst gereageerd op
Fiscal Year,Boekjaar
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Boekjaar Startdatum en Boekjaar Einddatum zijn al ingesteld voor het fiscale jaar {0}
Fiscal Year Start Date and Fiscal Year End Date cannot be more than a year apart.,Boekjaar Startdatum en Boekjaar Einddatum kunnen niet meer dan een jaar uit elkaar zijn.
Fiscal Year Start Date should not be greater than Fiscal Year End Date,Boekjaar Startdatum mag niet groter zijn dan het Boekjaar Einddatum
Fixed Asset,Vast Activum
Fixed Assets,Vaste Activa
Follow via Email,Volg via e-mail
"Following table will show values if items are sub - contracted. These values will be fetched from the master of ""Bill of Materials"" of sub - contracted items.",Na tafel zal waarden als items zijn sub - gecontracteerde. Deze waarden zullen worden opgehaald van de meester van de &quot;Bill of Materials&quot; van sub - gecontracteerde items.
Food,Voeding
"Food, Beverage & Tobacco","Voeding, Drank en Tabak"
"For 'Sales BOM' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Sales BOM' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Voor 'Sales BOM' items, Warehouse, volgnummer en Batch No zullen worden gezien van de 'Packing List' tafel. Als Warehouse en Batch No zijn gelijk voor alle inpakken van objecten voor een 'Sales BOM' post, kunnen deze waarden in de belangrijkste Item tabel worden ingevoerd, zullen de waarden worden gekopieerd naar 'Packing List' tafel."
For Company,Voor Bedrijf
For Employee,Voor Werknemer
For Employee Name,Voor Naam werknemer
For Price List,Voor Prijslijst
For Production,Voor Productie
For Reference Only.,Alleen ter referentie.
For Sales Invoice,Voor verkoopfactuur
For Server Side Print Formats,Voor Server Side Print Formats
For Supplier,voor Leverancier
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.
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Voor het gemak van de klanten, kunnen deze codes worden gebruikt in gedrukte formaten zoals facturen en de leveringsbonnen"
Fraction,Fractie
Fraction Units,Fractie Units
Freeze Stock Entries,Freeze Stock Entries
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 Stuklijst
From Company,Van Bedrijf
From Currency,Van Valuta
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 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 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 Lead
From Maintenance Schedule,Van onderhoudsschema
From Material Request,Van Materiaal Aanvraag
From Opportunity,Van Opportunity
From Package No.,Van Pakket No
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 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 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"
"Further accounts can be made under Groups, but entries can be made against Ledger","Nadere accounts kunnen worden gemaakt onder groepen, maar items kunnen worden gemaakt tegen Ledger"
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-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 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,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
Get Sales Orders,Get Verkooporders
Get Specification Details,Get Specificatie Details
Get Stock and Rate,Get voorraad en Rate
Get Template,Get Sjabloon
Get Terms and Conditions,Get Algemene Voorwaarden
Get Unreconciled Entries,Krijgen Unreconciled Entries
Get Weekly Off Dates,Ontvang wekelijkse Uit Data
"Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos.","Get waardering tarief en beschikbare voorraad bij de bron / doel pakhuis op de genoemde plaatsen van datum-tijd. Als geserialiseerde item, drukt u op deze toets na het invoeren van seriële nos."
Global Defaults,Global Standaardwaarden
Global POS Setting {0} already created for company {1},Global POS -instelling {0} al gemaakt voor bedrijf {1}
Global Settings,Global Settings
"Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts and create a new Account Ledger (by clicking on Add Child) of type ""Bank""","Ga naar de desbetreffende groep ( meestal Toepassing van Fondsen> vlottende activa > bankrekeningen en maak een nieuw account Ledger ( door te klikken op Toevoegen Kind ) van het type "" Bank """
"Go to the appropriate group (usually Source of Funds > Current Liabilities > Taxes and Duties and create a new Account Ledger (by clicking on Add Child) of type ""Tax"" and do mention the Tax rate.","Ga naar de desbetreffende groep ( meestal bron van fondsen > kortlopende schulden > Belastingen en accijnzen en maak een nieuwe account Ledger ( door te klikken op Toevoegen Kind ) van het type "" Tax"" en niet vergeten het belastingtarief."
Goal,Doel
Goals,Doelen
Goods received from Suppliers.,Goederen ontvangen van leveranciers.
Google Drive,Google Drive
Google Drive Access Allowed,Google Drive Access toegestaan
Government,Overheid
Graduate,Afstuderen
Grand Total,Algemeen totaal
Grand Total (Company Currency),Grand Total (Company Munt)
"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,Bruto Winst
Gross Profit (%),Bruto Winst (%)
Gross Weight,Bruto Gewicht
Gross Weight UOM,Bruto Gewicht Eenheid
Group,Groep
Group by Account,Groeperen per Rekening
Group by Voucher,Groep door Voucher
Group or Ledger,Groep of Grootboek
Groups,Groepen
HR Manager,HR Manager
HR Settings,HR-instellingen
HTML / Banner that will show on the top of product list.,HTML / Banner dat zal laten zien op de bovenkant van het product lijst.
Half Day,Halve dag
Half Yearly,Halfjaarlijkse
Half-yearly,Halfjaarlijks
Happy Birthday!,Gefeliciteerd!
Hardware,hardware
Has Batch No,Heeft Batch nr.
Has Child Node,Heeft onderliggende node
Has Serial No,Heeft Serienummer
Head of Marketing and Sales,Hoofd Marketing en Verkoop
Header,Hoofd
Health Care,Gezondheidszorg
Health Concerns,Gezondheidszorgen
Health Details,Gezondheid Details
Held On,Held Op
Help HTML,Help HTML
"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Help: Om te linken naar een andere record in het systeem, gebruikt &quot;# Vorm / NB / [Note Name] &#39;, zoals de Link URL. (Gebruik geen &quot;http://&quot;)"
"Here you can maintain family details like name and occupation of parent, spouse and children","Hier kunt u onderhouden familie gegevens zoals naam en beroep van de ouder, echtgenoot en kinderen"
"Here you can maintain height, weight, allergies, medical concerns etc","Hier kunt u onderhouden lengte, gewicht, allergieën, medische zorgen, enz."
Hide Currency Symbol,Verberg Valutasymbool
High,Hoog
History In Company,Geschiedenis In Bedrijf
Hold,Houden
Holiday,Feestdag
Holiday List,Holiday Lijst
Holiday List Name,Holiday Lijst Naam
Holiday master.,Vakantie meester .
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,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, 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 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 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 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, 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"
"If the account is frozen, entries are allowed to restricted users.","Als de account wordt gepauzeerd, blijven inzendingen mogen gebruikers met beperkte rechten ."
"If this Account represents a Customer, Supplier or Employee, set it here.","Als dit account is een klant, leverancier of werknemer, hier instellen."
"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Als twee of meer Prijzen Regels zijn gevonden die aan de bovenstaande voorwaarden, wordt prioriteit toegepast. Prioriteit is een getal tussen 0 en 20, terwijl standaardwaarde nul (blanco). Hoger nummer betekent dat het voorrang als er meerdere Prijzen Regels met dezelfde voorwaarden."
If you follow Quality Inspection. Enables Item QA Required and QA No in Purchase Receipt,Als u volgen Kwaliteitscontrole . Stelt Item QA Vereiste en QA Geen in Kwitantie
If you have Sales Team and Sale Partners (Channel Partners)  they can be tagged and maintain their contribution in the sales activity,Als je Sales Team en Verkoop Partners (Channel Partners) ze kunnen worden gelabeld en onderhouden van hun bijdrage in de commerciële activiteit
"If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.","Als u hebt gemaakt van een standaard template in Aankoop en-heffingen Meester, selecteert u een en klikt u op de knop."
"If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.","Als u hebt gemaakt van een standaard template in Sales en-heffingen Meester, selecteert u een en klikt u op de knop."
"If you have long print formats, this feature can be used to split the page to be printed on multiple pages with all headers and footers on each page","Als je al lang af te drukken formaten, kan deze functie gebruikt worden om splitsing van de pagina die moet worden afgedrukt op meerdere pagina&#39;s met alle kop-en voetteksten op elke pagina"
If you involve in manufacturing activity. Enables Item 'Is Manufactured',Als u te betrekken in de productie -activiteit . Stelt Item ' is vervaardigd '
Ignore,Negeren
Ignore Pricing Rule,Negeer Prijsregel
Ignored: ,Genegeerd:
Image,Afbeelding
Image View,Afbeelding Bekijken
Implementation Partner,Implementatie Partner
Import Attendance,Import Toeschouwers
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 (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 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,Feestdagen opnemen in totaal aantal werkdagen.
Income,Inkomsten
Income / Expense,Inkomsten / Uitgaven
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. 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 onkosten
Indirect Income,Indirecte Inkomsten
Individual,Individueel
Industry,Industrie
Industry Type,Industrie Type
Inspected By,Geïnspecteerd door
Inspection Criteria,Inspectie Criteria
Inspection Required,Inspectie Verplicht
Inspection Type,Inspectie Type
Installation Date,Installatie Datum
Installation Note,Installatie Opmerking
Installation Note Item,Installatie Opmerking Item
Installation 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 Support Ticket
Interested,Geïnteresseerd
Intern,intern
Internal,Intern
Internet Publishing,internet Publishing
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 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 artikel {0} . Hoeveelheid moet groter zijn dan 0 .
Inventory,Voorraad
Inventory & Support,Voorraad & Support
Investment Banking,Investment Banking
Investments,investeringen
Invoice Date,Factuurdatum
Invoice Details,Factuurgegevens
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 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 (excl BTW)
Is Active,Is actief
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 Vast Activum
Is LWP,Is LWP
Is Opening,Opent
Is Opening Entry,Wordt Opening Entry
Is POS,Is POS
Is Primary Contact,Is Primaire contactpersoon
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,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,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,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,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,Functiebenaming
"Job profile, qualifications required etc.","Functieprofiel, benodigde kwalificaties enz."
Jobs Email Settings,Vacatures E-mailinstellingen
Journal Entries,Journaalposten
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) bij 100px (h)
Key Performance Area,Key Performance Area
Key Responsibility Area,Key verantwoordelijkheid Area
Kg,kg
LR Date,LR Datum
LR No,LR nummer
Label,Label
Landed Cost Item,Landed Cost Item
Landed Cost Items,Landed Cost Items
Landed Cost Purchase Receipt,Landed Cost Inkoop Ontvangstbewijs
Landed Cost Purchase Receipts,Landed Cost aankoopbonnen
Landed Cost Wizard,Landed Cost Wizard
Landed Cost updated successfully,Landed Cost succesvol bijgewerkt
Language,Taal
Last Name,Achternaam
Last Purchase Rate,Laatste inkooptarief
Latest,laatst
Lead,Lead
Lead Details,Lead Details
Lead Id,Lead Id
Lead Name,Lead Naam
Lead Owner,Lead Eigenaar
Lead Source,Lead Bron
Lead Status,Lead Status
Lead Time Date,Lead Tijd Datum
Lead Time Days,Lead Time Dagen
Lead Time days is number of days by which this item is expected in your warehouse. This days is fetched in Material Request when you select this item.,Levertijd dagen is het aantal dagen 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,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,Verlof Geblokkeerd
Leave Control Panel,Verlof Configuratiescherm
Leave Encashed?,Verlof verzilverd?
Leave Encashment Amount,Laat inning Bedrag
Leave Type,Verlof Type
Leave Type Name,Verlof Type Naam
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 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""","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,"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.,Briefhoofden voor print sjablonen.
Level,Niveau
Lft,Lft
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.
List this Item in multiple groups on the website.,Lijst deze post in meerdere groepen op de website.
"List your products or services that you buy or sell. Make sure to check the Item Group, Unit of Measure and other properties when you start.",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 (Activa)
Local,Lokaal
Login,Login
Login with your new User ID,Log in met je nieuwe gebruikersnaam
Logo,Logo
Logo and Letter Heads,Logo en Briefhoofden
Lost,Verloren
Lost Reason,Reden van verlies
Low,Laag
Lower Income,Lager inkomen
MTN Details,MTN Details
Main,Hoofd
Main Reports,Hoofd Rapporten
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
Maintenance Schedule,Onderhoudsschema
Maintenance Schedule Detail,Onderhoudsschema Detail
Maintenance Schedule Item,Onderhoudsschema Item
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Onderhoudsschema wordt niet gegenereerd voor alle items . Klik op ' Generate Schedule'
Maintenance Schedule {0} exists against {0},Onderhoudsschema {0} bestaat tegen {0}
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Onderhoudsschema {0} moet worden geannuleerd voordat het annuleren van deze verkooporder
Maintenance Schedules,Onderhoudsschema&#39;s
Maintenance Status,Onderhoud Status
Maintenance Time,Onderhoud Tijd
Maintenance Type,Onderhoud Type
Maintenance Visit,Onderhoud Bezoek
Maintenance Visit Purpose,Doel van onderhouds bezoek
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Onderhoud Bezoek {0} moet worden geannuleerd voordat het annuleren van deze verkooporder
Maintenance start date can not be before delivery date for Serial No {0},Onderhoud startdatum kan niet voor de leveringsdatum voor Serienummer {0}
Major/Optional Subjects,Major / keuzevakken
Make ,Make 
Make Accounting Entry For Every Stock Movement,Maak boekhoudkundige afschrijving voor elke Stock Movement
Make Bank Voucher,Maak Bank Voucher
Make Credit Note,Maak Credit Note
Make Debit Note,Maak debetnota
Make Delivery,Maak Levering
Make Difference Entry,Maak Verschil Entry
Make Excise Invoice,Maak Accijnzen Factuur
Make Installation Note,Maak installatie Opmerking
Make Invoice,Maak Factuur
Make Maint. Schedule,Maken Maint . dienstregeling
Make Maint. Visit,Maken Maint . bezoek
Make Maintenance Visit,Maak Maintenance Visit
Make Packing Slip,Maak pakbon
Make Payment,Betalen
Make Payment Entry,Betalen Entry
Make Purchase Invoice,Maak inkoopfactuur
Make Purchase Order,Maak inkooporder
Make Purchase Receipt,Maak ontvangsbevestiging
Make Salary Slip,Maak Salarisstrook
Make Salary Structure,Maak salarisstructuur
Make Sales Invoice,Maak verkoopfactuur
Make Sales Order,Maak verkooporder
Make Supplier Quotation,Maak Leverancier Offerte
Make Time Log Batch,Maak tijd Inloggen Batch
Male,Mannelijk
Manage Customer Group Tree.,Beheer Customer Group Boom .
Manage Sales Partners.,Beheer Verkoop Partners.
Manage Sales Person Tree.,Beheer Sales Person Boom .
Manage Territory Tree.,Beheer Grondgebied Boom.
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 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,Onderdeelnummer fabrikant
Manufacturing,Productie
Manufacturing Quantity,Productie Aantal
Manufacturing Quantity is mandatory,Productie Aantal is verplicht
Margin,Marge
Marital Status,Burgerlijke staat
Market Segment,Marktsegment
Marketing,Marketing
Marketing Expenses,marketingkosten
Married,Getrouwd
Mass Mailing,Mass Mailing
Master Name,Stam naam
Master Name is mandatory if account type is Warehouse,Master Naam is verplicht als account type Warehouse
Master Type,Stam type
Masters,Stamdata
Match non-linked Invoices and Payments.,Match niet-gekoppelde facturen en betalingen.
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 Artikel
Material Request Items,Materiaal Aanvraag Artikelen
Material Request No,Materiaal Aanvraag nr.
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 (uitgeklapt)
Max 5 characters,Max. 5 tekens
Max Days Leave Allowed,Max Dagen Verlof toegestaan
Max Discount (%),Max Korting (%)
Max Qty,Max Aantal
Max discount allowed for item: {0} is {1}%,Maximale korting toegestaan voor artikel: {0} is {1}%
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}%,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 bijgewerkt
Messages,Berichten
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
Milestones,Mijlpalen
Milestones will be added as Events in the Calendar,Mijlpalen als evenementen aan deze agenda worden toegevoegd.
Min Order Qty,Minimum Aantal
Min Qty,min Aantal
Min Qty can not be greater than Max Qty,Min Aantal kan niet groter zijn dan Max Aantal zijn
Minimum Amount,Minimumbedrag
Minimum Order Qty,Minimum bestel aantal
Minute,minuut
Misc Details,Div Details
Miscellaneous Expenses,diverse kosten
Miscelleneous,Divers
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 Aanwezigheids Sheet
Monthly Earning & Deduction,Maandelijkse Verdienen &amp; Aftrek
Monthly Salary Register,Maandsalaris Register
Monthly salary statement.,Maandsalaris verklaring.
More Details,Meer details
More Info,Meer info
Motion Picture & Video,Motion Picture & Video
Moving Average,Moving Average
Moving Average Rate,Moving Average Rate
Mr,De heer
Ms,Mevrouw
Multiple Item prices.,Meerdere Artikelprijzen .
"Multiple Price Rule exists with same criteria, please resolve \			conflict by assigning priority. Price Rules: {0}","Prijs Regel Meerdere bestaat met dezelfde criteria, dan kunt u oplossen door \ conflict door het toekennen van prioriteit. Prijs Regels: {0}"
Music,muziek
Must be Whole Number,Moet heel getal zijn
Name,Naam
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 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.,Nettoloon (in woorden) zal zichtbaar zijn zodra de Salarisstrook wordt opgeslagen.
Net Profit / Loss,Netto winst / verlies
Net Total,Netto Totaal
Net Total (Company Currency),Netto Totaal (Bedrijfsvaluta)
Net Weight,Netto Gewicht
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 ,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 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 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,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,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, leads."
Newspaper Publishers,Kranten Uitgeverijen
Next,volgende
Next Contact By,Volgende Contact Door
Next Contact Date,Volgende Contact Datum
Next Date,Volgende datum
Next email will be sent on:,Volgende e-mail wordt verzonden op:
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. 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 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},Er bestaat geen standaard Stuklijst voor Artikel {0}
No description given,Geen beschrijving gegeven
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,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 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,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, 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 geen boekingen aanmaken voor groepen.
Note: {0},Opmerking : {0}
Notes,Opmerkingen
Notes:,Opmerkingen:
Nothing to request,Niets aan te vragen
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,Kantoor Apparatuur
Office Maintenance Expenses,Kantoor onderhoudskosten
Office Rent,Kantoorhuur
Old Parent,Oude Parent
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 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 Verlof Goedkeurder kan deze verlofaanvraag indienen
Open,Open
Open Production Orders,Open productieorders
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 Tijd
Opening Value,Opening Waarde
Opening for a Job.,Vacature voor een baan.
Operating Cost,Operationele kosten
Operation Description,Operatie Beschrijving
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 Artikel
Opportunity Items,Opportunity Artikelen
Opportunity Lost,Opportunity Verloren
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,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,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.,Orders vrijgegeven voor productie.
Organization Name,Naam van de Organisatie
Organization Profile,organisatie Profiel
Organization branch master.,Organisatie tak meester .
Organization unit (department) master.,Organisatie -eenheid (departement) meester.
Other,Ander
Other Details,Andere Details
Others,anderen
Out Qty,out Aantal
Out Value,out Waarde
Out of AMC,Uit AMC
Out of Warranty,Uit de garantie
Outgoing,Uitgaande
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,Eigendom
Owner,eigenaar
P L A - Cess Portion,PLA - Cess Portie
PL or BS,PL of BS
PO Date,IO datum
PO No,IO nummer
POP3 Mail Server,POP3-e-mailserver
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 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
Package Items,Pakket Artikelen
Package Weight Details,Pakket gewicht details
Packed Item,Levering Opmerking Verpakking Item
Packed quantity must equal quantity for Item {0} in row {1},Verpakt hoeveelheid moet hoeveelheid die gelijk is voor post {0} in rij {1}
Packing Details,Details van de verpakking
Packing List,Paklijst
Packing Slip,Pakbon
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,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,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,Bovenliggende Regio
Parent Website Page,Bovenliggende Website Pagina
Parent Website Route,Bovenliggende Website Route
Parenttype,Parenttype
Part-time,Deeltijds
Partially Completed,Gedeeltelijk afgesloten
Partly Billed,Deels Gefactureerd
Partly Delivered,Deels geleverd
Partner Target Detail,Partner Target Detail
Partner Type,Partner Type
Partner's Website,Website partner
Party,Partij
Party Account,Party Account
Party Type,partij Type
Party Type Name,Partij Type Naam
Passive,Passief
Passport Number,Paspoortnummer
Password,Wachtwoord
Pay To / Recd From,Betaal aan / Ontv van
Payable,betaalbaar
Payables,Schulden
Payables Group,Schulden Groep
Payment Days,Betaling Dagen
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 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,Loonadministratie Instellingen
Pending,In afwachting van
Pending Amount,In afwachting van Bedrag
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%
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,Vast Adres
Permanent Address Is,Vast Adres is
Permission,Toestemming
Personal,Persoonlijk
Personal Details,Persoonlijke Gegevens
Personal Email,Persoonlijke e-mail
Pharmaceutical,Geneesmiddel
Pharmaceuticals,Geneesmiddelen
Phone,Telefoon
Phone No,Telefoonnummer
Piecework,stukwerk
Pincode,Pincode
Place of Issue,Plaats van uitgifte
Plan for maintenance visits.,Plan voor onderhoud bezoeken.
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,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.,'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 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 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 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 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 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 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 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 artikelcode
Please select month and year,Selecteer maand en jaar
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 Doctoraal
Postal,Post-
Postal Expenses,portokosten
Posting Date,Plaatsingsdatum
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
Present,Presenteer
Prevdoc DocType,Prevdoc DocType
Prevdoc Doctype,Prevdoc Doctype
Preview,Voorbeeld
Previous,vorig
Previous Work Experience,Vorige Werkervaring
Price,prijs
Price / Discount,Prijs / Korting
Price List,Prijslijst
Price List Currency,Prijslijst Valuta
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 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,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 Kop
Print Without Amount,Printen zonder Bedrag
Print and Stationary,Afdrukken en kantoorartikelen
Printing and Branding,Printen en Branding
Priority,Prioriteit
Private Equity,Eigen Vermogen
Privilege Leave,Bijzonder Verlof
Probation,proeftijd
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 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 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 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 Mijlpaal
Project Milestones,Project Mijlpalen
Project Name,Naam van het project
Project Start Date,Project Start Datum
Project Type,Project Type
Project Value,Project Waarde
Project activity / task.,Project activiteit / taak.
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 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,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,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,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 éé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 eenheid
Qty to Deliver,Aantal te leveren
Qty to Order,Aantal te bestellen
Qty to Receive,Aantal te ontvangen
Qty to Transfer,Aantal over te boeken
Qualification,Kwalificatie
Quality,Kwaliteit
Quality Inspection,Kwaliteitscontrole
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 Tarief
Quantity and Warehouse,Hoeveelheid en magazijn
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,Kwartaal
Quick Help,Quick Help
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
Quotation Trends,Offerte Trends
Quotation {0} is cancelled,Offerte {0} is geannuleerd
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,Maak Materiaal Aanvraag wanneer voorraad daalt tot onder het bestelniveau
Raised By,Opgevoed door
Raised By (Email),Opgevoerd door (E-mail)
Random,Toeval
Range,Reeks
Rate,Tarief
Rate ,Tarief
Rate (%),Tarief (%)
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 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,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,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,Debiteuren
Receivables / Payables,Debiteuren / Crediteuren
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 Lijst is leeg. Maak Ontvanger Lijst
Receiver Parameter,Receiver Parameter
Recipients,Ontvangers
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
Reduce Earning for Leave Without Pay (LWP),Verminderen Inkomsten voor onbetaald verlof
Ref,Ref
Ref Code,Ref Code
Ref SQ,Ref SQ
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 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 Rij #
Refresh,Verversen
Registration Details,Registratie Details
Registration Info,Registratie Info
Rejected,Afgewezen
Rejected Quantity,Afgewezen Aantal
Rejected Serial No,Afgewezen Serienummer
Rejected Warehouse,Afgewezen Magazijn
Rejected Warehouse is mandatory against regected item,Afgewezen Magazijn is verplicht bij een afgewezen Artikel.
Relation,Relatie
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 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 op dag van de maand
Replace,Vervang
Replace Item / BOM in all BOMs,Vervang Item / Stuklijst in alle stuklijsten
Replied,Beantwoord
Report Date,Rapport datum
Report Type,Rapport Type
Report Type is mandatory,Rapport type is verplicht
Reports to,Rapporteert aan
Reqd By Date,Benodigd op datum
Reqd by Date,Reqd op Datum
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,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 Overschotten
Reset Filters,Reset Filters
Resignation Letter Date,Ontslagbrief Datum
Resolution,Oplossing
Resolution Date,Oplossing Datum
Resolution Details,Oplossing Details
Resolved By,Opgelost door
Rest Of The World,Rest van de Wereld
Retail,Retail
Retail & Wholesale,Retail & Groothandel
Retailer,Retailer
Review Date,Herzieningsdatum
Rgt,Rgt
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 bovenliggende kostenplaats hebben
Rounded Off,afgerond
Rounded Total,Afgerond Totaal
Rounded Total (Company Currency),Afgerond Totaal (Bedrijfsvaluta)
Row # ,Rij #
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} : 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 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 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 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 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
SMS Center,SMS Center
SMS Gateway URL,SMS Gateway URL
SMS Log,SMS Log
SMS Parameter,SMS Parameter
SMS Sender Name,SMS Afzender naam
SMS Settings,SMS-instellingen
SO Date,VO Datum
SO Pending Qty,VO afwachting Aantal
SO Qty,VO Aantal
Salary,Salaris
Salary Information,Salaris Informatie
Salary Manager,Salaris beheerder
Salary Mode,Salaris Modus
Salary Slip,Salarisstrook
Salary Slip Deduction,Salarisstrook Aftrek
Salary Slip Earning,Salarisstrook Inkomen
Salary Slip of employee {0} already created for this month,Salarisstrook van de werknemer {0} al gemaakt voor deze maand
Salary Structure,Salarisstructuur
Salary Structure Deduction,Salaris Structuur Aftrek
Salary Structure Earning,Salaris Structuur Inkomen
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 stam .
Sales,Verkoop
Sales Analytics,Verkoop analyse
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 e-mailinstellingen
Sales Expenses,Verkoopkosten
Sales Extras,Verkoop Extra's
Sales Funnel,Verkoop Trechter
Sales Invoice,Verkoopfactuur
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} 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 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 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,Verkoop Partner Doel
Sales Partners Commission,Verkoop Partners Commissie
Sales Person,Verkoper
Sales Person Name,Verkoper Naam
Sales Person Target Variance Item Group-Wise,Sales Person Doel Variance Post Group - Wise
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 Belasting en Kosten
Sales Taxes and Charges Master,Verkoop Belasting en Kosten stam
Sales Team,Verkoop Team
Sales Team Details,Verkoop Team Details
Sales Team1,Verkoop Team1
Sales and Purchase,Verkoop en Inkoop
Sales campaigns.,Verkoop campagnes
Salutation,Aanhef
Sample Size,Monster grootte
Sanctioned Amount,Gesanctioneerde Bedrag
Saturday,Zaterdag
Schedule,Plan
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,Planner mislukte Evenementen
School/University,School / Universiteit
Score (0-5),Score (0-5)
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,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 ""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 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 Artikelen
Select Project...,Selecteer Project ...
Select Purchase Receipts,Selecteer Ontvangstbevestigingen
Select Sales Orders,Selecteer Verkooporders
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 Magazijn ...
Select Your Language,Selecteer uw taal
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 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.","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}","Verkoop moet zijn aangevinkt, indien ""Van toepassing voor"" is geselecteerd als {0}"
Send,Verstuur
Send Autoreply,Stuur Automatisch Antwoord
Send Email,E-mail verzenden
Send From,Stuur Van
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 naar deze lijst
Sender Name,Naam afzender
Sent On,Verzonden op
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,Serienummer Details
Serial No Service Contract Expiry,Serienummer Service Contract Afloop
Serial No Status,Serienummer Status
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 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} 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} 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,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,Zet Status als Beschikbaar
Set as Default,Instellen als standaard
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 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,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,Delen
Share With,Delen met
Shareholders Funds,eigen middelen
Shipments to customers.,Verzendingen naar klanten.
Shipping,Verzending
Shipping Account,Verzending Rekening
Shipping Address,Verzendadres
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
Shopping Cart,Winkelwagen
Short biography for website and other publications.,Korte biografie voor website en andere publicaties.
"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 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,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,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,Zeep & Wasmiddel
Software,software
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 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 "" / "" 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 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 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 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,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,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,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,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 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.,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 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,Succesvol Afgeletterd
Suggestions,Suggesties
Sunday,Zondag
Supplier,Leverancier
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
Supplier Intro,Leverancier Intro
Supplier Invoice Date,Factuurdatum Leverancier
Supplier Invoice No,Factuurnr. Leverancier
Supplier Name,Leverancier Naam
Supplier Naming By,Leverancier Benaming Door
Supplier Part Number,Leverancier Onderdeelnummer
Supplier Quotation,Leverancier Offerte
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 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 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 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.","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)
TDS (Interest),TDS (Interest)
TDS (Rent),TDS (huur)
TDS (Salary),TDS (Salaris)
Target  Amount,Streefbedrag
Target Detail,Doel Detail
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
Tax,Belasting
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,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 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 (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 (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 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,Algemene Voorwaarden Inhoud
Terms and Conditions Details,Algemene Voorwaarden Details
Terms and Conditions Template,Algemene voorwaarden Template
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 ID
Test the Newsletter,Test de nieuwsbrief
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 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 éé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 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 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,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 sjablonen bijv. Proforma Factuur.
To,Naar
To Currency,Naar Valuta
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 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.,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 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 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 Totaal Credit. Het verschil is {0}
Total Deduction,Totaal Aftrek
Total Earning,Totale Winst
Total Experience,Total Experience
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 Verlofdagen Toegewezen
Total Message(s),Totaal Bericht(en)
Total Operating Cost,Totale exploitatiekosten
Total Points,Totaal aantal punten
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),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 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.,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 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,Vervoerder vrachtwagen nummer
Travel,reizen
Travel Expenses,reiskosten
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.","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 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,Binnen Garantie
Unit,eenheid
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 / Ploegen
Unpaid,Onbetaald
Unreconciled Payment Details,Niet-afgeletterde Betalingsgegevens
Unscheduled,Ongeplande
Unsecured Loans,ongedekte leningen
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,Bijwerken Gereed Product
Update Landed Cost,Update Landed Cost
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 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 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 briefhoofd en logo - u kunt deze later bewerken.
Upper Income,Bovenste Inkomen
Urgent,Dringend
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 Werknemer {0}
User Name,Gebruikersnaam
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,Gebruikerspecifiek
User must always select,Gebruiker moet altijd kiezen
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 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 Regio's
Valid From,Geldig van
Valid Upto,Geldig Tot
Valid for Territories,Geldig voor Territories
Validate,Bevestigen
Valuation,Waardering
Valuation Method,Waardering Methode
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,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 nr
Voucher Detail No,Voucher Detail nr
Voucher Detail Number,Voucher Detail Nummer
Voucher ID,Voucher ID
Voucher No,Voucher nr.
Voucher Type,Voucher Type
Voucher Type and Date,Voucher Type en Datum
Walk In,Walk In
Warehouse,Magazijn
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 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},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 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}: 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 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 artikel
We sell this Item,Wij verkopen dit artikel
Website,Website
Website Description,Website Beschrijving
Website Item Group,Website Artikel Groep
Website Item Groups,Website Artikelgroepen
Website Settings,Website instellingen
Website Warehouse,Website Magazijn
Wednesday,Woensdag
Weekly,Wekelijks
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 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 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
Will be updated after Sales Invoice is Submitted.,Zal worden bijgewerkt zodra verkoopfactuur is ingediend.
Will be updated when batched.,Zal worden bijgewerkt wanneer gedoseerd.
Will be updated when billed.,Zal worden bijgewerkt wanneer gefactureerd.
Wire Transfer,overboeking
With Operations,Met Operations
With Period Closing Entry,Met Periode sluitpost
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,Afschrijvingsrekening
Write Off Amount,Afschrijvingsbedrag
Write Off Amount <=,Schrijf Uit Bedrag &lt;=
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,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 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 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,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
Your Suppliers,Uw Leveranciers
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 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.
and,en
are not allowed.,zijn niet toegestaan ​​.
assigned by,toegewezen door
cannot be greater than 100,mag niet groter zijn dan 100
"e.g. ""Build tools for builders""","bijv. ""Bouwgereedschap voor bouwers """
"e.g. ""MC""","bijv. ""MB"""
"e.g. ""My Company LLC""","bijv. ""Mijn Bedrijf BV"""
e.g. 5,bijv. 5
"e.g. Bank, Cash, Credit Card","bijv. Bank, Kas, Credit Card"
"e.g. Kg, Unit, Nos, m","bijv. Kg, Stuks, Doos, Paar"
e.g. VAT,bijv. BTW
eg. Cheque Number,bijv. Cheque nummer
example: Next Day Shipping,Bijvoorbeeld: Next Day Shipping
lft,lft
old_parent,old_parent
rgt,RGT
subject,onderwerp
to,naar
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 .
{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} budget voor Account {1} tegen kostenplaats {2} zal overschrijden door {3}
{0} can not be negative,{0} kan niet negatief zijn
{0} created,{0} aangemaakt
{0} does not belong to Company {1},{0} is niet van Company {1}
{0} entered twice in Item Tax,{0} twee keer opgenomen in post Tax
{0} is an invalid email address in 'Notification Email Address',{0} is een ongeldig e-mailadres in ' Notification E-mailadres '
{0} is mandatory,{0} is verplicht
{0} is mandatory for Item {1},{0} is verplicht voor post {1}
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} is verplicht. Misschien Valutawissel record is niet gemaakt voor {1} naar {2}.
{0} is not a stock Item,{0} is geen voorraad artikel
{0} is not a valid Batch Number for Item {1},{0} is geen geldig batchnummer voor post {1}
{0} is not a valid Leave Approver. Removing row #{1}.,{0} is geen geldig Leave Approver. Het verwijderen van rij # {1}.
{0} is not a valid email id,{0} is geen geldig e-id
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} is nu de standaard boekjaar . Vernieuw uw browser om de wijziging door te voeren .
{0} is required,{0} is verplicht
{0} must be a Purchased or Sub-Contracted Item in row {1},{0} moet een gekochte of uitbesteed Item in rij {1}
{0} must be reduced by {1} or you should increase overflow tolerance,{0} moet worden verminderd door {1} of moet je overflow tolerantie verhogen
{0} must have role 'Leave Approver',{0} moet rol ' Leave Approver ' hebben
{0} valid serial nos for Item {1},{0} geldig serienummer nos voor post {1}
{0} {1} against Bill {2} dated {3},{0} {1} tegen Bill {2} gedateerd {3}
{0} {1} against Invoice {2},{0} {1} tegen Factuur {2}
{0} {1} has already been submitted,{0} {1} al is ingediend
{0} {1} has been modified. Please refresh.,{0} {1} is gewijzigd . Vernieuw .
{0} {1} is not submitted,{0} {1} wordt niet ingediend
{0} {1} must be submitted,{0} {1} moet worden ingediend
{0} {1} not in any Fiscal Year,{0} {1} niet in een boekjaar
{0} {1} status is 'Stopped',{0} {1} status ' Gestopt '
{0} {1} status is Stopped,{0} {1} status Gestopt
{0} {1} status is Unstopped,{0} {1} status ontsloten
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: kostenplaats is verplicht voor Item {2}
{0}: {1} not found in Invoice Details table,{0}: {1} niet gevonden in Factuur Details tabel
