 (Half Day),(Halve dag),
 Currently no stock available in any warehouse,Momenteel geen stock beschikbaar in een magazijn,
 From Date can not be greater than To Date,Van datum kan niet groter zijn dan tot datum,
 Group Roll No,Groepsrollen Nee,
 or ,of,
" {0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Voorbeeld behouden is gebaseerd op batch, controleer Has Batchnummer om het voorbeeld van het item te behouden",
"""Customer Provided Item"" cannot be Purchase Item also",&quot;Door de klant geleverd artikel&quot; kan ook geen inkoopitem zijn,
"""Customer Provided Item"" cannot have Valuation Rate",&quot;Door de klant geleverd artikel&quot; kan geen waarderingssnelheid hebben,
"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","&quot;Is vaste activa&quot; kan niet worden uitgeschakeld, omdat er een inventarisrecord tegen het artikel bestaat",
'Based On' and 'Group By' can not be same,&#39;Based On&#39; en &#39;Group By&#39; kunnen niet hetzelfde zijn,
'Days Since Last Order' must be greater than or equal to zero,&#39;Dagen sinds laatste bestelling&#39; moet groter zijn dan of gelijk zijn aan nul,
'Entries' cannot be empty,&#39;Invoer&#39; kan niet leeg zijn,
'From Date' is required,&#39;Van datum&#39; is verplicht,
'From Date' must be after 'To Date',&#39;From Date&#39; moet na &#39;To Date&#39; staan,
'Has Serial No' can not be 'Yes' for non-stock item,&#39;Heeft serie nr.&#39; Kan niet &#39;Ja&#39; zijn voor een artikel dat niet op voorraad is,
'Opening',&#39;Opening&#39;,
'To Case No.' cannot be less than 'From Case No.',&#39;Naar zaak nummer&#39; kan niet minder zijn dan &#39;From Case No.&#39;,
'To Date' is required,&#39;To Date&#39; is verplicht,
'Total',&#39;Totaal&#39;,
'Update Stock' can not be checked because items are not delivered via {0},&#39;Voorraad bijwerken&#39; kan niet worden gecontroleerd omdat artikelen niet worden afgeleverd via {0},
'Update Stock' cannot be checked for fixed asset sale,&#39;Update voorraad&#39; kan niet worden gecontroleerd op verkoop van vaste activa,
) for {0},) voor {0},
1 exact match.,1 exacte overeenkomst.,
90-Above,90 Boven,
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Een klantengroep bestaat met dezelfde naam, wijzig de naam van de klant of wijzig de naam van de klantengroep",
A Default Service Level Agreement already exists.,Er bestaat al een standaard Service Level Agreement.,
A Lead requires either a person's name or an organization's name,Een lead vereist de naam van een persoon of de naam van een organisatie,
A customer with the same name already exists,Er bestaat al een klant met dezelfde naam,
A question must have more than one options,Een vraag moet uit meerdere opties bestaan,
A qustion must have at least one correct options,A qustion moet op zijn minst één correcte optie hebben,
A {0} exists between {1} and {2} (,Een {0} bestaat tussen {1} en {2} (,
Abbr can not be blank or space,Abbr kan niet leeg of spatie zijn,
Abbreviation already used for another company,Afkorting al gebruikt voor een ander bedrijf,
Abbreviation cannot have more than 5 characters,Afkorting mag niet meer dan 5 tekens bevatten,
Abbreviation is mandatory,Afkorting is verplicht,
About the Company,Over het bedrijf,
About your company,Over uw bedrijf,
Above,Bovenstaande,
Absent,Afwezig,
Academic Term,Academische termijn,
Academic Term: ,Academische termijn:,
Academic Year,Academiejaar,
Academic Year: ,Academiejaar:,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Geaccepteerd + geweigerd aantal moet gelijk zijn aan Ontvangen hoeveelheid voor artikel {0},
Accessable Value,Toegankelijke waarde,
Account,Account,
Account Number,Rekeningnummer,
Account Number {0} already used in account {1},Accountnummer {0} al gebruikt in account {1},
Account Pay Only,Alleen account betalen,
Account Type,account type,
Account Type for {0} must be {1},Accounttype voor {0} moet {1} zijn,
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Rekeningsaldo al in Krediet, u kunt &#39;Saldo moet niet&#39; niet instellen als &#39;Debet&#39;",
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Accountsaldo al in Debet, u kunt &#39;Balance Must Be&#39; niet instellen als &#39;Credit&#39;",
Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Accountnummer voor account {0} is niet beschikbaar. <br> Stel uw rekeningschema correct in.,
Account with child nodes cannot be converted to ledger,Account met onderliggende knooppunten kan niet worden geconverteerd naar grootboek,
Account with child nodes cannot be set as ledger,Account met onderliggende knooppunten kan niet worden ingesteld als grootboek,
Account with existing transaction can not be converted to group.,Account met bestaande transactie kan niet worden geconverteerd naar groep.,
Account with existing transaction can not be deleted,Account met bestaande transactie kan niet worden verwijderd,
Account with existing transaction cannot be converted to ledger,Account met bestaande transactie kan niet worden geconverteerd naar grootboek,
Account {0} does not belong to company: {1},Account {0} hoort niet bij bedrijf: {1},
Account {0} does not belongs to company {1},Account {0} hoort niet bij bedrijf {1},
Account {0} does not exist,Account {0} bestaat niet,
Account {0} does not exists,Account {0} bestaat niet,
Account {0} does not match with Company {1} in Mode of Account: {2},Account {0} komt niet overeen met bedrijf {1} in accountmodus: {2},
Account {0} has been entered multiple times,Account {0} is meerdere keren ingevoerd,
Account {0} is added in the child company {1},Account {0} is toegevoegd in het bedrijf van het kind {1},
Account {0} is frozen,Account {0} is bevroren,
Account {0} is invalid. Account Currency must be {1},Account {0} is ongeldig. Account Currency moet {1} zijn,
Account {0}: Parent account {1} can not be a ledger,Account {0}: bovenliggende account {1} kan geen grootboek zijn,
Account {0}: Parent account {1} does not belong to company: {2},Account {0}: bovenliggende account {1} hoort niet bij bedrijf: {2},
Account {0}: Parent account {1} does not exist,Account {0}: bovenliggende account {1} bestaat niet,
Account {0}: You can not assign itself as parent account,Account {0}: u kunt zichzelf niet toewijzen als bovenliggend account,
Account: {0} can only be updated via Stock Transactions,Account: {0} kan alleen worden bijgewerkt via voorraadtransacties,
Account: {0} with currency: {1} can not be selected,Account: {0} met valuta: {1} kan niet worden geselecteerd,
Accountant,Accountant,
Accounting,Accounting,
Accounting Entry for Asset,Boekhoudinvoer voor activa,
Accounting Entry for Stock,Boekhoudinvoer voor aandelen,
Accounting Entry for {0}: {1} can only be made in currency: {2},Boekhoudingsvermelding voor {0}: {1} kan alleen in valuta worden gemaakt: {2},
Accounting Ledger,Boekhoudingsgrootboek,
Accounting entries have already been made in currency {0} for company {1}. Please select a receivable or payable account with currency {0}.,Boekhoudingsboekingen zijn al gemaakt in valuta {0} voor bedrijf {1}. Selecteer een te ontvangen of te betalen account met valuta {0}.,
Accounting journal entries.,Boekhoudjournaalboekingen.,
Accounts,accounts,
Accounts Payable,Crediteurenadministratie,
Accounts Payable Summary,Overzicht crediteurenadministratie,
Accounts Receivable,Debiteuren,
Accounts Receivable Summary,Debiteurenoverzicht,
Accounts table cannot be blank.,Accounts tabel mag niet leeg zijn.,
Accrual Journal Entry for salaries from {0} to {1},Inschrijvingsboek boeking voor salarissen van {0} tot {1},
Accumulated Depreciation,Cumulatieve afschrijving,
Accumulated Depreciation Amount,Gecumuleerd afschrijvingsbedrag,
Accumulated Depreciation as on,Gecumuleerde afschrijvingen als op,
Accumulated Monthly,Gecumuleerde maandelijks,
Accumulated Values,Geaccumuleerde waarden,
Accumulated Values in Group Company,Geaccumuleerde waarden in groepsmaatschappij,
Achieved ({}),Bereikt ({}),
Action,Actie,
Action Initialised,Actie geïnitialiseerd,
Actions,acties,
Active,Actief,
Active Leads / Customers,Actieve leads / klanten,
Activity Cost exists for Employee {0} against Activity Type - {1},Activiteitskosten bestaan voor werknemer {0} tegen activiteitstype - {1},
Activity Cost per Employee,Activiteitskosten per werknemer,
Activity Type,Soort activiteit,
Actual Cost,Werkelijke kosten,
Actual Delivery Date,Werkelijke leveringsdatum,
Actual Qty,Werkelijke hoeveelheid,
Actual Qty is mandatory,Werkelijke hoeveelheid is verplicht,
Actual Qty {0} / Waiting Qty {1},Werkelijke hoeveelheid {0} / wachtend aantal {1},
Actual Qty: Quantity available in the warehouse.,Werkelijke hoeveelheid: hoeveelheid beschikbaar in het magazijn.,
Actual qty in stock,Werkelijk aantal op voorraad,
Actual type tax cannot be included in Item rate in row {0},Feitelijke type belasting kan niet worden opgenomen in artikelprijs in rij {0},
Add,Toevoegen,
Add / Edit Prices,Prijzen toevoegen / bewerken,
Add All Suppliers,Voeg alle leveranciers toe,
Add Comment,Voeg commentaar toe,
Add Customers,Voeg klanten toe,
Add Employees,Voeg werknemers toe,
Add Item,Voeg item toe,
Add Items,Items toevoegen,
Add Leads,Leads toevoegen,
Add Multiple Tasks,Meerdere taken toevoegen,
Add Row,Rij toevoegen,
Add Sales Partners,Voeg verkooppartners toe,
Add Serial No,Voeg serienr,
Add Students,Studenten toevoegen,
Add Suppliers,Leveranciers toevoegen,
Add Time Slots,Tijdslots toevoegen,
Add Timesheets,Tijdsheets toevoegen,
Add Timeslots,Voeg tijdsloten toe,
Add Users to Marketplace,Gebruikers toevoegen aan Marketplace,
Add a new address,Voeg een nieuw adres toe,
Add cards or custom sections on homepage,Voeg kaarten of aangepaste secties toe op de startpagina,
Add more items or open full form,Voeg meer items toe of open het volledige formulier,
Add notes,Voeg notities toe,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Voeg de rest van uw organisatie toe als uw gebruikers. U kunt ook uitnodigingsklanten toevoegen aan uw portal door ze toe te voegen vanuit Contactpersonen,
Add to Details,Toevoegen aan details,
Add/Remove Recipients,Ontvangers toevoegen / verwijderen,
Added,Toegevoegd,
Added to details,Toegevoegd aan details,
Added {0} users,{0} gebruikers toegevoegd,
Additional Salary Component Exists.,Aanvullende Salariscomponent bestaat.,
Address,Adres,
Address Line 2,Adres lijn 2,
Address Name,Adres naam,
Address Title,Adres titel,
Address Type,Adrestype,
Administrative Expenses,Administratieve lasten,
Administrative Officer,Ambtenaar,
Admission,Toelating,
Admission and Enrollment,Toelating en inschrijving,
Admissions for {0},Admissions voor {0},
Admit,Toegeven,
Admitted,toegelaten,
Advance Amount,Voorschotbedrag,
Advance Payments,Voorafgaande betalingen,
Advance account currency should be same as company currency {0},Vooraf ingestelde accountvaluta moet hetzelfde zijn als bedrijfsvaluta {0},
Advance amount cannot be greater than {0} {1},Voorschotbedrag kan niet groter zijn dan {0} {1},
Advertising,Advertising,
Aerospace,ruimte,
Against,Tegen,
Against Account,Tegen account,
Against Journal Entry {0} does not have any unmatched {1} entry,Tegen journaalboeking heeft {0} geen ongeëvenaard {1} -item,
Against Journal Entry {0} is already adjusted against some other voucher,Tegen journaalboeking is {0} al aangepast aan een andere tegoedbon,
Against Supplier Invoice {0} dated {1},Tegen Leveranciersfactuur {0} gedateerd {1},
Against Voucher,Tegen voucher,
Against Voucher Type,Tegen Voucher Type,
Age,Leeftijd,
Age (Days),Leeftijd (dagen),
Ageing Based On,Veroudering gebaseerd op,
Ageing Range 1,Verouderingsbereik 1,
Ageing Range 2,Verouderingsbereik 2,
Ageing Range 3,Verouderingsbereik 3,
Agriculture,landbouw,
Agriculture (beta),Landbouw (bèta),
Airline,vliegmaatschappij,
All Accounts,Alle accounts,
All Addresses.,Alle adressen.,
All Assessment Groups,Alle beoordelingsgroepen,
All BOMs,Alle stuklijsten,
All Contacts.,Alle contacten.,
All Customer Groups,Alle klantengroepen,
All Day,De hele dag,
All Departments,Alle afdelingen,
All Healthcare Service Units,Alle Healthcare Service Units,
All Item Groups,Alle artikelgroepen,
All Jobs,Alle banen,
All Products,Alle producten,
All Products or Services.,Alle producten of services.,
All Student Admissions,Alle studentenbezoeken,
All Supplier Groups,Alle leveranciersgroepen,
All Supplier scorecards.,Alle scorecards van leveranciers.,
All Territories,Alle gebieden,
All Warehouses,Alle magazijnen,
All communications including and above this shall be moved into the new Issue,"Alle communicatie, inclusief en daarboven, wordt verplaatst naar de nieuwe uitgave",
All items have already been invoiced,Alle items zijn al gefactureerd,
All items have already been transferred for this Work Order.,Alle items zijn al overgedragen voor deze werkbon.,
All other ITC,Alle andere ITC,
All the mandatory Task for employee creation hasn't been done yet.,Alle verplichte taken voor het maken van medewerkers zijn nog niet gedaan.,
All these items have already been invoiced,Al deze items zijn al gefactureerd,
Allocate Payment Amount,Toewijzen van betalingsbedrag,
Allocated Amount,Toegewezen bedrag,
Allocated Leaves,Toegewezen bladeren,
Allocating leaves...,Bladeren toewijzen ...,
Already record exists for the item {0},Er bestaat al record voor het item {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Al ingesteld standaard in pos profiel {0} voor gebruiker {1}, vriendelijk uitgeschakeld standaard",
Alternate Item,Alternatief item,
Alternative item must not be same as item code,Alternatief artikel mag niet hetzelfde zijn als artikelcode,
Amount,Bedrag,
Amount After Depreciation,Bedrag na afschrijving,
Amount of Integrated Tax,Bedrag van geïntegreerde belastingen,
Amount of TDS Deducted,Hoeveelheid TDS afgetrokken,
Amount should not be less than zero.,Bedrag mag niet kleiner zijn dan nul.,
Amount to Bill,Bedrag aan Bill,
Amount {0} {1} against {2} {3},Bedrag {0} {1} tegen {2} {3},
Amount {0} {1} deducted against {2},Bedrag {0} {1} afgetrokken tegen {2},
Amount {0} {1} transferred from {2} to {3},Bedrag {0} {1} overgedragen van {2} naar {3},
Amount {0} {1} {2} {3},Bedrag {0} {1} {2} {3},
Amt,Amt,
"An Item Group exists with same name, please change the item name or rename the item group","Een artikelgroep bestaat met dezelfde naam, wijzig de itemnaam of hernoem de artikelgroep",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Een academische term met dit &#39;Academische jaar&#39; {0} en &#39;Termnaam&#39; {1} bestaat al. Wijzig deze vermeldingen en probeer het opnieuw.,
An error occurred during the update process,Er is een fout opgetreden tijdens het updateproces,
"An item exists with same name ({0}), please change the item group name or rename the item","Een item bestaat met dezelfde naam ({0}), wijzig de naam van de artikelgroep of wijzig de naam van het item",
Analyst,Analyst,
Analytics,Analytics,
Annual Billing: {0},Jaarlijkse facturering: {0},
Annual Salary,Jaarlijks salaris,
Anonymous,Anoniem,
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Een ander budgetrecord &#39;{0}&#39; bestaat al voor {1} &#39;{2}&#39; en account &#39;{3}&#39; voor het fiscale jaar {4},
Another Period Closing Entry {0} has been made after {1},Een andere Periode die Inschrijving afsluit {0} is gemaakt na {1},
Another Sales Person {0} exists with the same Employee id,Een andere verkooppersoon {0} bestaat met hetzelfde werknemers-ID,
Antibiotic,Antibioticum,
Apparel & Accessories,Kleding en accessoires,
"Applicable if the company is SpA, SApA or SRL","Van toepassing als het bedrijf SpA, SApA of SRL is",
Applicable if the company is a limited liability company,Van toepassing als het bedrijf een vennootschap met beperkte aansprakelijkheid is,
Applicable if the company is an Individual or a Proprietorship,Van toepassing als het bedrijf een individu of een patrimonium is,
Applicant,aanvrager,
Applicant Type,aanvrager Type,
Application of Funds (Assets),Toepassing van fondsen (activa),
Application period cannot be across two allocation records,De toepassingsperiode kan niet over twee toewijzingsrecords lopen,
Application period cannot be outside leave allocation period,De aanmeldingsperiode kan niet buiten de verloftoekenningsperiode liggen,
Applied,Toegepast,
Apply Now,Nu toepassen,
Appointment Analytics,Appointment Analytics,
Appointment Confirmation,Afspraak bevestiging,
Appointment Duration (mins),Afspraakduur (minuten),
Appointment Type,Afspraaktype,
Appointment cancelled,Afspraak geannuleerd,
"Appointment cancelled, Please review and cancel the invoice {0}","Afspraak geannuleerd, controleer en annuleer de factuur {0}",
Appointment {0} and Sales Invoice {1} cancelled,Afspraak {0} en verkoopfactuur {1} geannuleerd,
Appointments and Encounters,Afspraken en ontmoetingen,
Appointments and Patient Encounters,Afspraken en ontmoetingen met patiënten,
Appraisal {0} created for Employee {1} in the given date range,Beoordeling {0} gemaakt voor werknemer {1} in de opgegeven periode,
Apprentice,Leerling,
Approval Status must be 'Approved' or 'Rejected',Goedkeuringsstatus moet &#39;Goedgekeurd&#39; of &#39;Geweigerd&#39; zijn,
Approve,Goedkeuren,
Approving Role cannot be same as role the rule is Applicable To,Het goedkeuren van de rol kan niet hetzelfde zijn als de rol waarvan de regel van toepassing is,
Approving User cannot be same as user the rule is Applicable To,Goedkeuring van gebruiker kan niet hetzelfde zijn als gebruiker waarop de regel van toepassing is,
"Apps using current key won't be able to access, are you sure?","Apps die de huidige sleutel gebruiken, hebben geen toegang. Weet u het zeker?",
Are you sure you want to cancel this appointment?,Weet je zeker dat je deze afspraak wilt annuleren?,
Arrear,achterstand,
As Examiner,Als examinator,
As On Date,Zoals op datum,
As Supervisor,Als supervisor,
As per rules 42 & 43 of CGST Rules,Volgens de regels 42 en 43 van de CGST-regels,
As per section 17(5),Zoals in paragraaf 17 (5),
"As per the Buying Settings if Purchase Order Required == 'YES', then for creating Purchase Invoice, user need to create Purchase Order first for item {0}","Vanaf de inkoopinstellingen indien bestelling vereist == &#39;JA&#39; en vervolgens voor het aanmaken van inkoopfactuur, moet de gebruiker eerst een bestelling creëren voor artikel {0}",
"As per the Buying Settings if Purchase Reciept Required == 'YES', then for creating Purchase Invoice, user need to create Purchase Receipt first for item {0}","Zoals bij de aankoopinstellingen als Aankoopontvangst vereist == &#39;JA&#39; en vervolgens inkoopfactuur moet maken, moet de gebruiker eerst een inkoopbewijs aanmaken voor item {0}",
As per your assigned Salary Structure you cannot apply for benefits,Vanaf uw toegewezen Salarisstructuur kunt u geen voordelen aanvragen,
Assessment,Beoordeling,
Assessment Criteria,Beoordelingscriteria,
Assessment Group,Beoordelingsgroep,
Assessment Group: ,Beoordelingsgroep:,
Assessment Plan,Assessment Plan,
Assessment Plan Name,Beoordeling plannaam,
Assessment Report,Evaluatieverslag,
Assessment Reports,Beoordelingsrapporten,
Assessment Result,Beoordelingsresultaat,
Assessment Result record {0} already exists.,Beoordeling Resultaatrecord {0} bestaat al.,
Asset,aanwinst,
Asset Category,Activategroep,
Asset Category is mandatory for Fixed Asset item,Asset Category is verplicht voor een item met vaste activa,
Asset Maintenance,Asset onderhoud,
Asset Movement,Asset-beweging,
Asset Movement record {0} created,Asset Movement record {0} gemaakt,
Asset Name,Activumnaam,
Asset Received But Not Billed,Activum ontvangen maar niet gefactureerd,
Asset Value Adjustment,Asset Value Adjustment,
"Asset cannot be cancelled, as it is already {0}","Activum kan niet worden geannuleerd, omdat het al {0} is",
Asset scrapped via Journal Entry {0},Activa gesloopt via journaalboeking {0},
"Asset {0} cannot be scrapped, as it is already {1}","Asset {0} kan niet worden gesloopt, omdat het al {1} is",
Asset {0} does not belong to company {1},Asset {0} hoort niet bij bedrijf {1},
Asset {0} must be submitted,Asset {0} moet worden ingediend,
Assets,Middelen,
Assign,Toewijzen,
Assign Salary Structure,Salarisstructuur toewijzen,
Assign to Employees,Toewijzen aan werknemers,
Assigning Structures...,Structuren toewijzen ...,
Associate,Associëren,
At least one mode of payment is required for POS invoice.,Er is ten minste één betaalwijze vereist voor de POS-factuur.,
Atleast one item should be entered with negative quantity in return document,Ten minste één artikel moet worden ingevoerd met negatief aantal in retourdocument,
Atleast one of the Selling or Buying must be selected,Ten minste één van de Verkopend of Koop moet zijn geselecteerd,
Atleast one warehouse is mandatory,Ten minste één magazijn is verplicht,
Attach Logo,Logo bijvoegen,
Attachments,Bijlagen,
Attendance,opkomst,
Attendance From Date and Attendance To Date is mandatory,Aanwezigheid van datum en aanwezigheid tot datum is verplicht,
Attendance Record {0} exists against Student {1},Aanwezigheidsrecord {0} bestaat tegen student {1},
Attendance can not be marked for future dates,Aanwezigheid kan niet worden gemarkeerd voor toekomstige datums,
Attendance date can not be less than employee's joining date,Aanwezigheidsdatum kan niet minder zijn dan de toetredingsdatum van de werknemer,
Attendance for employee {0} is already marked,Aanwezigheid voor werknemer {0} is al gemarkeerd,
Attendance for employee {0} is already marked for this day,Aanwezigheid voor werknemer {0} is al gemarkeerd voor deze dag,
Attendance has been marked successfully.,Aanwezigheid is gemarkeerd als succesvol.,
Attendance not submitted for {0} as it is a Holiday.,Aanwezigheid niet ingediend voor {0} omdat het een feestdag is.,
Attendance not submitted for {0} as {1} on leave.,Aanwezigheid niet ingediend voor {0} als {1} met verlof.,
Attribute table is mandatory,Attribuuttabel is verplicht,
Attribute {0} selected multiple times in Attributes Table,Attribuut {0} meerdere keren geselecteerd in Attributen-tabel,
Authorized Signatory,Gemachtigde ondertekenaar,
Auto Material Requests Generated,Automatische artikelaanvragen gegenereerd,
Auto repeat document updated,Automatisch herhaalde document bijgewerkt,
Automotive,Automotive,
Available,Beschikbaar,
Available Leaves,Beschikbare bladeren,
Available Qty,Beschikbaar aantal,
Available Selling,Beschikbare verkoop,
Available for use date is required,Beschikbaar voor gebruik datum is vereist,
Available slots,Beschikbare slots,
Available {0},Beschikbaar {0},
Available-for-use Date should be after purchase date,Beschikbaar voor gebruik De datum moet na de aankoopdatum zijn,
Average Age,Gemiddelde leeftijd,
Average Rate,Gemiddelde score,
Avg Daily Outgoing,Gemiddelde dagelijkse uitgaande,
Avg. Buying Price List Rate,Gem. Prijslijst kopen,
Avg. Selling Price List Rate,Gem. Prijslijst tarief verkopen,
Avg. Selling Rate,Gem. Verkoopcijfers,
BOM,BOM,
BOM #{0}: Raw material cannot be same as main Item,Stuklijst # {0}: Grondstof kan niet hetzelfde zijn als hoofditem,
BOM Browser,BOM-browser,
BOM No,Stuknummer,
BOM Rate,BOM-koers,
BOM Stock Report,Stuklijst rapport,
BOM and Manufacturing Quantity are required,BOM en productiehoeveelheid zijn vereist,
BOM does not contain any stock item,Stuklijst bevat geen artikelitem,
BOM {0} does not belong to Item {1},BOM {0} hoort niet bij Item {1},
BOM {0} must be active,BOM {0} moet actief zijn,
BOM {0} must be submitted,BOM {0} moet worden ingediend,
Balance,Balans,
Balance (Dr - Cr),Evenwicht (Dr - Cr),
Balance ({0}),Saldo ({0}),
Balance Qty,Balans aantal,
Balance Sheet,Balans,
Balance Value,Saldo Waarde,
Balance for Account {0} must always be {1},Saldo voor account {0} moet altijd {1} zijn,
Bank,Bank,
Bank Account,Bankrekening,
Bank Accounts,Bankrekeningen,
Bank Draft,Bank Draft,
Bank Entries,Bankgegevens,
Bank Name,Banknaam,
Bank Overdraft Account,Bank Overdraft Account,
Bank Reconciliation,Bankreconciliatie,
Bank Reconciliation Statement,Verklaring bankafstemming,
Bank Statement,Bankafschrift,
Bank Statement Settings,Instellingen voor bankafschriften,
Bank Statement balance as per General Ledger,Banktegoedsaldo volgens grootboek,
Bank account cannot be named as {0},Bankrekening kan niet worden genoemd als {0},
Bank/Cash transactions against party or for internal transfer,Bank / Cash-transacties tegen een feest of voor interne overschrijving,
Banking,bank,
Banking and Payments,Bankieren en betalen,
Barcode {0} already used in Item {1},Barcode {0} al gebruikt in item {1},
Barcode {0} is not a valid {1} code,Barcode {0} is geen geldige {1} code,
Base,Baseren,
Based On,Gebaseerd op,
Based On Payment Terms,Gebaseerd op betalingsvoorwaarden,
Basic,basis-,
Batch,Partij,
Batch Entries,Batchvermeldingen,
Batch ID is mandatory,Batch-ID is verplicht,
Batch Inventory,Batch-inventaris,
Batch Name,Batchnaam,
Batch No,Batch nr,
Batch number is mandatory for Item {0},Batchnummer is verplicht voor artikel {0},
Batch {0} of Item {1} has expired.,Batch {0} van item {1} is verlopen.,
Batch {0} of Item {1} is disabled.,Batch {0} van item {1} is uitgeschakeld.,
Batch: ,Partij:,
Batches,batches,
Become a Seller,Word een verkoper,
Bill,Bill,
Bill Date,Factuurdatum,
Bill No,Factuurnummer,
Bill of Materials,Stuklijst,
Bill of Materials (BOM),Stuklijst (BOM),
Billable Hours,Factureerbare uren,
Billed,gefactureerd,
Billed Amount,Gefactureerd bedrag,
Billing,Billing,
Billing Address,Facturatie adres,
Billing Address is same as Shipping Address,Factuuradres is hetzelfde als verzendadres,
Billing Amount,Gefactureerde hoeveelheid,
Billing Status,Factureringsstatus,
Billing currency must be equal to either default company's currency or party account currency,Factuurvaluta moet gelijk zijn aan de valuta van het standaardbedrijf of de valuta van het partijaccount,
Bills raised by Suppliers.,Facturen opgehaald door leveranciers.,
Bills raised to Customers.,Facturen opgehaald bij klanten.,
Biotechnology,biotechnologie,
Birthday Reminder,Verjaardag Herinnering,
Black,Zwart,
Blanket Orders from Costumers.,Dekenorders van klanten.,
Block Invoice,Blokfactuur,
Boms,Boms,
Bonus Payment Date cannot be a past date,Bonusbetaaldatum kan geen datum in het verleden zijn,
Both Trial Period Start Date and Trial Period End Date must be set,Zowel de startdatum van de proefperiode als de einddatum van de proefperiode moeten worden ingesteld,
Both Warehouse must belong to same Company,Beide magazijnen moeten van hetzelfde bedrijf zijn,
Branch,Tak,
Broadcasting,omroep,
Brokerage,Makelaardij,
Browse BOM,Door BOM bladeren,
Budget Against,Budget tegen,
Budget List,Budgetlijst,
Budget Variance Report,Budget variantie rapport,
Budget cannot be assigned against Group Account {0},Budget kan niet worden toegewezen aan groepsaccount {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Budget kan niet worden toegewezen aan {0}, omdat het geen inkomsten- of onkostenrekening is",
Buildings,Gebouwen,
Bundle items at time of sale.,Bundel items op het moment van verkoop.,
Business Development Manager,Business Development Manager,
Buy,Kopen,
Buying,Buying,
Buying Amount,Hoeveelheid kopen,
Buying Price List,Prijslijst kopen,
Buying Rate,Koopsnelheid,
"Buying must be checked, if Applicable For is selected as {0}","Kopen moet worden gecontroleerd, als Toepasbaar voor is geselecteerd als {0}",
By {0},Tegen {0},
Bypass credit check at Sales Order ,Bypass credit check op klantorder,
C-Form records,C-Form records,
C-form is not applicable for Invoice: {0},C-formulier is niet van toepassing voor factuur: {0},
CEO,Directeur,
CESS Amount,CESS-bedrag,
CGST Amount,CGST-bedrag,
CRM,CRM,
CWIP Account,CWIP-account,
Calculated Bank Statement balance,Berekend banksaldo,
Calls,gesprekken,
Campaign,Campagne,
Can be approved by {0},Kan worden goedgekeurd door {0},
"Can not filter based on Account, if grouped by Account","Kan niet filteren op basis van account, indien gegroepeerd op account",
"Can not filter based on Voucher No, if grouped by Voucher","Kan niet filteren op basis van vouchernummer, indien gegroepeerd per voucher",
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Kan de Inpatient Record Discharged niet markeren, er zijn onbetaalde facturen {0}",
Can only make payment against unbilled {0},Kan alleen betalen tegen niet-ingevulde {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Kan rij alleen doorverwijzen als het afboekingstype &#39;On Previous Row Bedrag&#39; of &#39;Previous Row Total&#39; is,
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Kan de waarderingsmethode niet veranderen, omdat er transacties zijn tegen sommige items die zijn eigen waarderingsmethode niet hebben",
Can't create standard criteria. Please rename the criteria,Kan geen standaardcriteria maken. Wijzig de naam van de criteria,
Cancel,annuleren,
Cancel Material Visit {0} before cancelling this Warranty Claim,Materiaal annuleren Bezoek {0} voordat u deze garantieclaim annuleert,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Annuleer artikelbezoeken {0} voordat u deze onderhoudsbezoek annuleert,
Cancel Subscription,Annuleer abonnement,
Cancel the journal entry {0} first,Annuleer eerst de journaalboeking {0},
Canceled,Geannuleerd,
"Cannot Submit, Employees left to mark attendance","Kan niet verzenden, werknemers verlaten om aanwezigheid te markeren",
Cannot be a fixed asset item as Stock Ledger is created.,Kan geen vast activumartikel zijn aangezien het grootboek Voorraad wordt gecreëerd.,
Cannot cancel because submitted Stock Entry {0} exists,Kan niet annuleren omdat ingestuurde voorraadvermelding {0} bestaat,
Cannot cancel transaction for Completed Work Order.,Kan transactie voor voltooide werkorder niet annuleren.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Kan {0} {1} niet annuleren omdat serienummer {2} niet tot het magazijn behoort {3},
Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Kan attributen na beurstransactie niet wijzigen. Maak een nieuw item en breng aandelen over naar het nieuwe item,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Kan de begindatum van het boekjaar en de einddatum van het fiscale jaar niet wijzigen nadat het fiscale jaar is opgeslagen.,
Cannot change Service Stop Date for item in row {0},Kan de service-einddatum voor artikel in rij {0} niet wijzigen,
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Variant-eigenschappen kunnen niet worden gewijzigd na beurstransactie. U moet een nieuw item maken om dit te doen.,
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Kan de standaardvaluta van het bedrijf niet wijzigen, omdat er bestaande transacties zijn. Transacties moeten worden geannuleerd om de standaardvaluta te wijzigen.",
Cannot change status as student {0} is linked with student application {1},Kan status niet wijzigen als student {0} is gekoppeld aan student-aanvraag {1},
Cannot convert Cost Center to ledger as it has child nodes,Kan kostenplaats niet naar grootboek converteren omdat het onderliggende nodes heeft,
Cannot covert to Group because Account Type is selected.,Kan niet verbergen voor Groep omdat Accounttype is geselecteerd.,
Cannot create Retention Bonus for left Employees,Kan retentiebonus niet maken voor medewerkers die links zijn,
Cannot create a Delivery Trip from Draft documents.,Kan geen bezorgreis maken vanuit conceptdocumenten.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,BOM kan niet worden gedeactiveerd of geannuleerd omdat deze aan andere stuklijsten is gekoppeld,
"Cannot declare as lost, because Quotation has been made.",Kan niet als verloren verklaren omdat de offerte is gedaan.,
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Kan niet aftrekken als categorie &#39;waardevaststelling&#39; of &#39;waardering en totaal&#39; is,
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Kan niet aftrekken als categorie &#39;Valuation&#39; of &#39;Vaulation and Total&#39; is,
"Cannot delete Serial No {0}, as it is used in stock transactions","Serienummer nr. {0} kan niet worden verwijderd, omdat het wordt gebruikt in aandelentransacties",
Cannot enroll more than {0} students for this student group.,Kan niet meer dan {0} studenten inschrijven voor deze studentengroep.,
Cannot find Item with this barcode,Item kan niet worden gevonden met deze streepjescode,
Cannot find active Leave Period,Actieve verlofperiode niet te vinden,
Cannot produce more Item {0} than Sales Order quantity {1},Kan niet meer artikel {0} dan verkooporderhoeveelheid {1} produceren,
Cannot promote Employee with status Left,Kan werknemer met status links niet promoten,
Cannot refer row number greater than or equal to current row number for this Charge type,R rijnummer niet groter dan of gelijk aan huidig rijnummer voor dit laadtype,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Kan het type charge niet selecteren als &#39;On Previous Row Bedrag&#39; of &#39;On Previous Row Total&#39; voor de eerste rij,
Cannot set a received RFQ to No Quote,Kan een ontvangen offerteaanvraag niet instellen op Geen offerte,
Cannot set as Lost as Sales Order is made.,Kan niet instellen als verloren als klantorder is gemaakt.,
Cannot set authorization on basis of Discount for {0},Kan geen autorisatie instellen op basis van korting voor {0},
Cannot set multiple Item Defaults for a company.,Kan niet meerdere item-standaardwaarden voor een bedrijf instellen.,
Cannot set quantity less than delivered quantity,Kan de hoeveelheid niet lager instellen dan de geleverde hoeveelheid,
Cannot set quantity less than received quantity,Kan hoeveelheid niet kleiner dan ontvangen hoeveelheid instellen,
Cannot set the field <b>{0}</b> for copying in variants,Kan het veld <b>{0}</b> niet instellen voor het kopiëren in varianten,
Cannot transfer Employee with status Left,Werknemer kan niet worden overgedragen met status Links,
Cannot {0} {1} {2} without any negative outstanding invoice,Kan niet {0} {1} {2} zonder enige negatieve openstaande factuur,
Capital Equipments,Hoofdstad apparatuur,
Capital Stock,Aandelenkapitaal,
Capital Work in Progress,Capital Work in Progress,
Cart,kar,
Cart is Empty,Winkelwagen is leeg,
Case No(s) already in use. Try from Case No {0},Case No (s) al in gebruik. Probeer van zaak nr. {0},
Cash,Contant geld,
Cash Flow Statement,Kasstroomoverzicht,
Cash Flow from Financing,Cashflow van financiering,
Cash Flow from Investing,Cashflow van beleggen,
Cash Flow from Operations,Kasstroom uit operaties,
Cash In Hand,Contant geld in de hand,
Cash or Bank Account is mandatory for making payment entry,Contant geld of een bankrekening is verplicht voor het invoeren van betalingen,
Cashier Closing,Kassier sluiten,
Casual Leave,Casual verlof,
Caution,Voorzichtigheid,
Central Tax,Centrale belasting,
Certification,certificaat,
Cess,Cess,
Change Amount,Bedrag wijzigen,
Change Code,Wijzig de code,
Change Item Code,Itemcode wijzigen,
Change POS Profile,POS-profiel wijzigen,
Change Release Date,Wijzigingsdatum wijzigen,
Change Template Code,Wijzig sjablooncode,
Changing Customer Group for the selected Customer is not allowed.,Het wijzigen van de klantengroep voor de geselecteerde klant is niet toegestaan.,
Chapter,Hoofdstuk,
Chapter information.,Hoofdstuk informatie.,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Last van het type &#39;Actueel&#39; in rij {0} kan niet worden opgenomen in artikelkoers,
Chargeble,Chargeble,
Charges are updated in Purchase Receipt against each item,De kosten worden bij elk artikel in Aankoopontvangst bijgewerkt,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Kosten worden proportioneel verdeeld op basis van artikelhoeveelheid of bedrag, afhankelijk van uw selectie",
Chart Of Accounts,Rekeningschema,
Chart of Cost Centers,Grafiek van kostenplaatsen,
Check all,Controleer alles,
Checkout,Uitchecken,
Chemical,Chemisch,
Cheque,Controleren,
Cheque/Reference No,Controle / Referentie Nr,
Cheques Required,Controles vereist,
Cheques and Deposits incorrectly cleared,Cheques en stortingen onjuist gewist,
Child Item should not be a Product Bundle. Please remove item `{0}` and save,Kinditem mag geen productbundel zijn. Verwijder item `{0}` en sla op,
Child Task exists for this Task. You can not delete this Task.,Child Task bestaat voor deze taak. U kunt deze taak niet verwijderen.,
Child nodes can be only created under 'Group' type nodes,Onderliggende knooppunten kunnen alleen worden gemaakt onder knooppunten van het type &#39;Groep&#39;,
Child warehouse exists for this warehouse. You can not delete this warehouse.,Er is een kindermagazijn voor dit magazijn. Je kunt dit magazijn niet verwijderen.,
Circular Reference Error,Circulaire referentiefout,
City,stad,
City/Town,Stad / plaats,
Claimed Amount,Geclaimd bedrag,
Clay,Klei,
Clear filters,Filters wissen,
Clear values,Wis waarden,
Clearance Date,Uitklaringsdatum,
Clearance Date not mentioned,Uitklaringsdatum niet genoemd,
Clearance Date updated,Opruimingsdatum bijgewerkt,
Clinical Procedure,Klinische procedure,
Clinical Procedure Template,Klinische procedure sjabloon,
Close Balance Sheet and book Profit or Loss.,Balans sluiten en winst of verlies boeken.,
Close Loan,Sluit de lening,
Close the POS,Sluit de POS,
Closed,Gesloten,
Closed order cannot be cancelled. Unclose to cancel.,Gesloten bestelling kan niet worden geannuleerd. Niet sluiten om te annuleren.,
Closing (Cr),Sluiten (Cr),
Closing (Dr),Afsluiten (dr),
Closing (Opening + Total),Sluiten (Opening + totaal),
Closing Account {0} must be of type Liability / Equity,Closing Account {0} moet van het type Aansprakelijkheid / Equity zijn,
Closing Balance,Saldo sluiten,
Code {0} already exist,Code {0} bestaat al,
Collapse All,Alles inklappen,
Colour,Kleur,
Combined invoice portion must equal 100%,Gecombineerd factuurgedeelte moet 100% zijn,
Commercial,commercieel,
Commission,Commissie,
Commission Rate %,Commissiepercentage%,
Commission on Sales,Commissie voor verkoop,
Commission rate cannot be greater than 100,Commissie tarief kan niet groter zijn dan 100,
Community Forum,Gemeenschapsforum,
Company (not Customer or Supplier) master.,Bedrijf (niet klant of leverancier) meester.,
Company Abbreviation,Bedrijf afkorting,
Company Abbreviation cannot have more than 5 characters,Bedrijfsbegeleiding mag niet meer dan 5 tekens bevatten,
Company Name,Bedrijfsnaam,
Company Name cannot be Company,Bedrijfsnaam kan geen bedrijf zijn,
Company currencies of both the companies should match for Inter Company Transactions.,Bedrijfsvaluta&#39;s van beide bedrijven moeten overeenkomen voor Inter Company-transacties.,
Company is manadatory for company account,Bedrijf is typisch voor bedrijfsaccount,
Company name not same,Bedrijfsnaam niet hetzelfde,
Company {0} does not exist,Bedrijf {0} bestaat niet,
"Company, Payment Account, From Date and To Date is mandatory","Bedrijf, betaalrekening, van datum en datum is verplicht",
Compensatory Off,Compenserend uitgeschakeld,
Compensatory leave request days not in valid holidays,Verzoek om compenserende verlofdagen niet in geldige vakantie,
Complaint,Klacht,
Completed Qty can not be greater than 'Qty to Manufacture',Voltooid aantal kan niet groter zijn dan &#39;Qty to Manufacture&#39;,
Completion Date,einddatum,
Computer,Computer,
Configure,configureren,
"Configure Item Fields like UOM, Item Group, Description and No of Hours.","Configureer artikelvelden zoals UOM, artikelgroep, beschrijving en aantal uren.",
Configure {0},Configureer {0},
Confirmed orders from Customers.,Bevestigde orders van klanten.,
Connect Amazon with ERPNext,Verbind Amazon met ERPNext,
Connect Shopify with ERPNext,Verbind Shopify met ERPNext,
Connect to Quickbooks,Maak verbinding met Quickbooks,
Connected to QuickBooks,Verbonden met QuickBooks,
Connecting to QuickBooks,Verbinden met QuickBooks,
Consultation,Overleg,
Consultations,overleg,
Consulting,Overleg plegen,
Consumable,verbruiksartikelen,
Consumed,Consumed,
Consumed Amount,Verbruikte hoeveelheid,
Consumed Qty,Verbruikte hoeveelheid,
Consumer Products,Consumentenproducten,
Contact Number,Contact nummer,
Contact Us,Neem contact met ons op,
Content Masters,Content Masters,
Continue Configuration,Doorgaan met configureren,
Contract,Contract,
Contract End Date must be greater than Date of Joining,De einddatum van het contract moet groter zijn dan de datum waarop u lid wordt,
Contribution %,Bijdrage %,
Contribution Amount,Bijdragebedrag,
Conversion factor for default Unit of Measure must be 1 in row {0},Conversiefactor voor standaardeenheid Meeteenheid moet 1 zijn in rij {0},
Conversion rate cannot be 0 or 1,De conversieratio kan niet 0 of 1 zijn,
Convert to Group,Converteren naar groep,
Convert to Non-Group,Omzetten naar niet-groep,
Cosmetics,schoonheidsmiddelen,
Cost Center,Kostenplaats,
Cost Center Number,Kostenplaatsnummer,
Cost Center and Budgeting,Kostenplaats en budgettering,
Cost Center is required in row {0} in Taxes table for type {1},Kostenplaats is vereist in rij {0} in de tabel Belastingen voor type {1},
Cost Center with existing transactions can not be converted to group,Kostenplaats met bestaande transacties kan niet worden geconverteerd naar groep,
Cost Center with existing transactions can not be converted to ledger,Kostenplaats met bestaande transacties kan niet worden geconverteerd naar grootboek,
Cost Centers,Kostenplaatsen,
Cost Updated,Kosten bijgewerkt,
Cost as on,Kosten als op,
Cost center is required to book an expense claim,Kostenplaats is vereist om een declaratie te boeken,
Cost of Delivered Items,Kosten van geleverde artikelen,
Cost of Goods Sold,Prijs van de verkochte goederen,
Cost of Issued Items,Kosten van afgegeven artikelen,
Cost of New Purchase,Kosten van nieuwe aankoop,
Cost of Purchased Items,Kosten van gekochte artikelen,
Cost of Scrapped Asset,Kosten van gesloopte activa,
Cost of Sold Asset,Kosten van verkocht vermogen,
Cost of various activities,Kosten van verschillende activiteiten,
"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again",Kan creditnota niet automatisch maken. Verwijder het vinkje bij &#39;Kredietnota uitgeven&#39; en verzend het opnieuw,
Could not generate Secret,Kon geen geheim genereren,
Could not retrieve information for {0}.,Kon informatie voor {0} niet ophalen.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,Kon de criteriacore-functie voor {0} niet oplossen. Zorg ervoor dat de formule geldig is.,
Could not solve weighted score function. Make sure the formula is valid.,Kon de gewogen score-functie niet oplossen. Zorg ervoor dat de formule geldig is.,
Could not submit some Salary Slips,Kon geen salarisstroken indienen,
"Could not update stock, invoice contains drop shipping item.","Voorraad kon niet worden bijgewerkt, de factuur bevat drop shipping-artikelen.",
Country wise default Address Templates,Country wise default Address Templates,
Course,Cursus,
Course Code: ,Cursuscode:,
Course Enrollment {0} does not exists,Cursusinschrijving {0} bestaat niet,
Course Schedule,Cursusschema,
Course: ,Cursus:,
Cr,Cr,
Create,creëren,
Create BOM,Maak een stuklijst,
Create Delivery Trip,Maak een bezorgtrip aan,
Create Disbursement Entry,Maak uitbetalingsinvoer aan,
Create Employee,Werknemer maken,
Create Employee Records,Maak medewerkersrecords aan,
"Create Employee records to manage leaves, expense claims and payroll","Maak medewerkersrecords om bladeren, declaraties en loonadministratie te beheren",
Create Fee Schedule,Schema opstellen,
Create Fees,Kosten creëren,
Create Inter Company Journal Entry,Create Inter Company Journal Entry,
Create Invoice,Factuur maken,
Create Invoices,Facturen maken,
Create Job Card,Werkkaart maken,
Create Journal Entry,Maak een journaalboeking,
Create Lab Test,Maak een lab-test,
Create Lead,Lead creëren,
Create Leads,Leads maken,
Create Maintenance Visit,Maak onderhoudsbezoek,
Create Material Request,Materiaalaanvraag maken,
Create Multiple,Maak meerdere,
Create Opening Sales and Purchase Invoices,Creëer openstaande verkoop- en inkoopfacturen,
Create Payment Entries,Maak betalingsinvoer aan,
Create Payment Entry,Maak betalingsinvoer aan,
Create Print Format,Maak afdrukformaat,
Create Purchase Order,Bestelling creëren,
Create Purchase Orders,Inkooporders creëren,
Create Quotation,Offerte creëren,
Create Salary Slip,Salaris slip creëren,
Create Salary Slips,Salarisbrieven maken,
Create Sales Invoice,Creëer verkoopfactuur,
Create Sales Order,Klantorder creëren,
Create Sales Orders to help you plan your work and deliver on-time,Maak klantorders om u te helpen bij het plannen van uw werk en het op tijd leveren,
Create Sample Retention Stock Entry,Creëer voorbeeldinvoer Voorraadinvoer,
Create Student,Maak een student,
Create Student Batch,Create Student Batch,
Create Student Groups,Maak studentengroepen,
Create Supplier Quotation,Offerte van leverancier creëren,
Create Tax Template,Belastingsjabloon maken,
Create Timesheet,Maak urenstaat aan,
Create User,Gebruiker maken,
Create Users,Maak gebruikers,
Create Variant,Maak een variant,
Create Variants,Maak varianten,
Create a new Customer,Maak een nieuwe klant aan,
"Create and manage daily, weekly and monthly email digests.","Creëer en beheer dagelijkse, wekelijkse en maandelijkse e-mailsamenvattingen.",
Create customer quotes,Maak offertes van klanten,
Create rules to restrict transactions based on values.,Maak regels om transacties te beperken op basis van waarden.,
Created {0} scorecards for {1} between: ,{0} scorekaarten gemaakt voor {1} tussen:,
Creating Company and Importing Chart of Accounts,Een bedrijf creëren en een rekeningschema importeren,
Creating Fees,Kosten creëren,
Creating Payment Entries......,Betaling invoeren ......,
Creating Salary Slips...,Salarisbrieven maken ...,
Creating student groups,Leerlinggroepen maken,
Creating {0} Invoice,{0} factuur aanmaken,
Credit,Credit,
Credit ({0}),Krediet ({0}),
Credit Account,Kredietrekening,
Credit Balance,Kredietbalans,
Credit Card,Kredietkaart,
Credit Days cannot be a negative number,Kredietdagen mogen geen negatief getal zijn,
Credit Limit,Kredietlimiet,
Credit Note,Creditnota,
Credit Note Amount,Creditnota Bedrag,
Credit Note Issued,Credit Note uitgegeven,
Credit Note {0} has been created automatically,Kredietnota {0} is automatisch aangemaakt,
Credit To account must be a Balance Sheet account,Krediet Aan een rekening moet een balansrekening zijn,
Credit To account must be a Payable account,Krediet Voor rekening moet een crediteurenrekening zijn,
Credit limit has been crossed for customer {0} ({1}/{2}),Kredietlimiet is overschreden voor klant {0} ({1} / {2}),
Creditors,crediteuren,
Criteria weights must add up to 100%,Criteria-gewichten moeten oplopen tot 100%,
Crop Cycle,Crop Cycle,
Crops & Lands,Gewassen en landerijen,
Currency Exchange must be applicable for Buying or for Selling.,Valutawissel moet van toepassing zijn voor Kopen of Verkopen.,
Currency can not be changed after making entries using some other currency,Valuta kan niet worden gewijzigd na het invoeren van een andere valuta,
Currency exchange rate master.,Valutakoersen master.,
Currency for {0} must be {1},Valuta voor {0} moet {1} zijn,
Currency is required for Price List {0},Valuta is vereist voor prijslijst {0},
Currency of the Closing Account must be {0},Valuta van het sluitingsaccount moet {0} zijn,
Currency of the price list {0} must be {1} or {2},Valuta van de prijslijst {0} moet {1} of {2} zijn,
Currency should be same as Price List Currency: {0},Valuta moet hetzelfde zijn als prijsvaluta: {0},
Current,Stroom,
Current Assets,Huidige activa,
Current BOM and New BOM can not be same,Huidige stuklijst en nieuwe stuklijst kunnen niet hetzelfde zijn,
Current Job Openings,Huidige vacatures,
Current Liabilities,Lopende verplichtingen,
Current Odometer reading entered should be greater than initial Vehicle Odometer {0},De huidige ingevoerde Odometer-waarde moet groter zijn dan de oorspronkelijke voertuig-odometer {0},
Current Qty,Huidige aantal,
Current invoice {0} is missing,Huidige factuur {0} ontbreekt,
Customer,Klant,
Customer Addresses And Contacts,Klantadressen en contactpersonen,
Customer Contact,Klantencontact,
Customer Database.,Klantendatabase.,
Customer Group,Klantgroep,
Customer Group is Required in POS Profile,Klantgroep is vereist in POS-profiel,
Customer LPO,LPO klant,
Customer LPO No.,LPO-nummer klant,
Customer Name,klantnaam,
Customer POS Id,POS-id van klant,
Customer Service,Klantenservice,
Customer and Supplier,Klant en leverancier,
Customer is required,Klant is verplicht,
Customer isn't enrolled in any Loyalty Program,Klant is niet ingeschreven in een loyaliteitsprogramma,
Customer required for 'Customerwise Discount',Klant vereist voor &#39;Customerwise korting&#39;,
Customer {0} does not belong to project {1},Klant {0} hoort niet bij project {1},
Customer {0} is created.,Klant {0} is aangemaakt.,
Customers in Queue,Klanten in wachtrij,
Customize Homepage Sections,Aanpassen Homepage secties,
Customizing Forms,Formulieren aanpassen,
Daily Project Summary for {0},Dagelijks projectoverzicht voor {0},
Daily Reminders,Dagelijkse herinneringen,
Daily Work Summary,Dagelijkse samenvatting van het werk,
Daily Work Summary Group,Daily Work Summary Group,
Data Import and Export,Gegevens importeren en exporteren,
Data Import and Settings,Gegevensimport en instellingen,
Database of potential customers.,Gegevensbestand van potentiële klanten.,
Date Of Retirement must be greater than Date of Joining,De datum van pensionering moet groter zijn dan de datum van toetreding,
Date is repeated,Datum wordt herhaald,
Date of Birth,Geboortedatum,
Date of Birth cannot be greater than today.,Geboortedatum kan niet groter zijn dan vandaag.,
Date of Commencement should be greater than Date of Incorporation,Aanvangsdatum moet groter zijn dan de datum van oprichting,
Date of Joining,Datum van toetreding,
Date of Joining must be greater than Date of Birth,De datum van toetreding moet groter zijn dan de geboortedatum,
Date of Transaction,Transactiedatum,
Debit,Debiteren,
Debit ({0}),Debet ({0}),
Debit A/C Number,Debet A / C-nummer,
Debit Account,Debet rekening,
Debit Note,Debet Note,
Debit Note Amount,Debet Note Bedrag,
Debit Note Issued,Debet Note uitgegeven,
Debit To account must be a Balance Sheet account,Debet Voor account moet een balansrekening zijn,
Debit To account must be a Receivable account,Debit Voor account moet een debiteurrekening zijn,
Debit To is required,Debet To is vereist,
Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debet en credit niet gelijk voor {0} # {1}. Het verschil is {2}.,
Debtors,debiteuren,
Debtors ({0}),Debiteuren ({0}),
Declare Lost,Declare Lost,
Deduction,Aftrek,
Default Activity Cost exists for Activity Type - {0},Standaard activiteitskosten bestaan voor activiteitstype - {0},
Default BOM ({0}) must be active for this item or its template,Standaard stuklijst ({0}) moet actief zijn voor dit item of zijn sjabloon,
Default BOM for {0} not found,Standaard stuklijst voor {0} niet gevonden,
Default BOM not found for Item {0} and Project {1},Standaard stuklijst niet gevonden voor item {0} en project {1},
Default Tax Template,Standaard belasting sjabloon,
Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,"De standaard meeteenheid voor artikel {0} kan niet rechtstreeks worden gewijzigd, omdat u al een of meerdere transacties met een andere UOM hebt uitgevoerd. U moet een nieuw item maken om een andere standaard UOM te gebruiken.",
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',De standaardmaateenheid voor variant &#39;{0}&#39; moet hetzelfde zijn als in sjabloon &#39;{1}&#39;,
Default settings for buying transactions.,Standaardinstellingen voor het kopen van transacties.,
Default settings for selling transactions.,Standaardinstellingen voor het verkopen van transacties.,
Default tax templates for sales and purchase are created.,Standaardbelastingsjablonen voor verkoop en inkoop worden gemaakt.,
Default warehouse is required for selected item,Standaardmagazijn is vereist voor het geselecteerde artikel,
Defense,Verdediging,
Define Project type.,Definieer het Project type.,
Define budget for a financial year.,Definieer het budget voor een boekjaar.,
Define various loan types,Definieer verschillende soorten leningen,
Del,del,
Delay in payment (Days),Vertraging in betaling (dagen),
Delete all the Transactions for this Company,Verwijder alle transacties voor dit bedrijf,
Delete permanently?,Permanent verwijderen?,
Deletion is not permitted for country {0},Verwijderen is niet toegestaan voor land {0},
Delivered,Geleverd,
Delivered Amount,Bezorgd bedrag,
Delivered Qty,Geleverd aantal,
Delivered: {0},Bezorgd: {0},
Delivery,Levering,
Delivery Date,Bezorgdatum,
Delivery Note,Afleveringsbon,
Delivery Note {0} is not submitted,Bezorgingsnotitie {0} is niet verzonden,
Delivery Note {0} must not be submitted,Afleveringsbewijs {0} mag niet worden ingediend,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Bezorgingsnotities {0} moeten worden geannuleerd voordat deze klantorder wordt geannuleerd,
Delivery Notes {0} updated,Bezorgingsnotities {0} bijgewerkt,
Delivery Status,Aflever status,
Delivery Trip,Levering reis,
Delivery warehouse required for stock item {0},Leveringsmagazijn vereist voor voorraadartikel {0},
Department,afdeling,
Department Stores,Warenhuizen,
Depreciation,waardevermindering,
Depreciation Amount,Afschrijvingsbedrag,
Depreciation Amount during the period,Afschrijvingsbedrag gedurende de periode,
Depreciation Date,Afschrijvingsdatum,
Depreciation Eliminated due to disposal of assets,Afschrijvingen Uitgeschakeld als gevolg van verkoop van activa,
Depreciation Entry,Inschrijving afschrijvingen,
Depreciation Method,Afschrijving methode,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Afschrijving Rij {0}: Startdatum afschrijving wordt ingevoerd als de vorige datum,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Afschrijving Rij {0}: verwachte waarde na nuttige levensduur moet groter zijn dan of gelijk aan {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Afschrijving Rij {0}: volgende Afschrijvingsdatum kan niet eerder zijn dan de Datum van gebruik-voor-gebruik,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Afschrijving Rij {0}: volgende Afschrijvingsdatum kan niet vóór Aankoopdatum zijn,
Designer,Ontwerper,
Detailed Reason,Gedetailleerde reden,
Details,Details,
Details of Outward Supplies and inward supplies liable to reverse charge,Details van uitgaande leveringen en interne leveringen die kunnen worden teruggeslagen,
Details of the operations carried out.,Details van de uitgevoerde operaties.,
Diagnosis,Diagnose,
Did not find any item called {0},Geen artikel gevonden met de naam {0},
Diff Qty,Diff,
Difference Account,Verschil account,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Het verschil-account moet een Asset / Liability-type-account zijn, aangezien deze Stock-afstemming een openingsvermelding is",
Difference Amount,Verschilbedrag,
Difference Amount must be zero,Verschilbedrag moet nul zijn,
Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,Verschillende UOM voor items leidt tot onjuiste (totaal) netto-gewichtswaarde. Zorg ervoor dat het nettogewicht van elk artikel zich in dezelfde UOM bevindt.,
Direct Expenses,Directe kosten,
Direct Income,Direct inkomen,
Disable,onbruikbaar maken,
Disable Template,Schakel sjabloon uit,
Disabled template must not be default template,Uitgeschakelde sjabloon mag geen standaardsjabloon zijn,
Disburse Loan,Betaal lening,
Disbursed,uitbetaald,
Disc,Schijf,
Discharge,ontlading,
Discount,Korting,
Discount Percentage can be applied either against a Price List or for all Price List.,Kortingspercentage kan worden toegepast op een prijslijst of op alle prijslijsten.,
Discount amount cannot be greater than 100%,Kortingsbedrag kan niet groter zijn dan 100%,
Discount must be less than 100,Korting moet minder zijn dan 100,
Diseases & Fertilizers,Ziekten &amp; Meststoffen,
Dispatch,Verzending,
Dispatch Notification,Verzendbericht,
Dispatch State,Verzendstatus,
Distance,Afstand,
Distribution,Distributie,
Distributor,verdeler,
Dividends Paid,Betaalde dividenden,
Do you really want to restore this scrapped asset?,Wilt u dit gesloopte item echt herstellen?,
Do you really want to scrap this asset?,Wil je dit actief echt schrappen?,
Do you want to notify all the customers by email?,Wil je alle klanten per e-mail op de hoogte stellen?,
Doc Date,Doc Date,
Doc Name,Docnaam,
Doc Type,Doc Type,
Docs Search,Google Documenten zoeken,
Document Status,Documentstatus,
Document Type,type document,
Documentation,Documentatie,
Domains,domeinen,
Done,Gedaan,
Donor,schenker,
Donor Type information.,Donor Type informatie.,
Donor information.,Donorinformatie.,
Download JSON,JSON downloaden,
Draft,Droogte,
Drop Ship,Drop Ship,
Drug,drug,
Due / Reference Date cannot be after {0},Vervaldatum / referentiedatum kan niet na {0} liggen,
Due Date cannot be before Posting / Supplier Invoice Date,Vervaldatum kan niet vóór de datum van de post / leverancierfactuur zijn,
Due Date is mandatory,Vervaldatum is verplicht,
Duplicate Entry. Please check Authorization Rule {0},Dubbele invoer. Controleer Autorisatieregel {0},
Duplicate Serial No entered for Item {0},Dubbel serienr. Ingevoerd voor artikel {0},
Duplicate Tax Declaration of {0} for period {1},Dubbele belastingaangifte van {0} voor periode {1},
Duplicate customer group found in the cutomer group table,Dubbele klantengroep gevonden in de cutomer-groepstabel,
Duplicate entry,Dubbele invoer,
Duplicate item group found in the item group table,Dubbele artikelgroep gevonden in de tabel met artikelgroepen,
Duplicate roll number for student {0},Dubbel nummer voor student {0},
Duplicate row {0} with same {1},Dubbele rij {0} met dezelfde {1},
Duplicate {0} found in the table,Dubbele {0} gevonden in de tabel,
Duration in Days,Duur in dagen,
Duties and Taxes,Plichten en belastingen,
E-Invoicing Information Missing,Informatie over e-facturatie ontbreekt,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,ERPNext-instellingen,
Earliest,vroegste,
Earnest Money,Earnest Money,
Earning,verdienen,
Edit,Bewerk,
Edit Publishing Details,Bewerk publicatie details,
"Edit in full page for more options like assets, serial nos, batches etc.","Bewerken op de volledige pagina voor meer opties zoals activa, serienummers, batches etc.",
Education,Opleiding,
Either location or employee must be required,Plaats of werknemer moet verplicht zijn,
Either target qty or target amount is mandatory,Het gewenste aantal of streefbedrag is verplicht,
Either target qty or target amount is mandatory.,Het gewenste aantal of streefbedrag is verplicht.,
Electrical,Elektrisch,
Electronic Equipments,Elektronische apparatuur,
Electronics,Elektronica,
Eligible ITC,In aanmerking komende ITC,
"Email Address must be unique, already exists for {0}","E-mailadres moet uniek zijn, bestaat al voor {0}",
Email Digest: ,Email Digest:,
Email Reminders will be sent to all parties with email contacts,E-mailherinneringen worden verzonden naar alle partijen met e-mailcontacten,
Email not found in default contact,E-mailadres niet gevonden in standaardcontact,
Email sent to supplier {0},E-mail verzonden naar leverancier {0},
Email sent to {0},E-mail verzonden naar {0},
Employee,werknemer,
Employee A/C Number,Employee A / C Number,
Employee Advances,Voorschotten voor werknemers,
Employee Benefits,Werknemersvoordelen,
Employee Grade,Werknemersrang,
Employee ID,Werknemers-ID,
Employee Lifecycle,Employee Lifecycle,
Employee Name,Naam werknemer,
Employee Promotion cannot be submitted before Promotion Date ,Werknemersbevordering kan niet worden ingediend vóór de promotiedatum,
Employee Referral,Employee Referral,
Employee Transfer cannot be submitted before Transfer Date ,Overdracht van werknemers kan niet vóór overdrachtsdatum worden ingediend,
Employee cannot report to himself.,Werknemer kan zichzelf niet melden.,
Employee relieved on {0} must be set as 'Left',Medewerker opgelucht op {0} moet worden ingesteld als &#39;Links&#39;,
Employee status cannot be set to 'Left' as following employees are currently reporting to this employee:&nbsp;,Werknemersstatus kan niet worden ingesteld op &#39;Links&#39; omdat de volgende werknemers momenteel rapporteren aan deze werknemer:,
Employee {0} already submited an apllication {1} for the payroll period {2},Werknemer {0} heeft al een aanvraag ingediend {1} voor de loonperiode {2},
Employee {0} has already applied for {1} between {2} and {3} : ,Werknemer {0} heeft al een aanvraag ingediend voor {1} tussen {2} en {3}:,
Employee {0} has already applied for {1} on {2} : ,Werknemer {0} heeft al een aanvraag ingediend voor {1} op {2}:,
Employee {0} has no maximum benefit amount,Werknemer {0} heeft geen maximale uitkering,
Employee {0} is not active or does not exist,Werknemer {0} is niet actief of bestaat niet,
Employee {0} is on Leave on {1},Werknemer {0} staat op Verlof op {1},
Employee {0} of grade {1} have no default leave policy,Werknemer {0} van rang {1} heeft geen standaard verlofbeleid,
Employee {0} on Half day on {1},Werknemer {0} op halve dag op {1},
Enable,in staat stellen,
Enable / disable currencies.,Valuta&#39;s activeren / deactiveren.,
Enable Template,Schakel sjabloon in,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","&#39;Gebruik voor winkelwagen&#39; inschakelen, omdat winkelwagen is ingeschakeld en er ten minste één belastingregel voor winkelwagen moet zijn",
End Date,Einddatum,
End Date can not be less than Start Date,Einddatum kan niet minder zijn dan Startdatum,
End Date cannot be before Start Date.,Einddatum kan niet vóór Startdatum zijn.,
End Year,Einde jaar,
End Year cannot be before Start Year,Eindjaar kan niet vóór Startjaar zijn,
End on,Eindigt op,
End time cannot be before start time,Eindtijd kan niet vóór de begintijd zijn,
Ends On date cannot be before Next Contact Date.,Eindigt op datum kan niet vóór volgende contactdatum zijn.,
Energy,Energie,
Engineer,Ingenieur,
Enough Parts to Build,Genoeg onderdelen om te bouwen,
Enroll,Inschrijven,
Enrolling student,Student inschrijven,
Enrolling students,Studenten inschrijven,
Enter depreciation details,Voer de details van de afschrijving in,
Enter the Bank Guarantee Number before submittting.,Voer het bankgarantienummer in voordat u het verzendt.,
Enter the name of the Beneficiary before submittting.,Voer de naam van de Begunstigde in voordat u een aanvraag indient.,
Enter the name of the bank or lending institution before submittting.,Voer de naam van de bank of kredietinstelling in voordat u ze indient.,
Enter value betweeen {0} and {1},Voer een waarde in tussen {0} en {1},
Enter value must be positive,Waarde invoeren moet positief zijn,
Entertainment & Leisure,Entertainment &amp; vrije tijd,
Entertainment Expenses,Entertainmentuitgaven,
Equity,Eigen vermogen,
Error evaluating the criteria formula,Fout bij het evalueren van de criteriaformule,
Error in formula or condition: {0},Fout in formule of voorwaarde: {0},
Error while processing deferred accounting for {0},Fout tijdens het verwerken van uitgestelde boekhouding voor {0},
Error: Not a valid id?,Fout: geen geldige ID?,
Estimated Cost,Geschatte kosten,
Evaluation,evaluatie,
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Zelfs als er meerdere prijsregels met de hoogste prioriteit zijn, worden de volgende interne prioriteiten toegepast:",
Event Location,Locatie van het evenement,
Event Name,Evenement naam,
Exchange Gain/Loss,Exchange winst / verlies,
Exchange Rate Revaluation master.,Wisselkoersherwaarderingsmaster.,
Exchange Rate must be same as {0} {1} ({2}),Wisselkoers moet hetzelfde zijn als {0} {1} ({2}),
Excise Invoice,Accijnsfactuur,
Execution,Uitvoering,
Executive Search,Executive Search,
Expand All,Alles uitvouwen,
Expected Delivery Date,Verwachte leverdatum,
Expected Delivery Date should be after Sales Order Date,Verwachte leverdatum moet zijn na de verkooporderdatum,
Expected End Date,Verwachte einddatum,
Expected Hrs,Verwachte uren,
Expected Start Date,Verwachte startdatum,
Expense,Kosten,
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Onkosten- / verschilrekening ({0}) moet een &#39;Winst of verlies&#39;-account zijn,
Expense Account,Onkostendeclaratie,
Expense Claim,Declaratie,
Expense Claim for Vehicle Log {0},Onkostendeclaratie voor voertuiglog {0},
Expense Claim {0} already exists for the Vehicle Log,Onkostendeclaratie {0} bestaat al voor het voertuiglogboek,
Expense Claims,Onkostendeclaraties,
Expense account is mandatory for item {0},Onkostenrekening is verplicht voor artikel {0},
Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,Onkosten- of verschilrekening is verplicht voor artikel {0} omdat dit van invloed is op de algehele voorraadwaarde,
Expenses,uitgaven,
Expenses Included In Asset Valuation,Kosten opgenomen in waardering van activa,
Expenses Included In Valuation,Kosten inbegrepen bij waardering,
Expired Batches,Verlopen batches,
Expires On,Verloopt op,
Expiring On,Vervalt op,
Expiry (In Days),Vervaldatum (in dagen),
Explore,onderzoeken,
Export E-Invoices,E-facturen exporteren,
Extra Large,Extra groot,
Extra Small,Extra klein,
Failed,mislukt,
Failed to create website,Kan website niet maken,
Failed to install presets,Kan presets niet installeren,
Failed to login,Inloggen mislukt,
Failed to setup company,Kan bedrijf niet instellen,
Failed to setup defaults,Kon de standaardinstellingen niet instellen,
Failed to setup post company fixtures,Het instellen van postbedrijf-fixtures is mislukt,
Fee,honorarium,
Fee Created,Fee gecreëerd,
Fee Creation Failed,Fee Creation Failed,
Fee Creation Pending,Vergoeding aanmaken in behandeling,
Fee Records Created - {0},Fee Records Created - {0},
Feedback,terugkoppeling,
Fees,vergoedingen,
Fetch Data,Gegevens ophalen,
Fetch Subscription Updates,Abonnementsupdates ophalen,
Fetch based on FIFO,Ophalen op basis van FIFO,
Fetch exploded BOM (including sub-assemblies),Bom ontplofte BOM ophalen (inclusief subassemblages),
Fetching records......,Records ophalen ......,
Fill the form and save it,Vul het formulier in en sla het op,
Filter Employees By (Optional),Werknemers filteren op (optioneel),
"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filtervelden Rij # {0}: veldnaam <b>{1}</b> moet van het type &quot;Link&quot; of &quot;Table MultiSelect&quot; zijn,
Filter Total Zero Qty,Filter totaal aantal nul,
Finance Book,Financieel boek,
Financial / accounting year.,Financieel / boekjaar.,
Financial Services,Financiële diensten,
Financial Statements,Financiële overzichten,
Financial Year,Financieel jaar,
Finish,Af hebben,
Finished Good,Klaar goed,
Finished Good Item Code,Eindproductcode,
Finished Goods,Afgewerkte producten,
Finished Item {0} must be entered for Manufacture type entry,Voltooid item {0} moet worden ingevoerd voor het invoeren van het producttype,
Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,De hoeveelheid gereed product <b>{0}</b> en voor Hoeveelheid <b>{1}</b> kunnen niet verschillen,
"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Fiscaal regime is verplicht, stel het fiscaal regime vriendelijk in op het bedrijf {0}",
Fiscal Year,Fiscaal jaar,
Fiscal Year End Date should be one year after Fiscal Year Start Date,De einddatum van het fiscale jaar moet één jaar na de begindatum van het boekjaar zijn,
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Begindatum boekjaar en einddatum boekjaar zijn al ingesteld in fiscaal jaar {0},
Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,De startdatum van het boekjaar moet een jaar eerder zijn dan de einddatum van het boekjaar,
Fiscal Year {0} does not exist,Fiscaal jaar {0} bestaat niet,
Fiscal Year {0} is required,Fiscaal jaar {0} is verplicht,
Fiscal Year {0} not found,Fiscaal jaar {0} niet gevonden,
Fiscal Year: {0} does not exists,Boekjaar: {0} bestaat niet,
Fixed Asset,Vaste activa,
Fixed Asset Item must be a non-stock item.,Vaste activapost moet een artikel zijn dat niet op voorraad is.,
Fixed Assets,Vaste activa,
Following Material Requests have been raised automatically based on Item's re-order level,De volgende artikelverzoeken zijn automatisch verhoogd op basis van het re-orderniveau van het artikel,
Following accounts might be selected in GST Settings:,Volgende accounts kunnen worden geselecteerd in GST-instellingen:,
Following course schedules were created,Volgende cursusschema&#39;s zijn gemaakt,
Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Volgend item {0} is niet gemarkeerd als {1} item. U kunt ze inschakelen als item {1} van de artikelstam,
Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,De volgende items {0} zijn niet gemarkeerd als {1} item. U kunt ze inschakelen als item {1} van de artikelstam,
Food,Voedsel,
"Food, Beverage & Tobacco","Voedsel, drank en tabak",
For,Voor,
"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Voor &#39;Productbundel&#39;-items worden magazijn, serienummer en batchnummer behandeld in de tabel&#39; Paklijst &#39;. Als Magazijn en batch nr hetzelfde zijn voor alle verpakkingsitems voor een productbundel, kunnen deze waarden worden ingevoerd in de hoofdtabel Item, waarden worden gekopieerd naar de tabel &#39;Paklijst&#39;.",
For Employee,Voor werknemer,
For Quantity (Manufactured Qty) is mandatory,Voor hoeveelheid (gefabriceerde hoeveelheid) is verplicht,
For Supplier,Voor de leverancier,
For Warehouse,Voor magazijn,
For Warehouse is required before Submit,Voor Magazijn is vereist voor Verzenden,
"For an item {0}, quantity must be negative number",Voor een artikel {0} moet het aantal negatief zijn,
"For an item {0}, quantity must be positive number",Voor een artikel {0} moet het aantal positief zijn,
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry",Voor opdrachtkaart {0} kunt u alleen het type &#39;Materiaaloverdracht voor productie&#39; voorraadboeking maken,
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Voor rij {0} in {1}. Als u {2} wilt opnemen in artikelsnelheid, moeten rijen {3} ook worden opgenomen",
For row {0}: Enter Planned Qty,Voor rij {0}: Voer geplande hoeveelheid in,
"For {0}, only credit accounts can be linked against another debit entry",Voor {0} kunnen alleen credit-accounts worden gekoppeld aan een andere debetpost,
"For {0}, only debit accounts can be linked against another credit entry",Voor {0} kunnen alleen debetrekeningen worden gekoppeld aan een andere creditering,
Form View,Formulierweergave,
Forum Activity,Forumactiviteit,
Free item code is not selected,Gratis artikelcode is niet geselecteerd,
Freight and Forwarding Charges,Vracht en doorbelastingen,
Friday,vrijdag,
From,Van,
From Address 1,Van adres 1,
From Address 2,Van adres 2,
From Currency and To Currency cannot be same,Van valuta en naar valuta kan niet hetzelfde zijn,
From Date and To Date lie in different Fiscal Year,Van datum tot heden liggen in verschillende fiscale jaar,
From Date cannot be greater than To Date,Van datum kan niet groter zijn dan tot datum,
From Date must be before To Date,Van datum moet vóór datum zijn,
From Date should be within the Fiscal Year. Assuming From Date = {0},Van datum moet binnen het fiscale jaar vallen. Uitgaande van datum = {0},
From Date {0} cannot be after employee's relieving Date {1},Vanaf datum {0} kan niet worden na ontlastingsdatum van medewerker {1},
From Date {0} cannot be before employee's joining Date {1},Van datum {0} kan niet vóór de indiensttreding van de werknemer zijn Date {1},
From Datetime,Van Datetime,
From Delivery Note,Vanaf afleveringsbewijs,
From Fiscal Year,Van fiscaal jaar,
From GSTIN,Van GSTIN,
From Party Name,Van partijnaam,
From Pin Code,Van pincode,
From Place,Van plaats,
From Range has to be less than To Range,Van bereik moet minder zijn dan tot bereik,
From State,Van staat,
From Time,Van tijd,
From Time Should Be Less Than To Time,Van tijd moet minder zijn dan tijd,
From Time cannot be greater than To Time.,Van tijd kan niet groter zijn dan tijd.,
"From a supplier under composition scheme, Exempt and Nil rated","Van een leverancier onder een samenstellingsschema, vrijgesteld en nul beoordeeld",
From and To dates required,Van en naar data vereist,
From date can not be less than employee's joining date,Vanaf datum kan niet minder zijn dan de toetredingsdatum van de werknemer,
From value must be less than to value in row {0},Van waarde moet minder zijn dan de waarde in rij {0},
From {0} | {1} {2},Van {0} | {1} {2},
Fuel Price,Brandstofprijs,
Fuel Qty,Brandstof hoeveelheid,
Fulfillment,Vervulling,
Full Name,Voor-en achternaam,
Full-time,Full time,
Fully Depreciated,Volledig afgeschreven,
Furnitures and Fixtures,Meubels en armaturen,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Verdere accounts kunnen onder Groepen worden gemaakt, maar er kunnen ook tegen niet-groepen worden ingevoerd",
Further cost centers can be made under Groups but entries can be made against non-Groups,"Verdere kostenplaatsen kunnen onder groepen worden gemaakt, maar er kunnen ook tegen niet-groepen worden ingeschreven",
Further nodes can be only created under 'Group' type nodes,Verdere knooppunten kunnen alleen worden gemaakt onder knooppunten van het type &#39;Groep&#39;,
Future dates not allowed,Toekomstige data niet toegestaan,
GSTIN,GSTIN,
GSTR3B-Form,GSTR3B-Form,
Gain/Loss on Asset Disposal,Winst / verlies bij afstoten van activa,
Gantt Chart,Gantt-diagram,
Gantt chart of all tasks.,Gantt-diagram van alle taken.,
Gender,Geslacht,
General,Algemeen,
General Ledger,Grootboek,
Generate Material Requests (MRP) and Work Orders.,Generate Material Requests (MRP) en werkorders.,
Generate Secret,Genereer geheim,
Get Details From Declaration,Verkrijg details uit verklaring,
Get Employees,Krijg werknemers,
Get Invocies,Ontvang Invocies,
Get Invoices,Krijg facturen,
Get Invoices based on Filters,Facturen krijgen op basis van filters,
Get Items from BOM,Items uit de stuklijst ophalen,
Get Items from Healthcare Services,Items ophalen van zorgdiensten,
Get Items from Prescriptions,Items van recepten ophalen,
Get Items from Product Bundle,Items uit de productbundel ophalen,
Get Suppliers,Ontvang leveranciers,
Get Suppliers By,Krijg leveranciers door,
Get Updates,Krijg updates,
Get customers from,Haal klanten uit,
Get from,Krijgen van,
Get from Patient Encounter,Krijg van geduldige ontmoeting,
Getting Started,Ermee beginnen,
Global settings for all manufacturing processes.,Algemene instellingen voor alle productieprocessen.,
Go to the Desktop and start using ERPNext,Ga naar het bureaublad en gebruik ERPNext,
GoCardless SEPA Mandate,GoCardless SEPA-mandaat,
GoCardless payment gateway settings,GoCardless betalingsgateway-instellingen,
Goal and Procedure,Doel en procedure,
Goals cannot be empty,Doelen mogen niet leeg zijn,
Goods In Transit,Goederen onderweg,
Goods Transferred,Goederen overgedragen,
Goods and Services Tax (GST India),Goederen- en dienstenbelasting (GST India),
Goods are already received against the outward entry {0},Goederen zijn al ontvangen tegen de uitgaande boeking {0},
Government,Regering,
Grand Total,Eindtotaal,
Grant,Verlenen,
Grant Application,Subsidieaanvraag,
Grant Leaves,Grant Leaves,
Grant information.,Informatie verstrekken.,
Grocery,kruidenierswinkel,
Gross Pay,Brutoloon,
Gross Profit,Brutowinst,
Gross Profit %,Brutowinst %,
Gross Profit / Loss,Bruto winst / verlies,
Gross Purchase Amount,Bruto koopbedrag,
Gross Purchase Amount is mandatory,Bruto aankoopbedrag is verplicht,
Group by Account,Groep voor account,
Group by Party,Groep per feest,
Group by Voucher,Groeperen op bon,
Group by Voucher (Consolidated),Groep per voucher (geconsolideerd),
Group node warehouse is not allowed to select for transactions,Groepknooppuntmagazijn mag niet selecteren voor transacties,
Group to Non-Group,Groep naar niet-groep,
Group your students in batches,Groepeer uw studenten in groepen,
Groups,groepen,
Guardian1 Email ID,Guardian1 Email ID,
Guardian1 Mobile No,Guardian1 Mobile Nee,
Guardian1 Name,Guardian1 Name,
Guardian2 Email ID,Guardian2 Email ID,
Guardian2 Mobile No,Guardian2 Mobile Nee,
Guardian2 Name,Guardian2 Name,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Day Date is mandatory,Halve dag datum is verplicht,
Half Day Date should be between From Date and To Date,De datum van de halve dag moet liggen tussen Van datum tot datum,
Half Day Date should be in between Work From Date and Work End Date,De datum van de halve dag moet tussen het werk van de datum en de einddatum van het werk liggen,
Half day date should be in between from date and to date,De datum van de halve dag moet tussen de datum en de datum liggen,
Half-Yearly,Halfjaarlijks,
Hardware,Hardware,
Head of Marketing and Sales,Hoofd marketing en verkoop,
Health Care,Gezondheidszorg,
Healthcare,Gezondheidszorg,
Healthcare (beta),Gezondheidszorg (bèta),
Healthcare Practitioner,Gezondheidszorg beoefenaar,
Healthcare Practitioner not available on {0},Zorgverlener niet beschikbaar op {0},
Healthcare Practitioner {0} not available on {1},Zorgverlener {0} niet beschikbaar op {1},
Healthcare Service Unit,Service-eenheid voor de gezondheidszorg,
Healthcare Service Unit Tree,Service Tree voor gezondheidszorg,
Healthcare Service Unit Type,Type zorgeenheid gezondheidszorg,
Healthcare Services,Gezondheidszorg,
Healthcare Settings,Gezondheidszorginstellingen,
Hello,Hallo,
Help Results for,Help resultaten voor,
High,hoog,
High Sensitivity,Hoge gevoeligheid,
Hold,Houden,
Hold Invoice,Factuur vasthouden,
Holiday,Holiday,
Holiday List,Vakantielijst,
Hotel Rooms of type {0} are unavailable on {1},Hotelkamers van het type {0} zijn niet beschikbaar op {1},
Hotels,hotels,
Hours,uren,
House rent paid days overlapping with {0},Huur betaalde dagen overlappen met {0},
House rented dates required for exemption calculation,Huis gehuurde data vereist voor vrijstellingsberekening,
House rented dates should be atleast 15 days apart,Huis gehuurde datums moeten ten minste 15 dagen uit elkaar liggen,
How Pricing Rule is applied?,Hoe prijsregel wordt toegepast?,
Hub Category,Hubcategorie,
Human Resource,Human Resource,
Human Resources,Personeelszaken,
IFSC Code,IFSC-code,
IGST Amount,IGST Bedrag,
ITC Available (whether in full op part),ITC beschikbaar (in volledige oplage),
ITC Reversed,ITC omgedraaid,
Identifying Decision Makers,Besluitvormers identificeren,
"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Als Auto Opt In is aangevinkt, worden de klanten automatisch gekoppeld aan het betreffende loyaliteitsprogramma (bij opslaan)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Als er meerdere prijsregels blijven prevaleren, wordt gebruikers gevraagd om Priority handmatig in te stellen om conflicten op te lossen.",
"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Als de geselecteerde prijsbepalingsregel is gemaakt voor &#39;Tarief&#39;, overschrijft deze de prijslijst. Prijzen Regel tarief is de laatste koers, dus geen verdere korting moet worden toegepast. Daarom wordt het bij transacties zoals klantorder, inkooporder, enz. Opgehaald in het veld &#39;Tarief&#39; in plaats van het veld &#39;Prijslijstsnelheid&#39;.",
"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Als op basis van de bovenstaande voorwaarden twee of meer prijsregels worden gevonden, wordt Prioriteit toegepast. Prioriteit is een getal tussen 0 en 20, terwijl de standaardwaarde nul is (leeg). Een hoger cijfer betekent dat het voorrang heeft als er meerdere prijsregels zijn met dezelfde voorwaarden.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Als de Loyalty Points onbeperkt verlopen, houd dan de vervalduur leeg of 0.",
"If you have any questions, please get back to us.","Als u vragen heeft, kunt u contact met ons opnemen.",
Ignore Existing Ordered Qty,Bestaande bestelde hoeveelheid negeren,
Import Data,Data importeren,
Import Day Book Data,Dagboekgegevens importeren,
Import Master Data,Stamgegevens importeren,
Import Successfull,Succesvol importeren,
Import in Bulk,Importeren in bulk,
Import of goods,Import van goederen,
Import of services,Import van diensten,
Importing Items and UOMs,Items en UOM&#39;s importeren,
Importing Parties and Addresses,Importerende partijen en adressen,
In Maintenance,In onderhoud,
In Production,In de maak,
In Qty,In Qty,
In Stock Qty,In Voorraad,
In Stock: ,Op voorraad:,
In Value,In waarde,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","In het geval van multi-tier-programma, zullen klanten automatisch worden toegewezen aan de betreffende laag op basis van hun bestede tijd",
Incentives,Stimulansen,
Include Default Book Entries,Standaardboekingangen opnemen,
Include Exploded Items,Opgenomen Exploded Items,
Include POS Transactions,POS-transacties opnemen,
Include UOM,Inclusief UOM,
Included in Gross Profit,Opgenomen in brutowinst,
Income,Inkomen,
Income Account,Inkomensrekening,
Income Tax,Inkomstenbelasting,
Incoming,inkomend,
Incoming Rate,Inkomende koers,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Onjuist aantal ontvangen grootboekboekingen gevonden. Mogelijk hebt u in de transactie een verkeerd account geselecteerd.,
Increment cannot be 0,Verhoging kan geen 0 zijn,
Increment for Attribute {0} cannot be 0,Verhoging voor kenmerk {0} kan niet 0 zijn,
Indirect Expenses,Indirecte kosten,
Indirect Income,Indirect inkomen,
Individual,individu,
Ineligible ITC,Niet-subsidiabele ITC,
Initiated,geïnitieerd,
Inpatient Record,Inpatient Record,
Insert,invoegen,
Installation Note,Installatie opmerking,
Installation Note {0} has already been submitted,Installatienota {0} is al verzonden,
Installation date cannot be before delivery date for Item {0},De installatiedatum kan niet vóór de leverdatum voor item {0} liggen,
Installing presets,Voorinstellingen installeren,
Institute Abbreviation,Instituut afkorting,
Institute Name,naam van het instituut,
Instructor,Instructeur,
Insufficient Stock,Onvoldoende voorraad,
Insurance Start date should be less than Insurance End date,Startdatum verzekering moet minder zijn dan de einddatum van de verzekering,
Integrated Tax,Geïntegreerde belasting,
Inter-State Supplies,Verbruiksartikelen tussen staten,
Interest Amount,Rentebedrag,
Intern,Intern,
Internet Publishing,Internetpublicatie,
Intra-State Supplies,Intra-State Supplies,
Invalid Attribute,Ongeldig kenmerk,
Invalid Blanket Order for the selected Customer and Item,Ongeldige algemene bestelling voor de geselecteerde klant en artikel,
Invalid Company for Inter Company Transaction.,Ongeldig bedrijf voor transactie tussen bedrijven.,
Invalid GSTIN! A GSTIN must have 15 characters.,Ongeldige GSTIN! Een GSTIN moet uit 15 tekens bestaan.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Ongeldige GSTIN! De eerste 2 cijfers van GSTIN moeten overeenkomen met het staatnummer {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,Ongeldige GSTIN! De invoer die je hebt ingevoerd komt niet overeen met het formaat van GSTIN.,
Invalid Posting Time,Ongeldige boekingstijd,
Invalid attribute {0} {1},Ongeldig kenmerk {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Ongeldige hoeveelheid opgegeven voor artikel {0}. De hoeveelheid moet groter zijn dan 0.,
Invalid reference {0} {1},Ongeldige referentie {0} {1},
Invalid {0},Ongeldig {0},
Invalid {0} for Inter Company Transaction.,Ongeldige {0} voor transactie tussen transacties.,
Invalid {0}: {1},Ongeldig {0}: {1},
Inventory,Inventaris,
Investment Banking,Investment Banking,
Investments,Investments,
Invoice,Factuur,
Invoice Created,Invoice Created,
Invoice Discounting,Invoice Discontering,
Invoice Patient Registration,Registratie van patiëntregistratie,
Invoice Posting Date,Factuur boekingsdatum,
Invoice Type,Factuurtype,
Invoice already created for all billing hours,Factuur al gemaakt voor alle factureringsuren,
Invoice can't be made for zero billing hour,Factuur kan niet worden gemaakt voor factureringstijd nul,
Invoice {0} no longer exists,Factuur {0} bestaat niet meer,
Invoiced,gefactureerd,
Invoiced Amount,Gefactureerde bedrag,
Invoices,facturen,
Invoices for Costumers.,Facturen voor klanten.,
Inward Supplies(liable to reverse charge,Inward Supplies (aansprakelijk voor reverse charge,
Inward supplies from ISD,Inkomende benodigdheden van ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),Inkomende goederen die vatbaar zijn voor verlegging (andere dan 1 &amp; 2 hierboven),
Is Existing Asset,Is bestaande asset,
Is Frozen,Is bevroren,
Is Group,Is Group,
Issue,Kwestie,
Issue Material,Uitgiftemateriaal,
Issued,Uitgegeven,
Issues,problemen,
It is needed to fetch Item Details.,Het is nodig om itemdetails te halen.,
Item,Item,
Item 1,Item 1,
Item 2,Item 2,
Item 3,Item 3,
Item 4,Item 4,
Item 5,Artikel 5,
Item Cart,Artikel winkelwagen,
Item Code,Artikelcode,
Item Code cannot be changed for Serial No.,Artikelcode kan niet worden gewijzigd voor serienummer,
Item Code required at Row No {0},Artikelcode vereist op rij Nee {0},
Item Description,product beschrijving,
Item Group,Artikelgroep,
Item Group Tree,Artikelgroepstructuur,
Item Group not mentioned in item master for item {0},Artikelgroep niet genoemd in artikelstam voor artikel {0},
Item Name,Itemnaam,
Item Price added for {0} in Price List {1},Artikel Prijs toegevoegd voor {0} in prijslijst {1},
"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Artikel Prijs verschijnt meerdere keren op basis van prijslijst, leverancier / klant, valuta, artikel, UOM, aantal en datums.",
Item Price updated for {0} in Price List {1},Artikelprijs bijgewerkt voor {0} in prijslijst {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Artikelrij {0}: {1} {2} bestaat niet in bovenstaande tabel &#39;{1}&#39;,
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Artikelbelasting Rij {0} moet een account hebben van het type Belasting of inkomen of onkosten of verschuldigd,
Item Template,Artikel sjabloon,
Item Variant Settings,Instellingen voor itemvarianten,
Item Variant {0} already exists with same attributes,Artikelvariant {0} bestaat al met dezelfde kenmerken,
Item Variants,Artikelvarianten,
Item Variants updated,Artikelvarianten bijgewerkt,
Item has variants.,Artikel heeft varianten.,
Item must be added using 'Get Items from Purchase Receipts' button,Item moet worden toegevoegd met de knop &#39;Items ophalen van inkoopbonnen&#39;,
Item or Warehouse for row {0} does not match Material Request,Artikel of magazijn voor rij {0} komt niet overeen met artikelverzoek,
Item valuation rate is recalculated considering landed cost voucher amount,De artikelwaarderingskoers wordt opnieuw berekend rekening houdend met het bedrag van de geloste kostenvoucher,
Item variant {0} exists with same attributes,Artikelvariant {0} bestaat met dezelfde kenmerken,
Item {0} does not exist,Artikel {0} bestaat niet,
Item {0} does not exist in the system or has expired,Item {0} bestaat niet in het systeem of is verlopen,
Item {0} has already been returned,Item {0} is al geretourneerd,
Item {0} has been disabled,Item {0} is uitgeschakeld,
Item {0} has reached its end of life on {1},Artikel {0} is aan het einde van zijn levensduur op {1},
Item {0} ignored since it is not a stock item,Item {0} wordt genegeerd omdat het geen aandelenartikel is,
"Item {0} is a template, please select one of its variants","Artikel {0} is een sjabloon, selecteer een van de varianten",
Item {0} is cancelled,Artikel {0} is geannuleerd,
Item {0} is disabled,Artikel {0} is uitgeschakeld,
Item {0} is not a serialized Item,Artikel {0} is geen geserialiseerd artikel,
Item {0} is not a stock Item,Artikel {0} is geen aandelenartikel,
Item {0} is not active or end of life has been reached,Artikel {0} is niet actief of het einde van de levensduur is bereikt,
Item {0} is not setup for Serial Nos. Check Item master,Item {0} is niet ingesteld voor serienummers. Item controleren,
Item {0} is not setup for Serial Nos. Column must be blank,Item {0} is niet ingesteld voor serienummers. Kolom moet leeg zijn,
Item {0} must be a Fixed Asset Item,Artikel {0} moet een vast activum-item zijn,
Item {0} must be a Sub-contracted Item,Artikel {0} moet een uitbesteed item zijn,
Item {0} must be a non-stock item,Artikel {0} moet een artikel zijn dat niet op voorraad is,
Item {0} must be a stock Item,Artikel {0} moet een aandelenartikel zijn,
Item {0} not found,Item {0} niet gevonden,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Artikel {0} niet gevonden in tabel &#39;Raw Materials Suppended&#39; in bestelling {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Artikel {0}: Bestelde hoeveelheid {1} kan niet kleiner zijn dan de minimale bestelhoeveelheid van {2} (gedefinieerd in artikel).,
Item: {0} does not exist in the system,Item: {0} bestaat niet in het systeem,
Items,items,
Items Filter,Items filteren,
Items and Pricing,Items en prijzen,
Items for Raw Material Request,Items voor grondstoffenaanvraag,
Job Card,Werk kaart,
Job Description,Functieomschrijving,
Job Offer,Vacature,
Job card {0} created,Taakkaart {0} gemaakt,
Jobs,Jobs,
Join,toetreden,
Journal Entries {0} are un-linked,Journaalboekingen {0} zijn niet gekoppeld,
Journal Entry,Journaalboeking,
Journal Entry {0} does not have account {1} or already matched against other voucher,Journaalboeking {0} heeft geen account {1} of is al gekoppeld aan een andere voucher,
Kanban Board,Kanban Board,
Key Reports,Key Reports,
LMS Activity,LMS-activiteit,
Lab Test,Laboratoriumtest,
Lab Test Prescriptions,Lab-testrecepten,
Lab Test Report,Lab testrapport,
Lab Test Sample,Lab-testvoorbeeld,
Lab Test Template,Lab-testsjabloon,
Lab Test UOM,Lab Test UOM,
Lab Tests and Vital Signs,Lab-tests en vitale functies,
Lab result datetime cannot be before testing datetime,Lab-resultaat datetime kan niet vóór het testen van datetime zijn,
Lab testing datetime cannot be before collection datetime,Labetesten van datetime kan niet vóór verzameling datetime zijn,
Laboratory,Laboratorium,
Large,Groot,
Last Communication,Laatste communicatie,
Last Communication Date,Laatste communicatiedatum,
Last Order Amount,Laatste bestelbedrag,
Last Order Date,Laatste besteldatum,
Last Purchase Price,Laatste aankoopprijs,
Last Purchase Rate,Laatste aankooppercentage,
Latest,Laatste,
Latest price updated in all BOMs,Laatste prijs bijgewerkt in alle stuklijsten,
Lead,Lood,
Lead Count,Lead count,
Lead Owner,Leidende eigenaar,
Lead Owner cannot be same as the Lead,Lead Owner kan niet hetzelfde zijn als de Lead,
Lead Time Days,Doorlooptijd dagen,
Lead to Quotation,Leid tot een citaat,
"Leads help you get business, add all your contacts and more as your leads","Leads helpen u om zaken te doen, al uw contacten toe te voegen en meer als uw leads",
Learn,Leren,
Leave Approval Notification,Laat de goedkeuringsmelding achter,
Leave Blocked,Laat geblokkeerd,
Leave Encashment,Verlaat deelname,
Leave Management,Leave Management,
Leave Status Notification,Laat statusmelding achter,
Leave Type,Laat Type,
Leave Type is madatory,Verlof Type is maganorie,
Leave Type {0} cannot be allocated since it is leave without pay,Verloftype {0} kan niet worden toegewezen omdat het verlof zonder betaling is,
Leave Type {0} cannot be carry-forwarded,Verloftype {0} kan niet worden overgedragen,
Leave Type {0} is not encashable,Verlaat type {0} is niet ingesloten,
Leave Without Pay,Verlof zonder betalen,
Leave Without Pay does not match with approved Leave Application records,Leave Without Pay komt niet overeen met goedgekeurde app-records,
Leave and Attendance,Verlof en aanwezigheid,
Leave application {0} already exists against the student {1},Laat toepassing {0} al bestaan tegen de student {1},
"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Verlof kan niet worden toegewezen vóór {0}, omdat het verloftegoed al is overgedragen in het toekomstige verloftoewijzingsrecord {1}",
"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Verlof kan niet worden toegepast / geannuleerd vóór {0}, omdat het verloftegoed al is overgedragen in het toekomstige verlofplotrecord {1}",
Leave of type {0} cannot be longer than {1},Verlof van type {0} mag niet langer zijn dan {1},
Leave the field empty to make purchase orders for all suppliers,Laat het veld leeg om inkooporders voor alle leveranciers te maken,
Leaves,bladeren,
Leaves Allocated Successfully for {0},Bladeren succesvol toegewezen voor {0},
Leaves has been granted sucessfully,Bladeren zijn met succes uitgevoerd,
Leaves must be allocated in multiples of 0.5,"Bladeren moeten worden toegewezen in veelvouden van 0,5",
Leaves per Year,Bladeren per jaar,
Ledger,Grootboek,
Legal,wettelijk,
Legal Expenses,Legale uitgaven,
Letter Heads for print templates.,Briefhoofden voor afdruksjablonen.,
Liability,Aansprakelijkheid,
License,Licentie,
Lifecycle,Levenscyclus,
Limit Crossed,Limit Crossed,
Link to Material Request,Link naar artikelaanvraag,
List of all share transactions,Lijst met alle aandelentransacties,
List of available Shareholders with folio numbers,Lijst met beschikbare aandeelhouders met folionummers,
Loading Payment System,Loading Payment System,
Loan,Lening,
Loan Amount cannot exceed Maximum Loan Amount of {0},Leningbedrag kan het maximale leenbedrag van {0} niet overschrijden,
Loan Application,Aanvraag voor een lening,
Loan Management,Leningbeheer,
Loan Repayment,Terugbetaling van schulden,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Startdatum lening en leningperiode zijn verplicht om de factuurkorting op te slaan,
Loans (Liabilities),Leningen (verplichtingen),
Loans and Advances (Assets),Leningen en voorschotten (activa),
Local,lokaal,
"LocalStorage is full , did not save","LocalStorage is vol, niet opgeslagen",
"LocalStorage is full, did not save","LocalStorage is vol, niet opgeslagen",
Log,Log,
Logs for maintaining sms delivery status,Logboeken voor het handhaven van de sms-bezorgingsstatus,
Lost,Verloren,
Lost Reasons,Verloren redenen,
Low,Laag,
Low Sensitivity,Lage gevoeligheid,
Lower Income,Lager inkomen,
Loyalty Amount,Loyaliteitsbedrag,
Loyalty Point Entry,Loyalty Point Entry,
Loyalty Points,Loyaliteitspunten,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Loyaliteitspunten worden berekend op basis van het aantal gedaane uitgaven (via de verkoopfactuur), op basis van de genoemde verzamelfactor.",
Loyalty Points: {0},Loyaliteitspunten: {0},
Loyalty Program,Loyaliteitsprogramma,
Main,Hoofd,
Maintenance,Onderhoud,
Maintenance Log,Onderhoudslogboek,
Maintenance Schedule,Onderhoudsschema,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Onderhoudsschema wordt niet voor alle items gegenereerd. Klik op &#39;Schema genereren&#39;,
Maintenance Schedule {0} exists against {1},Onderhoudsschema {0} bestaat tegen {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Onderhoudsschema {0} moet worden geannuleerd voordat deze klantorder wordt geannuleerd,
Maintenance Status has to be Cancelled or Completed to Submit,Onderhoudsstatus moet worden geannuleerd of voltooid om te verzenden,
Maintenance Visit,Onderhoudsbezoek,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Onderhoudsbezoek {0} moet worden geannuleerd voordat deze klantorder wordt geannuleerd,
Maintenance start date can not be before delivery date for Serial No {0},Onderhoudsstartdatum kan niet vóór de leverdatum zijn voor serienummer {0},
Make,Maken,
Make Payment,Betaling maken,
Make project from a template.,Maak een project van een sjabloon.,
Making Stock Entries,Voorraadinvoer maken,
Manage Customer Group Tree.,Beheer de klantengroepstructuur.,
Manage Sales Partners.,Beheer verkooppartners.,
Manage Sales Person Tree.,Beheer de verkooppersoonboom.,
Manage Territory Tree.,Beheert Grondgebied.,
Manage your orders,Beheer uw bestellingen,
Management,Beheer,
Manager,Manager,
Managing Projects,Projecten beheren,
Managing Subcontracting,Onderaanneming beheren,
Mandatory field - Academic Year,Verplicht veld - Academisch jaar,
Mandatory field - Get Students From,Verplicht veld - Haal studenten uit,
Mandatory field - Program,Verplicht veld - Programma,
Manufacture,Vervaardiging,
Manufacturer,Fabrikant,
Manufacturer Part Number,Fabrikant Onderdeelnummer,
Manufacturing,Manufacturing,
Manufacturing Quantity is mandatory,Productiehoeveelheid is verplicht,
Mark Absent,Markeer afwezig,
Mark Attendance,Mark Attendance,
Mark Half Day,Mark Half Day,
Mark Present,Aanwezig,
Marketing,afzet,
Marketing Expenses,Marketingkosten,
Marketplace,Marktplaats,
Marketplace Error,Marktplaatsfout,
"Master data syncing, it might take some time","Mastergegevenssynchronisatie, het kan enige tijd duren",
Masters,Masters,
Match Payments with Invoices,Overeenkomen met betalingen met facturen,
Match non-linked Invoices and Payments.,Overeenkomen met niet-gekoppelde facturen en betalingen.,
Material,Materiaal,
Material Consumption,Materiale consumptie,
Material Consumption is not set in Manufacturing Settings.,Materiaalverbruik is niet ingesteld in Productie-instellingen.,
Material Receipt,Materiaalontvangst,
Material Request,Materiaal verzoek,
Material Request Date,Materiële aanvraagdatum,
Material Request No,Materiaal Verzoek Nee,
"Material Request not created, as quantity for Raw Materials already available.","Materiaal Verzoek niet aangemaakt, als hoeveelheid voor Grondstoffen al beschikbaar.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Materiaalaanvraag van maximaal {0} kan worden gedaan voor artikel {1} tegen klantorder {2},
Material Request to Purchase Order,Materiaal Verzoek om bestelling,
Material Request {0} is cancelled or stopped,Materiaalaanvraag {0} is geannuleerd of gestopt,
Material Request {0} submitted.,Materiaal Verzoek {0} ingediend.,
Material Transfer,Materiaaloverdracht,
Material Transferred,Materiaal overgedragen,
Material to Supplier,Materiaal voor leverancier,
Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Max. Vrijstellingsbedrag mag niet groter zijn dan maximumvrijstellingsbedrag {0} van belastingvrijstellingscategorie {1},
Max benefits should be greater than zero to dispense benefits,Maximale voordelen moeten groter zijn dan nul om voordelen te bieden,
Max discount allowed for item: {0} is {1}%,Max. Toegestane korting voor artikel: {0} is {1}%,
Max: {0},Max: {0},
Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Maximum aantal voorbeelden - {0} kan worden bewaard voor batch {1} en item {2}.,
Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Maximale voorbeelden - {0} zijn al bewaard voor Batch {1} en Item {2} in Batch {3}.,
Maximum amount eligible for the component {0} exceeds {1},Maximumbedrag dat in aanmerking komt voor het onderdeel {0} overschrijdt {1},
Maximum benefit amount of component {0} exceeds {1},Maximale voordeelhoeveelheid van component {0} overschrijdt {1},
Maximum benefit amount of employee {0} exceeds {1},Maximaal voordeelbedrag van werknemer {0} overschrijdt {1},
Maximum discount for Item {0} is {1}%,Maximale korting voor artikel {0} is {1}%,
Maximum leave allowed in the leave type {0} is {1},Maximaal verlof toegestaan in het verloftype {0} is {1},
Medical,Medisch,
Medical Code,Medische code,
Medical Code Standard,Medische codestandaard,
Medical Department,Medische afdeling,
Medical Record,Medisch dossier,
Medium,Medium,
Meeting,Vergadering,
Member Activity,Ledenactiviteit,
Member ID,Gebruikers ID,
Member Name,Lid Naam,
Member information.,Informatie over leden.,
Membership,Lidmaatschap,
Membership Details,Lidmaatschap details,
Membership ID,Lidmaatschaps-ID,
Membership Type,soort lidmaatschap,
Memebership Details,Gegevens over lidmaatschap,
Memebership Type Details,Type details van lidmaatschapstype,
Merge,samensmelten,
Merge Account,Account samenvoegen,
Merge with Existing Account,Samenvoegen met een bestaand account,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Samenvoegen is alleen mogelijk als de volgende eigenschappen in beide records hetzelfde zijn. Is Group, Root Type, Company",
Message Sent,Bericht verzonden,
Middle Income,Middelste inkomen,
Min Amt can not be greater than Max Amt,Min Amt kan niet groter zijn dan Max Amt,
Min Qty can not be greater than Max Qty,Min. Aantal kan niet groter zijn dan Max,
Minimum Lead Age (Days),Minimale leadleeftijd (dagen),
Miscellaneous Expenses,Diverse uitgaven,
Missing Currency Exchange Rates for {0},Ontbrekende wisselkoersen voor valuta voor {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Ontbrekende e-mailsjabloon voor verzending. Stel een in bij Delivery-instellingen.,
"Missing value for Password, API Key or Shopify URL","Ontbrekende waarde voor wachtwoord, API-sleutel of Shopify-URL",
Mode of Payment,Manier van betalen,
Mode of Payments,Wijze van betalingen,
Mode of Transport,Wijze van transport,
Mode of Transportation,Wijze van vervoer,
Mode of payment is required to make a payment,Wijze van betaling is vereist om een betaling uit te voeren,
Model,Model,
Moderate Sensitivity,Gematigde gevoeligheid,
Monday,maandag,
Monthly,Maandelijks,
Monthly Distribution,Maandelijkse verdeling,
Monthly Repayment Amount cannot be greater than Loan Amount,Het maandelijkse aflossingsbedrag kan niet groter zijn dan het leenbedrag,
More,Meer,
More Information,Meer informatie,
More than one selection for {0} not allowed,Meer dan één selectie voor {0} is niet toegestaan,
More...,Meer...,
Motion Picture & Video,Motion Picture &amp; Video,
Move,verhuizing,
Move Item,Item verplaatsen,
Multi Currency,Meerdere valuta,
Multiple Item prices.,Meerdere artikelprijzen.,
Multiple Loyalty Program found for the Customer. Please select manually.,Meervoudig loyaliteitsprogramma gevonden voor de klant. Selecteer alstublieft handmatig.,
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Meerdere prijsregels bestaan met dezelfde criteria, los conflicten op door prioriteit toe te kennen. Prijsregels: {0}",
Multiple Variants,Meerdere varianten,
Multiple default mode of payment is not allowed,Meerdere standaardbetaalmethoden zijn niet toegestaan,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Er zijn meerdere fiscale jaren voor de datum {0}. Stel het bedrijf in als fiscaal jaar,
Music,Muziek,
Name error: {0},Naamfout: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Naam van nieuwe account. Opmerking: maak geen accounts aan voor klanten en leveranciers,
Name or Email is mandatory,Naam of e-mailadres is verplicht,
Nature Of Supplies,Aard van de benodigdheden,
Navigating,navigeren,
Needs Analysis,Moet geanalyseerd worden,
Negative Quantity is not allowed,Negatieve hoeveelheid is niet toegestaan,
Negative Valuation Rate is not allowed,Negatieve waarderingssnelheid is niet toegestaan,
Negotiation/Review,Onderhandelen / Beoordeling,
Net Asset value as on,Netto-inventariswaarde als op,
Net Cash from Financing,Netto kasstroom uit financiering,
Net Cash from Investing,Nettokasstroom uit beleggingen,
Net Cash from Operations,Nettokasstroom uit operaties,
Net Change in Accounts Payable,Nettowijziging in crediteurenadministratie,
Net Change in Accounts Receivable,Netto wijziging in debiteuren,
Net Change in Cash,Nettowijziging in contanten,
Net Change in Equity,Nettowijziging van het eigen vermogen,
Net Change in Fixed Asset,Netto wijziging in vaste activa,
Net Change in Inventory,Netto wijziging in inventaris,
Net ITC Available(A) - (B),Net ITC beschikbaar (A) - (B),
Net Pay,Nettoloon,
Net Pay cannot be less than 0,Nettoloon kan niet minder zijn dan 0,
Net Profit,Netto winst,
Net Salary Amount,Netto salarisbedrag,
Net Total,Netto totaal,
Net pay cannot be negative,Nettoloon kan niet negatief zijn,
New Account Name,Nieuwe accountnaam,
New Address,Nieuw adres,
New BOM,Nieuwe stuklijst,
New Batch ID (Optional),Nieuwe batch-ID (optioneel),
New Batch Qty,Nieuwe batch-hoeveelheid,
New Cart,Nieuwe winkelwagen,
New Company,Nieuw bedrijf,
New Contact,Nieuw contact,
New Cost Center Name,Nieuwe kostenplaatsnaam,
New Customer Revenue,Nieuwe klantomzet,
New Customers,nieuwe klanten,
New Department,Nieuwe afdeling,
New Employee,Nieuwe medewerker,
New Location,Nieuwe locatie,
New Quality Procedure,Nieuwe kwaliteitsprocedure,
New Sales Invoice,Nieuwe verkoopfactuur,
New Sales Person Name,Nieuwe verkooppersoon naam,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nieuw serienummer kan Magazijn niet bevatten. Magazijn moet worden ingesteld door Stock Entry of Purchase Receipt,
New Warehouse Name,Nieuwe magazijnnaam,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Nieuwe kredietlimiet is minder dan het huidige uitstaande bedrag voor de klant. Kredietlimiet moet minimaal {0} zijn,
New task,Nieuwe taak,
New {0} pricing rules are created,Nieuwe prijsregels voor {0} worden gemaakt,
Newsletters,nieuwsbrieven,
Newspaper Publishers,Krantenuitgevers,
Next,volgende,
Next Contact By cannot be same as the Lead Email Address,Volgend contact per kan niet hetzelfde zijn als het lead-e-mailadres,
Next Contact Date cannot be in the past,Volgende contactdatum kan niet in het verleden zijn,
Next Steps,Volgende stappen,
No Action,Geen actie,
No Customers yet!,Nog geen klanten!,
No Data,Geen gegevens,
No Delivery Note selected for Customer {},Geen leveringsbewijs geselecteerd voor klant {},
No Employee Found,Geen werknemer gevonden,
No Item with Barcode {0},Geen artikel met streepjescode {0},
No Item with Serial No {0},Geen artikel met serienummer {0},
No Items added to cart,Geen items toegevoegd aan winkelwagen,
No Items available for transfer,Geen items beschikbaar voor overdracht,
No Items selected for transfer,Geen items geselecteerd voor overdracht,
No Items to pack,Geen items om in te pakken,
No Items with Bill of Materials to Manufacture,Geen items met stuklijst te produceren,
No Items with Bill of Materials.,Geen items met stuklijsten.,
No Lab Test created,Geen lab-test gemaakt,
No Permission,Geen toestemming,
No Quote,Geen citaat,
No Remarks,Geen opmerkingen,
No Result to submit,Geen resultaat om in te dienen,
No Salary Structure assigned for Employee {0} on given date {1},Geen salarisstructuur toegewezen voor werknemer {0} op opgegeven datum {1},
No Staffing Plans found for this Designation,Geen personeelsplanning gevonden voor deze aanwijzing,
No Student Groups created.,Geen studentengroepen gemaakt.,
No Students in,Geen studenten in,
No Tax Withholding data found for the current Fiscal Year.,Geen belastinginhouding gegevens gevonden voor het lopende fiscale jaar.,
No Work Orders created,Geen werkorders aangemaakt,
No accounting entries for the following warehouses,Geen boekingen voor de volgende magazijnen,
No active or default Salary Structure found for employee {0} for the given dates,Geen actieve of standaard salarisstructuur gevonden voor werknemer {0} voor de opgegeven datums,
No address added yet.,Nog geen adres toegevoegd.,
No contacts added yet.,Er zijn nog geen contacten toegevoegd.,
No contacts with email IDs found.,Geen contacten met e-mail-ID&#39;s gevonden.,
No data for this period,Geen gegevens voor deze periode,
No description given,Geen beschrijving gegeven,
No employees for the mentioned criteria,Geen werknemers voor de genoemde criteria,
No gain or loss in the exchange rate,Geen winst of verlies in de wisselkoers,
No items listed,Geen items vermeld,
No items to be received are overdue,"Er zijn geen items die moeten worden ontvangen, te laat",
No leave record found for employee {0} for {1},Geen verlofrecord gevonden voor werknemer {0} voor {1},
No material request created,Er is geen aanvraag voor een artikel gemaakt,
No more updates,Geen updates meer,
No of Interactions,Aantal interacties,
No of Shares,Aantal aandelen,
No pending Material Requests found to link for the given items.,Geen uitstaande artikelaanvragen gevonden om te linken voor de gegeven items.,
No products found,Geen producten gevonden,
No products found.,Geen producten gevonden.,
No record found,Geen record gevonden,
No records found in the Invoice table,Geen records gevonden in de tabel Factuur,
No records found in the Payment table,Geen records gevonden in de tabel Betaling,
No replies from,Geen reacties van,
No salary slip found to submit for the above selected criteria OR salary slip already submitted,Geen salarisstrook gevonden om in te dienen voor de hierboven geselecteerde criteria OF salarisstrook al ingediend,
No tasks,Geen taken,
No time sheets,Geen tijdschema&#39;s,
No values,Geen waarden,
No {0} found for Inter Company Transactions.,Geen {0} gevonden voor transacties tussen bedrijven.,
Non GST Inward Supplies,Niet-GST binnenkomende benodigdheden,
Non Profit,Non-profit,
Non Profit (beta),Non-profit (bèta),
Non-GST outward supplies,Niet-GST-uitleveringen,
Non-Group to Group,Niet-groep tot groep,
None of the items have any change in quantity or value.,Geen van de items heeft een verandering in hoeveelheid of waarde.,
Nos,Nos,
Not Available,Niet beschikbaar,
Not Expired,Niet verlopen,
Not Marked,Niet gemarkeerd,
Not Paid and Not Delivered,Niet betaald en niet bezorgd,
Not Permitted,Niet toegestaan,
Not Started,Niet begonnen,
Not active,Niet actief,
Not allow to set alternative item for the item {0},Niet toestaan om alternatief item in te stellen voor het item {0},
Not allowed to update stock transactions older than {0},Niet toegestaan om beurstransacties ouder dan {0} bij te werken,
Not authorized to edit frozen Account {0},Niet bevoegd om geblokkeerd account {0} te bewerken,
Not authroized since {0} exceeds limits,Niet geauthroiseerd omdat {0} limieten overschrijdt,
Not eligible for the admission in this program as per DOB,Komt niet in aanmerking voor de toelating in dit programma volgens DOB,
Not items found,Geen items gevonden,
Not permitted for {0},Niet toegestaan voor {0},
"Not permitted, configure Lab Test Template as required","Niet toegestaan, configureer Lab-testsjabloon zoals vereist",
Not permitted. Please disable the Service Unit Type,Niet toegestaan. Schakel het type service-eenheid uit,
Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Opmerking: vervaldatum / referentiedatum overschrijdt toegestane klantkredietdagen met {0} dag (en),
Note: Item {0} entered multiple times,Opmerking: Item {0} wordt meerdere keren ingevoerd,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Opmerking: betalingsinvoer wordt niet gemaakt omdat &#39;Contant geld of bankrekening&#39; niet is opgegeven,
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,"Opmerking: het systeem controleert niet te veel of te veel boeken voor artikel {0}, omdat de hoeveelheid of hoeveelheid 0 is",
Note: There is not enough leave balance for Leave Type {0},Opmerking: Er is niet voldoende verloftegoed voor Verloftype {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Opmerking: dit kostenplaats is een groep. Kan geen boekingen invoeren tegen groepen.,
Note: {0},Opmerking: {0},
Notes,Notes,
Nothing is included in gross,Niets is inbegrepen in bruto,
Nothing more to show.,Niets meer te tonen.,
Nothing to change,Niets om te veranderen,
Notice Period,Notice Period,
Notify Customers via Email,Breng klanten op de hoogte via e-mail,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Aantal geboekte afschrijvingen kan niet groter zijn dan het totale aantal afschrijvingen,
Number of Interaction,Aantal interactie,
Number of Order,Nummer van de bestelling,
"Number of new Account, it will be included in the account name as a prefix","Nummer van nieuwe account, deze zal als een prefix in de accountnaam worden opgenomen",
"Number of new Cost Center, it will be included in the cost center name as a prefix","Aantal nieuwe kostenplaatsen, dit wordt als voorvoegsel opgenomen in de naam van de kostenplaats",
Number of root accounts cannot be less than 4,Het aantal root-accounts mag niet minder dan 4 zijn,
Odometer,Kilometerteller,
Office Equipments,Kantooruitrusting,
Office Maintenance Expenses,Kantooronderhoudskosten,
Office Rent,Kantoor huur,
On Hold,In de wacht,
On Net Total,On Net Total,
One customer can be part of only single Loyalty Program.,Eén klant kan deel uitmaken van slechts één loyaliteitsprogramma.,
Online,Online,
Online Auctions,Online veilingen,
Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Alleen aanvragen verlaten met de status &#39;Goedgekeurd&#39; en &#39;Geweigerd&#39; kunnen worden ingediend,
"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Alleen de studentaanvrager met de status &quot;Goedgekeurd&quot; wordt geselecteerd in de onderstaande tabel.,
Only users with {0} role can register on Marketplace,Alleen gebruikers met een {0} rol kunnen zich registreren op Marketplace,
Only {0} in stock for item {1},Alleen {0} op voorraad voor artikel {1},
Open BOM {0},Open de stuklijst {0},
Open Item {0},Item {0} openen,
Open Notifications,Open meldingen,
Open Orders,Openstaande bestellingen,
Open a new ticket,Open een nieuw ticket,
Opening,Opening,
Opening (Cr),Opening (Cr),
Opening (Dr),Opening (dr),
Opening Accounting Balance,Boekhoudingssaldo openen,
Opening Accumulated Depreciation,Geaccumuleerde afschrijving openen,
Opening Accumulated Depreciation must be less than equal to {0},Geaccumuleerde afschrijvingen openen moeten kleiner zijn dan {0},
Opening Balance,Beginsaldo,
Opening Balance Equity,Beginevenwicht Equity,
Opening Date and Closing Date should be within same Fiscal Year,De openingsdatum en de sluitingsdatum moeten binnen hetzelfde fiscale jaar vallen,
Opening Date should be before Closing Date,De openingsdatum moet vóór de sluitingsdatum zijn,
Opening Entry Journal,Opening dagboek,
Opening Invoice Creation Tool,Opening factuur creatie tool,
Opening Invoice Item,Factuuritem openen,
Opening Invoices,Facturen openen,
Opening Invoices Summary,Factuuroverzicht openen,
Opening Qty,Opening Aantal,
Opening Stock,Openingsvoorraad,
Opening Stock Balance,Voorraadsaldo openen,
Opening Value,Waarde openen,
Opening {0} Invoice created,Opening {0} Factuur aangemaakt,
Operation,Operatie,
Operation Time must be greater than 0 for Operation {0},Operation Time moet groter zijn dan 0 voor Operation {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Bewerking {0} langer dan enige beschikbare werkuren op werkstation {1}, splitst de bewerking op in meerdere bewerkingen",
Operations,Activiteiten,
Operations cannot be left blank,Bewerkingen mogen niet leeg worden gelaten,
Opp Count,Opp graaf,
Opp/Lead %,Opp / Lead%,
Opportunities,Mogelijkheden,
Opportunities by lead source,Kansen per leadbron,
Opportunity,Kans,
Opportunity Amount,Kansbedrag,
Optional Holiday List not set for leave period {0},Optionele vakantielijst niet ingesteld voor verlofperiode {0},
"Optional. Sets company's default currency, if not specified.","Optioneel. Stelt de standaardvaluta van het bedrijf in, indien niet opgegeven.",
Optional. This setting will be used to filter in various transactions.,Optioneel. Deze instelling wordt gebruikt om in verschillende transacties te filteren.,
Order Count,Order Count,
Order Entry,Orderinvoer,
Order Value,Bestellingswaarde,
Order rescheduled for sync,Bestelling opnieuw gepland voor synchronisatie,
Order/Quot %,Bestel / Quot%,
Ordered,bestelde,
Ordered Qty,Bestelde hoeveelheid,
"Ordered Qty: Quantity ordered for purchase, but not received.","Bestelde hoeveelheid: bestelde hoeveelheid voor aankoop, maar niet ontvangen.",
Orders,bestellingen,
Orders released for production.,Bestellingen vrijgegeven voor productie.,
Organization,Organisatie,
Organization Name,organisatie naam,
Other Reports,Andere rapporten,
"Other outward supplies(Nil rated,Exempted)","Andere uitgaande leveringen (nul, vrijgesteld)",
Others,anderen,
Out Qty,Uit aantal,
Out Value,Out-waarde,
Out of Order,Out of Order,
Outgoing,uitgaande,
Outstanding,voortreffelijk,
Outstanding Amount,Uitstaand bedrag,
Outstanding Amt,Outstanding Amt,
Outstanding Cheques and Deposits to clear,Uitstaande cheques en stortingen te wissen,
Outstanding for {0} cannot be less than zero ({1}),Uitstaande voor {0} kan niet kleiner zijn dan nul ({1}),
"Outward taxable supplies(other than zero rated, nil rated and exempted","Passieve belastbare leveringen (anders dan nultarief, nultarief en vrijgesteld",
Outward taxable supplies(zero rated),Passieve belastbare leveringen (nultarief),
Overdue,Achterstallig,
Overlap in scoring between {0} and {1},Overlap in scoren tussen {0} en {1},
Overlapping conditions found between:,Overlappende omstandigheden gevonden tussen:,
Owner,Eigenaar,
PAN,PAN,
PO already created for all sales order items,PO is al gecreëerd voor alle klantorderitems,
POS,POS,
POS Closing Voucher alreday exists for {0} between date {1} and {2},POS Closing Voucher alreday bestaat voor {0} tussen datum {1} en {2},
POS Profile,POS-profiel,
POS Profile is required to use Point-of-Sale,POS-profiel is vereist om Point-of-Sale te gebruiken,
POS Profile required to make POS Entry,POS-profiel vereist om POS-invoer te verrichten,
POS Settings,POS-instellingen,
Packed quantity must equal quantity for Item {0} in row {1},Verpakte hoeveelheid moet gelijk zijn voor artikel {0} in rij {1},
Packing Slip,Pakbon,
Packing Slip(s) cancelled,Verpakkingsstrook (en) geannuleerd,
Paid,Betaald,
Paid Amount,Betaald bedrag,
Paid Amount cannot be greater than total negative outstanding amount {0},Betaald bedrag kan niet groter zijn dan het totaal negatief uitstaand bedrag {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Betaald bedrag + afschrijvingsbedrag mag niet groter zijn dan Eindtotaal,
Paid and Not Delivered,Betaald en niet geleverd,
Parent Item {0} must not be a Stock Item,Bovenliggend item {0} mag geen aandelenartikel zijn,
Parents Teacher Meeting Attendance,Ouders Teacher Meeting presentielijst,
Part-time,Deeltijd,
Partially Depreciated,Gedeeltelijk afgeschreven,
Partially Received,Gedeeltelijk ontvangen,
Party,Feest,
Party Name,Feest naam,
Party Type,Feesttype,
Party Type and Party is mandatory for {0} account,Feesttype en feest is verplicht voor {0} account,
Party Type is mandatory,Feesttype is verplicht,
Party is mandatory,Feest is verplicht,
Password policy for Salary Slips is not set,Wachtwoordbeleid voor salarisstroken is niet ingesteld,
Past Due Date,Verstreken einddatum,
Patient,Geduldig,
Patient Appointment,Afspraak van de patiënt,
Patient Encounter,Patiënt ontmoeting,
Patient not found,Patiënt niet gevonden,
Pay Remaining,Betaal resterend,
Pay {0} {1},Betaal {0} {1},
Payable,betaalbaar,
Payable Account,Crediterend account,
Payable Amount,Te betalen bedrag,
Payment,Betaling,
Payment Cancelled. Please check your GoCardless Account for more details,Betaling geannuleerd. Controleer uw GoCardless-account voor meer informatie,
Payment Confirmation,Betalingsbevestiging,
Payment Date,Betaaldatum,
Payment Days,Betaling dagen,
Payment Document,Betaal document,
Payment Due Date,Vervaldag van betaling,
Payment Entries {0} are un-linked,Betalingsgegevens {0} zijn niet gekoppeld,
Payment Entry,Betaling invoeren,
Payment Entry already exists,Betaling Binnenkomst bestaat al,
Payment Entry has been modified after you pulled it. Please pull it again.,Betaling Vermelding is gewijzigd nadat u het hebt getrokken. Trek het alstublieft nog een keer.,
Payment Entry is already created,Betaling Invoer is al gemaakt,
Payment Failed. Please check your GoCardless Account for more details,Betaling mislukt. Controleer uw GoCardless-account voor meer informatie,
"Payment Gateway Account not created, please create one manually.","Betalingsgateway-account niet aangemaakt, maak er alstublieft één handmatig aan.",
Payment Mode,Betaalmethode,
"Payment Mode is not configured. Please check, whether account has been set on Mode of Payments or on POS Profile.",Betalingsmodus is niet geconfigureerd. Controleer of het account is ingesteld op Betalingswijze of op POS-profiel.,
Payment Receipt Note,Betalingsbewijs Opmerking,
Payment Request,Betaal verzoek,
Payment Request for {0},Betalingsverzoek voor {0},
Payment Tems,Betaling Tems,
Payment Term,Betalingstermijn,
Payment Terms,Betaalvoorwaarden,
Payment Terms Template,Betalingscondities sjabloon,
Payment Terms based on conditions,Betalingsvoorwaarden op basis van voorwaarden,
Payment Type,Betalingswijze,
"Payment Type must be one of Receive, Pay and Internal Transfer","Het betaaltype moet er een zijn van Ontvangen, Betalen en Interne overschrijving",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Betaling met {0} {1} kan niet groter zijn dan uitstaand bedrag {2},
Payment of {0} from {1} to {2},Betaling van {0} van {1} tot {2},
Payment request {0} created,Betalingsverzoek {0} is gecreëerd,
Payments,betalingen,
Payroll,Loonlijst,
Payroll Number,Payroll nummer,
Payroll Payable,Payroll Payable,
Payroll date can not be less than employee's joining date,De salarisdatum kan niet minder zijn dan de toetredingsdatum van de werknemer,
Payslip,loonstrook,
Pending Activities,In afwachting van activiteiten,
Pending Amount,Bedrag in afwachting,
Pending Leaves,In afwachting van bladeren,
Pending Qty,In afwachting van,
Pending Quantity,In afwachting van hoeveelheid,
Pending Review,In afwachting van beoordeling,
Pending activities for today,In afwachting van activiteiten voor vandaag,
Pension Funds,Pensioenfondsen,
Percentage Allocation should be equal to 100%,Percentage toewijzing moet gelijk zijn aan 100%,
Perception Analysis,Perceptie Analyse,
Period,Periode,
Period Closing Entry,Periode die de inschrijving sluit,
Period Closing Voucher,Periode Sluitingsbon,
Periodicity,periodiciteit,
Personal Details,Persoonlijke gegevens,
Pharmaceutical,farmaceutisch,
Pharmaceuticals,Pharmaceuticals,
Physician,Arts,
Piecework,stukwerk,
Pin Code,Pincode,
Place Of Supply (State/UT),Plaats van levering (staat / UT),
Place Order,Plaats bestelling,
Plan for maintenance visits.,Plan voor onderhoudsbezoeken.,
Planned Qty,Gepland aantal,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Geplande hoeveelheid: hoeveelheid waarvoor de werkorder is verhoogd, maar die in afwachting is om te worden vervaardigd.",
Planning,Planning,
Plants and Machineries,Planten en machines,
Please Set Supplier Group in Buying Settings.,Gelieve Leveranciergroep in te stellen in Koopinstellingen.,
Please add a Temporary Opening account in Chart of Accounts,Voeg een tijdelijke openingstoewijzing toe in het rekeningschema,
Please add the account to root level Company - ,Voeg het account toe aan hoofdniveau Bedrijf -,
Please add the remaining benefits {0} to any of the existing component,Voeg de resterende voordelen {0} toe aan een van de bestaande onderdelen,
Please check Multi Currency option to allow accounts with other currency,Controleer de optie voor meerdere valuta om rekeningen met andere valuta toe te staan,
Please click on 'Generate Schedule',Klik op &#39;Schema genereren&#39;,
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Klik op &#39;Schema genereren&#39; om het serienummer voor artikel {0} op te halen,
Please click on 'Generate Schedule' to get schedule,Klik op &#39;Schema genereren&#39; om de planning te krijgen,
Please confirm once you have completed your training,Bevestig als u klaar bent met uw training,
Please contact to the user who have Sales Master Manager {0} role,Neem contact op met de gebruiker die de rol van Sales Master Manager {0} heeft,
Please create Customer from Lead {0},Maak een klant aan vanuit Lead {0},
Please create purchase receipt or purchase invoice for the item {0},Maak een aankoopbevestiging of een inkoopfactuur voor het artikel {0},
Please define grade for Threshold 0%,Geef een cijfer op voor Threshold 0%,
Please enable Applicable on Booking Actual Expenses,Activeer alstublieft bij het boeken van werkelijke kosten,
Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Schakel dit van toepassing op inkooporder in en van toepassing op het boeken van werkelijke kosten,
Please enable default incoming account before creating Daily Work Summary Group,Activeer standaard inkomende account voordat u Daily Work Summary Group maakt,
Please enable pop-ups,Schakel pop-ups alstublieft in,
Please enter 'Is Subcontracted' as Yes or No,Voer &#39;Wordt onderaanneming&#39; in als Ja of Nee,
Please enter API Consumer Key,Voer de API-consumentcode in,
Please enter API Consumer Secret,Voer alstublieft API Consumer Secret in,
Please enter Account for Change Amount,Voer alstublieft Account in voor bedrag wijzigen,
Please enter Approving Role or Approving User,Voer de goedkeuringsrol in of de gebruiker goed,
Please enter Cost Center,Voer kostenplaats in,
Please enter Delivery Date,Voer de leverdatum in,
Please enter Employee Id of this sales person,Voer werknemer-id van deze verkoper in,
Please enter Expense Account,Voer een onkostendeclaratie in,
Please enter Item Code to get Batch Number,Voer de artikelcode in om het batchnummer te krijgen,
Please enter Item Code to get batch no,Voer de artikelcode in om batchnr,
Please enter Item first,Voer eerst het artikel in,
Please enter Maintaince Details first,Voer alsjeblieft eerst Onderhoudsgegevens in,
Please enter Material Requests in the above table,Vul in de bovenstaande tabel een Materiaalverzoek in,
Please enter Planned Qty for Item {0} at row {1},Voer de geplande hoeveelheid voor artikel {0} in rij {1} in,
Please enter Preferred Contact Email,Voer alstublieft Preferred Contact Email in,
Please enter Production Item first,Voer eerst het productie-item in,
Please enter Purchase Receipt first,Voer eerst het aankoopbewijs in,
Please enter Receipt Document,Voer het ontvangstbewijs in,
Please enter Reference date,Voer de referentiedatum in,
Please enter Repayment Periods,Voer de terugbetalingsperioden in,
Please enter Reqd by Date,Voer Reqd in op datum,
Please enter Sales Orders in the above table,Voer klantorders in de bovenstaande tabel in,
Please enter Woocommerce Server URL,Voer de URL van de Woocommerce-server in,
Please enter Write Off Account,Vul alstublieft het account voor het afschrijven van uw account in,
Please enter atleast 1 invoice in the table,Voer ten minste 1 factuur in de tabel in,
Please enter company first,Voer eerst het bedrijf in,
Please enter company name first,Voer eerst de bedrijfsnaam in,
Please enter default currency in Company Master,Voer de standaardvaluta in bij Bedrijfsmaster,
Please enter message before sending,Voer alstublieft een bericht in voor verzending,
Please enter parent cost center,Voer ouderkostenplaats in,
Please enter quantity for Item {0},Voer het aantal in voor artikel {0},
Please enter relieving date.,Voer de ontlastingsdatum in.,
Please enter repayment Amount,Voer het bedrag van de terugbetaling in,
Please enter valid Financial Year Start and End Dates,Voer geldige begin- en einddatums in het boekjaar in,
Please enter valid email address,Vul alstublieft een geldig e-mailadres in,
Please enter {0} first,Voer eerst {0} in,
Please fill in all the details to generate Assessment Result.,Vul alle gegevens in om beoordelingsresultaat te genereren.,
Please identify/create Account (Group) for type - {0},Identificeer / maak Account (Groep) aan voor type - {0},
Please identify/create Account (Ledger) for type - {0},Identificeer / creëer Account (Ledger) voor type - {0},
Please input all required Result Value(s),Voer alle vereiste resultaat (en) in,
Please login as another user to register on Marketplace,Meld u aan als een andere gebruiker om u te registreren op Marketplace,
Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,Zorg ervoor dat u alle transacties voor dit bedrijf echt wilt verwijderen. Uw stamgegevens blijven zoals ze zijn. Deze actie kan niet ongedaan gemaakt worden.,
Please mention Basic and HRA component in Company,Gelieve de Basic- en HRA-component in Bedrijf te vermelden,
Please mention Round Off Account in Company,Noem Round Off Account in Company,
Please mention Round Off Cost Center in Company,Gelieve Round Off Cost Center in bedrijf te vermelden,
Please mention no of visits required,Geef alsjeblieft nee op voor bezoeken,
Please mention the Lead Name in Lead {0},Vermeld de leadnaam in lead {0},
Please pull items from Delivery Note,Haal items uit de Delivery Note,
Please re-type company name to confirm,Voer de bedrijfsnaam opnieuw in om te bevestigen,
Please register the SIREN number in the company information file,Registreer het SIREN-nummer in het bedrijfsinformatiedossier,
Please remove this Invoice {0} from C-Form {1},Verwijder deze factuur {0} uit C-Form {1},
Please save before assigning task.,Sla op voordat u een taak toewijst.,
Please save the patient first,Sla de patiënt alstublieft eerst op,
Please save the report again to rebuild or update,Sla het rapport opnieuw op om opnieuw te maken of bij te werken,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Selecteer Toegewezen hoeveelheid, factuurtype en factuurnummer in ten minste één rij",
Please select Apply Discount On,Selecteer korting toepassen op,
Please select BOM against item {0},Selecteer een stuklijst met item {0},
Please select BOM for Item in Row {0},Selecteer een stuklijst voor artikel in rij {0},
Please select BOM in BOM field for Item {0},Selecteer stuklijst in stuklijst voor artikel {0},
Please select Category first,Selecteer eerst de categorie,
Please select Charge Type first,Selecteer eerst het betaaltype,
Please select Company,Selecteer Bedrijf,
Please select Company and Designation,Selecteer Bedrijf en Aanwijzing,
Please select Company and Party Type first,Selecteer eerst Bedrijf en type partij,
Please select Company and Posting Date to getting entries,Selecteer Bedrijf en boekingsdatum om inzendingen te ontvangen,
Please select Company first,Selecteer eerst Bedrijf,
Please select Completion Date for Completed Asset Maintenance Log,Selecteer de voltooiingsdatum voor het uitgevoerde onderhoudslogboek,
Please select Completion Date for Completed Repair,Selecteer Voltooiingsdatum voor voltooide reparatie,
Please select Course,Selecteer Cursus,
Please select Drug,Selecteer alstublieft Drug,
Please select Employee,Selecteer Medewerker,
Please select Employee Record first.,Selecteer eerst het werknemersrecord.,
Please select Existing Company for creating Chart of Accounts,Selecteer Bestaand bedrijf voor het maken van een rekeningschema,
Please select Healthcare Service,Selecteer een zorgservice,
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle",Selecteer een item waarbij &quot;Is voorraaditem&quot; &quot;Nee&quot; is en &quot;Is verkoopitem&quot; &quot;Ja&quot; is en er is geen andere productbundel,
Please select Maintenance Status as Completed or remove Completion Date,Selecteer de onderhoudsstatus als voltooid of verwijder de voltooiingsdatum,
Please select Party Type first,Selecteer eerst het type feest,
Please select Patient,Selecteer alstublieft Patiënt,
Please select Patient to get Lab Tests,Selecteer Patiënt om Lab-tests te krijgen,
Please select Posting Date before selecting Party,Selecteer Boekingsdatum voordat u Feest selecteert,
Please select Posting Date first,Selecteer eerst de boekingsdatum,
Please select Price List,Selecteer alstublieft prijslijst,
Please select Program,Selecteer alstublieft Programma,
Please select Qty against item {0},Selecteer alstublieft aantal tegen item {0},
Please select Sample Retention Warehouse in Stock Settings first,Selecteer eerst Sample Retention Warehouse in Stock Settings,
Please select Start Date and End Date for Item {0},Selecteer Begindatum en Einddatum voor Artikel {0},
Please select Student Admission which is mandatory for the paid student applicant,Selecteer een studententoelating die verplicht is voor de betaalde student-aanvrager,
Please select a BOM,Selecteer een stuklijst,
Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Selecteer een batch voor item {0}. Kan geen enkele batch vinden die aan deze vereiste voldoet,
Please select a Company,Selecteer een bedrijf,
Please select a batch,Selecteer een batch,
Please select a csv file,Selecteer een csv-bestand,
Please select a customer,Selecteer een klant,
Please select a field to edit from numpad,Selecteer een veld om te bewerken vanuit numpad,
Please select a table,Selecteer een tafel,
Please select a valid Date,Selecteer een geldige datum alstublieft,
Please select a value for {0} quotation_to {1},Selecteer een waarde voor {0} offerte_naar {1},
Please select a warehouse,Selecteer een magazijn,
Please select an item in the cart,Selecteer een artikel in de winkelwagen,
Please select at least one domain.,Selecteer minimaal één domein.,
Please select correct account,Selecteer alstublieft het juiste account,
Please select customer,Selecteer een klant,
Please select date,Selecteer alstublieft de datum,
Please select item code,Selecteer de artikelcode,
Please select month and year,Selecteer maand en jaar,
Please select prefix first,Selecteer eerst het voorvoegsel,
Please select the Company,Selecteer het bedrijf,
Please select the Company first,Selecteer eerst het bedrijf,
Please select the Multiple Tier Program type for more than one collection rules.,Selecteer het Multiple Tier-programmatype voor meer dan één verzamelregels.,
Please select the assessment group other than 'All Assessment Groups',Selecteer de beoordelingsgroep anders dan &#39;Alle beoordelingsgroepen&#39;,
Please select the document type first,Selecteer eerst het documenttype,
Please select weekly off day,Selecteer wekelijkse off-day,
Please select {0},Selecteer alstublieft {0},
Please select {0} first,Selecteer eerst {0},
Please set 'Apply Additional Discount On',Stel &#39;Aanvullende korting toepassen op&#39; in,
Please set 'Asset Depreciation Cost Center' in Company {0},Stel &#39;Asset Depreciation Cost Center&#39; in bedrijf {0} in,
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Stel &#39;Versterking / Verliesrekening bij verwijdering van activa&#39; in Bedrijf {0} in,
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Stel een account in in Warehouse {0} of Default Inventory Account in bedrijf {1},
Please set B2C Limit in GST Settings.,Stel B2C-limiet in GST-instellingen in.,
Please set Company,Stel bedrijf in,
Please set Company filter blank if Group By is 'Company',Stel het bedrijfsfilter blanco in als Group By &#39;Bedrijf&#39; is,
Please set Default Payroll Payable Account in Company {0},Stel Default Payroll Payable Account in bedrijf {0} in,
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Stel afschrijving gerelateerde accounts in in activacategorie {0} of bedrijf {1},
Please set Email Address,Stel alstublieft het e-mailadres in,
Please set GST Accounts in GST Settings,Stel GST-accounts in via GST-instellingen,
Please set Hotel Room Rate on {},Stel de hotelkamerprijs in op {},
Please set Number of Depreciations Booked,Stel het aantal geboekte afschrijvingen in,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Stel een niet-gerealiseerde Exchange-winst / verliesrekening in in bedrijf {0},
Please set User ID field in an Employee record to set Employee Role,Stel het veld Gebruikers-ID in een werknemerrecord in om de rol van werknemer in te stellen,
Please set a default Holiday List for Employee {0} or Company {1},Stel een standaard vakantielijst in voor werknemer {0} of bedrijf {1},
Please set account in Warehouse {0},Stel een account in in Magazijn {0},
Please set an active menu for Restaurant {0},Stel een actief menu in voor Restaurant {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Stel het bijbehorende account in belastinginhoud {0} in voor bedrijf {1},
Please set at least one row in the Taxes and Charges Table,Stel alstublieft ten minste één rij in de tabel Belastingen en kosten in,
Please set default Cash or Bank account in Mode of Payment {0},Stel de standaard contante of bankrekening in in Betaalwijze {0},
Please set default account in Expense Claim Type {0},Stel alstublieft het standaard account in bij Expense Claim Type {0},
Please set default account in Salary Component {0},Stel alstublieft een standaard account in Salariscomponent {0} in,
Please set default customer group and territory in Selling Settings,Stel standaard klantengroep en -gebied in Verkoopinstellingen in,
Please set default customer in Restaurant Settings,Stel de standaardklant in in restaurantinstellingen,
Please set default template for Leave Approval Notification in HR Settings.,Stel de standaardsjabloon voor toestemming voor vertrekauthenticatie in HR-instellingen in.,
Please set default template for Leave Status Notification in HR Settings.,Stel de standaardsjabloon in voor Verlofstatusmelding in HR-instellingen.,
Please set default {0} in Company {1},Stel default {0} in bedrijf {1} in,
Please set filter based on Item or Warehouse,Stel een filter in op basis van item of magazijn,
Please set leave policy for employee {0} in Employee / Grade record,Stel het verlofbeleid in voor werknemer {0} in het personeels- / cijfersrecord,
Please set recurring after saving,Stel terugkerende na het opslaan in,
Please set the Company,Stel het bedrijf in,
Please set the Customer Address,Stel het klantadres in,
Please set the Date Of Joining for employee {0},Stel de datum van deelname in voor werknemer {0},
Please set the Default Cost Center in {0} company.,Stel het standaard kostenplaatsadres in {0} bedrijf in.,
Please set the Email ID for the Student to send the Payment Request,Stel de e-mail-ID in voor de student om het betalingsverzoek te verzenden,
Please set the Item Code first,Stel eerst de artikelcode in,
Please set the Payment Schedule,Stel het betalingsschema in,
Please set the series to be used.,Stel de te gebruiken serie in.,
Please set {0} for address {1},Stel alstublieft {0} in voor adres {1},
Please setup Students under Student Groups,Stel de studenten onder Student Groups in,
Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',Deel uw feedback met de training door op &#39;Training Feedback&#39; en vervolgens op &#39;Nieuw&#39; te klikken,
Please specify Company,Specificeer Bedrijf,
Please specify Company to proceed,Geef bedrijf op om verder te gaan,
Please specify a valid 'From Case No.',Geef een geldig &#39;Van zaaknummer&#39; op,
Please specify a valid Row ID for row {0} in table {1},Geef een geldig rij-ID op voor rij {0} in tabel {1},
Please specify at least one attribute in the Attributes table,Geef ten minste één kenmerk op in de tabel met kenmerken,
Please specify currency in Company,Geef de valuta op in het bedrijf,
Please specify either Quantity or Valuation Rate or both,Geef een hoeveelheid of een waarderingscijfer of beide op,
Please specify from/to range,Geef een waarde op van / tot bereik,
Please supply the specified items at the best possible rates,Geef de gespecificeerde artikelen aan tegen de best mogelijke tarieven,
Please update your status for this training event,Werk uw status bij voor deze trainingsevenement,
Please wait 3 days before resending the reminder.,Wacht 3 dagen voordat u de herinnering opnieuw verzendt.,
Point of Sale,Verkooppunt,
Point-of-Sale,Verkooppunt,
Point-of-Sale Profile,Point-of-Sale profiel,
Portal,Portaal,
Possible Supplier,Mogelijke leverancier,
Postal Expenses,Postkosten,
Posting Date,Boekingsdatum,
Posting Date cannot be future date,Boekingsdatum kan geen datum in de toekomst zijn,
Posting Time,Posting tijd,
Posting date and posting time is mandatory,De boekingsdatum en de boekingsdatum zijn verplicht,
Posting timestamp must be after {0},De tijdstempel voor berichten moet na {0} zijn,
Potential opportunities for selling.,Potentiële kansen om te verkopen.,
Practitioner Schedule,Practitioner Schedule,
Pre Sales,Voorverkoop,
Preference,Voorkeur,
Prescribed Procedures,Voorgeschreven procedures,
Prescription,Voorschrift,
Prescription Dosage,Recept Dosering,
Prescription Duration,Receptduur,
Prescriptions,voorschriften,
Present,Aanwezig,
Prev,Vorige,
Preview Salary Slip,Salarisstrook bekijken,
Previous Financial Year is not closed,Vorig boekjaar is niet afgesloten,
Price,Prijs,
Price List,Prijslijst,
Price List Currency not selected,Prijslijst Valuta niet geselecteerd,
Price List Rate,Prijslijst tarief,
Price List master.,Prijslijst master.,
Price List must be applicable for Buying or Selling,De prijslijst moet van toepassing zijn voor kopen of verkopen,
Price List not found or disabled,Prijslijst niet gevonden of uitgeschakeld,
Price List {0} is disabled or does not exist,Prijslijst {0} is uitgeschakeld of bestaat niet,
Price or product discount slabs are required,Prijs- of productkortingen zijn vereist,
Pricing,pricing,
Pricing Rule,Prijsregel,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Prijsregel wordt eerst geselecteerd op basis van het veld &#39;Toepassen op&#39;, dat item, artikelgroep of merk kan zijn.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Prijsbepaling Er wordt een regel gemaakt om de prijslijst te overschrijven / het kortingspercentage te definiëren, op basis van een aantal criteria.",
Pricing Rule {0} is updated,Prijsregel {0} is bijgewerkt,
Pricing Rules are further filtered based on quantity.,Prijsregels worden verder gefilterd op basis van de hoeveelheid.,
Primary,primair,
Primary Address Details,Primaire adresgegevens,
Primary Contact Details,Primaire contactgegevens,
Principal Amount,Hoofdbedrag,
Print IRS 1099 Forms,Print IRS 1099-formulieren,
Print Report Card,Rapportkaart afdrukken,
Print and Stationery,Print en schrijfbehoeften,
Print settings updated in respective print format,Afdrukinstellingen bijgewerkt in de respectieve afdrukformaten,
Print taxes with zero amount,Druk belastingen zonder bedrag af,
Printing and Branding,Afdrukken en branding,
Private Equity,Private Equity,
Privilege Leave,Privilege verlof,
Probation,Proeftijd,
Probationary Period,Proeftijd,
Procedure,Procedure,
Process Day Book Data,Dagboekgegevens verwerken,
Process Master Data,Stamgegevens verwerken,
Processing Chart of Accounts and Parties,Verwerking rekeningschema en partijen,
Processing Items and UOMs,Verwerkingsitems en UOM&#39;s,
Processing Party Addresses,Adressen van feestgangers verwerken,
Processing Vouchers,Verwerking van vouchers,
Procurement,Inkoop,
Produced Qty,Geproduceerd aantal,
Product,Artikel,
Product Bundle,Productbundel,
Product Search,product zoeken,
Production,Productie,
Production Item,Productie-item,
Productions Orders cannot be raised for:,Producties Bestellingen kunnen niet worden geplaatst voor:,
Products,producten,
Profit and Loss,Winst en verlies,
Profit for the year,Jaarwinst,
Program,Programma,
Program in the Fee Structure and Student Group {0} are different.,Het programma in de kostenstructuur en studentengroep {0} verschilt.,
Program {0} does not exist.,Programma {0} bestaat niet.,
Program: ,Programma:,
Progress % for a task cannot be more than 100.,Voortgang% voor een taak kan niet meer dan 100 zijn.,
Project Collaboration Invitation,Uitnodiging voor projectsamenwerking,
Project Id,Project-ID,
Project Manager,Projectleider,
Project Name,Naam van het project,
Project Start Date,Startdatum van het project,
Project Status,Project status,
Project Summary for {0},Projectoverzicht voor {0},
Project Update.,Project update.,
Project Value,Projectwaarde,
Project activity / task.,Projectactiviteit / taak.,
Project master.,Project meester.,
Project-wise data is not available for Quotation,Projectmatige gegevens zijn niet beschikbaar voor Offerte,
Projected,geprojecteerde,
Projected Qty,Geprojecteerde aantal,
Projected Quantity Formula,Formule met geprojecteerde hoeveelheid,
Projects,projecten,
Property already added,Property al toegevoegd,
Proposal Writing,Voorstel schrijven,
Proposal/Price Quote,Offerte / prijsofferte,
Prospecting,prospectie,
Provisional Profit / Loss (Credit),Voorlopig resultaat / verlies (krediet),
Publications,publicaties,
Publish Items on Website,Publiceer items op de website,
Publishing,Publishing,
Purchase,Aankoop,
Purchase Amount,Aankoopbedrag,
Purchase Date,aankoopdatum,
Purchase Invoice,Aankoopfactuur,
Purchase Invoice {0} is already submitted,Inkoopfactuur {0} is al verzonden,
Purchase Order,Bestelling,
Purchase Order Amount,Inkooporderbedrag,
Purchase Order Amount(Company Currency),Inkooporderbedrag (bedrijfsvaluta),
Purchase Order Date,Besteldatum,
Purchase Order Items not received on time,Inkooporderartikelen die niet op tijd zijn ontvangen,
Purchase Order number required for Item {0},Bestelnummer vereist voor artikel {0},
Purchase Order to Payment,Bestelling tot betaling,
Purchase Order {0} is not submitted,Inkooporder {0} is niet verzonden,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Inkooporders zijn niet toegestaan voor {0} vanwege een scorekaart van {1}.,
Purchase Orders given to Suppliers.,Inkooporders gegeven aan leveranciers.,
Purchase Price List,Aankoop prijslijst,
Purchase Receipt,Aankoopbon,
Purchase Receipt {0} is not submitted,Aankoopbewijs {0} is niet verzonden,
Purchase Tax Template,Sjabloon voor inkoopbelasting,
Purchase orders help you plan and follow up on your purchases,Inkooporders helpen u bij het plannen en opvolgen van uw aankopen,
Purchasing,inkoop,
Purpose must be one of {0},Doel moet een van {0} zijn,
Qty,Aantal,
Qty To Manufacture,Aantal te produceren,
Qty Total,Aantal Totaal,
Qty for {0},Aantal voor {0},
Qty per BOM Line,Aantal per stuklijst,
Qualification,Kwalificatie,
Quality,Kwaliteit,
Quality Action,Kwaliteitsactie,
Quality Goal.,Kwaliteitsdoel.,
Quality Inspection,Kwaliteitsinspectie,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Kwaliteitsinspectie: {0} is niet verzonden voor het item: {1} in rij {2},
Quality Management,Kwaliteitsmanagement,
Quality Meeting,Quality Meeting,
Quality Procedure,Kwaliteitsprocedure,
Quality Procedure.,Kwaliteitsprocedure.,
Quality Review,Kwaliteitsbeoordeling,
Quantity,Aantal stuks,
Quantity ({0}) cannot be a fraction in row {1},Aantal ({0}) kan geen breuk in rij {1} zijn,
Quantity for Item {0} must be less than {1},De hoeveelheid voor item {0} moet kleiner zijn dan {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Aantal in rij {0} ({1}) moet hetzelfde zijn als de gefabriceerde hoeveelheid {2},
Quantity must be less than or equal to {0},Aantal moet kleiner zijn dan of gelijk zijn aan {0},
Quantity must be positive,De hoeveelheid moet positief zijn,
Quantity must not be more than {0},Hoeveelheid mag niet groter zijn dan {0},
Quantity required for Item {0} in row {1},Aantal vereist voor item {0} in rij {1},
Quantity should be greater than 0,De hoeveelheid moet groter zijn dan 0,
Quantity to Make,Te maken hoeveelheid,
Quantity to Manufacture must be greater than 0.,Te produceren hoeveelheid moet groter zijn dan 0.,
Quantity to Produce,Hoeveelheid om te produceren,
Quantity to Produce can not be less than Zero,Hoeveelheid aan producten mag niet minder zijn dan nul,
Queued for replacing the BOM. It may take a few minutes.,In de wachtrij geplaatst voor het vervangen van de stuklijst. Het kan een paar minuten duren.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,In de wachtrij geplaatst voor het bijwerken van de laatste prijs in alle stuklijst. Het kan een paar minuten duren.,
Quick Journal Entry,Snelle journaalboeking,
Quot Count,Quot Count,
Quot/Lead %,Quot / Lead%,
Quotation,Citaat,
Quotation {0} is cancelled,Offerte {0} is geannuleerd,
Quotation {0} not of type {1},Offerte {0} niet van type {1},
Quotations,offertes,
"Quotations are proposals, bids you have sent to your customers","Offertes zijn voorstellen, biedingen die u aan uw klanten hebt verzonden",
Quotations received from Suppliers.,Citaten ontvangen van leveranciers.,
Quotations: ,citaten:,
Quotes to Leads or Customers.,Citaten voor leads of klanten.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ&#39;s zijn niet toegestaan voor {0} vanwege een scorekaart van {1},
Range,reeks,
Rate,tarief,
Rate:,rate:,
Raw Material,Grondstof,
Raw Materials,Grondstoffen,
Raw Materials cannot be blank.,Grondstoffen mogen niet leeg zijn.,
Re-open,Re-geopend,
Read blog,Lees blog,
Read the ERPNext Manual,Lees de ERPNext-handleiding,
Reading Uploaded File,Geüpload bestand lezen,
Real Estate,Onroerend goed,
Reason For Putting On Hold,Reden om in de wacht te zetten,
Reason for Hold,Reden voor vasthouden,
Reason for hold: ,Reden voor vasthouden:,
Receipt,Bon,
Receipt document must be submitted,Ontvangstbewijs moet worden ingediend,
Receivable,ontvangbaar,
Receivable Account,Vorderingsrekening,
Receive at Warehouse Entry,Ontvangen bij magazijninvoer,
Received,Ontvangen,
Received On,Ontvangen op,
Received Quantity,Ontvangen hoeveelheid,
Received Stock Entries,Voorraadinvoer ontvangen,
Receiver List is empty. Please create Receiver List,Ontvangerlijst is leeg. Maak aub lijst met ontvangers,
Reconcile,verzoenen,
Record Patient Vitals,Registreer de Vitals van de patiënt,
"Record of all communications of type email, phone, chat, visit, etc.","Record van alle communicatie van het type e-mail, telefoon, chat, bezoek, etc.",
Records,archief,
Ref,Ref,
Ref Date,Ref Date,
Reference,Referentie,
Reference #{0} dated {1},Referentie # {0} gedateerd {1},
Reference Date,Referentie datum,
Reference Doctype must be one of {0},Referentie Doctype moet een van {0} zijn,
Reference Document,Referentie document,
Reference No & Reference Date is required for {0},Referentienummer en referentiedatum zijn vereist voor {0},
Reference No and Reference Date is mandatory for Bank transaction,Referentienummer en referentiedatum zijn verplicht voor banktransacties,
Reference No is mandatory if you entered Reference Date,Referentienummer is verplicht als u Referentiedatum hebt ingevoerd,
Reference No.,Referentienummer.,
Reference Number,Referentienummer,
"Reference: {0}, Item Code: {1} and Customer: {2}","Referentie: {0}, Artikelcode: {1} en Klant: {2}",
References,Referenties,
Register,Registreren,
Registration fee can not be Zero,Registratiekosten kunnen geen Zero zijn,
Reject,afwijzen,
Rejected,Verworpen,
Related,Verwant,
Relation with Guardian1,Relatie met Guardian1,
Relation with Guardian2,Relatie met Guardian2,
Release Date,Datum van publicatie,
Reload Linked Analysis,Reload Linked Analysis,
Remaining,resterende,
Remaining Balance,Resterende saldo,
Remarks,Opmerkingen,
Reminder to update GSTIN Sent,Herinnering om GSTIN verzonden te updaten,
Remove item if charges is not applicable to that item,Verwijder item als kosten niet van toepassing zijn op dat item,
Removed items with no change in quantity or value.,Items zonder verandering in hoeveelheid of waarde verwijderd.,
Reopen,heropenen,
Reorder Level,Niveau opnieuw rangschikken,
Reorder Qty,Bestel een aantal,
Repeat Customer Revenue,Herhaal de klantopbrengst,
Repeat Customers,Klanten herhalen,
Replace BOM and update latest price in all BOMs,Vervang stuklijst en update laatste prijs in alle stuklijsten,
Replies,Antwoorden,
Report,Verslag doen van,
Report Builder,Report Builder,
Report Type is mandatory,Rapporttype is verplicht,
Report an Issue,Een probleem melden,
Reports,rapporten,
Reqd By Date,Reqd op datum,
Reqd Qty,Gewenste hoeveelheid,
Request for Quotation,Verzoek om offerte,
"Request for Quotation is disabled to access from portal, for more check portal settings.","Verzoek om offertes is uitgeschakeld om te openen vanuit de portal, voor meer controle-portalinstellingen.",
Request for Quotations,Verzoek om offertes,
Request for Raw Materials,Verzoek om grondstoffen,
Request for purchase.,Verzoek om aankoop.,
Request for quotation.,Offerte aanvragen.,
Requested Qty,Gevraagd aantal,
"Requested Qty: Quantity requested for purchase, but not ordered.","Gevraagde hoeveelheid: gevraagde hoeveelheid voor aankoop, maar niet besteld.",
Requesting Site,Site aanvragen,
Requesting payment against {0} {1} for amount {2},Verzoek om betaling tegen {0} {1} voor bedrag {2},
Requestor,aanvrager,
Required On,Vereist Aan,
Required Qty,Vereiste aantal,
Required Quantity,Benodigde hoeveelheid,
Reschedule,Afspraak verzetten,
Research,Onderzoek,
Research & Development,Onderzoek &amp; Ontwikkeling,
Researcher,Onderzoeker,
Resend Payment Email,Verzend betalings-e-mail opnieuw,
Reserve Warehouse,Magazijn reserveren,
Reserved Qty,Gereserveerde hoeveelheid,
Reserved Qty for Production,Gereserveerde hoeveelheid voor productie,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Gereserveerde hoeveelheid voor productie: hoeveelheid grondstoffen om productieartikelen te maken.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Gereserveerde hoeveelheid: hoeveelheid besteld voor verkoop, maar niet afgeleverd.",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Gereserveerd magazijn is verplicht voor artikel {0} in geleverde grondstoffen,
Reserved for manufacturing,Gereserveerd voor productie,
Reserved for sale,Gereserveerd voor verkoop,
Reserved for sub contracting,Gereserveerd voor onderaanneming,
Resistant,Resistant,
Resolve error and upload again.,Los de fout op en upload opnieuw.,
Responsibilities,verantwoordelijkheden,
Rest Of The World,Rest van de wereld,
Restart Subscription,Start Abonnement opnieuw,
Restaurant,Restaurant,
Result Date,Resultaatdatum,
Result already Submitted,Het resultaat is al verzonden,
Resume,Hervatten,
Retail,Kleinhandel,
Retail & Wholesale,Detailhandel en groothandel,
Retail Operations,Detailhandel,
Retained Earnings,Ingehouden inkomsten,
Retention Stock Entry,Retention Stock Entry,
Retention Stock Entry already created or Sample Quantity not provided,Retentie Stock Entry al gemaakt of Sample Quantity niet verstrekt,
Return,terugkeer,
Return / Credit Note,Rendement / creditnota,
Return / Debit Note,Return / Debet Note,
Returns,Komt terug,
Reverse Journal Entry,Reverse Journal Entry,
Review Invitation Sent,Review Uitnodiging verzonden,
Review and Action,Beoordeling en actie,
Rooms Booked,Kamers geboekt,
Root Account must be a group,Root-account moet een groep zijn,
Root Company,Root Company,
Root Type,Root Type,
Root Type is mandatory,Root Type is verplicht,
Root cannot be edited.,Root kan niet worden bewerkt.,
Root cannot have a parent cost center,Root kan geen parent-kostenplaats hebben,
Round Off,Afronden,
Rounded Total,Totaal afgerond,
Row # {0}: ,Rij # {0}:,
Row # {0}: Batch No must be same as {1} {2},Rij # {0}: batchnummer moet hetzelfde zijn als {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Rij # {0}: kan niet meer dan {1} retourneren voor artikel {2},
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Rij # {0}: Tarief kan niet groter zijn dan het tarief dat wordt gebruikt in {1} {2},
Row # {0}: Returned Item {1} does not exists in {2} {3},Rij # {0}: geretourneerd item {1} bestaat niet in {2} {3},
Row # {0}: Serial No is mandatory,Rij # {0}: serienummer is verplicht,
Row # {0}: Serial No {1} does not match with {2} {3},Rij # {0}: Serienummer {1} komt niet overeen met {2} {3},
Row #{0} (Payment Table): Amount must be negative,Rij # {0} (betalingstabel): bedrag moet negatief zijn,
Row #{0} (Payment Table): Amount must be positive,Rij # {0} (betalingstabel): bedrag moet positief zijn,
Row #{0}: Account {1} does not belong to company {2},Rij # {0}: account {1} hoort niet bij bedrijf {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Rij # {0}: Toegewezen bedrag kan niet groter zijn dan uitstaand bedrag.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Rij # {0}: item {1} kan niet worden ingediend, het is al {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Rij # {0}: kan Tarief niet instellen als het bedrag groter is dan het gefactureerde bedrag voor artikel {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Rij # {0}: uitklaringsdatum {1} kan niet vóór Check Date {2} zijn,
Row #{0}: Duplicate entry in References {1} {2},Rij # {0}: dubbele invoer in verwijzingen {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Rij # {0}: de verwachte leverdatum kan niet eerder zijn dan de aankoopdatum,
Row #{0}: Item added,Rij # {0}: item toegevoegd,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Rij # {0}: journaalboeking {1} heeft geen account {2} of is al gekoppeld aan een andere voucher,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Rij # {0}: het is niet toegestaan om Leverancier te wijzigen als Bestelling al bestaat,
Row #{0}: Please set reorder quantity,Rij # {0}: stel de bestelhoeveelheid in,
Row #{0}: Please specify Serial No for Item {1},Rij # {0}: geef het serienummer op voor item {1},
Row #{0}: Qty increased by 1,Rij # {0}: aantal verhoogd met 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Rij # {0}: Tarief moet hetzelfde zijn als {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Rij # {0}: referentiedocumenttype moet een van de uitgaven claim of journaalboeking zijn,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Rij # {0}: referentiedocumenttype moet een van de inkooporders, inkoopfacturen of journaalboekingen zijn",
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice or Journal Entry","Rij # {0}: referentiedocumenttype moet een van de klantorders, verkoopfacturen of journaalboekingen zijn",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Rij # {0}: Geweigerd aantal kan niet worden ingevoerd in Inkoopretour,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Rij # {0}: Rejected Magazijn is verplicht tegen afgewezen item {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Rij # {0}: Gewenste datum mag niet vóór Transactiedatum liggen,
Row #{0}: Set Supplier for item {1},Rij # {0}: leverancier instellen voor artikel {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Rij # {0}: status moet {1} zijn voor Invoice Discounting {2},
"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches",Rij # {0}: de batch {1} heeft slechts {2} aantal. Selecteer een andere batch die {3} aantal beschikbaar heeft of deel de rij in meerdere rijen om uit meerdere batches te bezorgen / uitgeven,
Row #{0}: Timings conflicts with row {1},Rij # {0}: timing is in conflict met rij {1},
Row #{0}: {1} can not be negative for item {2},Rij # {0}: {1} kan niet negatief zijn voor artikel {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Rij Nee {0}: bedrag kan niet groter zijn dan openstaande bedragen tegen onkostendeclaratie {1}. In afwachting van bedrag is {2},
Row {0} : Operation is required against the raw material item {1},Rij {0}: bewerking vereist ten opzichte van het artikel met de grondstof {1},
Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Rij {0} # Toegewezen hoeveelheid {1} kan niet groter zijn dan het niet-opgeëiste bedrag {2},
Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Rij {0} # artikel {1} kan niet meer dan {2} worden overgedragen tegen bestelling {3},
Row {0}# Paid Amount cannot be greater than requested advance amount,Rij {0} # Het betaalde bedrag kan niet groter zijn dan het gevraagde voorschotbedrag,
Row {0}: Activity Type is mandatory.,Rij {0}: Activiteitentype is verplicht.,
Row {0}: Advance against Customer must be credit,Rij {0}: voorschot op de Klant moet een tegoed zijn,
Row {0}: Advance against Supplier must be debit,Rij {0}: een vooruitboeking op de leverancier moet een afschrijving zijn,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Rij {0}: Toegewezen hoeveelheid {1} moet kleiner zijn dan of gelijk zijn aan het bedrag van de betalinginschrijving {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Rij {0}: Toegewezen hoeveelheid {1} moet kleiner zijn dan of gelijk aan het openstaande bedrag {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Rij {0}: er bestaat al een re-orderitem voor dit magazijn {1},
Row {0}: Bill of Materials not found for the Item {1},Rij {0}: stuklijst niet gevonden voor artikel {1},
Row {0}: Conversion Factor is mandatory,Rij {0}: Conversiefactor is verplicht,
Row {0}: Cost center is required for an item {1},Rij {0}: kostenplaats is vereist voor een artikel {1},
Row {0}: Credit entry can not be linked with a {1},Rij {0}: creditering kan niet worden gekoppeld aan een {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Rij {0}: de valuta van de stuklijst # {1} moet gelijk zijn aan de geselecteerde valuta {2},
Row {0}: Debit entry can not be linked with a {1},Rij {0}: debetpost kan niet worden gekoppeld aan een {1},
Row {0}: Depreciation Start Date is required,Rij {0}: Begindatum afschrijving vereist,
Row {0}: Due Date cannot be before posting date,Rij {0}: vervaldatum kan niet vóór de boekingsdatum liggen,
Row {0}: Enter location for the asset item {1},Rij {0}: geef de locatie op voor het item item {1},
Row {0}: Exchange Rate is mandatory,Rij {0}: Wisselkoers is verplicht,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Rij {0}: verwachte waarde na bruikbare levensduur moet lager zijn dan bruto inkoopbedrag,
Row {0}: For supplier {0} Email Address is required to send email,Rij {0}: Voor leverancier {0} is een e-mailadres vereist om e-mail te verzenden,
Row {0}: From Time and To Time is mandatory.,Rij {0}: Van tijd en tijd is verplicht.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Rij {0}: Van tijd tot tijd van {1} overlapt met {2},
Row {0}: From time must be less than to time,Rij {0}: Van tijd moet minder zijn dan tot tijd,
Row {0}: Hours value must be greater than zero.,Rij {0}: Urenwaarde moet groter zijn dan nul.,
Row {0}: Invalid reference {1},Rij {0}: ongeldige referentie {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Rij {0}: partij / account komt niet overeen met {1} / {2} in {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Rij {0}: partijtype en -partij is vereist voor debiteuren / crediteurenaccount {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Rij {0}: betaling tegen verkoop / inkooporder moet altijd als vooruitbetaling worden gemarkeerd,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Rij {0}: vink &#39;Is Advance&#39; aan op account {1} als dit een vermelding vooraf is.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Rij {0}: stel bij Belastingvrijstellingsreden in Belastingen en kosten van verkoop in,
Row {0}: Please set the Mode of Payment in Payment Schedule,Rij {0}: stel de betalingswijze in het betalingsschema in,
Row {0}: Please set the correct code on Mode of Payment {1},Rij {0}: stel de juiste code in op Betalingswijze {1},
Row {0}: Qty is mandatory,Rij {0}: aantal is verplicht,
Row {0}: Quality Inspection rejected for item {1},Rij {0}: kwaliteitsinspectie afgewezen voor item {1},
Row {0}: UOM Conversion Factor is mandatory,Rij {0}: UOM-conversiefactor is verplicht,
Row {0}: select the workstation against the operation {1},Rij {0}: selecteer het werkstation tegen de bewerking {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Rij {0}: {1} Serienummers vereist voor artikel {2}. U hebt {3} opgegeven.,
Row {0}: {1} is required to create the Opening {2} Invoices,Rij {0}: {1} is vereist om de openstaande {2} facturen te maken,
Row {0}: {1} must be greater than 0,Rij {0}: {1} moet groter zijn dan 0,
Row {0}: {1} {2} does not match with {3},Rij {0}: {1} {2} komt niet overeen met {3},
Row {0}:Start Date must be before End Date,Rij {0}: startdatum moet vóór einddatum zijn,
Rows with duplicate due dates in other rows were found: {0},Rijen met dubbele vervaldatums in andere rijen zijn gevonden: {0},
Rules for adding shipping costs.,Regels voor het toevoegen van verzendkosten.,
Rules for applying pricing and discount.,Regels voor het toepassen van prijzen en kortingen.,
S.O. No.,ZO Nee.,
SGST Amount,SGST Bedrag,
SO Qty,SO Qty,
Safety Stock,Veiligheidsvoorraad,
Salary,Salaris,
Salary Slip ID,Salaris-slip-ID,
Salary Slip of employee {0} already created for this period,Loonstrook van medewerker {0} die al voor deze periode is gecreëerd,
Salary Slip of employee {0} already created for time sheet {1},Loonstrook van medewerker {0} al aangemaakt voor urenstaat {1},
Salary Slip submitted for period from {0} to {1},Salarisslip ingediend voor een periode van {0} tot {1},
Salary Structure Assignment for Employee already exists,Salarisstructuurtoewijzing voor werknemer bestaat al,
Salary Structure Missing,Salarisstructuur ontbreekt,
Salary Structure must be submitted before submission of Tax Ememption Declaration,Salarisstructuur moet worden ingediend voordat de verklaring van belastingemissie wordt ingediend,
Salary Structure not found for employee {0} and date {1},Salarisstructuur niet gevonden voor werknemer {0} en datum {1},
Salary Structure should have flexible benefit component(s) to dispense benefit amount,Salarisstructuur moet een flexibele uitkeringscomponent (en) hebben om de uitkering af te dragen,
"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.",Salaris is al verwerkt voor een periode tussen {0} en {1}. De aanvraagperiode kan niet tussen dit datumbereik liggen.,
Sales,verkoop,
Sales Account,Verkoopaccount,
Sales Expenses,Verkoopkosten,
Sales Funnel,Verkooptrechter,
Sales Invoice,Verkoopfactuur,
Sales Invoice {0} created,Verkoopfactuur {0} aangemaakt,
Sales Invoice {0} created as paid,Verkoopfactuur {0} is als betaald aangemaakt,
Sales Invoice {0} has already been submitted,Verkoopfactuur {0} is al ingediend,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Verkoopfactuur {0} moet worden geannuleerd voordat deze klantorder wordt geannuleerd,
Sales Order,Klantorder,
Sales Order Item,Klantorderartikel,
Sales Order required for Item {0},Klantorder vereist voor artikel {0},
Sales Order to Payment,Verkooporder voor betaling,
Sales Order {0} is not submitted,Klantorder {0} is niet verzonden,
Sales Order {0} is not valid,Klantorder {0} is niet geldig,
Sales Order {0} is {1},Klantorder {0} is {1},
Sales Orders,Verkooporders,
Sales Partner,Verkooppartner,
Sales Pipeline,Verkoop traject,
Sales Price List,Verkoopprijslijst,
Sales Return,Verkoopretour,
Sales Summary,Verkoopoverzicht,
Sales Tax Template,Sjabloon voor omzetbelasting,
Sales Team,Verkoop team,
Sales and Returns,Verkoop en retourneren,
Sales campaigns.,Verkoopcampagnes.,
Sales orders are not available for production,Verkooporders zijn niet beschikbaar voor productie,
Same Company is entered more than once,Hetzelfde bedrijf wordt meer dan eens ingevoerd,
Same item cannot be entered multiple times.,Hetzelfde item kan niet meerdere keren worden ingevoerd.,
Same supplier has been entered multiple times,Dezelfde leverancier is meerdere keren ingevoerd,
Sample Collection,Voorbeeldverzameling,
Sample quantity {0} cannot be more than received quantity {1},Voorbeeldhoeveelheid {0} kan niet meer dan ontvangen hoeveelheid {1} zijn,
Sanctioned,Sanctioned,
Sanctioned Amount,Sanctioned Amount,
Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Sanctioned Amount kan niet groter zijn dan Claimbedrag in Rij {0}.,
Sand,Zand,
Saturday,zaterdag,
Saved,opgeslagen,
Saving {0},{0} opslaan,
Schedule,Planning,
Schedule Admission,Plan toegang,
Schedule Course,Schema cursus,
Schedule Date,Schedule Date,
Schedule Discharge,Scheiding plannen,
Scheduled,geplande,
Scheduled Upto,Geplande Tot,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Schema&#39;s voor overlappingen van {0}, wilt u doorgaan nadat overlappende slots zijn overgeslagen?",
Score cannot be greater than Maximum Score,De score kan niet hoger zijn dan de maximale score,
Score must be less than or equal to 5,Score moet kleiner zijn dan of gelijk zijn aan 5,
Scorecards,scorecards,
Scrapped,gesloopt,
Search,Zoeken,
Search Item,Zoek item,
Search Item (Ctrl + i),Zoek item (Ctrl + i),
Search Results,Zoekresultaten,
Search Sub Assemblies,Subsamenstellingen zoeken,
"Search by item code, serial number, batch no or barcode","Zoeken op artikelcode, serienummer, batchnummer of barcode",
"Seasonality for setting budgets, targets etc.","Seizoensgebondenheid voor het instellen van budgetten, doelen etc.",
Secretary,Secretaris,
Section Code,Sectiecode,
Secured Loans,Beveiligde leningen,
Securities & Commodity Exchanges,Effecten en grondstoffenruil,
Securities and Deposits,Effecten en deposito&#39;s,
See All Articles,Zie alle artikelen,
See all open tickets,Bekijk alle openstaande tickets,
See past orders,Eerdere bestellingen bekijken,
See past quotations,Zie citaten uit het verleden,
Select,kiezen,
Select Alternate Item,Selecteer alternatief item,
Select Attribute Values,Selecteer kenmerkwaarden,
Select BOM,Selecteer stuklijst,
Select BOM and Qty for Production,Selecteer stuklijst en aantal voor productie,
"Select BOM, Qty and For Warehouse","Selecteer stuklijst, aantal en voor magazijn",
Select Batch,Selecteer Batch,
Select Batch No,Selecteer batchnr,
Select Batch Numbers,Selecteer batchnummers,
Select Brand...,Selecteer merk ...,
Select Company,Selecteer Bedrijf,
Select Company...,Selecteer bedrijf ...,
Select Customer,Selecteer klant,
Select Days,Selecteer dagen,
Select Default Supplier,Selecteer Standaardleverancier,
Select Department...,Selecteer Afdeling ...,
Select Fiscal Year...,Selecteer fiscaal jaar ...,
Select Healthcare Practitioner...,Selecteer zorgverlener ...,
Select Item (optional),Selecteer item (optioneel),
Select Items based on Delivery Date,Selecteer items op basis van leverdatum,
Select Items to Manufacture,Selecteer items om te produceren,
Select Loyalty Program,Selecteer Loyaliteitsprogramma,
Select POS Profile,Selecteer POS-profiel,
Select Patient,Selecteer Patiënt,
Select Possible Supplier,Selecteer mogelijke leverancier,
Select Property,Selecteer Eigenschap,
Select Quantity,Selecteer de gewenste hoeveelheid,
Select Serial Numbers,Selecteer serienummers,
Select Status,Selecteer Status,
Select Target Warehouse,Selecteer Target Warehouse,
Select Type...,Selecteer type...,
Select Warehouse...,Selecteer Magazijn ...,
Select an account to print in account currency,Selecteer een account om af te drukken in de valuta van uw account,
Select an employee to get the employee advance.,Selecteer een medewerker om de werknemer voor te bereiden.,
Select at least one value from each of the attributes.,Selecteer ten minste één waarde uit elk van de kenmerken.,
Select change amount account,Selecteer het rekeningschema,
Select company first,Selecteer eerst een bedrijf,
Select items to save the invoice,Selecteer items om de factuur op te slaan,
Select or add new customer,Selecteer of voeg een nieuwe klant toe,
Select students manually for the Activity based Group,Selecteer studenten handmatig voor de op activiteiten gebaseerde groep,
Select the customer or supplier.,Selecteer de klant of leverancier.,
Select the nature of your business.,Selecteer de aard van uw bedrijf.,
Select the program first,Selecteer eerst het programma,
Select to add Serial Number.,Selecteer om het serienummer toe te voegen.,
Select your Domains,Selecteer uw domeinen,
Selected Price List should have buying and selling fields checked.,In de geselecteerde prijslijst moeten de velden voor kopen en verkopen worden gecontroleerd.,
Sell,Verkopen,
Selling,selling,
Selling Amount,Hoeveelheid verkopen,
Selling Price List,Verkoopprijslijst,
Selling Rate,Verkoopcijfers,
"Selling must be checked, if Applicable For is selected as {0}","Verkopen moet worden gecontroleerd, als Toepasbaar voor is geselecteerd als {0}",
Selling rate for item {0} is lower than its {1}. Selling rate should be atleast {2},De verkoopprijs voor item {0} is lager dan zijn {1}. De verkoopprijs moet minimaal {2} zijn,
Send Grant Review Email,Verstuur Grant Review e-mail,
Send Now,Nu verzenden,
Send SMS,Verstuur sms,
Send Supplier Emails,Verzend leveranciersmails,
Send mass SMS to your contacts,Verzend massa-sms naar uw contacten,
Sensitivity,Gevoeligheid,
Serial #,Serienummer,
Serial No and Batch,Serienummer en batch,
Serial No is mandatory for Item {0},Volgnummer is verplicht voor artikel {0},
Serial No {0} does not belong to Batch {1},Serienummer {0} hoort niet bij Batch {1},
Serial No {0} does not belong to Delivery Note {1},Serienummer {0} hoort niet bij Verzendbewijs {1},
Serial No {0} does not belong to Item {1},Serienummer {0} hoort niet bij item {1},
Serial No {0} does not belong to Warehouse {1},Serienummer {0} hoort niet bij Warehouse {1},
Serial No {0} does not belong to any Warehouse,Serienummer {0} hoort niet bij een Magazijn,
Serial No {0} does not exist,Serienummer {0} bestaat niet,
Serial No {0} has already been received,Serienummer {0} is al ontvangen,
Serial No {0} is under maintenance contract upto {1},Serienummer {0} staat onder onderhoudscontract tot {1},
Serial No {0} is under warranty upto {1},Serienummer {0} valt onder de garantie t / m {1},
Serial No {0} not found,Serienummer {0} niet gevonden,
Serial No {0} not in stock,Serienummer {0} niet op voorraad,
Serial No {0} quantity {1} cannot be a fraction,Serienummer {0} aantal {1} kan geen breuk zijn,
Serial Nos Required for Serialized Item {0},Serienummers vereist voor Serialized item {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Serienummer: {0} wordt al vermeld in Verkoopfactuur: {1},
Serial Numbers,Serienummers,
Serial Numbers in row {0} does not match with Delivery Note,Serienummers in rij {0} komen niet overeen met bezorgingsnotitie,
Serial no item cannot be a fraction,Serieel geen artikel kan geen breuk zijn,
Serial no {0} has been already returned,Serienummer {0} is al geretourneerd,
Serial number {0} entered more than once,Serienummer {0} is meerdere keren ingevoerd,
Serialized Inventory,Gerondialiseerde inventaris,
Series Updated,Series bijgewerkt,
Series Updated Successfully,Serie succesvol bijgewerkt,
Series is mandatory,Serie is verplicht,
Series {0} already used in {1},Reeks {0} al gebruikt in {1},
Service,Service,
Service Expense,Servicekosten,
"Service Item,Type,frequency and expense amount are required","Serviceproduct, type, frequentie en onkostenbedrag zijn vereist",
Service Level Agreement,Service Level Agreement,
Service Level Agreement.,Service Level Agreement.,
Service Level.,Service Level.,
Service Stop Date cannot be after Service End Date,De service-einddatum kan niet na de einddatum van de service liggen,
Service Stop Date cannot be before Service Start Date,De service-einddatum mag niet vóór de startdatum van de service liggen,
Services,Diensten,
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Stel standaardwaarden in zoals Bedrijf, Valuta, Huidige fiscale jaar, enz.",
Set Details,Details instellen,
Set New Release Date,Stel nieuwe releasedatum in,
Set Open,Stel Open in,
Set Project and all Tasks to status {0}?,Stel Project en alle taken in op status {0}?,
Set Status,Status instellen,
Set Tax Rule for shopping cart,Belastingregel instellen voor winkelwagen,
Set as Closed,Instellen als gesloten,
Set as Completed,Instellen als voltooid,
Set as Default,Stel in als standaard,
Set as Lost,Instellen als verloren,
Set as Open,Instellen als Open,
Set default inventory account for perpetual inventory,Stel een standaard voorraadrekening in voor eeuwigdurende voorraad,
Set default mode of payment,Stel de standaardbetaalmodus in,
Set this if the customer is a Public Administration company.,Stel dit in als de klant een bedrijf voor openbaar beheer is.,
Set warehouse for Procedure {0} ,Magazijn instellen voor procedure {0},
Set {0} in asset category {1} or company {2},Stel {0} in in activacategorie {1} of bedrijf {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Gebeurtenissen instellen op {0}, omdat de werknemer die is gekoppeld aan de onderstaande verkopers geen gebruikers-ID {1} heeft",
Setting defaults,Standaardwaarden instellen,
Setting up Email,E-mail instellen,
Setting up Email Account,E-mailaccount instellen,
Setting up Employees,Werknemers instellen,
Setting up Taxes,Belastingen instellen,
Setting up company,Bedrijf opzetten,
Settings,instellingen,
"Settings for online shopping cart such as shipping rules, price list etc.","Instellingen voor online winkelwagentje zoals verzendregels, prijslijst etc.",
Settings for website homepage,Instellingen voor startpagina van de website,
Settings for website product listing,Instellingen voor productoverzicht van website,
Settled,verrekend,
Setup Gateway accounts.,Gateway-accounts instellen.,
Setup SMS gateway settings,SMS-gateway-instellingen instellen,
Setup cheque dimensions for printing,Stel de afmetingen van de controle in om af te drukken,
Setup default values for POS Invoices,Stel standaardwaarden in voor POS-facturen,
Setup mode of POS (Online / Offline),Setupmodus van POS (online / offline),
Setup your Institute in ERPNext,Stel uw instituut op in ERPNext,
Share Balance,Aandeel Saldo,
Share Ledger,Deel Ledger,
Share Management,Share Management,
Share Transfer,Overdracht van aandelen,
Share Type,Type delen,
Shareholder,Aandeelhouder,
Ship To State,Verzenden naar staat,
Shipments,zendingen,
Shipping,Verzenden,
Shipping Address,Verzendingsadres,
"Shipping Address does not have country, which is required for this Shipping Rule","Verzendadres heeft geen land, wat nodig is voor deze verzendregel",
Shipping rule not applicable for country {0},Verzendregel niet van toepassing voor land {0},
Shipping rule only applicable for Buying,Verzendregel alleen van toepassing voor kopen,
Shipping rule only applicable for Selling,Verzendregel alleen van toepassing op verkopen,
Shopify Supplier,Shopify-leverancier,
Shopping Cart,Winkelwagen,
Shopping Cart Settings,Winkelwagen Instellingen,
Shortage Qty,Tekort aantal,
Show Completed,Toon voltooid,
Show Cumulative Amount,Cumulatief bedrag weergeven,
Show Employee,Werknemer tonen,
Show Open,Show Open,
Show Opening Entries,Toon openingsvermeldingen,
Show Payment Details,Toon betalingsgegevens,
Show Return Entries,Toon retourneringen,
Show Salary Slip,Salaris slip tonen,
Show Variant Attributes,Show Variant Attributes,
Show Variants,Laat varianten zien,
Show closed,Show gesloten,
Show exploded view,Explosieaanzicht weergeven,
Show only POS,Toon alleen POS,
Show unclosed fiscal year's P&L balances,Laat de P &amp; L-saldi van het niet-afgesloten boekjaar zien,
Show zero values,Toon nulwaarden,
Sick Leave,Ziekteverlof,
Silt,Slib,
Single Variant,Enkele variant,
Single unit of an Item.,Eén eenheid van een artikel.,
"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Verlof verdelen voor de volgende werknemers, omdat er records tegen verlatingsallocatie bestaan. {0}",
"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Salarisstructuurstapeling overslaan voor de volgende werknemers, omdat Salary Structure Assignment-records al tegen hen bestaan. {0}",
Slots for {0} are not added to the schedule,Slots voor {0} worden niet toegevoegd aan het schema,
Small,Klein,
Soap & Detergent,Zeep en reinigingsmiddel,
Software,Software,
Software Developer,Software ontwikkelaar,
Softwares,softwares,
Soil compositions do not add up to 100,Bodemsamenstellingen tellen niet op tot 100,
Sold,uitverkocht,
Some emails are invalid,Sommige e-mails zijn ongeldig,
Some information is missing,Sommige informatie ontbreekt,
Something went wrong!,Er is iets fout gegaan!,
"Sorry, Serial Nos cannot be merged","Sorry, serienummers kunnen niet worden samengevoegd",
Source,Bron,
Source Warehouse,Source Warehouse,
Source and Target Location cannot be same,Bron en doellocatie kunnen niet hetzelfde zijn,
Source and target warehouse cannot be same for row {0},Bron en doelmagazijn kunnen niet hetzelfde zijn voor rij {0},
Source and target warehouse must be different,Het bron- en doelmagazijn moet anders zijn,
Source of Funds (Liabilities),Bron van fondsen (verplichtingen),
Source warehouse is mandatory for row {0},Bronmagazijn is verplicht voor rij {0},
Specified BOM {0} does not exist for Item {1},Opgegeven stuklijst {0} bestaat niet voor artikel {1},
Split,spleet,
Split Batch,Splitsen,
Split Issue,Gesplitste probleem,
Sports,Sport,
Staffing Plan {0} already exist for designation {1},Personeelsplan {0} bestaat al voor aanwijzing {1},
Standard Buying,Standaard kopen,
Standard Selling,Standaardverkoop,
Standard contract terms for Sales or Purchase.,Standaard contractvoorwaarden voor verkoop of aankoop.,
Start Date,Begin datum,
Start Date of Agreement can't be greater than or equal to End Date.,Startdatum van de overeenkomst mag niet groter zijn dan of gelijk aan Einddatum.,
Start Year,Start jaar,
"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Start- en einddatums niet in een geldige Payroll-periode, kunnen {0} niet berekenen",
"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Start- en einddatums niet in een geldige Payroll-periode, kunnen {0} niet berekenen.",
Start date should be less than end date for Item {0},Startdatum moet minder zijn dan de einddatum voor item {0},
Start date should be less than end date for task {0},Startdatum moet minder zijn dan de einddatum voor taak {0},
Start day is greater than end day in task '{0}',Startdag is groter dan einddag in taak &#39;{0}&#39;,
Start on,Begin maar,
State,Staat,
State/UT Tax,Staat / UT belasting,
Statement of Account,Rekeningafschrift,
Status must be one of {0},Status moet een van {0} zijn,
Stock,Voorraad,
Stock Adjustment,Voorraadaanpassing,
Stock Analytics,Voorraadanalyse,
Stock Assets,Voorraadactiva,
Stock Available,Beschikbare voorraad,
Stock Balance,Voorraadsaldo,
Stock Entries already created for Work Order ,Voorraadinvoer al gemaakt voor werkorder,
Stock Entry,Invoer van de voorraad,
Stock Entry {0} created,Voorraadvermelding {0} gemaakt,
Stock Entry {0} is not submitted,Voorraadvermelding {0} is niet verzonden,
Stock Expenses,Stock kosten,
Stock In Hand,Voorraad in de hand,
Stock Items,Voorraad artikelen,
Stock Ledger,Stock Ledger,
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Voorraad Grootboekinvoer en GL-posten worden opnieuw gepost voor de geselecteerde inkoopbewijzen,
Stock Levels,Voorraadniveaus,
Stock Liabilities,Stock Liabilities,
Stock Options,Aandelenopties,
Stock Qty,Voorraad,
Stock Received But Not Billed,Voorraad ontvangen maar niet gefactureerd,
Stock Reports,Voorraad rapporten,
Stock Summary,Voorraadoverzicht,
Stock Transactions,Voorraadtransacties,
Stock UOM,Voorraad UOM,
Stock Value,Waarde van de voorraad,
Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Het voorraadsaldo in batch {0} wordt negatief {1} voor item {2} in Warehouse {3},
Stock cannot be updated against Delivery Note {0},Voorraad kan niet worden bijgewerkt met afleveringsbewijs {0},
Stock cannot be updated against Purchase Receipt {0},Voorraad kan niet worden bijgewerkt met Purchase Receipt {0},
Stock cannot exist for Item {0} since has variants,Voorraad kan niet bestaan voor artikel {0} omdat er varianten zijn,
Stock quantity to start procedure is not available in the warehouse. Do you want to record a Stock Transfer,Voorraadhoeveelheid om procedure te starten is niet beschikbaar in het magazijn. Wilt u een magazijntransport opnemen?,
Stock transactions before {0} are frozen,Voorraadtransacties voordat {0} zijn bevroren,
Stop,Hou op,
Stopped,gestopt,
"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Stopped Work Order kan niet geannuleerd worden, laat het eerst annuleren om te annuleren",
Stores,winkel,
Structures have been assigned successfully,Structuren zijn succesvol toegewezen,
Student,Student,
Student Activity,Student activiteit,
Student Address,Studentenadres,
Student Admissions,Student Admissions,
Student Attendance,Studentenbezoek,
"Student Batches help you track attendance, assessments and fees for students","Met Student Batches kunt u de aanwezigheid, beoordelingen en kosten voor studenten bijhouden",
Student Email Address,E-mailadres van student,
Student Email ID,E-mail-ID student,
Student Group,Studentengroep,
Student Group Strength,Studentengroep Kracht,
Student Group is already updated.,Student Group is al bijgewerkt.,
Student Group or Course Schedule is mandatory,Studentengroep of cursusplanning is verplicht,
Student Group: ,Studentengroep:,
Student ID,Student-ID,
Student ID: ,Student-ID:,
Student LMS Activity,Student LMS-activiteit,
Student Mobile No.,Student mobiel nummer,
Student Name,Studenten naam,
Student Name: ,Studenten naam:,
Student Report Card,Studentenrapportkaart,
Student is already enrolled.,Student is al ingeschreven.,
Student {0} - {1} appears Multiple times in row {2} & {3},Student {0} - {1} verschijnt meerdere keren in rij {2} en {3},
Student {0} does not belong to group {1},Student {0} hoort niet bij groep {1},
Student {0} exist against student applicant {1},Student {0} bestaat tegen student-aanvrager {1},
"Students are at the heart of the system, add all your students",Studenten vormen de kern van het systeem en voegen al je studenten toe,
Sub Assemblies,Subassemblages,
Sub Type,Subtype,
Sub-contracting,Uitbesteding,
Subcontract,subcontract,
Subject,Onderwerpen,
Submit,voorleggen,
Submit Proof,Dien bewijs in,
Submit Salary Slip,Salaris slip indienen,
Submit this Work Order for further processing.,Dien deze werkbon in voor verdere verwerking.,
Submit this to create the Employee record,Dien dit in om het werknemersrecord te maken,
Submitted orders can not be deleted,Ingediende bestellingen kunnen niet worden verwijderd,
Submitting Salary Slips...,Salarisbrieven indienen ...,
Subscription,Abonnement,
Subscription Management,Abonnementbeheer,
Subscriptions,abonnementen,
Subtotal,Subtotaal,
Successfully Reconciled,Met succes verzoend,
Successfully Set Supplier,Leverancier met succes instellen,
Successfully created payment entries,Met succes betalingsgegevens aangemaakt,
Successfully deleted all transactions related to this company!,Alle transacties met betrekking tot dit bedrijf zijn verwijderd!,
Sum of Scores of Assessment Criteria needs to be {0}.,Som van scores van beoordelingscriteria moet {0} zijn.,
Sum of points for all goals should be 100. It is {0},Som van punten voor alle doelen zou 100 moeten zijn. Het is {0},
Summary for this month and pending activities,Samenvatting voor deze maand en in behandeling zijnde activiteiten,
Summary for this week and pending activities,Samenvatting voor deze week en in behandeling zijnde activiteiten,
Sunday,zondag,
Suplier,suplier,
Suplier Name,Suplier-naam,
Supplier,Leverancier,
Supplier Group,Leveranciersgroep,
Supplier Group master.,Leverancier Groepsmaster.,
Supplier Id,Leverancier ID,
Supplier Invoice Date cannot be greater than Posting Date,Leverancier Factuurdatum kan niet groter zijn dan boekingsdatum,
Supplier Invoice No,Leverancier Factuurnr,
Supplier Invoice No exists in Purchase Invoice {0},Factuur van leverancier bestaat niet in Inkoopfactuur {0},
Supplier Name,naam van leverancier,
Supplier Part No,Leveranciersdeel nr,
Supplier Quotation,Offerte van leverancier,
Supplier Quotation {0} created,Leveranciersofferte {0} is gecreëerd,
Supplier Scorecard,Leverancier Scorecard,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Leveranciersmagazijn verplicht voor in onderaanneming gesloten aankoopbewijs,
Supplier database.,Leveranciers database.,
Supplier {0} not found in {1},Leverancier {0} niet gevonden in {1},
Supplier(s),Leverancier (s),
Supplies made to UIN holders,Benodigdheden gemaakt aan UIN-houders,
Supplies made to Unregistered Persons,Leveringen aan niet-geregistreerde personen,
Suppliies made to Composition Taxable Persons,Suppliies gedaan aan belastingplichtige personen,
Supply Type,Leveringstype,
Support,Ondersteuning,
Support Analytics,Ondersteuning van Analytics,
Support Settings,Ondersteuningsinstellingen,
Support Tickets,Ondersteuning tickets,
Support queries from customers.,Ondersteuning van vragen van klanten.,
Susceptible,vatbaar,
Sync Master Data,Masterdata synchroniseren,
Sync Offline Invoices,Synchroniseer offline facturen,
Sync has been temporarily disabled because maximum retries have been exceeded,Synchronisatie is tijdelijk uitgeschakeld omdat de maximale pogingen zijn overschreden,
Syntax error in condition: {0},Syntaxisfout in voorwaarde: {0},
Syntax error in formula or condition: {0},Syntaxisfout in formule of voorwaarde: {0},
TDS Rate %,TDS-snelheid%,
Taken,ingenomen,
Tap items to add them here,Tik op items om ze hier toe te voegen,
Target ({}),Doelwit ({}),
Target On,Target op,
Target Warehouse,Target Warehouse,
Target warehouse in row {0} must be same as Work Order,Het doelmagazijn in rij {0} moet hetzelfde zijn als werkorder,
Target warehouse is mandatory for row {0},Targetmagazijn is verplicht voor rij {0},
Task,Taak,
Tasks,taken,
Tasks have been created for managing the {0} disease (on row {1}),Er zijn taken gemaakt voor het beheer van de {0} ziekte (op rij {1}),
Tax,Belasting,
Tax Assets,Belastingvoordelen,
Tax Category for overriding tax rates.,Belastingcategorie voor het overschrijven van belastingtarieven.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items",Belastingcategorie is gewijzigd in &quot;Totaal&quot; omdat alle artikelen geen voorraadartikelen zijn,
Tax ID,BTW-nummer,
Tax Id: ,BTW-nummer:,
Tax Rate,Belastingtarief,
Tax Rule Conflicts with {0},Belastingregelconflicten met {0},
Tax Rule for transactions.,Fiscale regel voor transacties.,
Tax Template is mandatory.,Belastingsjabloon is verplicht.,
Tax Withholding rates to be applied on transactions.,Belastinginhoudingstarieven die moeten worden toegepast op transacties.,
Tax template for buying transactions.,Fiscussjabloon voor het kopen van transacties.,
Tax template for item tax rates.,Belastingsjabloon voor btw-tarieven.,
Tax template for selling transactions.,Fiscussjabloon voor verkooptransacties.,
Taxable Amount,Belastbaar bedrag,
Taxes,Belastingen,
Team Updates,Team Updates,
Technology,Technologie,
Telecommunications,telecommunicatie,
Telephone Expenses,Telefoonkosten,
Television,Televisie,
Template of terms or contract.,Sjabloon van voorwaarden of contract.,
Templates of supplier scorecard criteria.,Sjablonen van scorecard-criteria voor leveranciers.,
Templates of supplier scorecard variables.,Sjablonen van variabelen voor leveranciersscorecards.,
Templates of supplier standings.,Sjablonen van leveranciersklassement.,
Temporarily on Hold,Tijdelijk in de wacht,
Temporary,tijdelijk,
Temporary Accounts,Tijdelijke accounts,
Temporary Opening,Tijdelijke opening,
Terms and Conditions,Voorwaarden,
Terms and Conditions Template,Algemene voorwaarden sjabloon,
Territory,Gebied,
Territory is Required in POS Profile,Gebied is vereist in POS-profiel,
Test,Test,
Thank you,Dank je,
Thank you for your business!,Bedankt voor uw zaken!,
The 'From Package No.' field must neither be empty nor it's value less than 1.,"Het &#39;Van pakketnummer&#39; veld mag noch leeg zijn, noch zijn waarde kleiner dan 1.",
The Brand,Het merk,
The Item {0} cannot have Batch,Het item {0} kan geen Batch hebben,
The Loyalty Program isn't valid for the selected company,Het loyaliteitsprogramma is niet geldig voor het geselecteerde bedrijf,
The Patient {0} do not have customer refrence to invoice,De patiënt {0} heeft geen klantrefref om te factureren,
The Payment Term at row {0} is possibly a duplicate.,De betalingstermijn op rij {0} is mogelijk een duplicaat.,
The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,De einddatum van de termijn mag niet vroeger zijn dan de startdatum van de termijn. Corrigeer de datums en probeer het opnieuw.,
The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,De Einddatum van de Termijn kan niet later zijn dan de Eindejaarsdatum van het Academiejaar waaraan de termijn is gekoppeld (Academisch Jaar {}). Corrigeer de datums en probeer het opnieuw.,
The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,De Begindatum van de Begroeting kan niet eerder zijn dan de Begindatum van het Jaar van het Academiejaar waaraan de termijn is gekoppeld (Academisch Jaar {}). Corrigeer de datums en probeer het opnieuw.,
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,De einddatum van het jaar kan niet eerder zijn dan de startdatum van het jaar. Corrigeer de datums en probeer het opnieuw.,
The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,"Het bedrag van {0} dat in dit betalingsverzoek is ingesteld, wijkt af van het berekende bedrag van alle betalingsplannen: {1}. Controleer of dit klopt voordat u het document verzendt.",
The day(s) on which you are applying for leave are holidays. You need not apply for leave.,"De dag (en) waarop u verlof aanvraagt, zijn vakanties. U hoeft geen verlof aan te vragen.",
The field From Shareholder cannot be blank,Het veld Van Aandeelhouder mag niet leeg zijn,
The field To Shareholder cannot be blank,Het veld Aan aandeelhouder mag niet leeg zijn,
The fields From Shareholder and To Shareholder cannot be blank,De velden Van Aandeelhouder en Aandeelhouder mogen niet leeg zijn,
The folio numbers are not matching,De folionummers komen niet overeen,
The following Work Orders were created:,De volgende werkorders zijn gemaakt:,
The holiday on {0} is not between From Date and To Date,De vakantie op {0} ligt niet tussen Van datum tot datum,
The name of the institute for which you are setting up this system.,De naam van het instituut waarvoor u dit systeem instelt.,
The name of your company for which you are setting up this system.,De naam van uw bedrijf waarvoor u dit systeem instelt.,
The number of shares and the share numbers are inconsistent,Het aantal aandelen en de aantallen zijn inconsistent,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Het betalingsgateway-account in plan {0} verschilt van het betalingsgateway-account in dit betalingsverzoek,
The request for quotation can be accessed by clicking on the following link,De offerteaanvraag is toegankelijk door op de volgende link te klikken,
The selected BOMs are not for the same item,De geselecteerde stuklijsten zijn niet voor hetzelfde item,
The selected item cannot have Batch,Het geselecteerde item kan geen Batch hebben,
The seller and the buyer cannot be the same,De verkoper en de koper kunnen niet hetzelfde zijn,
The shareholder does not belong to this company,De aandeelhouder behoort niet tot dit bedrijf,
The shares already exist,De aandelen bestaan al,
The shares don't exist with the {0},De shares bestaan niet met de {0},
"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","De taak is in een wachtrij geplaatst als achtergrondtaak. In het geval er een probleem is met de verwerking op de achtergrond, zal het systeem een opmerking toevoegen over de fout in deze Stock Reconciliation en terugkeren naar de Concept-fase",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Vervolgens worden prijsregels uitgefilterd op basis van klant, klantgroep, grondgebied, leverancier, leverancierstype, campagne, verkooppartner enz.",
"There are inconsistencies between the rate, no of shares and the amount calculated","Er zijn inconsistenties tussen de koers, het aantal aandelen en het berekende bedrag",
There are more holidays than working days this month.,Deze maand zijn er meer vakantiedagen dan werkdagen.,
There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,Er kan een meerlaagse verzamelfactor zijn op basis van het totaal uitgegeven. Maar de conversiefactor voor inlossing zal altijd hetzelfde zijn voor alle niveaus.,
There can only be 1 Account per Company in {0} {1},Er kan slechts 1 account per bedrijf zijn in {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""",Er kan slechts één voorwaarde voor de verzendregel zijn met 0 of een lege waarde voor &quot;Aan waarde&quot;.,
There is no leave period in between {0} and {1},Er is geen verlofperiode tussen {0} en {1},
There is not enough leave balance for Leave Type {0},Er is niet voldoende verloftegoed voor Verloftype {0},
There is nothing to edit.,Er is niets om te bewerken.,
There isn't any item variant for the selected item,Er is geen artikelvariant voor het geselecteerde artikel,
"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Er lijkt een probleem te zijn met de GoCardless-configuratie van de server. Maakt u zich geen zorgen, bij een storing wordt het bedrag teruggestort op uw account.",
There were errors creating Course Schedule,Er zijn fouten opgetreden bij het maken van cursusplanning,
There were errors.,Er waren fouten.,
This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,"Dit item is een sjabloon en kan niet worden gebruikt in transacties. Itemkenmerken worden naar de varianten gekopieerd, tenzij &#39;Geen kopie&#39; is ingesteld",
This Item is a Variant of {0} (Template).,Dit item is een variant van {0} (sjabloon).,
This Month's Summary,Samenvatting van deze maand,
This Week's Summary,Samenvatting van deze week,
This action will stop future billing. Are you sure you want to cancel this subscription?,Deze actie stopt toekomstige facturering. Weet je zeker dat je dit abonnement wilt annuleren?,
This covers all scorecards tied to this Setup,Dit omvat alle scorecards die aan deze Setup zijn gekoppeld,
This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Dit document is overschreden door {0} {1} voor item {4}. Maak je nog een {3} tegen dezelfde {2}?,
This is a root account and cannot be edited.,Dit is een root-account en kan niet worden bewerkt.,
This is a root customer group and cannot be edited.,Dit is een rootklantengroep en kan niet worden bewerkt.,
This is a root department and cannot be edited.,Dit is een rootafdeling en kan niet worden bewerkt.,
This is a root healthcare service unit and cannot be edited.,Dit is een service-eenheid voor basisgezondheidszorg en kan niet worden bewerkt.,
This is a root item group and cannot be edited.,Dit is een rootartikelgroep en kan niet worden bewerkt.,
This is a root sales person and cannot be edited.,Dit is een root-verkoper en kan niet worden bewerkt.,
This is a root supplier group and cannot be edited.,Dit is een root-leveranciersgroep en kan niet worden bewerkt.,
This is a root territory and cannot be edited.,Dit is een rootgebied en kan niet worden bewerkt.,
This is an example website auto-generated from ERPNext,Dit is een voorbeeldwebsite die automatisch wordt gegenereerd vanuit ERPNext,
This is based on logs against this Vehicle. See timeline below for details,Dit is gebaseerd op logboeken tegen dit voertuig. Zie de tijdlijn hieronder voor meer informatie,
This is based on stock movement. See {0} for details,Dit is gebaseerd op voorraadbewegingen. Zie {0} voor meer informatie,
This is based on the Time Sheets created against this project,Dit is gebaseerd op de tijdbladen die voor dit project zijn gemaakt,
This is based on the attendance of this Employee,Dit is gebaseerd op de aanwezigheid van deze werknemer,
This is based on the attendance of this Student,Dit is gebaseerd op de aanwezigheid van deze student,
This is based on transactions against this Customer. See timeline below for details,Dit is gebaseerd op transacties met deze klant. Zie de tijdlijn hieronder voor meer informatie,
This is based on transactions against this Healthcare Practitioner.,Dit is gebaseerd op transacties met deze zorgverlener.,
This is based on transactions against this Patient. See timeline below for details,Dit is gebaseerd op transacties met deze patiënt. Zie de tijdlijn hieronder voor meer informatie,
This is based on transactions against this Sales Person. See timeline below for details,Dit is gebaseerd op transacties met deze verkoopmedewerker. Zie de tijdlijn hieronder voor meer informatie,
This is based on transactions against this Supplier. See timeline below for details,Dit is gebaseerd op transacties met deze leverancier. Zie de tijdlijn hieronder voor meer informatie,
This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Hiermee verzendt u salarisstroken en maakt u een dagboekboeking. Wil je doorgaan?,
This {0} conflicts with {1} for {2} {3},Deze {0} conflicteert met {1} voor {2} {3},
Time Sheet for manufacturing.,Time Sheet voor productie.,
Time Tracking,Tijd volgen,
Time logs are required for job card {0},Tijdlogboeken zijn vereist voor opdrachtkaart {0},
"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Tijdvak overgeslagen, het slot {0} t / m {1} overlapt het bestaande slot {2} met {3}",
Time slots added,Tijdvakken toegevoegd,
Time(in mins),Tijd (in minuten),
Timer,timer,
Timer exceeded the given hours.,Timer heeft de gegeven uren overschreden.,
Timesheet,Rooster,
Timesheet for tasks.,Timesheet voor taken.,
Timesheet {0} is already completed or cancelled,Timesheet {0} is al voltooid of geannuleerd,
Timesheets,timesheets,
"Timesheets help keep track of time, cost and billing for activites done by your team","Urenregistratie helpt bij het bijhouden van tijd, kosten en facturering voor activiteiten die door uw team worden uitgevoerd",
Titles for print templates e.g. Proforma Invoice.,"Titels voor afdruksjablonen, bijvoorbeeld proforma factuur.",
To,Naar,
To Address 1,To Address 1,
To Address 2,To Address 2,
To Bill,Aanrekenen,
To Date,Daten,
To Date cannot be before From Date,Tot op heden kan niet vóór Van datum zijn,
To Date cannot be less than From Date,Tot op heden kan niet minder zijn dan Van datum,
To Date must be greater than From Date,To Date moet groter zijn dan From Date,
To Date should be within the Fiscal Year. Assuming To Date = {0},Tot op heden moet binnen het fiscale jaar vallen. Aangenomen van datum = {0},
To Datetime,Naar Datetime,
To Deliver,Afleveren,
To Deliver and Bill,Deliver en Bill,
To Fiscal Year,Naar fiscaal jaar,
To GSTIN,Voor GSTIN,
To Party Name,Naar partijnaam,
To Pin Code,Naar pincode,
To Place,Plaatsen,
To Receive,Ontvangen,
To Receive and Bill,Te ontvangen en te factureren,
To State,Te vermelden,
To Warehouse,Naar Warehouse,
To create a Payment Request reference document is required,U hebt een referentiedocument voor een betalingsverzoek nodig,
To date can not be equal or less than from date,Tot op heden kan niet gelijk of minder dan van datum zijn,
To date can not be less than from date,Tot op heden kan niet minder dan van datum zijn,
To date can not greater than employee's relieving date,Tot op heden kan niet groter zijn dan de releasedatum van de werknemer,
"To filter based on Party, select Party Type first","Als u wilt filteren op basis van Party, selecteert u eerst Partytype",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Om het beste uit de ERPNext te halen, raden we aan dat u enige tijd neemt en deze Help-video&#39;s bekijkt.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Als u de belasting in rij {0} wilt opnemen in artikelprijs, moeten belastingen in rijen {1} ook worden opgenomen",
To make Customer based incentive schemes.,Beloningsregelingen op basis van klanten maken.,
"To merge, following properties must be same for both items","Als u wilt samenvoegen, moeten de volgende eigenschappen voor beide items hetzelfde zijn",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Om de prijsbepalingsregel niet toe te passen in een bepaalde transactie, moeten alle van toepassing zijnde prijsbepalingsregels worden uitgeschakeld.",
"To set this Fiscal Year as Default, click on 'Set as Default'","Om dit fiscale jaar als standaard in te stellen, klikt u op &#39;Instellen als standaard&#39;",
To view logs of Loyalty Points assigned to a Customer.,Logboeken bekijken van Loyalty Points die aan een klant zijn toegewezen.,
To {0},Naar {0},
To {0} | {1} {2},Naar {0} | {1} {2},
Toggle Filters,Filters wisselen,
Too many columns. Export the report and print it using a spreadsheet application.,Te veel kolommen. Exporteer het rapport en druk het af met behulp van een spreadsheetapplicatie.,
Tools,Hulpmiddelen,
Total (Credit),Totaal (tegoed),
Total (Without Tax),Totaal (zonder btw),
Total Absent,Totaal afwezig,
Total Achieved,Totaal behaald,
Total Actual,Totaal werkelijk,
Total Allocated Leaves,Totaal toegewezen bladeren,
Total Amount,Totale hoeveelheid,
Total Amount Credited,Totaal gecrediteerd bedrag,
Total Amount {0},Totaalbedrag {0},
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Totaal toepasselijke kosten in de tabel met inkoopontvangsten De artikelen moeten hetzelfde zijn als de totale belastingen en kosten,
Total Budget,Totale budget,
Total Collected: {0},Totaal verzameld: {0},
Total Commission,Totaal Commissie,
Total Contribution Amount: {0},Totale bijdragebedrag: {0},
Total Credit/ Debit Amount should be same as linked Journal Entry,Het totale krediet / debetbedrag moet hetzelfde zijn als de gekoppelde journaalboeking,
Total Debit must be equal to Total Credit. The difference is {0},Het totale debet moet gelijk zijn aan het totale krediet. Het verschil is {0},
Total Deduction,Totale aftrek,
Total Invoiced Amount,Totaal gefactureerd bedrag,
Total Leaves,Totaal aantal bladeren,
Total Order Considered,Totaal bestelde bestelling,
Total Order Value,Totale bestelwaarde,
Total Outgoing,Totaal uitgaand,
Total Outstanding,Totaal uitstekend,
Total Outstanding Amount,Totaal uitstaand bedrag,
Total Outstanding: {0},Totaal uitstaand: {0},
Total Paid Amount,Totaal betaald bedrag,
Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Het totale betalingsbedrag in het betalingsschema moet gelijk zijn aan het groot / afgerond totaal,
Total Payments,Totaal betalingen,
Total Present,Totaal aanwezig,
Total Qty,totale hoeveelheid,
Total Quantity,Totale kwantiteit,
Total Revenue,De totale omzet,
Total Student,Totaal student,
Total Target,Totaal doel,
Total Tax,Totale belasting,
Total Taxable Amount,Totaal belastbaar bedrag,
Total Taxable Value,Totale belastbare waarde,
Total Unpaid: {0},Totaal niet-betaald: {0},
Total Variance,Totale afwijking,
Total Weightage of all Assessment Criteria must be 100%,Totale gewicht van alle beoordelingscriteria moet 100% zijn,
Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Het totale voorschot ({0}) tegen Bestelling {1} kan niet groter zijn dan het Totaal van het Totaal ({2}),
Total advance amount cannot be greater than total claimed amount,Het totale voorschotbedrag kan niet groter zijn dan het totale geclaimde bedrag,
Total advance amount cannot be greater than total sanctioned amount,Het totale voorschotbedrag kan niet hoger zijn dan het totale gesanctioneerde bedrag,
Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Totaal toegewezen bladeren zijn meer dagen dan de maximale toewijzing van {0} verloftype voor werknemer {1} in de periode,
Total allocated leaves are more than days in the period,Totaal toegewezen bladeren zijn meer dan dagen in de periode,
Total allocated percentage for sales team should be 100,Het totale toegewezen percentage voor het verkoopteam moet 100 zijn,
Total cannot be zero,Totaal kan niet nul zijn,
Total completed qty must be greater than zero,Totaal ingevuld aantal moet groter zijn dan nul,
Total contribution percentage should be equal to 100,Het totale bijdragepercentage moet gelijk zijn aan 100,
Total flexible benefit component amount {0} should not be less than max benefits {1},Het totale bedrag van de flexibele uitkeringscomponent {0} mag niet minder zijn dan de maximale voordelen {1},
Total hours: {0},Totaal aantal uren: {0},
Total leaves allocated is mandatory for Leave Type {0},Totaal toegewezen bladeren is verplicht voor verloftype {0},
Total weightage assigned should be 100%. It is {0},De totale gewichtsverdeling moet 100% zijn. Het is {0},
Total working hours should not be greater than max working hours {0},Totale werkuren mogen niet groter zijn dan de maximale werkuren {0},
Total {0} ({1}),Totaal {0} ({1}),
"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Totaal {0} voor alle items is nul, mogelijk moet u &#39;Distribute Charges Based On&#39; wijzigen",
Total(Amt),Totaal (Amt),
Total(Qty),Totale hoeveelheid),
Traceability,traceerbaarheid,
Track Leads by Lead Source.,Leads volgen op leadbron.,
Training,Opleiding,
Training Event,Trainingsevenement,
Training Events,Trainingsevenementen,
Training Feedback,Feedback op training,
Training Result,Trainingsresultaat,
Transaction,Transactie,
Transaction Date,transactie datum,
Transaction Type,Transactie Type,
Transaction currency must be same as Payment Gateway currency,De transactievaluta moet hetzelfde zijn als de valuta van de Payment Gateway,
Transaction not allowed against stopped Work Order {0},Transactie niet toegestaan tegen gestopte werkorder {0},
Transaction reference no {0} dated {1},Transactie referentie nr {0} gedateerd {1},
Transactions,transacties,
Transactions can only be deleted by the creator of the Company,Transacties kunnen alleen worden verwijderd door de maker van het bedrijf,
Transfer,Overdracht,
Transfer Material,Materiaal overbrengen,
Transfer Type,Overdrachtstype,
Transfer an asset from one warehouse to another,Breng een activum over van het ene magazijn naar het andere,
Transfered,Overgedragen,
Transferred Quantity,Overgebrachte hoeveelheid,
Transport Receipt Date,Datum transportontvangst,
Transport Receipt No,Transportbewijs nr,
Transportation,vervoer,
Transporter ID,Transporter ID,
Transporter Name,Vervoerdernaam,
Travel,Reizen,
Travel Expenses,Reiskosten,
Tree Type,Boomtype,
Tree of Bill of Materials,Tree of Bill of Materials,
Tree of Item Groups.,Tree of Item Groups.,
Tree of Procedures,Boom van procedures,
Tree of Quality Procedures.,Tree of Quality-procedures.,
Tree of financial Cost Centers.,Boom van financiële kostenplaatsen.,
Tree of financial accounts.,Structuur van financiële rekeningen.,
Treshold {0}% appears more than once,Treshold {0}% wordt meerdere keren weergegeven,
Trial Period End Date Cannot be before Trial Period Start Date,Einddatum van de proefperiode Mag niet vóór de startdatum van de proefperiode zijn,
Trialling,proefprogramma,
Type of Business,Type bedrijf,
Types of activities for Time Logs,Typen activiteiten voor tijdlogboeken,
UOM,UOM,
UOM Conversion factor is required in row {0},UOM-conversiefactor is vereist in rij {0},
UOM coversion factor required for UOM: {0} in Item: {1},UOM-dekkingsfactor vereist voor UOM: {0} in artikel: {1},
Unable to find DocType {0},Kon DocType {0} niet vinden,
Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Kon wisselkoers niet vinden voor {0} tot {1} voor peildatum {2}. Maak alstublieft handmatig een Valutaruil-record aan,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Kan score niet vinden die begint bij {0}. U moet staande scores hebben van 0 tot 100,
Unable to find variable: ,Kan variabele niet vinden:,
Unblock Invoice,Deblokkering factuur,
Uncheck all,Deselecteer alles,
Unclosed Fiscal Years Profit / Loss (Credit),Niet-afgesloten fiscale jaren Winst / verlies (krediet),
Unit,Eenheid,
Unit of Measure,Maateenheid,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Maateenheid {0} is meer dan eens ingevoerd in de Conversion Factor Table,
Unknown,Onbekend,
Unpaid,onbetaald,
Unsecured Loans,Ongedekte leningen,
Unsubscribe from this Email Digest,Afmelden voor deze Email Digest,
Until,Tot,
Unverified Webhook Data,Niet-geverifieerde Webhook-gegevens,
Update Account Name / Number,Accountnaam / nummer bijwerken,
Update Account Number / Name,Accountnummer / naam bijwerken,
Update Bank Transaction Dates,Update bank transactie data,
Update Cost,Kosten bijwerken,
Update Cost Center Number,Update kostenplaatsnummer,
Update Email Group,Update e-mailgroep,
Update Items,Update items,
Update Print Format,Update afdrukformaat,
Update Response,Reactie bijwerken,
Update bank payment dates with journals.,Bankbetalingsdatums bijwerken met journalen.,
Update in progress. It might take a while.,Update wordt uitgevoerd. Het kan een tijdje duren.,
Update rate as per last purchase,Update rate vanaf de laatste aankoop,
Update stock must be enable for the purchase invoice {0},Voorraad bijwerken moet zijn ingeschakeld voor de inkoopfactuur {0},
Updating Variants...,Varianten bijwerken ...,
Upload your letter head and logo. (you can edit them later).,Upload je brief en logo. (je kunt ze later bewerken).,
Upper Income,Hoger inkomen,
Used Leaves,Gebruikte bladeren,
User,Gebruiker,
User Forum,Gebruikersforum,
User ID not set for Employee {0},Gebruikers-ID niet ingesteld voor werknemer {0},
User Remark,Gebruiker Opmerking,
User has not applied rule on the invoice {0},Gebruiker heeft regel niet toegepast op de factuur {0},
User {0} already exists,Gebruiker {0} bestaat al,
User {0} created,Gebruiker {0} gemaakt,
User {0} does not exist,Gebruiker {0} bestaat niet,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Gebruiker {0} heeft geen standaard POS-profiel. Schakel Standaard in rij {1} voor deze gebruiker in.,
User {0} is already assigned to Employee {1},Gebruiker {0} is al toegewezen aan werknemer {1},
User {0} is already assigned to Healthcare Practitioner {1},Gebruiker {0} is al toegewezen aan Healthcare Practitioner {1},
Users,gebruikers,
Utility Expenses,Nutsuitgaven,
Valid From Date must be lesser than Valid Upto Date.,Geldig vanaf datum moet lager zijn dan geldig tot datum.,
Valid Till,Geldig tot,
Valid from and valid upto fields are mandatory for the cumulative,Geldig van en geldig tot velden zijn verplicht voor de cumulatieve velden,
Valid from date must be less than valid upto date,Geldig vanaf datum moet minder dan geldig tot nu toe zijn,
Valid till date cannot be before transaction date,Geldig tot datum kan niet vóór transactiedatum liggen,
Validity period of this quotation has ended.,Geldigheidsperiode van deze offerte is geëindigd.,
Valuation Rate,Waardering,
Valuation Rate is mandatory if Opening Stock entered,Waarderingspercentage is verplicht als Openingsvoorraad is ingevoerd,
Valuation type charges can not marked as Inclusive,De kosten van het taxatietype kunnen niet als Inclusive worden gemarkeerd,
Value Or Qty,Waarde of aantal,
Value Proposition,Waarde voorstel,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},De waarde voor kenmerk {0} moet binnen het bereik van {1} tot {2} liggen in de toenamen van {3} voor item {4},
Value missing,Waarde ontbreekt,
Value must be between {0} and {1},De waarde moet tussen {0} en {1} liggen,
"Values of exempt, nil rated and non-GST inward supplies","Waarden van vrijgestelde, nultarief en niet-GST-toevoerstromen",
Variable,veranderlijk,
Variance,variance,
Variance ({}),Variantie ({}),
Variant,Variant,
Variant Attributes,Variant Attributen,
Variant Based On cannot be changed,Variant op basis van kan niet worden gewijzigd,
Variant Details Report,Variant Details Rapport,
Variant creation has been queued.,Het maken van varianten is in de wachtrij geplaatst.,
Vehicle Expenses,Voertuiguitgaven,
Vehicle No,Voertuig nummer,
Vehicle Type,Voertuig type,
Vehicle/Bus Number,Voertuig / bus nummer,
Venture Capital,Risicokapitaal,
View Chart of Accounts,Bekijk rekeningschema,
View Fees Records,Bekijk tarieven Records,
View Form,Formulier bekijken,
View Lab Tests,Labeltests bekijken,
View Leads,Leads bekijken,
View Ledger,Bekijk Ledger,
View Now,Kijk nu,
View Orders,Bekijk bestellingen,
View a list of all the help videos,Bekijk een lijst met alle help-video&#39;s,
View in Cart,Bekijken in winkelwagen,
Visit report for maintenance call.,Bezoek rapport voor onderhoudsgesprek.,
Visit the forums,Bezoek de forums,
Vital Signs,Vital Signs,
Volunteer,Vrijwilliger,
Volunteer Type information.,Type vrijwilliger informatie.,
Volunteer information.,Vrijwilliger informatie.,
Voucher #,Voucher #,
Voucher No,Coupon nr,
Voucher Type,Voucher Type,
WIP Warehouse,WIP Warehouse,
Walk In,Inloop,
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Magazijn kan niet worden verwijderd omdat er voor dit magazijn een grootboekingang bestaat.,
Warehouse cannot be changed for Serial No.,Magazijn kan niet worden gewijzigd voor serienummer,
Warehouse is mandatory,Magazijn is verplicht,
Warehouse is mandatory for stock Item {0} in row {1},Magazijn is verplicht voor voorraaditem {0} in rij {1},
Warehouse not found in the system,Magazijn niet gevonden in het systeem,
"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Magazijn vereist bij rij Nee {0}, stel het standaardmagazijn in voor het artikel {1} voor het bedrijf {2}",
Warehouse required for stock Item {0},Magazijn vereist voor voorraad Artikel {0},
Warehouse {0} can not be deleted as quantity exists for Item {1},Magazijn {0} kan niet worden verwijderd omdat er hoeveelheid bestaat voor artikel {1},
Warehouse {0} does not belong to company {1},Magazijn {0} hoort niet bij bedrijf {1},
Warehouse {0} does not exist,Magazijn {0} bestaat niet,
"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.",Magazijn {0} is aan geen enkel account gekoppeld. Vermeld het account in het magazijnrecord of stel het standaard voorraadaccount in bedrijf {1} in.,
Warehouses with child nodes cannot be converted to ledger,Magazijnen met onderliggende knooppunten kunnen niet worden geconverteerd naar grootboek,
Warehouses with existing transaction can not be converted to group.,Magazijnen met bestaande transactie kunnen niet worden geconverteerd naar een groep.,
Warehouses with existing transaction can not be converted to ledger.,Magazijnen met bestaande transactie kunnen niet worden geconverteerd naar grootboek.,
Warning,Waarschuwing,
Warning: Another {0} # {1} exists against stock entry {2},Waarschuwing: er is nog een {0} # {1} tegen voorraadinvoer {2},
Warning: Invalid SSL certificate on attachment {0},Waarschuwing: ongeldig SSL-certificaat op bijlage {0},
Warning: Invalid attachment {0},Waarschuwing: ongeldige bijlage {0},
Warning: Leave application contains following block dates,Waarschuwing: de toepassing Verlof bevat volgende blokdatums,
Warning: Material Requested Qty is less than Minimum Order Qty,Waarschuwing: gevraagde materiaal is minder dan de minimale bestelhoeveelheid,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Waarschuwing: verkooporder {0} bestaat al tegen de inkooporder van de klant {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,"Waarschuwing: het systeem controleert overbilling niet, omdat het bedrag voor item {0} in {1} nul is",
Warranty,Garantie,
Warranty Claim,Garantieclaim,
Warranty Claim against Serial No.,Garantieclaim tegen serienummer,
Website,Website,
Website Image should be a public file or website URL,Website-afbeelding moet een openbaar bestand of een website-URL zijn,
Website Image {0} attached to Item {1} cannot be found,Website-afbeelding {0} gekoppeld aan item {1} kan niet worden gevonden,
Website Listing,Website Listing,
Wednesday,woensdag,
Weekly,Wekelijks,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Gewicht wordt vermeld, \ nGeef ook &quot;Weight UOM&quot;",
Welcome to ERPNext,Welkom bij ERPNext,
What do you need help with?,Waarmee heb je hulp nodig?,
What does it do?,Wat doet het?,
Where manufacturing operations are carried.,Waar productiehandelingen worden uitgevoerd.,
"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Bij het maken van account voor kindbedrijf {0}, is bovenliggend account {1} niet gevonden. Maak het bovenliggende account aan in het corresponderende COA",
White,Wit,
Wire Transfer,Overschrijving,
WooCommerce Products,WooCommerce-producten,
Work In Progress,Lopende werkzaamheden,
Work Order,Werkorder,
Work Order already created for all items with BOM,Werkorder al gemaakt voor alle artikelen met stuklijst,
Work Order cannot be raised against a Item Template,Werkopdracht kan niet worden verhoogd met een artikeldiagram,
Work Order has been {0},Werkorder is {0},
Work Order not created,Werkopdracht niet aangemaakt,
Work Order {0} must be cancelled before cancelling this Sales Order,Werkorder {0} moet worden geannuleerd voordat deze klantorder wordt geannuleerd,
Work Order {0} must be submitted,Werkorder {0} moet worden ingediend,
Work Orders Created: {0},Werkorders aangemaakt: {0},
Work Summary for {0},Werkoverzicht voor {0},
Work-in-Progress Warehouse is required before Submit,Work-in-Progress Warehouse is vereist voor Submit,
Workflow,workflow,
Working,Werken,
Working Hours,Werkuren,
Workstation,Workstation,
Workstation is closed on the following dates as per Holiday List: {0},Werkstation is gesloten op de volgende datums volgens de lijst met feestdagen: {0},
Wrapping up,Afsluiten,
Wrong Password,Verkeerd wachtwoord,
Year start date or end date is overlapping with {0}. To avoid please set company,Begindatum of einddatum van jaar overlapt met {0}. Stel om te voorkomen een bedrijf in,
You are in offline mode. You will not be able to reload until you have network.,U bevindt zich in de offlinemodus. Je kunt pas opnieuw laden als je een netwerk hebt.,
You are not authorized to add or update entries before {0},U bent niet gemachtigd om items toe te voegen of bij te werken vóór {0},
You are not authorized to approve leaves on Block Dates,U bent niet gemachtigd om bladeren op Block Dates goed te keuren,
You are not authorized to set Frozen value,U bent niet gemachtigd om de waarde Bevroren in te stellen,
You are not present all day(s) between compensatory leave request days,U bent niet de hele dag (en) aanwezig tussen compenserende verlofdagen,
You can not change rate if BOM mentioned agianst any item,U kunt de koers niet wijzigen als de stuklijst bij een item wordt vermeld,
You can not enter current voucher in 'Against Journal Entry' column,U kunt de huidige tegoedbon niet invoeren in de kolom &#39;Tegen de journaalboeking&#39;,
You can only have Plans with the same billing cycle in a Subscription,U kunt alleen abonnementen met dezelfde betalingscyclus in een abonnement hebben,
You can only redeem max {0} points in this order.,U kunt in deze bestelling maximaal {0} punten inwisselen.,
You can only renew if your membership expires within 30 days,U kunt alleen verlengen als uw lidmaatschap binnen 30 dagen verloopt,
You can only select a maximum of one option from the list of check boxes.,U kunt maximaal één optie selecteren in de lijst met selectievakjes.,
You can only submit Leave Encashment for a valid encashment amount,U kunt Verlofaanpakken alleen indienen voor een geldig incassotaalbedrag,
You can't redeem Loyalty Points having more value than the Grand Total.,Je kunt geen Loyalty Points verzilveren die meer waarde hebben dan het Eindtotaal.,
You cannot credit and debit same account at the same time,U kunt niet tegelijkertijd hetzelfde account crediteren en debiteren,
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,U kunt Fiscaal jaar {0} niet verwijderen. Fiscaal jaar {0} is standaard ingesteld in Algemene instellingen,
You cannot delete Project Type 'External',U kunt het projecttype &#39;External&#39; niet verwijderen,
You cannot edit root node.,U kunt het basisknooppunt niet bewerken.,
You cannot restart a Subscription that is not cancelled.,U kunt een Abonnement dat niet is geannuleerd niet opnieuw opstarten.,
You don't have enought Loyalty Points to redeem,U hebt geen genoeg loyaliteitspunten om in te wisselen,
You have already assessed for the assessment criteria {}.,U hebt al beoordeeld op de beoordelingscriteria {}.,
You have already selected items from {0} {1},U hebt al items geselecteerd uit {0} {1},
You have been invited to collaborate on the project: {0},U bent uitgenodigd om aan het project samen te werken: {0},
You have entered duplicate items. Please rectify and try again.,U hebt dubbele items ingevoerd. Corrigeer en probeer het opnieuw.,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,U moet een andere gebruiker dan Administrator met System Manager en Item Manager-rollen zijn om zich te registreren op Marketplace.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,U moet een gebruiker zijn met de functies System Manager en Item Manager om gebruikers toe te voegen aan Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,U moet een gebruiker zijn met de functies System Manager en Item Manager om zich te registreren op Marketplace.,
You need to be logged in to access this page,U moet ingelogd zijn om deze pagina te openen,
You need to enable Shopping Cart,U moet winkelwagen inschakelen,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,U verliest records van eerder gegenereerde facturen. Weet je zeker dat je dit abonnement opnieuw wilt opstarten?,
Your Organization,Uw organisatie,
Your cart is Empty,Je winkelwagen is leeg,
Your email address...,Jouw e-mailadres...,
Your order is out for delivery!,Je bestelling is uit voor levering!,
Your tickets,Je tickets,
ZIP Code,Postcode,
[Error],[Fout],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Form / Item / {0}) is niet op voorraad,
`Freeze Stocks Older Than` should be smaller than %d days.,`Bevries aandelen ouder dan &#39;moet kleiner zijn dan% d dagen.,
based_on,gebaseerd op,
cannot be greater than 100,mag niet groter zijn dan 100,
disabled user,gehandicapte gebruiker,
"e.g. ""Build tools for builders""",bijv. &quot;Bouw hulpmiddelen voor bouwers&quot;,
"e.g. ""Primary School"" or ""University""",bijv. &quot;Primary School&quot; of &quot;University&quot;,
"e.g. Bank, Cash, Credit Card","bijv. Bank, Contant, Creditcard",
hidden,verborgen,
modified,gemodificeerde,
on,op,
{0} '{1}' is disabled,{0} &#39;{1}&#39; is uitgeschakeld,
{0} '{1}' not in Fiscal Year {2},{0} &#39;{1}&#39; niet in fiscaal jaar {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) kan niet groter zijn dan de geplande hoeveelheid ({2}) in werkorder {3},
{0} - {1} is inactive student,{0} - {1} is een inactieve student,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} is niet ingeschreven in de batch {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} is niet ingeschreven voor de cursus {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Budget voor account {1} tegen {2} {3} is {4}. Het wordt met {5} overschreden,
{0} Digest,{0} Samenvatting,
{0} Number {1} already used in account {2},{0} Nummer {1} al gebruikt in account {2},
{0} Request for {1},{0} Verzoek om {1},
{0} Result submittted,{0} Resultaat ingediend,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} Serienummers vereist voor item {1}. U hebt {2} opgegeven.,
{0} Student Groups created.,{0} Studentengroepen gemaakt.,
{0} Students have been enrolled,{0} Studenten zijn ingeschreven,
{0} against Bill {1} dated {2},{0} tegen Bill {1} met datum {2},
{0} against Purchase Order {1},{0} tegen inkooporder {1},
{0} against Sales Invoice {1},{0} tegen verkoopfactuur {1},
{0} against Sales Order {1},{0} tegen klantorder {1},
{0} already allocated for Employee {1} for period {2} to {3},{0} al toegewezen voor werknemer {1} voor periode {2} tot {3},
{0} applicable after {1} working days,{0} van toepassing na {1} werkdagen,
{0} asset cannot be transferred,{0} activa kunnen niet worden overgedragen,
{0} can not be negative,{0} kan niet negatief zijn,
{0} created,{0} gemaakt,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.",{0} heeft momenteel een {1} scorecard voor leveranciers staan en bestellingen bij deze leverancier moeten voorzichtig zijn.,
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.",{0} heeft momenteel een {1} Supplier Scorecard en RFQ&#39;s voor deze leverancier moeten voorzichtig zijn.,
{0} does not belong to Company {1},{0} hoort niet bij bedrijf {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} heeft geen schema voor zorgverleners. Voeg het toe aan de master in de gezondheidszorg,
{0} entered twice in Item Tax,{0} twee keer ingevoerd in artikel BTW,
{0} for {1},{0} voor {1},
{0} has been submitted successfully,{0} is succesvol ingediend,
{0} has fee validity till {1},{0} heeft geldgeld tot {1},
{0} hours,{0} uur,
{0} in row {1},{0} in rij {1},
{0} is a company holiday,{0} is een bedrijfsvakantie,
{0} is blocked so this transaction cannot proceed,"{0} is geblokkeerd, dus deze transactie kan niet doorgaan",
{0} is mandatory,{0} is verplicht,
{0} is mandatory for Item {1},{0} is verplicht voor item {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} is verplicht. Misschien is er geen Currency Exchange-record gemaakt voor {1} tot {2}.,
{0} is not a stock Item,{0} is geen stockartikel,
{0} is not a valid Batch Number for Item {1},{0} is geen geldig batchnummer voor item {1},
{0} is not added in the table,{0} is niet toegevoegd in de tabel,
{0} is not in Optional Holiday List,{0} staat niet in de optionele vakantielijst,
{0} is not in a valid Payroll Period,{0} bevindt zich niet in een geldige Payroll-periode,
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} is nu het standaard fiscale jaar. Vernieuw uw browser om de wijziging door te voeren.,
{0} is on hold till {1},{0} staat in de wacht totdat {1},
{0} item found.,{0} item gevonden.,
{0} items found.,{0} items gevonden.,
{0} items in progress,{0} lopende artikelen,
{0} items produced,{0} items geproduceerd,
{0} must appear only once,{0} hoeft maar één keer te verschijnen,
{0} must be negative in return document,{0} moet negatief zijn in retourdocument,
{0} must be submitted,{0} moet worden ingediend,
{0} not allowed to transact with {1}. Please change the Company.,{0} mag niet transacties uitvoeren met {1}. Wijzig het bedrijf.,
{0} not found for item {1},{0} niet gevonden voor item {1},
{0} on Half day Leave on {1},{0} op halve dag Verlof op {1},
{0} on Leave on {1},{0} bij Verlof op {1},
{0} parameter is invalid,{0} parameter is ongeldig,
{0} payment entries can not be filtered by {1},{0} betalingsvermeldingen kunnen niet worden gefilterd op {1},
{0} should be a value between 0 and 100,{0} moet een waarde tussen 0 en 100 zijn,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} eenheden van [{1}] (# formulier / artikel / {1}) gevonden in [{2}] (# Form / Warehouse / {2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} eenheden van {1} die nodig zijn in {2} op {3} {4} voor {5} om deze transactie te voltooien.,
{0} units of {1} needed in {2} to complete this transaction.,{0} eenheden {1} zijn nodig in {2} om deze transactie te voltooien.,
{0} valid serial nos for Item {1},{0} geldige serienummers voor item {1},
{0} variants created.,{0} varianten gemaakt.,
{0} {1} created,{0} {1} gemaakt,
{0} {1} does not exist,{0} {1} bestaat niet,
{0} {1} does not exist.,{0} {1} bestaat niet.,
{0} {1} has been modified. Please refresh.,{0} {1} is gewijzigd. Vernieuw alsjeblieft.,
{0} {1} has not been submitted so the action cannot be completed,"{0} {1} is niet ingediend, dus de actie kan niet worden voltooid",
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} is gekoppeld aan {2}, maar partijaccount is {3}",
{0} {1} is cancelled or closed,{0} {1} is geannuleerd of gesloten,
{0} {1} is cancelled or stopped,{0} {1} is geannuleerd of gestopt,
{0} {1} is cancelled so the action cannot be completed,"{0} {1} is geannuleerd, zodat de actie niet kan worden voltooid",
{0} {1} is closed,{0} {1} is gesloten,
{0} {1} is disabled,{0} {1} is uitgeschakeld,
{0} {1} is frozen,{0} {1} is bevroren,
{0} {1} is fully billed,{0} {1} is volledig gefactureerd,
{0} {1} is not active,{0} {1} is niet actief,
{0} {1} is not associated with {2} {3},{0} {1} is niet gekoppeld aan {2} {3},
{0} {1} is not present in the parent company,{0} {1} is niet aanwezig in het moederbedrijf,
{0} {1} is not submitted,{0} {1} is niet verzonden,
{0} {1} is {2},{0} {1} is {2},
{0} {1} must be submitted,{0} {1} moet worden ingediend,
{0} {1} not in any active Fiscal Year.,{0} {1} niet in een actief fiscaal jaar.,
{0} {1} status is {2},{0} {1} status is {2},
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: type &#39;Profit and Loss&#39; -account {2} is niet toegestaan in Opening Entry,
{0} {1}: Account {2} cannot be a Group,{0} {1}: account {2} kan geen groep zijn,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: account {2} hoort niet bij bedrijf {3},
{0} {1}: Account {2} is inactive,{0} {1}: account {2} is inactief,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Boekhoudingsvermelding voor {2} kan alleen in valuta worden gemaakt: {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: kostenplaats is verplicht voor artikel {2},
{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: kostenplaats is vereist voor &#39;Winst- en verliesrekening&#39; {2}. Stel een standaard kostenplaats voor het bedrijf in.,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: kostenplaats {2} hoort niet bij bedrijf {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}: klant is vereist tegen debiteurrekening {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: een debet- of creditbedrag is vereist voor {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Leverancier is verplicht tegen betaalbaar account {2},
{0}% Billed,{0}% gefactureerd,
{0}% Delivered,{0}% bezorgd,
"{0}: Employee email not found, hence email not sent","{0}: e-mailadres van werknemer niet gevonden, vandaar e-mail niet verzonden",
{0}: From {0} of type {1},{0}: Van {0} van type {1},
{0}: From {1},{0}: Van {1},
{0}: {1} does not exists,{0}: {1} bestaat niet,
{0}: {1} not found in Invoice Details table,{0}: {1} niet gevonden in de tabel met factuurgegevens,
{} of {},{} van {},
Email Group,E-mailgroep,
Images,Afbeeldingen,
Import,Importeren,
There is some problem with the file url: {0},Er is een probleem met de bestands-URL: {0},
Values Changed,Waarden veranderd,
Ageing Range 4,Verouderingsbereik 4,
Allocated amount cannot be greater than unadjusted amount,Toegewezen hoeveelheid kan niet groter zijn dan niet-gecorrigeerde hoeveelheid,
Allocated amount cannot be negative,Toegewezen hoeveelheid kan niet negatief zijn,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Het verschil-account moet een Asset / Liability-type-account zijn, aangezien deze Stock-invoer een Opening Entry is",
Error in some rows,Fout in sommige rijen,
Import Successful,Importeer succesvol,
Please save first,Sla eerst op,
Price not found for item {0} in price list {1},Prijs niet gevonden voor artikel {0} in prijslijst {1},
Warehouse Type,Magazijntype,
'Date' is required,&#39;Datum&#39; is verplicht,
Benefit,Voordeel,
Budgets,begrotingen,
Bundle Qty,Bundel aantal,
Company GSTIN,Bedrijf GSTIN,
Company field is required,Het veld Bedrijf is verplicht,
Creating Dimensions...,Dimensies maken ...,
Duplicate entry against the item code {0} and manufacturer {1},Dubbele invoer tegen de artikelcode {0} en fabrikant {1},
Import Chart Of Accounts from CSV / Excel files,Rekeningschema importeren vanuit CSV / Excel-bestanden,
Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,Ongeldige GSTIN! De invoer die u hebt ingevoerd komt niet overeen met het GSTIN-formaat voor UIN-houders of niet-residente OIDAR-serviceproviders,
Invoice Grand Total,Invoice Grand Total,
Last carbon check date cannot be a future date,De laatste check-datum voor carbon kan geen toekomstige datum zijn,
Make Stock Entry,Voorraadinvoer maken,
Quality Feedback,Quality Feedback,
Quality Feedback Template,Quality Feedback Template,
Rules for applying different promotional schemes.,Regels voor het toepassen van verschillende promotieprogramma&#39;s.,
Shift,Verschuiving,
Show {0},Laat {0} zien,
"Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Speciale tekens behalve &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; En &quot;}&quot; zijn niet toegestaan in series met namen",
Target Details,Target details,
{0} already has a Parent Procedure {1}.,{0} heeft al een bovenliggende procedure {1}.,
Annual,Jaarlijks,
Approved,Goedgekeurd,
Change,Verandering,
From Date,Van datum,
Group By,Groeperen op,
Importing {0} of {1},{0} van {1} importeren,
No data to export,Geen gegevens om te exporteren,
% Of Grand Total,% Van eindtotaal,
'employee_field_value' and 'timestamp' are required.,&#39;employee_field_value&#39; en &#39;timestamp&#39; zijn verplicht.,
<b>Company</b> is a mandatory filter.,<b>Bedrijf</b> is een verplicht filter.,
<b>From Date</b> is a mandatory filter.,<b>Vanaf datum</b> is een verplicht filter.,
<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>From Time</b> kan niet later zijn dan <b>To Time</b> voor {0},
<b>To Date</b> is a mandatory filter.,<b>Tot op heden</b> is een verplicht filter.,
A new appointment has been created for you with {0},Er is een nieuwe afspraak voor u gemaakt met {0},
Account Value,Accountwaarde,
Account is mandatory to get payment entries,Account is verplicht om betalingsinvoer te krijgen,
Account is not set for the dashboard chart {0},Account is niet ingesteld voor de dashboardgrafiek {0},
Account {0} does not belong to company {1},Account {0} hoort niet bij bedrijf {1},
Account {0} does not exists in the dashboard chart {1},Account {0} bestaat niet in de dashboardgrafiek {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Account: <b>{0}</b> is hoofdletter onderhanden werk en kan niet worden bijgewerkt via journaalboeking,
Account: {0} is not permitted under Payment Entry,Account: {0} is niet toegestaan onder Betaling invoeren,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Boekhoudingsdimensie <b>{0}</b> is vereist voor rekening &#39;Balans&#39; {1}.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Boekhoudingsdimensie <b>{0}</b> is vereist voor rekening &#39;Winst en verlies&#39; {1}.,
Accounting Masters,Accounting Masters,
Accounting Period overlaps with {0},Boekhoudperiode overlapt met {0},
Activity,Werkzaamheid,
Add / Manage Email Accounts.,E-mailaccounts toevoegen / beheren.,
Add Child,Voeg kind toe,
Add Loan Security,Leningbeveiliging toevoegen,
Add Multiple,Meerdere toevoegen,
Add Participants,Voeg deelnemers toe,
Add to Featured Item,Toevoegen aan aanbevolen item,
Add your review,Voeg je review toe,
Add/Edit Coupon Conditions,Couponvoorwaarden toevoegen / bewerken,
Added to Featured Items,Toegevoegd aan aanbevolen items,
Added {0} ({1}),{0} ({1}) toegevoegd,
Address Line 1,Adres regel 1,
Addresses,Adressen,
Admission End Date should be greater than Admission Start Date.,Einddatum van toelating moet groter zijn dan Startdatum van toelating.,
Against Loan,Tegen lening,
Against Loan:,Tegen lening:,
All,Allemaal,
All bank transactions have been created,Alle banktransacties zijn gecreëerd,
All the depreciations has been booked,Alle afschrijvingen zijn geboekt,
Allocation Expired!,Toekenning verlopen!,
Allow Resetting Service Level Agreement from Support Settings.,Sta Resetten Service Level Agreement toe vanuit ondersteuningsinstellingen.,
Amount of {0} is required for Loan closure,Een bedrag van {0} is vereist voor het afsluiten van de lening,
Amount paid cannot be zero,Betaald bedrag kan niet nul zijn,
Applied Coupon Code,Toegepaste couponcode,
Apply Coupon Code,Couponcode toepassen,
Appointment Booking,Afspraak boeken,
"As there are existing transactions against item {0}, you can not change the value of {1}","Aangezien er bestaande transacties zijn voor artikel {0}, kunt u de waarde van {1} niet wijzigen",
Asset Id,Activa-ID,
Asset Value,Activa waarde,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Aanpassing van de activawaarde kan niet vóór de aankoopdatum van het activum <b>{0}</b> worden geboekt.,
Asset {0} does not belongs to the custodian {1},Activa {0} behoort niet tot de bewaarder {1},
Asset {0} does not belongs to the location {1},Activa {0} behoort niet tot de locatie {1},
Assets not created for <b>{0}</b>. You will have to create asset manually.,Activa niet gemaakt voor <b>{0}</b> . U moet het activum handmatig maken.,
At least one of the Applicable Modules should be selected,Ten minste een van de toepasselijke modules moet worden geselecteerd,
Atleast one asset has to be selected.,Minstens één activum moet worden geselecteerd.,
Attendance Marked,Aanwezigheid gemarkeerd,
Attendance has been marked as per employee check-ins,Aanwezigheid is gemarkeerd als per werknemer check-ins,
Authentication Failed,Verificatie mislukt,
Automatic Reconciliation,Automatische afstemming,
Available For Use Date,Beschikbaar voor gebruik datum,
Available Stock,Beschikbare voorraad,
"Available quantity is {0}, you need {1}","Beschikbare hoeveelheid is {0}, u heeft {1} nodig",
BOM 1,BOM 1,
BOM 2,BOM 2,
BOM Comparison Tool,BOM-vergelijkingstool,
BOM recursion: {0} cannot be child of {1},BOM-recursie: {0} kan geen kind van {1} zijn,
BOM recursion: {0} cannot be parent or child of {1},BOM-recursie: {0} kan geen ouder of kind van {1} zijn,
Back to Home,Terug naar huis,
Back to Messages,Terug naar berichten,
Bank Data mapper doesn't exist,Bankgegevensmap bestaat niet,
Bank Details,Bankgegevens,
Bank account '{0}' has been synchronized,Bankrekening &#39;{0}&#39; is gesynchroniseerd,
Bank account {0} already exists and could not be created again,Bankrekening {0} bestaat al en kon niet opnieuw worden aangemaakt,
Bank accounts added,Bankrekeningen toegevoegd,
Batch no is required for batched item {0},Batch-nummer is vereist voor batch-artikel {0},
Billing Date,Factuurdatum,
Billing Interval Count cannot be less than 1,Factuurintervaltelling kan niet minder zijn dan 1,
Blue,Blauw,
Book,Boek,
Book Appointment,Boekafspraak,
Brand,Merk,
Browse,Bladeren,
Call Connected,Oproep verbonden,
Call Disconnected,Oproep verbroken,
Call Missed,Bel gemist,
Call Summary,Oproep samenvatting,
Call Summary Saved,Gespreksoverzicht opgeslagen,
Cancelled,Geannuleerd,
Cannot Calculate Arrival Time as Driver Address is Missing.,Kan aankomsttijd niet berekenen omdat bestuurdersadres ontbreekt.,
Cannot Optimize Route as Driver Address is Missing.,Kan route niet optimaliseren omdat het adres van de bestuurder ontbreekt.,
"Cannot Unpledge, loan security value is greater than the repaid amount","Kan niet verpanden, de leningwaarde is groter dan het terugbetaalde bedrag",
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Kan taak {0} niet voltooien omdat de afhankelijke taak {1} niet is voltooid / geannuleerd.,
Cannot create loan until application is approved,Kan geen lening maken tot aanvraag is goedgekeurd,
Cannot find a matching Item. Please select some other value for {0}.,Kan een bijpassend artikel niet vinden. Selecteer een andere waarde voor {0}.,
"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Kan voor item {0} in rij {1} niet meer dan {2} overmatig factureren. Als u overfactureren wilt toestaan, stelt u een toeslag in Accounts-instellingen in",
Cannot unpledge more than {0} qty of {0},Kan niet meer dan {0} aantal {0} ontgrendelen,
"Capacity Planning Error, planned start time can not be same as end time","Capaciteitsplanningsfout, geplande starttijd kan niet hetzelfde zijn als eindtijd",
Categories,Categorieën,
Changes in {0},Veranderingen in {0},
Chart,Grafiek,
Choose a corresponding payment,Kies een overeenkomstige betaling,
Click on the link below to verify your email and confirm the appointment,Klik op de onderstaande link om uw e-mail te verifiëren en de afspraak te bevestigen,
Close,Dichtbij,
Communication,Communicatie,
Compact Item Print,Compact artikel afdrukken,
Company,Bedrijf,
Company of asset {0} and purchase document {1} doesn't matches.,Bedrijf van item {0} en inkoopdocument {1} komen niet overeen.,
Compare BOMs for changes in Raw Materials and Operations,Vergelijk BOM&#39;s voor wijzigingen in grondstoffen en bewerkingen,
Compare List function takes on list arguments,De functie Lijst vergelijken neemt lijstargumenten aan,
Complete,Compleet,
Completed,Voltooid,
Completed Quantity,Voltooide hoeveelheid,
Connect your Exotel Account to ERPNext and track call logs,Verbind uw Exotel-account met ERPNext en houd oproeplogboeken bij,
Connect your bank accounts to ERPNext,Verbind uw bankrekeningen met ERPNext,
Contact Seller,Neem contact op met de verkoper,
Continue,Doorgaan met,
Cost Center: {0} does not exist,Kostenplaats: {0} bestaat niet,
Couldn't Set Service Level Agreement {0}.,Kan Service Level Agreement niet instellen {0}.,
Country,Land,
Country Code in File does not match with country code set up in the system,De landcode in het bestand komt niet overeen met de landcode die in het systeem is ingesteld,
Create New Contact,Nieuw contact maken,
Create New Lead,Maak een nieuwe lead,
Create Pick List,Maak een keuzelijst,
Create Quality Inspection for Item {0},Creëer kwaliteitsinspectie voor artikel {0},
Creating Accounts...,Accounts maken ...,
Creating bank entries...,Bankboekingen maken ...,
Creating {0},{0} maken,
Credit limit is already defined for the Company {0},Kredietlimiet is al gedefinieerd voor het bedrijf {0},
Ctrl + Enter to submit,Ctrl + Enter om in te dienen,
Ctrl+Enter to submit,Ctrl + Enter om in te dienen,
Currency,Valuta,
Current Status,Huidige status,
Customer PO,Post adres van de klant,
Customize,Aanpassen,
Daily,Dagelijks,
Date,Datum,
Date Range,Datumbereik,
Date of Birth cannot be greater than Joining Date.,Geboortedatum kan niet groter zijn dan de datum van toetreding.,
Dear,Lieve,
Default,Standaard,
Define coupon codes.,Definieer couponcodes.,
Delayed Days,Vertraagde dagen,
Delete,Verwijderen,
Delivered Quantity,Geleverde hoeveelheid,
Delivery Notes,Pakbonnen,
Depreciated Amount,Afgeschreven bedrag,
Description,Beschrijving,
Designation,Aanwijzing,
Difference Value,Verschilwaarde,
Dimension Filter,Dimension Filter,
Disabled,Gehandicapt,
Disbursed Amount cannot be greater than loan amount,Uitbetaald bedrag kan niet groter zijn dan het geleende bedrag,
Disbursement and Repayment,Uitbetaling en terugbetaling,
Distance cannot be greater than 4000 kms,Afstand mag niet groter zijn dan 4000 km,
Do you want to submit the material request,Wilt u het materiële verzoek indienen?,
Doctype,Doctype,
Document {0} successfully uncleared,Document {0} is succesvol gewist,
Download Template,Sjabloon downloaden,
Dr,Dr,
Due Date,Opleveringsdatum,
Duplicate,Duplicaat,
Duplicate Project with Tasks,Dubbel project met taken,
Duplicate project has been created,Dubbel project is gemaakt,
E-Way Bill JSON can only be generated from a submitted document,E-Way Bill JSON kan alleen worden gegenereerd op basis van een ingediend document,
E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON kan alleen worden gegenereerd op basis van een ingediend document,
E-Way Bill JSON cannot be generated for Sales Return as of now,E-Way Bill JSON kan vanaf nu niet worden gegenereerd voor Sales Return,
ERPNext could not find any matching payment entry,ERPNext kon geen overeenkomstige betaling vinden,
Earliest Age,Vroegste leeftijd,
Edit Details,Details bewerken,
Edit Profile,Bewerk profiel,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,GST Transporter ID of voertuignummer is niet vereist als de vervoerswijze op de weg is,
Email,E-mail,
Email Campaigns,E-mailcampagnes,
Employee ID is linked with another instructor,Werknemer-ID is gekoppeld aan een andere instructeur,
Employee Tax and Benefits,Werknemersbelasting en voordelen,
Employee is required while issuing Asset {0},Werknemer is verplicht bij het uitgeven van activum {0},
Employee {0} does not belongs to the company {1},Werknemer {0} behoort niet tot het bedrijf {1},
Enable Auto Re-Order,Automatisch opnieuw bestellen inschakelen,
End Date of Agreement can't be less than today.,Einddatum van overeenkomst kan niet minder zijn dan vandaag.,
End Time,Eindtijd,
Energy Point Leaderboard,Leaderboard voor energiepunten,
Enter API key in Google Settings.,Voer de API-sleutel in in Google Instellingen.,
Enter Supplier,Voer leverancier in,
Enter Value,Voer waarde in,
Entity Type,Type entiteit,
Error,Fout,
Error in Exotel incoming call,Fout in inkomende oproep van Exotel,
Error: {0} is mandatory field,Fout: {0} is verplicht veld,
Event Link,Evenementlink,
Exception occurred while reconciling {0},Er is een uitzondering opgetreden tijdens het afstemmen van {0},
Expected and Discharge dates cannot be less than Admission Schedule date,Verwachte en kwijtingdata kunnen niet minder zijn dan de datum van het toelatingsschema,
Expire Allocation,Verlopen toewijzing,
Expired,Niet meer geldig,
Expiry date is mandatory for selected item.,Vervaldatum is verplicht voor het geselecteerde artikel.,
Export,Exporteren,
Export not allowed. You need {0} role to export.,Export niet toegestaan. U hebt {0} rol nodig om te exporteren.,
Failed to add Domain,Kan domein niet toevoegen,
Fetch Items from Warehouse,Items ophalen uit magazijn,
Fetching...,Bezig met ophalen ...,
Field,Veld,
File Manager,Bestandsbeheer,
Filters,Filters,
Finding linked payments,Gekoppelde betalingen vinden,
Finished Product,Afgewerkt product,
Finished Qty,Voltooid aantal,
First add items in the Item Locations table,Voeg eerst items toe in de tabel Itemlocaties,
Fleet Management,Vloot beheer,
Following fields are mandatory to create address:,De volgende velden zijn verplicht om een adres te maken:,
For Month,Voor maand,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity",Voor artikel {0} op rij {1} komt het aantal serienummers niet overeen met de gepickte hoeveelheid,
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Voor bewerking {0}: hoeveelheid ({1}) kan niet greter zijn dan in afwachting van hoeveelheid ({2}),
For quantity {0} should not be greater than work order quantity {1},Voor hoeveelheid {0} mag niet groter zijn dan werkorderhoeveelheid {1},
Free item not set in the pricing rule {0},Gratis item niet ingesteld in de prijsregel {0},
From Date and To Date are Mandatory,Van datum en tot datum zijn verplicht,
From date can not be greater than than To date,Vanaf-datum kan niet groter zijn dan Tot-datum,
From employee is required while receiving Asset {0} to a target location,Van medewerker is vereist tijdens het ontvangen van activum {0} naar een doellocatie,
Fuel Expense,Brandstofkosten,
Future Payment Amount,Toekomstig betalingsbedrag,
Future Payment Ref,Toekomstige betaling Ref,
Future Payments,Toekomstige betalingen,
GST HSN Code does not exist for one or more items,GST HSN-code bestaat niet voor een of meer items,
Generate E-Way Bill JSON,Genereer E-Way Bill JSON,
Get Items,Items ophalen,
Get Outstanding Documents,Ontvang uitstekende documenten,
Goal,Doel,
Greater Than Amount,Groter dan bedrag,
Green,Groen,
Group,Groep,
Group By Customer,Groeperen op klant,
Group By Supplier,Groeperen op leverancier,
Group Node,Groepsknooppunt,
Group Warehouses cannot be used in transactions. Please change the value of {0},Groepsmagazijnen kunnen niet worden gebruikt in transacties. Wijzig de waarde van {0},
Help,Helpen,
Help Article,Help-artikel,
"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Helpt u bij het bijhouden van contracten op basis van leverancier, klant en werknemer",
Helps you manage appointments with your leads,Helpt u bij het beheren van afspraken met uw leads,
Home,Huis,
IBAN is not valid,IBAN is niet geldig,
Import Data from CSV / Excel files.,Gegevens importeren uit CSV / Excel-bestanden.,
In Progress,Bezig,
Incoming call from {0},Inkomende oproep van {0},
Incorrect Warehouse,Onjuist magazijn,
Interest Amount is mandatory,Rentebedrag is verplicht,
Intermediate,Gemiddeld,
Invalid Barcode. There is no Item attached to this barcode.,Ongeldige streepjescode. Er is geen artikel aan deze streepjescode gekoppeld.,
Invalid credentials,Ongeldige inloggegevens,
Invite as User,Uitnodigen als gebruiker,
Issue Priority.,Prioriteit uitgeven.,
Issue Type.,Soort probleem.,
"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.",Het lijkt erop dat er een probleem is met de streepconfiguratie van de server. In geval van mislukking wordt het bedrag teruggestort op uw account.,
Item Reported,Artikel gemeld,
Item listing removed,Itemvermelding verwijderd,
Item quantity can not be zero,Artikelhoeveelheid kan niet nul zijn,
Item taxes updated,Artikelbelastingen bijgewerkt,
Item {0}: {1} qty produced. ,Artikel {0}: {1} aantal geproduceerd.,
Items are required to pull the raw materials which is associated with it.,Items zijn vereist om de grondstoffen te trekken die eraan zijn gekoppeld.,
Joining Date can not be greater than Leaving Date,Inschrijvingsdatum kan niet groter zijn dan de uittredingsdatum,
Lab Test Item {0} already exist,Labtestitem {0} bestaat al,
Last Issue,Laatste uitgave,
Latest Age,Laatste leeftijd,
Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Verlofaanvraag is gekoppeld aan verloftoekenningen {0}. Verlofaanvraag kan niet worden ingesteld als verlof zonder betaling,
Leaves Taken,Bladeren genomen,
Less Than Amount,Minder dan bedrag,
Liabilities,Passiva,
Loading...,Bezig met laden...,
Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Het geleende bedrag overschrijdt het maximale geleende bedrag van {0} per voorgestelde effecten,
Loan Applications from customers and employees.,Lening Aanvragen van klanten en medewerkers.,
Loan Disbursement,Uitbetaling van de lening,
Loan Processes,Lening processen,
Loan Security,Lening beveiliging,
Loan Security Pledge,Lening zekerheid pandrecht,
Loan Security Pledge Company and Loan Company must be same,Loan Security Pledge Company en Loan Company moeten hetzelfde zijn,
Loan Security Pledge Created : {0},Lening Security Pledge gecreëerd: {0},
Loan Security Pledge already pledged against loan {0},Lening Security Pledge al toegezegd tegen lening {0},
Loan Security Pledge is mandatory for secured loan,Lening Security Pledge is verplicht voor beveiligde lening,
Loan Security Price,Lening beveiligingsprijs,
Loan Security Price overlapping with {0},Lening Effect Koers overlapping met {0},
Loan Security Unpledge,Lening Security Unpledge,
Loan Security Value,Veiligheidswaarde lening,
Loan Type for interest and penalty rates,Type lening voor rente en boetes,
Loan amount cannot be greater than {0},Leenbedrag kan niet groter zijn dan {0},
Loan is mandatory,Lening is verplicht,
Loans,Leningen,
Loans provided to customers and employees.,Leningen aan klanten en medewerkers.,
Location,Plaats,
Log Type is required for check-ins falling in the shift: {0}.,Logtype is vereist voor check-ins die in de dienst vallen: {0}.,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Het lijkt erop dat iemand u naar een onvolledige URL heeft gestuurd. Vraag hen alstublieft om er naar te kijken.,
Make Journal Entry,Maak een journaalboeking,
Make Purchase Invoice,Aankoopfactuur doen,
Manufactured,Vervaardigd,
Mark Work From Home,Markeer werk vanuit huis,
Master,Meester,
Max strength cannot be less than zero.,De maximale sterkte kan niet minder dan nul zijn.,
Maximum attempts for this quiz reached!,Maximale pogingen voor deze quiz bereikt!,
Message,Bericht,
Missing Values Required,Ontbrekende waarden vereist,
Mobile No,Mobiel Nee,
Mobile Number,Mobiel nummer,
Month,Maand,
Name,Naam,
Near you,Dichtbij jou,
Net Profit/Loss,Nettowinst (verlies,
New Expense,Nieuwe uitgave,
New Invoice,Nieuwe factuur,
New Payment,Nieuwe betaling,
New release date should be in the future,Nieuwe releasedatum zou in de toekomst moeten liggen,
Newsletter,Nieuwsbrief,
No Account matched these filters: {},Geen account komt overeen met deze filters: {},
No Employee found for the given employee field value. '{}': {},Geen medewerker gevonden voor de gegeven veldwaarde voor de medewerker. &#39;{}&#39;: {},
No Leaves Allocated to Employee: {0} for Leave Type: {1},Geen bladeren toegewezen aan werknemer: {0} voor verloftype: {1},
No communication found.,Geen communicatie gevonden.,
No correct answer is set for {0},Er is geen correct antwoord ingesteld voor {0},
No description,Geen beschrijving,
No issue has been raised by the caller.,De beller heeft geen probleem opgeworpen.,
No items to publish,Geen items om te publiceren,
No outstanding invoices found,Geen openstaande facturen gevonden,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Geen openstaande facturen gevonden voor {0} {1} die in aanmerking komen voor de door u opgegeven filters.,
No outstanding invoices require exchange rate revaluation,Geen openstaande facturen vereisen wisselkoersherwaardering,
No reviews yet,Nog geen beoordelingen,
No valid <b>Loan Security Price</b> found for {0},Geen geldige <b>leningbeveiligingsprijs</b> gevonden voor {0},
No views yet,Nog geen weergaven,
Non stock items,Niet op voorraad zijnde artikelen,
Not Allowed,Niet toegestaan,
Not allowed to create accounting dimension for {0},Mag geen boekhoudingsdimensie maken voor {0},
Not permitted. Please disable the Lab Test Template,Niet toegestaan. Schakel de Lab Test Template uit,
Not permitted. Please disable the Procedure Template,Niet toegestaan. Schakel de procedure-sjabloon uit,
Note,Notitie,
Notes: ,Opmerkingen:,
Offline,Offline,
On Converting Opportunity,Over het converteren van kansen,
On Purchase Order Submission,Bij het verzenden van inkooporders,
On Sales Order Submission,Bij het verzenden van klantorders,
On Task Completion,Bij voltooiing van de taak,
On {0} Creation,Bij {0} Creatie,
Only .csv and .xlsx files are supported currently,Alleen .csv- en .xlsx-bestanden worden momenteel ondersteund,
Only expired allocation can be cancelled,Alleen verlopen toewijzing kan worden geannuleerd,
Only users with the {0} role can create backdated leave applications,Alleen gebruikers met de rol {0} kunnen backdated verloftoepassingen maken,
Open,Open,
Open Contact,Contact openen,
Open Lead,Open leiden,
Opening and Closing,Openen en sluiten,
Operating Cost as per Work Order / BOM,Bedrijfskosten per werkorder / stuklijst,
Order Amount,Orderbedrag,
Page {0} of {1},Pagina {0} van {1},
Paid amount cannot be less than {0},Betaald bedrag kan niet lager zijn dan {0},
Parent Company must be a group company,Moederbedrijf moet een groepsmaatschappij zijn,
Passing Score value should be between 0 and 100,De score voor het slagen moet tussen 0 en 100 liggen,
Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Wachtwoordbeleid mag geen spaties of gelijktijdige koppeltekens bevatten. Het formaat wordt automatisch geherstructureerd,
Patient History,Patiëntgeschiedenis,
Pause,Pauze,
Pay,Betalen,
Payment Document Type,Type betalingsdocument,
Payment Name,Betalingsnaam,
Penalty Amount,Bedrag van de boete,
Pending,In afwachting,
Performance,Prestatie,
Period based On,Periode gebaseerd op,
Perpetual inventory required for the company {0} to view this report.,Eeuwigdurende inventaris vereist voor het bedrijf {0} om dit rapport te bekijken.,
Phone,Telefoon,
Pick List,Keuzelijst,
Plaid authentication error,Plaid-authenticatiefout,
Plaid public token error,Plaid public token error,
Plaid transactions sync error,Synchronisatiefout voor transacties met plaid,
Please check the error log for details about the import errors,Controleer het foutenlogboek voor details over de importfouten,
Please click on the following link to set your new password,Klik op de volgende link om uw nieuwe wachtwoord in te stellen,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Maak <b>DATEV-instellingen</b> voor bedrijf <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Maak een aanpassing Journaalboeking voor bedrag {0},
Please do not create more than 500 items at a time,Maak niet meer dan 500 items tegelijk,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Voer een <b>verschilaccount in</b> of stel de standaard <b>voorraadaanpassingsaccount in</b> voor bedrijf {0},
Please enter GSTIN and state for the Company Address {0},Voer GSTIN in en vermeld het bedrijfsadres {0},
Please enter Item Code to get item taxes,Voer artikelcode in om artikelbelastingen te ontvangen,
Please enter Warehouse and Date,Voer Magazijn en datum in,
Please enter coupon code !!,Voer kortingsboncode in !!,
Please enter the designation,Voer de benaming in,
Please enter valid coupon code !!,Voer een geldige couponcode in !!,
Please login as a Marketplace User to edit this item.,Meld u aan als Marketplace-gebruiker om dit item te bewerken.,
Please login as a Marketplace User to report this item.,Meld u aan als Marketplace-gebruiker om dit item te melden.,
Please select <b>Template Type</b> to download template,Selecteer het <b>sjabloontype</b> om de sjabloon te downloaden,
Please select Applicant Type first,Selecteer eerst het Type aanvrager,
Please select Customer first,Selecteer eerst Klant,
Please select Item Code first,Selecteer eerst de artikelcode,
Please select Loan Type for company {0},Selecteer het type lening voor bedrijf {0},
Please select Patient to get prescribed procedure,Selecteer Patiënt om de voorgeschreven procedure te krijgen,
Please select a Delivery Note,Selecteer een afleveringsbewijs,
Please select a Sales Person for item: {0},Selecteer een verkoper voor artikel: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Selecteer een andere betaalmethode. Stripe ondersteunt geen transacties in valuta &#39;{0}&#39;,
Please select the customer.,Selecteer de klant.,
Please set a Supplier against the Items to be considered in the Purchase Order.,Stel een leverancier in op de items die in de bestelling moeten worden opgenomen.,
Please set account heads in GST Settings for Compnay {0},Stel accountkoppen in GST-instellingen voor Compnay {0},
Please set an email id for the Lead {0},Stel een e-mail-ID in voor de lead {0},
Please set default UOM in Stock Settings,Stel de standaard UOM in bij Voorraadinstellingen,
Please set filter based on Item or Warehouse due to a large amount of entries.,Stel filter in op basis van artikel of magazijn vanwege een groot aantal invoer.,
Please set up the Campaign Schedule in the Campaign {0},Stel het campagneschema in de campagne {0} in,
Please set valid GSTIN No. in Company Address for company {0},Stel een geldig GSTIN-nummer in het bedrijfsadres in voor bedrijf {0},
Please set {0},Stel {0} in,customer
Please setup a default bank account for company {0},Stel een standaard bankrekening in voor bedrijf {0},
Please specify,Gelieve te specificeren,
Please specify a {0},Geef een {0} op,lead
Pledge Status,Pandstatus,
Pledge Time,Belofte tijd,
Printing,Afdrukken,
Priority,Prioriteit,
Priority has been changed to {0}.,Prioriteit is gewijzigd in {0}.,
Priority {0} has been repeated.,Prioriteit {0} is herhaald.,
Processing XML Files,XML-bestanden verwerken,
Profitability,Winstgevendheid,
Project,Project,
Proposed Pledges are mandatory for secured Loans,Voorgestelde toezeggingen zijn verplicht voor beveiligde leningen,
Provide the academic year and set the starting and ending date.,Geef het academische jaar op en stel de begin- en einddatum in.,
Public token is missing for this bank,Openbaar token ontbreekt voor deze bank,
Publish,Publiceren,
Publish 1 Item,Publiceer 1 item,
Publish Items,Items publiceren,
Publish More Items,Meer items publiceren,
Publish Your First Items,Publiceer uw eerste items,
Publish {0} Items,Publiceer {0} items,
Published Items,Gepubliceerde items,
Purchase Invoice cannot be made against an existing asset {0},Aankoopfactuur kan niet worden gemaakt voor een bestaand activum {0},
Purchase Invoices,Facturen kopen,
Purchase Orders,Inkooporders,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Aankoopbewijs heeft geen artikel waarvoor Voorbeeld behouden is ingeschakeld.,
Purchase Return,Aankoop Retour,
Qty of Finished Goods Item,Aantal gereed product,
Qty or Amount is mandatroy for loan security,Aantal of Bedrag is mandatroy voor leningzekerheid,
Quality Inspection required for Item {0} to submit,Kwaliteitsinspectie vereist om item {0} te verzenden,
Quantity to Manufacture,Te produceren hoeveelheid,
Quantity to Manufacture can not be zero for the operation {0},Te produceren hoeveelheid kan niet nul zijn voor de bewerking {0},
Quarterly,Per kwartaal,
Queued,In de wachtrij geplaatst,
Quick Entry,Snelle invoer,
Quiz {0} does not exist,Quiz {0} bestaat niet,
Quotation Amount,Offerte Bedrag,
Rate or Discount is required for the price discount.,Tarief of korting is vereist voor de prijskorting.,
Reason,Reden,
Reconcile Entries,Inzendingen verzoenen,
Reconcile this account,Verzoen dit account,
Reconciled,Verzoend,
Recruitment,Werving,
Red,Rood,
Refreshing,Verfrissend,
Release date must be in the future,Releasedatum moet in de toekomst liggen,
Relieving Date must be greater than or equal to Date of Joining,Ontlastingsdatum moet groter zijn dan of gelijk zijn aan de datum van toetreding,
Rename,Naam wijzigen,
Rename Not Allowed,Naam wijzigen niet toegestaan,
Repayment Method is mandatory for term loans,Terugbetalingsmethode is verplicht voor termijnleningen,
Repayment Start Date is mandatory for term loans,De startdatum van de terugbetaling is verplicht voor termijnleningen,
Report Item,Meld item,
Report this Item,Meld dit item,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Gereserveerde hoeveelheid voor uitbesteding: hoeveelheid grondstoffen om uitbestede artikelen te maken.,
Reset,Reset,
Reset Service Level Agreement,Reset Service Level Agreement,
Resetting Service Level Agreement.,Service Level Agreement resetten.,
Response Time for {0} at index {1} can't be greater than Resolution Time.,De responstijd voor {0} bij index {1} kan niet groter zijn dan de resolutietijd.,
Return amount cannot be greater unclaimed amount,Retourbedrag kan niet hoger zijn opgeëist bedrag,
Review,Recensie,
Room,Kamer,
Room Type,Kamertype,
Row # ,Rij #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Rij # {0}: Geaccepteerd magazijn en leveranciersmagazijn kunnen niet hetzelfde zijn,
Row #{0}: Cannot delete item {1} which has already been billed.,Rij # {0}: kan item {1} dat al is gefactureerd niet verwijderen.,
Row #{0}: Cannot delete item {1} which has already been delivered,Rij # {0}: kan item {1} dat al is afgeleverd niet verwijderen,
Row #{0}: Cannot delete item {1} which has already been received,Rij # {0}: kan item {1} dat al is ontvangen niet verwijderen,
Row #{0}: Cannot delete item {1} which has work order assigned to it.,Rij # {0}: kan item {1} niet verwijderen waaraan een werkorder is toegewezen.,
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Rij # {0}: kan item {1} dat is toegewezen aan de bestelling van de klant niet verwijderen.,
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Rij # {0}: Kan leveranciersmagazijn niet selecteren tijdens het leveren van grondstoffen aan onderaannemer,
Row #{0}: Cost Center {1} does not belong to company {2},Rij # {0}: Kostenplaats {1} hoort niet bij bedrijf {2},
Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Rij # {0}: bewerking {1} is niet voltooid voor {2} aantal voltooide goederen in werkorder {3}. Werk de bedieningsstatus bij via opdrachtkaart {4}.,
Row #{0}: Payment document is required to complete the transaction,Rij # {0}: Betalingsdocument is vereist om de transactie te voltooien,
Row #{0}: Serial No {1} does not belong to Batch {2},Rij # {0}: Serienummer {1} hoort niet bij Batch {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Rij # {0}: Service-einddatum kan niet vóór factuurdatum zijn,
Row #{0}: Service Start Date cannot be greater than Service End Date,Rij # {0}: Service startdatum kan niet groter zijn dan service einddatum,
Row #{0}: Service Start and End Date is required for deferred accounting,Rij # {0}: Service-start- en einddatum is vereist voor uitgestelde boekhouding,
Row {0}: Invalid Item Tax Template for item {1},Rij {0}: ongeldige BTW-sjabloon voor artikel voor artikel {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Rij {0}: hoeveelheid niet beschikbaar voor {4} in magazijn {1} op het moment van boeking ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Rij {0}: gebruiker heeft regel {1} niet toegepast op item {2},
Row {0}:Sibling Date of Birth cannot be greater than today.,Rij {0}: Geboortedatum broer of zus kan niet groter zijn dan vandaag.,
Row {1}: Asset Naming Series is mandatory for the auto creation for item {0},Rij {1}: Asset Naming Series is verplicht voor het automatisch maken van item {0},
Row({0}): {1} is already discounted in {2},Rij ({0}): {1} is al verdisconteerd in {2},
Rows Added in {0},Rijen toegevoegd in {0},
Rows Removed in {0},Rijen verwijderd in {0},
Sanctioned Amount limit crossed for {0} {1},Sanctielimiet overschreden voor {0} {1},
Sanctioned Loan Amount already exists for {0} against company {1},Er bestaat al een gesanctioneerd leningbedrag voor {0} tegen bedrijf {1},
Save,Opslaan,
Save Item,Item opslaan,
Saved Items,Opgeslagen items,
Scheduled and Admitted dates can not be less than today,Geplande en toegelaten data kunnen niet minder zijn dan vandaag,
Search Items ...,Zoek items ...,
Search for a payment,Zoeken naar een betaling,
Search for anything ...,Zoek naar alles ...,
Search results for,zoekresultaten voor,
Select All,Selecteer alles,
Select Difference Account,Selecteer Verschilaccount,
Select a Default Priority.,Selecteer een standaardprioriteit.,
Select a Supplier from the Default Supplier List of the items below.,Selecteer een leverancier uit de standaardleverancierslijst van de onderstaande items.,
Select a company,Selecteer een bedrijf,
Select finance book for the item {0} at row {1},Selecteer financieringsboek voor het artikel {0} op rij {1},
Select only one Priority as Default.,Selecteer slechts één prioriteit als standaard.,
Seller Information,Verkopersinformatie,
Send,Sturen,
Send a message,Stuur een bericht,
Sending,Bezig met verzenden,
Sends Mails to lead or contact based on a Campaign schedule,Stuurt e-mails naar lead of contact op basis van een campagneschema,
Serial Number Created,Serienummer gemaakt,
Serial Numbers Created,Serienummers gemaakt,
Serial no(s) required for serialized item {0},Serienummer (s) vereist voor serienummer {0},
Series,Serie,
Server Error,Serverfout,
Service Level Agreement has been changed to {0}.,Service Level Agreement is gewijzigd in {0}.,
Service Level Agreement tracking is not enabled.,Service Level Agreement-tracking is niet ingeschakeld.,
Service Level Agreement was reset.,Service Level Agreement is opnieuw ingesteld.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Service Level Agreement met Entity Type {0} en Entity {1} bestaat al.,
Set,Instellen,
Set Meta Tags,Stel metatags in,
Set Response Time and Resolution for Priority {0} at index {1}.,Stel responstijd en resolutie voor prioriteit {0} in op index {1}.,
"Set item's shelf life in days, to set expiry based on manufacturing date plus shelf-life.","Stel de houdbaarheid van het artikel in dagen in, om de vervaldatum in te stellen op basis van de productiedatum plus houdbaarheid.",
Set {0} in company {1},Stel {0} in bedrijf {1} in,
Setup,Opstelling,
Setup Wizard,Setup Wizard,
Shift Management,Shift Management,
Show Future Payments,Toekomstige betalingen weergeven,
Show Linked Delivery Notes,Toon gekoppelde leveringsbonnen,
Show Sales Person,Verkoopmedewerker weergeven,
Show Stock Ageing Data,Toon veroudering van aandelen,
Show Warehouse-wise Stock,Magazijngewijze voorraad weergeven,
Size,Grootte,
Something went wrong while evaluating the quiz.,Er is iets misgegaan bij het evalueren van de quiz.,
"Sorry,coupon code are exhausted","Sorry, kortingsboncode is op",
"Sorry,coupon code validity has expired","Sorry, de geldigheid van de couponcode is verlopen",
"Sorry,coupon code validity has not started","Sorry, de geldigheid van de couponcode is niet gestart",
Sr,Sr,
Start,Begin,
Start Date cannot be before the current date,Startdatum kan niet vóór de huidige datum liggen,
Start Time,Starttijd,
Status,Toestand,
Status must be Cancelled or Completed,Status moet worden geannuleerd of voltooid,
Stock Balance Report,Stock balansrapport,
Stock Entry has been already created against this Pick List,Voorraadinvoer is al gemaakt op basis van deze keuzelijst,
Stock Ledger ID,Stock Ledger ID,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Voorraadwaarde ({0}) en Accountsaldo ({1}) lopen niet synchroon voor account {2} en de bijbehorende magazijnen.,
Stores - {0},Winkels - {0},
Student with email {0} does not exist,Student met e-mailadres {0} bestaat niet,
Submit Review,Review versturen,
Submitted,Ingezonden,
Supplier Addresses And Contacts,Adressen en contacten van leveranciers,
Synchronize this account,Synchroniseer dit account,
Tag,Label,
Target Location is required while receiving Asset {0} from an employee,Doellocatie is vereist tijdens het ontvangen van item {0} van een werknemer,
Target Location is required while transferring Asset {0},Doellocatie is vereist tijdens het overbrengen van activa {0},
Target Location or To Employee is required while receiving Asset {0},Doellocatie of Aan medewerker is vereist tijdens het ontvangen van activum {0},
Task's {0} End Date cannot be after Project's End Date.,De {0} Einddatum van de taak kan niet na de Einddatum van het Project zijn.,
Task's {0} Start Date cannot be after Project's End Date.,De {0} begindatum van de taak mag niet achter de einddatum van het project liggen.,
Tax Account not specified for Shopify Tax {0},Belastingaccount niet opgegeven voor Shopify Tax {0},
Tax Total,Totaal belasting,
Template,Sjabloon,
The Campaign '{0}' already exists for the {1} '{2}',De campagne &#39;{0}&#39; bestaat al voor de {1} &#39;{2}&#39;,
The difference between from time and To Time must be a multiple of Appointment,Het verschil tussen van tijd en tot tijd moet een veelvoud van afspraak zijn,
The field Asset Account cannot be blank,Het veld Activa-account mag niet leeg zijn,
The field Equity/Liability Account cannot be blank,Het veld Equity / Liability Account mag niet leeg zijn,
The following serial numbers were created: <br><br> {0},De volgende serienummers zijn gemaakt: <br><br> {0},
The parent account {0} does not exists in the uploaded template,Het bovenliggende account {0} bestaat niet in de geüploade sjabloon,
The question cannot be duplicate,De vraag kan niet dubbel zijn,
The selected payment entry should be linked with a creditor bank transaction,De geselecteerde betaling moet worden gekoppeld aan een crediteurenbanktransactie,
The selected payment entry should be linked with a debtor bank transaction,De geselecteerde betaling moet worden gekoppeld aan een banktransactie met debiteur,
The total allocated amount ({0}) is greated than the paid amount ({1}).,Het totale toegewezen bedrag ({0}) is groter dan het betaalde bedrag ({1}).,
The total completed qty({0}) must be equal to qty to manufacture({1}),Het totale voltooide aantal ({0}) moet gelijk zijn aan het te produceren aantal ({1}),
The value {0} is already assigned to an exisiting Item {2}.,De waarde {0} is al toegewezen aan een bestaand item {2}.,
There are no vacancies under staffing plan {0},Er zijn geen vacatures onder personeelsplan {0},
This Service Level Agreement is specific to Customer {0},Deze Service Level Agreement is specifiek voor klant {0},
This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Door deze actie wordt deze account ontkoppeld van externe services die ERPNext integreren met uw bankrekeningen. Het kan niet ongedaan gemaakt worden. Weet je het zeker ?,
This bank account is already synchronized,Deze bankrekening is al gesynchroniseerd,
This bank transaction is already fully reconciled,Deze banktransactie is al volledig afgestemd,
This employee already has a log with the same timestamp.{0},Deze werknemer heeft al een logboek met hetzelfde tijdstempel. {0},
This page keeps track of items you want to buy from sellers.,Deze pagina houdt items bij die u van verkopers wilt kopen.,
This page keeps track of your items in which buyers have showed some interest.,Deze pagina houdt uw items bij waarin kopers enige interesse hebben getoond.,
Thursday,donderdag,
Timing,Timing,
Title,Titel,
"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Om overfacturering toe te staan, werkt u &quot;Overfactureringstoeslag&quot; bij in Accountinstellingen of het item.",
"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Als u overontvangst / levering wilt toestaan, werkt u &quot;Overontvangst / afleveringstoeslag&quot; in Voorraadinstellingen of het Artikel bij.",
To date needs to be before from date,Tot datum moet vóór datum zijn,
Total,Totaal,
Total Early Exits,Totaal vroege uitgangen,
Total Late Entries,Totaal aantal late inzendingen,
Total Payment Request amount cannot be greater than {0} amount,Het totale bedrag van het betalingsverzoek mag niet groter zijn dan het bedrag van {0},
Total payments amount can't be greater than {},Het totale betalingsbedrag mag niet groter zijn dan {},
Totals,Totalen,
Training Event:,Trainingsevenement:,
Transactions already retreived from the statement,Transacties zijn al teruggetrokken uit de verklaring,
Transfer Material to Supplier,Materiaal overdragen aan leverancier,
Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Transportbewijsnummer en datum zijn verplicht voor de door u gekozen transportmodus,
Tuesday,dinsdag,
Type,Type,
Unable to find Salary Component {0},Kan salariscomponent niet vinden {0},
Unable to find the time slot in the next {0} days for the operation {1}.,Kan het tijdslot de komende {0} dagen voor de bewerking {1} niet vinden.,
Unable to update remote activity,Kan externe activiteit niet bijwerken,
Unknown Caller,Onbekende beller,
Unlink external integrations,Ontkoppel externe integraties,
Unmarked Attendance for days,Dagen zonder markering,
Unpublish Item,Publicatie ongedaan maken,
Unreconciled,Onverzoend,
Unsupported GST Category for E-Way Bill JSON generation,Niet-ondersteunde GST-categorie voor het genereren van E-Way Bill JSON,
Update,Bijwerken,
Update Details,Bijwerken details,
Update Taxes for Items,Update belastingen voor artikelen,
"Upload a bank statement, link or reconcile a bank account","Upload een bankafschrift, koppel of verzoen een bankrekening",
Upload a statement,Upload een verklaring,
Use a name that is different from previous project name,Gebruik een naam die verschilt van de vorige projectnaam,
User {0} is disabled,Gebruiker {0} is uitgeschakeld,
Users and Permissions,Gebruikers en machtigingen,
Vacancies cannot be lower than the current openings,Vacatures kunnen niet lager zijn dan de huidige openingen,
Valid From Time must be lesser than Valid Upto Time.,Geldig vanaf tijd moet kleiner zijn dan Geldig tot tijd.,
Valuation Rate required for Item {0} at row {1},Waarderingspercentage vereist voor artikel {0} op rij {1},
"Valuation rate not found for the Item {0}, which is required to do accounting entries for {1} {2}. If the item is transacting as a zero valuation rate item in the {1}, please mention that in the {1} Item table. Otherwise, please create an incoming stock transaction for the item or mention valuation rate in the Item record, and then try submiting / cancelling this entry.","Waarderingspercentage niet gevonden voor het artikel {0}, dat vereist is om boekhoudingen uit te voeren voor {1} {2}. Als het artikel wordt verwerkt als een nulwaarde-item in de {1}, vermeld dit dan in de {1} itemtabel. Anders maakt u een inkomende voorraadtransactie voor het artikel of vermeldt u het waarderingspercentage in het artikelrecord en probeert u dit item te verzenden / annuleren.",
Values Out Of Sync,Niet synchroon,
Vehicle Type is required if Mode of Transport is Road,Voertuigtype is vereist als de wijze van vervoer weg is,
Vendor Name,Naam van de leverancier,
Verify Email,Verifieer Email,
View,Visie,
View all issues from {0},Bekijk alle problemen van {0},
View call log,Bekijk oproeplogboek,
Warehouse,Magazijn,
Warehouse not found against the account {0},Magazijn niet gevonden voor account {0},
Welcome to {0},Welkom bij {0},
Why do think this Item should be removed?,Waarom zou dit artikel moeten worden verwijderd?,
Work Order {0}: Job Card not found for the operation {1},Werkorder {0}: opdrachtkaart niet gevonden voor de bewerking {1},
Workday {0} has been repeated.,Werkdag {0} is herhaald.,
XML Files Processed,XML-bestanden verwerkt,
Year,Jaar,
Yearly,Jaarlijks,
You,U,
You are not allowed to enroll for this course,U mag zich niet inschrijven voor deze cursus,
You are not enrolled in program {0},U bent niet ingeschreven in programma {0},
You can Feature upto 8 items.,U kunt maximaal 8 items gebruiken.,
You can also copy-paste this link in your browser,U kunt deze link ook kopiëren en in uw browser plakken,
You can publish upto 200 items.,U kunt maximaal 200 items publiceren.,
You can't create accounting entries in the closed accounting period {0},U kunt geen boekhoudingen maken in de gesloten boekhoudperiode {0},
You have to enable auto re-order in Stock Settings to maintain re-order levels.,U moet automatisch opnieuw bestellen inschakelen in Voorraadinstellingen om opnieuw te bestellen.,
You must be a registered supplier to generate e-Way Bill,U moet een geregistreerde leverancier zijn om e-Way Bill te genereren,
You need to login as a Marketplace User before you can add any reviews.,U moet inloggen als Marketplace-gebruiker voordat u beoordelingen kunt toevoegen.,
Your Featured Items,Uw aanbevolen items,
Your Items,Uw artikelen,
Your Profile,Jouw profiel,
Your rating:,Uw beoordeling:,
Zero qty of {0} pledged against loan {0},Nul aantal van {0} toegezegd tegen lening {0},
and,en,
e-Way Bill already exists for this document,e-Way Bill bestaat al voor dit document,
woocommerce - {0},woocommerce - {0},
{0} Asset{2} Created for <b>{1}</b>,{0} Activa {2} Gemaakt voor <b>{1}</b>,
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Gebruikte coupon is {1}. Toegestane hoeveelheid is op,
{0} Name,{0} naam,
{0} Operations: {1},{0} Bewerkingen: {1},
{0} bank transaction(s) created,{0} gemaakte banktransactie (s),
{0} bank transaction(s) created and {1} errors,{0} gemaakte banktransactie (s) en {1} fouten,
{0} can not be greater than {1},{0} kan niet groter zijn dan {1},
{0} conversations,{0} gesprekken,
{0} is not a company bank account,{0} is geen zakelijke bankrekening,
{0} is not a group node. Please select a group node as parent cost center,{0} is geen groepsknooppunt. Selecteer een groepsknooppunt als bovenliggende kostenplaats,
{0} is not the default supplier for any items.,{0} is niet de standaardleverancier voor artikelen.,
{0} is required,{0} is verplicht,
{0} units of {1} is not available.,{0} eenheden van {1} is niet beschikbaar.,
{0}: {1} must be less than {2},{0}: {1} moet kleiner zijn dan {2},
{} is an invalid Attendance Status.,{} is een ongeldige aanwezigheidsstatus.,
{} is required to generate E-Way Bill JSON,{} is vereist om E-Way Bill JSON te genereren,
"Invalid lost reason {0}, please create a new lost reason","Ongeldige verloren reden {0}, maak een nieuwe verloren reden aan",
Profit This Year,Winst dit jaar,
Total Expense,Totale uitgaven,
Total Expense This Year,Totale kosten dit jaar,
Total Income,Totaal inkomen,
Total Income This Year,Totaal inkomen dit jaar,
Clear,Doorzichtig,
Comments,Opmerkingen,
Download,Downloaden,
New,Nieuw,
Print,Afdrukken,
Reference Name,Referentienaam,
Refresh,Vernieuwen,
Success,Succes,
Value,Waarde,
Actual,Feitelijk,
Add to Cart,Voeg toe aan winkelkar,
Days Since Last Order,Dagen sinds laatste bestelling,
In Stock,Op voorraad,
Loan Amount is mandatory,Leenbedrag is verplicht,
Mode Of Payment,Manier van betalen,
No students Found,Geen studenten gevonden,
Not in Stock,Niet op voorraad,
Please select a Customer,Selecteer een klant,
Printed On,Afgedrukt op,
Received From,Ontvangen van,
Sales Person,Verkoper,
To date cannot be before From date,Tot datum kan niet eerder zijn dan vanaf datum,
Write Off,Afschrijven,
{0} Created,{0} Gemaakt,
Email Id,E-mail identiteit,
Actual ,Feitelijk,
Add to cart,Voeg toe aan winkelkar,
Budget,Begroting,
Chart Of Accounts Importer,Grafiek van accounts importeur,
Chart of Accounts,Rekeningschema,
Customer database.,Klantendatabase.,
Days Since Last order,Dagen sinds laatste bestelling,
Download as JSON,Downloaden als JSON,
End date can not be less than start date,Einddatum kan niet minder zijn dan startdatum,
For Default Supplier (Optional),Voor standaardleverancier (optioneel),
From date cannot be greater than To date,Vanaf-datum kan niet groter zijn dan Tot-datum,
Get items from,Haal items op van,
Group by,Groeperen op,
In stock,Op voorraad,
Item name,Itemnaam,
Loan amount is mandatory,Leenbedrag is verplicht,
Minimum Qty,Minimum aantal,
More details,Meer details,
Nature of Supplies,Aard van de benodigdheden,
No Items found.,Geen items gevonden.,
No employee found,Geen medewerker gevonden,
No students found,Geen studenten gevonden,
Not in stock,Niet op voorraad,
Not permitted,Niet toegestaan,
Open Issues ,Openstaande nummers,
Open Projects ,Open projecten,
Open To Do ,Open om te doen,
Operation Id,Operatie ID,
Partially ordered,Gedeeltelijk besteld,
Please select company first,Selecteer eerst bedrijf,
Please select patient,Selecteer een patiënt,
Printed On ,Afgedrukt op,
Projected qty,Geprojecteerd aantal,
Sales person,Verkoper,
Serial No {0} Created,Serienummer {0} gemaakt,
Set as default,Instellen als standaard,
Source Location is required for the Asset {0},Bronlocatie is vereist voor het activum {0},
Tax Id,BTW-nummer,
To Time,Timen,
To date cannot be before from date,Tot datum kan niet eerder zijn dan vanaf datum,
Total Taxable value,Totaal belastbare waarde,
Upcoming Calendar Events ,Aankomende agenda-evenementen,
Value or Qty,Waarde of aantal,
Variance ,Variantie,
Variant of,Variant van,
Write off,Afschrijven,
Write off Amount,Afschrijvingsbedrag,
hours,uren,
received from,ontvangen van,
to,naar,
Customer &gt; Customer Group &gt; Territory,Klant&gt; Klantengroep&gt; Gebied,
Item Code &gt; Item Group &gt; Brand,Artikelcode&gt; Artikelgroep&gt; Merk,
Please set Naming Series for {0} via Setup &gt; Settings &gt; Naming Series,Stel Naming Series in op {0} via Instellingen&gt; Instellingen&gt; Naming Series,
Please setup Employee Naming System in Human Resource &gt; HR Settings,Stel het naamgevingssysteem voor werknemers in via Human Resource&gt; HR-instellingen,
Please setup Instructor Naming System in Education &gt; Education Settings,Stel het instructeursysteem in onder onderwijs&gt; onderwijsinstellingen,
Please setup numbering series for Attendance via Setup &gt; Numbering Series,Stel nummeringseries in voor Aanwezigheid via Setup&gt; Nummeringsseries,
Supplier &gt; Supplier Type,Leverancier&gt; Type leverancier,
UOM Conversion factor ({0} -&gt; {1}) not found for item: {2},UOM-conversiefactor ({0} -&gt; {1}) niet gevonden voor item: {2},
