 (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 already been submitted.,al is ingediend.
 has been freezed. \				Only Accounts Manager can do transaction against this account,is bevroren. \ Accounts Manager kan doen transactie tegen deze account
" is less than equals to zero in the system, \						valuation rate is mandatory for this item","is minder dan gelijk aan nul in het systeem, \ taxatie tarief is verplicht voor dit item"
 is mandatory,is verplicht
 is mandatory for GL Entry,is verplicht voor GL Entry
 is not a ledger,is niet een grootboek
 is not active,niet actief
 is not set,is niet ingesteld
 is now the default Fiscal Year. \			Please refresh your browser for the change to take effect.,is nu de standaard boekjaar. \ Vernieuw uw browser om de wijziging door te voeren.
 is present in one or many Active BOMs,aanwezig is in een of vele Actieve stuklijsten
 not active or does not exists in the system,niet actief of niet bestaat in het systeem
 not submitted,niet ingediend
 or the BOM is cancelled or inactive,of de BOM wordt geannuleerd of inactief
 should be 'Yes'. As Item: ,zou moeten zijn &#39;Yes&#39;. Als Item:
 should be same as that in ,dezelfde als die moeten worden in
 was on leave on ,was op verlof op
 will be over-billed against mentioned ,wordt over-gefactureerd tegen genoemde
 will become ,zal worden
"""Company History""",&quot;Geschiedenis&quot;
"""Team Members"" or ""Management""",&quot;Team Members&quot; of &quot;Management&quot;
%  Delivered,Geleverd%
% Amount Billed,Gefactureerd% Bedrag
% Billed,% Gefactureerd
% Completed,% Voltooid
% Installed,% Geïnstalleerd
% Received,% Ontvangen
% of materials billed against this Purchase Order.,% Van de materialen in rekening gebracht tegen deze Purchase Order.
% of materials billed against this Sales Order,% Van de materialen in rekening gebracht tegen deze verkooporder
% of materials delivered against this Delivery Note,% Van de geleverde materialen tegen deze Delivery Note
% of materials delivered against this Sales Order,% Van de geleverde materialen tegen deze verkooporder
% of materials ordered against this Material Request,% Van de bestelde materialen tegen dit materiaal aanvragen
% of materials received against this Purchase Order,% Van de materialen ontvangen tegen deze Kooporder
"' can not be managed using Stock Reconciliation.\					You can add/delete Serial No directly, \					to modify stock of this item.","&#39;Kan niet worden beheerd met behulp van Stock Verzoening. \ U kunt toevoegen / verwijderen Serienummer direct, \ om de balans op van dit artikel te wijzigen."
' in Company: ,&#39;In Bedrijf:
'To Case No.' cannot be less than 'From Case No.',&#39;Om Case No&#39; kan niet minder zijn dan &#39;Van Case No&#39;
* Will be calculated in the transaction.,* Zal worden berekend in de transactie.
"**Budget Distribution** helps you distribute your budget across months if you have seasonality in your business.To distribute a budget using this distribution, set this **Budget Distribution** in the **Cost Center**","** Budget Distributie ** helpt u uw budget te verdelen over maanden, indien u seizoensgebondenheid in uw business.To verspreiden van een budget met behulp van deze verdeling, stelt u deze ** Budget Distributie ** in het ** Cost Center **"
**Currency** Master,** Valuta ** Master
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Boekjaar ** staat voor een boekjaar. Alle boekingen en andere grote transacties worden bijgehouden tegen ** boekjaar **.
. Outstanding cannot be less than zero. \				 	Please match exact outstanding.,. Openstaande kan niet lager zijn dan nul. \ Gelieve overeenkomen exacte uitstekend.
. Please set status of the employee as 'Left',. Stelt u de status van de werknemer als &#39;Links&#39;
. You can not mark his attendance as 'Present',. Je kunt zijn aanwezigheid als &#39;Present&#39; niet markeren
"000 is black, fff is white","000 is zwart, fff is wit"
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,1 Valuta = [?] FractionFor bijv. 1 USD = 100 Cent
1. To maintain the customer wise item code and to make them searchable based on their code use this option,1. Om de klant wijzen artikelcode te behouden en om ze doorzoekbaar te maken op basis van hun code te gebruiken van deze optie
12px,12px
13px,13px
14px,14px
15px,15px
16px,16px
2 days ago,2 dagen geleden
: Duplicate row from same ,: Dubbele rij van dezelfde
: It is linked to other active BOM(s),: Het is gekoppeld aan andere actieve BOM (s)
: Mandatory for a Recurring Invoice.,: Verplicht voor een terugkerende factuur.
"<a href=""#!Sales Browser/Customer Group"">To manage Customer Groups, click here</a>","<a href=""#!Sales Browser/Customer Group"">Om Doelgroepen beheren, klik hier</a>"
"<a href=""#!Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#!Sales Browser/Item Group"">Beheren Artikelgroepen</a>"
"<a href=""#!Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#!Sales Browser/Territory"">Om Territory beheren, klik hier</a>"
"<a href=""#Sales Browser/Customer Group"">Manage Customer Groups</a>","<a href=""#Sales Browser/Customer Group"">Beheren Doelgroepen</a>"
"<a href=""#Sales Browser/Customer Group"">To manage Territory, click here</a>","<a href=""#Sales Browser/Customer Group"">Om Territory beheren, klik hier</a>"
"<a href=""#Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#Sales Browser/Item Group"">Item beheren Groepen</a>"
"<a href=""#Sales Browser/Territory"">Territory</a>","<a href=""#Sales Browser/Territory"">Grondgebied</a>"
"<a href=""#Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#Sales Browser/Territory"">Om Territory beheren, klik hier</a>"
"<a onclick=""msgprint('<ol>\<li><b>field:[fieldname]</b> - By Field\<li><b>naming_series:</b> - By Naming Series (field called naming_series must be present\<li><b>eval:[expression]</b> - Evaluate an expression in python (self is doc)\<li><b>Prompt</b> - Prompt user for a name\<li><b>[series]</b> - Series by prefix (separated by a dot); for example PRE.#####\</ol>')"">Naming Options</a>","<a onclick=""msgprint('<ol>\<li><b>field:[fieldname]</b> - By Field\<li><b>naming_series:</b> - By Naming Series (field called naming_series must be present\<li><b>eval:[expression]</b> - Evaluate an expression in python (self is doc)\<li><b>Prompt</b> - Prompt user for a name\<li><b>[series]</b> - Series by prefix (separated by a dot); for example PRE.#####\</ol>')"">Benoemen Opties</a>"
<b>Cancel</b> allows you change Submitted documents by cancelling them and amending them.,<b>Annuleren</b> kunt u Ingezonden documenten wilt wijzigen door intrekking van hen en wijziging ervan.
"<span class=""sys_manager"">To setup, please go to Setup > Naming Series</span>","<span class=""sys_manager"">Voor het opzetten van, ga dan naar&gt; Naamgeving Series Setup</span>"
A Customer exists with same name,Een Klant bestaat met dezelfde naam
A Lead with this email id should exist,Een Lead met deze e-mail-ID moet bestaan
"A Product or a Service that is bought, sold or kept in stock.","Een product of een dienst die wordt gekocht, verkocht of in voorraad gehouden."
A Supplier exists with same name,Een leverancier bestaat met dezelfde naam
A condition for a Shipping Rule,Een voorwaarde voor een Scheepvaart Rule
A logical Warehouse against which stock entries are made.,Een logische Warehouse waartegen de voorraad worden gemaakt.
A new popup will open that will ask you to select further conditions.,Een nieuwe pop-up opent die u vragen om nadere voorwaarden te selecteren.
A symbol for this currency. For e.g. $,Een symbool voor deze valuta. Voor bijvoorbeeld $
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Een derde distributeur / dealer / commissionair / affiliate / reseller die verkoopt de bedrijven producten voor een commissie.
A user can have multiple values for a property.,Een gebruiker kan meerdere waarden voor een woning.
A+,A +
A-,A-
AB+,AB +
AB-,AB-
AMC Expiry Date,AMC Vervaldatum
ATT,ATT
Abbr,Abbr
About,Over
About Us Settings,Over Ons Instellingen
About Us Team Member,Over ons Team Member
Above Value,Boven Value
Absent,Afwezig
Acceptance Criteria,Acceptatiecriteria
Accepted,Aanvaard
Accepted Quantity,Geaccepteerde Aantal
Accepted Warehouse,Geaccepteerde Warehouse
Account,Rekening
Account Balance,Account Balance
Account Details,Account Details
Account Head,Account Hoofd
Account Id,Account Id
Account Name,Accountnaam
Account Type,Account Type
Accounting,Rekening
Accounting Year.,Accounting Jaar.
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Boekhoudkundige afschrijving bevroren tot deze datum, kan niemand / te wijzigen toegang behalve rol hieronder aangegeven."
Accounting journal entries.,Accounting journaalposten.
Accounts,Accounts
Accounts Frozen Upto,Accounts Frozen Tot
Accounts Payable,Accounts Payable
Accounts Receivable,Debiteuren
Accounts Settings,Accounts Settings
Action,Actie
Active,Actief
Active: Will extract emails from ,Actief: Zal ​​e-mails uittreksel uit
Activity,Activiteit
Activity Log,Activiteitenlogboek
Activity Type,Activiteit Type
Actual,Daadwerkelijk
Actual Budget,Werkelijk Begroting
Actual Completion Date,Werkelijke Voltooiingsdatum
Actual Date,Werkelijke Datum
Actual End Date,Werkelijke Einddatum
Actual Invoice Date,Werkelijke Factuurdatum
Actual Posting Date,Werkelijke Boekingsdatum
Actual Qty,Werkelijke Aantal
Actual Qty (at source/target),Werkelijke Aantal (bij de bron / doel)
Actual Qty After Transaction,Werkelijke Aantal Na Transactie
Actual Quantity,Werkelijke hoeveelheid
Actual Start Date,Werkelijke Startdatum
Add,Toevoegen
Add / Edit Taxes and Charges,Toevoegen / bewerken en-heffingen
Add A New Rule,Voeg een nieuwe regel
Add A Property,Voeg een woning
Add Attachments,Bijlagen toevoegen
Add Bookmark,Voeg bladwijzer toe
Add CSS,Voeg CSS
Add Column,Kolom toevoegen
Add Comment,Reactie toevoegen
Add Google Analytics ID: eg. UA-89XXX57-1. Please search help on Google Analytics for more information.,Voeg Google Analytics ID: bv. UA-89XXX57-1. Zoek dan hulp bij Google Analytics voor meer informatie.
Add Message,Bericht toevoegen
Add New Permission Rule,Toevoegen nieuwe Toestemming regel
Add Reply,Voeg antwoord
Add Terms and Conditions for the Material Request. You can also prepare a Terms and Conditions Master and use the Template,Voeg Voorwaarden voor de Material Request. U kunt ook de voorbereiding van een Algemene Voorwaarden meester en gebruik de Template
Add Terms and Conditions for the Purchase Receipt. You can also prepare a Terms and Conditions Master and use the Template.,Voeg Algemene voorwaarden voor het bewijs van aankoop. U kunt ook bereiden een Algemene voorwaarden Master en gebruik maken van de sjabloon.
"Add Terms and Conditions for the Quotation like Payment Terms, Validity of Offer etc. You can also prepare a Terms and Conditions Master and use the Template","Voeg Algemene Voorwaarden voor de offerte als Betalingscondities, Geldigheid van de aanbieding, enz. U kunt ook de voorbereiding van een Algemene voorwaarden Master en gebruik maken van de sjabloon"
Add Total Row,Voeg Totaal Row
Add a banner to the site. (small banners are usually good),Plaats ook een banner op de site. (Kleine banners zijn meestal goed)
Add attachment,Bijlage toevoegen
Add code as &lt;script&gt;,Voeg code als &lt;script&gt;
Add new row,Voeg een nieuwe rij
Add or Deduct,Toevoegen of aftrekken
Add rows to set annual budgets on Accounts.,Rijen toevoegen aan jaarlijkse begrotingen op Accounts in te stellen.
"Add the name of <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> e.g. ""Open Sans""","Voeg de naam van de <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> bv. &quot;Open Sans&quot;"
Add to To Do,Toevoegen aan To Do
Add to To Do List of,Toevoegen aan To Do List van Do
Add/Remove Recipients,Toevoegen / verwijderen Ontvangers
Additional Info,Extra informatie
Address,Adres
Address & Contact,Adres &amp; Contact
Address & Contacts,Adres &amp; Contact
Address Desc,Adres Desc
Address Details,Adresgegevens
Address HTML,Adres HTML
Address Line 1,Adres Lijn 1
Address Line 2,Adres Lijn 2
Address Title,Adres Titel
Address Type,Adrestype
Address and other legal information you may want to put in the footer.,Adres-en andere wettelijke informatie die u wilt zetten in de voettekst.
Address to be displayed on the Contact Page,Adres moet worden weergegeven op de Contact Pagina
Adds a custom field to a DocType,Voegt een aangepast veld aan een DocType
Adds a custom script (client or server) to a DocType,Hiermee wordt een aangepast script (client of server) om een ​​DocType
Advance Amount,Advance Bedrag
Advance amount,Advance hoeveelheid
Advanced Scripting,Geavanceerde Scripting
Advanced Settings,Geavanceerde instellingen
Advances,Vooruitgang
Advertisement,Advertentie
After Sale Installations,Na Verkoop Installaties
Against,Tegen
Against Account,Tegen account
Against Docname,Tegen Docname
Against Doctype,Tegen Doctype
Against Document Date,Tegen Document Datum
Against Document Detail No,Tegen Document Detail Geen
Against Document No,Tegen document nr.
Against Expense Account,Tegen Expense Account
Against Income Account,Tegen Inkomen account
Against Journal Voucher,Tegen Journal Voucher
Against Purchase Invoice,Tegen Aankoop Factuur
Against Sales Invoice,Tegen Sales Invoice
Against Voucher,Tegen Voucher
Against Voucher Type,Tegen Voucher Type
Agent,Agent
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials","De totale groep van ** Items ** in een andere ** Item **. Dit is handig als u de bundeling van een bepaalde ** Items ** in een pakket en u onderhoudt voorraad van de verpakte ** Items ** en niet de totale ** Item **. Het pakket ** Item ** zal hebben &quot;Is Stock Item&quot; als &quot;No&quot; en &quot;Is Sales Item&quot; als &quot;Ja&quot; Bijvoorbeeld:. Als je verkoopt laptops en Rugzakken apart en hebben een speciale prijs als de klant koopt zowel , dan is de laptop + Rugzak zal een nieuwe Sales BOM Item.Note: BOM = Bill of Materials"
Aging Date,Aging Datum
All Addresses.,Alle adressen.
All Contact,Alle Contact
All Contacts.,Alle contactpersonen.
All Customer Contact,Alle Customer Contact
All Day,All Day
All Employee (Active),Alle medewerkers (Actief)
All Lead (Open),Alle Lood (Open)
All Products or Services.,Alle producten of diensten.
All Sales Partner Contact,Alle Sales Partner Contact
All Sales Person,Alle Sales Person
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"All Sales Transacties kunnen worden gelabeld tegen meerdere ** Sales Personen **, zodat u kunt instellen en bewaken doelstellingen."
All Supplier Contact,Alle Leverancier Contact
"All account columns should be after \							standard columns and on the right.							If you entered it properly, next probable reason \							could be wrong account name.							Please rectify it in the file and try again.","Alle rekening kolommen na \ standaard kolommen en aan de rechterkant. Als je het goed ingevoerd, zou de volgende waarschijnlijke reden \ verkeerde account naam zijn. Gelieve te corrigeren in het bestand en probeer het opnieuw."
"All export related fields like currency, conversion rate, export total, export grand total etc are available in <br>Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Alle export gerelateerde gebieden zoals valuta, wisselkoers, export totaal, uitvoer totaal, enz. zijn verkrijgbaar in <br> Levering Let op, POS, Offerte, Sales Invoice, Sales Order enz."
"All import related fields like currency, conversion rate, import total, import grand total etc are available in <br>Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Alle import aanverwante gebieden zoals valuta, wisselkoers, totale import, import totaal enz. zijn beschikbaar in <br> Aankoopbewijs, Leverancier Offerte, aankoopfactuur, Purchase Order enz."
All items have already been transferred \				for this Production Order.,Alle items zijn al overgebracht \ voor deze productieorder.
"All possible Workflow States and roles of the workflow. <br>Docstatus Options: 0 is""Saved"", 1 is ""Submitted"" and 2 is ""Cancelled""","Alle mogelijke Workflow Staten en rollen van de workflow. <br> Docstatus Opties: 0 is &quot;Saved&quot;, is 1 &quot;Submitted&quot; en 2 &quot;Cancelled&quot;"
All posts by,Alle berichten van
Allocate,Toewijzen
Allocate leaves for the year.,Wijs bladeren voor het jaar.
Allocated Amount,Toegewezen bedrag
Allocated Budget,Toegekende budget
Allocated amount,Toegewezen bedrag
Allow Attach,Laat Bevestig
Allow Bill of Materials,Laat Bill of Materials
Allow Dropbox Access,Laat Dropbox Access
Allow Editing of Frozen Accounts For,Laat bewerken van bevroren rekeningen voor
Allow Google Drive Access,Laat Google Drive Access
Allow Import,Laat importeren
Allow Import via Data Import Tool,Laat importeren via Gegevens importeren Tool
Allow Negative Balance,Laat negatief saldo
Allow Negative Stock,Laat Negatieve voorraad
Allow Production Order,Laat Productieorder
Allow Rename,Laat hernoemen
Allow Samples,Laat Monsters
Allow User,Door gebruiker toestaan
Allow Users,Gebruikers toestaan
Allow on Submit,Laat op Submit
Allow the following users to approve Leave Applications for block days.,Laat de volgende gebruikers te keuren Verlof Aanvragen voor blok dagen.
Allow user to 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
Appraisal,Taxatie
Appraisal Goal,Beoordeling Doel
Appraisal Goals,Beoordeling Doelen
Appraisal Template,Beoordeling Sjabloon
Appraisal Template Goal,Beoordeling Sjabloon Doel
Appraisal Template Title,Beoordeling Template titel
Approval Status,Goedkeuringsstatus
Approved,Aangenomen
Approver,Goedkeurder
Approving Role,Goedkeuren Rol
Approving User,Goedkeuren Gebruiker
Are you sure you want to delete the attachment?,Weet u zeker dat u de bijlage wilt verwijderen?
Arial,Arial
Arrear Amount,Achterstallig bedrag
"As a best practice, do not assign the same set of permission rule to different Roles instead set multiple Roles to the User","Als een best practice, niet dezelfde set van toestemming regel niet toe te wijzen aan de verschillende rollen in plaats te stellen van meerdere rollen aan de gebruiker"
As existing qty for item: ,Als bestaande aantal voor artikel:
As per Stock UOM,Per Stock Verpakking
"As there are existing stock transactions for this \							item, you can not change the values of 'Has Serial No', \							'Is Stock Item' and 'Valuation Method'","Want er zijn bestaande voorraad transacties voor dit \ item, kunt u niet de waarden van &#39;Heeft Serial No&#39; te veranderen, \ &#39;Is Stock Item&#39; en &#39;Valuation Method&#39;"
Ascending,Oplopend
Assign To,Toewijzen aan
Assigned By,Toegekend door
Assignment,Toewijzing
Assignments,Opdrachten
Associate a DocType to the Print Format,Associeer een DOCTYPE aan de Print Format
Atleast one warehouse is mandatory,Tenminste een magazijn is verplicht
Attach,Hechten
Attach Document Print,Bevestig Document Print
Attached To DocType,Bijlage Aan DocType
Attached To Name,Gehecht Aan Naam
Attachment,Gehechtheid
Attachments,Toebehoren
Attempted to Contact,Geprobeerd om contact
Attendance,Opkomst
Attendance Date,Aanwezigheid Datum
Attendance Details,Aanwezigheid Details
Attendance From Date,Aanwezigheid Van Datum
Attendance To Date,Aanwezigheid graag:
Attendance can not be marked for future dates,Toeschouwers kunnen niet worden gemarkeerd voor toekomstige data
Attendance for the employee: ,Opkomst voor de werknemer:
Attendance record.,Aanwezigheid record.
Attributions,Toeschrijvingen
Authorization Control,Autorisatie controle
Authorization Rule,Autorisatie Rule
Auto Email Id,Auto E-mail Identiteitskaart
Auto Inventory Accounting,Auto Inventory Accounting
Auto Inventory Accounting Settings,Auto Inventory Accounting Instellingen
Auto Material Request,Automatisch Materiaal Request
Auto Name,Auto Naam
Auto generated,Gegenereerd Auto
Auto-raise Material Request if quantity goes below re-order level in a warehouse,Auto-raise Materiaal aanvragen als kwantiteit gaat onder re-orde niveau in een magazijn
Automatically updated via Stock Entry of type Manufacture/Repack,Automatisch geüpdate via Stock positie van het type Vervaardiging / Verpak
Autoreply when a new mail is received,Autoreply wanneer er een nieuwe e-mail wordt ontvangen
Available Qty at Warehouse,Qty bij Warehouse
Available Stock for Packing Items,Beschikbaar voor Verpakking Items
"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Verkrijgbaar in BOM, pakbon, de factuur, de Productieorder, Inkooporder, aankoopbon, Sales Invoice, Sales Order, Voorraad Entry, Timesheet"
Avatar,Avatar
Average Discount,Gemiddelde korting
B+,B +
B-,B-
BILL,BILL
BILLJ,BILLJ
BOM,BOM
BOM Detail No,BOM Detail Geen
BOM Explosion Item,BOM Explosie Item
BOM Item,BOM Item
BOM No,BOM Geen
BOM No. for a Finished Good Item,BOM Nee voor een afgewerkte goed item
BOM Operation,BOM Operatie
BOM Operations,BOM Operations
BOM Replace Tool,BOM Replace Tool
BOM replaced,BOM vervangen
Background Color,Achtergrondkleur
Background Image,Achtergrondafbeelding
Backup Manager,Backup Manager
Backup Right Now,Back-up Right Now
Backups will be uploaded to,Back-ups worden geüpload naar
"Balances of Accounts of type ""Bank or Cash""",Saldi van de rekeningen van het type &#39;Bank of Cash &quot;
Bank,Bank
Bank A/C No.,Bank A / C Nee
Bank Account,Bankrekening
Bank Account No.,Bank Account Nr
Bank Clearance Summary,Bank Ontruiming Samenvatting
Bank Name,Naam van de bank
Bank Reconciliation,Bank Verzoening
Bank Reconciliation Detail,Bank Verzoening Detail
Bank Reconciliation Statement,Bank Verzoening Statement
Bank Voucher,Bank Voucher
Bank or Cash,Bank of Cash
Bank/Cash Balance,Bank / Geldsaldo
Banner,Banier
Banner HTML,Banner HTML
Banner Image,Banner Afbeelding
Banner is above the Top Menu Bar.,Banner is boven de top menubalk.
Barcode,Barcode
Based On,Gebaseerd op
Basic Info,Basic Info
Basic Information,Basisinformatie
Basic Rate,Basic Rate
Basic Rate (Company Currency),Basic Rate (Company Munt)
Batch,Partij
Batch (lot) of an Item.,Batch (lot) van een item.
Batch Finished Date,Batch Afgewerkt Datum
Batch ID,Batch ID
Batch No,Batch nr.
Batch Started Date,Batch Gestart Datum
Batch Time Logs for Billing.,Batch Time Logs voor Billing.
Batch Time Logs for billing.,Batch Time Logs voor de facturering.
Batch-Wise Balance History,Batch-Wise Balance Geschiedenis
Batched for Billing,Gebundeld voor facturering
Be the first one to comment,Wees de eerste om te reageren
Begin this page with a slideshow of images,Begin deze pagina met een diavoorstelling van foto&#39;s
Better Prospects,Betere vooruitzichten
Bill Date,Bill Datum
Bill No,Bill Geen
Bill of Material to be considered for manufacturing,Bill of Material te worden beschouwd voor de productie van
Bill of Materials,Bill of Materials
Bill of Materials (BOM),Bill of Materials (BOM)
Billable,Factureerbare
Billed,Gefactureerd
Billed Amt,Billed Amt
Billing,Billing
Billing Address,Factuuradres
Billing Address Name,Factuuradres Naam
Billing Status,Billing Status
Bills raised by Suppliers.,Rekeningen die door leveranciers.
Bills raised to Customers.,Bills verhoogd tot klanten.
Bin,Bak
Bio,Bio
Bio will be displayed in blog section etc.,Bio wordt weergegeven in blog sectie enz.
Birth Date,Geboortedatum
Blob,Bobbel
Block Date,Blokkeren Datum
Block Days,Blokkeren Dagen
Block Holidays on important days.,Blok Vakantie op belangrijke dagen.
Block leave applications by department.,Blok verlaten toepassingen per afdeling.
Blog Category,Blog Categorie
Blog Intro,Blog Intro
Blog Introduction,Blog Inleiding
Blog Post,Blog Post
Blog Settings,Blog Settings
Blog Subscriber,Blog Abonnee
Blog Title,Blog Titel
Blogger,Blogger
Blood Group,Bloedgroep
Bookmarks,Bladwijzers
Branch,Tak
Brand,Merk
Brand HTML,Brand HTML
Brand Name,Merknaam
"Brand is what appears on the top-right of the toolbar. If it is an image, make sure ithas a transparent background and use the &lt;img /&gt; tag. Keep size as 200px x 30px","Brand is wat er op de rechterbovenhoek van de werkbalk. Als het een afbeelding, zorg ervoor dat ithas een transparante achtergrond en gebruik de &lt;img /&gt; tag. Houd grootte als 200px x 30px"
Brand master.,Brand meester.
Brands,Merken
Breakdown,Storing
Budget,Begroting
Budget Allocated,Budget
Budget Control,Begrotingscontrole
Budget Detail,Budget Detail
Budget Details,Budget Details
Budget Distribution,Budget Distributie
Budget Distribution Detail,Budget Distributie Detail
Budget Distribution Details,Budget Distributie Details
Budget Variance Report,Budget Variantie Report
Build Modules,Bouwen Modules
Build Pages,Build Pages
Build Server API,Build Server API
Build Sitemap,Bouwen Sitemap
Bulk Email,Bulk Email
Bulk Email records.,Bulk Email records.
Bundle items at time of sale.,Bundel artikelen op moment van verkoop.
Button,Knop
Buyer of Goods and Services.,Bij uw aankoop van goederen en diensten.
Buying,Het kopen
Buying Amount,Kopen Bedrag
Buying Settings,Kopen Instellingen
By,Door
C-FORM/,C-FORM /
C-Form,C-Form
C-Form Applicable,C-Form Toepasselijk
C-Form Invoice Detail,C-Form Factuurspecificatie
C-Form No,C-vorm niet
CI/2010-2011/,CI/2010-2011 /
COMM-,COMM-
CSS,CSS
CUST,CUST
CUSTMUM,CUSTMUM
Calculate Based On,Bereken Based On
Calculate Total Score,Bereken Totaal Score
Calendar,Kalender
Calendar Events,Kalender Evenementen
Call,Noemen
Campaign,Campagne
Campaign Name,Campagnenaam
Can only be exported by users with role 'Report Manager',Alleen uitgevoerd door gebruikers met de rol &#39;Report Manager&#39;
Cancel,Annuleren
Cancel permission also allows the user to delete a document (if it is not linked to any other document).,Annuleren permissie stelt de gebruiker ook in het verwijderen van een document (als het niet is gekoppeld aan een ander document).
Cancelled,Geannuleerd
Cannot ,Kan niet
Cannot approve leave as you are not authorized to approve leaves on Block Dates.,Kan niet goedkeuren verlaten als je bent niet gemachtigd om bladeren op Block Dates.
Cannot change from,Kan niet veranderen van
Cannot continue.,Kan niet doorgaan.
Cannot have two prices for same Price List,Kunt niet twee prijzen voor dezelfde prijslijst
Cannot map because following condition fails: ,"Kan niet toewijzen, omdat volgende voorwaarde mislukt:"
Capacity,Hoedanigheid
Capacity Units,Capaciteit Units
Carry Forward,Carry Forward
Carry Forwarded Leaves,Carry Doorgestuurd Bladeren
Case No(s) already in use. Please rectify and try again.				Recommended <b>From Case No. = %s</b>,Zaak nr. (s) al in gebruik. Gelieve te corrigeren en opnieuw te proberen. Aanbevolen <b>Van Case No =% s</b>
Cash,Geld
Cash Voucher,Cash Voucher
Cash/Bank Account,Cash / bankrekening
Categorize blog posts.,Categoriseren blog posts.
Category,Categorie
Category Name,Categorie Naam
Category of customer as entered in Customer master,Categorie van de klant als die in Customer Master
Cell Number,Mobiele nummer
Center,Centrum
"Certain documents should not be changed once final, like an Invoice for example. The final state for such documents is called <b>Submitted</b>. You can restrict which roles can Submit.","Bepaalde documenten mogen niet worden gewijzigd zodra de definitieve, zoals een factuur bijvoorbeeld. De eindtoestand van deze documenten wordt genoemd <b>Ingediend.</b> U kunt beperken welke rollen kunnen op Verzenden."
Change UOM for an Item.,Wijzig Verpakking voor een item.
Change the starting / current sequence number of an existing series.,Wijzig de start-/ huidige volgnummer van een bestaande serie.
Channel Partner,Channel Partner
Charge,Lading
Chargeable,Oplaadbare
Chart of Accounts,Rekeningschema
Chart of Cost Centers,Grafiek van Kostenplaatsen
Chat,Praten
Check,Controleren
Check / Uncheck roles assigned to the Profile. Click on the Role to find out what permissions that Role has.,Controleer / Deselecteer rollen toegewezen aan het profiel. Klik op de rol om uit te vinden welke permissies die taak.
Check all the items below that you want to send in this digest.,Controleer alle onderstaande items die u wilt verzenden in deze verteren.
Check how the newsletter looks in an email by sending it to your email.,Controleer hoe de nieuwsbrief eruit ziet in een e-mail door te sturen naar uw e-mail.
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Controleer of terugkerende factuur, schakelt u om te stoppen met terugkerende of zet de juiste Einddatum"
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Controleer of u de automatische terugkerende facturen. Na het indienen van elke verkoop factuur, zal terugkerende sectie zichtbaar zijn."
Check if you want to send salary slip in mail to each employee while submitting salary slip,"Controleer of u wilt loonstrook sturen mail naar elke werknemer, terwijl het indienen van loonstrook"
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Controleer dit als u wilt dwingen de gebruiker om een ​​reeks voor het opslaan te selecteren. Er zal geen standaard zijn als je dit controleren.
Check this if you want to send emails as this id only (in case of restriction by your email provider).,Controleer dit als u wilt e-mails als enige deze id (in geval van beperking door uw e-mailprovider) te sturen.
Check this if you want to show in website,Selecteer dit als u wilt weergeven in de website
Check this to 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 Discount,Klanten Korting
Customer Discounts,Klant Kortingen
Customer Feedback,Klantenfeedback
Customer Group,Klantengroep
Customer Group Name,Klant Groepsnaam
Customer Intro,Klant Intro
Customer Issue,Probleem voor de klant
Customer Issue against Serial No.,Klant Kwestie tegen Serienummer
Customer Name,Klantnaam
Customer Naming By,Klant Naming Door
Customer Type,Klant Type
Customer classification tree.,Klant classificatie boom.
Customer database.,Klantenbestand.
Customer's Currency,Klant Munteenheid
Customer's Item Code,Klant Artikelcode
Customer's Purchase Order Date,Klant Purchase Order Date
Customer's Purchase Order No,Klant Purchase Order No
Customer's Vendor,Klant Vendor
Customer's currency,Klant munt
"Customer's currency - If you want to select a currency that is not the default currency, then you must also specify the Currency Conversion Rate.","Klant valuta - Als u een valuta die niet de standaard valuta te selecteren, dan moet u ook de Currency Conversion Rate."
Customers Not Buying Since Long Time,Klanten Niet kopen Sinds Long Time
Customerwise Discount,Customerwise Korting
Customize,Pas
Customize Form,Pas Form
Customize Form Field,Pas Form Field
"Customize Label, Print Hide, Default etc.","Pas Label, Print verbergen, Standaard, enz."
Customize the Notification,Pas de Kennisgeving
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,Pas de inleidende tekst die gaat als een deel van die e-mail. Elke transactie heeft een aparte inleidende tekst.
DN,DN
DN Detail,DN Detail
Daily,Dagelijks
Daily Time Log Summary,Daily Time Log Samenvatting
Danger,Gevaar
Data,Gegevens
Data missing in table,Ontbreekt in tabel data
Database,Database
Database Folder ID,Database Folder ID
Database of potential customers.,Database van potentiële klanten.
Date,Datum
Date Format,Datumnotatie
Date Of Retirement,Datum van pensionering
Date and Number Settings,Datum en nummer Settings
Date is repeated,Datum wordt herhaald
Date must be in format,Datum moet in formaat
Date of Birth,Geboortedatum
Date of Issue,Datum van afgifte
Date of Joining,Datum van toetreding tot
Date on which lorry started from supplier warehouse,Datum waarop vrachtwagen gestart vanuit leverancier magazijn
Date on which lorry started from your warehouse,Datum waarop vrachtwagen gestart vanuit uw magazijn
Date on which the lead was last contacted,Datum waarop het voortouw laatste werd benaderd
Dates,Data
Datetime,Datetime
Days for which Holidays are blocked for this department.,Dagen waarvoor feestdagen zijn geblokkeerd voor deze afdeling.
Dealer,Handelaar
Dear,Lieve
Debit,Debet
Debit Amt,Debet Amt
Debit Note,Debetnota
Debit To,Debitering van
Debit or Credit,Debet of Credit
Deduct,Aftrekken
Deduction,Aftrek
Deduction Type,Aftrek Type
Deduction1,Deduction1
Deductions,Inhoudingen
Default,Verzuim
Default Account,Standaard Account
Default BOM,Standaard BOM
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,Standaard Bank / Cash account wordt automatisch bijgewerkt in POS Factuur bij deze modus is geselecteerd.
Default Bank Account,Standaard bankrekening
Default Cash Account,Standaard Cash Account
Default Commission Rate,Standaard Commissie Rate
Default Company,Standaard Bedrijf
Default Cost Center,Standaard kostenplaats
Default Cost Center for tracking expense for this item.,Standaard kostenplaats voor het bijhouden van kosten voor dit object.
Default Currency,Standaard valuta
Default Customer Group,Standaard Klant Groep
Default Expense Account,Standaard Expense Account
Default Home Page,Standaard startpagina
Default Home Pages,Standaard Home Pages
Default Income Account,Standaard Inkomen account
Default Item Group,Standaard Onderdeel Groep
Default Price List,Standaard Prijslijst
Default Print Format,Default Print Format
Default Purchase Account in which cost of the item will be debited.,Standaard Aankoop account waarin kosten van het actief zal worden gedebiteerd.
Default Sales Partner,Standaard Sales Partner
Default Settings,Standaardinstellingen
Default Source Warehouse,Standaard Bron Warehouse
Default Stock UOM,Default Stock Verpakking
Default Supplier 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 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
FCFS Rate,FCFS Rate
FIFO,FIFO
Facebook Share,Facebook Share
Failed: ,Mislukt:
Family Background,Familie Achtergrond
FavIcon,FavIcon
Fax,Fax
Features Setup,Features instelscherm
Feed,Voeden
Feed Type,Feed Type
Feedback,Terugkoppeling
Female,Vrouwelijk
Fetch lead which will be converted into customer.,Fetch lead die wordt omgezet in klant.
Field Description,Veld Beschrijving
Field Name,Veldnaam
Field Type,Veldtype
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Veld verkrijgbaar in Delivery Note, Offerte, Sales Invoice, Sales Order"
"Field that represents the Workflow State of the transaction (if field is not present, a new hidden Custom Field will be created)","Veld dat de workflow-status van de transactie vertegenwoordigt (indien veld niet aanwezig is, een nieuwe verborgen Aangepast veld wordt aangemaakt)"
Fieldname,Veldnaam
Fields,Velden
"Fields separated by comma (,) will be included in the<br /><b>Search By</b> list of Search dialog box","Velden gescheiden door komma (,) opgenomen in de <br /> <b>Zoeken op</b> lijst van dialoogvenster Zoeken"
File,Bestand
File Data,File Data
File Name,Bestandsnaam
File Size,Bestand Grootte
File URL,File-URL
File size exceeded the maximum allowed size,Bestandsgrootte overschreden de maximaal toegestane grootte
Files Folder ID,Bestanden Folder ID
Filing in Additional Information about the Opportunity will help you analyze your data better.,Het indienen van aanvullende informatie over de Opportunity zal u helpen uw gegevens te analyseren hoe beter.
Filing in Additional Information about the Purchase Receipt will help you analyze your data better.,Het indienen van aanvullende informatie over de aankoopbon zal u helpen uw gegevens te analyseren hoe beter.
Filling in Additional Information about the Delivery Note will help you analyze your data better.,Het invullen van aanvullende informatie over de levering Note zal u helpen beter uw gegevens te analyseren.
Filling in additional information about the Quotation will help you analyze your data better.,Het invullen van aanvullende informatie over de Offerte zal u helpen beter uw gegevens te analyseren.
Filling in additional information about the Sales Order will help you analyze your data better.,Het invullen van aanvullende informatie over de verkooporder zal u helpen beter uw gegevens te analyseren.
Filter,Filteren
Filter By Amount,Filteren op Bedrag
Filter By Date,Filter op datum
Filter based on customer,Filteren op basis van klant
Filter based on item,Filteren op basis van artikel
Final Confirmation Date,Definitieve bevestiging Datum
Financial Analytics,Financiële Analytics
Financial Statements,Jaarrekening
First Name,Voornaam
First Responded On,Eerste reageerden op
Fiscal Year,Boekjaar
Fixed Asset Account,Fixed Asset account
Float,Zweven
Float Precision,Float Precision
Follow via Email,Volg via e-mail
Following Journal Vouchers have been created automatically,Na Vouchers Journal zijn automatisch aangemaakt
"Following table will show values if items are sub - contracted. These values will be fetched from the master of ""Bill of Materials"" of sub - contracted items.",Na tafel zal waarden als items zijn sub - gecontracteerde. Deze waarden zullen worden opgehaald van de meester van de &quot;Bill of Materials&quot; van sub - gecontracteerde items.
Font (Heading),Font (rubriek)
Font (Text),Font (Tekst)
Font Size (Text),Tekengrootte (Text)
Fonts,Fonts
Footer,Footer
Footer Items,Footer Items
For All Users,Voor alle gebruikers
For Company,Voor Bedrijf
For Employee,Uitvoeringsinstituut Werknemersverzekeringen
For Employee Name,Voor Naam werknemer
For Item ,Voor post
"For Links, enter the DocType as rangeFor Select, enter list of Options separated by comma","Voor Links, de DocType invoeren als rangeFor Select, voert de lijst van opties, gescheiden door komma&#39;s"
For Production,Voor productie
For Reference Only.,Alleen ter referentie.
For Sales Invoice,Voor verkoopfactuur
For Server Side Print Formats,Voor Server Side Print Formats
For Territory,Voor Territory
For 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 Lead,Van Lood
From PR Date,Van PR Datum
From Package No.,Van Pakket No
From Purchase Order,Van Purchase Order
From Purchase Receipt,Van Kwitantie
From Sales Order,Van verkooporder
From Time,Van Tijd
From Value,Van Waarde
From Value should be less than To Value,Van Waarde minder dan aan Waarde moet zijn
Frozen,Bevroren
Fulfilled,Vervulde
Full Name,Volledige naam
Fully Completed,Volledig ingevulde
GL Entry,GL Entry
GL Entry: Debit or Credit amount is mandatory for ,GL Entry: Debet of Credit bedrag is verplicht voor
GRN,GRN
Gantt Chart,Gantt-diagram
Gantt chart of all tasks.,Gantt-grafiek van alle taken.
Gender,Geslacht
General,Algemeen
General Ledger,Grootboek
Generate Description HTML,Genereer Beschrijving HTML
Generate Material Requests (MRP) and Production Orders.,Genereer Materiaal Requests (MRP) en productieorders.
Generate Salary Slips,Genereer Salaris Slips
Generate Schedule,Genereer Plan
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Genereer pakbonnen voor pakketten te leveren. Gebruikt voor het verpakken aantal, inhoud van de verpakking en het gewicht mee te delen."
Generates HTML to include selected image in the description,Genereert HTML aan geselecteerde beeld te nemen in de beschrijving
Georgia,Georgië
Get,Krijgen
Get Advances Paid,Get betaalde voorschotten
Get Advances Received,Get ontvangen voorschotten
Get Current Stock,Get Huidige voorraad
Get From ,Get Van
Get Items,Get Items
Get Last Purchase Rate,Get Laatst Purchase Rate
Get Non Reconciled Entries,Get Niet Reconciled reacties
Get Outstanding Invoices,Get openstaande facturen
Get Purchase Receipt,Get Aankoop Ontvangst
Get Sales Orders,Get Verkooporders
Get Specification Details,Get Specificatie Details
Get Stock and Rate,Get voorraad en Rate
Get Template,Get Sjabloon
Get Terms and Conditions,Get Algemene Voorwaarden
Get Weekly Off Dates,Ontvang wekelijkse Uit Data
"Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos.","Get waardering tarief en beschikbare voorraad bij de bron / doel pakhuis op de genoemde plaatsen van datum-tijd. Als geserialiseerde item, drukt u op deze toets na het invoeren van seriële nos."
Give additional details about the indent.,Geven extra informatie over het streepje.
Global Defaults,Global Standaardwaarden
Go back to home,Ga terug naar home
Go to Setup > <a href='#user-properties'>User Properties</a> to set \			'territory' for diffent Users.,Ga naar Instellingen&gt; <a href='#user-properties'>Eigenschappen voor gebruiker</a> om \ &#39;grondgebied&#39; voor diffent gebruikers in te stellen.
Goal,Doel
Goals,Doelen
Goods received from Suppliers.,Goederen ontvangen van leveranciers.
Google Analytics ID,Google Analytics ID
Google Drive,Google Drive
Google Drive Access Allowed,Google Drive Access toegestaan
Google Plus One,Google Plus One
Google Web Font (Heading),Google Web Font (rubriek)
Google Web Font (Text),Google Web Font (Tekst)
Grade,Graad
Graduate,Afstuderen
Grand Total,Algemeen totaal
Grand Total (Company Currency),Grand Total (Company Munt)
Gratuity LIC ID,Fooi LIC ID
Gross Margin %,Winstmarge%
Gross Margin Value,Winstmarge Value
Gross Pay,Brutoloon
Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,Brutoloon + achteraf Bedrag + inning Bedrag - Totaal Aftrek
Gross Profit,Brutowinst
Gross Profit (%),Brutowinst (%)
Gross Weight,Brutogewicht
Gross Weight UOM,Brutogewicht Verpakking
Group,Groep
Group or Ledger,Groep of Ledger
Groups,Groepen
HR,HR
HTML,HTML
HTML / Banner that will show on the top of product list.,HTML / Banner dat zal laten zien op de bovenkant van het product lijst.
Half Day,Halve dag
Half Yearly,Halfjaarlijkse
Half-yearly,Halfjaarlijks
Has Batch No,Heeft Batch nr.
Has Child Node,Heeft het kind Node
Has Serial No,Heeft Serienummer
Header,Hoofd
Heading,Titel
Heading Text As,Rubriek Tekst Zoals
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Heads (of groepen) waartegen de boekingen zijn gemaakt en saldi worden gehandhaafd.
Health Concerns,Gezondheid Zorgen
Health Details,Gezondheid Details
Held On,Held Op
Help,Help
Help HTML,Help HTML
"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Help: Om te linken naar een andere record in het systeem, gebruikt &quot;# Vorm / NB / [Note Name] &#39;, zoals de Link URL. (Gebruik geen &quot;http://&quot;)"
Helvetica Neue,Helvetica Neue
"Hence, maximum allowed Manufacturing Quantity",Dus maximale hoeveelheid Manufacturing
"Here you can maintain family details like name and occupation of parent, spouse and children","Hier kunt u onderhouden familie gegevens zoals naam en beroep van de ouder, echtgenoot en kinderen"
"Here you can maintain height, weight, allergies, medical concerns etc","Hier kunt u onderhouden lengte, gewicht, allergieën, medische zorgen, enz."
Hey there! You need to put at least one item in \				the item table.,Hey there! U moet ten minste een item zet in \ het item tafel.
Hey! There should remain at least one System Manager,Hey! Er moet minstens een System Manager blijven
Hidden,Verborgen
Hide Actions,Verberg Acties
Hide Copy,Verberg Copy
Hide Currency Symbol,Verberg Valutasymbool
Hide Email,Verberg E-mail
Hide Heading,Verberg rubriek
Hide Print,Verberg Afdrukken
Hide Toolbar,Werkbalk verbergen
High,Hoog
Highlight,Markeer
History,Geschiedenis
History In Company,Geschiedenis In Bedrijf
Hold,Houden
Holiday,Feestdag
Holiday List,Holiday Lijst
Holiday List Name,Holiday Lijst Naam
Holidays,Vakantie
Home,Thuis
Home Page,Home Page
Home Page is Products,Startpagina is Producten
Home Pages,Home Pages
Host,Gastheer
"Host, Email and Password required if emails are to be pulled","Host, e-mail en wachtwoord nodig als e-mails moeten worden getrokken"
Hour Rate,Uurtarief
Hour Rate Consumable,Uurtarief verbruiksartikelen
Hour Rate Electricity,Uur Prijs Elektriciteit
Hour Rate Labour,Uurtarief Arbeid
Hour Rate Rent,Uur Prijs Huur
Hours,Uur
How frequently?,Hoe vaak?
"How should this currency be formatted? If not set, will use system defaults","Hoe moet deze valuta worden geformatteerd? Indien niet ingesteld, zal gebruik maken van het systeem standaard"
How to upload,Hoe om te uploaden
Hrvatski,Hrvatski
Human Resources,Human Resources
Hurray! The day(s) on which you are applying for leave \					coincide with holiday(s). You need not apply for leave.,Hoera! De dag (en) waarop u een aanvraag voor verlof \ samenvallen met vakantie (s). Je moet niet van toepassing voor verlof.
I,Ik
ID (name) of the entity whose property is to be set,ID (naam) van de entiteit waarvan de eigenschap moet worden ingesteld
IDT,IDT
II,II
III,III
IN,IN
INV,INV
INV/10-11/,INV/10-11 /
ITEM,ITEM
IV,IV
Icon,Pictogram
Icon will appear on the button,Pictogram verschijnt op de knop
Id of the profile will be the email.,Id van het profiel zal de e-mail.
Identification of the package for the delivery (for print),Identificatie van het pakket voor de levering (voor afdrukken)
If Income or Expense,Indien baten of lasten
If Monthly Budget Exceeded,Als Maandelijks Budget overschreden
"If Sale BOM is defined, the actual BOM of the Pack is displayed as table.Available in Delivery Note and Sales Order","Als Verkoop BOM is gedefinieerd, wordt de werkelijke BOM van de Pack weergegeven als table.Available in Delivery Note en Sales Order"
"If Supplier Part Number exists for given Item, it gets stored here","Indien Leverancier Onderdeelnummer bestaat voor bepaalde Item, het wordt hier opgeslagen"
If Yearly Budget Exceeded,Als jaarlijks budget overschreden
"If a User does not have access at Level 0, then higher levels are meaningless","Als een gebruiker geen toegang hebben op niveau 0, dan is een hoger niveau zijn betekenisloos"
"If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.","Indien aangevinkt, zal BOM voor sub-assemblage zaken geacht voor het krijgen van grondstoffen. Anders zullen alle subeenheid items worden behandeld als een grondstof."
"If checked, all other workflows become inactive.","Indien aangevinkt, alle andere werkstromen worden inactief."
"If checked, an email with an attached HTML format will be added to part of the EMail body as well as attachment. To only send as attachment, uncheck this.","Indien aangevinkt, zal een e-mail met een bijgevoegd HTML-formaat worden toegevoegd aan een deel van het EMail lichaam als attachment. Om alleen te verzenden als bijlage, vink dit."
"If checked, the Home page will be the default Item Group for the website.","Indien aangevinkt, zal de Home pagina zijn de standaard Item Groep voor de website."
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Indien aangevinkt, zal de BTW-bedrag worden beschouwd als reeds in de Print Tarief / Print Bedrag"
"If disable, 'Rounded Total' field will not be visible in any transaction","Indien storing, &#39;Afgerond Total&#39; veld niet zichtbaar zijn in een transactie"
"If enabled, the system will post accounting entries for inventory automatically.","Indien ingeschakeld, zal het systeem de boekingen automatisch plaatsen voor de inventaris."
"If image is selected, color will be ignored (attach first)","Als beeld is geselecteerd, wordt kleur worden genegeerd (voeg als eerste)"
If more than one package of the same type (for print),Als er meer dan een pakket van hetzelfde type (voor afdrukken)
If non standard port (e.g. 587),Als niet-standaard poort (bijv. 587)
If not applicable please enter: NA,Indien niet van toepassing gelieve: Nvt
"If not checked, the list will have to be added to each Department where it has to be applied.","Indien niet gecontroleerd, wordt de lijst worden toegevoegd aan elk Department waar het moet worden toegepast."
"If not, create a","Zo niet, maak dan een"
"If set, data entry is only allowed for specified users. Else, entry is allowed for all users with requisite permissions.","Indien ingesteld, wordt het invoeren van gegevens alleen toegestaan ​​voor bepaalde gebruikers. Else, is toegang toegestaan ​​voor alle gebruikers met de vereiste machtigingen."
"If specified, send the newsletter using this email address","Als de opgegeven, stuurt u de nieuwsbrief via dit e-mailadres"
"If the 'territory' Link Field exists, it will give you an option to select it","Als de &#39;grondgebied&#39; Link Field bestaat, zal het u een optie om deze te selecteren"
"If the account is frozen, entries are allowed for the ""Account Manager"" only.","Als de account is bevroren, worden items toegestaan ​​voor de &quot;Account Manager&quot; alleen."
"If this Account represents a Customer, Supplier or Employee, set it here.","Als dit account is een klant, leverancier of werknemer, hier instellen."
If you follow Quality Inspection<br>Enables item QA Required and QA No in Purchase Receipt,Volg je Quality Inspection <br> Maakt onderdeel QA Vereiste en QA Nee in Purchase Receipt
If you have Sales Team and Sale Partners (Channel Partners)  they can be tagged and maintain their contribution in the sales activity,Als je Sales Team en Verkoop Partners (Channel Partners) ze kunnen worden gelabeld en onderhouden van hun bijdrage in de commerciële activiteit
"If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.","Als u hebt gemaakt van een standaard template in Aankoop en-heffingen Meester, selecteert u een en klikt u op de knop."
"If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.","Als u hebt gemaakt van een standaard template in Sales en-heffingen Meester, selecteert u een en klikt u op de knop."
"If you have long print formats, this feature can be used to split the page to be printed on multiple pages with all headers and footers on each page","Als je al lang af te drukken formaten, kan deze functie gebruikt worden om splitsing van de pagina die moet worden afgedrukt op meerdere pagina&#39;s met alle kop-en voetteksten op elke pagina"
If you involve in manufacturing activity<br>Enables item <b>Is Manufactured</b>,Als u te betrekken in de productie-activiteit <br> Maakt onderdeel <b>is vervaardigd</b>
Ignore,Negeren
Ignored: ,Genegeerd:
Image,Beeld
Image Link,Afbeelding Link
Image View,Afbeelding View
Implementation Partner,Implementatie Partner
Import,Importeren
Import Attendance,Import Toeschouwers
Import Log,Importeren Inloggen
Important dates and commitments in your project life cycle,Belangrijke data en verplichtingen in uw project levenscyclus
Imports,Invoer
In Dialog,In Dialog
In Filter,In Filter
In Hours,In Hours
In List View,In lijstweergave
In Process,In Process
In Report Filter,In Report Filter
In 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 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
Level,Niveau
"Level 0 is for document level permissions, higher levels for field level permissions.","Niveau 0 is voor document niveau machtigingen, hogere niveaus voor veldniveau machtigingen."
Lft,Lft
Link,Link
Link to other pages in the side bar and next section,Link naar andere pagina&#39;s in de zijbalk en de volgende sectie
Linked In Share,Linked In delen
Linked With,Linked Met
List,Lijst
List items that form the package.,Lijst items die het pakket vormen.
List of holidays.,Lijst van feestdagen.
List of patches executed,Lijst van de uitgevoerde stukken
List of records in which this document is linked,Lijst van records waarin dit document wordt gekoppeld
List of users who can edit a particular Note,Lijst van gebruikers die een bepaalde Note kan bewerken
List this Item in multiple groups on the website.,Lijst deze post in meerdere groepen op de website.
Live Chat,Live Chat
Load Print View on opening of an existing form,Laad Print Bekijk op opening van een bestaand formulier
Loading,Het laden
Loading Report,Laden Rapport
Log,Logboek
"Log of Activities performed by users against Tasks that can be used for tracking time, billing.","Log van activiteiten uitgevoerd door gebruikers tegen Taken die kunnen worden gebruikt voor het bijhouden van de tijd, billing."
Log of Scheduler Errors,Log van Scheduler fouten
Login After,Login Na
Login Before,Login Voor
Login Id,Login Id
Logo,Logo
Logout,Afmelden
Long Text,Lange tekst
Lost Reason,Verloren Reden
Low,Laag
Lower Income,Lager inkomen
Lucida Grande,Lucida Grande
MIS Control,MIS Controle
MREQ-,Mreq-
MTN Details,MTN Details
Mail Footer,Mail Footer
Mail Password,Mail Wachtwoord
Mail Port,Mail Port
Mail Server,Mail Server
Main Reports,Belangrijkste Rapporten
Main Section,Hoofd Sectie
Maintain Same Rate Throughout Sales Cycle,Onderhouden Zelfde Rate Gedurende Salescyclus
Maintain same rate throughout purchase cycle,Handhaaf dezelfde snelheid gedurende aankoop cyclus
Maintenance,Onderhoud
Maintenance Date,Onderhoud Datum
Maintenance Details,Onderhoud Details
Maintenance Schedule,Onderhoudsschema
Maintenance Schedule Detail,Onderhoudsschema Detail
Maintenance Schedule Item,Onderhoudsschema Item
Maintenance Schedules,Onderhoudsschema&#39;s
Maintenance Status,Onderhoud Status
Maintenance Time,Onderhoud Tijd
Maintenance Type,Onderhoud Type
Maintenance Visit,Onderhoud Bezoek
Maintenance Visit Purpose,Onderhoud Bezoek Doel
Major/Optional Subjects,Major / keuzevakken
Make Bank Voucher,Maak Bank Voucher
Make Difference Entry,Maak Verschil Entry
Make Time Log Batch,Maak Time Log Batch
Make a new,Maak een nieuw
Make sure that the transactions you want to restrict have a Link field 'territory' that maps to a 'Territory' master.,Zorg ervoor dat de transacties die u wilt beperken een link veld &#39;grondgebied&#39; hebben die verwijst naar een &#39;Territory&#39; meester.
Male,Mannelijk
Manage cost of operations,Beheer kosten van de operaties
Manage exchange rates for currency conversion,Beheer wisselkoersen voor valuta-omrekening
Mandatory,Verplicht
"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.",Verplicht als Stock Item is &quot;ja&quot;. Ook de standaard opslagplaats waar de gereserveerde hoeveelheid is ingesteld van Sales Order.
Manufacture against Sales Order,Vervaardiging tegen Verkooporder
Manufacture/Repack,Fabricage / Verpak
Manufactured Qty,Gefabriceerd Aantal
Manufactured quantity will be updated in this warehouse,Gefabriceerd hoeveelheid zal worden bijgewerkt in dit magazijn
Manufacturer,Fabrikant
Manufacturer Part Number,Partnummer fabrikant
Manufacturing,Productie
Manufacturing Quantity,Productie Aantal
Margin,Marge
Marital Status,Burgerlijke staat
Market Segment,Marktsegment
Married,Getrouwd
Mass Mailing,Mass Mailing
Master,Meester
Master Name,Master Naam
Master Type,Meester Soort
Masters,Masters
Match,Wedstrijd
Match non-linked Invoices and Payments.,Match niet-gekoppelde facturen en betalingen.
Material Issue,Materiaal Probleem
Material Receipt,Materiaal Ontvangst
Material Request,Materiaal aanvragen
Material Request Date,Materiaal Aanvraagdatum
Material Request Detail No,Materiaal Aanvraag Detail Geen
Material Request For Warehouse,Materiaal Request For Warehouse
Material Request Item,Materiaal aanvragen Item
Material Request Items,Materiaal aanvragen Items
Material Request No,Materiaal aanvragen Geen
Material Request Type,Materiaal Soort aanvraag
Material Request used to make this Stock Entry,Materiaal Request gebruikt om dit Stock Entry maken
Material 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 permission to write / remove.,Geen toestemming om te schrijven / te verwijderen.
No record found,Geen record gevonden
No records tagged.,Geen records gelabeld.
No salary slip found for month: ,Geen loonstrook gevonden voor de maand:
"No table is created for Single DocTypes, all values are stored in tabSingles as a tuple.","Geen tafel is gemaakt voor Single DocTypes, worden alle waarden opgeslagen in tabSingles als een tupel."
None,Niemand
None: End of Workflow,Geen: Einde van de Workflow
Not,Niet
Not Active,Niet actief
Not Applicable,Niet van toepassing
Not Billed,Niet in rekening gebracht
Not Delivered,Niet geleverd
Not Found,Niet gevonden
Not Linked to any record.,Niet gekoppeld aan een record.
Not Permitted,Niet Toegestane
Not allowed for: ,Niet toegestaan ​​voor:
Not enough permission to see links.,Niet genoeg rechten om links te zien.
Not in Use,Niet in gebruik
Not interested,Niet geïnteresseerd
Not linked,Niet gekoppeld
Note,Nota
Note User,Opmerking Gebruiker
Note is a free page where users can share documents / notes,Opmerking is een gratis pagina waar gebruikers documenten / notities kunt delen
"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.","Opmerking: Back-ups en bestanden worden niet verwijderd van Dropbox, moet u ze handmatig verwijdert."
"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.","Opmerking: Back-ups en bestanden worden niet verwijderd uit Google Drive, moet u ze handmatig verwijdert."
Note: Email will not be sent to disabled users,Opmerking: E-mail wordt niet verzonden naar gebruikers met een handicap
"Note: For best results, images must be of the same size and width must be greater than height.","Opmerking: Voor de beste resultaten, moet beelden zijn van dezelfde grootte en breedte moet groter zijn dan de hoogte te zijn."
Note: Other permission rules may also apply,Opmerking: Andere toestemming regels kunnen ook van toepassing zijn
Note: You Can Manage Multiple Address or Contacts via Addresses & Contacts,Opmerking: U kunt meerdere Adres of Contactlenzen beheren via Adressen &amp; Contactpersonen
Note: maximum attachment size = 1mb,Let op: maximale grootte van bijlagen = 1mb
Notes,Opmerkingen
Nothing to show,Niets aan te geven
Notice - Number of Days,Notice - Aantal dagen
Notification Control,Kennisgeving Controle
Notification Email Address,Melding e-mail adres
Notify By Email,Informeer via e-mail
Notify by Email on creation of automatic Material Request,Informeer per e-mail op de creatie van automatische Materiaal Request
Number Format,Getalnotatie
O+,O +
O-,O-
OPPT,OPPT
Office,Kantoor
Old Parent,Oude Parent
On,Op
On Net Total,On Net Totaal
On Previous Row Amount,Op de vorige toer Bedrag
On Previous Row Total,Op de vorige toer Totaal
"Once you have set this, the users will only be able access documents with that property.","Zodra u dit instelt, zullen de gebruikers alleen in staat zijn toegang tot documenten met die eigenschap."
Only Administrator allowed to create Query / Script Reports,Alleen Beheerder toegestaan ​​om Query / Script Rapporten maken
Only Administrator can save a standard report. Please rename and save.,Alleen Beheerder kan een standaard rapport op te slaan. Wijzig de naam en sla.
Only Allow Edit For,Alleen toestaan ​​Bewerken Voor
Only Stock Items are allowed for Stock Entry,Alleen Stock Items zijn toegestaan ​​voor Stock Entry
Only System Manager can create / edit reports,Alleen systeembeheerder kan maken / bewerken rapporten
Only leaf nodes are allowed in transaction,Alleen leaf nodes zijn toegestaan ​​in transactie
Open,Open
Open Sans,Open Sans
Open Tickets,Open Kaarten
Opening Date,Opening Datum
Opening Entry,Opening Entry
Opening Time,Opening Time
Opening for a Job.,Opening voor een baan.
Operating Cost,Operationele kosten
Operation Description,Operatie Beschrijving
Operation No,Operation No
Operation Time (mins),Operatie Tijd (min.)
Operations,Operations
Opportunity,Kans
Opportunity Date,Opportunity Datum
Opportunity From,Opportunity Van
Opportunity Item,Opportunity Item
Opportunity Items,Opportunity Items
Opportunity Lost,Opportunity Verloren
Opportunity Type,Type functie
Options,Opties
Options Help,Opties Help
Order Confirmed,Order bevestigd
Order Lost,Bestel Verloren
Order Type,Bestel Type
Ordered Items To Be Billed,Bestelde artikelen te factureren
Ordered Items To Be Delivered,Besteld te leveren zaken
Ordered Quantity,Bestelde hoeveelheid
Orders released for production.,Bestellingen vrijgegeven voor productie.
Organization Profile,Organisatie Profiel
Original Message,Oorspronkelijk bericht
Other,Ander
Other Details,Andere Details
Out,Uit
Out of AMC,Uit AMC
Out of Warranty,Out of Warranty
Outgoing,Uitgaande
Outgoing Mail Server,Server uitgaande post
Outgoing Mails,Uitgaande mails
Outstanding Amount,Openstaande bedrag
Outstanding for Voucher ,Uitstekend voor Voucher
Over Heads,Meer dan Heads
Overhead,Boven het hoofd
Overlapping Conditions found between,Gevonden overlappende voorwaarden tussen
Owned,Owned
PAN Number,PAN-nummer
PF No.,PF Nee
PF Number,PF nummer
PI/2011/,PI/2011 /
PIN,PIN
PO,PO
POP3 Mail Server,POP3-e-mailserver
POP3 Mail Server (e.g. pop.gmail.com),POP3-e-mailserver (bv pop.gmail.com)
POP3 Mail Settings,POP3-mailinstellingen
POP3 mail server (e.g. pop.gmail.com),POP3-mailserver (bv pop.gmail.com)
POP3 server e.g. (pop.gmail.com),POP3-server bijvoorbeeld (pop.gmail.com)
POS Setting,POS-instelling
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,Geef een
Please specify a Price List which is valid for Territory,Geef een prijslijst die geldig is voor het grondgebied
Please specify a valid,Geef een geldige
Please specify a valid 'From Case No.',Geef een geldige &#39;Van Case No&#39;
Please specify currency in Company,Specificeer munt in Bedrijf
Point of Sale,Point of Sale
Point-of-Sale Setting,Point-of-Sale-instelling
Post Graduate,Post Graduate
Post Topic,Bericht Onderwerp
Postal,Post-
Posting Date,Plaatsingsdatum
Posting Date Time cannot be before,Posting Datum Tijd kan niet voor
Posting Time,Posting Time
Posts,Berichten
Potential Sales Deal,Potentiële Sales Deal
Potential opportunities for selling.,Potentiële mogelijkheden voor de verkoop.
"Precision for Float fields (quantities, discounts, percentages etc) 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 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 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 Series,Offerte Series
Quotation To,Offerte Voor
Quotation Trend,Offerte Trend
Quotations received from Suppliers.,Offertes ontvangen van leveranciers.
Quotes to Leads or Customers.,Quotes om leads of klanten.
Raise Material Request,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...,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 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 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 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 prefix for numbering series on your transactions,Stel prefix voor het nummeren van serie over uw transacties
Set targets Item Group-wise for this Sales Person.,Set richt Item Group-wise voor deze verkoper.
"Set your background color, font and image (tiled)","Zet je achtergrond kleur, lettertype en afbeelding (tegel)"
"Set your outgoing mail SMTP settings here. All system generated notifications, emails will go from this mail server. If you are not sure, leave this blank to use ERPNext servers (emails will still be sent from your email id) or contact your email provider.","Stel hier uw uitgaande e-mail SMTP-instellingen. Alle systeem gegenereerde meldingen, zal e-mails gaan van deze e-mail server. Als u niet zeker bent, laat dit leeg om ERPNext servers (e-mails worden nog steeds verzonden vanaf uw e-id) te gebruiken of uw e-mailprovider te contacteren."
Setting Account Type helps in selecting this Account in transactions.,Instellen Account Type helpt bij het selecteren van deze account in transacties.
Settings,Instellingen
Settings for About Us Page.,Instellingen voor Over Ons pagina.
Settings for Accounts,Instellingen voor accounts
Settings for Buying Module,Instellingen voor het kopen Module
Settings for Contact Us Page,Instellingen voor Contact Pagina
Settings for Contact Us Page.,Instellingen voor Contact Pagina.
Settings for Selling Module,Instellingen voor Selling Module
Settings for the About Us Page,Instellingen voor de Over Ons pagina
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""",Instellingen om sollicitanten halen uit een mailbox bijv. &quot;jobs@example.com&quot;
Setup,Setup
Setup Control,Setup Controle
Setup Series,Setup-serie
Setup of Shopping Cart.,Setup van de Winkelwagen.
Setup of fonts and background.,Instellen van lettertypen en de achtergrond.
"Setup of top navigation bar, footer and logo.",Instellen van bovenste navigatiebalk voettekst en logo.
Setup to pull emails from support email account,Setup om e-mails te trekken van ondersteuning e-mailaccount
Share,Aandeel
Share With,Delen
Shipments to customers.,Verzendingen naar klanten.
Shipping,Scheepvaart
Shipping Account,Verzending account
Shipping Address,Verzendadres
Shipping Address Name,Verzenden Adres Naam
Shipping Amount,Verzending Bedrag
Shipping Rule,Verzending Rule
Shipping Rule Condition,Verzending Regel Conditie
Shipping Rule Conditions,Verzending Regel Voorwaarden
Shipping Rule Label,Verzending Regel Label
Shipping Rules,Verzending Regels
Shop,Winkelen
Shopping Cart,Winkelwagen
Shopping Cart Price List,Winkelwagen Prijslijst
Shopping Cart Price Lists,Winkelwagen Prijslijsten
Shopping Cart Settings,Winkelwagen Instellingen
Shopping Cart Shipping Rule,Winkelwagen Scheepvaart Rule
Shopping Cart Shipping Rules,Winkelwagen Scheepvaart Regels
Shopping Cart Taxes and Charges Master,Winkelwagen en-heffingen Master
Shopping Cart Taxes and Charges Masters,Winkelwagen en-heffingen Masters
Short Bio,Korte Bio
Short Name,Korte Naam
Short biography for website and other publications.,Korte biografie voor website en andere publicaties.
Shortcut,Kortere weg
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Toon &quot;Op voorraad&quot; of &quot;Niet op voorraad&quot; op basis van de beschikbare voorraad in dit magazijn.
Show Details,Show Details
Show In Website,Toon in Website
Show Print First,Eerste Show Print
Show a slideshow at the top of the page,Laat een diavoorstelling aan de bovenkant van de pagina
Show in Website,Toon in Website
Show rows with zero values,Toon rijen met nulwaarden
Show this slideshow at the top of the page,Laat deze slideshow aan de bovenkant van de pagina
Showing only for,Resultaat alleen voor
Signature,Handtekening
Signature to be appended at the end of every email,Handtekening moet worden toegevoegd aan het einde van elke e-mail
Single,Single
Single Post (article).,Los bericht (artikel).
Single unit of an Item.,Enkele eenheid van een item.
Sitemap Domain,Sitemap Domein
Slideshow,Diashow
Slideshow Items,Diashow Items
Slideshow Name,Diashow Naam
Slideshow like display for the website,Diashow zoals weergegeven voor de website
Small Text,Kleine tekst
Solid background color (default light gray),Effen achtergrondkleur (standaard lichtgrijs)
Sorry we were unable to find what you were looking for.,Sorry we waren niet in staat om te vinden wat u zocht.
Sorry you are not permitted to view this page.,Sorry dat je niet toegestaan ​​om deze pagina te bekijken.
Sorry! We can only allow upto 100 rows for Stock Reconciliation.,Sorry! We kunnen alleen maar staan ​​tot 100 rijen voor Stock Verzoening.
Sorry. 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 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,Te doen
To Do List,To Do List
To PR Date,Om PR Datum
To Package No.,Op Nee Pakket
To Reply,Om Beantwoorden
To Time,Naar Time
To Value,Om Value
To Warehouse,Om Warehouse
"To add a tag, open the document and click on ""Add Tag"" on the sidebar","Als u een label toe te voegen, opent u het document en klik op &quot;Add Tag&quot; op de zijbalk"
"To assign this issue, use the ""Assign"" button in the sidebar.","Om dit probleem op te wijzen, gebruikt u de &quot;Assign&quot;-knop in de zijbalk."
"To automatically create Support Tickets from your incoming mail, set your POP3 settings here. You must ideally create a separate email id for the erp system so that all emails will be synced into the system from that mail id. If you are not sure, please contact your EMail Provider.","Als u automatisch Support Tickets maken van uw inkomende e-mail, hier stelt u uw POP3-instellingen. U moet idealiter een aparte e-id voor het ERP-systeem, zodat alle e-mails worden gesynchroniseerd in het systeem van die e-mail-ID. Als u niet zeker bent, neem dan contact op met uw e-mailprovider."
"To create an Account Head under a different company, select the company and save customer.","Om een ​​account te creëren hoofd onder een andere onderneming, selecteert u het bedrijf en op te slaan klant."
To enable <b>Point of Sale</b> features,Om <b>Point of Sale</b> functies in te schakelen
"To 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 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 Remark,Gebruiker Opmerking
User Remark will be added to Auto Remark,Gebruiker Opmerking zal worden toegevoegd aan Auto Opmerking
User Tags,Gebruiker-tags
User Type,Gebruikerstype
User must always select,Gebruiker moet altijd kiezen
User not allowed entry in the Warehouse,Gebruiker niet toegestaan ​​vermelding in het Warehouse
User not allowed to delete.,Gebruiker niet toegestaan ​​om te verwijderen.
UserRole,UserRole
Username,Gebruikersnaam
Users who can approve a specific employee's leave applications,Gebruikers die verlofaanvragen van een specifieke werknemer kan goedkeuren
Users with this role are allowed to do / modify accounting entry before frozen date,Gebruikers met deze rol mogen doen / inschrijving in de boekhouding aanpassen voordat bevroren datum
Utilities,Utilities
Utility,Utility
Valid For Territories,Geldig voor Territories
Valid Upto,Geldig Tot
Valid for Buying or Selling?,Geldig voor kopen of verkopen?
Valid for Territories,Geldig voor Territories
Validate,Bevestigen
Valuation,Taxatie
Valuation Method,Waardering Methode
Valuation Rate,Waardering Prijs
Valuation and Total,Taxatie en Total
Value,Waarde
Value missing for,Waarde vermist
Vehicle Dispatch Date,Vehicle Dispatch Datum
Vehicle No,Voertuig Geen
Verdana,Verdana
Verified By,Verified By
Visit,Bezoeken
Visit report for maintenance call.,Bezoek rapport voor onderhoud gesprek.
Voucher Detail No,Voucher Detail Geen
Voucher ID,Voucher ID
Voucher Import Tool,Voucher Import Tool
Voucher No,Blad nr.
Voucher Type,Voucher Type
Voucher Type and Date,Voucher Type en Date
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.
You may need to update: ,U kan nodig zijn om bij te werken:
Your Customer's TAX registration numbers (if applicable) or any general information,Uw klant fiscale nummers (indien van toepassing) of een algemene informatie
"Your download is being built, this may take a few moments...","Uw download wordt gebouwd, kan dit enige tijd duren ..."
Your letter head content 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
