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