"""Customer Provided Item"" cannot be Purchase Item also",Door klant toegevoegd artikel kan niet tegelijkertijd een koopartikel zijn,
"""Customer Provided Item"" cannot have Valuation Rate",&#39;Door de klant verstrekt artikel&#39; kan geen waarderingspercentage hebben,
"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Is vaste activa"" kan niet worden uitgeschakeld, als Asset record bestaat voor dit item",
'Based On' and 'Group By' can not be same,'Gebaseerd op' en 'Groepeer per' kunnen niet hetzelfde zijn,
'Days Since Last Order' must be greater than or equal to zero,'Dagen sinds laatste opdracht' moet groter of gelijk zijn aan nul,
'Entries' cannot be empty,'Invoer' kan niet leeg zijn,
'From Date' is required,'Van Datum' is vereist,
'From Date' must be after 'To Date','Van Datum' moet na 'Tot Datum' zijn,
'Has Serial No' can not be 'Yes' for non-stock item,'Heeft Serienummer' kan niet 'ja' zijn voor niet- voorraad artikel,
'Opening',&#39;Opening&#39;,
'To Case No.' cannot be less than 'From Case No.','Tot Zaak nr' kan niet minder zijn dan 'Van Zaak nr',
'To Date' is required,'Tot Datum' is vereist,
'Total',&#39;Totaal&#39;,
'Update Stock' can not be checked because items are not delivered via {0},'Bijwerken voorraad' kan niet worden aangevinkt omdat items niet worden geleverd via {0},
'Update Stock' cannot be checked for fixed asset sale,&#39;Bijwerken Stock&#39; kan niet worden gecontroleerd op vaste activa te koop,
) for {0},) voor {0},
1 exact match.,1 exacte match.,
90-Above,90-Boven,
A Customer Group exists with same name please change the Customer name or rename the Customer Group,Een Klantgroep met dezelfde naam bestaat. Gelieve de naam van de Klant of de Klantgroep  wijzigen,
A 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 meerdere opties hebben,
A qustion must have at least one correct options,Een vraag moet ten minste één juiste optie hebben,
A {0} exists between {1} and {2} (,Een {0} bestaat tussen {1} en {2} (,
A4,A4,
API Endpoint,API-eindpunt,
API Key,API Key,
Abbr can not be blank or space,Abbr kan niet leeg of ruimte,
Abbreviation already used for another company,Afkorting al gebruikt voor een ander bedrijf,
Abbreviation cannot have more than 5 characters,Afkorting kan niet meer dan 5 tekens lang zijn,
Abbreviation is mandatory,Afkorting is verplicht,
About the Company,Over het bedrijf,
About your company,Over uw bedrijf,
Above,Boven,
Absent,Afwezig,
Academic Term,Academisch semester,
Academic Term: ,Academische termijn:,
Academic Year,Academisch jaar,
Academic Year: ,Academiejaar:,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Geaccepteerde + Verworpen Aantal moet gelijk zijn aan Ontvangen aantal zijn voor Artikel {0},
Access Token,Toegang Token,
Accessable Value,Toegankelijke waarde,
Account,Rekening,
Account Number,Rekeningnummer,
Account Number {0} already used in account {1},Accountnummer {0} al gebruikt in account {1},
Account Pay Only,Rekening betalen enkel,
Account Type,Rekening Type,
Account Type for {0} must be {1},Rekening Type voor {0} moet {1},
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Accountbalans reeds in Credit, 'Balans moet zijn' mag niet als 'Debet' worden ingesteld",
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Accountbalans reeds in Debet, 'Balans moet zijn' mag niet als 'Credit' worden ingesteld",
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,Rekening met onderliggende nodes kunnen niet worden omgezet naar grootboek,
Account with child nodes cannot be set as ledger,Rekening met de onderliggende knooppunten kan niet worden ingesteld als grootboek,
Account with existing transaction can not be converted to group.,Rekening met bestaande transactie kan niet worden omgezet naar een groep .,
Account with existing transaction can not be deleted,Rekening met bestaande transactie kan niet worden verwijderd,
Account with existing transaction cannot be converted to ledger,Rekening met bestaande transactie kan niet worden geconverteerd naar grootboek,
Account {0} does not belong to company: {1},Rekening {0} behoort niet tot bedrijf: {1},
Account {0} does not belongs to company {1},Account {0} behoort niet tot bedrijf {1},
Account {0} does not exist,Rekening {0} bestaat niet,
Account {0} does not exists,Rekening {0} bestaat niet,
Account {0} does not match with Company {1} in Mode of Account: {2},Rekening {0} komt niet overeen met Bedrijf {1} in Rekeningmodus: {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 onderliggende bedrijf {1},
Account {0} is frozen,Rekening {0} is bevroren,
Account {0} is invalid. Account Currency must be {1},Account {0} is ongeldig. Account Valuta moet {1} zijn,
Account {0}: Parent account {1} can not be a ledger,Rekening {0}: Bovenliggende rekening {1} kan geen grootboek zijn,
Account {0}: Parent account {1} does not belong to company: {2},Rekening {0}: Bovenliggende rekening {1} hoort niet bij bedrijf: {2},
Account {0}: Parent account {1} does not exist,Rekening {0}: Bovenliggende rekening {1} bestaat niet,
Account {0}: You can not assign itself as parent account,Rekening {0}: U kunt niet de rekening zelf toewijzen als bovenliggende rekening,
Account: {0} can only be updated via Stock Transactions,Account: {0} kan alleen worden bijgewerkt via Voorraad Transacties,
Account: {0} with currency: {1} can not be selected,Account: {0} met valuta: {1} kan niet worden geselecteerd,
Accountant,Accountant,
Accounting,Boekhouding,
Accounting Entry for Asset,Boekhoudingsinvoer voor activa,
Accounting Entry for Stock,Boekingen voor Voorraad,
Accounting Entry for {0}: {1} can only be made in currency: {2},Rekening ingave voor {0}: {1} kan alleen worden gedaan in valuta: {2},
Accounting Ledger,Boekhoudboek,
Accounting journal entries.,Journaalposten.,
Accounts,Rekeningen,
Accounts Manager,Rekeningen Beheerder,
Accounts Payable,Crediteuren,
Accounts Payable Summary,Crediteuren Samenvatting,
Accounts Receivable,Debiteuren,
Accounts Receivable Summary,Debiteuren Samenvatting,
Accounts User,Gebruikersaccounts,
Accounts table cannot be blank.,Rekeningtabel mag niet leeg zijn.,
Accrual Journal Entry for salaries from {0} to {1},Inschrijvingsboekingang voor salarissen van {0} tot {1},
Accumulated Depreciation,Cumulatieve afschrijvingen,
Accumulated Depreciation Amount,Cumulatieve afschrijvingen Bedrag,
Accumulated Depreciation as on,Cumulatieve afschrijvingen per,
Accumulated Monthly,Maandelijks geaccumuleerd,
Accumulated Values,Geaccumuleerde waarden,
Accumulated Values in Group Company,Geaccumuleerde waarden in groepsmaatschappij,
Achieved ({}),Behaald ({}),
Action,Actie,
Action Initialised,Actie geïnitialiseerd,
Actions,Acties,
Active,Actief,
Activity Cost exists for Employee {0} against Activity Type - {1},Activiteit Kosten bestaat voor Employee {0} tegen Activity Type - {1},
Activity Cost per Employee,Activiteitskosten per werknemer,
Activity Type,Activiteit Type,
Actual Cost,Werkelijke kosten,
Actual Delivery Date,Werkelijke leverdatum,
Actual Qty,Werkelijk aantal,
Actual Qty is mandatory,Werkelijke aantal is verplicht,
Actual Qty {0} / Waiting Qty {1},Werkelijk Aantal {0} / Aantal Wachten {1},
Actual Qty: Quantity available in the warehouse.,Werkelijke Aantal: Aantal beschikbaar in het magazijn.,
Actual qty in stock,Werkelijke hoeveelheid op voorraad,
Actual type tax cannot be included in Item rate in row {0},Werkelijke soort belasting kan niet worden opgenomen in post tarief in rij {0},
Add,Toevoegen,
Add / Edit Prices,Toevoegen / bewerken Prijzen,
Add Comment,Reactie toevoegen,
Add Customers,Voeg klanten toe,
Add Employees,Werknemers toevoegen,
Add Item,Item toevoegen,
Add Items,Items toevoegen,
Add Leads,Leads toevoegen,
Add Multiple Tasks,Meerdere taken toevoegen,
Add Row,Voeg een rij toe,
Add Sales Partners,Voeg verkooppartners toe,
Add Serial No,Voeg Serienummer toe,
Add Students,Studenten toevoegen,
Add Suppliers,Leveranciers toevoegen,
Add Time Slots,Voeg tijdslots toe,
Add Timesheets,Voeg Timesheets,
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,Kaarten of aangepaste secties toevoegen op de startpagina,
Add more items or open full form,Voeg meer items of geopend volledige vorm,
Add notes,Notities toevoegen,
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 als uw gebruikers. U kunt ook toevoegen uitnodigen klanten naar uw portal door ze toe te voegen vanuit Contacten,
Add to Details,Toevoegen aan details,
Add/Remove Recipients,Toevoegen / verwijderen Ontvangers,
Added,Toegevoegd,
Added to details,Toegevoegd aan details,
Added {0} users,{0} gebruikers toegevoegd,
Additional Salary Component Exists.,Extra salariscomponent bestaat.,
Address,Adres,
Address Line 2,Adres Lijn 2,
Address Name,Adres naam,
Address Title,Adres Titel,
Address Type,Adrestype,
Administrative Expenses,Administratie Kosten,
Administrative Officer,Boekhouder,
Administrator,Beheerder,
Admission,Toelating,
Admission and Enrollment,Toelating en inschrijving,
Admissions for {0},Opnames voor {0},
Admit,Toegeven,
Admitted,toegelaten,
Advance Amount,Voorschot Bedrag,
Advance Payments,Advance Payments,
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},Advance bedrag kan niet groter zijn dan {0} {1},
Advertising,Adverteren,
Aerospace,Ruimtevaart,
Against,Tegen,
Against Account,Tegen Rekening,
Against Journal Entry {0} does not have any unmatched {1} entry,Tegen Journal Entry {0} heeft geen ongeëvenaarde {1} binnenkomst hebben,
Against Journal Entry {0} is already adjusted against some other voucher,Tegen Journal Entry {0} is al aangepast tegen enkele andere voucher,
Against Supplier Invoice {0} dated {1},Tegen Leverancier Factuur {0} gedateerd {1},
Against Voucher,Tegen voucher,
Against Voucher Type,Tegen Voucher Type,
Age,Leeftijd,
Age (Days),Leeftijd (dagen),
Ageing Based On,Vergrijzing Based On,
Ageing Range 1,Vergrijzing Range 1,
Ageing Range 2,Vergrijzing Range 2,
Ageing Range 3,Vergrijzing Range 3,
Agriculture,landbouw,
Agriculture (beta),Landbouw (bèta),
Airline,vliegmaatschappij,
All Accounts,Alle accounts,
All Addresses.,Alle adressen.,
All Assessment Groups,Alle Assessment Groepen,
All BOMs,Alle stuklijsten,
All Contacts.,Alle contactpersonen.,
All Customer Groups,Alle Doelgroepen,
All Day,Gehele dag,
All Departments,Alle afdelingen,
All Healthcare Service Units,Alle Healthcare Service Units,
All Item Groups,Alle Artikel Groepen,
All Jobs,alle vacatures,
All Products,Alle producten,
All Products or Services.,Alle producten of diensten.,
All Student Admissions,Alle studentenadministratie,
All Supplier Groups,Alle leveranciersgroepen,
All Supplier scorecards.,Alle leveranciers scorecards.,
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 transferred for this Work Order.,Alle items zijn al overgedragen voor deze werkbon.,
All other ITC,Alle overige 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.,
Allocate Payment Amount,Toewijzen Betaling Bedrag,
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,
Amended From,Gewijzigd Van,
Amount,Bedrag,
Amount After Depreciation,Bedrag na afschrijvingen,
Amount of Integrated Tax,Bedrag van geïntegreerde belasting,
Amount of TDS Deducted,Hoeveelheid TDS afgetrokken,
Amount should not be less than zero.,Bedrag mag niet minder dan nul zijn.,
Amount to Bill,Neerkomen op Bill,
Amount {0} {1} against {2} {3},Bedrag {0} {1} tegen {2} {3},
Amount {0} {1} deducted against {2},Bedrag {0} {1} in mindering gebracht tegen {2},
Amount {0} {1} transferred from {2} to {3},Bedrag {0} {1} overgebracht 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 artikel Group bestaat met dezelfde naam , moet u de naam van het item of de naam van de artikelgroep",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Een wetenschappelijke term met deze &#39;Academisch Jaar&#39; {0} en &#39;Term Name&#39; {1} bestaat al. Wijzig deze ingangen 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} ) , wijzigt u de naam van het item groep of hernoem het item",
Analyst,analist,
Analytics,Analytics,
Annual Billing: {0},Jaarlijkse Billing: {0},
Annual Salary,Jaarsalaris,
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 ander Periode sluitpost {0} is gemaakt na {1},
Another Sales Person {0} exists with the same Employee id,Een andere Sales Person {0} bestaat met dezelfde werknemer id,
Antibiotic,Antibioticum,
Apparel & Accessories,Kleding & Toebehoren,
Applicable For,Toepasselijk voor,
"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 naamloze vennootschap is,
Applicable if the company is an Individual or a Proprietorship,Van toepassing als het bedrijf een individu of een eigenaar is,
Applicant,aanvrager,
Applicant Type,aanvrager Type,
Application of Funds (Assets),Toepassing van kapitaal (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,Aanvraagperiode kan buiten verlof toewijzingsperiode niet,
Applied,Toegepast,
Apply Now,Nu toepassen,
Appointment Confirmation,Afspraak bevestiging,
Appointment Duration (mins),Benoemingsduur (minuten),
Appointment Type,Afspraakstype,
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 Employee {1} in de bepaalde periode,
Apprentice,Leerling,
Approval Status,Goedkeuringsstatus,
Approval Status must be 'Approved' or 'Rejected',Goedkeuring Status moet worden ' goedgekeurd ' of ' Afgewezen ',
Approve,Goedkeuren,
Approving Role cannot be same as role the rule is Applicable To,Goedkeuring Rol kan niet hetzelfde zijn als de rol van de regel is van toepassing op,
Approving User cannot be same as user the rule is Applicable To,Goedkeuring van Gebruiker kan niet hetzelfde zijn als gebruiker de regel is van toepassing op,
"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,Op Date,
As Supervisor,Als supervisor,
As per rules 42 & 43 of CGST Rules,Volgens regels 42 en 43 van CGST-regels,
As per section 17(5),Volgens sectie 17 (5),
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,assessment Group,
Assessment Group: ,Evaluatiegroep:,
Assessment Plan,Assessment Plan,
Assessment Plan Name,Beoordeling plannaam,
Assessment Report,Beoordelingsverslag,
Assessment Reports,Beoordelingsrapporten,
Assessment Result,assessment Resultaat,
Assessment Result record {0} already exists.,Beoordeling Resultaat record {0} bestaat al.,
Asset,aanwinst,
Asset Category,Asset Categorie,
Asset Category is mandatory for Fixed Asset item,Asset Categorie is verplicht voor post der vaste activa,
Asset Maintenance,Asset onderhoud,
Asset Movement,Asset Movement,
Asset Movement record {0} created,Asset bewegingsartikel {0} aangemaakt,
Asset Name,Asset Naam,
Asset Received But Not Billed,Activum ontvangen maar niet gefactureerd,
Asset Value Adjustment,Aanpassing van activumwaarde,
"Asset cannot be cancelled, as it is already {0}","Asset kan niet worden geannuleerd, want het is al {0}",
Asset scrapped via Journal Entry {0},Asset gesloopt via Journal Entry {0},
"Asset {0} cannot be scrapped, as it is already {1}","Asset {0} kan niet worden gesloopt, want het is al {1}",
Asset {0} does not belong to company {1},Asset {0} niet behoort tot bedrijf {1},
Asset {0} must be submitted,Asset {0} moet worden ingediend,
Assets,Middelen,
Assign,Toewijzen,
Assign Salary Structure,Salarisstructuur toewijzen,
Assign To,Toewijzen aan,
Assign to Employees,Toewijzen aan werknemers,
Assigning Structures...,Structuren toewijzen ...,
Associate,Associëren,
At least one mode of payment is required for POS invoice.,Ten minste één wijze van betaling is vereist voor POS factuur.,
Atleast one item should be entered with negative quantity in return document,Minstens één punt moet in ruil document worden ingevoerd met een negatieve hoeveelheid,
Atleast one of the Selling or Buying must be selected,Tenminste een van de verkopen of aankopen moeten worden gekozen,
Atleast one warehouse is mandatory,Tenminste een magazijn is verplicht,
Attach Logo,Bevestig Logo,
Attachment,Gehechtheid,
Attachments,Toebehoren,
Attendance,Aanwezigheid,
Attendance From Date and Attendance To Date is mandatory,Aanwezigheid Van Datum en Aanwezigheid Tot Datum zijn verplicht.,
Attendance can not be marked for future dates,Aanwezigheid kan niet aangemerkt worden voor toekomstige data,
Attendance date can not be less than employee's joining date,Aanwezigheid datum kan niet lager zijn dan het samenvoegen van de datum werknemer zijn,
Attendance for employee {0} is already marked,Aanwezigheid voor werknemer {0} is al gemarkeerd,
Attendance for employee {0} is already marked for this day,Attendance voor personeelsbeloningen {0} is al gemarkeerd voor deze dag,
Attendance has been marked successfully.,Aanwezigheid is met succes gemarkeerd.,
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} bij verlof.,
Attribute table is mandatory,Attributentabel is verplicht,
Attribute {0} selected multiple times in Attributes Table,Kenmerk {0} meerdere keren geselecteerd in Attributes Tabel,
Author,Auteur,
Authorized Signatory,Geautoriseerd ondertekenaar,
Auto Material Requests Generated,Auto Materiaal Verzoeken Vernieuwd,
Auto Repeat,Auto herhalen,
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,Gem Daily Uitgaande,
Avg. Buying Price List Rate,Gem. Prijslijst kopen,
Avg. Selling Price List Rate,Gem. Prijslijst tarief verkopen,
Avg. Selling Rate,Gem. Verkoopkoers,
BOM,BOM,
BOM Browser,BOM Browser,
BOM No,Stuklijst nr.,
BOM Rate,Stuklijst tarief,
BOM Stock Report,BOM Stock Report,
BOM and Manufacturing Quantity are required,BOM en Productie Hoeveelheid nodig,
BOM does not contain any stock item,BOM geen voorraad artikel bevatten,
BOM {0} does not belong to Item {1},Stuklijst {0} behoort niet tot Artikel {1},
BOM {0} must be active,Stuklijst {0} moet actief zijn,
BOM {0} must be submitted,Stuklijst {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,Balans Waarde,
Balance for Account {0} must always be {1},Saldo van rekening {0} moet altijd {1} zijn,
Bank,Bank,
Bank Account,Bankrekening,
Bank Accounts,Bankrekeningen,
Bank Draft,Bankcheque,
Bank Entries,Bank Gegevens,
Bank Name,Banknaam,
Bank Overdraft Account,Bank Kredietrekening,
Bank Reconciliation,Bank Aflettering,
Bank Reconciliation Statement,Bank Aflettering Statement,
Bank Statement,Bankafschrift,
Bank Statement Settings,Instellingen bankafschriften,
Bank Statement balance as per General Ledger,Bankafschrift saldo per General Ledger,
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 de partij of voor interne overplaatsing,
Banking,Bankieren,
Banking and Payments,Bank en betalingen,
Barcode {0} already used in Item {1},Barcode {0} is al gebruikt in het Item {1},
Barcode {0} is not a valid {1} code,Barcode {0} is geen geldige {1} code,
Base,Baseren,
Base URL,Basis-URL,
Based On,Gebaseerd op,
Based On Payment Terms,Op basis van betalingsvoorwaarden,
Basic,Basis,
Batch,Partij,
Batch Entries,Batchvermeldingen,
Batch ID is mandatory,Batch ID is verplicht,
Batch Inventory,Batch Inventory,
Batch Name,batch Naam,
Batch No,Partij nr.,
Batch number is mandatory for Item {0},Partij nummer 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,
Beginner,Beginner,
Bill,Bill,
Bill Date,Factuurdatum,
Bill No,Factuur nr,
Bill of Materials,Stuklijst,
Bill of Materials (BOM),Stuklijsten,
Billable Hours,Factureerbare uren,
Billed,gefactureerd,
Billed Amount,Gefactureerd bedrag,
Billing,Facturering,
Billing Address,Factuuradres,
Billing Address is same as Shipping Address,Factuuradres is hetzelfde als verzendadres,
Billing Amount,Factuurbedrag,
Billing Status,Factuurstatus,
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 van leveranciers.,
Bills raised to Customers.,Factureren aan Klanten,
Biotechnology,biotechnologie,
Birthday Reminder,Verjaardag Herinnering,
Black,Zwart,
Blanket Orders from Costumers.,Algemene bestellingen van klanten.,
Block Invoice,Blokfactuur,
Boms,Boms,
Bonus Payment Date cannot be a past date,Bonus Betalingsdatum 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 tot hetzelfde bedrijf behoren,
Branch,Tak,
Broadcasting,Uitzenden,
Brokerage,Makelaardij,
Browse BOM,Bladeren BOM,
Budget Against,budget Against,
Budget List,Budgetlijst,
Budget Variance Report,Budget variantie rapport,
Budget cannot be assigned against Group Account {0},Budget kan niet tegen Group rekening worden toegewezen {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Budget kan niet worden toegewezen tegen {0}, want het is geen baten of lasten rekening",
Buildings,Gebouwen,
Bundle items at time of sale.,Bundel artikelen op moment van verkoop.,
Business Development Manager,Business Development Manager,
Buy,Kopen,
Buying,Inkoop,
Buying Amount,Aankoop Bedrag,
Buying Price List,Prijslijst kopen,
Buying Rate,Koopsnelheid,
"Buying must be checked, if Applicable For is selected as {0}","Aankopen moeten worden gecontroleerd, indien ""VAN TOEPASSING VOOR"" is geselecteerd als {0}",
By {0},Door {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-vorm is niet van toepassing voor de factuur: {0},
CEO,Directeur,
CESS Amount,CESS-bedrag,
CGST Amount,CGST-bedrag,
CRM,CRM,
CWIP Account,CWIP-account,
Calculated Bank Statement balance,Berekende bankafschrift balans,
Calls,Oproepen,
Campaign,Campagne,
Can be approved by {0},Kan door {0} worden goedgekeurd,
"Can not filter based on Account, if grouped by Account","Kan niet filteren op basis van Rekening, indien gegroepeerd op Rekening",
"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 betaling uitvoeren voor ongefactureerde {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Kan de rij enkel verwijzen bij het aanrekeningstype 'Hoeveelheid vorige rij' of 'Totaal vorige rij',
"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 wijzigen, aangezien er transacties zijn tegen sommige items die geen eigen waarderingsmethode 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,Annuleren Materiaal Bezoek {0} voor het annuleren van deze Garantie Claim,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Annuleren Materiaal Bezoeken {0} voor het annuleren van deze Maintenance Visit,
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 indienen, werknemers verlaten om aanwezigheid te markeren",
Cannot be a fixed asset item as Stock Ledger is created.,Kan geen vast activumartikel zijn omdat het grootboek Voorraad wordt gecreëerd.,
Cannot cancel because submitted Stock Entry {0} exists,Kan niet annuleren omdat ingediende Voorraad Invoer {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 artikel 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 boekjaar startdatum en einddatum niet wijzigen eenmaal het boekjaar is opgeslagen.,
Cannot change Service Stop Date for item in row {0},Kan de service-einddatum voor item 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 standaard valuta van het bedrijf niet veranderen want er zijn bestaande transacties. Transacties moeten worden geannuleerd om de standaard valuta te wijzigen.,
Cannot change status as student {0} is linked with student application {1},Kan niet status als student te veranderen {0} is gekoppeld aan student toepassing {1},
Cannot convert Cost Center to ledger as it has child nodes,Kan kostenplaats niet omzetten naar grootboek vanwege onderliggende nodes,
Cannot covert to Group because Account Type is selected.,Kan niet omzetten naar 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,Kan stuklijst niet deactiveren of annuleren aangezien het is gelinkt met andere stuklijsten.,
"Cannot declare as lost, because Quotation has been made.","Kan niet als verloren instellen, omdat offerte is gemaakt.",
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Kan niet aftrekken als categorie is voor ' Valuation ' of ' Valuation en Total ',
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Kan niet aftrekken als categorie is voor &#39;Valuation&#39; of &#39;Vaulation en Total&#39;,
"Cannot delete Serial No {0}, as it is used in stock transactions","Kan Serienummer {0} niet verwijderen, omdat het wordt gebruikt in voorraadtransacties",
Cannot enroll more than {0} students for this student group.,Kan niet meer dan {0} studenten voor deze groep studenten inschrijven.,
Cannot find Item with this barcode,Kan item met deze barcode niet vinden,
Cannot find active Leave Period,Actieve verlofperiode niet te vinden,
Cannot produce more Item {0} than Sales Order quantity {1},Kan niet meer produceren van Artikel {0} dan de Verkooporder hoeveelheid {1},
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,Kan niet verwijzen rij getal groter dan of gelijk aan de huidige rijnummer voor dit type Charge,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Kan het type lading niet selecteren als 'On Vorige Row Bedrag ' of ' On Vorige Row Totaal ' voor de eerste rij,
Cannot set as Lost as Sales Order is made.,"Kan niet als verloren instellen, omdat er al een verkooporder is gemaakt.",
Cannot set authorization on basis of Discount for {0},Kan de autorisatie niet 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 hoeveelheid niet lager instellen dan geleverde hoeveelheid,
Cannot set quantity less than received quantity,Kan hoeveelheid niet lager instellen dan ontvangen hoeveelheid,
Cannot set the field <b>{0}</b> for copying in variants,Kan veld <b>{0}</b> niet instellen voor het kopiëren in varianten,
Cannot transfer Employee with status Left,Kan werknemer niet overnemen met status links,
Cannot {0} {1} {2} without any negative outstanding invoice,Kan niet {0} {1} {2} zonder negatieve openstaande factuur,
Capital Equipments,Kapitaalgoederen,
Capital Stock,Kapitaal Stock,
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},Zaak nr. ( s ) al in gebruik. Probeer uit Zaak nr. {0},
Cash,Contant,
Cash Flow Statement,Kasstroomoverzicht,
Cash Flow from Financing,De cashflow uit financiële activiteiten,
Cash Flow from Investing,De cashflow uit investeringsactiviteiten,
Cash Flow from Operations,De cashflow uit bedrijfsoperaties,
Cash In Hand,Contanten in de hand,
Cash or Bank Account is mandatory for making payment entry,Kas- of Bankrekening is verplicht om een  betaling aan te maken,
Cashier Closing,Kassier sluiten,
Casual Leave,Casual Leave,
Category,Categorie,
Category Name,Categorienaam,
Caution,Voorzichtigheid,
Central Tax,Centrale belasting,
Certification,certificaat,
Cess,Cess,
Change Amount,Change Bedrag,
Change Item Code,Itemcode wijzigen,
Change Release Date,Wijzigingsdatum wijzigen,
Change Template Code,Sjablooncode wijzigen,
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,Charge van het type ' Actual ' in rij {0} kan niet worden opgenomen in Item Rate,
Chargeble,Chargeble,
Charges are updated in Purchase Receipt against each item,Kosten worden bijgewerkt in Kwitantie tegen elk item,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Kosten zullen worden proportioneel gedistribueerd op basis van punt aantal of de hoeveelheid, als per uw selectie",
Chart of Cost Centers,Kostenplaatsenschema,
Check all,Alles aanvinken,
Checkout,Uitchecken,
Chemical,Chemisch,
Cheque,Cheque,
Cheque/Reference No,Cheque / Reference No,
Cheques Required,Controles vereist,
Cheques and Deposits incorrectly cleared,Cheques en Deposito verkeerd ontruimd,
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,Child nodes kunnen alleen worden gemaakt op grond van het type nodes &#39;Groep&#39;,
Child warehouse exists for this warehouse. You can not delete this warehouse.,Child magazijn bestaat voor dit magazijn. U kunt dit magazijn niet verwijderen.,
Circular Reference Error,Kringverwijzing Error,
City,City,
City/Town,Stad / Plaats,
Claimed Amount,Geclaimd bedrag,
Clay,Klei,
Clear filters,Filters wissen,
Clear values,Duidelijke waarden,
Clearance Date,Clearance Datum,
Clearance Date not mentioned,Ontruiming Datum niet vermeld,
Clearance Date updated,Ontruiming Geactualiseerd,
Client,Klant,
Client ID,klant identificatie,
Client Secret,Client Secret,
Clinical Procedure,Klinische procedure,
Clinical Procedure Template,Klinische procedure-sjabloon,
Close Balance Sheet and book Profit or Loss.,Sluiten Balans en boek Winst of verlies .,
Close Loan,Lening afsluiten,
Close the POS,Sluit de POS,
Closed,Gesloten,
Closed order cannot be cancelled. Unclose to cancel.,Gesloten bestelling kan niet worden geannuleerd. Openmaken om te annuleren.,
Closing (Cr),Sluiten (Cr),
Closing (Dr),Sluiten (Db),
Closing (Opening + Total),Sluiten (Opening + totaal),
Closing Account {0} must be of type Liability / Equity,Sluiten account {0} moet van het type aansprakelijkheid / Equity zijn,
Closing Balance,Eindsaldo,
Code,Code,
Collapse All,Alles inklappen,
Color,Kleur,
Colour,Kleur,
Combined invoice portion must equal 100%,Gecombineerd factuurgedeelte moet 100% zijn,
Commercial,commercieel,
Commission,Commissie,
Commission Rate %,Commissiepercentage%,
Commission on Sales,Commissie op de verkoop,
Commission rate cannot be greater than 100,Commissietarief kan niet groter zijn dan 100,
Community Forum,Community Forum,
Company (not Customer or Supplier) master.,Bedrijf ( geen 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 niet 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 Transactions.,
Company is manadatory for company account,Bedrijf is typisch voor bedrijfsaccount,
Company name not same,Bedrijfsnaam niet hetzelfde,
Company {0} does not exist,Company {0} bestaat niet,
Compensatory Off,compenserende Off,
Compensatory leave request days not in valid holidays,Verzoek om compenserende verlofaanvragen niet in geldige feestdagen,
Complaint,Klacht,
Completion Date,Voltooiingsdatum,
Computer,Computer,
Condition,Voorwaarde,
Configure,configureren,
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,Consulting,
Consumable,verbruiksartikelen,
Consumed,Verbruikt,
Consumed Amount,Verbruikte hoeveelheid,
Consumed Qty,Verbruikt aantal,
Consumer Products,Consumentenproducten,
Contact,Contact,
Contact Details,Contactgegevens,
Contact Number,Contact nummer,
Contact Us,Neem contact met ons op,
Content,Inhoud,
Content Masters,Content Masters,
Content Type,Content Type,
Continue Configuration,Ga door met de configuratie,
Contract,Contract,
Contract End Date must be greater than Date of Joining,Contract Einddatum moet groter zijn dan datum van indiensttreding zijn,
Contribution %,Bijdrage %,
Contribution Amount,Bijdrage hoeveelheid,
Conversion factor for default Unit of Measure must be 1 in row {0},Conversiefactor voor Standaard meeteenheid moet 1 zijn in rij {0},
Conversion rate cannot be 0 or 1,Succespercentage kan niet 0 of 1 zijn,
Convert to Group,Converteren naar groep,
Convert to Non-Group,Converteren naar non-Group,
Cosmetics,Cosmetica,
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 regel {0} in Belastingen tabel voor type {1},
Cost Center with existing transactions can not be converted to group,Kostenplaats met bestaande transacties kan niet worden omgezet in groep,
Cost Center with existing transactions can not be converted to ledger,Kostenplaats met bestaande transacties kan niet worden omgezet naar grootboek,
Cost Centers,Kostenplaatsen,
Cost Updated,Kosten bijgewerkt,
Cost as on,Kosten Op,
Cost of Delivered Items,Kosten van geleverde zaken,
Cost of Goods Sold,Kostprijs verkochte goederen,
Cost of Issued Items,Kosten van Items Afgegeven,
Cost of New Purchase,Kosten van nieuwe aankoop,
Cost of Purchased Items,Kosten van gekochte artikelen,
Cost of Scrapped Asset,Kosten van Gesloopt Asset,
Cost of Sold Asset,Kosten van Verkochte Asset,
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}.,Kan informatie niet ophalen voor {0}.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,Kan de criteria score functie voor {0} niet oplossen. Zorg ervoor dat de formule geldig is.,
Could not solve weighted score function. Make sure the formula is valid.,Kan de gewogen score functie niet oplossen. Zorg ervoor dat de formule geldig is.,
Could not submit some Salary Slips,Kon sommige salarisstroken niet indienen,
"Could not update stock, invoice contains drop shipping item.","Kon niet bijwerken voorraad, factuur bevat daling van de scheepvaart punt.",
Country wise default Address Templates,Landgebaseerde standaard adressjablonen,
Course,Cursus,
Course Code: ,Cursuscode:,
Course Enrollment {0} does not exists,Cursusinschrijving {0} bestaat niet,
Course Schedule,Course Schedule,
Course: ,Cursus:,
Cr,Cr,
Create,Creëren,
Create BOM,Maak stuklijst,
Create Delivery Trip,Maak bezorgreis aan,
Create Disbursement Entry,Creëer uitbetalingsvermelding,
Create Employee,Werknemer aanmaken,
Create Employee Records,Maak Employee Records,
"Create Employee records to manage leaves, expense claims and payroll","Maak Employee records bladeren, declaraties en salarisadministratie beheren",
Create Fee Schedule,Creëer een vergoedingsschema,
Create Fees,Fees maken,
Create Inter Company Journal Entry,Creëer Inter Company Journaalboeking,
Create Invoice,Factuur maken,
Create Invoices,Facturen maken,
Create Job Card,Maak een opdrachtkaart,
Create Journal Entry,Maak een journaalboeking,
Create Lead,Creëer Lead,
Create Leads,Maak Leads,
Create Maintenance Visit,Maak onderhoudsbezoek,
Create Material Request,Materiaalaanvraag maken,
Create Multiple,Maak meerdere,
Create Opening Sales and Purchase Invoices,Maak openingsverkoop- en inkoopfacturen aan,
Create Payment Entries,Creëer betalingsinvoer,
Create Payment Entry,Maak betalingsinvoer,
Create Print Format,Maak Print Format,
Create Purchase Order,Bestelling creëren,
Create Purchase Orders,Maak Bestellingen,
Create Quotation,Maak Offerte,
Create Salary Slip,Maak loonstrook,
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,Creëer verkooporders om u te helpen uw werk te plannen en op tijd te leveren,
Create Sample Retention Stock Entry,Creëer monster retentie voorraad invoer,
Create Student,Maak een student aan,
Create Student Batch,Maak studentenbatch aan,
Create Student Groups,Maak Student Groepen,
Create Supplier Quotation,Offerte voor leveranciers maken,
Create Tax Template,Maak een BTW-sjabloon,
Create Timesheet,Maak een urenstaat,
Create User,Gebruiker aanmaken,
Create Users,Gebruikers maken,
Create Variant,Maak een variant,
Create Variants,Maak varianten,
"Create and manage daily, weekly and monthly email digests.","Aanmaken en beheren van dagelijkse, wekelijkse en maandelijkse e-mail samenvattingen.",
Create customer quotes,Maak een offerte voor de klant,
Create rules to restrict transactions based on values.,Regels maken om transacties op basis van waarden te beperken.,
Created By,Gemaakt door,
Created {0} scorecards for {1} between: ,Gecreëerd {0} scorecards voor {1} tussen:,
Creating Company and Importing Chart of Accounts,Bedrijf aanmaken en rekeningschema importeren,
Creating Fees,Fees creëren,
Creating Payment Entries......,Betaling invoeren ......,
Creating Salary Slips...,Salarisbrieven maken ...,
Creating student groups,Leergroepen creëren,
Creating {0} Invoice,{0} factuur aanmaken,
Credit,Krediet,
Credit ({0}),Krediet ({0}),
Credit Account,Credit Account,
Credit Balance,Batig saldo,
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,Credit Note Bedrag,
Credit Note Issued,Credit Note uitgegeven,
Credit Note {0} has been created automatically,Kredietnota {0} is automatisch aangemaakt,
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%,Criteriumgewichten moeten maximaal 100%,
Crop Cycle,Crop Cycle,
Crops & Lands,Gewassen en land,
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 na het maken van data met behulp van een andere valuta worden veranderd,
Currency exchange rate master.,Wisselkoers stam.,
Currency for {0} must be {1},Munt voor {0} moet {1},
Currency is required for Price List {0},Munt is nodig voor prijslijst {0},
Currency of the Closing Account must be {0},Valuta van de Closing rekening moet worden {0},
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,Actueel,
Current Assets,Vlottende 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,Kortlopende Schulden,
Current Qty,Huidige aantal,
Current invoice {0} is missing,Huidige factuur {0} ontbreekt,
Custom HTML,Aangepaste HTML,
Custom?,Aangepast?,
Customer,Klant,
Customer Addresses And Contacts,Klant adressen en contacten,
Customer Contact,Contactpersoon Klant,
Customer Database.,Klantenbestand.,
Customer Group,Klantengroep,
Customer LPO,Klant-LPO,
Customer LPO No.,LPO-nummer klant,
Customer Name,klantnaam,
Customer POS Id,Klant POS-id,
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 nodig voor 'Klantgebaseerde Korting',
Customer {0} does not belong to project {1},Klant {0} behoort niet tot project {1},
Customer {0} is created.,Klant {0} is gemaakt.,
Customers in Queue,Klanten in de wachtrij,
Customize Homepage Sections,Homepage secties aanpassen,
Customizing Forms,Aanpassen Formulieren,
Daily Project Summary for {0},Dagelijkse projectsamenvatting voor {0},
Daily Reminders,Dagelijkse herinneringen,
Daily Work Summary,Dagelijks Werk Samenvatting,
Daily Work Summary Group,Daily Work Summary Group,
Data Import and Export,Gegevens importeren en exporteren,
Data Import and Settings,Gegevens importeren en instellingen,
Database of potential customers.,Database van potentiële klanten.,
Date Format,Datumnotatie,
Date Of Retirement must be greater than Date of Joining,Pensioneringsdatum moet groter zijn dan datum van indiensttreding,
Date is repeated,Datum wordt herhaald,
Date of Birth,Geboortedatum,
Date of Birth cannot be greater than today.,Geboortedatum mag 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 indiensttreding,
Date of Joining must be greater than Date of Birth,Datum van indiensttreding moet groter zijn dan geboortedatum,
Date of Transaction,Transactiedatum,
Datetime,Datetime,
Day,Dag,
Debit,Debet,
Debit ({0}),Debet ({0}),
Debit A/C Number,Debit A / C nummer,
Debit Account,Debetrekening,
Debit Note,Debetnota,
Debit Note Amount,Debietnota Bedrag,
Debit Note Issued,Debetnota,
Debit To is required,Debet Om vereist,
Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debet en Credit niet gelijk voor {0} # {1}. Verschil {2}.,
Debtors,debiteuren,
Debtors ({0}),Debiteuren ({0}),
Declare Lost,Verklaar verklaren,
Deduction,Aftrek,
Default Activity Cost exists for Activity Type - {0},Default Activiteit Kosten bestaat voor Activity Type - {0},
Default BOM ({0}) must be active for this item or its template,Default BOM ({0}) moet actief voor dit artikel of zijn template,
Default BOM for {0} not found,Standaard BOM voor {0} niet gevonden,
Default BOM not found for Item {0} and Project {1},Standaard BOM niet gevonden voor Item {0} en Project {1},
Default Letter Head,Standaard Briefhoofd,
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.,"Standaard maateenheid voor post {0} kan niet direct worden gewijzigd, omdat je al enkele transactie (s) met een andere UOM hebben gemaakt. U moet een nieuwe post naar een andere Standaard UOM gebruik maken.",
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Standaard maateenheid voor Variant &#39;{0}&#39; moet hetzelfde zijn als in zijn Template &#39;{1}&#39;,
Default settings for buying transactions.,Standaardinstellingen voor Inkooptransacties .,
Default settings for selling transactions.,Standaardinstellingen voor Verkooptransacties .,
Default tax templates for sales and purchase are created.,Standaardbelastingsjablonen voor verkopen en kopen worden gemaakt.,
Defaults,Standaardwaarden,
Defense,Defensie,
Define Project type.,Definieer projecttype.,
Define budget for a financial year.,Definieer budget voor een boekjaar.,
Define various loan types,Definieer verschillende soorten lening,
Del,del,
Delay in payment (Days),Vertraging in de betaling (Dagen),
Delete all the Transactions for this Company,Verwijder alle transacties voor dit bedrijf,
Deletion is not permitted for country {0},Verwijderen is niet toegestaan voor land {0},
Delivered,Geleverd,
Delivered Amount,Afgeleverd Bedrag,
Delivered Qty,Geleverd aantal,
Delivered: {0},Geleverd: {0},
Delivery,Levering,
Delivery Date,Leveringsdatum,
Delivery Note,Vrachtbrief,
Delivery Note {0} is not submitted,Vrachtbrief {0} is niet ingediend,
Delivery Note {0} must not be submitted,Vrachtbrief {0} mag niet worden ingediend,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Vrachtbrief {0} moet worden geannuleerd voordat het annuleren van deze Verkooporder,
Delivery Notes {0} updated,Bezorgingsnotities {0} bijgewerkt,
Delivery Status,Verzendstatus,
Delivery Trip,Levering reis,
Delivery warehouse required for stock item {0},Levering magazijn vereist voor voorraad artikel {0},
Department,Afdeling,
Department Stores,Warenhuizen,
Depreciation,Afschrijvingskosten,
Depreciation Amount,afschrijvingen Bedrag,
Depreciation Amount during the period,Afschrijvingen bedrag gedurende de periode,
Depreciation Date,afschrijvingen Date,
Depreciation Eliminated due to disposal of assets,Afschrijvingen Uitgeschakeld als gevolg van verkoop van activa,
Depreciation Entry,afschrijvingen Entry,
Depreciation Method,afschrijvingsmethode,
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}: de verwachte waarde na nuttige levensduur moet groter zijn dan of gelijk zijn 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 Beschikbaar-voor-gebruik Datum,
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 binnenkomende leveringen die kunnen worden teruggeboekt,
Details of the operations carried out.,Details van de uitgevoerde handelingen.,
Diagnosis,Diagnose,
Did not find any item called {0},Item met de naam {0} niet gevonden,
Diff Qty,Diff,
Difference Account,Verschillenrekening,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Verschil moet Account een type Asset / Liability rekening zijn, aangezien dit Stock Verzoening is een opening Entry",
Difference Amount,Verschil Bedrag,
Difference Amount must be zero,Verschil Bedrag 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 eenheden voor artikelen zal leiden tot een onjuiste (Totaal) Netto gewicht. Zorg ervoor dat Netto gewicht van elk artikel in dezelfde eenheid is.,
Direct Expenses,Directe kosten,
Direct Income,Directe Inkomsten,
Disable,Uitschakelen,
Disabled template must not be default template,Gehandicapte template mag niet standaard template,
Disburse Loan,Lening betalen,
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 tegen een prijslijst of voor alle prijslijsten.,
Discount must be less than 100,Korting moet minder dan 100 zijn,
Diseases & Fertilizers,Ziekten &amp; Meststoffen,
Dispatch,Dispatch,
Dispatch Notification,Bericht verzending,
Dispatch State,Verzendstatus,
Distance,Afstand,
Distribution,Distributie,
Distributor,Distributeur,
Dividends Paid,Dividenden betaald,
Do you really want to restore this scrapped asset?,Wilt u deze schrapte activa echt herstellen?,
Do you really want to scrap this asset?,Wilt u dit actief echt schrappen?,
Do you want to notify all the customers by email?,Wilt u alle klanten per e-mail op de hoogte stellen?,
Doc Date,Doc Date,
Doc Name,Doc Naam,
Doc Type,Doc Type,
Docs Search,Google Documenten zoeken,
Document Name,Documentnaam,
Document Status,Document Status,
Document Type,Soort document,
Domain,Domein,
Domains,Domeinen,
Done,Afgerond,
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},Verval- / Referentiedatum kan niet na {0} zijn,
Due Date cannot be before Posting / Supplier Invoice Date,De vervaldatum kan niet eerder zijn dan de boekingsdatum / factuurdatum van de leverancier,
Due Date is mandatory,Vervaldatum is verplicht,
Duplicate Entry. Please check Authorization Rule {0},Dubbele invoer. Controleer Autorisatie Regel {0},
Duplicate Serial No entered for Item {0},Dubbel Serienummer ingevoerd voor Artikel {0},
Duplicate customer group found in the cutomer group table,Duplicate klantengroep in de cutomer groep tafel,
Duplicate entry,Dubbele invoer,
Duplicate item group found in the item group table,Duplicate artikelgroep gevonden in de artikelgroep tafel,
Duplicate roll number for student {0},Dubbele rolnummer voor student {0},
Duplicate row {0} with same {1},Dubbele rij {0} met dezelfde {1},
Duplicate {0} found in the table,Duplicaat {0} gevonden in de tabel,
Duration in Days,Duur in dagen,
Duties and Taxes,Invoerrechten en Belastingen,
E-Invoicing Information Missing,Informatie over e-facturering ontbreekt,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,ERPNext-instellingen,
Earliest,Vroegst,
Earnest Money,Onderpand,
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,Onderwijs,
Either location or employee must be required,Plaats of werknemer moet verplicht zijn,
Either target qty or target amount is mandatory,Ofwel doelwit aantal of streefbedrag is verplicht,
Either target qty or target amount is mandatory.,Ofwel doelwit aantal of streefbedrag is verplicht.,
Electrical,Elektrisch,
Electronic Equipments,Elektronische apparatuur,
Electronics,Elektronica,
Eligible ITC,In aanmerking komende ITC,
Email Account,E-mail account,
Email Address,E-mailadres,
"Email Address must be unique, already exists for {0}","E-mailadres moet uniek zijn, bestaat al voor {0}",
Email Digest: ,E-mail Digest:,
Email Reminders will be sent to all parties with email contacts,E-mailherinneringen worden verzonden naar alle partijen met e-mailcontacten,
Email Sent,E-mail verzonden,
Email Template,Email sjabloon,
Email not found in default contact,E-mailadres niet gevonden in standaardcontact,
Email sent to {0},E-mail verzonden naar {0},
Employee,werknemer,
Employee A/C Number,A / C-nummer werknemer,
Employee Advances,Voorschotten voor werknemers,
Employee Benefits,Employee Benefits,
Employee Grade,Werknemersrang,
Employee ID,Werknemer ID,
Employee Lifecycle,Employee Lifecycle,
Employee Name,Werknemer Naam,
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 niet rapporteren aan zichzelf.,
Employee relieved on {0} must be set as 'Left',Werknemer ontslagen op {0} moet worden ingesteld als 'Verlaten',
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 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},Employee {0} op een halve dag op {1},
Enable,in staat stellen,
Enable / disable currencies.,In- / uitschakelen valuta .,
Enabled,Ingeschakeld,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Inschakelen &quot;Gebruik voor Winkelwagen &#39;, zoals Winkelwagen is ingeschakeld en er moet minstens één Tax Rule voor Winkelwagen 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,Eindjaar,
End Year cannot be before Start Year,Eindjaar kan niet voor Start Jaar,
End on,Eindigt op,
End time cannot be before start time,Eindtijd kan niet eerder zijn dan starttijd,
Ends On date cannot be before Next Contact Date.,Eindigt op datum kan niet eerder zijn dan volgende contactdatum.,
Energy,Energie,
Engineer,Ingenieur,
Enough Parts to Build,Genoeg Parts te bouwen,
Enroll,Inschrijven,
Enrolling student,student die zich inschrijft,
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 uitleeninstelling in voordat u ze indient.,
Enter value betweeen {0} and {1},Voer waarde in tussen {0} en {1},
Entertainment & Leisure,Entertainment & Vrije Tijd,
Entertainment Expenses,Representatiekosten,
Equity,Vermogen,
Error Log,Error log,
Error evaluating the criteria formula,Fout bij het evalueren van de criteria formule,
Error in formula or condition: {0},Fout in formule of aandoening: {0},
Error: Not a valid id?,Fout: geen geldig id?,
Estimated Cost,Geschatte kosten,
Evaluation,evaluatie,
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Als er meerdere Prijsbepalings Regels zijn met de hoogste prioriteit, dan wordt de volgende interene prioriteit gehanteerd:",
Event,Evenement,
Event Location,Gebeurtenis Locatie,
Event Name,Evenement naam,
Exchange Gain/Loss,Exchange winst / verlies,
Exchange Rate Revaluation master.,Koers herwaarderingsmeester.,
Exchange Rate must be same as {0} {1} ({2}),Wisselkoers moet hetzelfde zijn als zijn {0} {1} ({2}),
Excise Invoice,Accijnzen Factuur,
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 leveringsdatum moet na verkoopdatum zijn,
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,Kosten- / Verschillenrekening ({0}) moet een 'Winst of Verlies' rekening zijn.,
Expense Account,Kostenrekening,
Expense Claim,Kostendeclaratie,
Expense Claim for Vehicle Log {0},Declaratie voor voertuig Inloggen {0},
Expense Claim {0} already exists for the Vehicle Log,Declaratie {0} bestaat al voor de Vehicle Log,
Expense Claims,Declaraties,
Expense account is mandatory for item {0},Kostenrekening is verplicht voor artikel {0},
Expenses,uitgaven,
Expenses Included In Asset Valuation,Kosten opgenomen in inventariswaardering,
Expenses Included In Valuation,Kosten inbegrepen in waardering,
Expired Batches,Verlopen batches,
Expires On,Verloopt op,
Expiring On,Vervalt op,
Expiry (In Days),Vervallen (in dagen),
Explore,onderzoeken,
Export E-Invoices,E-facturen exporteren,
Extra Large,Extra groot,
Extra Small,Extra Small,
Fail,mislukken,
Failed,Gefaald,
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,Kan standaardinstellingen niet instellen,
Failed to setup post company fixtures,Het instellen van postbedrijf-fixtures is mislukt,
Fax,Fax,
Fee,honorarium,
Fee Created,Fee gemaakt,
Fee Creation Failed,Fee Creation mislukt,
Fee Creation Pending,Fee Creation In afwachting,
Fee Records Created - {0},Fee Records Gemaakt - {0},
Feedback,Terugkoppeling,
Fees,vergoedingen,
Female,Vrouwelijk,
Fetch Data,Gegevens ophalen,
Fetch Subscription Updates,Abonnementsupdates ophalen,
Fetch exploded BOM (including sub-assemblies),Haal uitgeklapte Stuklijst op (inclusief onderdelen),
Fetching records......,Records ophalen ...,
Field Name,Veldnaam,
Fieldname,Veldnaam,
Fields,Velden,
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,Finance Book,
Financial / accounting year.,Financiële / boekjaar .,
Financial Services,Financiële Dienstverlening,
Financial Statements,Jaarrekening,
Financial Year,Financieel jaar,
Finish,Afwerking,
Finished Good,Gereed goed,
Finished Good Item Code,Gereed artikelcode,
Finished Goods,Gereed Product,
Finished Item {0} must be entered for Manufacture type entry,Afgewerkte product {0} moet worden ingevoerd voor het type Productie binnenkomst,
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,
First Name,Voornaam,
"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Fiscaal regime is verplicht, stel vriendelijk het fiscale regime in het bedrijf {0}",
Fiscal Year,Boekjaar,
Fiscal Year End Date should be one year after Fiscal Year Start Date,Einddatum van het fiscale jaar moet één jaar na de begindatum van het fiscale jaar zijn,
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Boekjaar Startdatum en Boekjaar Einddatum zijn al ingesteld voor het fiscale jaar {0},
Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Begindatum van het fiscale jaar moet een jaar eerder zijn dan de einddatum van het fiscale jaar,
Fiscal Year {0} does not exist,Boekjaar {0} bestaat niet,
Fiscal Year {0} is required,Boekjaar {0} is vereist,
Fiscal Year {0} not found,Boekjaar {0} niet gevonden,
Fixed Asset,Vast Activum,
Fixed Asset Item must be a non-stock item.,Fixed Asset punt moet een niet-voorraad artikel zijn.,
Fixed Assets,Vaste activa,
Following Material Requests have been raised automatically based on Item's re-order level,Volgende Material Aanvragen werden automatisch verhoogd op basis van re-order niveau-item,
Following accounts might be selected in GST Settings:,Volgende accounts kunnen worden geselecteerd in GST-instellingen:,
Following course schedules were created,Volgende cursusroosters 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,Voeding,
"Food, Beverage & Tobacco","Voeding, 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;Product Bundel&#39; items, Warehouse, Serienummer en Batch Geen zal worden beschouwd van de &#39;Packing List&#39; tafel. Als Warehouse en Batch Geen zijn hetzelfde voor alle verpakking items voor welke &#39;Product Bundle&#39; punt, kunnen die waarden in de belangrijkste Item tafel worden ingevoerd, wordt waarden worden gekopieerd naar &quot;Packing List &#39;tafel.",
For Employee,Voor werknemer,
For Quantity (Manufactured Qty) is mandatory,Voor Hoeveelheid (Geproduceerd Aantal) is verplicht,
For Supplier,voor Leverancier,
For Warehouse,Voor magazijn,
For Warehouse is required before Submit,Voor Magazijn is vereist voor het Indienen,
"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 taakkaart {0} kunt u alleen de voorraad &#39;Artikeloverdracht voor fabricage&#39; invoeren,
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Voor rij {0} in {1}. Om {2} onder in punt tarief, rijen {3} moet ook opgenomen worden",
For row {0}: Enter Planned Qty,Voor rij {0}: Voer het geplande aantal in,
"For {0}, only credit accounts can be linked against another debit entry","Voor {0}, kan alleen credit accounts worden gekoppeld tegen een andere debetboeking",
"For {0}, only debit accounts can be linked against another credit entry","Voor {0}, kan alleen debet accounts worden gekoppeld tegen 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 verzendkosten,
Frequency,Frequentie,
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 en datum liggen in verschillende fiscale jaar,
From Date cannot be greater than To Date,Vanaf de datum kan niet groter zijn dan tot nu toe,
From Date must be before To Date,Van Datum moet voor Tot Datum,
From Date should be within the Fiscal Year. Assuming From Date = {0},Van Datum moet binnen het boekjaar zijn. Er vanuit gaande dat Van Datum {0} is,
From 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,Van Vrachtbrief,
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 Range moet kleiner zijn dan om het 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 tot tijd.,
"From a supplier under composition scheme, Exempt and Nil rated","Van een leverancier onder 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 waarde in rij {0},
From {0} | {1} {2},Van {0} | {1} {2},
Fuel Price,Fuel Price,
Fuel Qty,brandstof Aantal,
Fulfillment,Vervulling,
Full,vol,
Full Name,Volledige naam,
Full-time,Full-time,
Fully Depreciated,volledig is afgeschreven,
Furnitures and Fixtures,Meubels en Wedstrijden,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Verdere accounts kan worden gemaakt onder groepen, maar items kunnen worden gemaakt tegen niet-Groepen",
Further cost centers can be made under Groups but entries can be made against non-Groups,"Verdere kostenplaatsen kan in groepen worden gemaakt, maar items kunnen worden gemaakt tegen niet-Groepen",
Further nodes can be only created under 'Group' type nodes,Verder nodes kunnen alleen worden gemaakt op grond van het type nodes 'Groep',
Future dates not allowed,Toekomstige data niet toegestaan,
GSTIN,GSTIN,
GSTR3B-Form,GSTR3B-Form,
Gain/Loss on Asset Disposal,Winst / verlies op de verkoop 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,Krijg details van de verklaring,
Get Employees,Krijg medewerkers,
Get Invocies,Krijg Invocies,
Get Invoices,Ontvang facturen,
Get Invoices based on Filters,Ontvang facturen op basis van filters,
Get Items from BOM,Artikelen ophalen van Stuklijst,
Get Items from Healthcare Services,Items ophalen van zorgdiensten,
Get Items from Prescriptions,Items van recepten ophalen,
Get Items from Product Bundle,Krijg Items uit Product Bundle,
Get Suppliers,Krijg leveranciers,
Get Suppliers By,Ontvang leveranciers door,
Get Updates,Blijf op de hoogte,
Get customers from,Haal klanten uit,
Get from Patient Encounter,Haal uit Patient Encounter,
Getting Started,Ermee beginnen,
GitHub Sync ID,GitHub Sync ID,
Global settings for all manufacturing processes.,Algemene instellingen voor alle productieprocessen.,
Go to the Desktop and start using ERPNext,Ga naar het bureaublad om aan de slag te gaan met ERPNext,
GoCardless SEPA Mandate,GoCardless SEPA-mandaat,
GoCardless payment gateway settings,GoCardless betalingsgateway-instellingen,
Goal and Procedure,Doel en procedure,
Goals cannot be empty,Goals mag niet leeg zijn,
Goods In Transit,Goederen onderweg,
Goods Transferred,Goederen overgedragen,
Goods and Services Tax (GST India),Goederen en Diensten Belasting (GST India),
Goods are already received against the outward entry {0},Goederen zijn al ontvangen tegen de uitgaande invoer {0},
Government,Overheid,
Grand Total,Algemeen totaal,
Grant,Verlenen,
Grant Application,Subsidieaanvraag,
Grant Leaves,Grant Leaves,
Grant information.,Informatie verstrekken.,
Grocery,kruidenierswinkel,
Gross Pay,Brutoloon,
Gross Profit,Bruto Winst,
Gross Profit %,Brutowinst%,
Gross Profit / Loss,Bruto winst / verlies,
Gross Purchase Amount,Gross Aankoopbedrag,
Gross Purchase Amount is mandatory,Gross Aankoopbedrag is verplicht,
Group by Account,Groeperen volgens Rekening,
Group by Party,Groeperen op partij,
Group by Voucher,Groep volgens Voucher,
Group by Voucher (Consolidated),Groeperen op tegoedbon (geconsolideerd),
Group node warehouse is not allowed to select for transactions,Groep knooppunt magazijn is niet toegestaan om te kiezen voor transacties,
Group to Non-Group,Groep om Non-groep,
Group your students in batches,Groep uw leerlingen in batches,
Groups,groepen,
Guardian1 Email ID,Guardian1 Email ID,
Guardian1 Mobile No,Guardian1 Mobile No,
Guardian1 Name,Guardian1 Naam,
Guardian2 Email ID,Guardian2 Email ID,
Guardian2 Mobile No,Guardian2 Mobile No,
Guardian2 Name,Guardian2 Naam,
Guest,Gast,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Day,Halve dag,
Half Day Date is mandatory,Halve dag datum is verplicht,
Half Day Date should be between From Date and To Date,Halve dag datum moet zijn tussen Van Datum en To Date,
Half Day Date should be in between Work From Date and Work End Date,Halve dag moet tussen werk na datum en einddatum werken zijn,
Half Yearly,Halfjaarlijkse,
Half day date should be in between from date and to date,Een datum van een 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,Gezondheidszorg Service Eenheidsboom,
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,Feestdag,
Holiday List,Holiday Lijst,
Hotel Rooms of type {0} are unavailable on {1},Hotelkamers van het type {0} zijn niet beschikbaar op {1},
Hotels,hotels,
Hourly,ieder uur,
Hours,uren,
House rent paid days overlapping with {0},Huizenhuur betaalde dagen overlappend 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 wordt de Prijsregel toegepast?,
Hub Category,Hubcategorie,
Hub Sync ID,Hub Sync ID,
Human Resource,Human Resource,
Human Resources,Human Resources,
IFSC Code,IFSC-code,
IGST Amount,IGST Bedrag,
IP Address,IP adres,
ITC Available (whether in full op part),ITC beschikbaar (al dan niet volledig),
ITC Reversed,ITC omgekeerd,
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 prijzen Regels blijven die gelden, worden gebruikers gevraagd om Prioriteit handmatig instellen 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 het laatste tarief, 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 twee of meer Pricing Regels zijn gevonden op basis van de bovenstaande voorwaarden, wordt prioriteit toegepast. Prioriteit is een getal tussen 0 en 20, terwijl standaardwaarde nul (blanco). Hoger aantal betekent dat het voorrang krijgen als er meerdere prijzen Regels 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.","Mocht u nog vragen hebben, dan kunt u weer terug naar ons.",
Ignore Existing Ordered Qty,Negeer bestaand bestelde aantal,
Image,Afbeelding,
Image View,Afbeelding Bekijken,
Import Data,Data importeren,
Import Day Book Data,Dagboekgegevens importeren,
Import Log,Importeren Log,
Import Master Data,Stamgegevens importeren,
Import in Bulk,Import in bulk,
Import of goods,Goederen importeren,
Import of services,Import van diensten,
Importing Items and UOMs,Items en UOM&#39;s importeren,
Importing Parties and Addresses,Partijen en adressen importeren,
In Maintenance,In onderhoud,
In Production,In de maak,
In Qty,in Aantal,
In Stock Qty,Op voorraad Aantal,
In Stock: ,Op voorraad:,
In Value,in Value,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent",In het geval van een meerlagig programma worden klanten automatisch toegewezen aan de betreffende laag op basis van hun bestede tijd,
Inactive,Inactief,
Incentives,Incentives,
Include Default Book Entries,Standaard boekvermeldingen opnemen,
Include Exploded Items,Exploded Items opnemen,
Include POS Transactions,POS-transacties opnemen,
Include UOM,Inclusief UOM,
Included in Gross Profit,Opgenomen in brutowinst,
Income,Inkomsten,
Income Account,Inkomstenrekening,
Income Tax,Inkomstenbelasting,
Incoming,inkomend,
Incoming Rate,Inkomende Rate,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Onjuist aantal Grootboekposten gevonden. U zou een verkeerde rekening kunnen hebben geselecteerd in de transactie.,
Increment cannot be 0,Toename kan niet worden 0,
Increment for Attribute {0} cannot be 0,Toename voor Attribute {0} kan niet worden 0,
Indirect Expenses,Indirecte kosten,
Indirect Income,Indirecte Inkomsten,
Individual,Individueel,
Ineligible ITC,Niet in aanmerking komende ITC,
Initiated,geïnitieerd,
Inpatient Record,Inpatient Record,
Insert,Plaats,
Installation Note,Installatie opmerking,
Installation Note {0} has already been submitted,Installatie Opmerking {0} is al ingediend,
Installation date cannot be before delivery date for Item {0},De installatie mag niet vóór leveringsdatum voor post {0},
Installing presets,Voorinstellingen installeren,
Institute Abbreviation,Instituut afkorting,
Institute Name,naam van het instituut,
Instructor,Instructeur,
Insufficient Stock,onvoldoende Stock,
Insurance Start date should be less than Insurance End date,Insurance Startdatum moet kleiner zijn dan de verzekering einddatum,
Integrated Tax,Geïntegreerde belasting,
Inter-State Supplies,Leveringen tussen staten,
Interest Amount,Interestbedrag,
Interests,Interesses,
Intern,Intern,
Internet Publishing,internet Publishing,
Intra-State Supplies,Leveringen binnen de staat,
Introduction,Introductie,
Invalid Attribute,ongeldige attribuut,
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 interbedrijfstransactie.,
Invalid GSTIN! A GSTIN must have 15 characters.,Ongeldige GSTIN! Een GSTIN moet 15 tekens bevatten.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Ongeldige GSTIN! De eerste 2 cijfers van GSTIN moeten overeenkomen met staatnummer {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,"Ongeldige GSTIN! De invoer die u heeft ingevoerd, komt niet overeen met het formaat van GSTIN.",
Invalid Posting Time,Ongeldige boekingstijd,
Invalid attribute {0} {1},Ongeldige eigenschap {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Ongeldig aantal opgegeven voor artikel {0} . Hoeveelheid moet groter zijn dan 0 .,
Invalid reference {0} {1},Ongeldige referentie {0} {1},
Invalid {0},Ongeldige {0},
Invalid {0} for Inter Company Transaction.,Ongeldige {0} voor interbedrijfstransactie.,
Invalid {0}: {1},Ongeldige {0}: {1},
Inventory,Voorraad,
Investment Banking,Investment Banking,
Investments,Investeringen,
Invoice,Factuur,
Invoice Created,Invoice Created,
Invoice Discounting,Factuurkorting,
Invoice Patient Registration,Invoice Patient Registration,
Invoice Posting Date,Factuur boekingsdatum,
Invoice Type,Factuur Type,
Invoice already created for all billing hours,Factuur al gemaakt voor alle factureringsuren,
Invoice can't be made for zero billing hour,De factuur kan niet worden gemaakt voor uren facturering,
Invoice {0} no longer exists,Factuur {0} bestaat niet meer,
Invoiced,gefactureerd,
Invoiced Amount,Factuurbedrag,
Invoices,facturen,
Invoices for Costumers.,Facturen voor klanten.,
Inward supplies from ISD,Inkomende leveringen van ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),Inkomende leveringen kunnen worden verlegd (anders dan 1 en 2 hierboven),
Is Active,Is actief,
Is Default,Is Standaard,
Is Existing Asset,Is bestaande asset,
Is Frozen,Is bevroren,
Is Group,Is Group,
Issue,Kwestie,
Issue Material,Materiaal uitgeven,
Issued,Uitgegeven,
Issues,Kwesties,
It is needed to fetch Item Details.,Het is nodig om Item Details halen.,
Item,Artikel,
Item 1,Punt 1,
Item 2,Punt 2,
Item 3,Punt 3,
Item 4,Punt 4,
Item 5,Punt 5,
Item Cart,Item 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 bij rijnummer {0},
Item Description,Artikelomschrijving,
Item Group,Artikelgroep,
Item Group Tree,Artikel groepstructuur,
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},Item Prijs toegevoegd {0} in de 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},Item Prijs 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,Item Tax Rij {0} moet rekening houden met het type belasting of inkomsten of uitgaven of Chargeable,
Item Template,Artikel sjabloon,
Item Variant Settings,Item Variant Settings,
Item Variant {0} already exists with same attributes,Artikel Variant {0} bestaat al met dezelfde kenmerken,
Item Variants,Item Varianten,
Item Variants updated,Artikelvarianten bijgewerkt,
Item has variants.,Item heeft varianten.,
Item must be added using 'Get Items from Purchase Receipts' button,Het punt moet worden toegevoegd met behulp van 'Get Items uit Aankoopfacturen' knop,
Item valuation rate is recalculated considering landed cost voucher amount,Item waardering tarief wordt herberekend overweegt landde kosten voucherbedrag,
Item variant {0} exists with same attributes,Artikel variant {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,Artikel {0} bestaat niet in het systeem of is verlopen,
Item {0} has already been returned,Artikel {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} heeft het einde van zijn levensduur bereikt op {1},
Item {0} ignored since it is not a stock item,Artikel {0} genegeerd omdat het niet een voorraadartikel is,
"Item {0} is a template, please select one of its variants","Item {0} is een sjabloon, selecteert u één van de varianten",
Item {0} is cancelled,Artikel {0} is geannuleerd,
Item {0} is disabled,Punt {0} is uitgeschakeld,
Item {0} is not a serialized Item,Artikel {0} is geen seriegebonden artikel,
Item {0} is not a stock Item,Artikel {0} is geen voorraadartikel,
Item {0} is not active or end of life has been reached,ARtikel {0} is niet actief of heeft einde levensduur bereikt,
Item {0} is not setup for Serial Nos. Check Item master,Artikel {0} is niet ingesteld voor serienummers. Controleer Artikelstam,
Item {0} is not setup for Serial Nos. Column must be blank,Artikel {0} is niet ingesteld voor serienummers. Kolom moet leeg zijn,
Item {0} must be a Fixed Asset Item,Item {0} moet een post der vaste activa zijn,
Item {0} must be a Sub-contracted Item,Artikel {0} moet een uitbesteed artikel zijn,
Item {0} must be a non-stock item,Item {0} moet een niet-voorraad artikel zijn,
Item {0} must be a stock Item,Artikel {0} moet een voorraadartikel zijn,
Item {0} not found,Artikel {0} niet gevonden,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Item {0} niet gevonden in &#39;Raw Materials geleverd&#39; tafel in Purchase Order {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Item {0}: Bestelde aantal {1} kan niet kleiner dan de minimale afname {2} (gedefinieerd in punt) zijn.,
Item: {0} does not exist in the system,Item: {0} bestaat niet in het systeem,
Items,Artikelen,
Items Filter,Items filteren,
Items and Pricing,Artikelen en prijzen,
Items for Raw Material Request,Artikelen voor grondstofverzoek,
Job Card,Werk kaart,
Job Description,Functiebeschrijving,
Job Offer,Vacature,
Job card {0} created,Taakkaart {0} gemaakt,
Jobs,Jobs,
Join,Indiensttreding,
Journal Entries {0} are un-linked,Journaalposten {0} zijn un-linked,
Journal Entry,Journaalpost,
Journal Entry {0} does not have account {1} or already matched against other voucher,Journal Entry {0} heeft geen rekening {1} of al vergeleken met andere voucher,
Kanban Board,Kanban Board,
Key Reports,Belangrijkste rapporten,
LMS Activity,LMS-activiteit,
Lab Test,Laboratoriumtest,
Lab Test Report,Lab Test Report,
Lab Test Sample,Lab Test Sample,
Lab Test Template,Lab Test Template,
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,
Label,Label,
Laboratory,Laboratorium,
Language Name,Taalnaam,
Large,Groot,
Last Communication,Laatste communicatie,
Last Communication Date,Laatste Communicatie Datum,
Last Name,Achternaam,
Last Order Amount,Laatste Orderbedrag,
Last Order Date,Laatste Bestel Date,
Last Purchase Price,Laatste aankoopprijs,
Last Purchase Rate,Laatste inkooptarief,
Latest,laatst,
Latest price updated in all BOMs,Laatste prijs bijgewerkt in alle BOM&#39;s,
Lead,Lood,
Lead Count,Loodtelling,
Lead Owner,Lead Eigenaar,
Lead Owner cannot be same as the Lead,Lead eigenaar kan niet hetzelfde zijn als de lead zijn,
Lead Time Days,Lead Time Dagen,
Lead to Quotation,Leiden tot Offerte,
"Leads help you get business, add all your contacts and more as your leads","Leads u helpen om zaken, voeg al uw contacten en nog veel meer als uw leads",
Learn,Leren,
Leave Approval Notification,Laat goedkeuringskennisgeving achter,
Leave Blocked,Verlof Geblokkeerd,
Leave Encashment,Laat Inning,
Leave Management,Laat management,
Leave Status Notification,Laat statusmelding achter,
Leave Type,Verlof Type,
Leave Type is madatory,Verlof Type is maganorie,
Leave Type {0} cannot be allocated since it is leave without pay,Laat Type {0} kan niet worden toegewezen omdat het te verlaten zonder te betalen,
Leave Type {0} cannot be carry-forwarded,Verlaat Type {0} kan niet worden doorgestuurd dragen-,
Leave Type {0} is not encashable,Verloftype {0} is niet ingesloten,
Leave Without Pay,Onbetaald verlof,
Leave and Attendance,Verlaat 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 eerder worden toegewezen {0}, als verlof balans al-carry doorgestuurd in de toekomst toewijzing verlof record is {1}",
"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Verlaat niet kan worden toegepast / geannuleerd voordat {0}, als verlof balans al-carry doorgestuurd in de toekomst toewijzing verlof record is {1}",
Leave of type {0} cannot be longer than {1},Verlof van type {0} kan niet langer zijn dan {1},
Leaves,bladeren,
Leaves Allocated Successfully for {0},Verlof succesvol toegewezen aan {0},
Leaves has been granted sucessfully,Bladeren zijn met succes uitgevoerd,
Leaves must be allocated in multiples of 0.5,"Verloven moeten in veelvouden van 0,5 worden toegewezen",
Leaves per Year,Verlaat per jaar,
Ledger,Grootboek,
Legal,wettelijk,
Legal Expenses,Juridische Kosten,
Letter Head,Brief Hoofd,
Letter Heads for print templates.,Briefhoofden voor print sjablonen.,
Level,Niveau,
Liability,Verplichting,
License,Licentie,
Lifecycle,Levenscyclus,
Limit,Begrenzing,
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},Geleende bedrag kan niet hoger zijn dan maximaal bedrag van de lening van {0},
Loan Application,Aanvraag voor een lening,
Loan Management,Leningbeheer,
Loan Repayment,Lening terugbetaling,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,De startdatum en de uitleentermijn van de lening zijn verplicht om de korting op de factuur op te slaan,
Loans (Liabilities),Leningen (Passiva),
Loans and Advances (Assets),Leningen en voorschotten (activa),
Local,lokaal,
Log,Log,
Logs for maintaining sms delivery status,Logs voor het behoud van sms afleverstatus,
Lost,Verloren,
Lost Reasons,Verloren redenen,
Low,Laag,
Low Sensitivity,Lage gevoeligheid,
Lower Income,Lager inkomen,
Loyalty Amount,Loyaliteit,
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 Manager,Maintenance Manager,
Maintenance Schedule,Onderhoudsschema,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Onderhoudsschema wordt niet gegenereerd voor alle items . Klik op ' Generate Schedule',
Maintenance Schedule {0} exists against {1},Onderhoudsplan {0} bestaat tegen {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Onderhoudsschema {0} moet worden geannuleerd voordat het annuleren van deze verkooporder,
Maintenance Status has to be Cancelled or Completed to Submit,Onderhoudsstatus moet worden geannuleerd of voltooid om te verzenden,
Maintenance User,Onderhoud Gebruiker,
Maintenance Visit,Onderhoud Bezoek,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Onderhoud Bezoek {0} moet worden geannuleerd voordat het annuleren van deze verkooporder,
Maintenance start date can not be before delivery date for Serial No {0},Onderhoud startdatum kan niet voor de leveringsdatum voor Serienummer {0},
Make,Maken,
Make Payment,Betaling maken,
Make project from a template.,Maak een project van een sjabloon.,
Making Stock Entries,Maken Stock Inzendingen,
Male,Mannelijk,
Manage Customer Group Tree.,Beheer Customer Group Boom .,
Manage Sales Partners.,Beheer Verkoop Partners.,
Manage Sales Person Tree.,Beheer Sales Person Boom .,
Manage Territory Tree.,Beheer Grondgebied Boom.,
Manage your orders,Beheer uw bestellingen,
Management,Beheer,
Manager,Manager,
Managing Projects,Managing Projects,
Managing Subcontracting,Managing Subcontracting,
Mandatory,Verplicht,
Mandatory field - Academic Year,Verplicht veld - Academiejaar,
Mandatory field - Get Students From,Verplicht veld - Ontvang studenten van,
Mandatory field - Program,Verplicht veld - Programma,
Manufacture,Fabricage,
Manufacturer,Fabrikant,
Manufacturer Part Number,Onderdeelnummer fabrikant,
Manufacturing,Productie,
Manufacturing Quantity is mandatory,Productie Aantal is verplicht,
Mapping,In kaart brengen,
Mapping Type,Mapping Type,
Mark Absent,Mark Afwezig,
Mark Attendance,Mark Attendance,
Mark Half Day,Mark Halve dag,
Mark Present,Mark Present,
Marketing,Marketing,
Marketing Expenses,Marketingkosten,
Marketplace,Marktplaats,
Marketplace Error,Marktplaatsfout,
Masters,Stamdata,
Match Payments with Invoices,Match Betalingen met Facturen,
Match non-linked Invoices and Payments.,Match 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,Materiaal ontvangst,
Material Request,Materiaal Aanvraag,
Material Request Date,Materiaal Aanvraagdatum,
Material Request No,Materiaal Aanvraag nr.,
"Material Request not created, as quantity for Raw Materials already available.","Materiaalaanvraag niet gecreëerd, als hoeveelheid voor grondstoffen al beschikbaar.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Materiaal Aanvraag van maximaal {0} kan worden gemaakt voor Artikel {1} tegen Verkooporder {2},
Material Request to Purchase Order,Materiaal aanvragen tot Purchase Order,
Material Request {0} is cancelled or stopped,Materiaal Aanvraag {0} is geannuleerd of gestopt,
Material Request {0} submitted.,Materiaalaanvraag {0} ingediend.,
Material Transfer,Materiaal Verplaatsing,
Material Transferred,Materiaal overgedragen,
Material to Supplier,Materiaal aan Leverancier,
Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Max. Vrijstellingsbedrag mag niet groter zijn dan het maximale vrijstellingsbedrag {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}%,Maximale korting toegestaan 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},Het 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,Medisch code,
Medical Code Standard,Medische Code Standaard,
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,Lidmaatschap ID,
Membership Type,soort lidmaatschap,
Memebership Details,Gegevens over lidmaatschap,
Memebership Type Details,Type details voor 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 kan alleen als volgende eigenschappen in beide registers. Is Group, Root Type, Company",
Message Examples,Bericht Voorbeelden,
Message Sent,Bericht verzonden,
Method,Methode,
Middle Income,Modaal Inkomen,
Middle Name,Midden-naam,
Middle Name (Optional),Tussenvoegsel (optioneel),
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 Aantal zijn,
Minimum Lead Age (Days),Minimum leeftijd (dagen),
Miscellaneous Expenses,Diverse Kosten,
Missing Currency Exchange Rates for {0},Ontbrekende Wisselkoersen 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 te doen,
Model,Model,
Moderate Sensitivity,Gematigde gevoeligheid,
Monday,Maandag,
Monthly,Maandelijks,
Monthly Distribution,Maandelijkse verdeling,
Monthly Repayment Amount cannot be greater than Loan Amount,Maandelijks te betalen bedrag kan niet groter zijn dan Leningen zijn,
More,Meer,
More Information,Meer informatie,
More than one selection for {0} not allowed,Meer dan één selectie voor {0} niet toegestaan,
More...,Meer...,
Motion Picture & Video,Motion Picture & Video,
Move,Verhuizing,
Move Item,Item verplaatsen,
Multi Currency,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 Prijs Regels bestaat met dezelfde criteria, dan kunt u conflicten op te lossen door het toekennen van prioriteit. Prijs Regels: {0}",
Multiple Variants,Meerdere varianten,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Meerdere fiscale jaar bestaan voor de datum {0}. Stel onderneming in het fiscale jaar,
Music,muziek,
My Account,Mijn Account,
Name error: {0},Naam fout: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,De naam van de nieuwe account. Let op: Gelieve niet goed voor klanten en leveranciers te creëren,
Name or Email is mandatory,Naam of E-mail is verplicht,
Nature Of Supplies,Aard van de benodigdheden,
Navigating,navigeren,
Needs Analysis,Analyse nodig,
Negative Quantity is not allowed,Negatieve hoeveelheid is niet toegestaan,
Negative Valuation Rate is not allowed,Negatieve Waarderingstarief is niet toegestaan,
Negotiation/Review,Onderhandelen / Beoordeling,
Net Asset value as on,Intrinsieke waarde Op,
Net Cash from Financing,De netto kasstroom uit financieringsactiviteiten,
Net Cash from Investing,De netto kasstroom uit investeringsactiviteiten,
Net Cash from Operations,De netto kasstroom uit operationele activiteiten,
Net Change in Accounts Payable,Netto wijziging in Accounts Payable,
Net Change in Accounts Receivable,Netto wijziging in debiteuren,
Net Change in Cash,Netto wijziging in cash,
Net Change in Equity,Netto wijziging in het eigen vermogen,
Net Change in Fixed Asset,Netto wijziging in vaste activa,
Net Change in Inventory,Netto wijziging in Inventory,
Net ITC Available(A) - (B),Net ITC beschikbaar (A) - (B),
Net Pay,Nettoloon,
Net Pay cannot be less than 0,Nettoloon kan niet lager 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 Rekening Naam,
New Address,Nieuw adres,
New BOM,Nieuwe Eenheid,
New Batch ID (Optional),Nieuw batch-id (optioneel),
New Batch Qty,Nieuw aantal batches,
New Company,Nieuw bedrijf,
New Cost Center Name,Nieuwe Kostenplaats Naam,
New Customer Revenue,Nieuwe klant Revenue,
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 Sales Invoice,
New Sales Person Name,Nieuwe Sales Person Naam,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nieuw Serienummer kan geen Magazijn krijgen. Magazijn moet via Voorraad Invoer of Ontvangst worden ingesteld.,
New Warehouse Name,Nieuwe Warehouse Naam,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},New kredietlimiet lager is dan de huidige uitstaande bedrag voor de klant. Kredietlimiet moet minstens zijn {0},
New task,Nieuwe taak,
New {0} pricing rules are created,Nieuwe {0} prijsregels worden gemaakt,
Newsletters,nieuwsbrieven,
Newspaper Publishers,Kranten Uitgeverijen,
Next,volgende,
Next Contact By cannot be same as the Lead Email Address,Volgende Contact Door het kan niet hetzelfde zijn als de Lead e-mailadres,
Next Contact Date cannot be in the past,Volgende Contact datum kan niet in het verleden,
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 Barcode {0},
No Item with Serial No {0},Geen artikel met serienummer {0},
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 Artikelen om te verpakken,
No Items with Bill of Materials to Manufacture,Geen Items met Bill of Materials voor fabricage,
No Items with Bill of Materials.,Geen items met stuklijst.,
No Permission,Geen toestemming,
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 groepen studenten gecreëerd.,
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 default salarisstructuur gevonden voor werknemer {0} de uitgekozen datum,
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 artikelen vermeld,
No items to be received are overdue,Er zijn geen items die moeten worden ontvangen te laat,
No material request created,Er is geen aanvraag voor een artikel gemaakt,
No more updates,Niet meer updates,
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 factuur tabel,
No records found in the Payment table,Geen records gevonden in de betaling tabel,
No replies from,Geen antwoorden 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 tijd sheets,
No values,Geen waarden,
No {0} found for Inter Company Transactions.,Geen {0} gevonden voor transacties tussen bedrijven.,
Non GST Inward Supplies,Inkomende leveringen niet GST,
Non Profit,Non-profit,
Non Profit (beta),Non-profit (bèta),
Non-GST outward supplies,Niet-GST uitgaande leveringen,
Non-Group to Group,Non-groep tot groep,
None,Geen,
None of the items have any change in quantity or value.,Geen van de items hebben een verandering in hoeveelheid of waarde.,
Nos,Nrs,
Not Available,Niet beschikbaar,
Not Marked,ongemerkt,
Not Paid and Not Delivered,Niet betaald en niet geleverd,
Not Permitted,Niet toegestaan,
Not Started,Niet gestart,
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 voorraadtransacties ouder dan  {0} bij te werken,
Not authorized to edit frozen Account {0},Niet bevoegd om bevroren rekening te bewerken {0},
Not authroized since {0} exceeds limits,Niet toegestaan aangezien {0} grenzen overschrijdt,
Not permitted 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: Vanwege / Reference Data overschrijdt toegestaan klantenkrediet dagen door {0} dag (en),
Note: Item {0} entered multiple times,Opmerking : Artikel {0} meerdere keren ingevoerd,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Opmerking: De betaling wordt niet aangemaakt, aangezien de 'Kas- of Bankrekening' niet gespecificeerd is.",
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Opmerking : Het systeem controleert niet over- levering en overboeking voor post {0} als hoeveelheid of bedrag 0,
Note: There is not enough leave balance for Leave Type {0},Opmerking: Er is niet genoeg verlofsaldo voor Verlof type {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Opmerking: Deze kostenplaats is een groep. Kan geen boekingen aanmaken voor groepen.,
Note: {0},Opmerking : {0},
Notes,Opmerkingen,
Nothing is included in gross,Niets is bruto inbegrepen,
Nothing more to show.,Niets meer te zien.,
Nothing to change,Niets om te veranderen,
Notice Period,Opzegtermijn,
Notify Customers via Email,Breng klanten op de hoogte via e-mail,
Number,Aantal,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Aantal afschrijvingen geboekt kan niet groter zijn dan het totale aantal van de afschrijvingen zijn,
Number of Interaction,Aantal interacties,
Number of Order,Aantal Bestel,
"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,Aantal root-accounts mag niet minder zijn dan 4,
Odometer,Kilometerteller,
Office Equipments,Kantoor Apparatuur,
Office Maintenance Expenses,Gebouwen Onderhoudskosten,
Office Rent,Kantoorhuur,
On Hold,In de wacht,
On Net Total,Op Netto Totaal,
One customer can be part of only single Loyalty Program.,Eén klant kan deel uitmaken van één loyaliteitsprogramma.,
Online Auctions,Online veilingen,
Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Alleen verlofaanvragen met de status &#39;Goedgekeurd&#39; en &#39;Afgewezen&#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,
Open BOM {0},Open BOM {0},
Open Item {0},Open Item {0},
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,Het openen van Accounting Balance,
Opening Accumulated Depreciation,Het openen van de cumulatieve afschrijvingen,
Opening Accumulated Depreciation must be less than equal to {0},Het openen van de cumulatieve afschrijvingen moet kleiner zijn dan gelijk aan {0},
Opening Balance,Beginsaldo,
Opening Balance Equity,Opening Balance Equity,
Opening Date and Closing Date should be within same Fiscal Year,Openingsdatum en de uiterste datum moet binnen dezelfde fiscale jaar,
Opening Date should be before Closing Date,Openingsdatum moeten vóór Sluitingsdatum,
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,Opening Stock,
Opening Stock Balance,Het openen Stock Balance,
Opening Value,opening Value,
Opening {0} Invoice created,Opening {0} Factuur aangemaakt,
Operation,Operatie,
Operation Time must be greater than 0 for Operation {0},Operatie tijd moet groter zijn dan 0 voor de operatie zijn {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operation {0} langer dan alle beschikbare werktijd in werkstation {1}, breken de operatie in meerdere operaties",
Operations,Bewerkingen,
Operations cannot be left blank,Operations kan niet leeg zijn,
Opp Count,Opp Count,
Opp/Lead %,Opp / Lead%,
Opportunities,Kansen,
Opportunities by lead source,Kansen per leadbron,
Opportunity,Opportunity,
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 bedrijf prijslijst, indien niet opgegeven.",
Optional. This setting will be used to filter in various transactions.,Optioneel. Deze instelling wordt gebruikt om te filteren op diverse transacties .,
Options,Opties,
Order Count,Order Count,
Order Entry,Orderinvoer,
Order Value,Bestellingswaarde,
Order rescheduled for sync,Bestelling opnieuw gepland voor synchronisatie,
Order/Quot %,Order / Quot%,
Ordered,Besteld,
Ordered Qty,Besteld Aantal,
"Ordered Qty: Quantity ordered for purchase, but not received.","Besteld Aantal: Hoeveelheid ingekocht , maar niet ontvangen.",
Orders,bestellingen,
Orders released for production.,Orders vrijgegeven voor productie.,
Organization,Organisatie,
Organization Name,Naam van de Organisatie,
Other,Ander,
Other Reports,Andere rapporten,
"Other outward supplies(Nil rated,Exempted)","Andere uitgaande leveringen (nul, vrijgesteld)",
Others,anderen,
Out Qty,out Aantal,
Out Value,out Value,
Out of Order,Out of Order,
Outgoing,uitgaande,
Outstanding,uitstekend,
Outstanding Amount,Openstaand Bedrag,
Outstanding Amt,Openstaande Amt,
Outstanding Cheques and Deposits to clear,Uitstekende Cheques en Deposito&#39;s te ontruimen,
Outstanding for {0} cannot be less than zero ({1}),Openstaand bedrag voor {0} mag niet kleiner zijn dan nul ({1}),
Outward taxable supplies(zero rated),Belastbare leveringen (nul),
Overdue,Achterstallig,
Overlap in scoring between {0} and {1},Overlappen in scoren tussen {0} en {1},
Overlapping conditions found between:,Overlappende voorwaarden gevonden tussen :,
Owner,eigenaar,
PAN,PAN,
POS,POS,
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 nodig om POS Entry maken,
POS Settings,POS-instellingen,
Packed quantity must equal quantity for Item {0} in row {1},Verpakt hoeveelheid moet hoeveelheid die gelijk is voor post {0} in rij {1},
Packing Slip,Pakbon,
Packing Slip(s) cancelled,Pakbon(nen) geannuleerd,
Paid,Betaald,
Paid Amount,Betaald bedrag,
Paid Amount cannot be greater than total negative outstanding amount {0},Betaalde bedrag kan niet groter zijn dan de totale negatieve openstaande bedrag {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Betaald bedrag + Afgeschreven bedrag kan niet groter zijn dan Eindtotaal,
Paid and Not Delivered,Betaald en niet geleverd,
Parameter,Parameter,
Parent Item {0} must not be a Stock Item,Ouder Item {0} moet een Stock Item niet,
Parents Teacher Meeting Attendance,Ouders Teacher Meeting presentielijst,
Part-time,Deeltijds,
Partially Depreciated,Gedeeltelijk afgeschreven,
Partially Received,Gedeeltelijk ontvangen,
Party,Partij,
Party Name,Naam Party,
Party Type,partij Type,
Party Type and Party is mandatory for {0} account,Feesttype en feest is verplicht voor {0} account,
Party Type is mandatory,Party Type is verplicht,
Party is mandatory,Party is verplicht,
Password,Wachtwoord,
Password policy for Salary Slips is not set,Wachtwoordbeleid voor salarisstroken is niet ingesteld,
Past Due Date,Verstreken einddatum,
Patient,Patient,
Patient Appointment,Patient Afspraak,
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,Verschuldigd 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,betaling Document,
Payment Due Date,Betaling Vervaldatum,
Payment Entries {0} are un-linked,Betaling Entries {0} zijn un-linked,
Payment Entry,betaling Entry,
Payment Entry already exists,Betaling Entry bestaat al,
Payment Entry has been modified after you pulled it. Please pull it again.,Betaling Bericht is gewijzigd nadat u het getrokken. Neem dan trekt het weer.,
Payment Entry is already created,Betaling Entry is al gemaakt,
Payment Failed. Please check your GoCardless Account for more details,Betaling mislukt. Controleer uw GoCardless-account voor meer informatie,
Payment Gateway,Payment Gateway,
"Payment Gateway Account not created, please create one manually.","Payment Gateway-account aangemaakt, dan kunt u een handmatig maken.",
Payment Gateway Name,Payment Gateway Name,
Payment Mode,Betaling Mode,
Payment Receipt Note,Betaling Ontvangst Opmerking,
Payment Request,Betalingsverzoek,
Payment Request for {0},Betalingsverzoek voor {0},
Payment Tems,Betalingsmethoden,
Payment Term,Betalingstermijn,
Payment Terms,Betaalvoorwaarden,
Payment Terms Template,Betalingscondities sjabloon,
Payment Terms based on conditions,Betalingsvoorwaarden op basis van voorwaarden,
Payment Type,Betaling Type,
"Payment Type must be one of Receive, Pay and Internal Transfer","Betaling Type moet een van te ontvangen, betalen en Internal Transfer",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Betaling tegen {0} {1} kan niet groter zijn dan openstaande bedrag te zijn {2},
Payment of {0} from {1} to {2},Betaling van {0} van {1} tot {2},
Payment request {0} created,Betalingsverzoek {0} gemaakt,
Payments,Betalingen,
Payroll,Loonlijst,
Payroll Number,Loonnummer,
Payroll Payable,Payroll Payable,
Payslip,loonstrook,
Pending Activities,Afwachting Activiteiten,
Pending Amount,In afwachting van Bedrag,
Pending Leaves,In afwachting van bladeren,
Pending Qty,In afwachting Aantal,
Pending Quantity,In afwachting van hoeveelheid,
Pending Review,In afwachting van beoordeling,
Pending activities for today,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 sluitpost,
Period Closing Voucher,Periode Closing Voucher,
Periodicity,periodiciteit,
Personal Details,Persoonlijke gegevens,
Pharmaceutical,farmaceutisch,
Pharmaceuticals,Farmacie,
Physician,Arts,
Piecework,stukwerk,
Pincode,Pincode,
Place Of Supply (State/UT),Plaats van levering (staat / UT),
Place Order,Plaats bestelling,
Plan Name,Plan naam,
Plan for maintenance visits.,Plan voor onderhoud bezoeken.,
Planned Qty,Gepland aantal,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Gepland aantal: Hoeveelheid waarvoor werkorder is opgehaald, maar nog in productie is.",
Planning,Planning,
Plants and Machineries,Installaties 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 tijdelijk openstaand account 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,Kijk Valuta optie om rekeningen met andere valuta toestaan,
Please click on 'Generate Schedule',Klik op 'Genereer Planning',
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Klik op 'Genereer Planning' om serienummer op te halen voor Artikel {0},
Please click on 'Generate Schedule' to get schedule,Klik op 'Genereer Planning' om planning te krijgen,
Please confirm once you have completed your training,Bevestig alstublieft nadat u uw opleiding hebt voltooid,
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%,Gelieve te definiëren cijfer voor drempel 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,Schakel standaard inkomende account in voordat u Daily Work Summary Group maakt,
Please enable pop-ups,Schakel aub pop - ups in,
Please enter 'Is Subcontracted' as Yes or No,Vul 'Is Uitbesteed' in als Ja of Nee,
Please enter API Consumer Key,Voer de API-consumentcode in,
Please enter API Consumer Secret,Voer alstublieft API-gebruikersgeheim in,
Please enter Account for Change Amount,Vul Account for Change Bedrag,
Please enter Approving Role or Approving User,Vul de Goedkeurders Rol of Goedkeurende Gebruiker in,
Please enter Cost Center,Vul kostenplaats in,
Please enter Delivery Date,Vul de Leveringsdatum in,
Please enter Employee Id of this sales person,Vul Employee Id van deze verkoper,
Please enter Expense Account,Vul Kostenrekening in,
Please enter Item Code to get Batch Number,Vul de artikelcode voor Batch Number krijgen,
Please enter Item Code to get batch no,Vul de artikelcode  in om batchnummer op te halen,
Please enter Item first,Vul eerst artikel in,
Please enter Maintaince Details first,Vul eerst Onderhoudsdetails in,
Please enter Planned Qty for Item {0} at row {1},Vul Gepland Aantal in voor artikel {0} op rij {1},
Please enter Preferred Contact Email,Vul Preferred Contact E-mail,
Please enter Production Item first,Vul eerst Productie Artikel in,
Please enter Purchase Receipt first,Vul Kwitantie eerste,
Please enter Receipt Document,Vul Ontvangst Document,
Please enter Reference date,Vul Peildatum in,
Please enter Repayment Periods,Vul de aflossingsperiode,
Please enter Reqd by Date,Voer Reqd in op datum,
Please enter Woocommerce Server URL,Voer de URL van de Woocommerce-server in,
Please enter Write Off Account,Voer Afschrijvingenrekening in,
Please enter atleast 1 invoice in the table,Vul tenminste 1 factuur in in de tabel,
Please enter company first,Vul aub eerst bedrijf in,
Please enter company name first,Vul aub eerst de naam van het bedrijf in,
Please enter default currency in Company Master,Vul de standaard valuta in in Bedrijfsstam,
Please enter message before sending,Vul bericht in alvorens te verzenden,
Please enter parent cost center,Vul bovenliggende kostenplaats in,
Please enter quantity for Item {0},Vul het aantal in voor artikel {0},
Please enter relieving date.,Vul het verlichten datum .,
Please enter repayment Amount,Vul hier terug te betalen bedrag,
Please enter valid Financial Year Start and End Dates,Voer geldige boekjaar begin- en einddatum,
Please enter valid email address,Vul alstublieft een geldig e-mailadres in,
Please enter {0} first,Voer {0} eerste,
Please fill in all the details to generate Assessment Result.,Vul alle details in om het beoordelingsresultaat te genereren.,
Please identify/create Account (Group) for type - {0},Identificeer / maak account (groep) voor type - {0},
Please identify/create Account (Ledger) for type - {0},Identificeer / maak account (grootboek) voor type - {0},
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 echt wilt alle transacties voor dit bedrijf te verwijderen. Uw stamgegevens zal blijven zoals het is. Deze actie kan niet ongedaan gemaakt worden.,
Please mention Basic and HRA component in Company,Vermeld de basis- en HRA-component in het bedrijf,
Please mention Round Off Account in Company,Vermeld Ronde Off Account in Company,
Please mention Round Off Cost Center in Company,Vermeld Ronde Off kostenplaats in Company,
Please mention no of visits required,Vermeld het benodigde aantal bezoeken,
Please mention the Lead Name in Lead {0},Vermeld alstublieft de naam van de lood in lood {0},
Please pull items from Delivery Note,Haal aub artikelen uit de Vrachtbrief,
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 dit Invoice {0} van C-Form {1},
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 het opnieuw te bouwen of bij te werken,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Selecteer toegewezen bedrag, Factuur Type en factuurnummer in tenminste één rij",
Please select Apply Discount On,Selecteer Apply Korting op,
Please select BOM against item {0},Selecteer een stuklijst met item {0},
Please select BOM for Item in Row {0},Selecteer BOM voor post in rij {0},
Please select BOM in BOM field for Item {0},Selecteer BOM in BOM veld voor post {0},
Please select Category first,Selecteer eerst een Categorie,
Please select Charge Type first,Selecteer eerst een Charge Type,
Please select Company,Selecteer Company,
Please select Company and Designation,Selecteer Bedrijf en Aanwijzing,
Please select Company and Posting Date to getting entries,Selecteer Bedrijf en boekingsdatum om inzendingen te ontvangen,
Please select Company first,Selecteer Company eerste,
Please select Completion Date for Completed Asset Maintenance Log,Selecteer de voltooiingsdatum voor het uitgevoerde onderhoudslogboek,
Please select Completion Date for Completed Repair,Selecteer de voltooiingsdatum voor de voltooide reparatie,
Please select Course,Selecteer de cursus,
Please select Drug,Selecteer alstublieft Drug,
Please select Employee,Selecteer werknemer,
Please select Existing Company for creating Chart of Accounts,Kies een bestaand bedrijf voor het maken van 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 Item, waar &quot;Is Stock Item&quot; is &quot;Nee&quot; en &quot;Is Sales Item&quot; is &quot;Ja&quot; en er is geen enkel ander product Bundle",
Please select Maintenance Status as Completed or remove Completion Date,Selecteer Onderhoudsstatus als voltooid of verwijder de voltooiingsdatum,
Please select Party Type first,Selecteer Party Type eerste,
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 Party selecteren,
Please select Posting Date first,Selecteer Boekingsdatum eerste,
Please select Price List,Selecteer Prijslijst,
Please select Program,Selecteer alsjeblieft 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 Start- 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 partij voor item {0}. Kan geen enkele batch vinden die aan deze eis voldoet,
Please select a Company,Selecteer aub een andere vennootschap,
Please select a batch,Selecteer een batch alsjeblieft,
Please select a csv file,Selecteer een csv-bestand,
Please select a field to edit from numpad,Selecteer alstublieft een veld om van numpad te bewerken,
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} quotation_to {1},
Please select a warehouse,Selecteer een magazijn,
Please select at least one domain.,Selecteer minimaal één domein.,
Please select correct account,Selecteer juiste account,
Please select date,Kies een datum,
Please select item code,Selecteer artikelcode,
Please select month and year,Selecteer maand en jaar,
Please select prefix first,Selecteer eerst een voorvoegsel,
Please select the Company,Selecteer het bedrijf,
Please select the Multiple Tier Program type for more than one collection rules.,Selecteer het Multiple Tier-programmatype voor meer dan één verzamelregel.,
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 vrije dag,
Please select {0},Selecteer {0},
Please select {0} first,Selecteer eerst {0},
Please set 'Apply Additional Discount On',Stel &#39;Solliciteer Extra Korting op&#39;,
Please set 'Asset Depreciation Cost Center' in Company {0},Stel &#39;Asset Afschrijvingen Cost Center&#39; in Company {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Stel &#39;winst / verliesrekening op de verkoop van activa in Company {0},
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 alsjeblieft bedrijf in,
Please set Company filter blank if Group By is 'Company',Stel alsjeblieft Bedrijfsfilter leeg als Group By is &#39;Company&#39;,
Please set Default Payroll Payable Account in Company {0},Stel Default Payroll Payable account in Company {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Stel afschrijvingen gerelateerd Accounts in Vermogensbeheer categorie {0} of Company {1},
Please set Email Address,Stel e-mailadres,
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 Aantal geboekte afschrijvingen,
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 User ID veld in een Werknemer record Werknemer Rol stellen,
Please set a default Holiday List for Employee {0} or Company {1},Stel een standaard Holiday-lijst voor Employee {0} of Company {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 bijbehorende account in belastinginhoud {0} in voor bedrijf {1},
Please set at least one row in the Taxes and Charges Table,Stel ten minste één rij in de tabel Belastingen en kosten in,
Please set default Cash or Bank account in Mode of Payment {0},Stel een standaard Kas- of Bankrekening in bij Betaalwijze {0},
Please set default account in Salary Component {0},Stel standaard account aan Salaris Component {0},
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 Company {1},
Please set filter based on Item or Warehouse,Stel filter op basis van artikel of Warehouse,
Please set leave policy for employee {0} in Employee / Grade record,Stel het verlofbeleid voor werknemer {0} in voor medewerkers / cijfers,
Please set recurring after saving,Stel terugkerende na het opslaan,
Please set the Company,Stel het bedrijf alstublieft in,
Please set the Customer Address,Stel het klantadres in,
Please set the Date Of Joining for employee {0},Stel de datum van aansluiting 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 het e-mail-ID voor de student in om het betalingsverzoek te verzenden,
Please set the Item Code first,Stel eerst de productcode in,
Please set the Payment Schedule,Stel het betalingsschema in,
Please set the series to be used.,Stel de reeks in die moet worden gebruikt.,
Please set {0} for address {1},Stel {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 alstublieft uw feedback aan de training door op &#39;Training Feedback&#39; te klikken en vervolgens &#39;New&#39;,
Please specify Company,Specificeer Bedrijf,
Please specify Company to proceed,Specificeer Bedrijf om verder te gaan,
Please specify a valid 'From Case No.',Geef een geldig 'Van Zaaknummer',
Please specify a valid Row ID for row {0} in table {1},Geef een geldige rij-ID voor rij {0} in tabel {1},
Please specify at least one attribute in the Attributes table,Gelieve ten minste één attribuut in de tabel attributen opgeven,
Please specify currency in Company,Omschrijf valuta Company,
Please specify either Quantity or Valuation Rate or both,Specificeer ofwel Hoeveelheid of Waarderingstarief of beide,
Please specify from/to range,Gelieve te specificeren van / naar variëren,
Please supply the specified items at the best possible rates,Gelieve de opgegeven items aan de best mogelijke prijzen,
Please update your status for this training event,Update uw status voor dit trainingsevenement,
Please wait 3 days before resending the reminder.,Wacht 3 dagen voordat je de herinnering opnieuw verzendt.,
Point of Sale,Point of Sale,
Point-of-Sale,Verkooppunt,
Point-of-Sale Profile,Point-of-Sale Profile,
Portal,Portaal,
Portal Settings,portal Instellingen,
Possible Supplier,Mogelijke leverancier,
Postal Expenses,Portokosten,
Posting Date,Plaatsingsdatum,
Posting Date cannot be future date,Posting datum kan niet de toekomst datum,
Posting Time,Plaatsing Time,
Posting date and posting time is mandatory,Plaatsingsdatum en -tijd is verplicht,
Posting timestamp must be after {0},Plaatsing timestamp moet na {0} zijn,
Potential opportunities for selling.,Potentiële mogelijkheden voor verkoop.,
Practitioner Schedule,Practitioner Schedule,
Pre Sales,Voorverkoop,
Preference,Voorkeur,
Prescribed Procedures,Voorgeschreven procedures,
Prescription,Voorschrift,
Prescription Dosage,Voorschrift Dosering,
Prescription Duration,Voorschrift Duur,
Prescriptions,voorschriften,
Present,Presenteer,
Prev,Vorige,
Preview,Voorbeeld,
Preview Salary Slip,Voorbeschouwing loonstrook,
Previous Financial Year is not closed,Vorig boekjaar is niet gesloten,
Price,Prijs,
Price List,Prijslijst,
Price List Currency not selected,Prijslijst Valuta nog niet geselecteerd,
Price List Rate,Prijslijst tarief,
Price List master.,Prijslijst stam.,
Price List must be applicable for Buying or Selling,Prijslijst moet van toepassing zijn op Inkoop of Verkoop,
Price List {0} is disabled or does not exist,Prijslijst {0} is uitgeschakeld of bestaat niet,
Price or product discount slabs are required,Prijs- of productkortingsplaten zijn vereist,
Pricing,pricing,
Pricing Rule,Prijsbepalingsregel,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Prijsbepalingsregel wordt eerst geselecteerd op basis van 'Toepassen op' veld, dat kan zijn artikel, artikelgroep of merk.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Prijsbepalingsregel overschrijft de prijslijst / defininieer een kortingspercentage, gebaseerd op een aantal criteria.",
Pricing Rule {0} is updated,Prijsregel {0} is bijgewerkt,
Pricing Rules are further filtered based on quantity.,Prijsbepalingsregels worden verder gefilterd op basis van aantal.,
Primary Address Details,Primaire adresgegevens,
Primary Contact Details,Primaire contactgegevens,
Principal Amount,hoofdsom,
Print Format,Print Formaat,
Print IRS 1099 Forms,Formulieren IRS 1099 afdrukken,
Print Report Card,Rapportkaart afdrukken,
Print Settings,Afdrukinstellingen,
Print and Stationery,Print en stationaire,
Print settings updated in respective print format,Print instellingen bijgewerkt in de respectievelijke gedrukte vorm,
Print taxes with zero amount,Afdrukbelasting met nulbedrag,
Printing and Branding,Printen en Branding,
Private Equity,Private Equity,
Privilege Leave,Bijzonder 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,Verwerkingstabel van rekeningen en partijen,
Processing Items and UOMs,Items en UOM&#39;s verwerken,
Processing Party Addresses,Verwerking partijadressen,
Processing Vouchers,Vouchers verwerken,
Procurement,Inkoop,
Produced Qty,Geproduceerd aantal,
Product,Artikel,
Product Bundle,Product Bundle,
Product Search,product zoeken,
Production,Productie,
Production Item,Productie Item,
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,Project Uitnodiging Collaboration,
Project Id,Project Id,
Project Manager,Project Manager,
Project Name,Naam van het project,
Project Start Date,Project Start Datum,
Project Status,Project status,
Project Summary for {0},Projectsamenvatting voor {0},
Project Update.,Project update.,
Project Value,Project Waarde,
Project activity / task.,Project activiteit / taak.,
Project master.,Project stam.,
Project-wise data is not available for Quotation,Projectgegevens zijn niet beschikbaar voor Offertes,
Projected,verwachte,
Projected Qty,Geprojecteerde aantal,
Projected Quantity Formula,Voorgestelde hoeveelheidformule,
Projects,projecten,
Property,Eigendom,
Property already added,Property is al toegevoegd,
Proposal Writing,Voorstel schrijven,
Proposal/Price Quote,Offerte / prijsofferte,
Prospecting,prospectie,
Provisional Profit / Loss (Credit),Voorlopige winst / verlies (Credit),
Publications,publicaties,
Publish Items on Website,Artikelen publiceren op de website,
Published,Gepubliceerd,
Publishing,Publishing,
Purchase,Inkopen,
Purchase Amount,Aankoopbedrag,
Purchase Date,aankoopdatum,
Purchase Invoice,Inkoopfactuur,
Purchase Invoice {0} is already submitted,Inkoopfactuur {0} is al ingediend,
Purchase Manager,Purchase Manager,
Purchase Master Manager,Aankoop Master Manager,
Purchase Order,Inkooporder,
Purchase Order Amount,Bedrag bestelling,
Purchase Order Amount(Company Currency),Bedrag bestelling (bedrijfsvaluta),
Purchase Order Date,Aankooporderdatum,
Purchase Order Items not received on time,Inkooporderartikelen die niet op tijd zijn ontvangen,
Purchase Order number required for Item {0},Inkoopordernummer nodig voor Artikel {0},
Purchase Order to Payment,Aanschaffen om de betaling,
Purchase Order {0} is not submitted,Inkooporder {0} is niet ingediend,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Aankooporders zijn niet toegestaan voor {0} door een scorecard van {1}.,
Purchase Orders given to Suppliers.,Inkooporders voor leveranciers.,
Purchase Price List,Purchase Price List,
Purchase Receipt,Ontvangstbevestiging,
Purchase Receipt {0} is not submitted,Ontvangstbevestiging {0} is niet ingediend,
Purchase Tax Template,Kopen Tax Template,
Purchase User,Aankoop Gebruiker,
Purchase orders help you plan and follow up on your purchases,Inkooporders helpen bij het plannen en opvolgen van uw aankopen,
Purchasing,inkoop,
Purpose must be one of {0},Doel moet één zijn van {0},
Qty,Aantal,
Qty To Manufacture,Aantal te produceren,
Qty Total,Aantal Totaal,
Qty for {0},Aantal voor {0},
Qualification,Kwalificatie,
Quality,Kwaliteit,
Quality Action,Kwaliteitsactie,
Quality Goal.,Kwaliteitsdoel.,
Quality Inspection,Kwaliteitscontrole,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Kwaliteitscontrole: {0} is niet verzonden voor het artikel: {1} in rij {2},
Quality Management,Quality Management,
Quality Meeting,Kwaliteitsvergadering,
Quality Procedure,Kwaliteitsprocedure,
Quality Procedure.,Kwaliteitsprocedure.,
Quality Review,Kwaliteitsbeoordeling,
Quantity,Hoeveelheid,
Quantity for Item {0} must be less than {1},Hoeveelheid voor artikel {0} moet kleiner zijn dan {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Hoeveelheid in rij {0} ({1}) moet hetzelfde zijn als geproduceerde hoeveelheid {2},
Quantity must be less than or equal to {0},Hoeveelheid moet kleiner dan of gelijk aan {0},
Quantity must not be more than {0},Hoeveelheid mag niet meer zijn dan {0},
Quantity required for Item {0} in row {1},Benodigde hoeveelheid voor item {0} in rij {1},
Quantity should be greater than 0,Hoeveelheid moet groter zijn dan 0,
Quantity to Make,Te maken hoeveelheid,
Quantity to Manufacture must be greater than 0.,Hoeveelheid voor fabricage moet groter dan 0 zijn.,
Quantity to Produce,Te produceren hoeveelheid,
Quantity to Produce can not be less than Zero,Te produceren hoeveelheid mag niet minder zijn dan nul,
Query Options,Query-opties,
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 afwachting van het bijwerken van de laatste prijs in alle Materialen. Het kan enkele minuten duren.,
Quick Journal Entry,Quick Journal Entry,
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 het type {1},
Quotations,Citaten,
"Quotations are proposals, bids you have sent to your customers","Offertes zijn voorstellen, biedingen u uw klanten hebben gestuurd",
Quotations received from Suppliers.,Offertes ontvangen van leveranciers.,
Quotations: ,citaten:,
Quotes to Leads or Customers.,Offertes naar leads of klanten.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ&#39;s zijn niet toegestaan voor {0} door een scorecard van {1},
Range,reeks,
Rate,tarief,
Rate:,rate:,
Rating,Beoordeling,
Raw Material,Grondstof,
Raw Materials,Grondstoffen,
Raw Materials cannot be blank.,Grondstoffen kan niet leeg zijn.,
Re-open,Heropenen,
Read blog,Lees blog,
Read the ERPNext Manual,Lees de ERPNext Manual,
Reading Uploaded File,Geüpload bestand lezen,
Real Estate,Vastgoed,
Reason For Putting On Hold,Reden om in de wacht te zetten,
Reason for Hold,Reden voor inhouding,
Reason for hold: ,Reden voor inhouding:,
Receipt,Ontvangst,
Receipt document must be submitted,Ontvangst document moet worden ingediend,
Receivable,Vordering,
Receivable Account,Vorderingen Account,
Received,ontvangen,
Received On,Ontvangen op,
Received Quantity,Ontvangen hoeveelheid,
Received Stock Entries,Ontvangen voorraadinvoer,
Receiver List is empty. Please create Receiver List,Ontvanger Lijst is leeg. Maak Ontvanger Lijst,
Recipients,Ontvangers,
Reconcile,Afletteren,
"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,
Redirect URL,redirect URL,
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},
Reference Document,Referentie document,
Reference Document Type,Referentie Document Type,
Reference No & Reference Date is required for {0},Referentienummer en referentiedatum nodig is voor {0},
Reference No and Reference Date is mandatory for Bank transaction,Referentienummer en Reference Data is verplicht voor Bank transactie,
Reference No is mandatory if you entered Reference Date,Referentienummer is verplicht als u een referentiedatum hebt ingevoerd,
Reference No.,Referentienummer.,
Reference Number,Referentienummer,
Reference Owner,eigenaar ref,
Reference Type,Referentie Type,
"Reference: {0}, Item Code: {1} and Customer: {2}","Referentie: {0}, Artikelcode: {1} en Klant: {2}",
References,Referenties,
Refresh Token,Vernieuwen Token,
Region,Regio,
Register,Registreren,
Reject,afwijzen,
Rejected,Afgewezen,
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,Artikel verwijderen als de kosten niet van toepassing zijn op dat artikel,
Removed items with no change in quantity or value.,Verwijderde items met geen verandering in de hoeveelheid of waarde.,
Reopen,heropenen,
Reorder Level,Bestelniveau,
Reorder Qty,Bestelaantal,
Repeat Customer Revenue,Terugkerende klanten Opbrengsten,
Repeat Customers,Terugkerende klanten,
Replace BOM and update latest price in all BOMs,Vervang BOM en update de laatste prijs in alle BOM&#39;s,
Replied,Beantwoord,
Replies,Antwoorden,
Report,Rapport,
Report Builder,Rapport Bouwer,
Report Type,Rapport Type,
Report Type is mandatory,Rapport type is verplicht,
Reports,rapporten,
Reqd By Date,Benodigd op datum,
Reqd Qty,Gewenste hoeveelheid,
Request for Quotation,Offerte,
Request for Quotations,Verzoek om offertes,
Request for Raw Materials,Verzoek om grondstoffen,
Request for purchase.,Inkoopaanvraag,
Request for quotation.,Aanvraag voor een offerte.,
Requested Qty,Aangevraagde Hoeveelheid,
"Requested Qty: Quantity requested for purchase, but not ordered.","Aangevraagd Hoeveelheid: Aantal gevraagd om in te kopen, maar nog niet besteld.",
Requesting Site,Verzoekende site,
Requesting payment against {0} {1} for amount {2},Betalingsverzoeken tegen {0} {1} van {2} bedrag,
Requestor,aanvrager,
Required On,Vereist op,
Required Qty,Benodigde hoeveelheid,
Required Quantity,Benodigde hoeveelheid,
Reschedule,Afspraak verzetten,
Research,Onderzoek,
Research & Development,Research & Development,
Researcher,Onderzoeker,
Resend Payment Email,E-mail opnieuw te verzenden Betaling,
Reserve Warehouse,Magazijn reserveren,
Reserved Qty,Gereserveerde hoeveelheid,
Reserved Qty for Production,Aantal voorbehouden 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: Aantal toegewezen aan verkoop, maar nog niet geleverd.",
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,Resultaat is al verzonden,
Resume,Hervat,
Retail,Retail,
Retail & Wholesale,Retail & Groothandel,
Retail Operations,Retailactiviteiten,
Retained Earnings,Ingehouden winsten,
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,Return / Credit Note,
Return / Debit Note,Return / betaalkaart Note,
Returns,opbrengst,
Reverse Journal Entry,Reverse Journal Entry,
Review Invitation Sent,Review Uitnodiging verzonden,
Review and Action,Beoordeling en actie,
Role,Rol,
Rooms Booked,Kamers geboekt,
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 niet een bovenliggende kostenplaats hebben,
Round Off,Afronden,
Rounded Total,Afgerond Totaal,
Route,Route,
Row # {0}: ,Rij # {0}:,
Row # {0}: Batch No must be same as {1} {2},Rij # {0}: Batch Geen moet hetzelfde zijn als zijn {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Rij # {0}: Kan niet meer dan terugkeren {1} voor post {2},
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Rij # {0}: De tarief kan niet groter zijn dan de tarief die wordt gebruikt in {1} {2},
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 mag niet groter zijn dan het uitstaande bedrag.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Rij # {0}: Asset {1} kan niet worden ingediend, is het 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}: Clearance date {1} kan niet vóór Cheque Date {2},
Row #{0}: Duplicate entry in References {1} {2},Rij # {0}: Duplicate entry in Referenties {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Rij # {0}: Verwachte Afleverdatum kan niet vóór de Aankoopdatum zijn,
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}: Journal Entry {1} heeft geen account {2} of al vergeleken met een ander voucher,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Rij # {0}: Niet toegestaan om van leverancier te veranderen als bestelling al bestaat,
Row #{0}: Please set reorder quantity,Rij # {0}: Stel nabestelling hoeveelheid,
Row #{0}: Please specify Serial No for Item {1},Rij #{0}: Voer serienummer in voor artikel {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}: Beoordeel moet hetzelfde zijn als zijn {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Rij # {0}: Referentiedocumenttype moet één van de kostenrekening of het journaalboekje zijn,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Rij # {0}: Reference document moet een van Purchase Order, Purchase Invoice of Inboeken zijn",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Rij # {0}: Afgekeurd Aantal niet in Purchase Return kunnen worden ingevoerd,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Rij # {0}: Afgekeurd Warehouse is verplicht tegen verworpen 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}: Stel Leverancier voor punt {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Rij # {0}: Status moet {1} zijn voor factuurkorting {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 partij {1} heeft slechts {2} aantal. Selecteer alstublieft een andere partij die {3} beschikbaar heeft of verdeel de rij in meerdere rijen, om te leveren / uit te voeren vanuit meerdere batches",
Row #{0}: Timings conflicts with row {1},Rij #{0}: Tijden conflicteren met rij {1},
Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} kan niet negatief voor producten van post {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Rij Geen {0}: Bedrag kan niet groter zijn dan afwachting Bedrag tegen Expense conclusie {1} zijn. 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}: Activiteit Type is verplicht.,
Row {0}: Advance against Customer must be credit,Rij {0}: Advance tegen Klant moet krediet,
Row {0}: Advance against Supplier must be debit,Rij {0}: Advance tegen Leverancier worden debiteren,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Rij {0}: Toegewezen bedrag {1} moet kleiner zijn dan of gelijk aan Payment Entry bedrag {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Rij {0}: Toegewezen bedrag {1} moet kleiner zijn dan of gelijk aan openstaande bedrag te factureren {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Rij {0}: Er bestaat al een nabestelling voor dit magazijn {1},
Row {0}: Bill of Materials not found for the Item {1},Rij {0}: Bill of Materials niet gevonden voor het artikel {1},
Row {0}: Conversion Factor is mandatory,Rij {0}: Conversie Factor is verplicht,
Row {0}: Cost center is required for an item {1},Rij {0}: Kostencentrum is vereist voor een item {1},
Row {0}: Credit entry can not be linked with a {1},Rij {0}: kan creditering niet worden gekoppeld met een {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Rij {0}: Munt van de BOM # {1} moet gelijk zijn aan de geselecteerde valuta zijn {2},
Row {0}: Debit entry can not be linked with a {1},Rij {0}: debitering niet kan worden verbonden met een {1},
Row {0}: Depreciation Start Date is required,Rij {0}: startdatum van afschrijving is vereist,
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}: From Time and To Time is mandatory.,Rij {0}: Van tijd en binnen Tijd is verplicht.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Rij {0}: Van tijd en de tijd van de {1} overlapt met {2},
Row {0}: From time must be less than to time,Rij {0}: van tijd moet korter zijn dan tot tijd,
Row {0}: Hours value must be greater than zero.,Rij {0}: Aantal uren moet groter zijn dan nul.,
Row {0}: Invalid reference {1},Rij {0}: Invalid referentie {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Rij {0}: Party / 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}: Party Type en Party is vereist voor Debiteuren / Crediteuren rekening {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Rij {0}: Betaling tegen Sales / Purchase Order moet altijd worden gemarkeerd als voorschot,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Rij {0}: Kijk 'Is Advance' tegen Account {1} als dit is een voorschot binnenkomst.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Rij {0}: Stel in op Belastingvrijstellingsreden in omzetbelasting en kosten,
Row {0}: Please set the Mode of Payment in Payment Schedule,Rij {0}: stel de Betalingswijze in 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}: kwaliteitscontrole afgewezen voor artikel {1},
Row {0}: UOM Conversion Factor is mandatory,Rij {0}: Verpakking Conversie Factor 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 item {2}. U heeft {3} verstrekt.,
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} niet overeenkomt met {3},
Row {0}:Start Date must be before End Date,Rij {0} : Start Datum moet voor 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 de toepassing van prijzen en kortingen .,
S.O. No.,VO nr,
SGST Amount,SGST Bedrag,
SO Qty,VO Aantal,
Safety Stock,Veiligheidsvoorraad,
Salary,Salaris,
Salary Slip ID,Loonstrook ID,
Salary Slip of employee {0} already created for this period,Loonstrook van de werknemer {0} al gemaakt voor deze periode,
Salary Slip of employee {0} already created for time sheet {1},Loonstrook van de werknemer {0} al gemaakt voor urenregistratie {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 Missing,
Salary Structure must be submitted before submission of Tax Ememption Declaration,De salarisstructuur moet worden ingediend voordat de belastingemissieverklaring 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 al verwerkt voor de periode tussen {0} en {1}, Laat aanvraagperiode kan niet tussen deze periode.",
Sales,verkoop,
Sales Account,Verkoopaccount,
Sales Expenses,Verkoopkosten,
Sales Funnel,Verkoop Trechter,
Sales Invoice,Verkoopfactuur,
Sales Invoice {0} has already been submitted,Verkoopfactuur {0} is al ingediend,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Verkoopfactuur {0} moet worden geannuleerd voordat deze verkooporder kan worden geannuleerd.,
Sales Manager,Verkoopsmanager,
Sales Master Manager,Sales Master Manager,
Sales Order,Verkooporder,
Sales Order Item,Verkooporder Artikel,
Sales Order required for Item {0},Verkooporder nodig voor Artikel {0},
Sales Order to Payment,Sales om de betaling,
Sales Order {0} is not submitted,Verkooporder {0} is niet ingediend,
Sales Order {0} is not valid,Verkooporder {0} is niet geldig,
Sales Order {0} is {1},Sales Order {0} is {1},
Sales Orders,Verkooporders,
Sales Partner,Verkoop Partner,
Sales Pipeline,Sales Pipeline,
Sales Price List,Sales Prijslijst,
Sales Return,Terugkerende verkoop,
Sales Summary,Verkoopoverzicht,
Sales Tax Template,Sales Tax Template,
Sales Team,Verkoop team,
Sales User,Sales Gebruiker,
Sales and Returns,Verkoop en retourneren,
Sales campaigns.,Verkoop campagnes,
Sales orders are not available for production,Verkooporders zijn niet beschikbaar voor productie,
Salutation,Aanhef,
Same Company is entered more than once,Hetzelfde bedrijf is meer dan één keer 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,Monster,
Sample Collection,Sample Collection,
Sample quantity {0} cannot be more than received quantity {1},Voorbeeldhoeveelheid {0} kan niet meer dan ontvangen aantal {1} zijn,
Sanctioned,Sanctioned,
Sanctioned Amount,Gesanctioneerde Bedrag,
Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Gesanctioneerde bedrag kan niet groter zijn dan Claim Bedrag in Row {0}.,
Sand,Zand,
Saturday,Zaterdag,
Saved,Opgeslagen,
Saving {0},{0} opslaan,
Scan Barcode,Scan barcode,
Schedule,Plan,
Schedule Admission,Plan toegang,
Schedule Course,Schedule Course,
Schedule Date,Plan datum,
Schedule Discharge,Scheiding plannen,
Scheduled,Geplande,
Scheduled Upto,Geplande Tot,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Plannen voor overlappende {0}, wilt u doorgaan na het overslaan van overlappende slots?",
Score cannot be greater than Maximum Score,Score kan niet groter zijn dan de maximale score te zijn,
Score must be less than or equal to 5,Score moet lager dan of gelijk aan 5 zijn,
Scorecards,scorecards,
Scrapped,gesloopt,
Search,Zoek,
Search Results,Zoekresultaten,
Search Sub Assemblies,Zoeken Sub Assemblies,
"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 vaststellen van budgetten, doelstellingen etc.",
Secret Key,Geheime sleutel,
Secretary,secretaresse,
Section Code,Sectiecode,
Secured Loans,Leningen met onderpand,
Securities & Commodity Exchanges,Securities & Commodity Exchanges,
Securities and Deposits,Effecten en Deposito's,
See All Articles,Zie alle artikelen,
See all open tickets,Bekijk alle openstaande tickets,
See past orders,Bekijk eerdere bestellingen,
See past quotations,Zie eerdere citaten,
Select,Kiezen,
Select Alternate Item,Selecteer alternatief item,
Select Attribute Values,Selecteer kenmerkwaarden,
Select BOM,Select BOM,
Select BOM and Qty for Production,Selecteer BOM en Aantal voor productie,
"Select BOM, Qty and For Warehouse","Selecteer stuklijst, aantal en voor magazijn",
Select Batch,Selecteer Batch,
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 Standaard Leverancier,
Select DocType,Selecteer DocType,
Select Fiscal Year...,Selecteer boekjaar ...,
Select Item (optional),Selecteer item (optioneel),
Select Items based on Delivery Date,Selecteer items op basis van leveringsdatum,
Select Items to Manufacture,Selecteer Items voor fabricage,
Select Loyalty Program,Selecteer Loyaliteitsprogramma,
Select Patient,Selecteer Patiënt,
Select Possible Supplier,Stel mogelijke Leverancier,
Select Property,Selecteer Eigenschap,
Select Quantity,Kies aantal,
Select Serial Numbers,Selecteer serienummers,
Select Target Warehouse,Selecteer Target Warehouse,
Select Warehouse...,Kies Warehouse ...,
Select an account to print in account currency,Selecteer een account om in rekeningsvaluta af te drukken,
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 verandering bedrag rekening,
Select company first,Selecteer eerst een bedrijf,
Select students manually for the Activity based Group,Selecteer studenten handmatig voor de activiteit 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 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,Selling Bedrag,
Selling Price List,Verkoopprijslijst,
Selling Rate,Verkoopcijfers,
"Selling must be checked, if Applicable For is selected as {0}","Verkoop moet zijn aangevinkt, indien ""Van toepassing voor"" is geselecteerd als {0}",
Send Grant Review Email,Verstuur Grant Review Email,
Send Now,Nu verzenden,
Send SMS,SMS versturen,
Send mass SMS to your contacts,Stuur massa SMS naar uw contacten,
Sensitivity,Gevoeligheid,
Sent,verzonden,
Serial #,Serial #,
Serial No and Batch,Serienummer en batch,
Serial No is mandatory for Item {0},Serienummer 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} behoort niet tot Vrachtbrief {1},
Serial No {0} does not belong to Item {1},Serienummer {0} behoort niet tot Artikel {1},
Serial No {0} does not belong to Warehouse {1},Serienummer {0} behoort niet tot Magazijn {1},
Serial No {0} does not belong to any Warehouse,Serienummer {0} niet behoren tot een Warehouse,
Serial No {0} does not exist,Serienummer {0} bestaat niet,
Serial No {0} has already been received,Serienummer {0} is reeds ontvangen,
Serial No {0} is under maintenance contract upto {1},Serienummer {0} valt binnen onderhoudscontract tot {1},
Serial No {0} is under warranty upto {1},Serienummer {0} is onder garantie tot {1},
Serial No {0} not 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} hoeveelheid {1} moet een geheel getal zijn,
Serial Nos Required for Serialized Item {0},Volgnummers zijn vereist voor Seriegebonden Artikel {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Serienummer: {0} is reeds verwezen in de verkoopfactuur: {1},
Serial Numbers,Serienummers,
Serial Numbers in row {0} does not match with Delivery Note,Serienummers in rij {0} komt niet overeen met bezorgingsnota,
Serial no {0} has been already returned,Serienummer {0} is al geretourneerd,
Serial number {0} entered more than once,Serienummer {0} meer dan eens ingevoerd,
Serialized Inventory,Geserialiseerde Inventory,
Series Updated,Reeks bijgewerkt,
Series Updated Successfully,Reeks succesvol bijgewerkt,
Series is mandatory,Reeks is verplicht,
Series {0} already used in {1},Reeks {0} al gebruikt in {1},
Service,Service,
Service Expense,dienst Expense,
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,Services,
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Instellen Standaardwaarden zoals Bedrijf , Valuta , huidige boekjaar , etc.",
Set Details,Details instellen,
Set New Release Date,Stel nieuwe releasedatum in,
Set Project and all Tasks to status {0}?,Project en alle taken instellen op status {0}?,
Set Status,Stel status in,
Set Tax Rule for shopping cart,Stel Tax Regel voor winkelmandje,
Set as Closed,Instellen als gesloten,
Set as Completed,Instellen als voltooid,
Set as Default,Instellen als standaard,
Set as Lost,Instellen als verloren,
Set as Open,Instellen als Open,
Set default inventory account for perpetual inventory,Stel standaard inventaris rekening voor permanente inventaris,
Set this if the customer is a Public Administration company.,Stel dit in als de klant een bedrijf voor openbaar bestuur is.,
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}","Instellen Events naar {0}, omdat de werknemer die aan de onderstaande Sales Personen die niet beschikt over een gebruikers-ID {1}",
Setting defaults,Standaardwaarden instellen,
Setting up Email,Het opzetten van e-mail,
Setting up Email Account,Het opzetten van e-mailaccount,
Setting up Employees,Het opzetten van Werknemers,
Setting up Taxes,Het opzetten van Belastingen,
Setting up company,Bedrijf oprichten,
Settings,instellingen,
"Settings for online shopping cart such as shipping rules, price list etc.","Instellingen voor online winkelwagentje zoals scheepvaart regels, prijslijst enz.",
Settings for website homepage,Instellingen voor website homepage,
Settings for website product listing,Instellingen voor website productvermelding,
Settled,verrekend,
Setup Gateway accounts.,Setup Gateway accounts.,
Setup SMS gateway settings,Instellingen SMS gateway,
Setup cheque dimensions for printing,Setup check afmetingen voor afdrukken,
Setup default values for POS Invoices,Stel standaardwaarden in voor POS-facturen,
Setup mode of POS (Online / Offline),Setup-modus van POS (online / offline),
Setup your Institute in ERPNext,Stel uw instituut op in ERPNext,
Share Balance,Share Balance,
Share Ledger,Deel Ledger,
Share Management,Share Management,
Share Transfer,Deel overdracht,
Share Type,Type delen,
Shareholder,Aandeelhouder,
Ship To State,Verzenden naar staat,
Shipments,zendingen,
Shipping,Logistiek,
Shipping Address,Verzendadres,
"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 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,
Short Name,Korte Naam,
Shortage Qty,Tekort aantal,
Show Completed,Show voltooid,
Show Cumulative Amount,Cumulatief bedrag weergeven,
Show Employee,Werknemer tonen,
Show Open,Toon geopend,
Show Opening Entries,Openingsitems weergeven,
Show Payment Details,Toon betalingsgegevens,
Show Return Entries,Return-items weergeven,
Show Salary Slip,Show loonstrook,
Show Variant Attributes,Show Variant Attributes,
Show Variants,Toon Varianten,
Show closed,Toon gesloten,
Show exploded view,Show exploded view,
Show only POS,Toon alleen POS,
Show unclosed fiscal year's P&L balances,Toon ongesloten fiscale jaar P &amp; L saldi,
Show zero values,Toon nulwaarden,
Sick Leave,Ziekteverlof,
Silt,Slib,
Single Variant,Enkele variant,
Single unit of an Item.,Enkel exemplaar 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}","Salarisstructuurtoewijzing overslaan voor de volgende werknemers, omdat er al een salarisstructuurtoewijzingsrecord tegen hen bestaat. {0}",
Slideshow,Diashow,
Slots for {0} are not added to the schedule,Slots voor {0} worden niet toegevoegd aan het schema,
Small,Klein,
Soap & Detergent,Zeep & Wasmiddel,
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 Name,Bron naam,
Source Warehouse,Bron Magazijn,
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 kan niet hetzelfde zijn voor de rij {0},
Source and target warehouse must be different,Bron en doel magazijn moet verschillen,
Source of Funds (Liabilities),Bron van Kapitaal (Passiva),
Source warehouse is mandatory for row {0},Bron magazijn is verplicht voor rij {0},
Specified BOM {0} does not exist for Item {1},Gespecificeerde Stuklijst {0} bestaat niet voor Artikel {1},
Split,spleet,
Split Batch,Split Batch,
Split Issue,Gesplitste probleem,
Sports,Sport,
Staffing Plan {0} already exist for designation {1},Personeelsplan {0} bestaat al voor aanwijzing {1},
Standard,Standaard,
Standard Buying,Standard kopen,
Standard Selling,Standaard Verkoop,
Standard contract terms for Sales or Purchase.,Standaard contractvoorwaarden voor Verkoop of Inkoop .,
Start Date,Startdatum,
Start Date of Agreement can't be greater than or equal to End Date.,De startdatum van de overeenkomst kan niet groter zijn dan of gelijk zijn aan de einddatum.,
Start Year,Start jaar,
"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Begin- en einddatums niet in een geldige loonperiode, 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 kleiner zijn dan einddatum voor Artikel {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 één zijn van {0},
Stock,Voorraad,
Stock Adjustment,Voorraad aanpassing,
Stock Analytics,Voorraad Analyses,
Stock Assets,Voorraad Activa,
Stock Available,Beschikbare voorraad,
Stock Balance,Voorraad Saldo,
Stock Entries already created for Work Order ,Voorraadinvoer al gemaakt voor werkorder,
Stock Entry,Voorraadtransactie,
Stock Entry {0} created,Stock Entry {0} aangemaakt,
Stock Entry {0} is not submitted,Stock Entry {0} is niet ingediend,
Stock Expenses,Voorraadkosten,
Stock In Hand,Voorraad in de hand,
Stock Items,Stock items,
Stock Ledger,Voorraad Dagboek,
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Voorraad boekingen en Journaalposten worden opnieuw geboekt voor de geselecteerde Ontvangstbewijzen,
Stock Levels,Stock Levels,
Stock Liabilities,Voorraad Verplichtingen,
Stock Options,Aandelenopties,
Stock Qty,Aantal voorraad,
Stock Received But Not Billed,Voorraad ontvangen maar nog niet gefactureerd,
Stock Reports,Stock Reports,
Stock Summary,Stock Samenvatting,
Stock Transactions,Stock Transactions,
Stock UOM,Voorraad Eenheid,
Stock Value,Voorraad Waarde,
Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Voorraadbalans in Batch {0} zal negatief worden {1} voor Artikel {2} in Magazijn {3},
Stock cannot be updated against Delivery Note {0},Voorraad kan niet worden bijgewerkt obv Vrachtbrief {0},
Stock cannot be updated against Purchase Receipt {0},Stock kan niet worden bijgewerkt tegen Kwitantie {0},
Stock cannot exist for Item {0} since has variants,Voorraad kan niet bestaan voor Artikel {0} omdat het varianten heeft.,
Stock transactions before {0} are frozen,Voorraadtransacties voor {0} zijn bevroren,
Stop,stoppen,
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,Winkels,
Structures have been assigned successfully,Structuren zijn succesvol toegewezen,
Student,Student,
Student Activity,Studentactiviteit,
Student Address,Studentenadres,
Student Admissions,studentenadministratie,
Student Attendance,student Attendance,
"Student Batches help you track attendance, assessments and fees for students","Student Batches helpen bijhouden opkomst, evaluaties en kosten voor studenten",
Student Email Address,Student e-mailadres,
Student Email ID,Student Email ID,
Student Group,student Group,
Student Group Strength,Studentengroep Sterkte,
Student Group is already updated.,Studentgroep is al bijgewerkt.,
Student Group: ,Studentengroep:,
Student ID,student ID,
Student ID: ,Student-ID:,
Student LMS Activity,LMS-activiteit student,
Student Mobile No.,Student Mobile No.,
Student Name,Studenten naam,
Student Name: ,Studenten naam:,
Student Report Card,Studentenrapportkaart,
Student is already enrolled.,Student is reeds ingeschreven.,
Student {0} - {1} appears Multiple times in row {2} & {3},Student {0} - {1} 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 worden in het hart van het systeem, voegt al jouw leerlingen",
Sub Assemblies,Uitbesteed werk,
Sub Type,Subtype,
Sub-contracting,Uitbesteding,
Subcontract,subcontract,
Subject,Onderwerp,
Submit,Indienen,
Submit Proof,Bewijs indienen,
Submit Salary Slip,Indienen salarisstrook,
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 creëren,
Submitting Salary Slips...,Salarisbrieven indienen ...,
Subscription,Abonnement,
Subscription Management,Abonnementbeheer,
Subscriptions,abonnementen,
Subtotal,Subtotaal,
Successful,geslaagd,
Successfully Reconciled,Succesvol Afgeletterd,
Successfully Set Supplier,Leverancier met succes instellen,
Successfully created payment entries,Met succes betalingsgegevens aangemaakt,
Successfully deleted all transactions related to this company!,Succesvol verwijderd alle transacties met betrekking tot dit bedrijf!,
Sum of Scores of Assessment Criteria needs to be {0}.,Som van de scores van de beoordelingscriteria moet {0} te zijn.,
Sum of points for all goals should be 100. It is {0},Som van de punten voor alle doelen moeten zijn 100. Het is {0},
Summary,Overzicht,
Summary for this month and pending activities,Samenvatting voor deze maand en in afwachting van activiteiten,
Summary for this week and pending activities,Samenvatting voor deze week en in afwachting van activiteiten,
Sunday,Zondag,
Suplier,suplier,
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 Posting Date,
Supplier Invoice No,Factuurnr. Leverancier,
Supplier Invoice No exists in Purchase Invoice {0},Leverancier factuur nr bestaat in Purchase Invoice {0},
Supplier Name,Leverancier Naam,
Supplier Part No,Leverancier Part No,
Supplier Quotation,Leverancier Offerte,
Supplier Scorecard,Leverancier Scorecard,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Leverancier Magazijn verplicht voor uitbesteedde Ontvangstbewijs,
Supplier database.,Leverancierbestand,
Supplier {0} not found in {1},Leverancier {0} niet gevonden in {1},
Supplier(s),Leverancier(s),
Supplies made to UIN holders,Benodigdheden voor UIN-houders,
Supplies made to Unregistered Persons,Leveringen aan niet-geregistreerde personen,
Suppliies made to Composition Taxable Persons,Leveringen aan compositie belastingplichtigen,
Supply Type,Leveringstype,
Support,Support,
Support Analytics,Support Analyse,
Support Settings,ondersteuning Instellingen,
Support Tickets,Ondersteuning tickets,
Support queries from customers.,Support vragen van klanten.,
Susceptible,vatbaar,
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 aandoening: {0},
System Manager,System Manager,
TDS Rate %,TDS-snelheid%,
Tap items to add them here,Tik op items om ze hier toe te voegen,
Target,Doel,
Target ({}),Doelwit ({}),
Target On,Doel op,
Target Warehouse,Doel Magazijn,
Target warehouse is mandatory for row {0},Doel magazijn 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,Belastingvorderingen,
Tax Category,Belastingcategorie,
Tax Category for overriding tax rates.,Belastingcategorie voor dwingende 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 items niet-voorraad items zijn,
Tax ID,BTW-nummer,
Tax Id: ,BTW-nummer:,
Tax Rate,Belastingtarief,
Tax Rule Conflicts with {0},Belasting Regel Conflicten met {0},
Tax Rule for transactions.,Fiscale regel voor transacties.,
Tax Template is mandatory.,Belasting Template is verplicht.,
Tax Withholding rates to be applied on transactions.,Belastinginhoudingstarieven die moeten worden toegepast op transacties.,
Tax template for buying transactions.,Belasting sjabloon voor inkooptransacties .,
Tax template for item tax rates.,Belastingsjabloon voor belastingtarieven van artikelen.,
Tax template for selling transactions.,Belasting sjabloon voor verkooptransacties.,
Taxable Amount,Belastbaar bedrag,
Taxes,Belastingen,
Team Updates,Team Updates,
Technology,Technologie,
Telecommunications,telecommunicatie,
Telephone Expenses,Telefoonkosten,
Television,Televisie,
Template Name,Sjabloonnaam,
Template of terms or contract.,Sjabloon voor contractvoorwaarden,
Templates of supplier scorecard criteria.,Templates van leveranciers scorecard criteria.,
Templates of supplier scorecard variables.,Sjablonen van leveranciers scorecard variabelen.,
Templates of supplier standings.,Sjablonen van leveranciers standings.,
Temporarily on Hold,Tijdelijk in de wacht,
Temporary,tijdelijk,
Temporary Accounts,Tijdelijke accounts,
Temporary Opening,Tijdelijke opening,
Terms and Conditions,Algemene Voorwaarden,
Terms and Conditions Template,Algemene voorwaarden Template,
Territory,Regio,
Test,Test,
Thank you,Dankjewel,
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 niet leeg zijn of de waarde is kleiner dan 1.,
The Brand,De Brand,
The Item {0} cannot have Batch,De Punt {0} kan niet Batch hebben,
The Loyalty Program isn't valid for the selected company,Het loyaliteitsprogramma is niet geldig voor het geselecteerde bedrijf,
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 Term Einddatum kan niet eerder dan de Term startdatum. Corrigeer de data 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 Term Einddatum kan niet later dan het jaar Einddatum van het studiejaar waarop de term wordt gekoppeld zijn (Academisch Jaar {}). Corrigeer de data 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 Term Start datum kan niet eerder dan het jaar startdatum van het studiejaar waarop de term wordt gekoppeld zijn (Academisch Jaar {}). Corrigeer de data en probeer het opnieuw.,
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Het Jaar Einddatum kan niet eerder dan het jaar startdatum. Corrigeer de data 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 je solliciteert verlof zijn vakantie. U hoeft niet voor verlof.,
The field From Shareholder cannot be blank,Het veld Van Aandeelhouder mag niet leeg zijn,
The field To Shareholder cannot be blank,Het veld Naar 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 holiday on {0} is not between From Date and To Date,De vakantie op {0} is niet tussen Van Datum en To Date,
The name of the institute for which you are setting up this system.,De naam van het instituut waarvoor u het opzetten van dit systeem.,
The name of your company for which you are setting up this system.,De naam van uw bedrijf waar u het systeem voor op zet.,
The number of shares and the share numbers are inconsistent,Het aantal aandelen en de aandelenaantallen 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 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 niet 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 de wacht gezet als achtergrondtaak. Als er een probleem is met de verwerking op de achtergrond, zal het systeem een opmerking toevoegen over de fout bij deze voorraadafstemming en terugkeren naar de conceptfase",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Dan worden prijsregels uitgefilterd op basis van Klant, Klantgroep, Regio,  Leverancier, Leverancier Type, Campagne, Verkooppartner, etc.",
"There are inconsistencies between the rate, no of shares and the amount calculated","Er zijn inconsistenties tussen de koers, aantal aandelen en het berekende bedrag",
There are more holidays than working days this month.,Er zijn meer vakanties dan werkdagen deze maand .,
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 in zijn {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Er kan maar één Verzendregel Voorwaarde met 0 of blanco waarde zijn voor ""To Value """,
There is 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 genoeg verlofsaldo voor Verlof type {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, in het geval van een fout, 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 zijn fouten opgetreden.,
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 artikel is een sjabloon en kunnen niet worden gebruikt bij transacties. Item attributen zal worden gekopieerd naar de varianten tenzij 'No Copy' is ingesteld,
This Item is a Variant of {0} (Template).,Dit artikel 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 dan limiet van {0} {1} voor punt {4}. Bent u het maken van een andere {3} tegen dezelfde {2}?,
This is a root account and cannot be edited.,Dit is een basisrekening en kan niet worden bewerkt.,
This is a root customer group and cannot be edited.,Dit is een basis klantgroep en kan niet worden bewerkt .,
This is a root 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 basis artikelgroep en kan niet worden bewerkt .,
This is a root sales person and cannot be edited.,Dit is een basis verkoper en kan niet worden bewerkt .,
This is a root 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 basis regio en kan niet worden bewerkt .,
This is an example website auto-generated from ERPNext,"Dit is een voorbeeld website, automatisch gegenereerd door ERPNext",
This is based on logs against this Vehicle. See timeline below for details,Dit is gebaseerd op stammen tegen dit voertuig. Zie tijdlijn hieronder voor meer informatie,
This is based on stock movement. See {0} for details,Dit is gebaseerd op voorraad beweging. Zie {0} voor meer informatie,
This is based on the Time Sheets created against this project,Dit is gebaseerd op de Time Sheets gemaakt tegen dit project,
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 de Student,
This is based on transactions against this Customer. See timeline below for details,Dit is gebaseerd op transacties tegen deze klant. Zie 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 tegen deze patiënt. Zie de tijdlijn hieronder voor details,
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 details,
This is based on transactions against this Supplier. See timeline below for details,Dit is gebaseerd op transacties tegen deze leverancier. Zie tijdlijn hieronder voor meer informatie,
This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Dit zal loonstrookjes indienen en een periodedagboek aanmaken. Wil je doorgaan?,
This {0} conflicts with {1} for {2} {3},Deze {0} in strijd is met {1} voor {2} {3},
Time Sheet for manufacturing.,Time Sheet voor de productie.,
Time Tracking,tijdregistratie,
"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,Tijdslots 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","Timesheets helpen bijhouden van de tijd, kosten en facturering voor activiteiten gedaan door uw team",
Titles for print templates e.g. Proforma Invoice.,Titels voor print sjablonen bijv. Proforma Factuur.,
To,Naar,
To Address 1,Aan adres 1,
To Address 2,To Address 2,
To Bill,Bill,
To Date,Tot Datum,
To Date cannot be before From Date,Tot Datum kan niet eerder zijn dan Van Datum,
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,Tot datum moet groter zijn dan vanaf datum,
To Date should be within the Fiscal Year. Assuming To Date = {0},Tot Datum moet binnen het boekjaar vallenn. Ervan uitgaande dat Tot Datum = {0},
To Datetime,Om Datetime,
To Deliver,Bezorgen,
To Deliver and Bill,Te leveren en Bill,
To Fiscal Year,Naar fiscaal jaar,
To GSTIN,Naar GSTIN,
To Party Name,Naar partijnaam,
To Pin Code,Naar pincode,
To Place,Plaatsen,
To Receive,Ontvangen,
To Receive and Bill,Te ontvangen en Bill,
To State,Te vermelden,
To Warehouse,Tot Magazijn,
To create a Payment Request reference document is required,Om een betalingsaanvraag te maken is referentie document vereist,
To date can not be equal or less than from date,Tot op heden kan niet gelijk of kleiner zijn dan van datum,
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 ontlastingsdatum van de werknemer,
"To filter based on Party, select Party Type first","Om te filteren op basis van Party, selecteer Party Typ eerst",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Om het beste uit ERPNext krijgen, raden wij u aan wat tijd te nemen en te kijken deze hulp video&#39;s.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Om Belastingen op te nemen in het Artikeltarief in rij {0}, moeten de belastingen in rijen {1} ook worden opgenomen",
To make Customer based incentive schemes.,Beloningsregelingen op basis van klanten maken.,
"To merge, following properties must be same for both items","Om samen te voegen, moeten de volgende eigenschappen hetzelfde zijn voor beide artikelen",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Om de prijsbepalingsregel in een specifieke transactie niet toe te passen, moeten alle toepasbare prijsbepalingsregels worden uitgeschakeld.",
"To set this Fiscal Year as Default, click on 'Set as Default'","Om dit boekjaar in te stellen als standaard, klik op 'Als standaard instellen'",
To 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,Wissel filters,
Too many columns. Export the report and print it using a spreadsheet application.,Teveel kolommen. Exporteer het rapport en druk het af via een Spreadsheet programma.,
Tools,Tools,
Total (Credit),Totaal (Credit),
Total (Without Tax),Totaal (zonder btw),
Total Absent,Totaal afwezig,
Total Achieved,Totaal Bereikt,
Total Actual,Totaal Werkelijke,
Total Allocated Leaves,Totaal toegewezen bladeren,
Total Amount,Totaal bedrag,
Total Amount Credited,Totaal gecrediteerd bedrag,
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Totaal van toepassing zijnde kosten in Kwitantie Items tabel moet hetzelfde zijn als de totale belastingen en heffingen,
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},Totaal Debet moet gelijk zijn aan Totaal Credit. Het verschil is {0},
Total Deduction,Totaal Aftrek,
Total Invoiced Amount,Totaal gefactureerd bedrag,
Total Leaves,Totaal Leaves,
Total Order Considered,Totaal Bestel Beschouwd,
Total Order Value,Totale orderwaarde,
Total Outgoing,Totaal Uitgaande,
Total Outstanding,Totaal uitstekend,
Total Outstanding Amount,Totale uitstaande bedrag,
Total Outstanding: {0},Totaal Uitstaande: {0},
Total Paid Amount,Totale betaalde 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 Present,
Total Qty,Totaal Aantal,
Total Quantity,Totale kwantiteit,
Total Revenue,Totale omzet,
Total Student,Totaal student,
Total Target,Totaal doel,
Total Tax,Total Tax,
Total Taxable Amount,Totaal belastbaar bedrag,
Total Taxable Value,Totaal belastbare waarde,
Total Unpaid: {0},Totaal Onbetaalde: {0},
Total Variance,Total Variance,
Total Weightage of all Assessment Criteria must be 100%,Totaal weightage van alle beoordelingscriteria moet 100% zijn,
Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Totaal vooraf ({0}) tegen Orde {1} kan niet groter zijn dan de Grand totaal zijn ({2}),
Total advance amount cannot be greater than total claimed amount,Het totale voorschotbedrag kan niet groter zijn dan het totaalbedrag waarvoor een claim is ingediend,
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,Totaal toegewezen percentage voor verkoopteam moet 100 zijn,
Total cannot be zero,Totaal kan niet nul zijn,
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 uitkeringen {1},
Total hours: {0},Totaal aantal uren: {0},
Total leaves allocated is mandatory for Leave Type {0},Totaal aantal toegewezen verlof is verplicht voor verloftype {0},
Total working hours should not be greater than max working hours {0},Totaal aantal werkuren mag niet groter zijn dan max werktijden {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 nul is, kan je zou moeten veranderen &#39;Verdeel heffingen op basis van&#39;",
Total(Amt),Totaal (Amt),
Total(Qty),Totaal (Aantal),
Traceability,traceerbaarheid,
Traceback,Herleiden,
Track Leads by Lead Source.,Leads bijhouden op leadbron.,
Training,Opleiding,
Training Event,training Event,
Training Events,Trainingsevenementen,
Training Feedback,training Terugkoppeling,
Training Result,training Resultaat,
Transaction,Transactie,
Transaction Date,transactie datum,
Transaction Type,Transactie Type,
Transaction currency must be same as Payment Gateway currency,Transactie valuta moet hetzelfde zijn als Payment Gateway valuta,
Transaction not allowed against stopped Work Order {0},Transactie niet toegestaan tegen gestopte werkorder {0},
Transaction reference no {0} dated {1},Transactiereferentie geen {0} van {1},
Transactions,transacties,
Transactions can only be deleted by the creator of the Company,Transacties kunnen alleen worden verwijderd door de maker van de Vennootschap,
Transfer,Verplaatsen,
Transfer Material,Verplaats Materiaal,
Transfer Type,Overdrachtstype,
Transfer an asset from one warehouse to another,Transfer een troef van het ene magazijn naar het andere,
Transfered,Overgebrachte,
Transferred Quantity,Overgedragen hoeveelheid,
Transport Receipt Date,Datum transportontvangst,
Transport Receipt No,Transportbewijs nr,
Transportation,vervoer,
Transporter ID,Transporter ID,
Transporter Name,Vervoerder Naam,
Travel,Reizen,
Travel Expenses,Reiskosten,
Tree Type,Boom Type,
Tree of Bill of Materials,Boom van de Bill of Materials,
Tree of Item Groups.,Boom van Artikelgroepen .,
Tree of Procedures,Procedureboom,
Tree of Quality Procedures.,Boom van kwaliteitsprocedures.,
Tree of financial Cost Centers.,Boom van de financiële Cost Centers.,
Tree of financial accounts.,Boom van de financiële rekeningen.,
Treshold {0}% appears more than once,Treshold {0}% meer dan eens,
Trial Period End Date Cannot be before Trial Period Start Date,Einddatum van proefperiode Mag niet vóór Startdatum proefperiode zijn,
Trialling,proefprogramma,
Type of Business,Soort bedrijf,
Types of activities for Time Logs,Soorten activiteiten voor Time Logs,
UOM,UOM,
UOM Conversion factor is required in row {0},Eenheid Omrekeningsfactor is vereist in rij {0},
UOM coversion factor required for UOM: {0} in Item: {1},Eenheid Omrekeningsfactor is nodig voor eenheid: {0} in Artikel: {1},
URL,URL,
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,Kan wisselkoers voor {0} tot {1} niet vinden voor de sleuteldatum {2}. Creëer alsjeblieft een valuta-wisselrecord,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Kan geen score beginnen bij {0}. Je moet een score hebben van 0 tot 100,
Unable to find variable: ,Kan variabele niet vinden:,
Unblock Invoice,Deblokkering factuur,
Uncheck all,Verwijder het vinkje bij alle,
Unclosed Fiscal Years Profit / Loss (Credit),Unclosed Boekjaren winst / verlies (Credit),
Unit,Eenheid,
Unit of Measure,Meeteenheid,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Eenheid {0} is meer dan eens ingevoerd in Conversie Factor Tabel,
Unknown,Onbekend,
Unpaid,onbetaald,
Unsecured Loans,Leningen zonder onderpand,
Unsubscribe from this Email Digest,Afmelden bij dit e-mailoverzicht,
Unsubscribed,Uitgeschreven,
Until,Totdat,
Unverified Webhook Data,Niet-geverifieerde Webhook-gegevens,
Update Account Name / Number,Accountnaam / nummer bijwerken,
Update Account Number / Name,Accountnummer / naam bijwerken,
Update Cost,Kosten bijwerken,
Update Items,Items bijwerken,
Update Print Format,Bijwerken Print Format,
Update Response,Update reactie,
Update bank payment dates with journals.,Bijwerken bank betaaldata met journaalposten,
Update in progress. It might take a while.,Update wordt uitgevoerd. Het kan even 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 uw brief hoofd en logo. (Je kunt ze later bewerken).,
Upper Income,Bovenste Inkomen,
Use Sandbox,Gebruik Sandbox,
Used Leaves,Gebruikte bladeren,
User,Gebruiker,
User ID,Gebruikers-ID,
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 geen regel toegepast op 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 aan Werknemer toegewezen {1},
User {0} is already assigned to Healthcare Practitioner {1},Gebruiker {0} is al toegewezen aan Healthcare Practitioner {1},
Users,Gebruikers,
Utility Expenses,Utiliteitskosten,
Valid From Date must be lesser than Valid Upto Date.,Geldig vanaf datum moet kleiner zijn dan geldig tot datum.,
Valid Till,Geldig tot,
Valid from and valid upto fields are mandatory for the cumulative,Geldige van en geldige tot-velden zijn verplicht voor de cumulatieve,
Valid from date must be less than valid upto date,Geldig vanaf datum moet kleiner zijn dan geldig tot datum,
Valid till date cannot be before transaction date,Geldig tot datum kan niet vóór de transactiedatum zijn,
Validity,Geldigheid,
Validity period of this quotation has ended.,Geldigheidsduur van deze offerte is beëindigd.,
Valuation Rate,Waardering Tarief,
Valuation Rate is mandatory if Opening Stock entered,Valuation Rate is verplicht als Opening Stock ingevoerd,
Valuation type charges can not marked as Inclusive,Soort waardering kosten kunnen niet zo Inclusive 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},Waarde voor kenmerk {0} moet binnen het bereik van {1} tot {2} in de stappen van {3} voor post {4},
Value missing,Waarde ontbreekt,
Value must be between {0} and {1},Waarde moet tussen {0} en {1} zijn,
"Values of exempt, nil rated and non-GST inward supplies","Waarden van vrijgestelde, nihil en niet-GST inkomende leveringen",
Variable,Variabele,
Variance,Variantie,
Variance ({}),Variantie ({}),
Variant,Variant,
Variant Attributes,Variant Attributen,
Variant Based On cannot be changed,Variant op basis 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,Voertuig kosten,
Vehicle No,Voertuig nr.,
Vehicle Type,Voertuigtype,
Vehicle/Bus Number,Voertuig- / busnummer,
Venture Capital,Venture Capital,
View Chart of Accounts,Bekijk rekeningschema,
View Fees Records,Bekijk tarieven Records,
View Form,Formulier bekijken,
View Lab Tests,Bekijk Lab Tests,
View Leads,Bekijk Leads,
View Ledger,Bekijk Grootboek,
View Now,Bekijk nu,
View a list of all the help videos,Bekijk een overzicht van alle hulp video&#39;s,
View in Cart,Bekijk in winkelwagen,
Visit report for maintenance call.,Bezoek rapport voor onderhoud gesprek.,
Visit the forums,Bezoek de forums,
Vital Signs,Vital Signs,
Volunteer,Vrijwilliger,
Volunteer Type information.,Type vrijwilliger informatie.,
Volunteer information.,Vrijwilliger informatie.,
Voucher #,Coupon #,
Voucher No,Voucher nr.,
Voucher Type,Voucher Type,
WIP Warehouse,WIP Warehouse,
Walk In,Walk In,
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Magazijn kan niet worden verwijderd omdat er voorraadboekingen zijn voor dit magazijn.,
Warehouse 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 voorraadartikel {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 nodig voor voorraad Artikel {0},
Warehouse {0} can not be deleted as quantity exists for Item {1},Magazijn {0} kan niet worden verwijderd als er voorraad is voor artikel {1},
Warehouse {0} does not belong to company {1},Magazijn {0} behoort niet tot bedrijf {1},
Warehouse {0} does not exist,Magazijn {0} bestaat niet,
"Warehouse {0} 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 niet gekoppeld aan een account, vermeld alstublieft het account in het magazijnrecord of stel de standaard inventaris rekening in bedrijf {1}.",
Warehouses with child nodes cannot be converted to ledger,Warehouses met kind nodes kunnen niet worden geconverteerd naar grootboek,
Warehouses with existing transaction can not be converted to group.,Warehouses met bestaande transactie kan niet worden geconverteerd naar groep.,
Warehouses with existing transaction can not be converted to ledger.,Warehouses met bestaande transactie kan niet worden geconverteerd naar grootboek.,
Warning,Waarschuwing,
Warning: Another {0} # {1} exists against stock entry {2},Waarschuwing: Een andere {0} # {1} bestaat tegen voorraad binnenkomst {2},
Warning: Invalid SSL certificate on attachment {0},Waarschuwing: Ongeldig SSL certificaat op attachment {0},
Warning: Invalid attachment {0},Waarschuwing: Invalid Attachment {0},
Warning: Leave application contains following block dates,Waarschuwing: Verlof applicatie bevat volgende blok data,
Warning: Material Requested Qty is less than Minimum Order Qty,Waarschuwing: Materiaal Aanvraag Aantal is minder dan Minimum Bestelhoeveelheid,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Waarschuwing: Sales Order {0} bestaat al tegen Klant Bestelling {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Waarschuwing: Het systeem zal niet controleren overbilling sinds bedrag voor post {0} in {1} nul,
Warranty,Garantie,
Warranty Claim,Garantie Claim,
Warranty Claim against Serial No.,Garantie Claim tegen Serienummer,
Website,Website,
Website Image should be a public file or website URL,Website Afbeelding moet een openbaar bestand of website URL zijn,
Website Image {0} attached to Item {1} cannot be found,Website Afbeelding {0} verbonden aan Item {1} kan niet worden gevonden,
Website Listing,Website Listing,
Website Manager,Website Manager,
Website Settings,Website instellingen,
Wednesday,Woensdag,
Week,Week,
Weekdays,Doordeweekse dagen,
Weekly,Wekelijks,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Het gewicht wordt vermeld, \n Vermeld ""Gewicht UOM"" te",
Welcome email sent,Welkomst e-mail verzonden,
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 de productie-activiteiten worden uitgevoerd.,
"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Tijdens het maken van een account voor het onderliggende bedrijf {0}, is het ouderaccount {1} niet gevonden. Maak het ouderaccount aan in het bijbehorende COA",
White,Wit,
Wire Transfer,overboeking,
WooCommerce Products,WooCommerce-producten,
Work In Progress,Onderhanden Werk,
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 itemsjabloon,
Work Order has been {0},Werkorder is {0},
Work Order not created,Werkorder niet gemaakt,
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,Werk in uitvoering Magazijn is vereist alvorens in te dienen,
Workflow,Workflow,
Working,Werkzaam,
Working Hours,Werkuren,
Workstation,Werkstation,
Workstation is closed on the following dates as per Holiday List: {0},Werkstation is gesloten op de volgende data als per Holiday Lijst: {0},
Wrapping up,Afsluiten,
Wrong Password,Verkeerd wachtwoord,
Year start date or end date is overlapping with {0}. To avoid please set company,Jaar begindatum of einddatum overlapt met {0}. Om te voorkomen dat stel bedrijf,
You are not authorized to add or update entries before {0},U bent niet bevoegd om items toe te voegen of bij te werken voor {0},
You are not authorized to approve leaves on Block Dates,U bent niet bevoegd om afwezigheid goed te keuren op Block Dates,
You are not authorized to set Frozen value,U bent niet bevoegd om Bevroren waarde 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 het tarief niet veranderen als een artikel Stuklijst-gerelateerd is.,
You can not enter current voucher in 'Against Journal Entry' column,U kan geen 'Voucher' invoeren in een 'Tegen Journal Entry' kolom,
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 alleen max. {0} punten in deze volgorde 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 verlofcasus 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 hetzelfde bedrag crediteren en debiteren op hetzelfde moment,
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Je kunt niet verwijderen boekjaar {0}. Boekjaar {0} is ingesteld als standaard in Global Settings,
You cannot delete Project Type 'External',U kunt projecttype &#39;extern&#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,Je hebt geen genoeg loyaliteitspunten om in te wisselen,
You have already assessed for the assessment criteria {}.,U heeft al beoordeeld op de beoordelingscriteria {}.,
You have already selected items from {0} {1},U heeft reeds geselecteerde items uit {0} {1},
You have been invited to collaborate on the project: {0},U bent uitgenodigd om mee te werken aan het project: {0},
You have entered duplicate items. Please rectify and try again.,U hebt dubbele artikelen ingevoerd. Aub aanpassen en opnieuw proberen.,
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,Je moet ingelogd zijn om toegang te krijgen tot deze pagina,
You need to enable Shopping Cart,U moet Winkelwagen activeren.,
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,Uw 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}] (# Vorm / Item / {0}) is niet op voorraad,
`Freeze Stocks Older Than` should be smaller than %d days.,'Bevries Voorraden Ouder dan' moet minder dan %d dagen zijn.,
based_on,gebaseerd op,
cannot be greater than 100,mag niet groter zijn dan 100,
disabled user,Uitgeschakelde gebruiker,
"e.g. ""Build tools for builders""","bijv. ""Bouwgereedschap voor bouwers """,
"e.g. ""Primary School"" or ""University""",bijvoorbeeld &quot;Primary School&quot; of &quot;University&quot;,
"e.g. Bank, Cash, Credit Card","bijv. Bank, Kas, Credit Card",
hidden,verborgen,
modified,gemodificeerde,
old_parent,old_parent,
on,op,
{0} '{1}' is disabled,{0} '{1}'is uitgeschakeld,
{0} '{1}' not in Fiscal Year {2},{0} '{1} ' niet in het boekjaar {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 inactieve student,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} is niet ingeschreven in de partij {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} is niet ingeschreven in 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 zal overschrijden tegen {5},
{0} Digest,{0} Samenvatting,
{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 post {1}. U hebt verstrekt {2}.,
{0} Student Groups created.,{0} Studentgroepen aangemaakt.,
{0} Students have been enrolled,{0} Studenten zijn ingeschreven,
{0} against Bill {1} dated {2},{0} tegen Factuur {1} gedateerd {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 Verkooporder {1},
{0} already allocated for Employee {1} for period {2} to {3},{0} reeds toegewezen voor Employee {1} voor periode {2} te {3},
{0} applicable after {1} working days,{0} van toepassing na {1} werkdagen,
{0} asset cannot be transferred,{0} actief kan niet worden overgedragen,
{0} can not be negative,{0} kan niet negatief zijn,
{0} created,{0} aangemaakt,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} heeft momenteel een {1} Leveranciersscorekaart, en er dienen voorzichtige waarborgen te worden uitgegeven bij inkooporders.",
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} heeft momenteel een {1} leverancierscorekaart, en RFQs aan deze leverancier moeten met voorzichtigheid worden uitgegeven.",
{0} does not belong to Company {1},{0} behoort niet tot 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 meester van de zorgverlener,
{0} entered twice in Item Tax,{0} twee keer opgenomen 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 geldigheid tot {1},
{0} hours,{0} uren,
{0} in row {1},{0} in rij {1},
{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 Artikel {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} is verplicht. Misschien is Valuta Koers record niet gemaakt voor {1} naar {2}.,
{0} is not a stock Item,{0} is geen voorraad artikel,
{0} is not a valid Batch Number for Item {1},{0} is geen geldig batchnummer voor Artikel {1},
{0} is not added in the table,{0} is niet toegevoegd aan 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 Boekjaar. Ververs 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} items in progress,
{0} items produced,{0} items geproduceerd,
{0} must appear only once,{0} mag slechts eenmaal voorkomen,
{0} must be negative in return document,{0} moet negatief zijn in teruggave document,
{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} parameter is invalid,{0} parameter is ongeldig,
{0} payment entries can not be filtered by {1},{0} betaling items kunnen niet worden gefilterd door {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}] (#Vorm/Item/{1}) gevonden in [{2}](#Vorm/Magazijn/{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} te {5} om deze transactie te voltooien.,
{0} units of {1} needed in {2} to complete this transaction.,{0} eenheden van {1} die nodig zijn in {2} om deze transactie te voltooien.,
{0} valid serial nos for Item {1},{0} geldig serienummers voor Artikel {1},
{0} variants created.,{0} varianten gemaakt.,
{0} {1} created,{0} {1} aangemaakt,
{0} {1} does not exist,{0} {1} bestaat niet,
{0} {1} has been modified. Please refresh.,{0} {1} is gewijzigd. Vernieuw aub.,
{0} {1} has not been submitted so the action cannot be completed,{0} {1} is niet ingediend dus de actie kan niet voltooid worden,
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} is geassocieerd met {2}, maar relatie Account 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 dus de actie kan niet voltooid worden,
{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 ingediend,
{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} in geen enkel actief fiscale jaar.,
{0} {1} status is {2},{0} {1} status {2},
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,"{0} {1}: ""winst- en verliesrekening"" type account {2} niet toegestaan in Opening opgave",
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Account {2} behoort niet tot Company {3},
{0} {1}: Account {2} is inactive,{0} {1}: Account {2} is niet actief,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Accounting Entry voor {2} kan alleen worden gemaakt in valuta: {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 nodig voor 'Winst- en verliesrekening' account {2}. Gelieve een standaard kostenplaats voor de onderneming op te zetten.,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: kostenplaats {2} behoort niet tot Company {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}: een klant is vereist voor Te Ontvangen rekening {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Ofwel debet of credit bedrag is vereist voor {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Leverancier is vereist tegen Te Betalen account {2},
{0}% Billed,{0}% gefactureerd,
{0}% Delivered,{0}% Geleverd,
"{0}: Employee email not found, hence email not sent","{0}: Employee e-mail niet gevonden, dus geen e-mail 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 Factuur Details tabel,
{} of {},{} van {},
Assigned To,Toegewezen Aan,
Chat,Chat,
Completed By,Afgemaakt door,
Conditions,Voorwaarden,
County,Provincie,
Day of Week,Dag van de week,
"Dear System Manager,","Geachte Systeemmanager,",
Default Value,Standaardwaarde,
Email Group,E-mail Group,
Email Settings,E-mail Instellingen,
Email not sent to {0} (unsubscribed / disabled),Geen e-mail verstuurd naar {0} (uitgeschreven / uitgeschakeld),
Error Message,Foutmelding,
Fieldtype,Veldtype,
Help Articles,Help Artikelen,
ID,ID,
Images,Afbeeldingen,
Import,Importeren,
Language,Taal,
Likes,Sympathieën,
Merge with existing,Samenvoegen met bestaande,
Office,Kantoor,
Orientation,oriëntering,
Passive,Passief,
Payment Failed,Betaling mislukt,
Percent,Percentage,
Permanent,blijvend,
Personal,Persoonlijk,
Plant,Fabriek,
Post,Bericht,
Postal,Post-,
Postal Code,Postcode,
Previous,vorig,
Provider,leverancier,
Read Only,Alleen lezen,
Recipient,Ontvanger,
Reviews,beoordelingen,
Sender,Afzender,
Shop,Winkelen,
Sign Up,Inschrijven,
Subsidiary,Dochteronderneming,
There is some problem with the file url: {0},Er is een probleem met het bestand url: {0},
There were errors while sending email. Please try again.,Er zijn fouten opgetreden tijdens het versturen van e-mail. Probeer het opnieuw .,
Values Changed,Gewijzigde waarden,
or,of,
Ageing Range 4,Verouderingsbereik 4,
Allocated amount cannot be greater than unadjusted amount,Toegewezen bedrag kan niet groter zijn dan niet-aangepast bedrag,
Allocated amount cannot be negative,Toegewezen bedrag kan niet negatief zijn,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Verschilrekening moet een account van het type Activa / Aansprakelijkheid zijn, omdat deze voorraadvermelding een opening is",
Error in some rows,Fout in sommige rijen,
Import Successful,Import succesvol,
Please save first,Bewaar eerst,
Price not found for item {0} in price list {1},Prijs niet gevonden voor artikel {0} in prijslijst {1},
Warehouse Type,Magazijn type,
'Date' is required,&#39;Datum&#39; is verplicht,
Benefit,Voordeel,
Budgets,Budgetten,
Bundle Qty,Aantal bundels,
Company GSTIN,Bedrijf GSTIN,
Company field is required,Bedrijfsveld 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},
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 heeft ingevoerd, komt niet overeen met de GSTIN-indeling voor UIN-houders of niet-residente OIDAR-serviceproviders",
Invoice Grand Total,Totaal factuurbedrag,
Last carbon check date cannot be a future date,De laatste carbon check-datum kan geen toekomstige datum zijn,
Make Stock Entry,Voorraad invoeren,
Quality Feedback,Kwaliteitsfeedback,
Quality Feedback Template,Kwaliteitsfeedbacksjabloon,
Rules for applying different promotional schemes.,Regels voor het toepassen van verschillende promotieregelingen.,
Shift,Verschuiving,
Show {0},Toon {0},
"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; niet toegestaan in naamgevingsreeks",
Target Details,Doelgegevens,
API,API,
Annual,jaar-,
Approved,Aangenomen,
Change,Verandering,
Contact Email,Contact E-mail,
Export Type,Exporttype,
From Date,Van Datum,
Group By,Groeperen op,
Importing {0} of {1},{0} van {1} importeren,
Invalid URL,Ongeldige URL,
Landscape,Landschap,
Last Sync On,Last Sync On,
Naming Series,Benoemen Series,
No data to export,Geen gegevens om te exporteren,
Portrait,Portret,
Print Heading,Print Kop,
Scheduler Inactive,Planner Inactief,
Scheduler is inactive. Cannot import data.,Planner is inactief. Kan gegevens niet importeren.,
Show Document,Document weergeven,
Show Traceback,Traceback weergeven,
Video,Video,
Webhook Secret,Webhook Secret,
% 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},Rekening {0} behoort niet tot 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,Activiteit,
Add / Manage Email Accounts.,Toevoegen / Beheer op E-mailaccounts.,
Add Child,Onderliggende toevoegen,
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 uw beoordeling toe,
Add/Edit Coupon Conditions,Couponvoorwaarden toevoegen / bewerken,
Added to Featured Items,Toegevoegd aan aanbevolen items,
Added {0} ({1}),Toegevoegd {0} ({1}),
Address Line 1,Adres Lijn 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}","Als er bestaande transacties tegen punt {0}, kunt u de waarde van het niet veranderen {1}",
Asset Id,Activa-ID,
Asset Value,Activa waarde,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,De aanpassing van de activawaarde kan niet worden geboekt vóór de aankoopdatum van het activum <b>{0}</b> .,
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},
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 het adres van de bestuurder ontbreekt.,
Cannot Optimize Route as Driver Address is Missing.,Kan route niet optimaliseren omdat het adres van de bestuurder ontbreekt.,
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 bijpassende Item 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} meer dan {2} niet teveel factureren. Als u overfactureren wilt toestaan, stelt u een toeslag in Accounts-instellingen in",
"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,tabel,
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 Item Print,
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,Voltooien,
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,Contact opnemen met de verkoper,
Continue,Voortzetten,
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,Landcode in bestand komt niet overeen met landcode ingesteld in het systeem,
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 ...,
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 te verzenden,
Currency,Valuta,
Current Status,Actuele 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,Geachte,
Default,Standaard,
Define coupon codes.,Definieer couponcodes.,
Delayed Days,Vertraagde dagen,
Delete,Verwijder,
Delivered Quantity,Geleverde hoeveelheid,
Delivery Notes,Pakbonnen,
Depreciated Amount,Afgeschreven bedrag,
Description,Beschrijving,
Designation,Benaming,
Difference Value,Verschilwaarde,
Dimension Filter,Dimension Filter,
Disabled,Uitgeschakeld,
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,Download Template,
Dr,Dr,
Due Date,Vervaldatum,
Duplicate,Dupliceer,
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,Waarde invoeren,
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,Verlopen,
Export,Exporteren,
Export not allowed. You need {0} role to export.,Exporteren niet toegestaan. Je hebt rol {0} nodig om te kunnen exporteren .,
Failed to add Domain,Kan domein niet toevoegen,
Fetch Items from Warehouse,Items ophalen uit magazijn,
Fetching...,Ophalen ...,
Field,Veld,
File Manager,Bestandsbeheer,
Filters,Filters,
Finding linked payments,Gekoppelde betalingen vinden,
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 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,Get Items,
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,Groeperingsnode,
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,Help,
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,Thuis,
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,
Intermediate,tussen-,
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 het geval van een fout, 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.,
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...,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.,Leningaanvragen van klanten en werknemers.,
Loan Disbursement,Uitbetaling van de lening,
Loan Processes,Lening processen,
Loan Security,Lening beveiliging,
Loan Security Pledge,Lening zekerheid pandrecht,
Loan Security Pledge Created : {0},Lening Security Pledge gecreëerd: {0},
Loan Security Price,Lening beveiligingsprijs,
Loan Security Price overlapping with {0},Lening Beveiliging Prijs overlapt met {0},
Loan Security Unpledge,Lening beveiliging Unpledge,
Loan Security Value,Lening beveiligingswaarde,
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 verstrekt aan klanten en werknemers.,
Location,Locatie,
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 die je verstuurd naar een onvolledige URL. Vraag hen om naar te kijken.,
Make Journal Entry,Maak Journal Entry,
Make Purchase Invoice,Maak inkoopfactuur,
Manufactured,geproduceerd,
Mark Work From Home,Markeer werk vanuit huis,
Master,Stam,
Max strength cannot be less than zero.,De maximale sterkte kan niet minder zijn dan nul.,
Maximum attempts for this quiz reached!,Maximale pogingen voor deze quiz bereikt!,
Message,Bericht,
Missing Values Required,Ontbrekende waarden vereist,
Mobile No,Mobiel nummer,
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 views yet,Nog geen meningen,
Non stock items,Niet op voorraad items,
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,
Note,Opmerking,
Notes: ,Opmerkingen:,
On Converting Opportunity,Over het converteren van kansen,
On Purchase Order Submission,Bij het indienen van een inkooporder,
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 Lead,
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 betaaldocument,
Payment Name,Betalingsnaam,
Penalty Amount,Bedrag van de boete,
Pending,In afwachting van,
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 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 the designation,Voer de benaming 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 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,Specificeer,
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,Inkoop Retour,
Qty of Finished Goods Item,Aantal gereed product,
Qty or Amount is mandatroy for loan security,Aantal of Bedrag is verplicht 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,Kwartaal,
Queued,Wachtrij,
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,Hernoemen,
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.,
Return amount cannot be greater unclaimed amount,Retourbedrag kan niet hoger zijn opgeëist bedrag,
Review,Beoordeling,
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}: Einddatum van de service kan niet vóór de boekingsdatum van de factuur liggen,
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({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,bewaren,
Save Item,Item opslaan,
Saved Items,Opgeslagen items,
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,Alles selecteren,
Select Difference Account,Selecteer Verschilaccount,
Select a Default Priority.,Selecteer een standaardprioriteit.,
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,Verstuur,
Send a message,Stuur een bericht,
Sending,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,Reeksen,
Server Error,Serverfout,
Service Level Agreement has been changed to {0}.,Service Level Agreement is gewijzigd in {0}.,
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 {0} in company {1},Stel {0} in bedrijf {1} in,
Setup,Instellingen,
Setup Wizard,Instellingen 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.,
Sr,Sr,
Start,Start,
Start Date cannot be before the current date,Startdatum kan niet vóór de huidige datum liggen,
Start Time,Starttijd,
Status,Status,
Status must be Cancelled or Completed,Status moet worden geannuleerd of voltooid,
Stock Balance Report,Voorraadbalansrapport,
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-mail {0} bestaat niet,
Submit Review,Review versturen,
Submitted,Ingediend,
Supplier Addresses And Contacts,Leverancier Adressen en Contacten,
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 activum {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} Startdatum van de taak kan niet na de Einddatum van het Project zijn.,
Tax Account not specified for Shopify Tax {0},Belastingaccount niet opgegeven voor Shopify-belasting {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}).,
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 bij welke artikelen 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.","Als u overfacturering wilt toestaan, 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.","Om overontvangst / aflevering toe te staan, 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 {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,Transfer Material 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},
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,Uitzicht,
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 op de {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 plakken in uw browser,
You can publish upto 200 items.,U kunt maximaal 200 items publiceren.,
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 cijfer:,
and,en,
e-Way Bill already exists for this document,e-Way Bill bestaat al voor dit document,
woocommerce - {0},woocommerce - {0},
{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}: {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,
Barcode,Barcode,
Bold,Stoutmoedig,
Center,Centreren,
Clear,Doorzichtig,
Comment,Commentaar,
Comments,Reacties,
DocType,DocType,
Download,Downloaden,
Left,Links,
Link,Koppeling,
New,Nieuw,
Not Found,Niet gevonden,
Print,Afdrukken,
Reference Name,Referentienaam,
Refresh,Verversen,
Success,Succes,
Time,Tijd,
Value,Waarde,
Actual,Feitelijk,
Add to Cart,In winkelwagen,
Days Since Last Order,Dagen sinds laatste bestelling,
In Stock,Op voorraad,
Loan Amount is mandatory,Leenbedrag is verplicht,
Mode Of Payment,Wijze van betaling,
No students Found,Geen studenten gevonden,
Not in Stock,Niet op voorraad,
Please select a Customer,Selecteer een klant alsjeblieft,
Printed On,Gedrukt op,
Received From,Gekregen van,
Sales Person,Verkoper,
To date cannot be before From date,Tot Datum kan niet eerder zijn dan Van Datum,
Write Off,Afschrijven,
{0} Created,{0} aangemaakt,
Email Id,E-mail-ID,
No,Nee,
Reference Doctype,Referentie Doctype,
User Id,Gebruikersnaam,
Yes,Ja,
Actual ,Werkelijk,
Add to cart,In winkelwagen,
Budget,Begroting,
Chart of Accounts,Rekeningschema,
Customer database.,Klantendatabase.,
Days Since Last order,Dagen sinds laatste Order,
Download as JSON,Downloaden als JSON,
End date can not be less than start date,Einddatum kan niet vroeger zijn dan startdatum,
For Default Supplier (Optional),Voor standaardleverancier (optioneel),
From date cannot be greater than To date,Vanaf de datum kan niet groter zijn dan tot nu toe,
Get items from,Krijgen items uit,
Group by,Groeperen volgens,
In stock,Op voorraad,
Item name,Artikelnaam,
Loan amount is mandatory,Leenbedrag is verplicht,
Minimum Qty,Minimum aantal,
More details,Meer details,
Nature of Supplies,Aard van leveringen,
No Items found.,Geen items gevonden.,
No employee found,Geen werknemer gevonden,
No students found,Geen studenten gevonden,
Not in stock,Niet op voorraad,
Not permitted,Niet toegestaan,
Open Issues ,Open Issues,
Open Projects ,Open Projects,
Open To Do ,Open To Do,
Operation Id,Operation ID,
Partially ordered,gedeeltelijk Bestelde,
Please select company first,Selecteer Company eerste,
Please select patient,Selecteer alstublieft Patiënt,
Printed On ,Afgedrukt op,
Projected qty,Geprojecteerde aantal,
Sales person,Verkoper,
Serial No {0} Created,Serienummer {0} aangemaakt,
Source Location is required for the Asset {0},Bronlocatie is vereist voor het item {0},
Tax Id,BTW-nummer,
To Time,Tot Tijd,
To date cannot be before from date,Tot op heden kan niet vóór Van datum zijn,
Total Taxable value,Totale belastbare waarde,
Upcoming Calendar Events ,Aankomende Gebeurtenissen,
Value or Qty,Waarde of aantal,
Variance ,variance,
Variant of,Variant van,
Write off,Afschrijven,
hours,uren,
received from,Gekregen van,
to,naar,
Cards,Kaarten,
Percentage,Percentage,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Kan de standaardinstellingen voor land {0} niet instellen. Neem contact op met support@erpnext.com,
Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Rij # {0}: artikel {1} is geen geserialiseerd / batch artikel. Het kan geen serienummer / batchnummer hebben.,
Please set {0},Stel {0} in,
Please set {0},Stel {0} in,supplier
Draft,Droogte,"docstatus,=,0"
Cancelled,Geannuleerd,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Stel het instructeursysteem in onder onderwijs&gt; onderwijsinstellingen,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Stel Naming Series in op {0} via Instellingen&gt; Instellingen&gt; Naming Series,
UOM Conversion factor ({0} -> {1}) not found for item: {2},UOM-conversiefactor ({0} -&gt; {1}) niet gevonden voor item: {2},
Item Code > Item Group > Brand,Artikelcode&gt; Artikelgroep&gt; Merk,
Customer > Customer Group > Territory,Klant&gt; Klantengroep&gt; Gebied,
Supplier > Supplier Type,Leverancier&gt; Type leverancier,
Please setup Employee Naming System in Human Resource > HR Settings,Stel het naamgevingssysteem voor werknemers in via Human Resource&gt; HR-instellingen,
Please setup numbering series for Attendance via Setup > Numbering Series,Stel nummeringseries in voor Aanwezigheid via Setup&gt; Nummeringsseries,
The value of {0} differs between Items {1} and {2},De waarde van {0} verschilt tussen items {1} en {2},
Auto Fetch,Automatisch ophalen,
Fetch Serial Numbers based on FIFO,Haal serienummers op op basis van FIFO,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Uitgaande belastbare prestaties (andere dan nultarief, nihil en vrijgesteld)",
"To allow different rates, disable the {0} checkbox in {1}.",Schakel het selectievakje {0} in {1} uit om verschillende tarieven toe te staan.,
Current Odometer Value should be greater than Last Odometer Value {0},Huidige kilometertellerwaarde moet groter zijn dan laatste kilometertellerwaarde {0},
No additional expenses has been added,Er zijn geen extra kosten toegevoegd,
Asset{} {assets_link} created for {},Item {} {assets_link} gemaakt voor {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Rij {}: Serie voor naamgeving van items is verplicht voor het automatisch maken van item {},
Assets not created for {0}. You will have to create asset manually.,Activa niet gemaakt voor {0}. U moet een activum handmatig maken.,
{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} heeft boekhoudgegevens in valuta {2} voor bedrijf {3}. Selecteer een te ontvangen of te betalen rekening met valuta {2}.,
Invalid Account,Ongeldig account,
Purchase Order Required,Inkooporder verplicht,
Purchase Receipt Required,Ontvangstbevestiging Verplicht,
Account Missing,Account ontbreekt,
Requested,Aangevraagd,
Partially Paid,Gedeeltelijk betaald,
Invalid Account Currency,Ongeldige accountvaluta,
"Row {0}: The item {1}, quantity must be positive number","Rij {0}: het artikel {1}, de hoeveelheid moet een positief getal zijn",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Stel {0} in voor batchartikel {1}, dat wordt gebruikt om {2} in te stellen op Verzenden.",
Expiry Date Mandatory,Vervaldatum Verplicht,
Variant Item,Variant item,
BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} en BOM 2 {1} mogen niet hetzelfde zijn,
Note: Item {0} added multiple times,Opmerking: item {0} meerdere keren toegevoegd,
YouTube,YouTube,
Vimeo,Vimeo,
Publish Date,Publiceer datum,
Duration,Looptijd,
Advanced Settings,Geavanceerde instellingen,
Path,Pad,
Components,Components,
Verified By,Geverifieerd door,
Invalid naming series (. missing) for {0},Ongeldige naamreeks (. Ontbreekt) voor {0},
Filter Based On,Filter gebaseerd op,
Reqd by date,Op datum vereist,
Manufacturer Part Number <b>{0}</b> is invalid,Artikelnummer van fabrikant <b>{0}</b> is ongeldig,
Invalid Part Number,Ongeldig onderdeelnummer,
Select atleast one Social Media from Share on.,Selecteer ten minste één sociale media van Delen op.,
Invalid Scheduled Time,Ongeldige geplande tijd,
Length Must be less than 280.,Lengte moet kleiner zijn dan 280.,
Error while POSTING {0},Fout bij het plaatsen van {0},
"Session not valid, Do you want to login?",Sessie niet geldig. Wilt u inloggen?,
Session Active,Sessie actief,
Session Not Active. Save doc to login.,Sessie niet actief. Bewaar document om in te loggen.,
Error! Failed to get request token.,Fout! Kan aanvraagtoken niet ophalen.,
Invalid {0} or {1},Ongeldig {0} of {1},
Error! Failed to get access token.,Fout! Het verkrijgen van toegangstoken is mislukt.,
Invalid Consumer Key or Consumer Secret Key,Ongeldige klantensleutel of geheime klantensleutel,
Your Session will be expire in ,Uw sessie verloopt over,
 days.,dagen.,
Session is expired. Save doc to login.,Sessie is verlopen. Bewaar document om in te loggen.,
Error While Uploading Image,Fout tijdens het uploaden van afbeelding,
You Didn't have permission to access this API,U had geen toestemming om toegang te krijgen tot deze API,
Valid Upto date cannot be before Valid From date,Geldig tot datum kan niet eerder zijn dan Geldig vanaf datum,
Valid From date not in Fiscal Year {0},Geldig vanaf datum niet in boekjaar {0},
Valid Upto date not in Fiscal Year {0},Geldig tot datum niet in boekjaar {0},
Group Roll No,Groepsrol nr,
Maintain Same Rate Throughout Sales Cycle,Handhaaf zelfde tarief gedurende verkoopcyclus,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.",Rij {1}: hoeveelheid ({0}) mag geen breuk zijn. Schakel &#39;{2}&#39; uit in maateenheid {3} om dit toe te staan.,
Must be Whole Number,Moet heel getal zijn,
Please setup Razorpay Plan ID,Stel een Razorpay Plan-ID in,
Contact Creation Failed,Contact maken mislukt,
{0} already exists for employee {1} and period {2},{0} bestaat al voor werknemer {1} en periode {2},
Leaves Allocated,Bladeren toegewezen,
Leaves Expired,Bladeren verlopen,
Leave Without Pay does not match with approved {} records,Leave Without Pay komt niet overeen met goedgekeurde {} records,
Income Tax Slab not set in Salary Structure Assignment: {0},Inkomstenbelastingplaat niet ingesteld in toewijzing salarisstructuur: {0},
Income Tax Slab: {0} is disabled,Inkomstenbelastingplaat: {0} is uitgeschakeld,
Income Tax Slab must be effective on or before Payroll Period Start Date: {0},De inkomstenbelastingplaat moet van kracht zijn op of vóór de startdatum van de loonperiode: {0},
No leave record found for employee {0} on {1},Geen verlofrecord gevonden voor werknemer {0} op {1},
Row {0}: {1} is required in the expenses table to book an expense claim.,Rij {0}: {1} is vereist in de onkostentabel om een onkostendeclaratie te boeken.,
Set the default account for the {0} {1},Stel het standaardaccount in voor de {0} {1},
(Half Day),(Halve dag),
Income Tax Slab,Inkomstenbelastingplaat,
Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Rij # {0}: kan bedrag of formule niet instellen voor salariscomponent {1} met variabele gebaseerd op belastbaar salaris,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Rij # {}: {} van {} moet {} zijn. Pas het account aan of selecteer een ander account.,
Row #{}: Please asign task to a member.,Rij # {}: wijs de taak toe aan een lid.,
Process Failed,Proces mislukt,
Tally Migration Error,Tally-migratiefout,
Please set Warehouse in Woocommerce Settings,Stel Magazijn in in Woocommerce-instellingen,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Rij {0}: Delivery Warehouse ({1}) en Customer Warehouse ({2}) kunnen niet hetzelfde zijn,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Rij {0}: de vervaldatum in de tabel met betalingsvoorwaarden mag niet vóór de boekingsdatum liggen,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Kan {} voor item {} niet vinden. Stel hetzelfde in bij Artikelstam- of Voorraadinstellingen.,
Row #{0}: The batch {1} has already expired.,Rij # {0}: de batch {1} is al verlopen.,
Start Year and End Year are mandatory,Startjaar en eindjaar zijn verplicht,
GL Entry,GL Entry,
Cannot allocate more than {0} against payment term {1},Kan niet meer dan {0} toewijzen op basis van betalingstermijn {1},
The root account {0} must be a group,Het root-account {0} moet een groep zijn,
Shipping rule not applicable for country {0} in Shipping Address,Verzendregel niet van toepassing voor land {0} in verzendadres,
Get Payments from,Ontvang betalingen van,
Set Shipping Address or Billing Address,Stel een verzendadres of factuuradres in,
Consultation Setup,Overleg instellen,
Fee Validity,Geldigheidsgeldigheid,
Laboratory Setup,Laboratoriumopstelling,
Dosage Form,Doseringsformulier,
Records and History,Records en geschiedenis,
Patient Medical Record,Patient Medical Record,
Rehabilitation,Rehabilitatie,
Exercise Type,Oefeningstype,
Exercise Difficulty Level,Oefening moeilijkheidsniveau,
Therapy Type,Therapietype,
Therapy Plan,Therapieplan,
Therapy Session,Therapiesessie,
Motor Assessment Scale,Motor Assessment Schaal,
[Important] [ERPNext] Auto Reorder Errors,[Belangrijk] [ERPNext] Fouten bij automatisch opnieuw ordenen,
"Regards,","Vriendelijke groeten,",
The following {0} were created: {1},De volgende {0} zijn gemaakt: {1},
Work Orders,Werkorders,
The {0} {1} created sucessfully,De {0} {1} is met succes gemaakt,
Work Order cannot be created for following reason: <br> {0},Werkopdracht kan om de volgende reden niet worden aangemaakt:<br> {0},
Add items in the Item Locations table,Voeg items toe aan de tabel Itemlocaties,
Update Current Stock,Update huidige voorraad,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item",{0} Bewaar monster is gebaseerd op batch. Controleer Heeft batchnummer om een monster van het artikel te behouden,
Empty,Leeg,
Currently no stock available in any warehouse,Momenteel geen voorraad beschikbaar in een magazijn,
BOM Qty,BOM Aantal,
Time logs are required for {0} {1},Tijdlogboeken zijn vereist voor {0} {1},
Total Completed Qty,Totaal voltooid aantal,
Qty to Manufacture,Aantal te produceren,
Repay From Salary can be selected only for term loans,Terugbetaling van salaris kan alleen worden geselecteerd voor termijnleningen,
No valid Loan Security Price found for {0},Geen geldige leningprijs gevonden voor {0},
Loan Account and Payment Account cannot be same,Leningrekening en Betaalrekening kunnen niet hetzelfde zijn,
Loan Security Pledge can only be created for secured loans,Een pandrecht op leningen kan alleen worden gecreëerd voor gedekte leningen,
Social Media Campaigns,Campagnes op sociale media,
From Date can not be greater than To Date,Vanaf datum kan niet groter zijn dan Tot datum,
Please set a Customer linked to the Patient,Stel een klant in die is gekoppeld aan de patiënt,
Customer Not Found,Klant niet gevonden,
Please Configure Clinical Procedure Consumable Item in ,Configureer de klinische procedure verbruiksartikel in,
Missing Configuration,Ontbrekende configuratie,
Out Patient Consulting Charge Item,Out Patient Consulting Charge-item,
Inpatient Visit Charge Item,Vergoedingsitem voor inkomende patiëntenbezoek,
OP Consulting Charge,OP Consulting Charge,
Inpatient Visit Charge,Inpatient Visit Charge,
Appointment Status,Afspraakstatus,
Test: ,Test:,
Collection Details: ,Collectie Details:,
{0} out of {1},{0} van {1},
Select Therapy Type,Selecteer het therapietype,
{0} sessions completed,{0} sessies voltooid,
{0} session completed,{0} sessie voltooid,
 out of {0},van {0},
Therapy Sessions,Therapiesessies,
Add Exercise Step,Oefeningsstap toevoegen,
Edit Exercise Step,Trainingsstap bewerken,
Patient Appointments,Afspraken met de patiënt,
Item with Item Code {0} already exists,Artikel met artikelcode {0} bestaat al,
Registration Fee cannot be negative or zero,Registratievergoeding mag niet negatief of nul zijn,
Configure a service Item for {0},Configureer een service-item voor {0},
Temperature: ,Temperatuur:,
Pulse: ,Puls:,
Respiratory Rate: ,Ademhalingsfrequentie:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,Notitie:,
Check Availability,Beschikbaarheid controleren,
Please select Patient first,Selecteer eerst de patiënt,
Please select a Mode of Payment first,Selecteer eerst een betalingsmethode,
Please set the Paid Amount first,Stel eerst het betaalde bedrag in,
Not Therapies Prescribed,Niet voorgeschreven therapieën,
There are no Therapies prescribed for Patient {0},Er zijn geen therapieën voorgeschreven voor de patiënt {0},
Appointment date and Healthcare Practitioner are Mandatory,Datum afspraak en zorgverlener zijn verplicht,
No Prescribed Procedures found for the selected Patient,Geen voorgeschreven procedures gevonden voor de geselecteerde patiënt,
Please select a Patient first,Selecteer eerst een patiënt,
There are no procedure prescribed for ,Er is geen procedure voor voorgeschreven,
Prescribed Therapies,Voorgeschreven therapieën,
Appointment overlaps with ,Afspraak overlapt met,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} heeft een afspraak gepland met {1} om {2} met een duur van {3} minuten.,
Appointments Overlapping,Afspraken overlappen,
Consulting Charges: {0},Advieskosten: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Afspraak geannuleerd. Controleer en annuleer de factuur {0},
Appointment Cancelled.,Afspraak geannuleerd.,
Fee Validity {0} updated.,Geldigheid van de vergoeding {0} bijgewerkt.,
Practitioner Schedule Not Found,Praktijkschema niet gevonden,
{0} is on a Half day Leave on {1},{0} heeft een halve dag verlof op {1},
{0} is on Leave on {1},{0} heeft verlof op {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} heeft geen schema voor zorgverleners. Voeg het toe in Healthcare Practitioner,
Healthcare Service Units,Zorgafdelingen,
Complete and Consume,Voltooi en consumeer,
Complete {0} and Consume Stock?,{0} invullen en voorraad verbruiken?,
Complete {0}?,{0} voltooid?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Voorraadhoeveelheid om de procedure te starten is niet beschikbaar in het magazijn {0}. Wilt u een voorraadinvoer vastleggen?,
{0} as on {1},{0} zoals op {1},
Clinical Procedure ({0}):,Klinische procedure ({0}):,
Please set Customer in Patient {0},Stel klant in patiënt {0},
Item {0} is not active,Item {0} is niet actief,
Therapy Plan {0} created successfully.,Het therapieplan {0} is gemaakt.,
Symptoms: ,Symptomen:,
No Symptoms,Geen symptomen,
Diagnosis: ,Diagnose:,
No Diagnosis,Geen diagnose,
Drug(s) Prescribed.,Geneesmiddel (en) voorgeschreven.,
Test(s) Prescribed.,Test (s) voorgeschreven.,
Procedure(s) Prescribed.,Procedure (s) voorgeschreven.,
Counts Completed: {0},Tellingen voltooid: {0},
Patient Assessment,Patiënt beoordeling,
Assessments,Beoordelingen,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Hoofden (of groepen) waartegen de boekingen worden gemaakt en saldi worden gehandhaafd.,
Account Name,Rekening Naam,
Inter Company Account,Inter Company Account,
Parent Account,Bovenliggende rekening,
Setting Account Type helps in selecting this Account in transactions.,Instellen Account Type helpt bij het selecteren van deze account in transacties.,
Chargeable,Aan te rekenen,
Rate at which this tax is applied,Percentage waarmee deze belasting toegepast wordt,
Frozen,Bevroren,
"If the account is frozen, entries are allowed to restricted users.","Als de rekening is bevroren, kunnen boekingen alleen door daartoe bevoegde gebruikers gedaan worden.",
Balance must be,Saldo moet worden,
Lft,Als T,
Rgt,Rgt,
Old Parent,Oude Parent,
Include in gross,Bruto opnemen,
Auditor,Revisor,
Accounting Dimension,Boekhoudkundige dimensie,
Dimension Name,Dimensienaam,
Dimension Defaults,Standaard dimensies,
Accounting Dimension Detail,Detail boekhoudingsdimensie,
Default Dimension,Standaard dimensie,
Mandatory For Balance Sheet,Verplicht voor balans,
Mandatory For Profit and Loss Account,Verplicht voor winst- en verliesrekening,
Accounting Period,Financiele periode,
Period Name,Periode Naam,
Closed Documents,Gesloten documenten,
Accounts Settings,Rekeningen Instellingen,
Settings for Accounts,Instellingen voor accounts,
Make Accounting Entry For Every Stock Movement,Maak boekhoudkundige afschrijving voor elke Stock Movement,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,
Determine Address Tax Category From,Bepaal de adresbelastingcategorie van,
Over Billing Allowance (%),Overfactureringstoeslag (%),
Credit Controller,Credit Controller,
Check Supplier Invoice Number Uniqueness,Controleer Leverancier Factuurnummer Uniqueness,
Make Payment via Journal Entry,Betalen via Journal Entry,
Unlink Payment on Cancellation of Invoice,Ontkoppelen Betaling bij annulering van de factuur,
Book Asset Depreciation Entry Automatically,Automatische afschrijving van de activa van de boekwaarde,
Automatically Add Taxes and Charges from Item Tax Template,Automatisch belastingen en heffingen toevoegen op basis van sjabloon voor artikelbelasting,
Automatically Fetch Payment Terms,Automatisch betalingsvoorwaarden ophalen,
Show Payment Schedule in Print,Toon betalingsschema in Print,
Currency Exchange Settings,Valutaveursinstellingen,
Allow Stale Exchange Rates,Staale wisselkoersen toestaan,
Stale Days,Stale Days,
Report Settings,Rapportinstellingen,
Use Custom Cash Flow Format,Gebruik aangepaste kasstroomindeling,
Allowed To Transact With,Toegestaan om mee te handelen,
SWIFT number,SWIFT-nummer,
Branch Code,Filiaalcode,
Address and Contact,Adres en contactgegevens,
Address HTML,Adres HTML,
Contact HTML,Contact HTML,
Data Import Configuration,Gegevens importeren configuratie,
Bank Transaction Mapping,Mapping van banktransacties,
Plaid Access Token,Plaid-toegangstoken,
Company Account,Bedrijfsaccount,
Account Subtype,Subtype account,
Is Default Account,Is standaardaccount,
Is Company Account,Is bedrijfsaccount,
Party Details,Party Details,
Account Details,Account Details,
IBAN,IBAN,
Bank Account No,Bankrekening nummer,
Integration Details,Integratiegegevens,
Integration ID,Integratie ID,
Last Integration Date,Laatste integratiedatum,
Change this date manually to setup the next synchronization start date,Wijzig deze datum handmatig om de volgende startdatum van de synchronisatie in te stellen,
Mask,Masker,
Bank Account Subtype,Bankrekening-subtype,
Bank Account Type,Type bankrekening,
Bank Guarantee,Bankgarantie,
Bank Guarantee Type,Type bankgarantie,
Receiving,Het ontvangen,
Providing,Het verstrekken van,
Reference Document Name,Referentiedocumentnaam,
Validity in Days,Geldigheid in dagen,
Bank Account Info,Bankrekeninggegevens,
Clauses and Conditions,Clausules en voorwaarden,
Other Details,Andere details,
Bank Guarantee Number,Bankgarantie Nummer,
Name of Beneficiary,Naam van de begunstigde,
Margin Money,Marge geld,
Charges Incurred,Kosten komen voor,
Fixed Deposit Number,Vast deponeringsnummer,
Account Currency,Account Valuta,
Select the Bank Account to reconcile.,Selecteer de bankrekening die u wilt afstemmen.,
Include Reconciled Entries,Omvatten Reconciled Entries,
Get Payment Entries,Krijg Betaling Entries,
Payment Entries,betaling Entries,
Update Clearance Date,Werk Clearance Datum bij,
Bank Reconciliation Detail,Bank Aflettering Detail,
Cheque Number,Cheque nummer,
Cheque Date,Cheque Datum,
Statement Header Mapping,Statement Header Mapping,
Statement Headers,Statement Headers,
Transaction Data Mapping,Transaction Data Mapping,
Mapped Items,Toegewezen items,
Bank Statement Settings Item,Instellingen voor bankafschriftinstellingen,
Mapped Header,Toegewezen koptekst,
Bank Header,Bankkop,
Bank Statement Transaction Entry,Rekeningoverzichtstransactie,
Bank Transaction Entries,Banktransactieposten,
New Transactions,Nieuwe transacties,
Match Transaction to Invoices,Overeenstemmende transactie met facturen,
Create New Payment/Journal Entry,Nieuwe betaling / journaalboeking creëren,
Submit/Reconcile Payments,Betalingen verzenden / afstemmen,
Matching Invoices,Bijpassende facturen,
Payment Invoice Items,Betaling Factuur Items,
Reconciled Transactions,Verzoeningstransacties,
Bank Statement Transaction Invoice Item,Rekeningoverzicht Transactie Rekening Item,
Payment Description,Betalingsomschrijving,
Invoice Date,Factuurdatum,
invoice,factuur,
Bank Statement Transaction Payment Item,Betalingstransactie voor bankafschrift,
outstanding_amount,outstanding_amount,
Payment Reference,Betalingsreferentie,
Bank Statement Transaction Settings Item,Bankafschrift Transaction Settings Item,
Bank Data,Bankgegevens,
Mapped Data Type,Toegepast gegevenstype,
Mapped Data,Toegewezen gegevens,
Bank Transaction,Bankoverschrijving,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,Transactie ID,
Unallocated Amount,Niet-toegewezen bedrag,
Field in Bank Transaction,Veld in banktransactie,
Column in Bank File,Kolom in bankbestand,
Bank Transaction Payments,Betalingen via banktransacties,
Control Action,Controle actie,
Applicable on Material Request,Van toepassing op artikelaanvraag,
Action if Annual Budget Exceeded on MR,Actie als de jaarlijkse begroting de MR overschrijdt,
Warn,Waarschuwen,
Ignore,Negeren,
Action if Accumulated Monthly Budget Exceeded on MR,Actie als Gecumuleerd maandbudget is overschreden op MR,
Applicable on Purchase Order,Van toepassing op bestelling,
Action if Annual Budget Exceeded on PO,Actie als jaarbegroting op PO overschreden,
Action if Accumulated Monthly Budget Exceeded on PO,Actie als de gecumuleerde maandelijkse begroting is overschreden op PO,
Applicable on booking actual expenses,Van toepassing op het boeken van werkelijke uitgaven,
Action if Annual Budget Exceeded on Actual,Actie als de jaarlijkse begroting het feitelijke percentage overschrijdt,
Action if Accumulated Monthly Budget Exceeded on Actual,Actie als de geaccumuleerde maandelijkse begroting de werkelijke waarde overschrijdt,
Budget Accounts,budget Accounts,
Budget Account,budget account,
Budget Amount,budget Bedrag,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-vorm nr.,
Received Date,Ontvangstdatum,
Quarter,Kwartaal,
I,ik,
II,II,
III,III,
IV,IV,
C-Form Invoice Detail,C-Form Factuurspecificatie,
Invoice No,Factuur nr.,
Cash Flow Mapper,Cash Flow Mapper,
Section Name,sectie naam,
Section Header,Sectiekoptekst,
Section Leader,Sectieleider,
e.g Adjustments for:,bijv. aanpassingen voor:,
Section Subtotal,Sectie Subtotaal,
Section Footer,Sectie voettekst,
Position,Positie,
Cash Flow Mapping,Cash Flow Mapping,
Select Maximum Of 1,Selecteer maximaal 1,
Is Finance Cost,Zijn financiële kosten,
Is Working Capital,Is werkkapitaal,
Is Finance Cost Adjustment,Is aanpassing van financiële kosten,
Is Income Tax Liability,Is de aansprakelijkheid van de inkomstenbelasting,
Is Income Tax Expense,Is de inkomstenbelasting,
Cash Flow Mapping Accounts,Cash Flow Mapping Accounts,
account,Rekening,
Cash Flow Mapping Template,Cash Flow Mapping Template,
Cash Flow Mapping Template Details,Cash Flow Mapping Template-details,
POS-CLO-,POS-CLO-,
Custody,Hechtenis,
Net Amount,Netto Bedrag,
Cashier Closing Payments,Kassa sluitingsbetalingen,
Chart of Accounts Importer,Rekeningschema Importeur,
Import Chart of Accounts from a csv file,Importeer rekeningschema uit een csv-bestand,
Attach custom Chart of Accounts file,Voeg een aangepast rekeningschema toe,
Chart Preview,Grafiek voorbeeld,
Chart Tree,Grafiekboom,
Cheque Print Template,Cheque Print Template,
Has Print Format,Heeft Print Format,
Primary Settings,Primaire Instellingen,
Cheque Size,Cheque Size,
Regular,regelmatig,
Starting position from top edge,Uitgangspositie van bovenrand,
Cheque Width,Cheque Breedte,
Cheque Height,Cheque Hoogte,
Scanned Cheque,gescande Cheque,
Is Account Payable,Is Account Payable,
Distance from top edge,Afstand van bovenrand,
Distance from left edge,Afstand van linkerrand,
Message to show,Bericht om te laten zien,
Date Settings,date Settings,
Starting location from left edge,Startlocatie van linkerrand,
Payer Settings,Payer Instellingen,
Width of amount in word,Breedte van de hoeveelheid in woord,
Line spacing for amount in words,Regelafstand voor het bedrag in woorden,
Amount In Figure,Bedrag In figuur,
Signatory Position,ondertekenaar Position,
Closed Document,Gesloten document,
Track separate Income and Expense for product verticals or divisions.,Volg afzonderlijke baten en lasten over het product verticalen of divisies.,
Cost Center Name,Kostenplaats Naam,
Parent Cost Center,Bovenliggende kostenplaats,
lft,lft,
rgt,RGT,
Coupon Code,coupon code,
Coupon Name,Coupon naam,
"e.g. ""Summer Holiday 2019 Offer 20""",bijv. &quot;Zomervakantie 2019 Aanbieding 20&quot;,
Coupon Type,Type coupon,
Promotional,promotionele,
Gift Card,Cadeaukaart,
unique e.g. SAVE20  To be used to get discount,uniek bijv. SAVE20 Te gebruiken om korting te krijgen,
Validity and Usage,Geldigheid en gebruik,
Valid From,Geldig vanaf,
Valid Upto,Geldig tot,
Maximum Use,Maximaal gebruik,
Used,Gebruikt,
Coupon Description,Couponbeschrijving,
Discounted Invoice,Korting op factuur,
Debit to,Debiteren naar,
Exchange Rate Revaluation,Wisselkoersherwaardering,
Get Entries,Ontvang inzendingen,
Exchange Rate Revaluation Account,Wisselkoersherwaarderingsaccount,
Total Gain/Loss,Totale winst / verlies,
Balance In Account Currency,Saldo in accountvaluta,
Current Exchange Rate,Huidige wisselkoers,
Balance In Base Currency,Balans in basisvaluta,
New Exchange Rate,Nieuwe wisselkoers,
New Balance In Base Currency,Nieuw saldo in basisvaluta,
Gain/Loss,Winst / verlies,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Boekjaar** staat voor een financieel jaar. Alle boekingen en andere belangrijke transacties worden bijgehouden in **boekjaar**.,
Year Name,Jaar Naam,
"For e.g. 2012, 2012-13","Voor bijvoorbeeld 2012, 2012-13",
Year Start Date,Jaar Startdatum,
Year End Date,Jaar Einddatum,
Companies,Bedrijven,
Auto Created,Auto gemaakt,
Stock User,Aandeel Gebruiker,
Fiscal Year Company,Fiscale Jaar Company,
Debit Amount,Debet Bedrag,
Credit Amount,Credit Bedrag,
Debit Amount in Account Currency,Debet Bedrag in account Valuta,
Credit Amount in Account Currency,Credit Bedrag in account Valuta,
Voucher Detail No,Voucher Detail nr,
Is Opening,Opent,
Is Advance,Is voorschot,
To Rename,Hernoemen,
GST Account,GST-account,
CGST Account,CGST-account,
SGST Account,SGST-account,
IGST Account,IGST-account,
CESS Account,CESS-account,
Loan Start Date,Startdatum lening,
Loan Period (Days),Uitleentermijn (dagen),
Loan End Date,Einddatum lening,
Bank Charges,Bancaire kosten,
Short Term Loan Account,Leningrekening op korte termijn,
Bank Charges Account,Bankkostenrekening,
Accounts Receivable Credit Account,Accounts debiteurenrekening,
Accounts Receivable Discounted Account,Accounts Debiteuren met korting,
Accounts Receivable Unpaid Account,Accounts te ontvangen onbetaalde account,
Item Tax Template,Btw-sjabloon,
Tax Rates,BELASTINGTARIEVEN,
Item Tax Template Detail,Detail BTW-sjabloon,
Entry Type,Entry Type,
Inter Company Journal Entry,Inter Company Journal Entry,
Bank Entry,Bank Invoer,
Cash Entry,Cash Entry,
Credit Card Entry,Kredietkaart invoer,
Contra Entry,Contra Entry,
Excise Entry,Accijnzen Boeking,
Write Off Entry,Invoer afschrijving,
Opening Entry,Opening Entry,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Boekingen,
Total Debit,Totaal Debet,
Total Credit,Totaal Krediet,
Difference (Dr - Cr),Verschil (Db - Cr),
Make Difference Entry,Maak Verschil Entry,
Total Amount Currency,Totaal bedrag Currency,
Total Amount in Words,Totaal bedrag in woorden,
Remark,Opmerking,
Paid Loan,Betaalde lening,
Inter Company Journal Entry Reference,Inter Company Journal Entry Reference,
Write Off Based On,Afschrijving gebaseerd op,
Get Outstanding Invoices,Get openstaande facturen,
Write Off Amount,Afschrijven bedrag,
Printing Settings,Instellingen afdrukken,
Pay To / Recd From,Betaal aan / Ontv van,
Payment Order,Betalingsopdracht,
Subscription Section,Abonnementsafdeling,
Journal Entry Account,Dagboek rekening,
Account Balance,Rekeningbalans,
Party Balance,Partij Balans,
Accounting Dimensions,Boekhoudkundige dimensies,
If Income or Expense,Indien Inkomsten (baten) of Uitgaven (lasten),
Exchange Rate,Wisselkoers,
Debit in Company Currency,Debet in Company Valuta,
Credit in Company Currency,Credit Company in Valuta,
Payroll Entry,Payroll Entry,
Employee Advance,Medewerker Advance,
Reference Due Date,Referentie vervaldag,
Loyalty Program Tier,Loyaliteitsprogramma Tier,
Redeem Against,Inwisselen tegen,
Expiry Date,Vervaldatum,
Loyalty Point Entry Redemption,Incentive Loyalty Point-ingang,
Redemption Date,Verlossingsdatum,
Redeemed Points,Verzilverde punten,
Loyalty Program Name,Naam loyaliteitsprogramma,
Loyalty Program Type,Type loyaliteitsprogramma,
Single Tier Program,Single Tier-programma,
Multiple Tier Program,Multiple Tier-programma,
Customer Territory,Klantengebied,
Auto Opt In (For all customers),Auto Opt In (voor alle klanten),
Collection Tier,Verzameltabel,
Collection Rules,Collectieregels,
Redemption,Verlossing,
Conversion Factor,Conversiefactor,
1 Loyalty Points = How much base currency?,1 Loyaliteitspunten = Hoeveel basisvaluta?,
Expiry Duration (in days),Vervaltijd (in dagen),
Help Section,Help sectie,
Loyalty Program Help,Loyaliteitsprogramma Hulp,
Loyalty Program Collection,Loyalty Program Collection,
Tier Name,Tiernaam,
Minimum Total Spent,Minimaal totaal besteed,
Collection Factor (=1 LP),Collectiefactor (= 1 LP),
For how much spent = 1 Loyalty Point,Voor hoeveel uitgegeven = 1 loyaliteitspunt,
Mode of Payment Account,Modus van Betaalrekening,
Default Account,Standaardrekening,
Default account will be automatically updated in POS Invoice when this mode is selected.,Het standaardaccount wordt automatisch bijgewerkt in POS Invoice wanneer deze modus is geselecteerd.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Maandelijkse Distributie ** helpt u om de begroting / Target verdelen over maanden als u de seizoensgebondenheid in uw bedrijf.,
Distribution Name,Distributie Naam,
Name of the Monthly Distribution,Naam van de verdeling per maand,
Monthly Distribution Percentages,Maandelijkse Verdeling Percentages,
Monthly Distribution Percentage,Maandelijkse Verdeling Percentage,
Percentage Allocation,Percentage Toewijzing,
Create Missing Party,Ontbrekende partij maken,
Create missing customer or supplier.,Ontbrekende klant of leverancier creëren.,
Opening Invoice Creation Tool Item,Het item voor het creëren van facturen openen,
Temporary Opening Account,Tijdelijk account openen,
Party Account,Party Account,
Type of Payment,Type van Betaling,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Ontvangen,
Internal Transfer,Interne overplaatsing,
Payment Order Status,Status betalingsopdracht,
Payment Ordered,Betaling besteld,
Payment From / To,Betaling van / naar,
Company Bank Account,Bedrijf bankrekening,
Party Bank Account,Partij bankrekening,
Account Paid From,Account betaald uit,
Account Paid To,Rekening betaald aan,
Paid Amount (Company Currency),Betaald bedrag (Bedrijfsvaluta),
Received Amount,ontvangen Bedrag,
Received Amount (Company Currency),Ontvangen bedrag (Company Munt),
Get Outstanding Invoice,Ontvang een uitstekende factuur,
Payment References,betaling Referenties,
Writeoff,Afschrijven,
Total Allocated Amount,Totaal toegewezen bedrag,
Total Allocated Amount (Company Currency),Totaal toegewezen bedrag (Company Munt),
Set Exchange Gain / Loss,Stel Exchange winst / verlies,
Difference Amount (Company Currency),Verschil Bedrag (Company Munt),
Write Off Difference Amount,Schrijf Off Verschil Bedrag,
Deductions or Loss,Aftrek of verlies,
Payment Deductions or Loss,Betaling Aftrek of verlies,
Cheque/Reference Date,Cheque / Reference Data,
Payment Entry Deduction,Betaling Entry Aftrek,
Payment Entry Reference,Betaling Entry Reference,
Allocated,Toegewezen,
Payment Gateway Account,Payment Gateway Account,
Payment Account,Betaalrekening,
Default Payment Request Message,Standaard bericht Payment Request,
PMO-,PMO-,
Payment Order Type,Type betalingsopdracht,
Payment Order Reference,Referentie betalingsopdracht,
Bank Account Details,Bankgegevens,
Payment Reconciliation,Afletteren,
Receivable / Payable Account,Vorderingen / Crediteuren Account,
Bank / Cash Account,Bank- / Kasrekening,
From Invoice Date,Na factuurdatum,
To Invoice Date,Om factuurdatum,
Minimum Invoice Amount,Minimum Factuurbedrag,
Maximum Invoice Amount,Maximumfactuur Bedrag,
System will fetch all the entries if limit value is zero.,Systeem haalt alle gegevens op als de limietwaarde nul is.,
Get Unreconciled Entries,Haal onafgeletterde transacties op,
Unreconciled Payment Details,Niet overeenstemmende betalingsgegevens,
Invoice/Journal Entry Details,Factuur / Journal Entry Details,
Payment Reconciliation Invoice,Afletteren Factuur,
Invoice Number,Factuurnummer,
Payment Reconciliation Payment,Afletteren Betaling,
Reference Row,Referentie Row,
Allocated amount,Toegewezen bedrag,
Payment Request Type,Type betalingsverzoek,
Outward,naar buiten,
Inward,innerlijk,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,transactie details,
Amount in customer's currency,Bedrag in de valuta van de klant,
Is a Subscription,Is een abonnement,
Transaction Currency,transactie Munt,
Subscription Plans,Abonnementen,
SWIFT Number,SWIFT nummer,
Recipient Message And Payment Details,Ontvanger Bericht en betalingsgegevens,
Make Sales Invoice,Maak verkoopfactuur,
Mute Email,Mute-mail,
payment_url,payment_url,
Payment Gateway Details,Payment Gateway Details,
Payment Schedule,Betalingsschema,
Invoice Portion,Factuurgedeelte,
Payment Amount,Betaling Bedrag,
Payment Term Name,Betalingstermijn,
Due Date Based On,Vervaldatum op basis van,
Day(s) after invoice date,Dag (en) na factuurdatum,
Day(s) after the end of the invoice month,Dag (en) na het einde van de factuurmaand,
Month(s) after the end of the invoice month,Maand (en) na het einde van de factuurmaand,
Credit Days,Credit Dagen,
Credit Months,Kredietmaanden,
Allocate Payment Based On Payment Terms,Wijs betalingen toe op basis van betalingsvoorwaarden,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Als dit selectievakje is aangevinkt, wordt het betaalde bedrag opgesplitst en toegewezen volgens de bedragen in het betalingsschema voor elke betalingstermijn",
Payment Terms Template Detail,Betalingsvoorwaarden sjabloondetail,
Closing Fiscal Year,Het sluiten van het fiscale jaar,
Closing Account Head,Sluiten Account Hoofd,
"The account head under Liability or Equity, in which Profit/Loss will be booked","De rekening hoofd onder Aansprakelijkheid of Equity, waarbij winst / verlies zal worden geboekt",
POS Customer Group,POS Customer Group,
POS Field,POS-veld,
POS Item Group,POS Item Group,
Company Address,bedrijfsadres,
Update Stock,Voorraad bijwerken,
Ignore Pricing Rule,Negeer Prijsregel,
Applicable for Users,Toepasbaar voor gebruikers,
Sales Invoice Payment,Sales Invoice Betaling,
Item Groups,Item Groepen,
Only show Items from these Item Groups,Toon alleen artikelen uit deze artikelgroepen,
Customer Groups,Doelgroepen,
Only show Customer of these Customer Groups,Toon alleen de klant van deze klantengroepen,
Write Off Account,Afschrijvingsrekening,
Write Off Cost Center,Afschrijvingen kostenplaats,
Account for Change Amount,Account for Change Bedrag,
Taxes and Charges,Belastingen en Toeslagen,
Apply Discount On,Breng Korting op,
POS Profile User,POS-profielgebruiker,
Apply On,toepassing op,
Price or Product Discount,Prijs of productkorting,
Apply Rule On Item Code,Regel toepassen op artikelcode,
Apply Rule On Item Group,Regel toepassen op artikelgroep,
Apply Rule On Brand,Regel op merk toepassen,
Mixed Conditions,Gemengde voorwaarden,
Conditions will be applied on all the selected items combined. ,Voorwaarden worden toegepast op alle geselecteerde items samen.,
Is Cumulative,Is cumulatief,
Coupon Code Based,Couponcode gebaseerd,
Discount on Other Item,Korting op ander artikel,
Apply Rule On Other,Regel toepassen op andere,
Party Information,Partij informatie,
Quantity and Amount,Hoeveelheid en bedrag,
Min Qty,min Aantal,
Max Qty,Max Aantal,
Min Amt,Min. Amt,
Max Amt,Max Amt,
Period Settings,Periode instellingen,
Margin,Marge,
Margin Type,marge Type,
Margin Rate or Amount,Margin Rate of Bedrag,
Price Discount Scheme,Prijs kortingsregeling,
Rate or Discount,Tarief of korting,
Discount Percentage,Kortingspercentage,
Discount Amount,Korting Bedrag,
For Price List,Voor Prijslijst,
Product Discount Scheme,Kortingsregeling voor producten,
Same Item,Zelfde item,
Free Item,Gratis artikel,
Threshold for Suggestion,Drempel voor suggestie,
System will notify to increase or decrease quantity or amount ,Het systeem meldt om de hoeveelheid of hoeveelheid te verhogen of te verlagen,
"Higher the number, higher the priority","Hoe hoger het getal, hoe hoger de prioriteit",
Apply Multiple Pricing Rules,Pas meerdere prijsregels toe,
Apply Discount on Rate,Korting op tarief toepassen,
Validate Applied Rule,Toegepaste regel valideren,
Rule Description,Regelbeschrijving,
Pricing Rule Help,Prijsbepalingsregel Help,
Promotional Scheme Id,Promotieplan Id,
Promotional Scheme,Promotieregeling,
Pricing Rule Brand,Prijsregel merk,
Pricing Rule Detail,Prijsregel detail,
Child Docname,Doc. Kindnaam,
Rule Applied,Regel toegepast,
Pricing Rule Item Code,Prijsregel Artikelcode,
Pricing Rule Item Group,Prijsregel artikelgroep,
Price Discount Slabs,Prijs korting platen,
Promotional Scheme Price Discount,Promotieschema Prijskorting,
Product Discount Slabs,Productkortingsplaten,
Promotional Scheme Product Discount,Promotieschema Productkorting,
Min Amount,Min. Bedrag,
Max Amount,Max. Hoeveelheid,
Discount Type,Kortingstype,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Belastinginhouding Categorie,
Edit Posting Date and Time,Wijzig Posting Datum en tijd,
Is Paid,Is betaald,
Is Return (Debit Note),Is Return (Debet Note),
Apply Tax Withholding Amount,Belastingvergoeding toepassen,
Accounting Dimensions ,Boekhoudafmetingen,
Supplier Invoice Details,Leverancier Invoice Details,
Supplier Invoice Date,Factuurdatum Leverancier,
Return Against Purchase Invoice,Terug Tegen Purchase Invoice,
Select Supplier Address,Select Leverancier Adres,
Contact Person,Contactpersoon,
Select Shipping Address,Selecteer Verzendadres,
Currency and Price List,Valuta en Prijslijst,
Price List Currency,Prijslijst Valuta,
Price List Exchange Rate,Prijslijst Wisselkoers,
Set Accepted Warehouse,Geaccepteerd magazijn instellen,
Rejected Warehouse,Afgewezen Magazijn,
Warehouse where you are maintaining stock of rejected items,Magazijn waar u voorraad bijhoudt van afgewezen artikelen,
Raw Materials Supplied,Grondstoffen Geleverd,
Supplier Warehouse,Leverancier Magazijn,
Pricing Rules,Prijsregels,
Supplied Items,Geleverde Artikelen,
Total (Company Currency),Totaal (Company valuta),
Net Total (Company Currency),Netto Totaal (Bedrijfsvaluta),
Total Net Weight,Totale netto gewicht,
Shipping Rule,Verzendregel,
Purchase Taxes and Charges Template,Aankoop en -heffingen Template,
Purchase Taxes and Charges,Inkoop Belastingen en Toeslagen,
Tax Breakup,Belastingverdeling,
Taxes and Charges Calculation,Belastingen en Toeslagen berekenen,
Taxes and Charges Added (Company Currency),Belastingen en Toeslagen toegevoegd (Bedrijfsvaluta),
Taxes and Charges Deducted (Company Currency),Belastingen en Toeslagen afgetrokken (Bedrijfsvaluta),
Total Taxes and Charges (Company Currency),Totaal belastingen en toeslagen (Bedrijfsvaluta),
Taxes and Charges Added,Belastingen en Toeslagen toegevoegd,
Taxes and Charges Deducted,Belastingen en Toeslagen Afgetrokken,
Total Taxes and Charges,Totaal belastingen en toeslagen,
Additional Discount,EXTRA KORTING,
Apply Additional Discount On,Breng Extra Korting op,
Additional Discount Amount (Company Currency),Extra korting Bedrag (Company valuta),
Additional Discount Percentage,Percentage extra korting,
Additional Discount Amount,Extra kortingsbedrag,
Grand Total (Company Currency),Grand Total (Company Munt),
Rounding Adjustment (Company Currency),Afronding aanpassing (bedrijfsmunt),
Rounded Total (Company Currency),Afgerond Totaal (Bedrijfsvaluta),
In Words (Company Currency),In Woorden (Bedrijfsvaluta),
Rounding Adjustment,Afrondingsaanpassing,
In Words,In Woorden,
Total Advance,Totaal Voorschot,
Disable Rounded Total,Deactiveer Afgerond Totaal,
Cash/Bank Account,Kas/Bankrekening,
Write Off Amount (Company Currency),Af te schrijven bedrag (Bedrijfsvaluta),
Set Advances and Allocate (FIFO),Vooruitgang en toewijzing instellen (FIFO),
Get Advances Paid,Get betaalde voorschotten,
Advances,Vooruitgang,
Terms,Voorwaarden,
Terms and Conditions1,Algemene Voorwaarden1,
Group same items,Groep dezelfde items,
Print Language,Print Taal,
"Once set, this invoice will be on hold till the set date","Eenmaal ingesteld, wordt deze factuur in de wacht gezet tot de ingestelde datum",
Credit To,Met dank aan,
Party Account Currency,Party account Valuta,
Against Expense Account,Tegen Kostenrekening,
Inter Company Invoice Reference,Referentie voor bedrijfsfacturen,
Is Internal Supplier,Is interne leverancier,
Start date of current invoice's period,Begindatum van de huidige factuurperiode,
End date of current invoice's period,Einddatum van de huidige factuurperiode,
Update Auto Repeat Reference,Update automatische herhaalreferentie,
Purchase Invoice Advance,Inkoopfactuur Voorschot,
Purchase Invoice Item,Inkoopfactuur Artikel,
Quantity and Rate,Hoeveelheid en Tarief,
Received Qty,Ontvangen Aantal,
Accepted Qty,Geaccepteerd Aantal,
Rejected Qty,afgewezen Aantal,
UOM Conversion Factor,Eenheid Omrekeningsfactor,
Discount on Price List Rate (%),Korting op de prijslijst Rate (%),
Price List Rate (Company Currency),Prijslijst Tarief (Bedrijfsvaluta),
Rate ,Tarief,
Rate (Company Currency),Tarief (Bedrijfsvaluta),
Amount (Company Currency),Bedrag (Company Munt),
Is Free Item,Is gratis item,
Net Rate,Net Rate,
Net Rate (Company Currency),Net Rate (Company Valuta),
Net Amount (Company Currency),Nettobedrag (Company valuta),
Item Tax Amount Included in Value,Artikel Belastingbedrag inbegrepen in waarde,
Landed Cost Voucher Amount,Vrachtkosten Voucher Bedrag,
Raw Materials Supplied Cost,Grondstoffen Leveringskosten,
Accepted Warehouse,Geaccepteerd Magazijn,
Serial No,Serienummer,
Rejected Serial No,Afgewezen Serienummer,
Expense Head,Kosten Hoofd,
Is Fixed Asset,Is vaste activa,
Asset Location,Activa locatie,
Deferred Expense,Uitgestelde kosten,
Deferred Expense Account,Uitgestelde onkostenrekening,
Service Stop Date,Dienststopdatum,
Enable Deferred Expense,Uitgestelde kosten inschakelen,
Service Start Date,Startdatum van de service,
Service End Date,Einddatum service,
Allow Zero Valuation Rate,Zero waarderingspercentage toestaan,
Item Tax Rate,Artikel BTW-tarief,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Belasting detail tafel haalden van post meester als een string en opgeslagen in dit gebied.\n Gebruikt voor en -heffingen,
Purchase Order Item,Inkooporder Artikel,
Purchase Receipt Detail,Detail aankoopbon,
Item Weight Details,Item Gewicht Details,
Weight Per Unit,Gewicht per eenheid,
Total Weight,Totale gewicht,
Weight UOM,Gewicht Eenheid,
Page Break,Pagina-einde,
Consider Tax or Charge for,Overweeg belasting of heffing voor,
Valuation and Total,Waardering en Totaal,
Valuation,Waardering,
Add or Deduct,Toevoegen of aftrekken,
Deduct,Aftrekken,
On Previous Row Amount,Aantal van vorige rij,
On Previous Row Total,Aantal van volgende rij,
On Item Quantity,Op artikelhoeveelheid,
Reference Row #,Referentie Rij #,
Is this Tax included in Basic Rate?,Is dit inbegrepen in de Basic Rate?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Indien aangevinkt, zal de BTW-bedrag worden beschouwd als reeds in de Print Tarief / Print Bedrag",
Account Head,Hoofdrekening,
Tax Amount After Discount Amount,Belasting bedrag na korting,
Item Wise Tax Detail ,Item Wise belastingdetail,
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Standaard belasting sjabloon die kan worden toegepast op alle inkooptransacties. Deze sjabloon kan lijst van fiscale hoofden en ook andere kosten koppen als ""Verzenden"", ""Verzekering"" bevatten, ""Omgaan met"" enz \n\n #### Opmerking \n\n De belastingdruk die u hier definieert zal het normale belastingtarief voor alle ** Items worden **. Als er ** Items ** dat verschillende tarieven hebben, moeten ze worden toegevoegd in de ** Item Tax ** tafel in de ** Item ** meester.\n\n #### Beschrijving van Kolommen \n\n 1. Berekening Type: \n - Dit kan op ** Netto Totaal ** (dat is de som van het basisbedrag).\n - ** Op Vorige Row Total / Bedrag ** (voor cumulatieve belastingen of heffingen). Als u deze optie selecteert, zal de belasting worden berekend als een percentage van de vorige rij (in de fiscale tabel) bedrag of totaal.\n - ** Werkelijke ** (zoals vermeld).\n 2. Account Head: De Account grootboek waaronder deze belasting \n 3 zal worden geboekt. Cost Center: Als de belasting / heffing is een inkomen (zoals de scheepvaart) of kosten die het nodig heeft tegen een kostenplaats worden geboekt.\n 4. Beschrijving: Beschrijving van de belasting (die zullen worden afgedrukt in de facturen / offertes).\n 5. Rate: belastingtarief.\n 6. Bedrag: BTW bedrag.\n 7. Totaal: Cumulatief totaal op dit punt.\n 8. Voer Row: Als op basis van ""Vorige Row Total"" kunt u het rijnummer die zullen worden genomen als basis voor deze berekening (standaard is de vorige rij) te selecteren.\n 9. Overweeg Tax of Charge voor: In dit gedeelte kunt u aangeven of de belasting / heffing is alleen voor de waardering (geen deel uit van het totaal) of alleen voor de totale (voegt niets toe aan het item) of voor beide.\n 10. Toe te voegen of Trek: Of u wilt toevoegen of aftrekken van de belasting.",
Salary Component Account,Salaris Component Account,
Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Default Bank / Cash account wordt automatisch bijgewerkt in Salaris Journal Entry als deze modus wordt geselecteerd.,
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Inclusief Betaling (POS),
Offline POS Name,Offline POS Naam,
Is Return (Credit Note),Is Return (Credit Note),
Return Against Sales Invoice,Terug Tegen Sales Invoice,
Update Billed Amount in Sales Order,Factuurbedrag in klantorder bijwerken,
Customer PO Details,Klant PO-details,
Customer's Purchase Order,Klant Bestelling,
Customer's Purchase Order Date,Inkooporder datum van Klant,
Customer Address,Klant Adres,
Shipping Address Name,Verzenden Adres Naam,
Company Address Name,Bedrijfs Adres Naam,
Rate at which Customer Currency is converted to customer's base currency,Koers waarmee de Klant Valuta wordt omgerekend naar de basisvaluta van de klant.,
Rate at which Price list currency is converted to customer's base currency,Koers waarmee Prijslijst valuta wordt omgerekend naar de basisvaluta van de klant,
Set Source Warehouse,Stel bronmagazijn in,
Packing List,Paklijst,
Packed Items,Verpakt Items,
Product Bundle Help,Product Bundel Help,
Time Sheet List,Urenregistratie List,
Time Sheets,Time Sheets,
Total Billing Amount,Totaal factuurbedrag,
Sales Taxes and Charges Template,Sales en -heffingen Template,
Sales Taxes and Charges,Verkoop Belasting en Toeslagen,
Loyalty Points Redemption,Loyalty Points-verlossing,
Redeem Loyalty Points,Loyaliteitspunten inwisselen,
Redemption Account,Aflossingsrekening,
Redemption Cost Center,Inkoopkostenplaats,
In Words will be visible once you save the Sales Invoice.,In Woorden zijn zichtbaar zodra u de Verkoopfactuur opslaat.,
Allocate Advances Automatically (FIFO),Wijs automatisch vooruit (FIFO),
Get Advances Received,Get ontvangen voorschotten,
Base Change Amount (Company Currency),Base Change Bedrag (Company Munt),
Write Off Outstanding Amount,Afschrijving uitstaande bedrag,
Terms and Conditions Details,Algemene Voorwaarden Details,
Is Internal Customer,Is interne klant,
Is Discounted,Wordt verdisconteerd,
Unpaid and Discounted,Onbetaald en met korting,
Overdue and Discounted,Achterstallig en afgeprijsd,
Accounting Details,Boekhouding Details,
Debit To,Debitering van,
Is Opening Entry,Wordt Opening Entry,
C-Form Applicable,C-Form Toepasselijk,
Commission Rate (%),Commissie Rate (%),
Sales Team1,Verkoop Team1,
Against Income Account,Tegen Inkomstenrekening,
Sales Invoice Advance,Verkoopfactuur Voorschot,
Advance amount,Voorschot Bedrag,
Sales Invoice Item,Verkoopfactuur Artikel,
Customer's Item Code,Artikelcode van Klant,
Brand Name,Merknaam,
Qty as per Stock UOM,Aantal per Voorraad eenheid,
Discount and Margin,Korting en Marge,
Rate With Margin,Beoordeel met marges,
Discount (%) on Price List Rate with Margin,Korting (%) op prijslijst tarief met marges,
Rate With Margin (Company Currency),Tarief met marge (bedrijfsvaluta),
Delivered By Supplier,Geleverd door Leverancier,
Deferred Revenue,Uitgestelde omzet,
Deferred Revenue Account,Uitgestelde inkomstenrekening,
Enable Deferred Revenue,Uitgestelde inkomsten inschakelen,
Stock Details,Voorraad Details,
Customer Warehouse (Optional),Customer Warehouse (optioneel),
Available Batch Qty at Warehouse,Verkrijgbaar Aantal Batch bij Warehouse,
Available Qty at Warehouse,Qty bij Warehouse,
Delivery Note Item,Vrachtbrief Artikel,
Base Amount (Company Currency),Basisbedrag (Company Munt),
Sales Invoice Timesheet,Sales Invoice Timesheet,
Time Sheet,Urenregistratie,
Billing Hours,Billing Hours,
Timesheet Detail,Timesheet Detail,
Tax Amount After Discount Amount (Company Currency),Belasting Bedrag na korting Bedrag (Company valuta),
Item Wise Tax Detail,Artikelgebaseerde BTW Details,
Parenttype,Parenttype,
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Standaard belasting sjabloon die kan worden toegepast op alle verkooptransacties. Deze sjabloon kan lijst van fiscale hoofden en ook andere kosten / baten koppen als ""Verzenden"", ""Verzekering"" bevatten, ""Omgaan met"" enz \n\n #### Opmerking \n\n Het belastingtarief u definiëren hier zal het normale belastingtarief voor alle ** Items worden **. Als er ** Items ** dat verschillende tarieven hebben, moeten ze worden toegevoegd in de ** Item Tax ** tafel in de ** Item ** meester.\n\n #### Beschrijving van Kolommen \n\n 1. Berekening Type: \n - Dit kan op ** Netto Totaal ** (dat is de som van het basisbedrag).\n - ** Op Vorige Row Total / Bedrag ** (voor cumulatieve belastingen of heffingen). Als u deze optie selecteert, zal de belasting worden berekend als een percentage van de vorige rij (in de fiscale tabel) bedrag of totaal.\n - ** Werkelijke ** (zoals vermeld).\n 2. Account Head: De Account grootboek waaronder deze belasting \n 3 zal worden geboekt. Cost Center: Als de belasting / heffing is een inkomen (zoals de scheepvaart) of kosten die het nodig heeft tegen een kostenplaats worden geboekt.\n 4. Beschrijving: Beschrijving van de belasting (die zullen worden afgedrukt in de facturen / offertes).\n 5. Rate: belastingtarief.\n 6. Bedrag: BTW bedrag.\n 7. Totaal: Cumulatief totaal op dit punt.\n 8. Voer Row: Als op basis van ""Vorige Row Total"" kunt u het rijnummer die zullen worden genomen als basis voor deze berekening (standaard is de vorige rij) te selecteren.\n 9. Is dit inbegrepen in de Basic Rate ?: Indien u dit controleren, betekent dit dat deze belasting niet onder het item tafel zal worden getoond, maar zal worden opgenomen in het basistarief in uw belangrijkste punt tafel. Dit is handig wanneer u wilt geven een platte prijs (inclusief alle belastingen) prijs aan klanten.",
* Will be calculated in the transaction.,* Zal worden berekend in de transactie.,
From No,Van Nee,
To No,Naar Nee,
Is Company,Is Bedrijf,
Current State,Huidige toestand,
Purchased,Gekocht,
From Shareholder,Van aandeelhouder,
From Folio No,Van Folio Nee,
To Shareholder,Aan de aandeelhouder,
To Folio No,Naar Folio Nee,
Equity/Liability Account,Aandelen / aansprakelijkheidsrekening,
Asset Account,ActivAccount,
(including),(inclusief),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio nr.,
Address and Contacts,Adres en Contacten,
Contact List,Contactlijst,
Hidden list maintaining the list of contacts linked to Shareholder,Verborgen lijst met de lijst met contacten gekoppeld aan Shareholder,
Specify conditions to calculate shipping amount,Specificeer de voorwaarden om het verzendbedrag te berekenen,
Shipping Rule Label,Verzendregel Label,
example: Next Day Shipping,Bijvoorbeeld: Next Day Shipping,
Shipping Rule Type,Verzendregel Type,
Shipping Account,Verzending Rekening,
Calculate Based On,Berekenen gebaseerd op,
Fixed,vast,
Net Weight,Netto Gewicht,
Shipping Amount,Verzendbedrag,
Shipping Rule Conditions,Verzendregel Voorwaarden,
Restrict to Countries,Beperken tot landen,
Valid for Countries,Geldig voor Landen,
Shipping Rule Condition,Verzendregel Voorwaarde,
A condition for a Shipping Rule,Een voorwaarde voor een Verzendregel,
From Value,Van Waarde,
To Value,Tot Waarde,
Shipping Rule Country,Verzenden Regel Land,
Subscription Period,Abonnementsperiode,
Subscription Start Date,Begindatum abonnement,
Cancelation Date,Annuleringsdatum,
Trial Period Start Date,Startdatum proefperiode,
Trial Period End Date,Einddatum van de proefperiode,
Current Invoice Start Date,Huidige startdatum factuur,
Current Invoice End Date,Huidige factuur einddatum,
Days Until Due,Dagen tot Due,
Number of days that the subscriber has to pay invoices generated by this subscription,Aantal dagen dat de abonnee de facturen moet betalen die door dit abonnement worden gegenereerd,
Cancel At End Of Period,Annuleer aan het einde van de periode,
Generate Invoice At Beginning Of Period,Factuur aan het begin van de periode genereren,
Plans,Plannen,
Discounts,Kortingen,
Additional DIscount Percentage,Extra Korting Procent,
Additional DIscount Amount,Extra korting Bedrag,
Subscription Invoice,Abonnementsfactuur,
Subscription Plan,Abonnement,
Cost,Kosten,
Billing Interval,Factuurinterval,
Billing Interval Count,Factuurinterval tellen,
"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Aantal intervallen voor het intervalveld, bijv. Als het interval &#39;Dagen&#39; is en het factuurinterval is 3, worden er om de 3 dagen facturen gegenereerd",
Payment Plan,Betaalplan,
Subscription Plan Detail,Abonnementsplan Detail,
Plan,Plan,
Subscription Settings,Abonnementsinstellingen,
Grace Period,Genade periode,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Het aantal dagen na de factuurdatum is verstreken voordat het abonnements- of markeringsabonnement als onbetaald werd geannuleerd,
Prorate,pro-rata,
Tax Rule,Belasting Regel,
Tax Type,Belasting Type,
Use for Shopping Cart,Gebruik voor de Winkelwagen,
Billing City,Stad,
Billing County,Billing County,
Billing State,Billing State,
Billing Zipcode,Facturatie postcode,
Billing Country,Land,
Shipping City,Verzending Stad,
Shipping County,verzending County,
Shipping State,Scheepvaart State,
Shipping Zipcode,Verzend postcode,
Shipping Country,Verzenden Land,
Tax Withholding Account,Belasting-inhouding-account,
Tax Withholding Rates,Belastinginhouding,
Rates,tarieven,
Tax Withholding Rate,Belastingtarief,
Single Transaction Threshold,Drempel voor enkele transactie,
Cumulative Transaction Threshold,Cumulatieve transactiedrempel,
Agriculture Analysis Criteria,Criteria voor landbouwanalyse,
Linked Doctype,Gekoppeld Doctype,
Water Analysis,Water analyse,
Soil Analysis,Bodemanalyse,
Plant Analysis,Plantanalyse,
Fertilizer,Kunstmest,
Soil Texture,Bodemstructuur,
Weather,Weer,
Agriculture Manager,Landbouwmanager,
Agriculture User,Landbouw Gebruiker,
Agriculture Task,Landbouwtaak,
Task Name,Taaknaam,
Start Day,Start dag,
End Day,Einde dag,
Holiday Management,Vakantie Management,
Ignore holidays,Vakantie negeren,
Previous Business Day,Vorige werkdag,
Next Business Day,Volgende werkdag,
Urgent,Dringend,
Crop,Gewas,
Crop Name,Gewasnaam,
Scientific Name,Wetenschappelijke naam,
"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","U kunt hier alle taken definiëren die voor dit gewas moeten worden uitgevoerd. Het dagveld wordt gebruikt om de dag te vermelden waarop de taak moet worden uitgevoerd, waarbij 1 de eerste dag is, enzovoort.",
Crop Spacing,Uitsnede bijsnijden,
Crop Spacing UOM,Gewasafstand UOM,
Row Spacing,Rijafstand,
Row Spacing UOM,Rijafstand UOM,
Perennial,eeuwigdurend,
Biennial,tweejarig,
Planting UOM,UOM planten,
Planting Area,Plant gebied,
Yield UOM,Opbrengst UOM,
Materials Required,Benodigde materialen,
Produced Items,Geproduceerde items,
Produce,Produceren,
Byproducts,bijproducten,
Linked Location,Gekoppelde locatie,
A link to all the Locations in which the Crop is growing,Een link naar alle locaties waarin het gewas groeit,
This will be day 1 of the crop cycle,Dit wordt dag 1 van de gewascyclus,
ISO 8601 standard,ISO 8601-norm,
Cycle Type,Type cyclus,
Less than a year,Minder dan een jaar,
The minimum length between each plant in the field for optimum growth,De minimale lengte tussen elke plant in het veld voor optimale groei,
The minimum distance between rows of plants for optimum growth,De minimale afstand tussen rijen planten voor optimale groei,
Detected Diseases,Gedetecteerde ziekten,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,Lijst met gedetecteerde ziekten op het veld. Na selectie voegt het automatisch een lijst met taken toe om de ziekte aan te pakken,
Detected Disease,Gedetecteerde ziekte,
LInked Analysis,Geïntegreerde analyse,
Disease,Ziekte,
Tasks Created,Taken gemaakt,
Common Name,Gemeenschappelijke naam,
Treatment Task,Behandelingstaak,
Treatment Period,Behandelingsperiode,
Fertilizer Name,Meststofnaam,
Density (if liquid),Dichtheid (indien vloeibaar),
Fertilizer Contents,Kunstmest Inhoud,
Fertilizer Content,Kunstmestinhoud,
Linked Plant Analysis,Linked Plant Analysis,
Linked Soil Analysis,Linked Soil Analysis,
Linked Soil Texture,Gekoppelde bodemtextuur,
Collection Datetime,Verzameling Datetime,
Laboratory Testing Datetime,Laboratoriumtest Datetime,
Result Datetime,Resultaat Datetime,
Plant Analysis Criterias,Plant Analysis Criteria,
Plant Analysis Criteria,Criteria voor plantanalyse,
Minimum Permissible Value,Minimaal toelaatbare waarde,
Maximum Permissible Value,Maximaal toelaatbare waarde,
Ca/K,Ca / K,
Ca/Mg,Ca / Mg,
Mg/K,Mg / K,
(Ca+Mg)/K,(Ca + Mg) / K,
Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
Soil Analysis Criterias,Bodemanalyse Criterias,
Soil Analysis Criteria,Bodemanalysecriteria,
Soil Type,Grondsoort,
Loamy Sand,Leemachtige zand,
Sandy Loam,Zandige leem,
Loam,Leem,
Silt Loam,Silt Loam,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Silty Clay Loam,
Sandy Clay,Zanderige klei,
Silty Clay,Leemklei,
Clay Composition (%),Kleisamenstelling (%),
Sand Composition (%),Zandsamenstelling (%),
Silt Composition (%),Silt-samenstelling (%),
Ternary Plot,Ternary Plot,
Soil Texture Criteria,Bodemtextuurcriteria,
Type of Sample,Type monster,
Container,houder,
Origin,Oorsprong,
Collection Temperature ,Verzamelingstemperatuur,
Storage Temperature,Bewaar temperatuur,
Appearance,Uiterlijk,
Person Responsible,Verantwoordelijke persoon,
Water Analysis Criteria,Criteria voor wateranalyse,
Weather Parameter,Weerparameter,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Activa-eigenaar,
Asset Owner Company,Asset Owner Company,
Custodian,Bewaarder,
Disposal Date,verwijdering Date,
Journal Entry for Scrap,Dagboek voor Productieverlies,
Available-for-use Date,Beschikbaar voor gebruik Datum,
Calculate Depreciation,Bereken afschrijving,
Allow Monthly Depreciation,Maandelijkse afschrijving toestaan,
Number of Depreciations Booked,Aantal Afschrijvingen Geboekt,
Finance Books,Financiën Boeken,
Straight Line,Rechte lijn,
Double Declining Balance,Double degressief,
Manual,handboek,
Value After Depreciation,Restwaarde,
Total Number of Depreciations,Totaal aantal Afschrijvingen,
Frequency of Depreciation (Months),Frequentie van afschrijvingen (Maanden),
Next Depreciation Date,Volgende Afschrijvingen Date,
Depreciation Schedule,afschrijving Schedule,
Depreciation Schedules,afschrijvingen Roosters,
Insurance details,Verzekeringsdetails,
Policy number,Polisnummer,
Insurer,Verzekeraar,
Insured value,Verzekerde waarde,
Insurance Start Date,Startdatum verzekering,
Insurance End Date,Verzekering Einddatum,
Comprehensive Insurance,Uitgebreide verzekering,
Maintenance Required,Onderhoud vereist,
Check if Asset requires Preventive Maintenance or Calibration,Controleer of Activum preventief onderhoud of kalibratie vereist,
Booked Fixed Asset,Geboekte vaste activa,
Purchase Receipt Amount,Aankoopbedrag,
Default Finance Book,Standaard Finance Book,
Quality Manager,Quality Manager,
Asset Category Name,Asset Categorie Naam,
Depreciation Options,Afschrijvingsopties,
Enable Capital Work in Progress Accounting,Kapitaalwerk in uitvoering Accounting inschakelen,
Finance Book Detail,Financiën Boek Detail,
Asset Category Account,Asset Categorie Account,
Fixed Asset Account,Fixed Asset Account,
Accumulated Depreciation Account,Cumulatieve afschrijvingen Rekening,
Depreciation Expense Account,Afschrijvingen Account,
Capital Work In Progress Account,Capital Work In Progress-account,
Asset Finance Book,Asset Finance Book,
Written Down Value,Geschreven waarde,
Expected Value After Useful Life,Verwachte waarde Na Nuttig Life,
Rate of Depreciation,Afschrijvingspercentage,
In Percentage,In percentage,
Maintenance Team,Onderhoudsteam,
Maintenance Manager Name,Naam onderhoudsmanager,
Maintenance Tasks,Onderhoudstaken,
Manufacturing User,Productie Gebruiker,
Asset Maintenance Log,Asset-onderhoudslogboek,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Onderhoud Type,
Maintenance Status,Onderhoud Status,
Planned,Gepland,
Has Certificate ,Heeft certificaat,
Certificate,Certificaat,
Actions performed,Uitgevoerde acties,
Asset Maintenance Task,Asset Maintenance Task,
Maintenance Task,Onderhoudstaak,
Preventive Maintenance,Preventief onderhoud,
Calibration,ijking,
2 Yearly,2 Jaarlijks,
Certificate Required,Certificaat vereist,
Assign to Name,Toewijzen aan naam,
Next Due Date,volgende vervaldatum,
Last Completion Date,Laatste voltooiingsdatum,
Asset Maintenance Team,Asset Maintenance Team,
Maintenance Team Name,Onderhoudsteam naam,
Maintenance Team Members,Onderhoudsteamleden,
Purpose,Doel,
Stock Manager,Stock Manager,
Asset Movement Item,Item itembeweging,
Source Location,Bronlocatie,
From Employee,Van Medewerker,
Target Location,Doellocatie,
To Employee,Naar medewerker,
Asset Repair,Asset reparatie,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Failure Date,
Assign To Name,Toewijzen aan naam,
Repair Status,Reparatiestatus,
Error Description,Foutbeschrijving,
Downtime,uitvaltijd,
Repair Cost,reparatiekosten,
Manufacturing Manager,Productie Manager,
Current Asset Value,Huidige activawaarde,
New Asset Value,Nieuwe activawaarde,
Make Depreciation Entry,Maak Afschrijvingen Entry,
Finance Book Id,Finance Boek-ID,
Location Name,Locatie naam,
Parent Location,Bovenliggende locatie,
Is Container,Is Container,
Check if it is a hydroponic unit,Controleer of het een hydrocultuur is,
Location Details,Locatie details,
Latitude,Breedtegraad,
Longitude,Lengtegraad,
Area,Gebied,
Area UOM,UOM van het gebied,
Tree Details,Tree Details,
Maintenance Team Member,Onderhoudsteamlid,
Team Member,Teamlid,
Maintenance Role,Onderhoudsrol,
Buying Settings,Inkoop Instellingen,
Settings for Buying Module,Instellingen voor het kopen van Module,
Supplier Naming By,Leverancier Benaming Door,
Default Supplier Group,Standaard leveranciersgroep,
Default Buying Price List,Standaard Inkoop Prijslijst,
Backflush Raw Materials of Subcontract Based On,Backflush Grondstoffen van onderaanneming gebaseerd op,
Material Transferred for Subcontract,Materiaal overgedragen voor onderaanneming,
Over Transfer Allowance (%),Overdrachtstoeslag (%),
Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Percentage dat u meer mag overbrengen tegen de bestelde hoeveelheid. Bijvoorbeeld: als u 100 eenheden heeft besteld. en uw toelage is 10%, dan mag u 110 eenheden overdragen.",
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Krijg items van Open Materiaal Aanvragen,
Fetch items based on Default Supplier.,Haal items op op basis van standaardleverancier.,
Required By,Benodigd op,
Order Confirmation No,Orderbevestiging Nee,
Order Confirmation Date,Bevestigingsdatum bestellen,
Customer Mobile No,Klant Mobile Geen,
Customer Contact Email,E-mail Contactpersoon Klant,
Set Target Warehouse,Stel het doelmagazijn in,
Sets 'Warehouse' in each row of the Items table.,Stelt &#39;Magazijn&#39; in in elke rij van de Artikeltabel.,
Supply Raw Materials,Supply Grondstoffen,
Purchase Order Pricing Rule,Prijsregel inkooporder,
Set Reserve Warehouse,Stel reservemagazijn in,
In Words will be visible once you save the Purchase Order.,In Woorden zijn zichtbaar zodra u de Inkooporder opslaat,
Advance Paid,Voorschot Betaald,
Tracking,Volgen,
% Billed,% Gefactureerd,
% Received,% Ontvangen,
Ref SQ,Ref SQ,
Inter Company Order Reference,Inter Company Orderreferentie,
Supplier Part Number,Leverancier Onderdeelnummer,
Billed Amt,Gefactureerd Bedr,
Warehouse and Reference,Magazijn en Referentie,
To be delivered to customer,Om de klant te leveren,
Material Request Item,Materiaal Aanvraag Artikel,
Supplier Quotation Item,Leverancier Offerte Artikel,
Against Blanket Order,Tegen algemene bestelling,
Blanket Order,Dekenvolgorde,
Blanket Order Rate,Deken Besteltarief,
Returned Qty,Terug Aantal,
Purchase Order Item Supplied,Inkooporder Artikel geleverd,
BOM Detail No,Stuklijst Detail nr.,
Stock Uom,Voorraad Eenheid,
Raw Material Item Code,Grondstof Artikelcode,
Supplied Qty,Meegeleverde Aantal,
Purchase Receipt Item Supplied,Ontvangstbevestiging Artikel geleverd,
Current Stock,Huidige voorraad,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Voor individuele leverancier,
Link to Material Requests,Link naar materiële verzoeken,
Message for Supplier,Boodschap voor Supplier,
Request for Quotation Item,Offerte Item,
Required Date,Benodigd op datum,
Request for Quotation Supplier,Offerte Supplier,
Send Email,E-mail verzenden,
Quote Status,Offerte Status,
Download PDF,Download PDF,
Supplier of Goods or Services.,Leverancier van goederen of diensten.,
Name and Type,Naam en Type,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Standaard bankrekening,
Is Transporter,Is Transporter,
Represents Company,Vertegenwoordigt bedrijf,
Supplier Type,Leverancier Type,
Allow Purchase Invoice Creation Without Purchase Order,Sta het aanmaken van een inkoopfactuur toe zonder inkooporder,
Allow Purchase Invoice Creation Without Purchase Receipt,Aanmaak van inkoopfacturen toestaan zonder aankoopbewijs,
Warn RFQs,Waarschuw RFQs,
Warn POs,Waarschuwing POs,
Prevent RFQs,Voorkom RFQs,
Prevent POs,Voorkom POs,
Billing Currency,Valuta,
Default Payment Terms Template,Standaard betalingsvoorwaarden sjabloon,
Block Supplier,Leverancier blokkeren,
Hold Type,Type vasthouden,
Leave blank if the Supplier is blocked indefinitely,Laat dit leeg als de leverancier voor onbepaalde tijd is geblokkeerd,
Default Payable Accounts,Standaard Crediteuren Accounts,
Mention if non-standard payable account,Noem als niet-standaard betaalbaar account,
Default Tax Withholding Config,Standaard belastingverrekening Config,
Supplier Details,Leverancier Details,
Statutory info and other general information about your Supplier,Wettelijke info en andere algemene informatie over uw leverancier,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Adres Leverancier,
Link to material requests,Koppeling naar materiaal aanvragen,
Rounding Adjustment (Company Currency,Afronding aanpassing (bedrijfsmunt,
Auto Repeat Section,Auto Repeat Section,
Is Subcontracted,Wordt uitbesteed,
Lead Time in days,Levertijd in dagen,
Supplier Score,Leverancierscore,
Indicator Color,Indicator Kleur,
Evaluation Period,Evaluatie periode,
Per Week,Per week,
Per Month,Per maand,
Per Year,Per jaar,
Scoring Setup,Scoring instellen,
Weighting Function,Gewicht Functie,
"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Scorecard variabelen kunnen worden gebruikt, evenals: {total_score} (de totale score van die periode), {period_number} (het aantal dagen dat de dag is)",
Scoring Standings,Scoring Standings,
Criteria Setup,Criteria Setup,
Load All Criteria,Laad alle criteria,
Scoring Criteria,Scoring Criteria,
Scorecard Actions,Scorecard Acties,
Warn for new Request for Quotations,Waarschuw voor nieuw verzoek om offertes,
Warn for new Purchase Orders,Waarschuw voor nieuwe inkooporders,
Notify Supplier,Meld Leverancier in,
Notify Employee,Meld de medewerker in kennis,
Supplier Scorecard Criteria,Leveranciers Scorecard Criteria,
Criteria Name,Criteria Naam,
Max Score,Max score,
Criteria Formula,Criteria Formule,
Criteria Weight,Criteria Gewicht,
Supplier Scorecard Period,Leverancier Scorecard Periode,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Periode Score,
Calculations,berekeningen,
Criteria,criteria,
Variables,Variabelen,
Supplier Scorecard Setup,Leveranciers Scorecard Setup,
Supplier Scorecard Scoring Criteria,Scorecard Scoringscriteria voor leveranciers,
Score,partituur,
Supplier Scorecard Scoring Standing,Leverancier Scorecard Scoring Standing,
Standing Name,Staande naam,
Purple,Purper,
Yellow,Geel,
Orange,Oranje,
Min Grade,Min Grade,
Max Grade,Max Grade,
Warn Purchase Orders,Waarschuwing Aankooporders,
Prevent Purchase Orders,Voorkom aankopen,
Employee ,Werknemer,
Supplier Scorecard Scoring Variable,Leverancier Scorecard Scorevariabele,
Variable Name,Variabele naam,
Parameter Name,Parameter Naam,
Supplier Scorecard Standing,Leverancier Scorecard Standing,
Notify Other,Meld andere aan,
Supplier Scorecard Variable,Leverancier Scorecard Variable,
Call Log,Oproeplogboek,
Received By,Ontvangen door,
Caller Information,Informatie beller,
Contact Name,Contact Naam,
Lead ,Lood,
Lead Name,Lead Naam,
Ringing,rinkelen,
Missed,gemiste,
Call Duration in seconds,Oproepduur in seconden,
Recording URL,URL opnemen,
Communication Medium,Communicatie Medium,
Communication Medium Type,Type communicatiemedium,
Voice,Stem,
Catch All,Vang alles,
"If there is no assigned timeslot, then communication will be handled by this group","Als er geen tijdslot is toegewezen, wordt de communicatie door deze groep afgehandeld",
Timeslots,timeslots,
Communication Medium Timeslot,Communicatie Medium tijdslot,
Employee Group,Werknemersgroep,
Appointment,Afspraak,
Scheduled Time,Geplande tijd,
Unverified,geverifieerde,
Customer Details,Klant Details,
Phone Number,Telefoonnummer,
Skype ID,Skype identiteit,
Linked Documents,Gekoppelde documenten,
Appointment With,Afspraak met,
Calendar Event,Kalender evenement,
Appointment Booking Settings,Afspraak Boeking Instellingen,
Enable Appointment Scheduling,Afspraakplanning inschakelen,
Agent Details,Agentgegevens,
Availability Of Slots,Beschikbaarheid van slots,
Number of Concurrent Appointments,Aantal gelijktijdige afspraken,
Agents,agenten,
Appointment Details,Afspraakdetails,
Appointment Duration (In Minutes),Afspraakduur (in minuten),
Notify Via Email,Melden via e-mail,
Notify customer and agent via email on the day of the appointment.,Informeer de klant en de agent via e-mail op de dag van de afspraak.,
Number of days appointments can be booked in advance,Aantal dagen dat afspraken vooraf kunnen worden geboekt,
Success Settings,Succesinstellingen,
Success Redirect URL,Succes-omleidings-URL,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Laat leeg voor thuis. Dit is relatief ten opzichte van de site-URL, bijvoorbeeld &quot;about&quot; zal omleiden naar &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Afspraak Boeking Slots,
Day Of Week,Dag van de week,
From Time ,Van Tijd,
Campaign Email Schedule,E-mailschema campagne,
Send After (days),Verzenden na (dagen),
Signed,Getekend,
Party User,Partijgebruiker,
Unsigned,ongetekend,
Fulfilment Status,Fulfillment-status,
N/A,N / A,
Unfulfilled,niet vervuld,
Partially Fulfilled,Gedeeltelijk vervuld,
Fulfilled,vervulde,
Lapsed,verlopen,
Contract Period,Contract periode,
Signee Details,Onderteken Details,
Signee,signee,
Signed On,Aangemeld,
Contract Details,Contractgegevens,
Contract Template,Contract sjabloon,
Contract Terms,Contract termen,
Fulfilment Details,Fulfillment-gegevens,
Requires Fulfilment,Voldoet aan fulfilment,
Fulfilment Deadline,Uiterste nalevingstermijn,
Fulfilment Terms,Fulfillment-voorwaarden,
Contract Fulfilment Checklist,Contract Fulfillment Checklist,
Requirement,eis,
Contract Terms and Conditions,Contractvoorwaarden,
Fulfilment Terms and Conditions,Fulfilment Algemene voorwaarden,
Contract Template Fulfilment Terms,Contractsjabloon nakomingstermijnen,
Email Campaign,E-mail campagne,
Email Campaign For ,E-mailcampagne voor,
Lead is an Organization,Lead is een organisatie,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Persoon Naam,
Lost Quotation,verloren Offerte,
Interested,Geïnteresseerd,
Converted,Omgezet,
Do Not Contact,Neem geen contact op,
From Customer,Van Klant,
Campaign Name,Campagnenaam,
Follow Up,Opvolgen,
Next Contact By,Volgende Contact Door,
Next Contact Date,Volgende Contact Datum,
Ends On,Eindigt op,
Address & Contact,Adres &amp; Contact,
Mobile No.,Mobiel nummer,
Lead Type,Lead Type,
Channel Partner,Channel Partner,
Consultant,Consultant,
Market Segment,Marktsegment,
Industry,Industrie,
Request Type,Aanvraag type,
Product Enquiry,Product Aanvraag,
Request for Information,Informatieaanvraag,
Suggestions,Suggesties,
Blog Subscriber,Blog Abonnee,
LinkedIn Settings,LinkedIn-instellingen,
Company ID,bedrijfs ID,
OAuth Credentials,OAuth-inloggegevens,
Consumer Key,Gebruikers sleutel,
Consumer Secret,Consumentengeheim,
User Details,gebruikersdetails,
Person URN,Persoon URN,
Session Status,Sessiestatus,
Lost Reason Detail,Verloren reden Detail,
Opportunity Lost Reason,Gelegenheid verloren reden,
Potential Sales Deal,Potentiële Sales Deal,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Opportuniteit Van,
Customer / Lead Name,Klant / Lead Naam,
Opportunity Type,Type opportuniteit,
Converted By,Geconverteerd door,
Sales Stage,Verkoopfase,
Lost Reason,Reden van verlies,
Expected Closing Date,Verwachte sluitingsdatum,
To Discuss,Te bespreken,
With Items,Met Items,
Probability (%),Waarschijnlijkheid (%),
Contact Info,Contact Info,
Customer / Lead Address,Klant / Lead Adres,
Contact Mobile No,Contact Mobiele nummer,
Enter name of campaign if source of enquiry is campaign,Voer de naam van de campagne in als bron van onderzoek Campagne is,
Opportunity Date,Datum opportuniteit,
Opportunity Item,Opportuniteit artikel,
Basic Rate,Basis Tarief,
Stage Name,Artiestennaam,
Social Media Post,Social Media plaatsen,
Post Status,Berichtstatus,
Posted,Geplaatst,
Share On,Delen op,
Twitter,Twitter,
LinkedIn,LinkedIn,
Twitter Post Id,Twitter-bericht-ID,
LinkedIn Post Id,LinkedIn-bericht-id,
Tweet,Tweet,
Twitter Settings,Twitter-instellingen,
API Secret Key,API geheime sleutel,
Term Name,term Naam,
Term Start Date,Term Startdatum,
Term End Date,Term Einddatum,
Academics User,Academici Gebruiker,
Academic Year Name,Academisch jaar naam,
Article,Artikel,
LMS User,LMS-gebruiker,
Assessment Criteria Group,Beoordelingscriteria Group,
Assessment Group Name,Assessment Group Name,
Parent Assessment Group,Parent Assessment Group,
Assessment Name,assessment Naam,
Grading Scale,Grading Scale,
Examiner,Examinator,
Examiner Name,Examinator Naam,
Supervisor,opzichter,
Supervisor Name,supervisor Naam,
Evaluate,schatten,
Maximum Assessment Score,Maximum Assessment Score,
Assessment Plan Criteria,Assessment Plan Criteria,
Maximum Score,maximum Score,
Result,Resultaat,
Total Score,Totale score,
Grade,Rang,
Assessment Result Detail,Assessment Resultaat Detail,
Assessment Result Tool,Assessment Result Tool,
Result HTML,resultaat HTML,
Content Activity,Inhoudsactiviteit,
Last Activity ,Laatste Activiteit,
Content Question,Inhoudsvraag,
Question Link,Vraag link,
Course Name,Cursus naam,
Topics,Onderwerpen,
Hero Image,Heldenafbeelding,
Default Grading Scale,Default Grading Scale,
Education Manager,Education Manager,
Course Activity,Cursusactiviteit,
Course Enrollment,Cursusinschrijving,
Activity Date,Activiteitsdatum,
Course Assessment Criteria,Cursus Beoordelingscriteria,
Weightage,Weging,
Course Content,Cursusinhoud,
Quiz,Quiz,
Program Enrollment,programma Inschrijving,
Enrollment Date,inschrijfdatum,
Instructor Name,instructeur Naam,
EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
Course Scheduling Tool,Course Scheduling Tool,
Course Start Date,Cursus Startdatum,
To TIme,Tot Tijd,
Course End Date,Cursus Einddatum,
Course Topic,Cursus onderwerp,
Topic,Onderwerp,
Topic Name,topic Naam,
Education Settings,Onderwijsinstellingen,
Current Academic Year,Huidig Academisch Jaar,
Current Academic Term,Huidige academische term,
Attendance Freeze Date,Bijwonen Vries Datum,
Validate Batch for Students in Student Group,Batch valideren voor studenten in de studentengroep,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.",Voor Batch-based Student Group wordt de Student Batch voor elke student gevalideerd van de Programma Inschrijving.,
Validate Enrolled Course for Students in Student Group,Valideer ingeschreven cursus voor studenten in de studentengroep,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.",Voor cursusgerichte studentengroep wordt de cursus voor elke student gevalideerd van de ingeschreven cursussen in de inschrijving van het programma.,
Make Academic Term Mandatory,Maak een academische termijn verplicht,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Indien ingeschakeld, is de veld Academic Term verplicht in het programma-inschrijvingsinstrument.",
Skip User creation for new Student,Sla het aanmaken van gebruikers voor nieuwe student over,
"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Standaard wordt voor elke nieuwe student een nieuwe gebruiker aangemaakt. Indien ingeschakeld, wordt er geen nieuwe gebruiker aangemaakt wanneer een nieuwe student wordt aangemaakt.",
Instructor Records to be created by,Instructor Records te creëren door,
Employee Number,Werknemer Nummer,
Fee Category,fee Categorie,
Fee Component,fee Component,
Fees Category,vergoedingen Categorie,
Fee Schedule,fee Schedule,
Fee Structure,fee Structuur,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Fee Creation Status,
In Process,In Process,
Send Payment Request Email,Stuur een e-mail voor betalingsverzoek,
Student Category,student Categorie,
Fee Breakup for each student,Fee Breakup voor elke student,
Total Amount per Student,Totaal Bedrag per student,
Institution,Instelling,
Fee Schedule Program,Fee Schedule Programma,
Student Batch,student Batch,
Total Students,Totaal studenten,
Fee Schedule Student Group,Fee Schedule Student Group,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Inclusief betaling,
Send Payment Request,Verzend betalingsverzoek,
Student Details,Student Details,
Student Email,Student Email,
Grading Scale Name,Grading Scale Naam,
Grading Scale Intervals,Grading afleeseenheden,
Intervals,intervallen,
Grading Scale Interval,Grading Scale Interval,
Grade Code,Grade Code,
Threshold,Drempel,
Grade Description,Grade Beschrijving,
Guardian,Voogd,
Guardian Name,Naam pleegouder,
Alternate Number,Alternate Number,
Occupation,Bezetting,
Work Address,Werk adres,
Guardian Of ,Beschermer van,
Students,leerlingen,
Guardian Interests,Guardian Interesses,
Guardian Interest,Guardian Interest,
Interest,Interesseren,
Guardian Student,Guardian Student,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Instructeurslogboek,
Other details,Andere Details,
Option,Keuze,
Is Correct,Is juist,
Program Name,Programma naam,
Program Abbreviation,programma Afkorting,
Courses,cursussen,
Is Published,Is gepubliceerd,
Allow Self Enroll,Zelfinschrijving toestaan,
Is Featured,Is uitgelicht,
Intro Video,Introductievideo,
Program Course,programma Course,
School House,School House,
Boarding Student,Boarding Student,
Check this if the Student is residing at the Institute's Hostel.,Controleer dit als de student in het hostel van het Instituut verblijft.,
Walking,wandelen,
Institute's Bus,Instituut&#39;s Bus,
Public Transport,Openbaar vervoer,
Self-Driving Vehicle,Zelfrijdend voertuig,
Pick/Drop by Guardian,Pick / Drop door Guardian,
Enrolled courses,Ingeschreven cursussen,
Program Enrollment Course,Programma Inschrijvingscursus,
Program Enrollment Fee,Programma inschrijvingsgeld,
Program Enrollment Tool,Programma Inschrijving Tool,
Get Students From,Krijgen studenten uit,
Student Applicant,student Aanvrager,
Get Students,krijg Studenten,
Enrollment Details,Inschrijfgegevens,
New Program,nieuw programma,
New Student Batch,Nieuwe studentenbatch,
Enroll Students,inschrijven Studenten,
New Academic Year,New Academisch Jaar,
New Academic Term,Nieuwe academische termijn,
Program Enrollment Tool Student,Programma Inschrijving Tool Student,
Student Batch Name,Student batchnaam,
Program Fee,programma Fee,
Question,Vraag,
Single Correct Answer,Enkel correct antwoord,
Multiple Correct Answer,Meervoudig correct antwoord,
Quiz Configuration,Quiz configuratie,
Passing Score,Score behalen,
Score out of 100,Score uit 100,
Max Attempts,Max pogingen,
Enter 0 to waive limit,Voer 0 in om afstand te doen,
Grading Basis,Beoordelingsbasis,
Latest Highest Score,Nieuwste hoogste score,
Latest Attempt,Laatste poging,
Quiz Activity,Quiz activiteit,
Enrollment,Inschrijving,
Pass,Voorbij lopen,
Quiz Question,Quizvraag,
Quiz Result,Quizresultaat,
Selected Option,Geselecteerde optie,
Correct,Correct,
Wrong,Fout,
Room Name,Kamer naam,
Room Number,Kamernummer,
Seating Capacity,zitplaatsen,
House Name,Huis naam,
EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
Student Mobile Number,Student Mobile Number,
Joining Date,Datum indiensttreding,
Blood Group,Bloedgroep,
A+,A+,
A-,A-,
B+,B +,
B-,B-,
O+,O +,
O-,O-,
AB+,AB+,
AB-,AB-,
Nationality,Nationaliteit,
Home Address,Thuisadres,
Guardian Details,Guardian Details,
Guardians,Guardians,
Sibling Details,sibling Details,
Siblings,broers en zussen,
Exit,Uitgang,
Date of Leaving,Datum waarop het vaartuig,
Leaving Certificate Number,Leaving Certificate Number,
Reason For Leaving,Reden om te vertrekken,
Student Admission,student Toelating,
Admission Start Date,Entree Startdatum,
Admission End Date,Toelating Einddatum,
Publish on website,Publiceren op de website,
Eligibility and Details,Geschiktheid en details,
Student Admission Program,Studenten toelating programma,
Minimum Age,Minimum leeftijd,
Maximum Age,Maximum leeftijd,
Application Fee,Aanvraagkosten,
Naming Series (for Student Applicant),Naming Series (voor Student Aanvrager),
LMS Only,Alleen LMS,
EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
Application Status,Application Status,
Application Date,Application Date,
Student Attendance Tool,Student Attendance Tool,
Group Based On,Groep gebaseerd op,
Students HTML,studenten HTML,
Group Based on,Groep Gebaseerd op,
Student Group Name,Student Group Name,
Max Strength,Max Strength,
Set 0 for no limit,Stel 0 voor geen limiet,
Instructors,instructeurs,
Student Group Creation Tool,Student Group Creation Tool,
Leave blank if you make students groups per year,Verlaat leeg als u studentengroepen per jaar maakt,
Get Courses,krijg Cursussen,
Separate course based Group for every Batch,Afzonderlijke cursusgroep voor elke partij,
Leave unchecked if you don't want to consider batch while making course based groups. ,Verlaat het vinkje als u geen batch wilt overwegen tijdens het maken van cursussen op basis van cursussen.,
Student Group Creation Tool Course,Student Group Creation Tool Course,
Course Code,cursus Code,
Student Group Instructor,Student Groep Instructeur,
Student Group Student,Student Group Student,
Group Roll Number,Groepsrolnummer,
Student Guardian,student Guardian,
Relation,Relatie,
Mother,Moeder,
Father,Vader,
Student Language,student Taal,
Student Leave Application,Student verlofaanvraag,
Mark as Present,Mark als Cadeau,
Student Log,student Log,
Academic,Academisch,
Achievement,Prestatie,
Student Report Generation Tool,Studentenrapport-generatietool,
Include All Assessment Group,Inclusief alle beoordelingsgroep,
Show Marks,Markeringen tonen,
Add letterhead,Voeg briefhoofd toe,
Print Section,Print sectie,
Total Parents Teacher Meeting,Totale ouder lerarenbijeenkomst,
Attended by Parents,Bijgewoond door ouders,
Assessment Terms,Beoordelingsvoorwaarden,
Student Sibling,student Sibling,
Studying in Same Institute,Het bestuderen in hetzelfde instituut,
NO,NEE,
YES,JA,
Student Siblings,student Broers en zussen,
Topic Content,Onderwerp inhoud,
Amazon MWS Settings,Amazon MWS-instellingen,
ERPNext Integrations,ERPNext-integraties,
Enable Amazon,Schakel Amazon in,
MWS Credentials,MWS-referenties,
Seller ID,Verkoper-ID,
AWS Access Key ID,AWS Access Key ID,
MWS Auth Token,MWS Auth Token,
Market Place ID,Marktplaats-ID,
AE,AE,
AU,AU,
BR,BR,
CA,CA,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
IN,IN,
JP,JP,
IT,HET,
MX,MX,
UK,UK,
US,ONS,
Customer Type,klant type,
Market Place Account Group,Accountgroep marktplaats,
After Date,Na datum,
Amazon will synch data updated after this date,Amazon synchroniseert gegevens die na deze datum zijn bijgewerkt,
Sync Taxes and Charges,Synchroniseer belastingen en heffingen,
Get financial breakup of Taxes and charges data by Amazon ,Krijg financiële opsplitsing van Belastingen en kostengegevens door Amazon,
Sync Products,Synchroniseer producten,
Always sync your products from Amazon MWS before synching the Orders details,Synchroniseer altijd uw producten van Amazon MWS voordat u de bestelgegevens synchroniseert,
Sync Orders,Synchroniseer bestellingen,
Click this button to pull your Sales Order data from Amazon MWS.,Klik op deze knop om uw klantordergegevens uit Amazon MWS te halen.,
Enable Scheduled Sync,Schakel Geplande synchronisatie in,
Check this to enable a scheduled Daily synchronization routine via scheduler,Vink dit aan om een geplande dagelijkse synchronisatieroutine via de planner in te schakelen,
Max Retry Limit,Max. Herhaalgrens,
Exotel Settings,Exotel-instellingen,
Account SID,Account SID,
API Token,API-token,
GoCardless Mandate,GoCardless Mandate,
Mandate,Mandaat,
GoCardless Customer,GoCardless klant,
GoCardless Settings,GoCardless-instellingen,
Webhooks Secret,Webhooks geheim,
Plaid Settings,Plaid-instellingen,
Synchronize all accounts every hour,Synchroniseer alle accounts elk uur,
Plaid Client ID,Plaid-klant-ID,
Plaid Secret,Plaid Secret,
Plaid Environment,Geruite omgeving,
sandbox,zandbak,
development,ontwikkeling,
production,productie,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Applicatie instellingen,
Token Endpoint,Token-eindpunt,
Scope,strekking,
Authorization Settings,Autorisatie-instellingen,
Authorization Endpoint,Autorisatie-eindpunt,
Authorization URL,Autorisatie-URL,
Quickbooks Company ID,Quickbooks Bedrijfs-ID,
Company Settings,Bedrijfsinstellingen,
Default Shipping Account,Standaard verzendaccount,
Default Warehouse,Standaard Magazijn,
Default Cost Center,Standaard Kostenplaats,
Undeposited Funds Account,Niet-gedeponeerd fondsenaccount,
Shopify Log,Shopify Log,
Request Data,Verzoek om gegevens,
Shopify Settings,Shopify-instellingen,
status html,status html,
Enable Shopify,Activeer Shopify,
App Type,App Type,
Last Sync Datetime,Last Sync Datetime,
Shop URL,Winkel URL,
eg: frappe.myshopify.com,bijvoorbeeld: frappe.myshopify.com,
Shared secret,Gedeeld geheim,
Webhooks Details,Webhooks details,
Webhooks,webhooks,
Customer Settings,Klant instellingen,
Default Customer,Standaard klant,
Customer Group will set to selected group while syncing customers from Shopify,Klantgroep stelt de geselecteerde groep in terwijl klanten van Shopify worden gesynchroniseerd,
For Company,Voor Bedrijf,
Cash Account will used for Sales Invoice creation,Geldrekening wordt gebruikt voor het maken van verkoopfacturen,
Update Price from Shopify To ERPNext Price List,Prijs bijwerken van Shopify naar ERPNext prijslijst,
Default Warehouse to to create Sales Order and Delivery Note,Standaard magazijn naar om klantorder en leveringsnota te maken,
Sales Order Series,Verkooporderreeks,
Import Delivery Notes from Shopify on Shipment,Verzendingsnota&#39;s importeren vanuit Shopify bij verzending,
Delivery Note Series,Delivery Note-serie,
Import Sales Invoice from Shopify if Payment is marked,Importeer de verkoopfactuur van Shopify als betaling is gemarkeerd,
Sales Invoice Series,Verkoopfactuurserie,
Shopify Tax Account,Shopify Belastingrekening,
Shopify Tax/Shipping Title,Shopify Belasting / verzending titel,
ERPNext Account,ERPNext-account,
Shopify Webhook Detail,Shopify Webhook Detail,
Webhook ID,Webhook ID,
Tally Migration,Tally-migratie,
Master Data,Stamgegevens,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Uit Tally geëxporteerde gegevens die bestaan uit het rekeningschema, klanten, leveranciers, adressen, artikelen en maateenheden",
Is Master Data Processed,Wordt stamgegevens verwerkt,
Is Master Data Imported,Wordt stamgegevens geïmporteerd,
Tally Creditors Account,Tally crediteurenrekening,
Creditors Account set in Tally,Schuldeisersrekening ingesteld in Tally,
Tally Debtors Account,Tally Debtors Account,
Debtors Account set in Tally,Debiteurenrekening ingesteld in Tally,
Tally Company,Tally Company,
Company Name as per Imported Tally Data,Bedrijfsnaam volgens geïmporteerde telgegevens,
Default UOM,Standaard maateenheid,
UOM in case unspecified in imported data,Maateenheid in geval niet gespecificeerd in geïmporteerde gegevens,
ERPNext Company,ERPNext Bedrijf,
Your Company set in ERPNext,Uw bedrijf ingesteld in ERPNext,
Processed Files,Verwerkte bestanden,
Parties,partijen,
UOMs,UOMs,
Vouchers,vouchers,
Round Off Account,Afronden Account,
Day Book Data,Dagboekgegevens,
Day Book Data exported from Tally that consists of all historic transactions,Uit Tally geëxporteerde dagboekgegevens die bestaan uit alle historische transacties,
Is Day Book Data Processed,Worden dagboekgegevens verwerkt,
Is Day Book Data Imported,Worden dagboekgegevens geïmporteerd,
Woocommerce Settings,Woocommerce-instellingen,
Enable Sync,Synchronisatie inschakelen,
Woocommerce Server URL,Woocommerce Server-URL,
Secret,Geheim,
API consumer key,API-gebruikerscode,
API consumer secret,API-gebruikersgeheim,
Tax Account,BTW-account,
Freight and Forwarding Account,Vracht- en doorstuuraccount,
Creation User,Creatie gebruiker,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","De gebruiker die wordt gebruikt om klanten, artikelen en verkooporders te maken. Deze gebruiker moet de relevante machtigingen hebben.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Dit magazijn zal worden gebruikt om klantorders aan te maken. Het reserve-magazijn is &quot;Stores&quot;.,
"The fallback series is ""SO-WOO-"".",De fallback-serie is &quot;SO-WOO-&quot;.,
This company will be used to create Sales Orders.,Dit bedrijf zal worden gebruikt om klantorders aan te maken.,
Delivery After (Days),Levering na (dagen),
This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Dit is de standaard offset (dagen) voor de leverdatum in verkooporders. De reserve-terugval is 7 dagen vanaf de plaatsingsdatum van de bestelling.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Dit is de standaard UOM die wordt gebruikt voor artikelen en verkooporders. De reserve UOM is &quot;Nos&quot;.,
Endpoints,Eindpunten,
Endpoint,Endpoint,
Antibiotic Name,Antibiotische naam,
Healthcare Administrator,Gezondheidszorg Administrator,
Laboratory User,Laboratoriumgebruiker,
Is Inpatient,Is een patiënt,
Default Duration (In Minutes),Standaardduur (in minuten),
Body Part,Lichaamsdeel,
Body Part Link,Link naar lichaamsdeel,
HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
Procedure Template,Procedure sjabloon,
Procedure Prescription,Procedure Voorschrift,
Service Unit,Service-eenheid,
Consumables,verbruiksgoederen,
Consume Stock,Consumeer de voorraad,
Invoice Consumables Separately,Factureer verbruiksartikelen afzonderlijk,
Consumption Invoiced,Verbruik gefactureerd,
Consumable Total Amount,Totaal verbruiksartikel,
Consumption Details,Verbruiksgegevens,
Nursing User,Verpleegkundige gebruiker,
Clinical Procedure Item,Klinische procedure Item,
Invoice Separately as Consumables,Factuur afzonderlijk als verbruiksartikelen,
Transfer Qty,Overdracht aantal,
Actual Qty (at source/target),Werkelijke Aantal (bij de bron / doel),
Is Billable,Is facturabel,
Allow Stock Consumption,Voorraadconsumptie toestaan,
Sample UOM,Voorbeeld maateenheid,
Collection Details,Collectie Details,
Change In Item,Verandering in item,
Codification Table,Codificatie Tabel,
Complaints,klachten,
Dosage Strength,Dosis Sterkte,
Strength,Kracht,
Drug Prescription,Drug Prescription,
Drug Name / Description,Medicijnnaam / beschrijving,
Dosage,Dosering,
Dosage by Time Interval,Dosering per tijdsinterval,
Interval,Interval,
Interval UOM,Interval UOM,
Hour,uur,
Update Schedule,Update Schema,
Exercise,Oefening,
Difficulty Level,Moeilijkheidsgraad,
Counts Target,Telt doel,
Counts Completed,Tellingen voltooid,
Assistance Level,Ondersteuningsniveau,
Active Assist,Actieve assist,
Exercise Name,Oefening Naam,
Body Parts,Lichaamsdelen,
Exercise Instructions,Instructies voor oefeningen,
Exercise Video,Oefenvideo,
Exercise Steps,Oefening stappen,
Steps,Stappen,
Steps Table,Stappen tafel,
Exercise Type Step,Oefeningstype Stap,
Max number of visit,Max. Aantal bezoeken,
Visited yet,Nog bezocht,
Reference Appointments,Referentie-afspraken,
Valid till,Geldig tot,
Fee Validity Reference,Referentie geldigheid van de vergoeding,
Basic Details,Basisgegevens,
HLC-PRAC-.YYYY.-,HLC-PRAC-.JJJJ.-,
Mobile,mobiel,
Phone (R),Telefoon (R),
Phone (Office),Telefoon (kantoor),
Employee and User Details,Werknemer- en gebruikersgegevens,
Hospital,Ziekenhuis,
Appointments,afspraken,
Practitioner Schedules,Practitioner Schedules,
Charges,kosten,
Out Patient Consulting Charge,Kosten voor advisering van de patiënt,
Default Currency,Standaard valuta,
Healthcare Schedule Time Slot,Tijdschema voor gezondheidszorgplanning,
Parent Service Unit,Parent Service Unit,
Service Unit Type,Type onderhoudseenheid,
Allow Appointments,Afspraken toestaan,
Allow Overlap,Overlap toestaan,
Inpatient Occupancy,Inpatient Bezetting,
Occupancy Status,Bezettingsstatus,
Vacant,Vrijgekomen,
Occupied,Bezet,
Item Details,Artikel Details,
UOM Conversion in Hours,UOM-conversie in uren,
Rate / UOM,Tarief / UOM,
Change in Item,Wijzigen In Item,
Out Patient Settings,Out Patient Settings,
Patient Name By,Patiëntnaam By,
Patient Name,Patient naam,
Link Customer to Patient,Koppel klant aan patiënt,
"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Als gecontroleerd, wordt een klant aangemaakt, aangepast aan Patiënt. Patiëntfacturen worden aangemaakt tegen deze klant. U kunt ook de bestaande klant selecteren bij het maken van een patiënt.",
Default Medical Code Standard,Standaard Medische Code Standaard,
Collect Fee for Patient Registration,Verzamelkosten voor patiëntregistratie,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,"Als u dit aanvinkt, worden standaard nieuwe Patiënten met een Uitgeschakelde status aangemaakt en wordt deze pas ingeschakeld na facturering van de Registratiekosten.",
Registration Fee,Zonder registratie,
Automate Appointment Invoicing,Automatiseer de facturering van afspraken,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Afspraakfactuur beheren indienen en automatisch annuleren voor patiëntontmoeting,
Enable Free Follow-ups,Schakel gratis follow-ups in,
Number of Patient Encounters in Valid Days,Aantal ontmoetingen met patiënten in geldige dagen,
The number of free follow ups (Patient Encounters in valid days) allowed,Het toegestane aantal gratis follow-ups (patiëntontmoetingen in geldige dagen),
Valid Number of Days,Geldig aantal dagen,
Time period (Valid number of days) for free consultations,Tijdsperiode (geldig aantal dagen) voor gratis consulten,
Default Healthcare Service Items,Standaardartikelen voor gezondheidszorg,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","U kunt standaardartikelen configureren voor het factureren van consultatiekosten, procedureverbruiksartikelen en klinische bezoeken",
Clinical Procedure Consumable Item,Klinische procedure verbruiksartikelen,
Default Accounts,Standaardaccounts,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Te gebruiken wanbetalingsrekeningen indien niet ingesteld in de zorgverlener om de afspraakkosten te boeken.,
Default receivable accounts to be used to book Appointment charges.,Standaard te ontvangen rekeningen om te gebruiken voor het boeken van afspraakkosten.,
Out Patient SMS Alerts,Out Patient SMS Alerts,
Patient Registration,Patiëntregistratie,
Registration Message,Registratie Bericht,
Confirmation Message,Bevestigingsbericht,
Avoid Confirmation,Vermijd bevestiging,
Do not confirm if appointment is created for the same day,Bevestig niet of afspraak voor dezelfde dag is gemaakt,
Appointment Reminder,Benoemingsherinnering,
Reminder Message,Herinnering Bericht,
Remind Before,Herinner je alvast,
Laboratory Settings,Laboratoriuminstellingen,
Create Lab Test(s) on Sales Invoice Submission,Creëer labtest (en) op het indienen van verkoopfacturen,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,"Als u dit aanvinkt, worden Lab-test (en) aangemaakt die bij indiening in de verkoopfactuur worden vermeld.",
Create Sample Collection document for Lab Test,Maak een Sample Collection-document voor Lab Test,
Checking this will create a Sample Collection document  every time you create a Lab Test,"Als u dit aanvinkt, wordt er elke keer dat u een laboratoriumtest maakt een monsterafnamedocument gemaakt",
Employee name and designation in print,Werknemer naam en aanduiding in print,
Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,"Vink dit aan als u wilt dat de naam en aanduiding van de werknemer die is gekoppeld aan de gebruiker die het document indient, wordt afgedrukt in het laboratoriumtestrapport.",
Do not print or email Lab Tests without Approval,Druk geen laboratoriumtests af of e-mail deze niet zonder goedkeuring,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Als u dit aanvinkt, wordt het afdrukken en e-mailen van Lab Test-documenten beperkt, tenzij ze de status Goedgekeurd hebben.",
Custom Signature in Print,Aangepaste handtekening in afdrukken,
Laboratory SMS Alerts,Laboratorium SMS Alerts,
Result Printed Message,Resultaat Afgedrukt bericht,
Result Emailed Message,Resultaat per e-mail bericht,
Check In,Check in,
Check Out,Uitchecken,
HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
A Positive,Een positief,
A Negative,Een negatief,
AB Positive,AB Positief,
AB Negative,AB Negatief,
B Positive,B positief,
B Negative,B Negatief,
O Positive,O Positief,
O Negative,O Negatief,
Date of birth,Geboortedatum,
Admission Scheduled,Toelating gepland,
Discharge Scheduled,Afloop gepland,
Discharged,ontladen,
Admission Schedule Date,Toelating Schedule Date,
Admitted Datetime,Toegegeven Datetime,
Expected Discharge,Verwachte kwijting,
Discharge Date,Ontslagdatum,
Lab Prescription,Lab Prescription,
Lab Test Name,Naam laboratoriumtest,
Test Created,Test gemaakt,
Submitted Date,Datum indienen,
Approved Date,Goedgekeurde Datum,
Sample ID,Voorbeeld ID,
Lab Technician,Laboratorium technicus,
Report Preference,Rapportvoorkeur,
Test Name,Test Naam,
Test Template,Test sjabloon,
Test Group,Testgroep,
Custom Result,Aangepast resultaat,
LabTest Approver,LabTest Approver,
Add Test,Test toevoegen,
Normal Range,Normaal bereik,
Result Format,Resultaatformaat,
Single,Enkele,
Compound,samenstelling,
Descriptive,Beschrijvend,
Grouped,gegroepeerd,
No Result,Geen resultaat,
This value is updated in the Default Sales Price List.,Deze waarde is bijgewerkt in de standaard verkoopprijslijst.,
Lab Routine,Lab Routine,
Result Value,Resultaat Waarde,
Require Result Value,Vereiste resultaatwaarde,
Normal Test Template,Normaal Testsjabloon,
Patient Demographics,Patient Demographics,
HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
Middle Name (optional),Tweede naam (optioneel),
Inpatient Status,Interne status,
"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Als &quot;Koppel klant aan patiënt&quot; is aangevinkt in Gezondheidszorginstellingen en een bestaande klant is niet geselecteerd, dan wordt er een klant aangemaakt voor deze patiënt voor het registreren van transacties in de module Accounts.",
Personal and Social History,Persoonlijke en sociale geschiedenis,
Marital Status,Burgerlijke staat,
Married,Getrouwd,
Divorced,Gescheiden,
Widow,Weduwe,
Patient Relation,Patiëntrelatie,
"Allergies, Medical and Surgical History","Allergieën, Medische en Chirurgische Geschiedenis",
Allergies,allergieën,
Medication,geneesmiddel,
Medical History,Medische Geschiedenis,
Surgical History,Chirurgische Geschiedenis,
Risk Factors,Risicofactoren,
Occupational Hazards and Environmental Factors,Beroepsgevaren en milieufactoren,
Other Risk Factors,Andere risicofactoren,
Patient Details,Patient Details,
Additional information regarding the patient,Aanvullende informatie over de patiënt,
HLC-APP-.YYYY.-,HLC-APP-.JJJJ.-,
Patient Age,Patiënt leeftijd,
Get Prescribed Clinical Procedures,Krijg voorgeschreven klinische procedures,
Therapy,Behandeling,
Get Prescribed Therapies,Krijg voorgeschreven therapieën,
Appointment Datetime,Afspraak Datetime,
Duration (In Minutes),Duur (in minuten),
Reference Sales Invoice,Referentie verkoopfactuur,
More Info,Meer info,
Referring Practitioner,Verwijzende behandelaar,
Reminded,herinnerd,
HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
Assessment Template,Beoordelingssjabloon,
Assessment Datetime,Beoordeling datetime,
Assessment Description,Beoordeling Beschrijving,
Assessment Sheet,Beoordelingsblad,
Total Score Obtained,Totale behaalde score,
Scale Min,Schaal Min,
Scale Max,Schaal Max,
Patient Assessment Detail,Details van patiëntbeoordeling,
Assessment Parameter,Beoordelingsparameter,
Patient Assessment Parameter,Patiëntbeoordelingsparameter,
Patient Assessment Sheet,Patiëntbeoordelingsblad,
Patient Assessment Template,Sjabloon voor patiëntbeoordeling,
Assessment Parameters,Beoordelingsparameters,
Parameters,parameters,
Assessment Scale,Beoordelingsschaal,
Scale Minimum,Schaal Minimum,
Scale Maximum,Schaal Maximaal,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Encounter Date,
Encounter Time,Encounter Time,
Encounter Impression,Encounter Impression,
Symptoms,Symptomen,
In print,In druk,
Medical Coding,Medische codering,
Procedures,Procedures,
Therapies,Therapieën,
Review Details,Details herzien,
Patient Encounter Diagnosis,Diagnose van ontmoeting met de patiënt,
Patient Encounter Symptom,Symptoom bij de patiënt,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Attach Medical Record,Voeg medisch dossier bij,
Reference DocType,Referentie DocType,
Spouse,Echtgenoot,
Family,Familie,
Schedule Details,Planning Details,
Schedule Name,Schema Naam,
Time Slots,Time Slots,
Practitioner Service Unit Schedule,Practitioner Service Unit Schedule,
Procedure Name,Procedure Naam,
Appointment Booked,Afspraak geboekt,
Procedure Created,Procedure gemaakt,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Verzameld door,
Particulars,bijzonderheden,
Result Component,Resultaatcomponent,
HLC-THP-.YYYY.-,HLC-THP-.JJJJ.-,
Therapy Plan Details,Details therapieplan,
Total Sessions,Totaal aantal sessies,
Total Sessions Completed,Totaal aantal voltooide sessies,
Therapy Plan Detail,Details van het therapieplan,
No of Sessions,Aantal sessies,
Sessions Completed,Voltooide sessies,
Tele,Tele,
Exercises,Opdrachten,
Therapy For,Therapie voor,
Add Exercises,Voeg oefeningen toe,
Body Temperature,Lichaamstemperatuur,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Aanwezigheid van een koorts (temp&gt; 38,5 ° C of bijgehouden temperatuur&gt; 38 ° C / 100,4 ° F)",
Heart Rate / Pulse,Hartslag / Pulse,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,De volwassen puls is overal tussen 50 en 80 slaats per minuut.,
Respiratory rate,Ademhalingsfrequentie,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Normaal referentiebereik voor een volwassene is 16-20 ademhalingen / minuut (RCP 2012),
Tongue,Tong,
Coated,bedekt,
Very Coated,Zeer gecoat,
Normal,normaal,
Furry,Furry,
Cuts,Cuts,
Abdomen,Buik,
Bloated,Opgeblazen,
Fluid,Vloeistof,
Constipated,Verstopt,
Reflexes,reflexen,
Hyper,Hyper,
Very Hyper,Zeer hyper,
One Sided,Eenzijdig,
Blood Pressure (systolic),Bloeddruk (systolisch),
Blood Pressure (diastolic),Bloeddruk (diastolische),
Blood Pressure,Bloeddruk,
"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Normale rustende bloeddruk bij een volwassene is ongeveer 120 mmHg systolisch en 80 mmHg diastolisch, afgekort &quot;120/80 mmHg&quot;",
Nutrition Values,Voedingswaarden,
Height (In Meter),Hoogte (in meter),
Weight (In Kilogram),Gewicht (in kilogram),
BMI,BMI,
Hotel Room,Hotelkamer,
Hotel Room Type,Hotel kamertype,
Capacity,Capaciteit,
Extra Bed Capacity,Extra bedcapaciteit,
Hotel Manager,Hotel Manager,
Hotel Room Amenity,Hotel Room Amenity,
Billable,Factureerbaar,
Hotel Room Package,Hotelkamerarrangement,
Amenities,voorzieningen,
Hotel Room Pricing,Prijzen van hotelkamers,
Hotel Room Pricing Item,Prijsbepaling Hotelkamer,
Hotel Room Pricing Package,Prijsarrangement hotelkamer,
Hotel Room Reservation,Hotelkamerreservering,
Guest Name,Gast naam,
Late Checkin,Late check-in,
Booked,geboekt,
Hotel Reservation User,Hotelreservering Gebruiker,
Hotel Room Reservation Item,Hotelkamerreserveringsitem,
Hotel Settings,Hotelinstellingen,
Default Taxes and Charges,Standaard en -heffingen,
Default Invoice Naming Series,Standaard Invoice Naming Series,
Additional Salary,Extra salaris,
HR,HR,
HR-ADS-.YY.-.MM.-,HR-ADS-.yy .-. MM.-,
Salary Component,salaris Component,
Overwrite Salary Structure Amount,Overschrijf salarisstructuurbedrag,
Deduct Full Tax on Selected Payroll Date,Volledige belasting aftrekken op geselecteerde loondatum,
Payroll Date,Payroll-datum,
Date on which this component is applied,Datum waarop dit onderdeel wordt toegepast,
Salary Slip,Salarisstrook,
Salary Component Type,Salaris Component Type,
HR User,HR Gebruiker,
Appointment Letter,Afspraakbrief,
Job Applicant,Sollicitant,
Applicant Name,Aanvrager Naam,
Appointment Date,Benoemingsdatum,
Appointment Letter Template,Afspraak briefsjabloon,
Body,Lichaam,
Closing Notes,Slotopmerkingen,
Appointment Letter content,Inhoud afspraakbrief,
Appraisal,Beoordeling,
HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
Appraisal Template,Beoordeling Sjabloon,
For Employee Name,Voor Naam werknemer,
Goals,Doelen,
Total Score (Out of 5),Totale Score (van de 5),
"Any other remarks, noteworthy effort that should go in the records.","Eventuele andere opmerkingen, noemenswaardig voor in de boekhouding,",
Appraisal Goal,Beoordeling Doel,
Key Responsibility Area,Key verantwoordelijkheid Area,
Weightage (%),Weging (%),
Score (0-5),Score (0-5),
Score Earned,Verdiende Score,
Appraisal Template Title,Beoordeling Template titel,
Appraisal Template Goal,Beoordeling Sjabloon Doel,
KRA,KRA,
Key Performance Area,Key Performance Area,
HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
On Leave,Met verlof,
Work From Home,Werk vanuit huis,
Leave Application,Verlofaanvraag,
Attendance Date,Aanwezigheid Datum,
Attendance Request,Aanwezigheidsaanvraag,
Late Entry,Late toegang,
Early Exit,Vroege exit,
Half Day Date,Halve dag datum,
On Duty,In functie,
Explanation,Uitleg,
Compensatory Leave Request,Compenserend verlofaanvraag,
Leave Allocation,Verlof Toewijzing,
Worked On Holiday,Werkte aan vakantie,
Work From Date,Werk vanaf datum,
Work End Date,Einddatum van het werk,
Email Sent To,Email verzonden naar,
Select Users,Selecteer gebruikers,
Send Emails At,Stuur e-mails,
Reminder,Herinnering,
Daily Work Summary Group User,Daily Work Summary Group User,
email,e-mail,
Parent Department,Ouderafdeling,
Leave Block List,Verlof bloklijst,
Days for which Holidays are blocked for this department.,Dagen waarvoor feestdagen zijn geblokkeerd voor deze afdeling.,
Leave Approver,Verlof goedkeurder,
Expense Approver,Onkosten Goedkeurder,
Department Approver,Afdelingsmedewerker,
Approver,Goedkeurder,
Required Skills,Benodigde vaardigheden,
Skills,Vaardigheden,
Designation Skill,Benaming Vaardigheid,
Skill,bekwaamheid,
Driver,Bestuurder,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,Geschorst,
Transporter,Transporter,
Applicable for external driver,Toepasbaar voor externe driver,
Cellphone Number,mobiel nummer,
License Details,Licentie details,
License Number,Licentienummer,
Issuing Date,Afgifte datum,
Driving License Categories,Rijbewijscategorieën,
Driving License Category,Rijbewijscategorie,
Fleet Manager,Fleet Manager,
Driver licence class,Rijbewijsklasse,
HR-EMP-,HR-EMP,
Employment Type,Dienstverband Type,
Emergency Contact,Noodgeval Contact,
Emergency Contact Name,Contact in geval van nood,
Emergency Phone,Noodgeval Telefoonnummer,
ERPNext User,ERPNext Gebruiker,
"System User (login) ID. If set, it will become default for all HR forms.","Systeemgebruiker (login) ID. Indien ingesteld, zal het de standaard worden voor alle HR-formulieren.",
Create User Permission,Maak gebruiker toestemming,
This will restrict user access to other employee records,Hiermee wordt de gebruikerstoegang tot andere werknemersrecords beperkt,
Joining Details,Deelnemen aan details,
Offer Date,Aanbieding datum,
Confirmation Date,Bevestigingsdatum,
Contract End Date,Contract Einddatum,
Notice (days),Kennisgeving ( dagen ),
Date Of Retirement,Pensioneringsdatum,
Department and Grade,Afdeling en rang,
Reports to,Rapporteert aan,
Attendance and Leave Details,Aanwezigheids- en verlofdetails,
Leave Policy,Leave Policy,
Attendance Device ID (Biometric/RF tag ID),Aanwezigheidsapparaat-ID (biometrische / RF-tag-ID),
Applicable Holiday List,Toepasselijk Holiday Lijst,
Default Shift,Standaard Shift,
Salary Details,Salarisgegevens,
Salary Mode,Salaris Modus,
Bank A/C No.,Bank A / C nr.,
Health Insurance,Ziektekostenverzekering,
Health Insurance Provider,Zorgverzekeraar,
Health Insurance No,Ziektekostenverzekering Nee,
Prefered Email,Prefered Email,
Personal Email,Persoonlijke e-mail,
Permanent Address Is,Vast Adres is,
Rented,Verhuurd,
Owned,Eigendom,
Permanent Address,Vast Adres,
Prefered Contact Email,Voorkeur Contact E-mail,
Company Email,Bedrijf e-mail,
Provide Email Address registered in company,Zorg voor e-mailadres in bedrijf geregistreerd,
Current Address Is,Huidige adres is,
Current Address,Huidige adres,
Personal Bio,Persoonlijke Bio,
Bio / Cover Letter,Bio / sollicitatiebrief,
Short biography for website and other publications.,Korte biografie voor website en andere publicaties.,
Passport Number,Paspoortnummer,
Date of Issue,Datum van afgifte,
Place of Issue,Plaats van uitgifte,
Widowed,Weduwe,
Family Background,Familie Achtergrond,
"Here you can maintain family details like name and occupation of parent, spouse and children","Hier kunt u onderhouden familie gegevens zoals naam en beroep van de ouder, echtgenoot en kinderen",
Health Details,Gezondheid Details,
"Here you can maintain height, weight, allergies, medical concerns etc","Hier kunt u onderhouden lengte, gewicht, allergieën, medische zorgen, enz.",
Educational Qualification,Educatieve Kwalificatie,
Previous Work Experience,Vorige Werkervaring,
External Work History,Externe Werk Geschiedenis,
History In Company,Geschiedenis In Bedrijf,
Internal Work History,Interne Werk Geschiedenis,
Resignation Letter Date,Ontslagbrief Datum,
Relieving Date,Ontslagdatum,
Reason for Leaving,Reden voor vertrek,
Leave Encashed?,Verlof verzilverd?,
Encashment Date,Betalingsdatum,
New Workplace,Nieuwe werkplek,
HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
Returned Amount,Geretourneerd bedrag,
Claimed,beweerde,
Advance Account,Voorschot rekening,
Employee Attendance Tool,Employee Attendance Tool,
Unmarked Attendance,Ongemerkte aanwezigheid,
Employees HTML,medewerkers HTML,
Marked Attendance,Gemarkeerde Attendance,
Marked Attendance HTML,Marked Attendance HTML,
Employee Benefit Application,Employee Benefit Application,
Max Benefits (Yearly),Max. Voordelen (jaarlijks),
Remaining Benefits (Yearly),Resterende voordelen (jaarlijks),
Payroll Period,Payroll-periode,
Benefits Applied,Toegepaste voordelen,
Dispensed Amount (Pro-rated),Beschikbaar bedrag (pro-rated),
Employee Benefit Application Detail,Employee Benefit Application Detail,
Earning Component,Component verdienen,
Pay Against Benefit Claim,Betalen tegen uitkeringsaanspraak,
Max Benefit Amount,Maximaal voordeelbedrag,
Employee Benefit Claim,Employee Benefit Claim,
Claim Date,Claimdatum,
Benefit Type and Amount,Type en bedrag van het voordeel,
Claim Benefit For,Claim voordeel voor,
Max Amount Eligible,Max bedrag komt in aanmerking,
Expense Proof,Expense Proof,
Employee Boarding Activity,Employee Boarding Activity,
Activity Name,Activiteit naam,
Task Weight,Task Weight,
Required for Employee Creation,Vereist voor het maken van werknemers,
Applicable in the case of Employee Onboarding,Van toepassing in het geval van Onboarding van werknemers,
Employee Checkin,Werknemer Checkin,
Log Type,Type logboek,
OUT,UIT,
Location / Device ID,Locatie / apparaat-ID,
Skip Auto Attendance,Auto-aanwezigheid overslaan,
Shift Start,Shift Start,
Shift End,Shift End,
Shift Actual Start,Shift werkelijke start,
Shift Actual End,Verschuiving feitelijk einde,
Employee Education,Werknemer Opleidingen,
School/University,School / Universiteit,
Graduate,Afstuderen,
Post Graduate,Post Doctoraal,
Under Graduate,Student zonder graad,
Year of Passing,Voorbije Jaar,
Class / Percentage,Klasse / Percentage,
Major/Optional Subjects,Major / keuzevakken,
Employee External Work History,Werknemer Externe Werk Geschiedenis,
Total Experience,Total Experience,
Default Leave Policy,Standaard verlofbeleid,
Default Salary Structure,Standaard salarisstructuur,
Employee Group Table,Werknemersgroepstabel,
ERPNext User ID,ERPNext gebruikers-ID,
Employee Health Insurance,Ziektekostenverzekering voor werknemers,
Health Insurance Name,Ziekteverzekeringsnaam,
Employee Incentive,Employee Incentive,
Incentive Amount,Incentive Bedrag,
Employee Internal Work History,Werknemer Interne Werk Geschiedenis,
Employee Onboarding,Medewerker aan boord,
Notify users by email,Gebruikers op de hoogte stellen via e-mail,
Employee Onboarding Template,Medewerker Onboarding-sjabloon,
Activities,Activiteiten,
Employee Onboarding Activity,Employee Onboarding Activity,
Employee Other Income,Werknemer overige inkomsten,
Employee Promotion,Werknemersbevordering,
Promotion Date,Promotiedatum,
Employee Promotion Details,Gegevens over werknemersbevordering,
Employee Promotion Detail,Detail medewerkerbevordering,
Employee Property History,Geschiedenis van werknemerseigendom,
Employee Separation,Werknemersscheiding,
Employee Separation Template,Werknemersscheidingssjabloon,
Exit Interview Summary,Sluit de samenvatting van het interview af,
Employee Skill,Vaardigheden van werknemers,
Proficiency,bekwaamheid,
Evaluation Date,Evaluatie datum,
Employee Skill Map,Werknemersvaardigheden,
Employee Skills,Vaardigheden van werknemers,
Trainings,trainingen,
Employee Tax Exemption Category,Categorie werknemersbelastingvrijstelling,
Max Exemption Amount,Max. Vrijstellingsbedrag,
Employee Tax Exemption Declaration,Verklaring belastingvrijstelling werknemer,
Declarations,verklaringen,
Total Declared Amount,Totaal aangegeven bedrag,
Total Exemption Amount,Totale vrijstellingsbedrag,
Employee Tax Exemption Declaration Category,Belastingvrijstellingsverklaring Categorie voor werknemers,
Exemption Sub Category,Vrijstelling Subcategorie,
Exemption Category,Uitzonderingscategorie,
Maximum Exempted Amount,Maximaal vrijgesteld bedrag,
Declared Amount,Opgegeven bedrag,
Employee Tax Exemption Proof Submission,Vrijstelling van werknemersbelasting Bewijsverzending,
Submission Date,Termijn van inzending,
Tax Exemption Proofs,Belastingvrijstellingsbewijs,
Total Actual Amount,Totaal werkelijk bedrag,
Employee Tax Exemption Proof Submission Detail,Werknemersbelasting vrijstelling Bewijs voor inzending van bewijs,
Maximum Exemption Amount,Maximaal vrijstellingsbedrag,
Type of Proof,Type bewijs,
Actual Amount,Werkelijke bedrag,
Employee Tax Exemption Sub Category,Belastingvrijstelling werknemer Subcategorie,
Tax Exemption Category,Categorie BTW-vrijstelling,
Employee Training,Werknemerstraining,
Training Date,Trainingsdatum,
Employee Transfer,Overdracht van werknemers,
Transfer Date,Datum van overdracht,
Employee Transfer Details,Overdracht van werknemers details,
Employee Transfer Detail,Overdrachtdetail medewerker,
Re-allocate Leaves,Bladeren opnieuw toewijzen,
Create New Employee Id,Maak een nieuwe werknemer-ID,
New Employee ID,Nieuwe medewerker-ID,
Employee Transfer Property,Overdracht van medewerkers,
HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
Expense Taxes and Charges,Kosten en heffingen,
Total Sanctioned Amount,Totaal Goedgekeurd Bedrag,
Total Advance Amount,Totaal voorschotbedrag,
Total Claimed Amount,Totaal gedeclareerd bedrag,
Total Amount Reimbursed,Totaal bedrag terug!,
Vehicle Log,Voertuig log,
Employees Email Id,Medewerkers E-mail ID,
More Details,Meer details,
Expense Claim Account,Declaratie Account,
Expense Claim Advance,Onkostendeclaratie doorvoeren,
Unclaimed amount,Niet-opgeëist bedrag,
Expense Claim Detail,Kostendeclaratie Detail,
Expense Date,Kosten Datum,
Expense Claim Type,Kostendeclaratie Type,
Holiday List Name,Holiday Lijst Naam,
Total Holidays,Totaal vakantie,
Add Weekly Holidays,Wekelijkse feestdagen toevoegen,
Weekly Off,Wekelijks Vrij,
Add to Holidays,Voeg toe aan feestdagen,
Holidays,Feestdagen,
Clear Table,Wis Tabel,
HR Settings,HR-instellingen,
Employee Settings,Werknemer Instellingen,
Retirement Age,Pensioenleeftijd,
Enter retirement age in years,Voer de pensioengerechtigde leeftijd in jaren,
Stop Birthday Reminders,Stop verjaardagsherinneringen,
Expense Approver Mandatory In Expense Claim,Expense Approver Verplicht in onkostendeclaratie,
Payroll Settings,Loonadministratie Instellingen,
Leave,Laten staan,
Max working hours against Timesheet,Max werkuren tegen Timesheet,
Include holidays in Total no. of Working Days,Feestdagen opnemen in totaal aantal werkdagen.,
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Indien aangevinkt, Totaal niet. van Werkdagen zal omvatten feestdagen, en dit zal de waarde van het salaris per dag te verminderen",
"If checked, hides and disables Rounded Total field in Salary Slips","Indien aangevinkt, verbergt en schakelt het veld Afgerond totaal in salarisstroken uit",
The fraction of daily wages to be paid for half-day attendance,Het gedeelte van het dagloon dat moet worden betaald voor aanwezigheid van een halve dag,
Email Salary Slip to Employee,E-mail loonstrook te Employee,
Emails salary slip to employee based on preferred email selected in Employee,Emails loonstrook van medewerkers op basis van de voorkeur e-mail geselecteerd in Employee,
Encrypt Salary Slips in Emails,Versleutel loonstroken in e-mails,
"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","De salarisstrook die per e-mail naar de werknemer wordt verzonden, is beveiligd met een wachtwoord, het wachtwoord wordt gegenereerd op basis van het wachtwoordbeleid.",
Password Policy,Wachtwoord beleid,
<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Voorbeeld:</b> SAL- {first_name} - {date_of_birth.year} <br> Dit genereert een wachtwoord zoals SAL-Jane-1972,
Leave Settings,Laat instellingen staan,
Leave Approval Notification Template,Laat goedkeuringsmeldingssjabloon achter,
Leave Status Notification Template,Verlof status notificatiesjabloon,
Role Allowed to Create Backdated Leave Application,Rol toegestaan om backdated verloftoepassing te maken,
Leave Approver Mandatory In Leave Application,Verlaat Approver Verplicht in verlof applicatie,
Show Leaves Of All Department Members In Calendar,Bladeren van alle afdelingsleden weergeven in de agenda,
Auto Leave Encashment,Auto Verlaten inkapseling,
Hiring Settings,Huurinstellingen,
Check Vacancies On Job Offer Creation,Bekijk vacatures bij het creëren van vacatures,
Identification Document Type,Identificatie documenttype,
Effective from,Effectief vanaf,
Allow Tax Exemption,Belastingvrijstelling toestaan,
"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Indien ingeschakeld, wordt aangifte van belastingvrijstelling in aanmerking genomen voor de berekening van de inkomstenbelasting.",
Standard Tax Exemption Amount,Standaard belastingvrijstellingsbedrag,
Taxable Salary Slabs,Belastbare salarisplaten,
Taxes and Charges on Income Tax,Belastingen en heffingen op inkomstenbelasting,
Other Taxes and Charges,Overige belastingen en heffingen,
Income Tax Slab Other Charges,Inkomstenbelastingplaat Andere kosten,
Min Taxable Income,Min. Belastbaar inkomen,
Max Taxable Income,Max. Belastbaar inkomen,
Applicant for a Job,Aanvrager van een baan,
Accepted,Geaccepteerd,
Job Opening,Vacature,
Cover Letter,Voorblad,
Resume Attachment,Resume Attachment,
Job Applicant Source,Sollicitant Bron,
Applicant Email Address,E-mailadres aanvrager,
Awaiting Response,Wachten op antwoord,
Job Offer Terms,Biedingsvoorwaarden,
Select Terms and Conditions,Select Voorwaarden,
Printing Details,Afdrukken Details,
Job Offer Term,Biedingsperiode,
Offer Term,Aanbod Term,
Value / Description,Waarde / Beschrijving,
Description of a Job Opening,Omschrijving van een Vacature,
Job Title,Functietitel,
Staffing Plan,Personeelsplan,
Planned number of Positions,Gepland aantal posities,
"Job profile, qualifications required etc.","Functieprofiel, benodigde kwalificaties enz.",
HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
Allocation,Toewijzing,
New Leaves Allocated,Nieuwe Verloven Toegewezen,
Add unused leaves from previous allocations,Voeg ongebruikte bladeren van de vorige toewijzingen,
Unused leaves,Ongebruikte afwezigheden,
Total Leaves Allocated,Totaal Verlofdagen Toegewezen,
Total Leaves Encashed,Total Leaves Encashed,
Leave Period,Verlofperiode,
Carry Forwarded Leaves,Carry Doorgestuurd Bladeren,
Apply / Approve Leaves,Toepassing / Goedkeuren Leaves,
HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
Leave Balance Before Application,Verlofsaldo voor aanvraag,
Total Leave Days,Totaal verlofdagen,
Leave Approver Name,Verlaat Goedkeurder Naam,
Follow via Email,Volg via e-mail,
Block Holidays on important days.,Blokkeer vakantie op belangrijke dagen.,
Leave Block List Name,Laat Block List Name,
Applies to Company,Geldt voor Bedrijf,
"If not checked, the list will have to be added to each Department where it has to be applied.","Indien niet gecontroleerd, wordt de lijst worden toegevoegd aan elk Department waar het moet worden toegepast.",
Block Days,Blokeer Dagen,
Stop users from making Leave Applications on following days.,Weerhoud gebruikers van het maken van verlofaanvragen op de volgende dagen.,
Leave Block List Dates,Laat Block List Data,
Allow Users,Gebruikers toestaan,
Allow the following users to approve Leave Applications for block days.,Laat de volgende gebruikers te keuren Verlof Aanvragen voor blok dagen.,
Leave Block List Allowed,Laat toegestaan Block List,
Leave Block List Allow,Laat Block List Laat,
Allow User,Door gebruiker toestaan,
Leave Block List Date,Laat Block List Datum,
Block Date,Blokeer Datum,
Leave Control Panel,Verlof Configuratiescherm,
Select Employees,Selecteer Medewerkers,
Employment Type (optional),Type werk (optioneel),
Branch (optional),Branch (optioneel),
Department (optional),Afdeling (optioneel),
Designation (optional),Benaming (optioneel),
Employee Grade (optional),Medewerkerscijfer (optioneel),
Employee (optional),Werknemer (optioneel),
Allocate Leaves,Wijs bladeren toe,
Carry Forward,Carry Forward,
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Selecteer Carry Forward als u ook wilt opnemen vorige boekjaar uit balans laat dit fiscale jaar,
New Leaves Allocated (In Days),Nieuwe Verloven Toegewezen (in dagen),
Allocate,Toewijzen,
Leave Balance,Verlofsaldo,
Encashable days,Aanpasbare dagen,
Encashment Amount,Aanhechtbedrag,
Leave Ledger Entry,Grootboekinvoer verlaten,
Transaction Name,Naam transactie,
Is Carry Forward,Is Forward Carry,
Is Expired,Is verlopen,
Is Leave Without Pay,Is onbetaald verlof,
Holiday List for Optional Leave,Vakantielijst voor optioneel verlof,
Leave Allocations,Verlof toewijzingen,
Leave Policy Details,Laat beleidsdetails achter,
Leave Policy Detail,Laat beleidsdetails achter,
Annual Allocation,Jaarlijkse toewijzing,
Leave Type Name,Verlof Type Naam,
Max Leaves Allowed,Max. Bladeren toegestaan,
Applicable After (Working Days),Van toepassing na (werkdagen),
Maximum Continuous Days Applicable,Maximale continue dagen van toepassing,
Is Optional Leave,Is Optioneel Verlof,
Allow Negative Balance,Laat negatief saldo,
Include holidays within leaves as leaves,Inclusief vakantie binnen bladeren als bladeren,
Is Compensatory,Is compenserend,
Maximum Carry Forwarded Leaves,Maximaal doorgestuurde bladeren,
Expire Carry Forwarded Leaves (Days),Vervallen Carry Forwarded Leaves (dagen),
Calculated in days,Berekend in dagen,
Encashment,inning,
Allow Encashment,Toewijzing toestaan,
Encashment Threshold Days,Aanpak Drempel Dagen,
Earned Leave,Verdiend verlof,
Is Earned Leave,Is Earned Leave,
Earned Leave Frequency,Verdiende verloffrequentie,
Rounding,ronding,
Payroll Employee Detail,Loonwerknemersdetail,
Payroll Frequency,payroll Frequency,
Fortnightly,van twee weken,
Bimonthly,Tweemaandelijks,
Employees,werknemers,
Number Of Employees,Aantal werknemers,
Employee Details,Medewerker Details,
Validate Attendance,Bevestig aanwezigheid,
Salary Slip Based on Timesheet,Salarisstrook Op basis van Timesheet,
Select Payroll Period,Selecteer Payroll Periode,
Deduct Tax For Unclaimed Employee Benefits,Belastingaftrek voor niet-geclaimde werknemersvoordelen,
Deduct Tax For Unsubmitted Tax Exemption Proof,Belastingaftrek voor niet-ingediende bewijs van belastingvrijstelling,
Select Payment Account to make Bank Entry,Selecteer Betaalrekening aan Bank Entry maken,
Salary Slips Created,Salarislippen aangemaakt,
Salary Slips Submitted,Salaris ingeleverd,
Payroll Periods,Payroll-perioden,
Payroll Period Date,Payroll Periode Datum,
Purpose of Travel,Doel van reizen,
Retention Bonus,Retentiebonus,
Bonus Payment Date,Bonus Betalingsdatum,
Bonus Amount,Bonusbedrag,
Abbr,Afk,
Depends on Payment Days,Hangt af van betalingsdagen,
Is Tax Applicable,Is belasting van toepassing,
Variable Based On Taxable Salary,Variabele op basis van belastbaar salaris,
Exempted from Income Tax,Vrijgesteld van inkomstenbelasting,
Round to the Nearest Integer,Rond naar het dichtstbijzijnde gehele getal,
Statistical Component,Statistische Component,
"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Als geselecteerd, draagt de waarde die is opgegeven of berekend in dit onderdeel niet bij tot de winst of aftrek. De waarde ervan kan echter worden verwezen door andere componenten die kunnen worden toegevoegd of afgetrokken.",
Do Not Include in Total,Niet in totaal opnemen,
Flexible Benefits,Flexibele voordelen,
Is Flexible Benefit,Is flexibel voordeel,
Max Benefit Amount (Yearly),Max. Uitkering (jaarlijks),
Only Tax Impact (Cannot Claim But Part of Taxable Income),Alleen belastingimpact (kan niet worden geclaimd maar maakt deel uit van belastbaar inkomen),
Create Separate Payment Entry Against Benefit Claim,Maak een afzonderlijke betalingsingave tegen een voordeelclaim,
Condition and Formula,Conditie en formule,
Amount based on formula,Bedrag op basis van de formule,
Formula,Formule,
Salary Detail,salaris Detail,
Component,bestanddeel,
Do not include in total,Neem niet alles mee,
Default Amount,Standaard Bedrag,
Additional Amount,Extra bedrag,
Tax on flexible benefit,Belasting op flexibel voordeel,
Tax on additional salary,Belasting op extra salaris,
Salary Structure,Salarisstructuur,
Working Days,Werkdagen,
Salary Slip Timesheet,Loonstrook Timesheet,
Total Working Hours,Totaal aantal Werkuren,
Hour Rate,Uurtarief,
Bank Account No.,Bankrekeningnummer,
Earning & Deduction,Verdienen &amp; Aftrek,
Earnings,Verdiensten,
Deductions,Inhoudingen,
Loan repayment,Terugbetaling van schulden,
Employee Loan,werknemer Loan,
Total Principal Amount,Totaal hoofdbedrag,
Total Interest Amount,Totaal rentebedrag,
Total Loan Repayment,Totaal aflossing van de lening,
net pay info,nettoloon info,
Gross Pay - Total Deduction - Loan Repayment,Brutoloon - Total Aftrek - aflossing van de lening,
Total in words,Totaal in woorden,
Net Pay (in words) will be visible once you save the Salary Slip.,Nettoloon (in woorden) zal zichtbaar zijn zodra de Salarisstrook wordt opgeslagen.,
Salary Component for timesheet based payroll.,Salaris Component voor rooster gebaseerde payroll.,
Leave Encashment Amount Per Day,Verlaat het Inrichtingsbedrag per dag,
Max Benefits (Amount),Max. Voordelen (bedrag),
Salary breakup based on Earning and Deduction.,Salaris verbreken op basis Verdienen en Aftrek.,
Total Earning,Totale Winst,
Salary Structure Assignment,Salarisstructuurtoewijzing,
Shift Assignment,Shift-toewijzing,
Shift Type,Shift Type,
Shift Request,Shift Request,
Enable Auto Attendance,Automatische aanwezigheid inschakelen,
Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Markeer aanwezigheid op basis van &#39;Medewerkers Checkin&#39; voor werknemers die zijn toegewezen aan deze dienst.,
Auto Attendance Settings,Instellingen voor automatische aanwezigheid,
Determine Check-in and Check-out,Bepaal het in- en uitchecken,
Alternating entries as IN and OUT during the same shift,Wisselende invoer als IN en UIT tijdens dezelfde dienst,
Strictly based on Log Type in Employee Checkin,Strikt gebaseerd op logtype bij het inchecken van werknemers,
Working Hours Calculation Based On,Werkurenberekening op basis van,
First Check-in and Last Check-out,Eerste check-in en laatste check-out,
Every Valid Check-in and Check-out,Elke geldige check-in en check-out,
Begin check-in before shift start time (in minutes),Begin met inchecken voor de starttijd van de dienst (in minuten),
The time before the shift start time during which Employee Check-in is considered for attendance.,De tijd vóór de starttijd van de dienst gedurende welke de werknemer incheckt voor aanwezigheid.,
Allow check-out after shift end time (in minutes),Afrekenen toestaan na eindtijd ploegendienst (in minuten),
Time after the end of shift during which check-out is considered for attendance.,Tijd na het einde van de dienst waarin uitchecken wordt overwogen.,
Working Hours Threshold for Half Day,Werkuren drempel voor halve dag,
Working hours below which Half Day is marked. (Zero to disable),Werkuren waaronder Halve dag is gemarkeerd. (Nul uit te schakelen),
Working Hours Threshold for Absent,Werkuren drempel voor afwezig,
Working hours below which Absent is marked. (Zero to disable),Werkuren waaronder Afwezig wordt gemarkeerd. (Nul uit te schakelen),
Process Attendance After,Procesbezoek na,
Attendance will be marked automatically only after this date.,Aanwezigheid wordt pas na deze datum automatisch gemarkeerd.,
Last Sync of Checkin,Laatste synchronisatie van inchecken,
Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,Laatst bekende succesvolle synchronisatie van het inchecken van werknemers. Reset dit alleen als u zeker weet dat alle logboeken worden gesynchroniseerd vanaf alle locaties. Wijzig dit niet als u niet zeker bent.,
Grace Period Settings For Auto Attendance,Instellingen respijtperiode voor automatische aanwezigheid,
Enable Entry Grace Period,Inschakelperiode resp. Inschakelen,
Late Entry Grace Period,Grensperiode voor late binnenkomst,
The time after the shift start time when check-in is considered as late (in minutes).,De tijd na de starttijd van de dienst wanneer het inchecken als laat wordt beschouwd (in minuten).,
Enable Exit Grace Period,Schakel Verlaten respijtperiode in,
Early Exit Grace Period,Grace Exit-periode,
The time before the shift end time when check-out is considered as early (in minutes).,De tijd vóór het einde van de dienst wanneer het uitchecken wordt beschouwd als vroeg (in minuten).,
Skill Name,Vaardigheidsnaam,
Staffing Plan Details,Personeelsplan details,
Staffing Plan Detail,Personeelsplan Detail,
Total Estimated Budget,Totaal geschat budget,
Vacancies,vacatures,
Estimated Cost Per Position,Geschatte kosten per positie,
Total Estimated Cost,Totale geschatte kosten,
Current Count,Huidige telling,
Current Openings,Huidige openingen,
Number Of Positions,Aantal posities,
Taxable Salary Slab,Belastbare salarisplaat,
From Amount,Van bedrag,
To Amount,Tot bedrag,
Percent Deduction,Procentaftrek,
Training Program,Oefenprogramma,
Event Status,event Status,
Has Certificate,Heeft certificaat,
Seminar,congres,
Theory,Theorie,
Workshop,werkplaats,
Conference,Conferentie,
Exam,tentamen,
Internet,internet,
Self-Study,Zelfstudie,
Advance,Van te voren,
Trainer Name,trainer Naam,
Trainer Email,trainer Email,
Attendees,Deelnemers,
Employee Emails,Medewerkers e-mails,
Training Event Employee,Training Event Medewerker,
Invited,Uitgenodigd,
Feedback Submitted,Terugkoppeling Submitted,
Optional,facultatief,
Training Result Employee,Training Resultaat Werknemer,
Travel Itinerary,Reisplan,
Travel From,Reizen vanaf,
Travel To,Reizen naar,
Mode of Travel,Manier van reizen,
Flight,Vlucht,
Train,Trein,
Taxi,Taxi,
Rented Car,Gehuurde auto,
Meal Preference,Maaltijd Voorkeur,
Vegetarian,Vegetarisch,
Non-Vegetarian,Niet vegetarisch,
Gluten Free,Glutenvrij,
Non Diary,Niet dagboek,
Travel Advance Required,Reisvooruitgang vereist,
Departure Datetime,Vertrek Datetime,
Arrival Datetime,Aankomst Datetime,
Lodging Required,Onderdak vereist,
Preferred Area for Lodging,Voorkeursgebied voor logies,
Check-in Date,Check-in datum,
Check-out Date,Vertrek datum,
Travel Request,Reisverzoek,
Travel Type,Reistype,
Domestic,Huiselijk,
International,Internationale,
Travel Funding,Reisfinanciering,
Require Full Funding,Vereis volledige financiering,
Fully Sponsored,Volledig gesponsord,
"Partially Sponsored, Require Partial Funding","Gedeeltelijk gesponsord, Gedeeltelijke financiering vereisen",
Copy of Invitation/Announcement,Kopie van uitnodiging / aankondiging,
"Details of Sponsor (Name, Location)","Details van de sponsor (naam, locatie)",
Identification Document Number,identificatie document nummer,
Any other details,Alle andere details,
Costing Details,Kostendetails,
Costing,Costing,
Event Details,Evenementdetails,
Name of Organizer,Naam van de organisator,
Address of Organizer,Adres van de organisator,
Travel Request Costing,Kostencalculatie voor reizen,
Expense Type,Uitgavenoort,
Sponsored Amount,Gesponsorde bedrag,
Funded Amount,Gefinancierde bedrag,
Upload Attendance,Aanwezigheid uploaden,
Attendance From Date,Aanwezigheid Van Datum,
Attendance To Date,Aanwezigheid graag:,
Get Template,Krijg Sjabloon,
Import Attendance,Import Toeschouwers,
Upload HTML,Upload HTML,
Vehicle,Voertuig,
License Plate,Nummerplaat,
Odometer Value (Last),Kilometerstand (Laatste),
Acquisition Date,Aankoopdatum,
Chassis No,chassis Geen,
Vehicle Value,Voertuig waarde,
Insurance Details,verzekering Details,
Insurance Company,Verzekeringsbedrijf,
Policy No,beleid Geen,
Additional Details,Overige gegevens,
Fuel Type,Brandstoftype,
Petrol,Benzine,
Diesel,Diesel,
Natural Gas,Natuurlijk gas,
Electric,elektrisch,
Fuel UOM,Fuel UOM,
Last Carbon Check,Laatste Carbon controleren,
Wheels,Wheels,
Doors,deuren,
HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
Odometer Reading,kilometerstand,
Current Odometer value ,Huidige kilometertellerwaarde,
last Odometer Value ,laatste kilometertellerwaarde,
Refuelling Details,Tanken Details,
Invoice Ref,factuur Ref,
Service Details,Service Details,
Service Detail,dienst Detail,
Vehicle Service,voertuig,
Service Item,dienst Item,
Brake Oil,remolie,
Brake Pad,Brake Pad,
Clutch Plate,clutch Plate,
Engine Oil,Motorolie,
Oil Change,Olie vervanging,
Inspection,Inspectie,
Mileage,Mileage,
Hub Tracked Item,Bijgehouden post,
Hub Node,Hub Node,
Image List,Afbeeldingenlijst,
Item Manager,Item Manager,
Hub User,Hub-gebruiker,
Hub Password,Hub wachtwoord,
Hub Users,Hub-gebruikers,
Marketplace Settings,Marketplace-instellingen,
Disable Marketplace,Schakel Marketplace uit,
Marketplace URL (to hide and update label),Marktplaats-URL (om label te verbergen en bij te werken),
Registered,Geregistreerd,
Sync in Progress,Synchronisatie in uitvoering,
Hub Seller Name,Hub verkopernaam,
Custom Data,Aangepaste gegevens,
Member,Lid,
Partially Disbursed,gedeeltelijk uitbetaald,
Loan Closure Requested,Sluiting van lening gevraagd,
Repay From Salary,Terugbetalen van Loon,
Loan Details,Loan Details,
Loan Type,Loan Type,
Loan Amount,Leenbedrag,
Is Secured Loan,Is een beveiligde lening,
Rate of Interest (%) / Year,Rate of Interest (%) / Jaar,
Disbursement Date,uitbetaling Date,
Disbursed Amount,Uitbetaald bedrag,
Is Term Loan,Is termijnlening,
Repayment Method,terugbetaling Method,
Repay Fixed Amount per Period,Terugbetalen vast bedrag per periode,
Repay Over Number of Periods,Terug te betalen gedurende een aantal perioden,
Repayment Period in Months,Terugbetaling Periode in maanden,
Monthly Repayment Amount,Maandelijks te betalen bedrag,
Repayment Start Date,Startdatum aflossing,
Loan Security Details,Lening Beveiligingsdetails,
Maximum Loan Value,Maximale leenwaarde,
Account Info,Account informatie,
Loan Account,Lening account,
Interest Income Account,Rentebaten Account,
Penalty Income Account,Penalty Inkomen Account,
Repayment Schedule,Terugbetalingsschema,
Total Payable Amount,Totaal te betalen bedrag,
Total Principal Paid,Totaal hoofdsom betaald,
Total Interest Payable,Totaal te betalen rente,
Total Amount Paid,Totaal betaald bedrag,
Loan Manager,Lening Manager,
Loan Info,Loan Info,
Rate of Interest,Rentevoet,
Proposed Pledges,Voorgestelde toezeggingen,
Maximum Loan Amount,Maximum Leningen,
Repayment Info,terugbetaling Info,
Total Payable Interest,Totaal verschuldigde rente,
Against Loan ,Tegen lening,
Loan Interest Accrual,Opbouw rente,
Amounts,bedragen,
Pending Principal Amount,In afwachting van hoofdbedrag,
Payable Principal Amount,Te betalen hoofdbedrag,
Paid Principal Amount,Betaalde hoofdsom,
Paid Interest Amount,Betaald rentebedrag,
Process Loan Interest Accrual,Lening opbouw rente verwerken,
Repayment Schedule Name,Naam aflossingsschema,
Regular Payment,Reguliere betaling,
Loan Closure,Lening sluiting,
Payment Details,Betalingsdetails,
Interest Payable,Verschuldigde rente,
Amount Paid,Betaald bedrag,
Principal Amount Paid,Hoofdsom betaald,
Repayment Details,Betalingsgegevens,
Loan Repayment Detail,Detail van terugbetaling van lening,
Loan Security Name,Naam leningbeveiliging,
Unit Of Measure,Maateenheid,
Loan Security Code,Lening beveiligingscode,
Loan Security Type,Type leningbeveiliging,
Haircut %,Kapsel%,
Loan  Details,Lening details,
Unpledged,Unpledged,
Pledged,verpande,
Partially Pledged,Gedeeltelijk toegezegd,
Securities,Effecten,
Total Security Value,Totale beveiligingswaarde,
Loan Security Shortfall,Lening Zekerheidstekort,
Loan ,Lening,
Shortfall Time,Tekorttijd,
America/New_York,America / New_York,
Shortfall Amount,Tekortbedrag,
Security Value ,Beveiligingswaarde,
Process Loan Security Shortfall,Proceslening Beveiligingstekort,
Loan To Value Ratio,Lening tot waardeverhouding,
Unpledge Time,Unpledge Time,
Loan Name,lening Naam,
Rate of Interest (%) Yearly,Rate of Interest (%) Jaarlijkse,
Penalty Interest Rate (%) Per Day,Boeterente (%) per dag,
Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,In geval van vertraagde terugbetaling wordt dagelijks een boeterente geheven over het lopende rentebedrag,
Grace Period in Days,Grace periode in dagen,
No. of days from due date until which penalty won't be charged in case of delay in loan repayment,Aantal dagen vanaf de vervaldatum tot welke boete niet in rekening wordt gebracht in geval van vertraging bij de terugbetaling van de lening,
Pledge,Belofte,
Post Haircut Amount,Kapselbedrag posten,
Process Type,Proces type,
Update Time,Update tijd,
Proposed Pledge,Voorgestelde belofte,
Total Payment,Totale betaling,
Balance Loan Amount,Balans Leningsbedrag,
Is Accrued,Wordt opgebouwd,
Salary Slip Loan,Salaris Sliplening,
Loan Repayment Entry,Lening terugbetaling terugbetaling,
Sanctioned Loan Amount,Sanctiebedrag,
Sanctioned Amount Limit,Sanctiebedraglimiet,
Unpledge,Unpledge,
Haircut,haircut,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Genereer Plan,
Schedules,Schema,
Maintenance Schedule Detail,Onderhoudsschema Detail,
Scheduled Date,Geplande Datum,
Actual Date,Werkelijke Datum,
Maintenance Schedule Item,Onderhoudsschema Item,
Random,Willekeurig,
No of Visits,Aantal bezoeken,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Onderhoud Datum,
Maintenance Time,Onderhoud Tijd,
Completion Status,Voltooiingsstatus,
Partially Completed,Gedeeltelijk afgesloten,
Fully Completed,Volledig afgerond,
Unscheduled,Ongeplande,
Breakdown,Storing,
Purposes,Doeleinden,
Customer Feedback,Klantenfeedback,
Maintenance Visit Purpose,Doel van onderhouds bezoek,
Work Done,Afgerond Werk,
Against Document No,Tegen Document nr.,
Against Document Detail No,Tegen Document Detail nr,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Order Type,
Blanket Order Item,Deken bestellingsitem,
Ordered Quantity,Bestelde hoeveelheid,
Item to be manufactured or repacked,Artikel te vervaardigen of herverpakken,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Hoeveelheid product verkregen na productie / herverpakken van de gegeven hoeveelheden grondstoffen,
Set rate of sub-assembly item based on BOM,Set percentage van sub-assembly item op basis van BOM,
Allow Alternative Item,Toestaan alternatief item,
Item UOM,Artikel Eenheid,
Conversion Rate,Conversion Rate,
Rate Of Materials Based On,Prijs van materialen op basis van,
With Operations,Met Operations,
Manage cost of operations,Beheer kosten van de operaties,
Transfer Material Against,Materiaal overbrengen tegen,
Routing,Routing,
Materials,Materialen,
Quality Inspection Required,Kwaliteitsinspectie vereist,
Quality Inspection Template,Kwaliteitscontrolesjabloon,
Scrap,stukje,
Scrap Items,Scrap items,
Operating Cost,Operationele kosten,
Raw Material Cost,Grondstofprijzen,
Scrap Material Cost,Scrap Materiaal Cost,
Operating Cost (Company Currency),Bedrijfskosten (Company Munt),
Raw Material Cost (Company Currency),Grondstofkosten (bedrijfsvaluta),
Scrap Material Cost(Company Currency),Scrap Materiaal Kosten (Company Munt),
Total Cost,Totale kosten,
Total Cost (Company Currency),Totale kosten (bedrijfsvaluta),
Materials Required (Exploded),Benodigde materialen (uitgeklapt),
Exploded Items,Geëxplodeerde items,
Show in Website,Weergeven op website,
Item Image (if not slideshow),Artikel Afbeelding (indien niet diashow),
Thumbnail,Miniatuur,
Website Specifications,Website Specificaties,
Show Items,Show items,
Show Operations,Toon Operations,
Website Description,Website Beschrijving,
BOM Explosion Item,Stuklijst Uitklap Artikel,
Qty Consumed Per Unit,Aantal verbruikt per eenheid,
Include Item In Manufacturing,Item opnemen in productie,
BOM Item,Stuklijst Artikel,
Item operation,Item bewerking,
Rate & Amount,Tarief en Bedrag,
Basic Rate (Company Currency),Basis Tarief (Bedrijfs Valuta),
Scrap %,Scrap%,
Original Item,Origineel item,
BOM Operation,Stuklijst Operatie,
Operation Time ,Operatie tijd,
In minutes,In minuten,
Batch Size,Seriegrootte,
Base Hour Rate(Company Currency),Base Uur Rate (Company Munt),
Operating Cost(Company Currency),Bedrijfskosten (Company Munt),
BOM Scrap Item,BOM Scrap Item,
Basic Amount (Company Currency),Basisbedrag (Company Munt),
BOM Update Tool,BOM Update Tool,
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Vervang een bepaalde BOM in alle andere BOM&#39;s waar het wordt gebruikt. Het zal de oude BOM link vervangen, update kosten en regenereren &quot;BOM Explosion Item&quot; tabel zoals per nieuwe BOM. Ook wordt de laatste prijs bijgewerkt in alle BOM&#39;s.",
Replace BOM,Vervang BOM,
Current BOM,Huidige Stuklijst,
The BOM which will be replaced,De Stuklijst die zal worden vervangen,
The new BOM after replacement,De nieuwe Stuklijst na vervanging,
Replace,Vervang,
Update latest price in all BOMs,Update de laatste prijs in alle BOM&#39;s,
BOM Website Item,BOM Website Item,
BOM Website Operation,BOM Website Operation,
Operation Time,Operatie Tijd,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Timing Detail,
Time Logs,Tijd Logs,
Total Time in Mins,Totale tijd in minuten,
Operation ID,Bewerkings-ID,
Transferred Qty,Verplaatst Aantal,
Job Started,Taak gestart,
Started Time,Begonnen tijd,
Current Time,Huidige tijd,
Job Card Item,Opdrachtkaartitem,
Job Card Time Log,Tijdkaart taakkaart,
Time In Mins,Time In Mins,
Completed Qty,Voltooid aantal,
Manufacturing Settings,Productie Instellingen,
Raw Materials Consumption,Grondstoffenverbruik,
Allow Multiple Material Consumption,Sta meerdere materiaalconsumptie toe,
Backflush Raw Materials Based On,Grondstoffen afgeboekt op basis van,
Material Transferred for Manufacture,Overgedragen materiaal voor vervaardiging,
Capacity Planning,Capaciteit Planning,
Disable Capacity Planning,Capaciteitsplanning uitschakelen,
Allow Overtime,Laat Overwerk,
Allow Production on Holidays,Laat Productie op vakantie,
Capacity Planning For (Days),Capacity Planning Voor (Dagen),
Default Warehouses for Production,Standaard magazijnen voor productie,
Default Work In Progress Warehouse,Standaard Work In Progress Warehouse,
Default Finished Goods Warehouse,Standaard Finished Goods Warehouse,
Default Scrap Warehouse,Standaard schrootmagazijn,
Overproduction Percentage For Sales Order,Overproductiepercentage voor klantorder,
Overproduction Percentage For Work Order,Overproductiepercentage voor werkorder,
Other Settings,Andere instellingen,
Update BOM Cost Automatically,BOM kosten automatisch bijwerken,
Material Request Plan Item,Artikel plan voor artikelaanvraag,
Material Request Type,Materiaal Aanvraag Type,
Material Issue,Materiaal uitgifte,
Customer Provided,Klant verstrekt,
Minimum Order Quantity,Minimum bestelhoeveelheid,
Default Workstation,Standaard Werkstation,
Production Plan,Productieplan,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Krijgen items uit,
Get Sales Orders,Krijg Verkooporders,
Material Request Detail,Materiaal Verzoek Detail,
Get Material Request,Krijg Materiaal Request,
Material Requests,materiaal aanvragen,
Get Items For Work Order,Items voor werkorder ophalen,
Material Request Planning,Materiaal Verzoek Planning,
Include Non Stock Items,Niet-voorraadartikelen opnemen,
Include Subcontracted Items,Inclusief uitbestede items,
Ignore Existing Projected Quantity,Negeer bestaande geprojecteerde hoeveelheid,
"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","<a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">Klik hier voor</a> meer informatie over de verwachte hoeveelheid.",
Download Required Materials,Benodigde materialen downloaden,
Get Raw Materials For Production,Krijg grondstoffen voor productie,
Total Planned Qty,Totaal aantal geplande,
Total Produced Qty,Totaal geproduceerd aantal,
Material Requested,Gevraagde materiaal,
Production Plan Item,Productie Plan Artikel,
Make Work Order for Sub Assembly Items,Werkorder maken voor onderdelen van subassemblages,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Indien ingeschakeld, maakt het systeem de werkorder voor de geëxplodeerde items waartegen BOM beschikbaar is.",
Planned Start Date,Geplande Startdatum,
Quantity and Description,Hoeveelheid en beschrijving,
material_request_item,material_request_item,
Product Bundle Item,Product Bundle Item,
Production Plan Material Request,Productie Plan Materiaal aanvragen,
Production Plan Sales Order,Productie Plan Verkooporder,
Sales Order Date,Verkooporder Datum,
Routing Name,Naam van routering,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Artikel te produceren,
Material Transferred for Manufacturing,Materiaal Overgedragen voor Manufacturing,
Manufactured Qty,Geproduceerd Aantal,
Use Multi-Level BOM,Gebruik Multi-Level Stuklijst,
Plan material for sub-assemblies,Plan materiaal voor onderdelen,
Skip Material Transfer to WIP Warehouse,Materiaaloverdracht overslaan naar OHW-magazijn,
Check if material transfer entry is not required,Controleer of de invoer van materiaaloverdracht niet vereist is,
Backflush Raw Materials From Work-in-Progress Warehouse,Grondstoffen backflush uit werk-in-uitvoering magazijn,
Update Consumed Material Cost In Project,Verbruikte materiaalkosten in project bijwerken,
Warehouses,Magazijnen,
This is a location where raw materials are available.,Dit is een locatie waar grondstoffen beschikbaar zijn.,
Work-in-Progress Warehouse,Onderhanden Werk Magazijn,
This is a location where operations are executed.,Dit is een locatie waar bewerkingen worden uitgevoerd.,
This is a location where final product stored.,Dit is een locatie waar het eindproduct wordt opgeslagen.,
Scrap Warehouse,Scrap Warehouse,
This is a location where scraped materials are stored.,Dit is een locatie waar geschraapt materiaal wordt opgeslagen.,
Required Items,Vereiste items,
Actual Start Date,Werkelijke Startdatum,
Planned End Date,Geplande Einddatum,
Actual End Date,Werkelijke Einddatum,
Operation Cost,Operatie Cost,
Planned Operating Cost,Geplande bedrijfskosten,
Actual Operating Cost,Werkelijke operationele kosten,
Additional Operating Cost,Additionele Operationele Kosten,
Total Operating Cost,Totale exploitatiekosten,
Manufacture against Material Request,Fabricage tegen Material Request,
Work Order Item,Werkorderitem,
Available Qty at Source Warehouse,Beschikbaar Aantal bij Source Warehouse,
Available Qty at WIP Warehouse,Beschikbaar Aantal bij WIP Warehouse,
Work Order Operation,Werkorder operatie,
Operation Description,Operatie Beschrijving,
Operation completed for how many finished goods?,Operatie afgerond voor hoeveel eindproducten?,
Work in Progress,Onderhanden Werk,
Estimated Time and Cost,Geschatte Tijd en Kosten,
Planned Start Time,Geplande Starttijd,
Planned End Time,Geplande Eindtijd,
in Minutes,In minuten,
Actual Time and Cost,Werkelijke Tijd en kosten,
Actual Start Time,Werkelijke Starttijd,
Actual End Time,Werkelijke Eindtijd,
Updated via 'Time Log',Bijgewerkt via 'Time Log',
Actual Operation Time,Werkelijke Operatie Duur,
in Minutes\nUpdated via 'Time Log',in Minuten \n Bijgewerkt via 'Time Log',
(Hour Rate / 60) * Actual Operation Time,(Uurtarief / 60) * Werkelijk Gepresteerde Tijd,
Workstation Name,Naam van werkstation,
Production Capacity,Productiecapaciteit,
Operating Costs,Bedrijfskosten,
Electricity Cost,elektriciteitskosten,
per hour,per uur,
Consumable Cost,Verbruiksartikel kostprijs,
Rent Cost,Huurkosten,
Wages,Loon,
Wages per hour,Loon per uur,
Net Hour Rate,Netto uurtarief,
Workstation Working Hour,Werkstation Werkuur,
Certification Application,Certificeringstoepassing,
Name of Applicant,Naam aanvrager,
Certification Status,Certificeringsstatus,
Yet to appear,Toch om te verschijnen,
Certified,gecertificeerde,
Not Certified,Niet gecertificeerd,
USD,Amerikaanse Dollar,
INR,INR,
Certified Consultant,Gecertificeerde consultant,
Name of Consultant,Naam van Consultant,
Certification Validity,Geldigheid van certificering,
Discuss ID,Bespreek ID,
GitHub ID,GitHub ID,
Non Profit Manager,Non-profit manager,
Chapter Head,Hoofdstuk hoofd,
Meetup Embed HTML,Meetup HTML insluiten,
chapters/chapter_name\nleave blank automatically set after saving chapter.,hoofdstukken / hoofdstuknaam blanco laten automatisch ingesteld na hoofdstuk opslaan.,
Chapter Members,Hoofdstukleden,
Members,leden,
Chapter Member,Hoofdstuklid,
Website URL,Website URL,
Leave Reason,Verlaat de Rede,
Donor Name,Donornaam,
Donor Type,Donor Type,
Withdrawn,teruggetrokken,
Grant Application Details ,Aanvraagdetails toekennen,
Grant Description,Grant Description,
Requested Amount,Gevraagde bedrag,
Has any past Grant Record,Heeft een eerdere Grant Record,
Show on Website,Weergeven op website,
Assessment  Mark (Out of 10),Beoordelingstabel (van de 10),
Assessment  Manager,Assessment Manager,
Email Notification Sent,E-mailmelding verzonden,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Vervaldatum lidmaatschap,
Razorpay Details,Razorpay-gegevens,
Subscription ID,Abonnements-ID,
Customer ID,Klanten ID,
Subscription Activated,Abonnement geactiveerd,
Subscription Start ,Abonnement starten,
Subscription End,Abonnement Einde,
Non Profit Member,Non-profitlid,
Membership Status,Lidmaatschapsstatus,
Member Since,Lid sinds,
Payment ID,Betaal-ID,
Membership Settings,Lidmaatschapsinstellingen,
Enable RazorPay For Memberships,Schakel RazorPay in voor lidmaatschappen,
RazorPay Settings,RazorPay-instellingen,
Billing Cycle,Factureringscyclus,
Billing Frequency,Factureringsfrequentie,
"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Het aantal factureringscycli waarvoor de klant moet worden gefactureerd. Als een klant bijvoorbeeld een lidmaatschap van één jaar koopt dat maandelijks moet worden gefactureerd, moet deze waarde 12 zijn.",
Razorpay Plan ID,Razorpay Plan-ID,
Volunteer Name,Vrijwilligers naam,
Volunteer Type,Vrijwilligers type,
Availability and Skills,Beschikbaarheid en vaardigheden,
Availability,Beschikbaarheid,
Weekends,weekends,
Availability Timeslot,Beschikbaarheid Timeslot,
Morning,Ochtend,
Afternoon,Middag,
Evening,Avond,
Anytime,Anytime,
Volunteer Skills,Vrijwilligersvaardigheden,
Volunteer Skill,Vrijwillige vaardigheid,
Homepage,Startpagina,
Hero Section Based On,Heldensectie gebaseerd op,
Homepage Section,Homepage sectie,
Hero Section,Heldensectie,
Tag Line,tag Line,
Company Tagline for website homepage,Company Tag voor website homepage,
Company Description for website homepage,Omschrijving bedrijf voor website homepage,
Homepage Slideshow,Homepage diavoorstelling,
"URL for ""All Products""",URL voor &quot;Alle producten&quot;,
Products to be shown on website homepage,Producten die worden getoond op de website homepage,
Homepage Featured Product,Homepage Featured Product,
route,route,
Section Based On,Sectie gebaseerd op,
Section Cards,Sectiekaarten,
Number of Columns,Aantal columns,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Aantal kolommen voor deze sectie. Er worden 3 kaarten per rij getoond als u 3 kolommen selecteert.,
Section HTML,Sectie HTML,
Use this field to render any custom HTML in the section.,Gebruik dit veld om aangepaste HTML in de sectie te maken.,
Section Order,Sectie volgorde,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Volgorde waarin secties moeten verschijnen. 0 is eerste, 1 is tweede enzovoort.",
Homepage Section Card,Homepage Sectiekaart,
Subtitle,subtitel,
Products Settings,producten Instellingen,
Home Page is Products,Startpagina is Producten,
"If checked, the Home page will be the default Item Group for the website","Indien aangevinkt, zal de startpagina de standaard Item Group voor de website",
Show Availability Status,Show Availability Status,
Product Page,Productpagina,
Products per Page,Producten per pagina,
Enable Field Filters,Veldfilters inschakelen,
Item Fields,Item velden,
Enable Attribute Filters,Schakel kenmerkfilters in,
Attributes,Attributen,
Hide Variants,Varianten verbergen,
Website Attribute,Website kenmerk,
Attribute,Attribuut,
Website Filter Field,Websitefilterveld,
Activity Cost,Activiteit Kosten,
Billing Rate,Billing Rate,
Costing Rate,Costing Rate,
title,titel,
Projects User,Projecten Gebruiker,
Default Costing Rate,Standaard Costing Rate,
Default Billing Rate,Default Billing Rate,
Dependent Task,Afhankelijke taak,
Project Type,Project Type,
% Complete Method,% Voltooid Methode,
Task Completion,Task Completion,
Task Progress,Task Progress,
% Completed,% Voltooid,
From Template,Van sjabloon,
Project will be accessible on the website to these users,Project zal toegankelijk op de website van deze gebruikers,
Copied From,Gekopieerd van,
Start and End Dates,Begin- en einddatum,
Actual Time (in Hours),Werkelijke tijd (in uren),
Costing and Billing,Kostenberekening en facturering,
Total Costing Amount (via Timesheets),Totale kostenbedrag (via urenstaten),
Total Expense Claim (via Expense Claims),Total Expense Claim (via declaraties),
Total Purchase Cost (via Purchase Invoice),Totale aanschafkosten (via Purchase Invoice),
Total Sales Amount (via Sales Order),Totaal verkoopbedrag (via klantorder),
Total Billable Amount (via Timesheets),Totaal factureerbare hoeveelheid (via urenstaten),
Total Billed Amount (via Sales Invoices),Totaal gefactureerd bedrag (via verkoopfacturen),
Total Consumed Material Cost  (via Stock Entry),Totale verbruikte materiaalkosten (via voorraadinvoer),
Gross Margin,Bruto Marge,
Gross Margin %,Bruto marge %,
Monitor Progress,Voortgang in de gaten houden,
Collect Progress,Verzamel vooruitgang,
Frequency To Collect Progress,Frequentie om vorderingen te verzamelen,
Twice Daily,Tweemaal daags,
First Email,Eerste e-mail,
Second Email,Tweede e-mail,
Time to send,Tijd om te verzenden,
Day to Send,Dag om te verzenden,
Message will be sent to the users to get their status on the Project,Er wordt een bericht naar de gebruikers gestuurd om hun status op het project te krijgen,
Projects Manager,Projecten Manager,
Project Template,Projectsjabloon,
Project Template Task,Project Template Task,
Begin On (Days),Begin op (dagen),
Duration (Days),Duur (dagen),
Project Update,Project update,
Project User,project Gebruiker,
View attachments,Bekijk bijlagen,
Projects Settings,Projectinstellingen,
Ignore Workstation Time Overlap,Negeer overlapping werkstationtijd,
Ignore User Time Overlap,Negeer User Time Overlap,
Ignore Employee Time Overlap,Negeer overlap tussen werknemerstijd,
Weight,Gewicht,
Parent Task,Oudertaak,
Timeline,Tijdlijn,
Expected Time (in hours),Verwachte Tijd (in uren),
% Progress,% Voortgang,
Is Milestone,Is Milestone,
Task Description,Taakomschrijving,
Dependencies,afhankelijkheden,
Dependent Tasks,Afhankelijke taken,
Depends on Tasks,Hangt af van Taken,
Actual Start Date (via Time Sheet),Werkelijke Startdatum (via Urenregistratie),
Actual Time (in hours),Werkelijke tijd (in uren),
Actual End Date (via Time Sheet),Werkelijke Einddatum (via Urenregistratie),
Total Costing Amount (via Time Sheet),Totaal bedrag Costing (via Urenregistratie),
Total Expense Claim (via Expense Claim),Total Expense Claim (via Expense Claim),
Total Billing Amount (via Time Sheet),Totaal Billing Bedrag (via Urenregistratie),
Review Date,Herzieningsdatum,
Closing Date,Afsluitingsdatum,
Task Depends On,Taak Hangt On,
Task Type,Taaktype,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,werknemer Detail,
Billing Details,Billing Details,
Total Billable Hours,Totaal factureerbare uren,
Total Billed Hours,Totaal gefactureerd Hours,
Total Costing Amount,Totaal bedrag Costing,
Total Billable Amount,Totaal bedrag Factureerbare,
Total Billed Amount,Totaal factuurbedrag,
% Amount Billed,% Gefactureerd Bedrag,
Hrs,hrs,
Costing Amount,Costing Bedrag,
Corrective/Preventive,Corrigerende / Preventieve,
Corrective,correctief,
Preventive,preventieve,
Resolution,Oplossing,
Resolutions,resoluties,
Quality Action Resolution,Kwaliteit Actie Resolutie,
Quality Feedback Parameter,Kwaliteit Feedback Parameter,
Quality Feedback Template Parameter,Kwaliteit Feedback sjabloon parameter,
Quality Goal,Kwaliteitsdoel,
Monitoring Frequency,Monitoring frequentie,
Weekday,Weekdag,
January-April-July-October,Januari-april-juli-oktober,
Revision and Revised On,Herziening en herzien op,
Revision,Herziening,
Revised On,Herzien op,
Objectives,Doelen,
Quality Goal Objective,Kwaliteitsdoelstelling,
Objective,Doelstelling,
Agenda,Agenda,
Minutes,Notulen,
Quality Meeting Agenda,Kwaliteitsvergaderingsagenda,
Quality Meeting Minutes,Kwaliteitsvergaderingsnotulen,
Minute,minuut,
Parent Procedure,Ouderprocedure,
Processes,Processen,
Quality Procedure Process,Kwaliteitsproces-proces,
Process Description,Procesbeschrijving,
Child Procedure,Kinderprocedure,
Link existing Quality Procedure.,Koppel bestaande kwaliteitsprocedures.,
Additional Information,Extra informatie,
Quality Review Objective,Kwaliteitsbeoordeling Doelstelling,
DATEV Settings,DATEV-instellingen,
Regional,Regionaal,
Consultant ID,Consultant ID,
GST HSN Code,GST HSN-code,
HSN Code,HSN-code,
GST Settings,GST instellingen,
GST Summary,GST Samenvatting,
GSTIN Email Sent On,GSTIN Email Sent On,
GST Accounts,GST-accounts,
B2C Limit,B2C-limiet,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Factuurwaarde instellen voor B2C. B2CL en B2CS berekend op basis van deze factuurwaarde.,
GSTR 3B Report,GSTR 3B-rapport,
January,januari-,
February,februari,
March,maart,
April,april,
May,Mei,
June,juni-,
July,juli-,
August,augustus,
September,september,
October,oktober,
November,november,
December,december,
JSON Output,JSON-uitgang,
Invoices with no Place Of Supply,Facturen zonder plaats van levering,
Import Supplier Invoice,Leveranciersfactuur importeren,
Invoice Series,Factuurreeks,
Upload XML Invoices,XML-facturen uploaden,
Zip File,Zip bestand,
Import Invoices,Facturen importeren,
Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Klik op de knop Facturen importeren zodra het zipbestand aan het document is toegevoegd. Alle fouten met betrekking tot verwerking worden weergegeven in het foutenlogboek.,
Lower Deduction Certificate,Lagere aftrekcertificaat,
Certificate Details,Certificaatdetails,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194I,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,certificaat nummer,
Deductee Details,Details van de afgetrokken persoon,
PAN No,PAN nr,
Validity Details,Geldigheidsgegevens,
Rate Of TDS As Per Certificate,Tarief van TDS vanaf certificaat,
Certificate Limit,Certificaatlimiet,
Invoice Series Prefix,Prefix voor factuurreeks,
Active Menu,Actief menu,
Restaurant Menu,Restaurant Menu,
Price List (Auto created),Prijslijst (automatisch aangemaakt),
Restaurant Manager,Restaurant manager,
Restaurant Menu Item,Restaurant Menu-item,
Restaurant Order Entry,Restaurantbestelling,
Restaurant Table,Restaurant tafel,
Click Enter To Add,Klik op Enter om toe te voegen,
Last Sales Invoice,Laatste verkoopfactuur,
Current Order,Huidige bestelling,
Restaurant Order Entry Item,Restaurantbestelling Item invoeren,
Served,geserveerd,
Restaurant Reservation,Restaurant reservering,
Waitlisted,wachtlijst,
No Show,Geen voorstelling,
No of People,Nee van mensen,
Reservation Time,Reservatietijd,
Reservation End Time,Eindtijd van reservering,
No of Seats,Aantal zitplaatsen,
Minimum Seating,Minimum aantal zitplaatsen,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Blijf op de hoogte van Sales Campaigns. Blijf op de hoogte van Leads, Offertes, Sales Order etc van campagnes te meten Return on Investment.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Campagneschema&#39;s,
Buyer of Goods and Services.,Koper van goederen en diensten.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Standaard bedrijfsbankrekening,
From Lead,Van Lead,
Account Manager,Account Manager,
Allow Sales Invoice Creation Without Sales Order,Maken van verkoopfacturen mogelijk zonder verkooporder,
Allow Sales Invoice Creation Without Delivery Note,Maken van verkoopfacturen mogelijk zonder leveringsnota,
Default Price List,Standaard Prijslijst,
Primary Address and Contact Detail,Primaire adres en contactgegevens,
"Select, to make the customer searchable with these fields","Selecteer, om de klant doorzoekbaar te maken met deze velden",
Customer Primary Contact,Hoofdcontactpersoon klant,
"Reselect, if the chosen contact is edited after save","Selecteer opnieuw, als het gekozen contact is bewerkt na opslaan",
Customer Primary Address,Primair adres van klant,
"Reselect, if the chosen address is edited after save","Selecteer opnieuw, als het gekozen adres is bewerkt na opslaan",
Primary Address,hoofdadres,
Mention if non-standard receivable account,Vermelden of niet-standaard te ontvangen rekening,
Credit Limit and Payment Terms,Kredietlimiet en betalingsvoorwaarden,
Additional information regarding the customer.,Aanvullende informatie over de klant.,
Sales Partner and Commission,Sales Partner en de Commissie,
Commission Rate,Commissie Rate,
Sales Team Details,Verkoop Team Details,
Customer POS id,Klant POS-ID,
Customer Credit Limit,Kredietlimiet klant,
Bypass Credit Limit Check at Sales Order,Creditlimietcontrole overslaan op klantorder,
Industry Type,Industrie Type,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Installatie Datum,
Installation Time,Installatie Tijd,
Installation Note Item,Installatie Opmerking Item,
Installed Qty,Aantal geïnstalleerd,
Lead Source,Lead Bron,
Period Start Date,Begindatum van de periode,
Period End Date,Periode Einddatum,
Cashier,Kassa,
Difference,Verschil,
Modes of Payment,Wijze van betaling,
Linked Invoices,Gelinkte facturen,
POS Closing Voucher Details,POS-sluitingsbondetails,
Collected Amount,Verzameld bedrag,
Expected Amount,Verwacht bedrag,
POS Closing Voucher Invoices,POS Closing Voucher Facturen,
Quantity of Items,Hoeveelheid items,
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Aggregate groep ** Items ** in een ander ** Item **. Dit is handig als u bundelen een bepaald ** Items ** in een pakket en je onderhouden voorraad van de verpakte ** Items ** en niet de totale ** Item **. Het pakket ** Item ** zal hebben &quot;Is Stock Item&quot; als &quot;Nee&quot; en &quot;Is Sales Item&quot; als &quot;Ja&quot;. Bijvoorbeeld: Als u verkoopt laptops en rugzakken los en hebben een speciale prijs als de klant beide koopt, dan is de laptop + rugzak zal een nieuw product Bundel Item zijn. Opmerking: BOM = stuklijst",
Parent Item,Bovenliggend Artikel,
List items that form the package.,Lijst items die het pakket vormen.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Offerte Voor,
Rate at which customer's currency is converted to company's base currency,Koers waarmee de Klant Valuta wordt omgerekend naar de basis bedrijfsvaluta,
Rate at which Price list currency is converted to company's base currency,Koers waarmee Prijslijst valuta wordt omgerekend naar de basis bedrijfsvaluta,
Additional Discount and Coupon Code,Extra korting en couponcode,
Referral Sales Partner,Verwijzende verkooppartner,
In Words will be visible once you save the Quotation.,In Woorden zijn zichtbaar zodra u de Offerte opslaat.,
Term Details,Voorwaarde Details,
Quotation Item,Offerte Artikel,
Against Doctype,Tegen Doctype,
Against Docname,Tegen Docname,
Additional Notes,extra notities,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Afleverbon overslaan,
In Words will be visible once you save the Sales Order.,In Woorden zijn zichtbaar zodra u de Verkooporder opslaat.,
Track this Sales Order against any Project,Volg dit Verkooporder tegen elke Project,
Billing and Delivery Status,Factuur- en leverstatus,
Not Delivered,Niet geleverd,
Fully Delivered,Volledig geleverd,
Partly Delivered,Deels geleverd,
Not Applicable,Niet van toepassing,
%  Delivered,% Geleverd,
% of materials delivered against this Sales Order,% van de geleverde materialen voor deze verkooporder,
% of materials billed against this Sales Order,% van de materialen in rekening gebracht voor deze Verkooporder,
Not Billed,Niet in rekening gebracht,
Fully Billed,Volledig gefactureerd,
Partly Billed,Deels Gefactureerd,
Ensure Delivery Based on Produced Serial No,Zorgen voor levering op basis van geproduceerd serienummer,
Supplier delivers to Customer,Leverancier levert aan de Klant,
Delivery Warehouse,Levering magazijn,
Planned Quantity,Gepland Aantal,
For Production,Voor Productie,
Work Order Qty,Werkorder aantal,
Produced Quantity,Geproduceerd Aantal,
Used for Production Plan,Gebruikt voor Productie Plan,
Sales Partner Type,Type verkooppartner,
Contact No.,Contact Nr,
Contribution (%),Bijdrage (%),
Contribution to Net Total,Bijdrage aan Netto Totaal,
Selling Settings,Verkoop Instellingen,
Settings for Selling Module,Instellingen voor het verkopen van Module,
Customer Naming By,Klant Naming Door,
Campaign Naming By,Campagnenaam gegeven door,
Default Customer Group,Standaard Klant Groep,
Default Territory,Standaard Regio,
Close Opportunity After Days,Sluiten Opportunity Na Days,
Default Quotation Validity Days,Standaard prijsofferte dagen,
Sales Update Frequency,Frequentie van verkoopupdates,
Each Transaction,Elke transactie,
SMS Center,SMS Center,
Send To,Verzenden naar,
All Contact,Alle Contact,
All Customer Contact,Alle Customer Contact,
All Supplier Contact,Alle Leverancier Contact,
All Sales Partner Contact,Alle Sales Partner Contact,
All Lead (Open),Alle Leads (Open),
All Employee (Active),Alle medewerkers (Actief),
All Sales Person,Alle Sales Person,
Create Receiver List,Maak Ontvanger Lijst,
Receiver List,Ontvanger Lijst,
Messages greater than 160 characters will be split into multiple messages,Bericht van meer dan 160 tekens worden opgesplitst in meerdere berichten,
Total Characters,Totaal Tekens,
Total Message(s),Totaal Bericht(en),
Authorization Control,Autorisatie controle,
Authorization Rule,Autorisatie Rule,
Average Discount,Gemiddelde korting,
Customerwise Discount,Klantgebaseerde Korting,
Itemwise Discount,Artikelgebaseerde Korting,
Customer or Item,Klant of Item,
Customer / Item Name,Klant / Naam van het punt,
Authorized Value,Authorized Value,
Applicable To (Role),Van toepassing zijn op (Rol),
Applicable To (Employee),Van toepassing zijn op (Werknemer),
Applicable To (User),Van toepassing zijn op (Gebruiker),
Applicable To (Designation),Van toepassing zijn op (Benaming),
Approving Role (above authorized value),Goedkeuren Rol (boven de toegestane waarde),
Approving User  (above authorized value),Goedkeuren gebruiker (boven de toegestane waarde),
Brand Defaults,Standaardwaarden van het merk,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Rechtspersoon / Dochteronderneming met een aparte Rekeningschema behoren tot de Organisatie.,
Change Abbreviation,Afkorting veranderen,
Parent Company,Moeder bedrijf,
Default Values,Standaard Waarden,
Default Holiday List,Standaard Vakantiedagen Lijst,
Default Selling Terms,Standaard verkoopvoorwaarden,
Default Buying Terms,Standaard koopvoorwaarden,
Create Chart Of Accounts Based On,Maak rekeningschema op basis van,
Standard Template,Standard Template,
Existing Company,Bestaand bedrijf,
Chart Of Accounts Template,Rekeningschema Template,
Existing Company ,bestaande Company,
Date of Establishment,datum van oprichting,
Sales Settings,Verkoopinstellingen,
Monthly Sales Target,Maandelijks verkooppunt,
Sales Monthly History,Verkoop Maandelijkse Geschiedenis,
Transactions Annual History,Transacties Jaaroverzicht,
Total Monthly Sales,Totale maandelijkse omzet,
Default Cash Account,Standaard Kasrekening,
Default Receivable Account,Standaard Vordering Account,
Round Off Cost Center,Afronden kostenplaats,
Discount Allowed Account,Korting toegestaan account,
Discount Received Account,Korting ontvangen account,
Exchange Gain / Loss Account,Exchange winst / verliesrekening,
Unrealized Exchange Gain/Loss Account,Ongerealiseerde Exchange-winst / verliesrekening,
Allow Account Creation Against Child Company,Account aanmaken tegen kinderbedrijf toestaan,
Default Payable Account,Standaard Payable Account,
Default Employee Advance Account,Standaard Employee Advance Account,
Default Cost of Goods Sold Account,Standaard kosten van verkochte goederen Account,
Default Income Account,Standaard Inkomstenrekening,
Default Deferred Revenue Account,Standaard uitgestelde inkomstenrekening,
Default Deferred Expense Account,Standaard Uitgesteld Kostenrekening,
Default Payroll Payable Account,Default Payroll Payable Account,
Default Expense Claim Payable Account,Standaard onkostendeclaratie,
Stock Settings,Voorraad Instellingen,
Enable Perpetual Inventory,Perpetual Inventory inschakelen,
Default Inventory Account,Standaard Inventaris Account,
Stock Adjustment Account,Voorraad Aanpassing Rekening,
Fixed Asset Depreciation Settings,Fixed Asset Afschrijvingen Instellingen,
Series for Asset Depreciation Entry (Journal Entry),Serie voor de afschrijving van de waardevermindering,
Gain/Loss Account on Asset Disposal,Winst / verliesrekening op de verkoop van activa,
Asset Depreciation Cost Center,Asset Afschrijvingen kostenplaats,
Budget Detail,Budget Detail,
Exception Budget Approver Role,Uitzondering Budget Approver Role,
Company Info,Bedrijfsinformatie,
For reference only.,Alleen voor referentie.,
Company Logo,Bedrijfslogo,
Date of Incorporation,Datum van oprichting,
Date of Commencement,Aanvangsdatum,
Phone No,Telefoonnummer,
Company Description,bedrijfsomschrijving,
Registration Details,Registratie Details,
Company registration numbers for your reference. Tax numbers etc.,"Registratienummers van de onderneming voor uw referentie. Fiscale nummers, enz.",
Delete Company Transactions,Verwijder Company Transactions,
Currency Exchange,Wisselkoersen,
Specify Exchange Rate to convert one currency into another,Specificeer Wisselkoers om een valuta om te zetten in een andere,
From Currency,Van Valuta,
To Currency,Naar Valuta,
For Buying,Om te kopen,
For Selling,Om te verkopen,
Customer Group Name,Klant Groepsnaam,
Parent Customer Group,Bovenliggende klantgroep,
Only leaf nodes are allowed in transaction,Alleen leaf nodes zijn toegestaan in transactie,
Mention if non-standard receivable account applicable,Vermeld als niet-standaard te ontvangen houdend met de toepasselijke,
Credit Limits,Kredietlimieten,
Email Digest,E-mail Digest,
Send regular summary reports via Email.,Stuur regelmatige samenvattende rapporten via e-mail.,
Email Digest Settings,E-mail Digest Instellingen,
How frequently?,Hoe vaak?,
Next email will be sent on:,Volgende e-mail wordt verzonden op:,
Note: Email will not be sent to disabled users,Opmerking: E-mail wordt niet verzonden naar uitgeschakelde gebruikers,
Profit & Loss,Verlies,
New Income,nieuwe Inkomen,
New Expenses,nieuwe Uitgaven,
Annual Income,Jaarlijks inkomen,
Annual Expenses,jaarlijkse kosten,
Bank Balance,Banksaldo,
Bank Credit Balance,Bankkredietsaldo,
Receivables,Debiteuren,
Payables,Schulden,
Sales Orders to Bill,Verkooporders aan Bill,
Purchase Orders to Bill,Inkooporders voor Bill,
New Sales Orders,Nieuwe Verkooporders,
New Purchase Orders,Nieuwe Inkooporders,
Sales Orders to Deliver,Verkooporders om te bezorgen,
Purchase Orders to Receive,Inkooporders om te ontvangen,
New Purchase Invoice,Nieuwe inkoopfactuur,
New Quotations,Nieuwe Offertes,
Open Quotations,Open offertes,
Open Issues,Open problemen,
Open Projects,Open projecten,
Purchase Orders Items Overdue,Inwisselorders worden achterhaald,
Upcoming Calendar Events,Aankomende agenda-evenementen,
Open To Do,Open om te doen,
Add Quote,Quote voegen,
Global Defaults,Global Standaardwaarden,
Default Company,Standaard Bedrijf,
Current Fiscal Year,Huidige fiscale jaar,
Default Distance Unit,Standaard afstandseenheid,
Hide Currency Symbol,Verberg Valutasymbool,
Do not show any symbol like $ etc next to currencies.,"Vertoon geen symbool zoals $, enz. naast valuta.",
"If disable, 'Rounded Total' field will not be visible in any transaction","Indien uitgevinkt, zal het 'Afgerond Totaal' veld niet zichtbaar zijn in een transactie",
Disable In Words,Uitschakelen In Woorden,
"If disable, 'In Words' field will not be visible in any transaction","Als uitschakelen, &#39;In de woorden&#39; veld niet zichtbaar in elke transactie",
Item Classification,Item Classificatie,
General Settings,Algemene Instellingen,
Item Group Name,Artikel groepsnaam,
Parent Item Group,Bovenliggende Artikelgroep,
Item Group Defaults,Artikelgroep standaardinstellingen,
Item Tax,Artikel Belasting,
Check this if you want to show in website,Aanvinken om weer te geven op de website,
Show this slideshow at the top of the page,Laat deze slideshow aan de bovenkant van de pagina,
HTML / Banner that will show on the top of product list.,HTML / Banner dat zal laten zien op de bovenkant van het product lijst.,
Set prefix for numbering series on your transactions,Instellen voorvoegsel voor nummerreeksen voor uw transacties,
Setup Series,Instellen Reeksen,
Select Transaction,Selecteer Transactie,
Help HTML,Help HTML,
Series List for this Transaction,Reeks voor deze transactie,
User must always select,Gebruiker moet altijd kiezen,
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Controleer dit als u wilt dwingen de gebruiker om een reeks voor het opslaan te selecteren. Er zal geen standaard zijn als je dit controleren.,
Update Series,Reeksen bijwerken,
Change the starting / current sequence number of an existing series.,Wijzig het start-/ huidige volgnummer van een bestaande serie.,
Prefix,Voorvoegsel,
Current Value,Huidige waarde,
This is the number of the last created transaction with this prefix,Dit is het nummer van de laatst gemaakte transactie met dit voorvoegsel,
Update Series Number,Serienummer bijwerken,
Quotation Lost Reason,Reden verlies van Offerte,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Een derde partij distributeur / dealer / commissionair / affiliate / reseller die uw producten voor een commissie verkoopt.,
Sales Partner Name,Verkoop Partner Naam,
Partner Type,Partner Type,
Address & Contacts,Adres & Contacten,
Address Desc,Adres Omschr,
Contact Desc,Contact Omschr,
Sales Partner Target,Verkoop Partner Doel,
Targets,Doelen,
Show In Website,Toon in Website,
Referral Code,Verwijzingscode,
To Track inbound purchase,Inkomende aankopen volgen,
Logo,Logo,
Partner website,partner website,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Alle Verkoop Transacties kunnen worden gelabeld tegen meerdere ** Sales Personen **, zodat u kunt instellen en controleren doelen.",
Name and Employee ID,Naam en Werknemer ID,
Sales Person Name,Verkoper Naam,
Parent Sales Person,Parent Sales Person,
Select company name first.,Kies eerst een bedrijfsnaam.,
Sales Person Targets,Verkoper Doelen,
Set targets Item Group-wise for this Sales Person.,Set richt Item Group-wise voor deze verkoper.,
Supplier Group Name,Naam Leveranciergroep,
Parent Supplier Group,Parent Supplier Group,
Target Detail,Doel Detail,
Target Qty,Doel Aantal,
Target  Amount,Streefbedrag,
Target Distribution,Doel Distributie,
"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Algemene Voorwaarden die kunnen worden toegevoegd aan de verkopen en aankopen.\n\n Voorbeelden: \n\n 1. Geldigheid van het aanbod.\n 1. Betalingscondities (In Advance, op krediet, een deel vooraf etc).\n 1. Wat is extra (of ten laste van de Klant).\n 1. Veiligheid / gebruik waarschuwing.\n 1. Garantie indien van toepassing.\n 1. Returns Policy '.\n 1. Termen van de scheepvaart, indien van toepassing.\n 1. Methoden voor het aanpakken geschillen, schadevergoeding, aansprakelijkheid, enz. \n 1. Adres en contactgegevens van uw bedrijf.",
Applicable Modules,Toepasselijke modules,
Terms and Conditions Help,Voorwaarden Help,
Classification of Customers by region,Indeling van de klanten per regio,
Territory Name,Regio Naam,
Parent Territory,Bovenliggende Regio,
Territory Manager,Regio Manager,
For reference,Ter referentie,
Territory Targets,Regio Doelen,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Set Item Group-wise budgetten op dit gebied. U kunt ook seizoensinvloeden door de Distribution.,
UOM Name,Eenheid Naam,
Check this to disallow fractions. (for Nos),Aanvinken om delingen te verbieden.,
Website Item Group,Website Artikel Groep,
Cross Listing of Item in multiple groups,Kruis Notering van Punt in meerdere groepen,
Default settings for Shopping Cart,Standaardinstellingen voor Winkelwagen,
Enable Shopping Cart,Inschakelen Winkelwagen,
Display Settings,Toon Instellingen,
Show Public Attachments,Publieke bijlagen tonen,
Show Price,Toon prijs,
Show Stock Availability,Voorraadbeschikbaarheid tonen,
Show Contact Us Button,Toon contact knop,
Show Stock Quantity,Voorraadhoeveelheid weergeven,
Show Apply Coupon Code,Toon kortingscode toepassen,
Allow items not in stock to be added to cart,Toestaan dat artikelen die niet op voorraad zijn aan winkelwagen worden toegevoegd,
Prices will not be shown if Price List is not set,De prijzen zullen niet worden weergegeven als prijslijst niet is ingesteld,
Quotation Series,Offerte Series,
Checkout Settings,Afrekenen Instellingen,
Enable Checkout,inschakelen Afrekenen,
Payment Success Url,Betaling Succes URL,
After payment completion redirect user to selected page.,Na betaling voltooiing omleiden gebruiker geselecteerde pagina.,
Batch Details,Batchgegevens,
Batch ID,Partij ID,
image,beeld,
Parent Batch,Ouderlijk Batch,
Manufacturing Date,Fabricage datum,
Batch Quantity,Batchhoeveelheid,
Batch UOM,Batch maateenheid,
Source Document Type,Bron Document Type,
Source Document Name,Bron Document Naam,
Batch Description,Batch Beschrijving,
Bin,Bak,
Reserved Quantity,Gereserveerde Hoeveelheid,
Actual Quantity,Werkelijke hoeveelheid,
Requested Quantity,gevraagde hoeveelheid,
Reserved Qty for sub contract,Gereserveerde hoeveelheid voor subcontract,
Moving Average Rate,Moving Average Rate,
FCFS Rate,FCFS Rate,
Customs Tariff Number,Douanetariefnummer,
Tariff Number,tarief Aantal,
Delivery To,Leveren Aan,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,Is Return,
Issue Credit Note,Kredietnota uitgifte,
Return Against Delivery Note,Terug Tegen Delivery Note,
Customer's Purchase Order No,Inkoopordernummer van Klant,
Billing Address Name,Factuuradres Naam,
Required only for sample item.,Alleen benodigd voor Artikelmonster.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Als u een standaard template in Sales en -heffingen Template hebt gemaakt, selecteert u een en klik op de knop hieronder.",
In Words will be visible once you save the Delivery Note.,In Woorden zijn zichtbaar zodra u de vrachtbrief opslaat.,
In Words (Export) will be visible once you save the Delivery Note.,In woorden (Export) wordt zichtbaar zodra u de vrachtbrief opslaat.,
Transporter Info,Vervoerder Info,
Driver Name,Naam van de bestuurder,
Track this Delivery Note against any Project,Track this Delivery Note against any Project,
Inter Company Reference,Inter Company Reference,
Print Without Amount,Printen zonder Bedrag,
% Installed,% Geïnstalleerd,
% of materials delivered against this Delivery Note,% van de geleverde materialen voor deze Vrachtbrief,
Installation Status,Installatie Status,
Excise Page Number,Accijnzen Paginanummer,
Instructions,Instructies,
From Warehouse,Van Warehouse,
Against Sales Order,Tegen klantorder,
Against Sales Order Item,Tegen Sales Order Item,
Against Sales Invoice,Tegen Sales Invoice,
Against Sales Invoice Item,Tegen Sales Invoice Item,
Available Batch Qty at From Warehouse,Beschikbaar Aantal Batch bij Van Warehouse,
Available Qty at From Warehouse,Aantal beschikbaar bij Van Warehouse,
Delivery Settings,Bezorginstellingen,
Dispatch Settings,Verzendinstellingen,
Dispatch Notification Template,Berichtensjabloon voor verzending,
Dispatch Notification Attachment,Verzendingsmeldingsbijlage,
Leave blank to use the standard Delivery Note format,Laat dit leeg om de standaardindeling Notities te gebruiken,
Send with Attachment,Verzenden met bijlage,
Delay between Delivery Stops,Vertraging tussen leveringstops,
Delivery Stop,Levering Stop,
Lock,Slot,
Visited,Bezocht,
Order Information,order informatie,
Contact Information,Contactgegevens,
Email sent to,Email verzonden naar,
Dispatch Information,Verzendinformatie,
Estimated Arrival,Geschatte aankomst,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,E-mailkennisgeving verzonden,
Delivery Details,Levering Details,
Driver Email,E-mail stuurprogramma,
Driver Address,Bestuurdersadres,
Total Estimated Distance,Totale geschatte afstand,
Distance UOM,Afstand UOM,
Departure Time,Vertrektijd,
Delivery Stops,Levering stopt,
Calculate Estimated Arrival Times,Bereken geschatte aankomsttijden,
Use Google Maps Direction API to calculate estimated arrival times,Gebruik Google Maps Direction API om geschatte aankomsttijden te berekenen,
Optimize Route,Route optimaliseren,
Use Google Maps Direction API to optimize route,Gebruik Google Maps Direction API om de route te optimaliseren,
In Transit,Onderweg,
Fulfillment User,Vervul gebruiker,
"A Product or a Service that is bought, sold or kept in stock.","Een Product of een Dienst dat wordt gekocht, verkocht of in voorraad wordt gehouden.",
STO-ITEM-.YYYY.-,STO-ITEM-.YYYY.-,
Variant Of,Variant van,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Als artikel is een variant van een ander item dan beschrijving, afbeelding, prijzen, belastingen etc zal worden ingesteld van de sjabloon, tenzij expliciet vermeld",
Is Item from Hub,Is item van Hub,
Default Unit of Measure,Standaard Eenheid,
Maintain Stock,Handhaaf Stock,
Standard Selling Rate,Standard Selling Rate,
Auto Create Assets on Purchase,Activa automatisch aanmaken bij aankoop,
Asset Naming Series,Asset Naming Series,
Over Delivery/Receipt Allowance (%),Overlevering / ontvangsttoeslag (%),
Barcodes,Barcodes,
Shelf Life In Days,Houdbaarheid in dagen,
End of Life,End of Life,
Default Material Request Type,Standaard Materiaal Request Type,
Valuation Method,Waardering Methode,
FIFO,FIFO,
Moving Average,Moving Average,
Warranty Period (in days),Garantieperiode (in dagen),
Auto re-order,Auto re-order,
Reorder level based on Warehouse,Bestelniveau gebaseerd op Warehouse,
Will also apply for variants unless overrridden,Geldt ook voor varianten tenzij overrridden,
Units of Measure,Meeteenheden,
Will also apply for variants,Geldt ook voor varianten,
Serial Nos and Batches,Serienummers en batches,
Has Batch No,Heeft Batch nr.,
Automatically Create New Batch,Maak automatisch een nieuwe partij aan,
Batch Number Series,Batchnummerserie,
"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Voorbeeld: ABCD. #####. Als reeks is ingesteld en Batch-nummer niet in transacties wordt vermeld, wordt op basis van deze reeks automatisch batchnummer gemaakt. Als u Batch-nummer voor dit artikel altijd expliciet wilt vermelden, laat dit veld dan leeg. Opmerking: deze instelling heeft voorrang boven het voorvoegsel Naamgevingsreeks in Voorraadinstellingen.",
Has Expiry Date,Heeft vervaldatum,
Retain Sample,Bewaar monster,
Max Sample Quantity,Max. Aantal monsters,
Maximum sample quantity that can be retained,Maximum aantal monsters dat kan worden bewaard,
Has Serial No,Heeft Serienummer,
Serial Number Series,Serienummer Reeksen,
"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Voorbeeld: ABCD.##### Als reeks is ingesteld en het serienummer is niet vermeld in een transactie, dan zal een serienummer automatisch worden aangemaakt, op basis van deze reeks. Als u altijd expliciet een serienummer wilt vemelden voor dit artikel bij een transatie, laat dan dit veld leeg.",
Variants,Varianten,
Has Variants,Heeft Varianten,
"If this item has variants, then it cannot be selected in sales orders etc.","Als dit item heeft varianten, dan kan het niet worden geselecteerd in verkooporders etc.",
Variant Based On,Variant gebaseerd op,
Item Attribute,Item Attribute,
"Sales, Purchase, Accounting Defaults","Verkoop, Aankoop, Accountingstandaards",
Item Defaults,Standaard instellingen,
"Purchase, Replenishment Details","Aankoop, aanvulgegevens",
Is Purchase Item,Is inkoopartikel,
Default Purchase Unit of Measure,Standaard aankoopeenheid van maatregel,
Minimum Order Qty,Minimum bestel aantal,
Minimum quantity should be as per Stock UOM,Minimale hoeveelheid moet zijn per voorraad UOM,
Average time taken by the supplier to deliver,De gemiddelde tijd die door de leverancier te leveren,
Is Customer Provided Item,Is door de klant verstrekt artikel,
Delivered by Supplier (Drop Ship),Geleverd door Leverancier (Drop Ship),
Supplier Items,Leverancier Artikelen,
Foreign Trade Details,Buitenlandse Handel Details,
Country of Origin,Land van herkomst,
Sales Details,Verkoop Details,
Default Sales Unit of Measure,Standaard Verkoopeenheid van Maatregel,
Is Sales Item,Is verkoopartikel,
Max Discount (%),Max Korting (%),
No of Months,No of Months,
Customer Items,Klant Items,
Inspection Criteria,Inspectie Criteria,
Inspection Required before Purchase,Inspectie vereist voordat Purchase,
Inspection Required before Delivery,Inspectie vereist voordat Delivery,
Default BOM,Standaard Stuklijst,
Supply Raw Materials for Purchase,Supply Grondstoffen voor Aankoop,
If subcontracted to a vendor,Als uitbesteed aan een leverancier,
Customer Code,Klantcode,
Default Item Manufacturer,Standaarditemfabrikant,
Default Manufacturer Part No,Standaard fabrikant onderdeelnr,
Show in Website (Variant),Show in Website (Variant),
Items with higher weightage will be shown higher,Items met een hogere weightage hoger zal worden getoond,
Show a slideshow at the top of the page,Laat een diavoorstelling zien aan de bovenkant van de pagina,
Website Image,Website afbeelding,
Website Warehouse,Website Magazijn,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Toon &quot;Op voorraad&quot; of &quot;Niet op voorraad&quot; op basis van de beschikbare voorraad in dit magazijn.,
Website Item Groups,Website Artikelgroepen,
List this Item in multiple groups on the website.,Lijst deze post in meerdere groepen op de website.,
Copy From Item Group,Kopiëren van Item Group,
Website Content,Website inhoud,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,U kunt in dit veld elke geldige Bootstrap 4-opmaak gebruiken. Het wordt getoond op uw itempagina.,
Total Projected Qty,Totale geraamde Aantal,
Hub Publishing Details,Hub publicatie details,
Publish in Hub,Publiceren in Hub,
Publish Item to hub.erpnext.com,Publiceer Item om hub.erpnext.com,
Hub Category to Publish,Hubcategorie om te publiceren,
Hub Warehouse,Hub Warehouse,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Publiceer &#39;In voorraad&#39; of &#39;Niet op voorraad&#39; op Hub op basis van de voorraad die beschikbaar is in dit magazijn.,
Synced With Hub,Gesynchroniseerd met Hub,
Item Alternative,Artikelalternatief,
Alternative Item Code,Alternatieve artikelcode,
Two-way,Tweezijdig,
Alternative Item Name,Alternatieve artikelnaam,
Attribute Name,Attribuutnaam,
Numeric Values,Numerieke waarden,
From Range,Van Range,
Increment,Aanwas,
To Range,Om Bereik,
Item Attribute Values,Item Attribuutwaarden,
Item Attribute Value,Item Atribuutwaarde,
Attribute Value,Eigenschap Waarde,
Abbreviation,Afkorting,
"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Dit zal worden toegevoegd aan de Code van het punt van de variant. Bijvoorbeeld, als je de afkorting is ""SM"", en de artikelcode is ""T-SHIRT"", de artikelcode van de variant zal worden ""T-SHIRT-SM""",
Item Barcode,Artikel Barcode,
Barcode Type,Streepjescodetype,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Artikel Klant Details,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Voor het gemak van de klanten, kunnen deze codes worden gebruikt in gedrukte formaten zoals facturen en de leveringsbonnen",
Ref Code,Ref Code,
Item Default,Item Standaard,
Purchase Defaults,Koop standaardinstellingen,
Default Buying Cost Center,Standaard Inkoop kostenplaats,
Default Supplier,Standaardleverancier,
Default Expense Account,Standaard Kostenrekening,
Sales Defaults,Standaard verkoopwaarden,
Default Selling Cost Center,Standaard Verkoop kostenplaats,
Item Manufacturer,Item Manufacturer,
Item Price,Artikelprijs,
Packing Unit,Verpakkingseenheid,
Quantity  that must be bought or sold per UOM,Hoeveelheid die per UOM moet worden gekocht of verkocht,
Item Quality Inspection Parameter,Artikel Kwaliteitsinspectie Parameter,
Acceptance Criteria,Acceptatiecriteria,
Item Reorder,Artikel opnieuw ordenen,
Check in (group),Check-in (groeps),
Request for,Verzoek tot,
Re-order Level,Re-order Niveau,
Re-order Qty,Re-order Aantal,
Item Supplier,Artikel Leverancier,
Item Variant,Artikel Variant,
Item Variant Attribute,Artikel Variant Kenmerk,
Do not update variants on save,Wijzig geen varianten bij opslaan,
Fields will be copied over only at time of creation.,Velden worden alleen gekopieerd op het moment van creatie.,
Allow Rename Attribute Value,Toestaan Rename attribuutwaarde toestaan,
Rename Attribute Value in Item Attribute.,Kenmerkwaarde in itemkenmerk wijzigen.,
Copy Fields to Variant,Kopieer velden naar variant,
Item Website Specification,Artikel Website Specificatie,
Table for Item that will be shown in Web Site,Tafel voor post die in Web Site zal worden getoond,
Landed Cost Item,Vrachtkosten Artikel,
Receipt Document Type,Ontvangst Document Type,
Receipt Document,ontvangst Document,
Applicable Charges,Toepasselijke kosten,
Purchase Receipt Item,Ontvangstbevestiging Artikel,
Landed Cost Purchase Receipt,Vrachtkosten Inkoop Ontvangstbewijs,
Landed Cost Taxes and Charges,Vrachtkosten belastingen en toeslagen,
Landed Cost Voucher,Vrachtkosten Voucher,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Aankoopfacturen,
Purchase Receipt Items,Ontvangstbevestiging Artikelen,
Get Items From Purchase Receipts,Krijg items uit Aankoopfacturen,
Distribute Charges Based On,Verdeel Toeslagen op basis van,
Landed Cost Help,Vrachtkosten Help,
Manufacturers used in Items,Fabrikanten gebruikt in Items,
Limited to 12 characters,Beperkt tot 12 tekens,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Partially Ordered,Gedeeltelijk besteld,
Transferred,overgedragen,
% Ordered,% Besteld,
Terms and Conditions Content,Algemene Voorwaarden Inhoud,
Quantity and Warehouse,Hoeveelheid en magazijn,
Lead Time Date,Lead Tijd Datum,
Min Order Qty,Minimum Aantal,
Packed Item,Levering Opmerking Verpakking Item,
To Warehouse (Optional),Om Warehouse (optioneel),
Actual Batch Quantity,Werkelijke batchhoeveelheid,
Prevdoc DocType,Prevdoc DocType,
Parent Detail docname,Bovenliggende Detail docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Genereren van pakbonnen voor pakketten te leveren. Gebruikt voor pakket nummer, inhoud van de verpakking en het gewicht te melden.",
Indicates that the package is a part of this delivery (Only Draft),Geeft aan dat het pakket een onderdeel is van deze levering (alleen ontwerp),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Van Pakket No,
Identification of the package for the delivery (for print),Identificatie van het pakket voor de levering (voor afdrukken),
To Package No.,Naar pakket nr,
If more than one package of the same type (for print),Als er meer dan een pakket van hetzelfde type (voor afdrukken),
Package Weight Details,Pakket gewicht details,
The net weight of this package. (calculated automatically as sum of net weight of items),Het nettogewicht van dit pakket. (Wordt automatisch berekend als de som van de netto-gewicht van de artikelen),
Net Weight UOM,Netto Gewicht Eenheid,
Gross Weight,Bruto Gewicht,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Het bruto gewicht van het pakket. Meestal nettogewicht + verpakkingsmateriaal gewicht. (Voor afdrukken),
Gross Weight UOM,Bruto Gewicht Eenheid,
Packing Slip Item,Pakbon Artikel,
DN Detail,DN Detail,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Materiaal Verplaatsing voor Productie,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Het aantal grondstoffen wordt bepaald op basis van het aantal van het gereed product,
Parent Warehouse,Parent Warehouse,
Items under this warehouse will be suggested,Items onder dit magazijn worden voorgesteld,
Get Item Locations,Zoek itemlocaties,
Item Locations,Artikellocaties,
Pick List Item,Keuzelijstitem,
Picked Qty,Gekozen aantal,
Price List Master,Prijslijst Master,
Price List Name,Prijslijst Naam,
Price Not UOM Dependent,Prijs niet UOM afhankelijk,
Applicable for Countries,Toepasselijk voor Landen,
Price List Country,Prijslijst Land,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Leveranciersleveringsnota,
Time at which materials were received,Tijdstip waarop materialen zijn ontvangen,
Return Against Purchase Receipt,Terug Tegen Aankoop Receipt,
Rate at which supplier's currency is converted to company's base currency,Koers waarmee de leverancier valuta wordt omgerekend naar de basis bedrijfsvaluta,
Sets 'Accepted Warehouse' in each row of the items table.,Stelt &#39;Geaccepteerd magazijn&#39; in in elke rij van de itemtabel.,
Sets 'Rejected Warehouse' in each row of the items table.,Stelt &#39;Rejected Warehouse&#39; in elke rij van de itemtabel in.,
Raw Materials Consumed,Verbruikte grondstoffen,
Get Current Stock,Get Huidige voorraad,
Consumed Items,Verbruikte artikelen,
Add / Edit Taxes and Charges,Toevoegen / Bewerken Belastingen en Heffingen,
Auto Repeat Detail,Detail van automatische herhaling,
Transporter Details,Transporter Details,
Vehicle Number,Voertuig Aantal,
Vehicle Date,Voertuiggegegevns,
Received and Accepted,Ontvangen en geaccepteerd,
Accepted Quantity,Geaccepteerd Aantal,
Rejected Quantity,Afgewezen Aantal,
Accepted Qty as per Stock UOM,Geaccepteerde hoeveelheid volgens voorraadeenheid,
Sample Quantity,Monsterhoeveelheid,
Rate and Amount,Tarief en Bedrag,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Rapport datum,
Inspection Type,Inspectie Type,
Item Serial No,Artikel Serienummer,
Sample Size,Monster grootte,
Inspected By,Geïnspecteerd door,
Readings,Lezingen,
Quality Inspection Reading,Kwaliteitscontrole Meting,
Reading 1,Meting 1,
Reading 2,Meting 2,
Reading 3,Meting 3,
Reading 4,Meting 4,
Reading 5,Meting 5,
Reading 6,Meting 6,
Reading 7,Meting 7,
Reading 8,Meting 8,
Reading 9,Meting 9,
Reading 10,Meting 10,
Quality Inspection Template Name,Kwaliteit inspectiesjabloon naam,
Quick Stock Balance,Snelle voorraadbalans,
Available Quantity,beschikbare kwaliteit,
Distinct unit of an Item,Aanwijsbare eenheid van een Artikel,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazijn kan alleen via Voorraad Invoer / Vrachtbrief / Ontvangstbewijs worden veranderd,
Purchase / Manufacture Details,Inkoop / Productie Details,
Creation Document Type,Aanmaken Document type,
Creation Document No,Aanmaken Document nr,
Creation Date,Aanmaakdatum,
Creation Time,Aanmaaktijd,
Asset Details,Activadetails,
Asset Status,Activumstatus,
Delivery Document Type,Levering Soort document,
Delivery Document No,Leveringsdocument nr.,
Delivery Time,Levertijd,
Invoice Details,Factuurgegevens,
Warranty / AMC Details,Garantie / AMC Details,
Warranty Expiry Date,Garantie Vervaldatum,
AMC Expiry Date,AMC Vervaldatum,
Under Warranty,Binnen Garantie,
Out of Warranty,Uit de garantie,
Under AMC,Onder AMC,
Out of AMC,Uit AMC,
Warranty Period (Days),Garantieperiode (dagen),
Serial No Details,Serienummer Details,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Type voorraadinvoer,
Stock Entry (Outward GIT),Voorraadinvoer (uitgaande GIT),
Material Consumption for Manufacture,Materiaalverbruik voor productie,
Repack,Herverpakken,
Send to Subcontractor,Verzenden naar onderaannemer,
Delivery Note No,Vrachtbrief Nr,
Sales Invoice No,Verkoopfactuur nr.,
Purchase Receipt No,Ontvangstbevestiging nummer,
Inspection Required,Inspectie Verplicht,
From BOM,Van BOM,
For Quantity,Voor Aantal,
As per Stock UOM,Per Stock Verpakking,
Including items for sub assemblies,Inclusief items voor sub assemblies,
Default Source Warehouse,Standaard Bronmagazijn,
Source Warehouse Address,Bron magazijnadres,
Default Target Warehouse,Standaard Doelmagazijn,
Target Warehouse Address,Target Warehouse Address,
Update Rate and Availability,Update snelheid en beschikbaarheid,
Total Incoming Value,Totaal Inkomende Waarde,
Total Outgoing Value,Totaal uitgaande waardeoverdrachten,
Total Value Difference (Out - In),Totale waarde Verschil (Out - In),
Additional Costs,Bijkomende kosten,
Total Additional Costs,Totaal Bijkomende kosten,
Customer or Supplier Details,Klant of leverancier Details,
Per Transferred,Per overgedragen,
Stock Entry Detail,Voorraadtransactie Detail,
Basic Rate (as per Stock UOM),Basistarief (per eenheid),
Basic Amount,Basisbedrag,
Additional Cost,Bijkomende kosten,
Serial No / Batch,Serienummer / Batch,
BOM No. for a Finished Good Item,Stuklijst nr voor een Gereed Product Artikel,
Material Request used to make this Stock Entry,Materiaal Aanvraag is gebruikt om deze Voorraad  Entry te maken,
Subcontracted Item,Object in onderaanneming,
Against Stock Entry,Tegen aandeleninvoer,
Stock Entry Child,Stock Entry Kind,
PO Supplied Item,PO Geleverd item,
Reference Purchase Receipt,Referentie aankoopontvangst,
Stock Ledger Entry,Voorraad Dagboek post,
Outgoing Rate,Uitgaande Rate,
Actual Qty After Transaction,Werkelijke Aantal Na Transactie,
Stock Value Difference,Voorraad Waarde Verschil,
Stock Queue (FIFO),Voorraad rij (FIFO),
Is Cancelled,Is Geannuleerd,
Stock Reconciliation,Voorraad Aflettering,
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Deze tool helpt u om te werken of te repareren de hoeveelheid en de waardering van de voorraad in het systeem. Het wordt meestal gebruikt om het systeem waarden en wat in uw magazijnen werkelijk bestaat synchroniseren.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Aflettering JSON,
Stock Reconciliation Item,Voorraad Afletteren Artikel,
Before reconciliation,Voordat verzoening,
Current Serial No,Huidig serienummer,
Current Valuation Rate,Huidige Valuation Rate,
Current Amount,Huidige hoeveelheid,
Quantity Difference,Aantal Verschil,
Amount Difference,bedrag Verschil,
Item Naming By,Artikel benoeming door,
Default Item Group,Standaard Artikelgroep,
Default Stock UOM,Standaard Voorraad Eenheid,
Sample Retention Warehouse,Sample Retention Warehouse,
Default Valuation Method,Standaard Waarderingsmethode,
Show Barcode Field,Show streepjescodeveld,
Convert Item Description to Clean HTML,Itembeschrijving converteren om HTML te wissen,
Allow Negative Stock,Laat Negatieve voorraad,
Automatically Set Serial Nos based on FIFO,Automatisch instellen serienummers op basis van FIFO,
Auto Material Request,Automatisch Materiaal Request,
Inter Warehouse Transfer Settings,Instellingen intermagazijnoverdracht,
Freeze Stock Entries,Freeze Stock Entries,
Stock Frozen Upto,Voorraad Bevroren Tot,
Batch Identification,Batchidentificatie,
Use Naming Series,Gebruik Naming Series,
Naming Series Prefix,Reeks voorvoegsel naamgeving,
UOM Category,UOM-categorie,
UOM Conversion Detail,Eenheid Omrekeningsfactor Detail,
Variant Field,Variantveld,
A logical Warehouse against which stock entries are made.,Een logisch Magazijn waartegen voorraadboekingen worden gemaakt.,
Warehouse Detail,Magazijn Detail,
Warehouse Name,Magazijn Naam,
Warehouse Contact Info,Magazijn Contact Info,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Opgevoerd door (E-mail),
Issue Type,Uitgiftetype,
Issue Split From,Uitgave splitsen vanaf,
Service Level,Service Level,
Response By,Reactie door,
Response By Variance,Reactie door variantie,
Ongoing,Voortgaande,
Resolution By,Resolutie door,
Resolution By Variance,Resolutie door variantie,
Service Level Agreement Creation,Service Level Agreement Creatie,
First Responded On,Eerst gereageerd op,
Resolution Details,Oplossing Details,
Opening Date,Openingsdatum,
Opening Time,Opening Tijd,
Resolution Date,Oplossing Datum,
Via Customer Portal,Via klantportal,
Support Team,Support Team,
Issue Priority,Prioriteit uitgeven,
Service Day,Servicedag,
Workday,Werkdag,
Default Priority,Standaard prioriteit,
Priorities,prioriteiten,
Support Hours,Ondersteuningstijden,
Support and Resolution,Ondersteuning en oplossing,
Default Service Level Agreement,Standaard Service Level Agreement,
Entity,Entiteit,
Agreement Details,Overeenkomst details,
Response and Resolution Time,Reactietijd en oplossingstijd,
Service Level Priority,Prioriteit serviceniveau,
Resolution Time,Resolutie tijd,
Support Search Source,Zoekbron ondersteunen,
Source Type,Bron Type,
Query Route String,Zoekopdracht route String,
Search Term Param Name,Zoekterm Paramaam,
Response Options,Antwoord opties,
Response Result Key Path,Response Result Key Path,
Post Route String,Post Route String,
Post Route Key List,Post Route-toetslijst,
Post Title Key,Titeltoets plaatsen,
Post Description Key,Bericht Beschrijving Sleutel,
Link Options,Link opties,
Source DocType,Bron DocType,
Result Title Field,Resultaat Titelveld,
Result Preview Field,Resultaat Voorbeeldveld,
Result Route Field,Resultaat Routeveld,
Service Level Agreements,Service Level Agreements,
Track Service Level Agreement,Volg Service Level Agreement,
Allow Resetting Service Level Agreement,Sta resetten Service Level Agreement toe,
Close Issue After Days,Sluiten Probleem Na Days,
Auto close Issue after 7 days,Auto dicht Issue na 7 dagen,
Support Portal,Ondersteuningsportal,
Get Started Sections,Aan de slag Secties,
Show Latest Forum Posts,Toon laatste forumberichten,
Forum Posts,Forum berichten,
Forum URL,Forum-URL,
Get Latest Query,Ontvang de nieuwste zoekopdracht,
Response Key List,Responsensleutellijst,
Post Route Key,Post Routesleutel,
Search APIs,Zoek API&#39;s,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Uitgiftedatum,
Item and Warranty Details,Item en garantie Details,
Warranty / AMC Status,Garantie / AMC Status,
Resolved By,Opgelost door,
Service Address,Service Adres,
If different than customer address,Indien anders dan klantadres,
Raised By,Opgevoed door,
From Company,Van Bedrijf,
Rename Tool,Hernoem Tool,
Utilities,Utilities,
Type of document to rename.,Type document te hernoemen.,
File to Rename,Bestand naar hernoemen,
"Attach .csv file with two columns, one for the old name and one for the new name","Bevestig .csv-bestand met twee kolommen, één voor de oude naam en één voor de nieuwe naam",
Rename Log,Hernoemen Log,
SMS Log,SMS Log,
Sender Name,Naam afzender,
Sent On,Verzonden op,
No of Requested SMS,Aantal gevraagde SMS,
Requested Numbers,Gevraagde Numbers,
No of Sent SMS,Aantal gestuurde SMS,
Sent To,Verzenden Naar,
Absent Student Report,Studenten afwezigheidsrapport,
Assessment Plan Status,Beoordelingsplan Status,
Asset Depreciation Ledger,Asset Afschrijvingen Ledger,
Asset Depreciations and Balances,Asset Afschrijvingen en Weegschalen,
Available Stock for Packing Items,Beschikbaar voor Verpakking Items,
Bank Clearance Summary,Bankbewaring samenvatting,
Bank Remittance,Bankoverschrijving,
Batch Item Expiry Status,Batch Item Vervaldatum Status,
Batch-Wise Balance History,Batchgewijze balansgeschiedenis,
BOM Explorer,BOM Explorer,
BOM Search,BOM Zoeken,
BOM Stock Calculated,Stuklijst berekend,
BOM Variance Report,BOM-variatierapport,
Campaign Efficiency,Campagne-efficiëntie,
Cash Flow,Cashflow,
Completed Work Orders,Voltooide werkorders,
To Produce,Produceren,
Produced,Geproduceerd,
Consolidated Financial Statement,Geconsolideerde jaarrekening,
Course wise Assessment Report,Cursusverstandig beoordelingsrapport,
Customer Acquisition and Loyalty,Klantenwerving en behoud,
Customer Credit Balance,Klant Kredietsaldo,
Customer Ledger Summary,Overzicht klantenboek,
Customer-wise Item Price,Klantgewijs Artikelprijs,
Customers Without Any Sales Transactions,Klanten zonder enige verkooptransacties,
Daily Timesheet Summary,Dagelijks Timesheet Samenvatting,
Daily Work Summary Replies,Antwoorden dagelijkse werkoverzicht,
DATEV,DATEV,
Delayed Item Report,Vertraagd itemrapport,
Delayed Order Report,Vertraagd orderrapport,
Delivered Items To Be Billed,Geleverde Artikelen nog te factureren,
Delivery Note Trends,Vrachtbrief Trends,
Electronic Invoice Register,Elektronisch factuurregister,
Employee Advance Summary,Medewerker Advance Summary,
Employee Billing Summary,Factuuroverzicht werknemer,
Employee Birthday,Werknemer Verjaardag,
Employee Information,Werknemer Informatie,
Employee Leave Balance,Werknemer Verlof Balans,
Employee Leave Balance Summary,Werknemersverlofsaldo Samenvatting,
Employees working on a holiday,Werknemers die op vakantie,
Eway Bill,Eway Bill,
Expiring Memberships,Verlopen Lidmaatschappen,
Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
Final Assessment Grades,Eindbeoordeling,
Fixed Asset Register,Vaste-activaregister,
Gross and Net Profit Report,Bruto- en nettowinstrapport,
GST Itemised Purchase Register,GST Itemized Purchase Register,
GST Itemised Sales Register,GST Itemized Sales Register,
GST Purchase Register,GST Aankoopregister,
GST Sales Register,GST Sales Register,
GSTR-1,GSTR-1,
GSTR-2,GSTR-2,
Hotel Room Occupancy,Hotel Kamer bezetting,
HSN-wise-summary of outward supplies,HSN-wise-samenvatting van uitgaande benodigdheden,
Inactive Customers,inactieve klanten,
Inactive Sales Items,Inactieve verkoopartikelen,
IRS 1099,IRS 1099,
Issued Items Against Work Order,Uitgegeven items tegen werkorder,
Projected Quantity as Source,Geprojecteerd Hoeveelheid als Bron,
Item Balance (Simple),Artikel saldo (eenvoudig),
Item Price Stock,Artikel Prijs Voorraad,
Item Prices,Artikelprijzen,
Item Shortage Report,Artikel Tekort Rapport,
Item Variant Details,Artikel Variant Details,
Item-wise Price List Rate,Artikelgebaseerde Prijslijst Tarief,
Item-wise Purchase History,Artikelgebaseerde Inkoop Geschiedenis,
Item-wise Purchase Register,Artikelgebaseerde Inkoop Register,
Item-wise Sales History,Artikelgebaseerde Verkoop Geschiedenis,
Item-wise Sales Register,Artikelgebaseerde Verkoop Register,
Items To Be Requested,Aan te vragen artikelen,
Reserved,gereserveerd,
Itemwise Recommended Reorder Level,Artikelgebaseerde Aanbevolen Bestelniveau,
Lead Details,Lead Details,
Lead Owner Efficiency,Leideneigenaar Efficiency,
Loan Repayment and Closure,Terugbetaling en sluiting van leningen,
Loan Security Status,Lening Beveiligingsstatus,
Lost Opportunity,Kans verloren,
Maintenance Schedules,Onderhoudsschema&#39;s,
Material Requests for which Supplier Quotations are not created,Materiaal Aanvragen waarvoor Leverancier Offertes niet zijn gemaakt,
Monthly Attendance Sheet,Maandelijkse Aanwezigheids Sheet,
Open Work Orders,Open werkorders,
Qty to Deliver,Aantal te leveren,
Patient Appointment Analytics,Patiëntafspraakanalyse,
Payment Period Based On Invoice Date,Betaling Periode gebaseerd op factuurdatum,
Pending SO Items For Purchase Request,In afwachting van Verkoop Artikelen voor Inkoopaanvraag,
Procurement Tracker,Procurement Tracker,
Product Bundle Balance,Productbundelsaldo,
Production Analytics,Production Analytics,
Profit and Loss Statement,Winst-en verliesrekening,
Profitability Analysis,winstgevendheid Analyse,
Project Billing Summary,Projectfactuuroverzicht,
Project wise Stock Tracking,Projectmatig voorraad volgen,
Project wise Stock Tracking ,Projectgebaseerde Aandelenhandel,
Prospects Engaged But Not Converted,Vooruitzichten betrokken maar niet omgezet,
Purchase Analytics,Inkoop Analyse,
Purchase Invoice Trends,Inkoopfactuur Trends,
Qty to Receive,Aantal te ontvangen,
Received Qty Amount,Aantal ontvangen,
Billed Qty,Gefactureerd aantal,
Purchase Order Trends,Inkooporder Trends,
Purchase Receipt Trends,Ontvangstbevestiging Trends,
Purchase Register,Inkoop Register,
Quotation Trends,Offerte Trends,
Quoted Item Comparison,Geciteerd Item Vergelijking,
Received Items To Be Billed,Ontvangen artikelen nog te factureren,
Qty to Order,Aantal te bestellen,
Requested Items To Be Transferred,Aangevraagde Artikelen te Verplaatsen,
Qty to Transfer,Aantal te verplaatsen,
Salary Register,salaris Register,
Sales Analytics,Verkoop analyse,
Sales Invoice Trends,Verkoopfactuur Trends,
Sales Order Trends,Verkooporder Trends,
Sales Partner Commission Summary,Verkooppartner Commissie Samenvatting,
Sales Partner Target Variance based on Item Group,Doelafhankelijke verkooppartner op basis van artikelgroep,
Sales Partner Transaction Summary,Verkooppartner Transactieoverzicht,
Sales Partners Commission,Verkoop Partners Commissie,
Invoiced Amount (Exclusive Tax),Gefactureerd bedrag (exclusief belasting),
Average Commission Rate,Gemiddelde Commissie Rate,
Sales Payment Summary,Samenvatting verkoopbetaling,
Sales Person Commission Summary,Verkooppersoon Samenvatting van de Commissie,
Sales Person Target Variance Based On Item Group,Doelgroepvariant verkoper op basis van artikelgroep,
Sales Person-wise Transaction Summary,Verkopergebaseerd Transactie Overzicht,
Sales Register,Verkoopregister,
Serial No Service Contract Expiry,Serienummer Service Contract Afloop,
Serial No Status,Serienummer Status,
Serial No Warranty Expiry,Serienummer Garantie Afloop,
Stock Ageing,Voorraad Veroudering,
Stock and Account Value Comparison,Voorraad- en accountwaardevergelijking,
Stock Projected Qty,Verwachte voorraad hoeveelheid,
Student and Guardian Contact Details,Student and Guardian Contactgegevens,
Student Batch-Wise Attendance,Student Batch-Wise Attendance,
Student Fee Collection,Student Fee Collection,
Student Monthly Attendance Sheet,Student Maandelijkse presentielijst,
Subcontracted Item To Be Received,Uitbesteed item ontvangen,
Subcontracted Raw Materials To Be Transferred,Uitbestede grondstoffen worden overgedragen,
Supplier Ledger Summary,Overzicht leveranciersboek,
Supplier-Wise Sales Analytics,Leverancier-gebaseerde Verkoop Analyse,
Support Hour Distribution,Support Hour Distribution,
TDS Computation Summary,Samenvatting van de TDS-berekening,
TDS Payable Monthly,TDS Payable Monthly,
Territory Target Variance Based On Item Group,Territoriedoelvariantie op basis van artikelgroep,
Territory-wise Sales,Gebiedsgewijze verkoop,
Total Stock Summary,Totale voorraadoverzicht,
Trial Balance,Proefbalans,
Trial Balance (Simple),Proefbalans (eenvoudig),
Trial Balance for Party,Trial Balance voor Party,
Unpaid Expense Claim,Onbetaalde Onkostenvergoeding,
Warehouse wise Item Balance Age and Value,Magazijnbeheer Artikelbalans Leeftijd en waarde,
Work Order Stock Report,Werkorder Voorraadverslag,
Work Orders in Progress,Werkorders in uitvoering,
Validation Error,Validatiefout,
Automatically Process Deferred Accounting Entry,Automatisch uitgestelde boekhoudinvoer verwerken,
Bank Clearance,Bankvereffening,
Bank Clearance Detail,Bankvereffeningsdetails,
Update Cost Center Name / Number,Update kostenplaats naam / nummer,
Journal Entry Template,Sjabloon voor journaalboeking,
Template Title,Sjabloontitel,
Journal Entry Type,Type journaalboeking,
Journal Entry Template Account,Journaalboeking-sjabloonaccount,
Process Deferred Accounting,Proces uitgestelde boekhouding,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Handmatige invoer kan niet worden gemaakt! Schakel automatische invoer voor uitgestelde boekhouding uit in de accountinstellingen en probeer het opnieuw,
End date cannot be before start date,De einddatum kan niet vóór de startdatum liggen,
Total Counts Targeted,Gericht totaalaantal,
Total Counts Completed,Totaal aantal voltooide tellingen,
Counts Targeted: {0},Getarget aantal: {0},
Payment Account is mandatory,Betaalrekening is verplicht,
"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Indien aangevinkt, wordt het volledige bedrag afgetrokken van het belastbaar inkomen vóór de berekening van de inkomstenbelasting zonder dat enige aangifte of bewijs wordt ingediend.",
Disbursement Details,Uitbetalingsgegevens,
Material Request Warehouse,Materiaalaanvraag Magazijn,
Select warehouse for material requests,Selecteer magazijn voor materiaalaanvragen,
Transfer Materials For Warehouse {0},Materiaal overbrengen voor magazijn {0},
Production Plan Material Request Warehouse,Productieplan Materiaalaanvraag Magazijn,
Sets 'Source Warehouse' in each row of the items table.,Stelt &#39;Bronmagazijn&#39; in in elke rij van de itemtabel.,
Sets 'Target Warehouse' in each row of the items table.,Stelt &#39;Target Warehouse&#39; in in elke rij van de itemtabel.,
Show Cancelled Entries,Toon geannuleerde inzendingen,
Backdated Stock Entry,Voorraadinvoer met terugwerkende kracht,
Row #{}: Currency of {} - {} doesn't matches company currency.,Rij # {}: valuta van {} - {} komt niet overeen met de valuta van het bedrijf.,
{} Assets created for {},{} Activa gemaakt voor {},
{0} Number {1} is already used in {2} {3},{0} Nummer {1} wordt al gebruikt in {2} {3},
Update Bank Clearance Dates,Werk de data voor bankvereffening bij,
Healthcare Practitioner: ,Zorgverlener:,
Lab Test Conducted: ,Uitgevoerde laboratoriumtest:,
Lab Test Event: ,Lab-testevenement:,
Lab Test Result: ,Lab testresultaat:,
Clinical Procedure conducted: ,Klinische procedure uitgevoerd:,
Therapy Session Charges: {0},Kosten voor therapiesessie: {0},
Therapy: ,Behandeling:,
Therapy Plan: ,Therapieplan:,
Total Counts Targeted: ,Gericht totaalaantal:,
Total Counts Completed: ,Totaal voltooide tellingen:,
Andaman and Nicobar Islands,Andamanen en Nicobaren,
Andhra Pradesh,Andhra Pradesh,
Arunachal Pradesh,Arunachal Pradesh,
Assam,Assam,
Bihar,Bihar,
Chandigarh,Chandigarh,
Chhattisgarh,Chhattisgarh,
Dadra and Nagar Haveli,Dadra en Nagar Haveli,
Daman and Diu,Daman en Diu,
Delhi,Delhi,
Goa,Goa,
Gujarat,Gujarat,
Haryana,Haryana,
Himachal Pradesh,Himachal Pradesh,
Jammu and Kashmir,Jammu en Kasjmir,
Jharkhand,Jharkhand,
Karnataka,Karnataka,
Kerala,Kerala,
Lakshadweep Islands,Lakshadweep-eilanden,
Madhya Pradesh,Madhya Pradesh,
Maharashtra,Maharashtra,
Manipur,Manipur,
Meghalaya,Meghalaya,
Mizoram,Mizoram,
Nagaland,Nagaland,
Odisha,Odisha,
Other Territory,Ander territorium,
Pondicherry,Pondicherry,
Punjab,Punjab,
Rajasthan,Rajasthan,
Sikkim,Sikkim,
Tamil Nadu,Tamil Nadu,
Telangana,Telangana,
Tripura,Tripura,
Uttar Pradesh,Uttar Pradesh,
Uttarakhand,Uttarakhand,
West Bengal,West-Bengalen,
Is Mandatory,Is verplicht,
Published on,gepubliceerd op,
Service Received But Not Billed,Service ontvangen maar niet gefactureerd,
Deferred Accounting Settings,Uitgestelde boekhoudinstellingen,
Book Deferred Entries Based On,Boek uitgestelde inzendingen op basis van,
Days,Dagen,
Months,Maanden,
Book Deferred Entries Via Journal Entry,Boek uitgestelde posten via journaalboeking,
Submit Journal Entries,Dien journaalboekingen in,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Als dit niet is aangevinkt, worden journaalboekingen opgeslagen in de status Concept en moeten ze handmatig worden ingediend",
Enable Distributed Cost Center,Schakel Gedistribueerde kostenplaats in,
Distributed Cost Center,Gedistribueerde kostenplaats,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Achterstallige dagen,
Dunning Type,Aanmaningstype,
Dunning Fee,Aanmaningskosten,
Dunning Amount,Aanmaningsbedrag,
Resolved,Opgelost,
Unresolved,Niet opgelost,
Printing Setting,Afdrukinstelling,
Body Text,Lichaamstaal,
Closing Text,Afsluitende tekst,
Resolve,Oplossen,
Dunning Letter Text,Aanmaningsbrieftekst,
Is Default Language,Is de standaardtaal,
Letter or Email Body Text,Hoofdtekst van brief of e-mail,
Letter or Email Closing Text,Brief of e-mail afsluitingstekst,
Body and Closing Text Help,Hoofdtekst en afsluitende tekst Help,
Overdue Interval,Achterstallig interval,
Dunning Letter,Aanmaningsbrief,
"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.",In dit gedeelte kan de gebruiker de hoofdtekst en de afsluitingstekst van de aanmaningsbrief voor het aanmaningstype instellen op basis van de taal die in Print kan worden gebruikt.,
Reference Detail No,Referentie Detail nr,
Custom Remarks,Aangepaste opmerkingen,
Please select a Company first.,Selecteer eerst een bedrijf.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Rij # {0}: het type referentiedocument moet een verkooporder, verkoopfactuur, journaalboeking of aanmaning zijn",
POS Closing Entry,POS-afsluiting,
POS Opening Entry,POS Opening Entry,
POS Transactions,POS-transacties,
POS Closing Entry Detail,Detail van POS-afsluitinginvoer,
Opening Amount,Openingsbedrag,
Closing Amount,Eindbedrag,
POS Closing Entry Taxes,POS-afsluiting invoerbelastingen,
POS Invoice,POS-factuur,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Geconsolideerde verkoopfactuur,
Return Against POS Invoice,Retourneren tegen POS-factuur,
Consolidated,Geconsolideerd,
POS Invoice Item,POS-factuuritem,
POS Invoice Merge Log,POS-factuur samenvoeglogboek,
POS Invoices,POS-facturen,
Consolidated Credit Note,Geconsolideerde kredietnota,
POS Invoice Reference,POS-factuurreferentie,
Set Posting Date,Boekingsdatum instellen,
Opening Balance Details,Details beginsaldo,
POS Opening Entry Detail,POS Opening Entry Detail,
POS Payment Method,POS-betaalmethode,
Payment Methods,Betaalmethodes,
Process Statement Of Accounts,Procesoverzicht van rekeningen,
General Ledger Filters,Grootboekfilters,
Customers,Klanten,
Select Customers By,Selecteer klanten op,
Fetch Customers,Haal klanten op,
Send To Primary Contact,Verzenden naar primaire contactpersoon,
Print Preferences,Afdrukvoorkeuren,
Include Ageing Summary,Voeg een samenvatting van de veroudering toe,
Enable Auto Email,Schakel automatische e-mail in,
Filter Duration (Months),Filterduur (maanden),
CC To,CC aan,
Help Text,hulp tekst,
Emails Queued,E-mails in de wachtrij,
Process Statement Of Accounts Customer,Procesoverzicht van de klant,
Billing Email,Rekening e-mail,
Primary Contact Email,E-mailadres van primaire contactpersoon,
PSOA Cost Center,PSOA-kostenplaats,
PSOA Project,PSOA-project,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Leverancier GSTIN,
Place of Supply,Plaats van levering,
Select Billing Address,Selecteer factuuradres,
GST Details,GST-gegevens,
GST Category,GST-categorie,
Registered Regular,Geregistreerd regelmatig,
Registered Composition,Geregistreerde samenstelling,
Unregistered,Niet geregistreerd,
SEZ,SEZ,
Overseas,Overzee,
UIN Holders,UIN-houders,
With Payment of Tax,Met betaling van belasting,
Without Payment of Tax,Zonder betaling van belasting,
Invoice Copy,Factuurkopie,
Original for Recipient,Origineel voor ontvanger,
Duplicate for Transporter,Dupliceren voor Transporter,
Duplicate for Supplier,Duplicaat voor leverancier,
Triplicate for Supplier,Drievoud voor leverancier,
Reverse Charge,Omgekeerde lading,
Y,Y,
N,N,
E-commerce GSTIN,E-commerce GSTIN,
Reason For Issuing document,Reden voor afgifte document,
01-Sales Return,01-Verkoopretour,
02-Post Sale Discount,Korting voor 2 na verkoop,
03-Deficiency in services,03-Tekortkoming in diensten,
04-Correction in Invoice,04-correctie in factuur,
05-Change in POS,05-Wijziging in POS,
06-Finalization of Provisional assessment,06-Afronding van voorlopige aanslag,
07-Others,07-anderen,
Eligibility For ITC,Geschiktheid voor ITC,
Input Service Distributor,Input Service Distributeur,
Import Of Service,Import van service,
Import Of Capital Goods,Import van kapitaalgoederen,
Ineligible,Komt niet in aanmerking,
All Other ITC,Alle andere ITC,
Availed ITC Integrated Tax,Gebruikte ITC Integrated Tax,
Availed ITC Central Tax,Gebruikt ITC Central Tax,
Availed ITC State/UT Tax,Gebruikte ITC State / UT-belasting,
Availed ITC Cess,Gebruikt ITC Cess,
Is Nil Rated or Exempted,Is nul beoordeeld of vrijgesteld,
Is Non GST,Is niet GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,E-Way Bill nr.,
Is Consolidated,Is geconsolideerd,
Billing Address GSTIN,Factuuradres GSTIN,
Customer GSTIN,Klant GSTIN,
GST Transporter ID,GST Transporter-ID,
Distance (in km),Afstand (in km),
Road,Weg,
Air,Lucht,
Rail,Het spoor,
Ship,Schip,
GST Vehicle Type,GST-voertuigtype,
Over Dimensional Cargo (ODC),Overdimensionale lading (ODC),
Consumer,Klant,
Deemed Export,Geachte export,
Port Code,Poortcode,
 Shipping Bill Number,Verzendfactuurnummer,
Shipping Bill Date,Verzendfactuurdatum,
Subscription End Date,Einddatum abonnement,
Follow Calendar Months,Volg Kalendermaanden,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Als dit is aangevinkt, worden er nieuwe facturen aangemaakt op de startdatums van de kalendermaand en het kwartaal, ongeacht de huidige startdatum van de factuur",
Generate New Invoices Past Due Date,Genereer nieuwe facturen na vervaldatum,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Nieuwe facturen worden volgens schema gegenereerd, zelfs als de huidige facturen onbetaald of achterstallig zijn",
Document Type ,type document,
Subscription Price Based On,Abonnementsprijs gebaseerd op,
Fixed Rate,Vaste rente,
Based On Price List,Gebaseerd op prijslijst,
Monthly Rate,Maandelijks tarief,
Cancel Subscription After Grace Period,Abonnement opzeggen na respijtperiode,
Source State,Bronstaat,
Is Inter State,Is Inter State,
Purchase Details,Aankoopdetails,
Depreciation Posting Date,Afschrijvingsboekingsdatum,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ",Standaard wordt de leveranciersnaam ingesteld volgens de ingevoerde leveranciersnaam. Als u wilt dat leveranciers worden genoemd door een,
 choose the 'Naming Series' option.,kies de optie &#39;Naming Series&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Configureer de standaardprijslijst wanneer u een nieuwe aankooptransactie aanmaakt. Artikelprijzen worden opgehaald uit deze prijslijst.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Als deze optie is geconfigureerd &#39;Ja&#39;, zal ERPNext u verhinderen een inkoopfactuur of ontvangstbewijs te creëren zonder eerst een inkooporder te creëren. Deze configuratie kan voor een bepaalde leverancier worden overschreven door het aankruisvak &#39;Aanmaken inkoopfactuur zonder inkooporder toestaan&#39; in het leveranciersmodel in te schakelen.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Als deze optie &#39;Ja&#39; is geconfigureerd, zal ERPNext u verhinderen een inkoopfactuur aan te maken zonder eerst een inkoopbewijs te creëren. Deze configuratie kan voor een bepaalde leverancier worden overschreven door het aankruisvak &#39;Aanmaken inkoopfactuur zonder inkoopontvangst toestaan&#39; in de leveranciersstam in te schakelen.",
Quantity & Stock,Hoeveelheid en voorraad,
Call Details,Oproepdetails,
Authorised By,Geautoriseerd door,
Signee (Company),Ondertekenaar (bedrijf),
Signed By (Company),Ondertekend door (bedrijf),
First Response Time,Eerste reactietijd,
Request For Quotation,Offerte aanvragen,
Opportunity Lost Reason Detail,Detail van gemiste kans,
Access Token Secret,Toegang tot Token Secret,
Add to Topics,Toevoegen aan onderwerpen,
...Adding Article to Topics,... Artikel aan onderwerpen toevoegen,
Add Article to Topics,Voeg artikel toe aan onderwerpen,
This article is already added to the existing topics,Dit artikel is al toegevoegd aan de bestaande onderwerpen,
Add to Programs,Toevoegen aan programma&#39;s,
Programs,Programma&#39;s,
...Adding Course to Programs,... Cursus aan programma&#39;s toevoegen,
Add Course to Programs,Voeg cursus toe aan programma&#39;s,
This course is already added to the existing programs,Deze cursus is al toegevoegd aan de bestaande programma&#39;s,
Learning Management System Settings,Instellingen leerbeheersysteem,
Enable Learning Management System,Schakel het leerbeheersysteem in,
Learning Management System Title,Titel Learning Management System,
...Adding Quiz to Topics,... Quiz aan onderwerpen toevoegen,
Add Quiz to Topics,Voeg quiz toe aan onderwerpen,
This quiz is already added to the existing topics,Deze quiz is al toegevoegd aan de bestaande onderwerpen,
Enable Admission Application,Toelatingsaanvraag inschakelen,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Aanwezigheid markeren,
Add Guardians to Email Group,Voeg ouders / verzorgers toe aan e-mailgroep,
Attendance Based On,Aanwezigheid gebaseerd op,
Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Vink dit aan om de student als aanwezig te markeren voor het geval de student niet naar het instituut gaat om deel te nemen of het instituut in ieder geval te vertegenwoordigen.,
Add to Courses,Toevoegen aan cursussen,
...Adding Topic to Courses,... Onderwerp aan cursussen toevoegen,
Add Topic to Courses,Onderwerp aan cursussen toevoegen,
This topic is already added to the existing courses,Dit onderwerp is al toegevoegd aan de bestaande cursussen,
"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Als Shopify geen klant in de bestelling heeft, zal het systeem tijdens het synchroniseren van de bestellingen rekening houden met de standaardklant voor de bestelling",
The accounts are set by the system automatically but do confirm these defaults,"De accounts worden automatisch door het systeem ingesteld, maar bevestig deze standaardinstellingen",
Default Round Off Account,Standaard afrondingsrekening,
Failed Import Log,Mislukt importlogboek,
Fixed Error Log,Vaste foutenlogboek,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,"Bedrijf {0} bestaat al. Als u doorgaat, worden het bedrijf en het rekeningschema overschreven",
Meta Data,Metagegevens,
Unresolve,Oplossen,
Create Document,Maak een document,
Mark as unresolved,Markeer als onopgelost,
TaxJar Settings,TaxJar-instellingen,
Sandbox Mode,Sandbox-modus,
Enable Tax Calculation,Schakel belastingberekening in,
Create TaxJar Transaction,Maak een TaxJar-transactie,
Credentials,Inloggegevens,
Live API Key,Live API-sleutel,
Sandbox API Key,Sandbox API-sleutel,
Configuration,Configuratie,
Tax Account Head,Hoofd belastingaccount,
Shipping Account Head,Hoofd verzendaccount,
Practitioner Name,Naam behandelaar,
Enter a name for the Clinical Procedure Template,Voer een naam in voor de sjabloon voor klinische procedures,
Set the Item Code which will be used for billing the Clinical Procedure.,Stel de artikelcode in die zal worden gebruikt voor het factureren van de klinische procedure.,
Select an Item Group for the Clinical Procedure Item.,Selecteer een artikelgroep voor het artikel van de klinische procedure.,
Clinical Procedure Rate,Klinische proceduretarief,
Check this if the Clinical Procedure is billable and also set the rate.,Controleer dit of de klinische procedure factureerbaar is en stel ook het tarief in.,
Check this if the Clinical Procedure utilises consumables. Click ,Controleer dit als de klinische procedure verbruiksartikelen gebruikt. Klik,
 to know more,om meer te weten,
"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","U kunt ook de medische afdeling voor de sjabloon instellen. Nadat het document is opgeslagen, wordt automatisch een item aangemaakt om deze klinische procedure te factureren. U kunt deze sjabloon vervolgens gebruiken bij het maken van klinische procedures voor patiënten. Met sjablonen hoeft u niet elke keer overtollige gegevens op te vullen. U kunt ook sjablonen maken voor andere bewerkingen, zoals laboratoriumtests, therapiesessies, enz.",
Descriptive Test Result,Beschrijvend testresultaat,
Allow Blank,Blanco toestaan,
Descriptive Test Template,Beschrijvende testsjabloon,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Als u de salarisadministratie en andere HRMS-bewerkingen voor een beoefenaar wilt volgen, maakt u een medewerker aan en koppelt u deze hier.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Stel het Practitioner Schedule in dat u zojuist hebt gemaakt. Dit wordt gebruikt bij het boeken van afspraken.,
Create a service item for Out Patient Consulting.,Maak een service-item voor Out Patient Consulting.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Als deze zorgverlener voor de klinische afdeling werkt, maakt u een service-item voor intramurale bezoeken.",
Set the Out Patient Consulting Charge for this Practitioner.,Stel de kosten voor out-patiëntadvies voor deze behandelaar vast.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Als deze zorgverlener ook voor de klinische afdeling werkt, stelt u de kosten voor ziekenhuisbezoek voor deze behandelaar in.",
"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Indien aangevinkt, wordt er voor elke patiënt een klant aangemaakt. Patiëntfacturen worden voor deze klant aangemaakt. U kunt ook een bestaande klant selecteren terwijl u een patiënt aanmaakt. Dit veld is standaard aangevinkt.",
Collect Registration Fee,Verzamel registratiekosten,
"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Als uw zorginstelling registraties van patiënten factureert, kunt u dit controleren en de registratievergoeding in het onderstaande veld instellen. Als u dit aanvinkt, worden standaard nieuwe Patiënten met een Uitgeschakelde status aangemaakt en wordt deze pas ingeschakeld na facturering van de Registratiekosten.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Als u dit aanvinkt, wordt automatisch een verkoopfactuur aangemaakt wanneer er een afspraak wordt gemaakt voor een patiënt.",
Healthcare Service Items,Artikelen voor gezondheidszorg,
"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ",U kunt een serviceartikel voor kosten voor intramurale bezoeken aanmaken en hier instellen. Op dezelfde manier kunt u in dit gedeelte andere zorgartikelen voor facturering instellen. Klik,
Set up default Accounts for the Healthcare Facility,Stel standaardaccounts in voor de zorginstelling,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Als u de standaardaccountinstellingen wilt overschrijven en de inkomsten- en debiteurenrekeningen voor de gezondheidszorg wilt configureren, kunt u dat hier doen.",
Out Patient SMS alerts,Out Patient SMS-waarschuwingen,
"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Als u een sms-waarschuwing wilt verzenden bij patiëntregistratie, kunt u deze optie inschakelen. Op dezelfde manier kunt u in dit gedeelte SMS-waarschuwingen voor Out Patient instellen voor andere functies. Klik",
Admission Order Details,Details toelating bestelling,
Admission Ordered For,Toelating besteld voor,
Expected Length of Stay,Verwachte verblijfsduur,
Admission Service Unit Type,Toelating Service Unit Type,
Healthcare Practitioner (Primary),Gezondheidszorgbeoefenaar (primair),
Healthcare Practitioner (Secondary),Gezondheidszorgbeoefenaar (secundair),
Admission Instruction,Toelating Instructie,
Chief Complaint,Hoofdklacht,
Medications,Medicijnen,
Investigations,Onderzoeken,
Discharge Detials,Detials over ontslag,
Discharge Ordered Date,Kwijting besteld datum,
Discharge Instructions,Instructies voor kwijting,
Follow Up Date,Vervolgdatum,
Discharge Notes,Kwijtschelding,
Processing Inpatient Discharge,Verwerking van intramurale ontslag,
Processing Patient Admission,Verwerking van de opname van patiënten,
Check-in time cannot be greater than the current time,De inchecktijd kan niet langer zijn dan de huidige tijd,
Process Transfer,Overdracht verwerken,
HLC-LAB-.YYYY.-,HLC-LAB-.JJJJ.-,
Expected Result Date,Verwachte resultaatdatum,
Expected Result Time,Verwachte resultaattijd,
Printed on,Afgedrukt op,
Requesting Practitioner,Verzoekende behandelaar,
Requesting Department,Verzoekende afdeling,
Employee (Lab Technician),Medewerker (Labtechnicus),
Lab Technician Name,Naam labtechnicus,
Lab Technician Designation,Aanwijzing labtechnicus,
Compound Test Result,Samengesteld testresultaat,
Organism Test Result,Organisme Testresultaat,
Sensitivity Test Result,Gevoeligheidstestresultaat,
Worksheet Print,Werkblad afdrukken,
Worksheet Instructions,Werkblad instructies,
Result Legend Print,Resultaat Legenda afdrukken,
Print Position,Afdrukpositie,
Bottom,Bodem,
Top,Top,
Both,Beide,
Result Legend,Legenda resultaat,
Lab Tests,Labotests,
No Lab Tests found for the Patient {0},Geen laboratoriumtests gevonden voor de patiënt {0},
"Did not send SMS, missing patient mobile number or message content.","Geen sms verzonden, mobiel nummer van patiënt of berichtinhoud ontbreekt.",
No Lab Tests created,Er zijn geen labtests gemaakt,
Creating Lab Tests...,Labotests maken ...,
Lab Test Group Template,Lab testgroepsjabloon,
Add New Line,Nieuwe regel toevoegen,
Secondary UOM,Secundaire maateenheid,
"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Enkelvoudig</b> : resultaten waarvoor slechts één invoer nodig is.<br> <b>Samengesteld</b> : resultaten waarvoor meerdere gebeurtenisinvoer nodig is.<br> <b>Beschrijvend</b> : tests met meerdere resultaatcomponenten met handmatige resultaatinvoer.<br> <b>Gegroepeerd</b> : testsjablonen die een groep andere testsjablonen zijn.<br> <b>Geen resultaat</b> : tests zonder resultaten kunnen worden besteld en gefactureerd, maar er wordt geen laboratoriumtest gemaakt. bijv. Subtests voor gegroepeerde resultaten",
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Als dit niet is aangevinkt, is het item niet beschikbaar in verkoopfacturen voor facturering, maar kan het worden gebruikt bij het maken van groepstests.",
Description ,Omschrijving,
Descriptive Test,Beschrijvende test,
Group Tests,Groepstests,
Instructions to be printed on the worksheet,Instructies die op het werkblad moeten worden afgedrukt,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.","Informatie om het testrapport gemakkelijk te interpreteren, wordt afgedrukt als onderdeel van het laboratoriumtestresultaat.",
Normal Test Result,Normaal testresultaat,
Secondary UOM Result,Secundair UOM-resultaat,
Italic,Cursief,
Underline,Onderstrepen,
Organism,Organisme,
Organism Test Item,Organisme Testitem,
Colony Population,Kolonie bevolking,
Colony UOM,Kolonie UOM,
Tobacco Consumption (Past),Tabaksconsumptie (verleden),
Tobacco Consumption (Present),Tabaksconsumptie (heden),
Alcohol Consumption (Past),Alcoholconsumptie (verleden),
Alcohol Consumption (Present),Alcoholconsumptie (heden),
Billing Item,Factuuritem,
Medical Codes,Medische codes,
Clinical Procedures,Klinische procedures,
Order Admission,Bestel toelating,
Scheduling Patient Admission,Opname van patiënten plannen,
Order Discharge,Ontlading bestellen,
Sample Details,Voorbeelddetails,
Collected On,Verzameld op,
No. of prints,Aantal afdrukken,
Number of prints required for labelling the samples,Aantal afdrukken vereist voor het labelen van de monsters,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
In Time,Op tijd,
Out Time,Out Time,
Payroll Cost Center,Loonkostencentrum,
Approvers,Goedkeurders,
The first Approver in the list will be set as the default Approver.,De eerste goedkeurder in de lijst wordt ingesteld als de standaard goedkeurder.,
Shift Request Approver,Shift Request Approver,
PAN Number,PAN-nummer,
Provident Fund Account,Provident Fund-account,
MICR Code,MICR-code,
Repay unclaimed amount from salary,Betaal niet-opgeëiste bedrag terug van salaris,
Deduction from salary,Inhouding op salaris,
Expired Leaves,Verlopen bladeren,
Reference No,referentienummer,
Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,Het haircutpercentage is het procentuele verschil tussen de marktwaarde van de lening en de waarde die aan die lening wordt toegeschreven wanneer deze wordt gebruikt als onderpand voor die lening.,
Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,"Loan to Value Ratio geeft de verhouding weer tussen het geleende bedrag en de waarde van de in pand gegeven zekerheid. Als dit onder de voor een lening bepaalde waarde komt, ontstaat er een tekort aan lening",
If this is not checked the loan by default will be considered as a Demand Loan,"Als dit niet is aangevinkt, wordt de lening standaard beschouwd als een opeisbare lening",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Deze rekening wordt gebruikt voor het boeken van aflossingen van leningen van de lener en ook voor het uitbetalen van leningen aan de lener,
This account is capital account which is used to allocate capital for loan disbursal account ,Deze rekening is een kapitaalrekening die wordt gebruikt om kapitaal toe te wijzen voor het uitbetalen van leningen,
This account will be used for booking loan interest accruals,Deze rekening wordt gebruikt voor het boeken van opgelopen rente op leningen,
This account will be used for booking penalties levied due to delayed repayments,Deze rekening wordt gebruikt voor het boeken van boetes die worden opgelegd wegens vertraagde terugbetalingen,
Variant BOM,Variant stuklijst,
Template Item,Sjabloonitem,
Select template item,Selecteer een sjabloonitem,
Select variant item code for the template item {0},Selecteer variantartikelcode voor het sjabloonartikel {0},
Downtime Entry,Toegang tot downtime,
DT-,DT-,
Workstation / Machine,Werkstation / machine,
Operator,Operator,
In Mins,In minuten,
Downtime Reason,Reden van uitvaltijd,
Stop Reason,Stop reden,
Excessive machine set up time,Overmatige opstarttijd van de machine,
Unplanned machine maintenance,Ongepland machineonderhoud,
On-machine press checks,Perscontroles op de machine,
Machine operator errors,Fouten van de machinebediener,
Machine malfunction,Machinestoring,
Electricity down,Elektriciteit naar beneden,
Operation Row Number,Bewerking rijnummer,
Operation {0} added multiple times in the work order {1},Bewerking {0} meerdere keren toegevoegd aan de werkorder {1},
"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Indien aangevinkt, kunnen meerdere materialen worden gebruikt voor één werkopdracht. Dit is handig als er een of meer tijdrovende producten worden vervaardigd.",
Backflush Raw Materials,Backflush-grondstoffen,
"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","De voorraadinvoer van het type &#39;Fabricage&#39; staat bekend als backflush. Grondstoffen die worden verbruikt om eindproducten te vervaardigen, worden backflushing genoemd.<br><br> Bij het maken van fabricageboeking worden grondstoffenartikelen gebackflusht op basis van de stuklijst van het productieartikel. Als u wilt dat grondstofartikelen worden gebackflusht op basis van de invoer van materiaaloverboeking op basis van die werkorder, dan kunt u dit onder dit veld instellen.",
Work In Progress Warehouse,Werk in uitvoering magazijn,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Dit magazijn wordt automatisch bijgewerkt in het veld Werk in uitvoering magazijn van Werkorders.,
Finished Goods Warehouse,Magazijn voor afgewerkte goederen,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Dit magazijn wordt automatisch bijgewerkt in het veld Doelmagazijn van Werkorder.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Indien aangevinkt, worden de stuklijstkosten automatisch bijgewerkt op basis van het taxatietarief / prijslijsttarief / laatste aankooptarief van grondstoffen.",
Source Warehouses (Optional),Bronmagazijnen (optioneel),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Het systeem haalt de materialen op uit de geselecteerde magazijnen. Indien niet gespecificeerd, zal het systeem een materiaalaanvraag voor aankoop creëren.",
Lead Time,Doorlooptijd,
PAN Details,PAN-gegevens,
Create Customer,Klant maken,
Invoicing,Facturering,
Enable Auto Invoicing,Schakel automatische facturering in,
Send Membership Acknowledgement,Stuur lidmaatschapsbevestiging,
Send Invoice with Email,Stuur factuur met e-mail,
Membership Print Format,Afdrukformaat lidmaatschap,
Invoice Print Format,Factuur afdrukformaat,
Revoke <Key></Key>,Intrekken&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,In de handleiding leest u meer over lidmaatschappen.,
ERPNext Docs,ERPNext Docs,
Regenerate Webhook Secret,Genereer webhookgeheim opnieuw,
Generate Webhook Secret,Genereer webhookgeheim,
Copy Webhook URL,Kopieer de webhook-URL,
Linked Item,Gekoppeld item,
Is Recurring,Komt terug,
HRA Exemption,HRA-vrijstelling,
Monthly House Rent,Maandelijkse huishuur,
Rented in Metro City,Gehuurd in Metro City,
HRA as per Salary Structure,HRA volgens salarisstructuur,
Annual HRA Exemption,Jaarlijkse HRA-vrijstelling,
Monthly HRA Exemption,Maandelijkse HRA-vrijstelling,
House Rent Payment Amount,Betaalbedrag huishuur,
Rented From Date,Gehuurd vanaf datum,
Rented To Date,Tot op heden verhuurd,
Monthly Eligible Amount,Maandelijks in aanmerking komend bedrag,
Total Eligible HRA Exemption,Totaal in aanmerking komende HRA-vrijstelling,
Validating Employee Attendance...,Aanwezigheid van werknemers valideren ...,
Submitting Salary Slips and creating Journal Entry...,Salarisstroken indienen en journaalboeking maken ...,
Calculate Payroll Working Days Based On,Bereken de salariswerkdagen op basis van,
Consider Unmarked Attendance As,Beschouw ongemarkeerde aanwezigheid als,
Fraction of Daily Salary for Half Day,Fractie van dagelijks salaris voor een halve dag,
Component Type,Component Type,
Provident Fund,Voorzieningsfonds,
Additional Provident Fund,Aanvullend Provident Fund,
Provident Fund Loan,Provident Fund-lening,
Professional Tax,Beroepsbelasting,
Is Income Tax Component,Is component inkomstenbelasting,
Component properties and references ,Componenteigenschappen en verwijzingen,
Additional Salary ,Extra salaris,
Unmarked days,Ongemarkeerde dagen,
Absent Days,Afwezige dagen,
Conditions and Formula variable and example,Voorwaarden en Formule variabele en voorbeeld,
Feedback By,Feedback door,
MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
Manufacturing Section,Productiesectie,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",Standaard wordt de klantnaam ingesteld volgens de ingevoerde volledige naam. Als u wilt dat klanten worden genoemd door een,
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configureer de standaardprijslijst bij het aanmaken van een nieuwe verkooptransactie. Artikelprijzen worden opgehaald uit deze prijslijst.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Als deze optie &#39;Ja&#39; is geconfigureerd, zal ERPNext u verhinderen een verkoopfactuur of leveringsnota aan te maken zonder eerst een verkooporder te creëren. Deze configuratie kan voor een bepaalde klant worden overschreven door het selectievakje &#39;Aanmaken verkoopfactuur zonder verkooporder toestaan&#39; in het stamhoofd Klant in te schakelen.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Als deze optie op &#39;Ja&#39; staat, zal ERPNext u verhinderen een verkoopfactuur aan te maken zonder eerst een leveringsnota te creëren. Deze configuratie kan voor een bepaalde klant worden overschreven door het selectievakje &#39;Aanmaken verkoopfactuur zonder leveringsnota toestaan&#39; in het stamhoofd Klant in te schakelen.",
Default Warehouse for Sales Return,Standaardmagazijn voor verkoopretour,
Default In Transit Warehouse,Standaard transportmagazijn,
Enable Perpetual Inventory For Non Stock Items,Schakel permanente voorraad in voor niet-voorraadartikelen,
HRA Settings,HRA-instellingen,
Basic Component,Basiscomponent,
HRA Component,HRA-component,
Arrear Component,Achterstallige component,
Please enter the company name to confirm,Voer de bedrijfsnaam in om te bevestigen,
Quotation Lost Reason Detail,Offerte verloren reden Detail,
Enable Variants,Schakel varianten in,
Save Quotations as Draft,Bewaar offertes als concept,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Selecteer een klant,
Against Delivery Note Item,Tegen pakbonitem,
Is Non GST ,Is niet GST,
Image Description,Afbeeldingsomschrijving,
Transfer Status,Overdrachtstatus,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Volg deze aankoopbon voor elk project,
Please Select a Supplier,Selecteer een leverancier,
Add to Transit,Toevoegen aan OV,
Set Basic Rate Manually,Stel het basistarief handmatig in,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ",Standaard wordt de artikelnaam ingesteld volgens de ingevoerde artikelcode. Als u wilt dat items een naam krijgen van,
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Stel een standaardmagazijn in voor voorraadtransacties. Dit wordt opgehaald in het standaardmagazijn in de artikelstam.,
"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Hierdoor kunnen voorraadartikelen in negatieve waarden worden weergegeven. Het gebruik van deze optie is afhankelijk van uw gebruikssituatie. Als deze optie niet is aangevinkt, waarschuwt het systeem voordat een transactie wordt geblokkeerd die een negatieve voorraad veroorzaakt.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Kies tussen FIFO en Voortschrijdend gemiddelde waarderingsmethoden. Klik,
 to know more about them.,om er meer over te weten.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Toon het veld &#39;Scan Barcode&#39; boven elke onderliggende tabel om items gemakkelijk in te voegen.,
"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Serienummers voor voorraad worden automatisch ingesteld op basis van de ingevoerde artikelen op basis van first in first out in transacties zoals inkoop- / verkoopfacturen, leveringsbonnen, enz.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Als dit leeg is, wordt bij transacties rekening gehouden met de bovenliggende magazijnrekening of het standaardbedrijf",
Service Level Agreement Details,Details van Service Level Agreement,
Service Level Agreement Status,Status Service Level Agreement,
On Hold Since,In de wacht sinds,
Total Hold Time,Totale wachttijd,
Response Details,Reactiedetails,
Average Response Time,Gemiddelde reactietijd,
User Resolution Time,Oplossingstijd gebruiker,
SLA is on hold since {0},SLA is opgeschort sinds {0},
Pause SLA On Status,Pauzeer SLA op status,
Pause SLA On,SLA onderbreken,
Greetings Section,Groeten Sectie,
Greeting Title,Begroetingstitel,
Greeting Subtitle,Begroeting ondertitel,
Youtube ID,YouTube-ID,
Youtube Statistics,YouTube-statistieken,
Views,Keer bekeken,
Dislikes,Houdt niet van,
Video Settings,Beeldinstellingen,
Enable YouTube Tracking,Schakel YouTube-tracking in,
30 mins,30 minuten,
1 hr,1 uur,
6 hrs,6 uur,
Patient Progress,Vooruitgang van de patiënt,
Targetted,Gericht,
Score Obtained,Score behaald,
Sessions,Sessies,
Average Score,Gemiddelde score,
Select Assessment Template,Selecteer Beoordelingssjabloon,
 out of ,uit,
Select Assessment Parameter,Selecteer Beoordelingsparameter,
Gender: ,Geslacht:,
Contact: ,Contact:,
Total Therapy Sessions: ,Totaal aantal therapiesessies:,
Monthly Therapy Sessions: ,Maandelijkse therapiesessies:,
Patient Profile,Patiëntprofiel,
Point Of Sale,Verkooppunt,
Email sent successfully.,E-mail succesvol verzonden.,
Search by invoice id or customer name,Zoek op factuur-ID of klantnaam,
Invoice Status,Factuurstatus,
Filter by invoice status,Filter op factuurstatus,
Select item group,Selecteer artikelgroep,
No items found. Scan barcode again.,Geen items gevonden. Scan de streepjescode opnieuw.,
"Search by customer name, phone, email.","Zoek op klantnaam, telefoon, e-mail.",
Enter discount percentage.,Voer het kortingspercentage in.,
Discount cannot be greater than 100%,Korting kan niet groter zijn dan 100%,
Enter customer's email,Voer het e-mailadres van de klant in,
Enter customer's phone number,Voer het telefoonnummer van de klant in,
Customer contact updated successfully.,Klantcontact succesvol bijgewerkt.,
Item will be removed since no serial / batch no selected.,Artikel wordt verwijderd omdat er geen serie- / batchnummer is geselecteerd.,
Discount (%),Korting (%),
You cannot submit the order without payment.,U kunt de bestelling niet plaatsen zonder betaling.,
You cannot submit empty order.,U kunt geen lege bestelling plaatsen.,
To Be Paid,Betaald worden,
Create POS Opening Entry,Maak een POS-openingsitem,
Please add Mode of payments and opening balance details.,Voeg betalingswijze en beginsaldodetails toe.,
Toggle Recent Orders,Schakel recente bestellingen in,
Save as Draft,Opslaan als concept,
You must add atleast one item to save it as draft.,U moet ten minste één item toevoegen om het als concept op te slaan.,
There was an error saving the document.,Er is een fout opgetreden bij het opslaan van het document.,
You must select a customer before adding an item.,U moet een klant selecteren voordat u een artikel toevoegt.,
Please Select a Company,Selecteer een bedrijf,
Active Leads,Actieve leads,
Please Select a Company.,Selecteer een bedrijf.,
BOM Operations Time,BOM Operations Tijd,
BOM ID,BOM-ID,
BOM Item Code,BOM-artikelcode,
Time (In Mins),Tijd (in minuten),
Sub-assembly BOM Count,Stuklijsttelling van subassemblage,
View Type,Bekijk Type,
Total Delivered Amount,Totaal geleverd bedrag,
Downtime Analysis,Downtime-analyse,
Machine,Machine,
Downtime (In Hours),Downtime (in uren),
Employee Analytics,Werknemersanalyse,
"""From date"" can not be greater than or equal to ""To date""",&#39;Vanaf datum&#39; mag niet groter zijn dan of gelijk zijn aan &#39;Tot op heden&#39;,
Exponential Smoothing Forecasting,Exponentiële afvlakkingsvoorspelling,
First Response Time for Issues,Eerste reactietijd voor problemen,
First Response Time for Opportunity,Eerste reactietijd voor kansen,
Depreciatied Amount,Afgeschreven bedrag,
Period Based On,Periode gebaseerd op,
Date Based On,Datum gebaseerd op,
{0} and {1} are mandatory,{0} en {1} zijn verplicht,
Consider Accounting Dimensions,Overweeg boekhoudkundige dimensies,
Income Tax Deductions,Aftrekposten inkomstenbelasting,
Income Tax Component,Component inkomstenbelasting,
Income Tax Amount,Bedrag inkomstenbelasting,
Reserved Quantity for Production,Gereserveerde hoeveelheid voor productie,
Projected Quantity,Geprojecteerde hoeveelheid,
 Total Sales Amount,Totaal verkoopbedrag,
Job Card Summary,Job Card Samenvatting,
Id,ID kaart,
Time Required (In Mins),Benodigde tijd (in minuten),
From Posting Date,Vanaf boekingsdatum,
To Posting Date,Op boekingsdatum,
No records found,Geen verslagen gevonden,
Customer/Lead Name,Naam klant / lead,
Unmarked Days,Ongemarkeerde dagen,
Jan,Jan,
Feb,Feb,
Mar,Mrt,
Apr,Apr,
Aug,Aug,
Sep,Sep,
Oct,Okt,
Nov,Nov,
Dec,Dec,
Summarized View,Samengevatte weergave,
Production Planning Report,Productieplanningsrapport,
Order Qty,Bestel aantal,
Raw Material Code,Grondstofcode,
Raw Material Name,Grondstofnaam,
Allotted Qty,Toegewezen aantal,
Expected Arrival Date,Verwachte aankomstdatum,
Arrival Quantity,Aankomsthoeveelheid,
Raw Material Warehouse,Grondstofmagazijn,
Order By,Bestel per,
Include Sub-assembly Raw Materials,Inclusief grondstoffen voor subassemblage,
Professional Tax Deductions,Professionele belastingaftrek,
Program wise Fee Collection,Programma verstandig vergoedingen,
Fees Collected,Vergoedingen geïnd,
Project Summary,Project samenvatting,
Total Tasks,Totaal aantal taken,
Tasks Completed,Taken voltooid,
Tasks Overdue,Taken zijn achterstallig,
Completion,Voltooiing,
Provident Fund Deductions,Provident Fund-inhoudingen,
Purchase Order Analysis,Analyse van inkooporders,
From and To Dates are required.,Van en tot datums zijn vereist.,
To Date cannot be before From Date.,Tot-datum kan niet vóór Van-datum liggen.,
Qty to Bill,Aantal naar factuur,
Group by Purchase Order,Groeperen op inkooporder,
 Purchase Value,Aankoopwaarde,
Total Received Amount,Totaal ontvangen bedrag,
Quality Inspection Summary,Samenvatting kwaliteitscontrole,
 Quoted Amount,Geciteerd bedrag,
Lead Time (Days),Doorlooptijd (dagen),
Include Expired,Inclusief verlopen,
Recruitment Analytics,Wervingsanalyses,
Applicant name,Aanvrager naam,
Job Offer status,Status vacature,
On Date,Op datum,
Requested Items to Order and Receive,Gevraagde artikelen om te bestellen en te ontvangen,
Salary Payments Based On Payment Mode,Salarisbetalingen op basis van betalingsmodus,
Salary Payments via ECS,Salarisbetalingen via ECS,
Account No,Account nummer,
IFSC,IFSC,
MICR,MICR,
Sales Order Analysis,Analyse van verkooporders,
Amount Delivered,Bedrag geleverd,
Delay (in Days),Vertraging (in dagen),
Group by Sales Order,Groeperen op verkooporder,
 Sales Value,Verkoopwaarde,
Stock Qty vs Serial No Count,Voorraadaantal versus serienummer,
Serial No Count,Serienummer tellen,
Work Order Summary,Werkorderoverzicht,
Produce Qty,Produceer aantal,
Lead Time (in mins),Doorlooptijd (in minuten),
Charts Based On,Grafieken gebaseerd op,
YouTube Interactions,YouTube-interacties,
Published Date,datum van het uitbrengen,
Barnch,Barnch,
Select a Company,Selecteer een bedrijf,
Opportunity {0} created,Mogelijkheid {0} gemaakt,
Kindly select the company first,Selecteer eerst het bedrijf,
Please enter From Date and To Date to generate JSON,Voer de From Date en To Date in om JSON te genereren,
PF Account,PF-account,
PF Amount,PF-bedrag,
Additional PF,Extra PF,
PF Loan,PF-lening,
Download DATEV File,Download DATEV-bestand,
Numero has not set in the XML file,Numero is niet ingesteld in het XML-bestand,
Inward Supplies(liable to reverse charge),Inkomende leveringen (onderworpen aan verlegging),
This is based on the course schedules of this Instructor,Dit is gebaseerd op de cursusroosters van deze instructeur,
Course and Assessment,Cursus en beoordeling,
Course {0} has been added to all the selected programs successfully.,Cursus {0} is met succes toegevoegd aan alle geselecteerde programma&#39;s.,
Programs updated,Programma&#39;s bijgewerkt,
Program and Course,Programma en cursus,
{0} or {1} is mandatory,{0} of {1} is verplicht,
Mandatory Fields,Verplichte velden,
Student {0}: {1} does not belong to Student Group {2},Leerling {0}: {1} behoort niet tot leerlinggroep {2},
Student Attendance record {0} already exists against the Student {1},Student aanwezigheidsrecord {0} bestaat al voor de student {1},
Duplicate Entry,Dubbele invoer,
Course and Fee,Cursus en vergoeding,
Not eligible for the admission in this program as per Date Of Birth,Komt niet in aanmerking voor toelating tot dit programma per geboortedatum,
Topic {0} has been added to all the selected courses successfully.,Onderwerp {0} is met succes toegevoegd aan alle geselecteerde cursussen.,
Courses updated,Cursussen bijgewerkt,
{0} {1} has been added to all the selected topics successfully.,{0} {1} is met succes toegevoegd aan alle geselecteerde onderwerpen.,
Topics updated,Onderwerpen bijgewerkt,
Academic Term and Program,Academische termijn en programma,
Please remove this item and try to submit again or update the posting time.,Verwijder dit item en probeer het opnieuw in te dienen of werk de tijd voor het plaatsen bij.,
Failed to Authenticate the API key.,Het verifiëren van de API-sleutel is mislukt.,
Invalid Credentials,Ongeldige inloggegevens,
URL can only be a string,URL mag alleen een tekenreeks zijn,
"Here is your webhook secret, this will be shown to you only once.","Hier is uw webhookgeheim, dit wordt slechts één keer aan u getoond.",
The payment for this membership is not paid. To generate invoice fill the payment details,De betaling voor dit lidmaatschap wordt niet betaald. Vul de betalingsgegevens in om een factuur te genereren,
An invoice is already linked to this document,Aan dit document is al een factuur gekoppeld,
No customer linked to member {},Geen klant gekoppeld aan lid {},
You need to set <b>Debit Account</b> in Membership Settings,U moet de <b>debetrekening</b> instellen in de lidmaatschapsinstellingen,
You need to set <b>Default Company</b> for invoicing in Membership Settings,U moet <b>Standaardbedrijf</b> instellen voor facturering in Lidmaatschapsinstellingen,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,U moet <b>E-mail</b> ter <b>bevestiging verzenden</b> inschakelen in de lidmaatschapsinstellingen,
Error creating membership entry for {0},Fout bij maken van lidmaatschapsitem voor {0},
A customer is already linked to this Member,Er is al een klant aan dit lid gekoppeld,
End Date must not be lesser than Start Date,De einddatum mag niet lager zijn dan de startdatum,
Employee {0} already has Active Shift {1}: {2},Werknemer {0} heeft al actieve dienst {1}: {2},
 from {0},van {0},
 to {0},tot {0},
Please select Employee first.,Selecteer eerst Werknemer.,
Please set {0} for the Employee or for Department: {1},Stel {0} in voor de medewerker of voor de afdeling: {1},
To Date should be greater than From Date,Tot-datum moet groter zijn dan Vanaf datum,
Employee Onboarding: {0} is already for Job Applicant: {1},Onboarding van werknemer: {0} is al voor sollicitant: {1},
Job Offer: {0} is already for Job Applicant: {1},Vacature: {0} is al bedoeld voor sollicitant: {1},
Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Alleen Ploegverzoek met de status &#39;Goedgekeurd&#39; en &#39;Afgewezen&#39; kan worden ingediend,
Shift Assignment: {0} created for Employee: {1},Ploegentoewijzing: {0} gemaakt voor werknemer: {1},
You can not request for your Default Shift: {0},U kunt uw standaarddienst niet aanvragen: {0},
Only Approvers can Approve this Request.,Alleen goedkeurders kunnen dit verzoek goedkeuren.,
Asset Value Analytics,Asset Value Analytics,
Category-wise Asset Value,Categorie-georiënteerde vermogenswaarde,
Total Assets,Totale activa,
New Assets (This Year),Nieuwe activa (dit jaar),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Rij # {}: Afschrijvingsboekingsdatum mag niet gelijk zijn aan Beschikbaar voor gebruik.,
Incorrect Date,Onjuiste datum,
Invalid Gross Purchase Amount,Ongeldig bruto aankoopbedrag,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Er zijn actief onderhoud of reparaties aan het activum. U moet ze allemaal invullen voordat u het activum annuleert.,
% Complete,% Compleet,
Back to Course,Terug naar cursus,
Finish Topic,Onderwerp voltooien,
Mins,Min,
by,door,
Back to,Terug naar,
Enrolling...,Inschrijven ...,
You have successfully enrolled for the program ,Je bent succesvol ingeschreven voor de opleiding,
Enrolled,Ingeschreven,
Watch Intro,Bekijk Intro,
We're here to help!,We zijn hier om te helpen!,
Frequently Read Articles,Lees regelmatig artikelen,
Please set a default company address,Stel een standaard bedrijfsadres in,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} is geen geldige staat! Controleer op typefouten of voer de ISO-code voor uw staat in.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Er is een fout opgetreden bij het parseren van het rekeningschema: zorg ervoor dat geen twee accounts dezelfde naam hebben,
Plaid invalid request error,Fout met ongeldig verzoek geruit,
Please check your Plaid client ID and secret values,Controleer uw Plaid-klant-ID en geheime waarden,
Bank transaction creation error,Fout bij maken van banktransactie,
Unit of Measurement,Meet eenheid,
Fiscal Year {0} Does Not Exist,Boekjaar {0} bestaat niet,
Row # {0}: Returned Item {1} does not exist in {2} {3},Rij # {0}: geretourneerd item {1} bestaat niet in {2} {3},
Valuation type charges can not be marked as Inclusive,Kosten van het taxatietype kunnen niet als inclusief worden gemarkeerd,
You do not have permissions to {} items in a {}.,U heeft geen rechten voor {} items in een {}.,
Insufficient Permissions,Onvoldoende machtigingen,
You are not allowed to update as per the conditions set in {} Workflow.,U mag niet updaten volgens de voorwaarden die zijn ingesteld in {} Workflow.,
Expense Account Missing,Onkostenrekening ontbreekt,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} is geen geldige waarde voor kenmerk {1} van artikel {2}.,
Invalid Value,Ongeldige waarde,
The value {0} is already assigned to an existing Item {1}.,De waarde {0} is al toegewezen aan een bestaand item {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Om toch door te gaan met het bewerken van deze kenmerkwaarde, moet u {0} inschakelen in Instellingen voor itemvarianten.",
Edit Not Allowed,Bewerken niet toegestaan,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Rij # {0}: artikel {1} is al volledig ontvangen in inkooporder {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},U kunt geen boekingen maken of annuleren met in de afgesloten boekhoudperiode {0},
POS Invoice should have {} field checked.,Op POS-factuur moet het veld {} zijn aangevinkt.,
Invalid Item,Ongeldig item,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Rij # {}: u kunt geen positieve hoeveelheden toevoegen aan een retourfactuur. Verwijder item {} om de retourzending te voltooien.,
The selected change account {} doesn't belongs to Company {}.,Het geselecteerde wijzigingsaccount {} behoort niet tot Bedrijf {}.,
Atleast one invoice has to be selected.,Er moet minimaal één factuur worden geselecteerd.,
Payment methods are mandatory. Please add at least one payment method.,Betaalmethoden zijn verplicht. Voeg ten minste één betaalmethode toe.,
Please select a default mode of payment,Selecteer een standaard betalingsmethode,
You can only select one mode of payment as default,U kunt standaard slechts één betalingsmethode selecteren,
Missing Account,Account ontbreekt,
Customers not selected.,Klanten niet geselecteerd.,
Statement of Accounts,Verklaring van de rekeningen,
Ageing Report Based On ,Verouderingsrapport gebaseerd op,
Please enter distributed cost center,Voer de gedistribueerde kostenplaats in,
Total percentage allocation for distributed cost center should be equal to 100,Het totale toewijzingspercentage voor de gedistribueerde kostenplaats moet gelijk zijn aan 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Kan gedistribueerde kostenplaats niet inschakelen voor een kostenplaats die al is toegewezen in een andere gedistribueerde kostenplaats,
Parent Cost Center cannot be added in Distributed Cost Center,Bovenliggende kostenplaats kan niet worden toegevoegd in Gedistribueerde kostenplaats,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Een gedistribueerde kostenplaats kan niet worden toegevoegd aan de verdeelde kostenplaats-allocatietabel.,
Cost Center with enabled distributed cost center can not be converted to group,Kostenplaats met geactiveerde gedistribueerde kostenplaats kan niet worden geconverteerd naar een groep,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,"Kostenplaats die al is toegewezen in een gedistribueerde kostenplaats, kan niet worden geconverteerd naar een groep",
Trial Period Start date cannot be after Subscription Start Date,De startdatum van de proefperiode kan niet na de startdatum van het abonnement liggen,
Subscription End Date must be after {0} as per the subscription plan,De einddatum van het abonnement moet na {0} liggen volgens het abonnement,
Subscription End Date is mandatory to follow calendar months,De einddatum van het abonnement is verplicht om kalendermaanden te volgen,
Row #{}: POS Invoice {} is not against customer {},Rij # {}: POS-factuur {} is niet gericht op klant {},
Row #{}: POS Invoice {} is not submitted yet,Rij # {}: POS-factuur {} is nog niet verzonden,
Row #{}: POS Invoice {} has been {},Rij # {}: POS-factuur {} is {},
No Supplier found for Inter Company Transactions which represents company {0},Geen leverancier gevonden voor transacties tussen bedrijven die het bedrijf vertegenwoordigen {0},
No Customer found for Inter Company Transactions which represents company {0},Geen klant gevonden voor transacties tussen bedrijven die het bedrijf vertegenwoordigen {0},
Invalid Period,Ongeldige periode,
Selected POS Opening Entry should be open.,Het geselecteerde POS-openingsitem moet open zijn.,
Invalid Opening Entry,Ongeldige openingsinvoer,
Please set a Company,Stel een bedrijf in,
"Sorry, this coupon code's validity has not started","Sorry, de geldigheid van deze couponcode is niet gestart",
"Sorry, this coupon code's validity has expired","Sorry, de geldigheid van deze couponcode is verlopen",
"Sorry, this coupon code is no longer valid","Sorry, deze couponcode is niet langer geldig",
For the 'Apply Rule On Other' condition the field {0} is mandatory,Voor de voorwaarde &#39;Regel toepassen op andere&#39; is het veld {0} verplicht,
{1} Not in Stock,{1} Niet op voorraad,
Only {0} in Stock for item {1},Slechts {0} op voorraad voor artikel {1},
Please enter a coupon code,Voer een couponcode in,
Please enter a valid coupon code,Voer een geldige couponcode in,
Invalid Child Procedure,Ongeldige kindprocedure,
Import Italian Supplier Invoice.,Importeer Italiaanse leveranciersfactuur.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","Waarderingstarief voor het item {0}, is vereist om boekhoudkundige gegevens voor {1} {2} te doen.",
 Here are the options to proceed:,Hier zijn de opties om door te gaan:,
"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Als het item een transactie uitvoert als een item met een nulwaarderingstarief in dit item, schakel dan &#39;Nulwaarderingspercentage toestaan&#39; in de tabel {0} Item in.",
"If not, you can Cancel / Submit this entry ","Als dit niet het geval is, kunt u dit item annuleren / indienen",
 performing either one below:,uitvoeren van een van de onderstaande:,
Create an incoming stock transaction for the Item.,Maak een inkomende voorraadtransactie voor het artikel.,
Mention Valuation Rate in the Item master.,Vermeld waarderingspercentage in het artikelmodel.,
Valuation Rate Missing,Waarderingstarief ontbreekt,
Serial Nos Required,Serienummers vereist,
Quantity Mismatch,Hoeveelheid komt niet overeen,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.",Vul items bij en werk de keuzelijst bij om door te gaan. Annuleer de keuzelijst om te stoppen.,
Out of Stock,Niet op voorraad,
{0} units of Item {1} is not available.,{0} eenheden van artikel {1} is niet beschikbaar.,
Item for row {0} does not match Material Request,Artikel voor rij {0} komt niet overeen met materiaalverzoek,
Warehouse for row {0} does not match Material Request,Magazijn voor rij {0} komt niet overeen met materiaalverzoek,
Accounting Entry for Service,Boekhoudkundige invoer voor service,
All items have already been Invoiced/Returned,Alle items zijn al gefactureerd / geretourneerd,
All these items have already been Invoiced/Returned,Al deze items zijn al gefactureerd / geretourneerd,
Stock Reconciliations,Voorraadafstemmingen,
Merge not allowed,Samenvoegen niet toegestaan,
The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,De volgende verwijderde attributen bestaan in varianten maar niet in de sjabloon. U kunt de varianten verwijderen of het / de attribuut (en) in de sjabloon behouden.,
Variant Items,Variantartikelen,
Variant Attribute Error,Fout bij variantkenmerk,
The serial no {0} does not belong to item {1},Het serienummer {0} hoort niet bij artikel {1},
There is no batch found against the {0}: {1},Er is geen batch gevonden voor de {0}: {1},
Completed Operation,Voltooide operatie,
Work Order Analysis,Werkorderanalyse,
Quality Inspection Analysis,Kwaliteitscontrole-analyse,
Pending Work Order,In afwachting van werkopdracht,
Last Month Downtime Analysis,Uitvaltijdanalyse afgelopen maand,
Work Order Qty Analysis,Analyse van het aantal werkorders,
Job Card Analysis,Job Card-analyse,
Monthly Total Work Orders,Maandelijkse totale werkorders,
Monthly Completed Work Orders,Maandelijks voltooide werkorders,
Ongoing Job Cards,Doorlopende opdrachtkaarten,
Monthly Quality Inspections,Maandelijkse kwaliteitsinspecties,
(Forecast),(Voorspelling),
Total Demand (Past Data),Totale vraag (gegevens uit het verleden),
Total Forecast (Past Data),Totale prognose (gegevens uit het verleden),
Total Forecast (Future Data),Totale prognose (toekomstige gegevens),
Based On Document,Gebaseerd op document,
Based On Data ( in years ),Gebaseerd op gegevens (in jaren),
Smoothing Constant,Egaliserende constante,
Please fill the Sales Orders table,Vul de tabel met verkooporders in,
Sales Orders Required,Verkooporders vereist,
Please fill the Material Requests table,Vul de tabel met materiaalverzoeken in,
Material Requests Required,Materiële verzoeken vereist,
Items to Manufacture are required to pull the Raw Materials associated with it.,Te vervaardigen artikelen zijn vereist om de bijbehorende grondstoffen te trekken.,
Items Required,Items vereist,
Operation {0} does not belong to the work order {1},Bewerking {0} hoort niet bij de werkorder {1},
Print UOM after Quantity,Druk maateenheid af na aantal,
Set default {0} account for perpetual inventory for non stock items,Stel een standaard {0} -account in voor eeuwigdurende voorraad voor niet-voorraadartikelen,
Loan Security {0} added multiple times,Leningzekerheid {0} meerdere keren toegevoegd,
Loan Securities with different LTV ratio cannot be pledged against one loan,Lening Effecten met verschillende LTV-ratio&#39;s kunnen niet worden verpand tegen één lening,
Qty or Amount is mandatory for loan security!,Aantal of Bedrag is verplicht voor leenzekerheid!,
Only submittted unpledge requests can be approved,Alleen ingediende verzoeken tot ongedaan maken van pand kunnen worden goedgekeurd,
Interest Amount or Principal Amount is mandatory,Rentebedrag of hoofdsom is verplicht,
Disbursed Amount cannot be greater than {0},Uitbetaald bedrag mag niet hoger zijn dan {0},
Row {0}: Loan Security {1} added multiple times,Rij {0}: leningzekerheid {1} meerdere keren toegevoegd,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Rij # {0}: onderliggend item mag geen productbundel zijn. Verwijder item {1} en sla het op,
Credit limit reached for customer {0},Kredietlimiet bereikt voor klant {0},
Could not auto create Customer due to the following missing mandatory field(s):,Klant kan niet automatisch worden aangemaakt vanwege de volgende ontbrekende verplichte velden:,
Please create Customer from Lead {0}.,Maak een klant op basis van lead {0}.,
Mandatory Missing,Verplicht ontbreekt,
Please set Payroll based on in Payroll settings,Stel Payroll in op basis van in Payroll-instellingen,
Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Extra salaris: {0} bestaat al voor salariscomponent: {1} voor periode {2} en {3},
From Date can not be greater than To Date.,Vanaf datum kan niet groter zijn dan Tot datum.,
Payroll date can not be less than employee's joining date.,Salarisdatum mag niet lager zijn dan de datum waarop de werknemer toetreedt.,
From date can not be less than employee's joining date.,De begindatum kan niet korter zijn dan de datum waarop de werknemer toetreedt.,
To date can not be greater than employee's relieving date.,Tot op heden kan niet langer zijn dan de aflossingsdatum van de werknemer.,
Payroll date can not be greater than employee's relieving date.,Salarisdatum kan niet hoger zijn dan de aflossingsdatum van de werknemer.,
Row #{0}: Please enter the result value for {1},Rij # {0}: voer de resultaatwaarde in voor {1},
Mandatory Results,Verplichte resultaten,
Sales Invoice or Patient Encounter is required to create Lab Tests,Een verkoopfactuur of een ontmoeting met de patiënt is vereist om laboratoriumtests te maken,
Insufficient Data,Niet genoeg data,
Lab Test(s) {0} created successfully,Labtest (en) {0} succesvol gemaakt,
Test :,Test :,
Sample Collection {0} has been created,Sample Collection {0} is gemaakt,
Normal Range: ,Normaal bereik:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Rij # {0}: datetime voor uitchecken kan niet minder zijn dan datetime voor inchecken,
"Missing required details, did not create Inpatient Record","Vereiste details ontbreken, er is geen opname gemaakt",
Unbilled Invoices,Niet-gefactureerde facturen,
Standard Selling Rate should be greater than zero.,Het standaardverkooptarief moet groter zijn dan nul.,
Conversion Factor is mandatory,Conversiefactor is verplicht,
Row #{0}: Conversion Factor is mandatory,Rij # {0}: conversiefactor is verplicht,
Sample Quantity cannot be negative or 0,De steekproefhoeveelheid kan niet negatief of 0 zijn,
Invalid Quantity,Ongeldige hoeveelheid,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Stel de standaardwaarden in voor klantgroep, territorium en verkoopprijslijst in de verkoopinstellingen",
{0} on {1},{0} op {1},
{0} with {1},{0} met {1},
Appointment Confirmation Message Not Sent,Afspraakbevestigingsbericht niet verzonden,
"SMS not sent, please check SMS Settings","SMS niet verzonden, controleer de SMS-instellingen",
Healthcare Service Unit Type cannot have both {0} and {1},Type zorgeenheid kan niet zowel {0} als {1} hebben,
Healthcare Service Unit Type must allow atleast one among {0} and {1},Het type zorgeenheid moet ten minste één van de {0} en {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Stel Reactietijd en Oplossingstijd voor Prioriteit {0} in rij {1} in.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Reactietijd voor {0} prioriteit in rij {1} kan niet groter zijn dan Oplossingstijd.,
{0} is not enabled in {1},{0} is niet ingeschakeld in {1},
Group by Material Request,Groeperen op materiaalverzoek,
Email Sent to Supplier {0},E-mail verzonden naar leverancier {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","De toegang tot offerteaanvraag vanuit de portal is uitgeschakeld. Om toegang toe te staan, schakelt u het in in Portal-instellingen.",
Supplier Quotation {0} Created,Offerte van leverancier {0} gemaakt,
Valid till Date cannot be before Transaction Date,Geldig tot Datum kan niet voor Transactiedatum liggen,
Unlink Advance Payment on Cancellation of Order,Ontkoppel vooruitbetaling bij annulering van bestelling,
"Simple Python Expression, Example: territory != 'All Territories'","Eenvoudige Python-expressie, voorbeeld: territorium! = &#39;Alle territoria&#39;",
Sales Contributions and Incentives,Verkoopbijdragen en incentives,
Sourced by Supplier,Afkomstig van leverancier,
Total weightage assigned should be 100%.<br>It is {0},Het totale toegewezen gewicht moet 100% zijn.<br> Het is {0},
Account {0} exists in parent company {1}.,Account {0} bestaat in moederbedrijf {1}.,
"To overrule this, enable '{0}' in company {1}",Schakel &#39;{0}&#39; in bedrijf {1} in om dit te negeren,
Invalid condition expression,Ongeldige voorwaarde-uitdrukking,
Please Select a Company First,Selecteer eerst een bedrijf,
Please Select Both Company and Party Type First,Selecteer eerst zowel het type bedrijf als partij,
Provide the invoice portion in percent,Geef het factuurgedeelte op in procenten,
Give number of days according to prior selection,Geef het aantal dagen op volgens voorafgaande selectie,
Email Details,E-mailgegevens,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Selecteer een begroeting voor de ontvanger. Bijv. Meneer, mevrouw, etc.",
Preview Email,Voorbeeld van e-mail bekijken,
Please select a Supplier,Selecteer een leverancier,
Supplier Lead Time (days),Doorlooptijd leverancier (dagen),
"Home, Work, etc.","Thuis, werk, etc.",
Exit Interview Held On,Exit Interview aangehouden,
Condition and formula,Staat en formule,
Sets 'Target Warehouse' in each row of the Items table.,Stelt &#39;Target Warehouse&#39; in in elke rij van de Item-tabel.,
Sets 'Source Warehouse' in each row of the Items table.,Stelt &#39;Bronmagazijn&#39; in in elke rij van de itemtabel.,
POS Register,POS-register,
"Can not filter based on POS Profile, if grouped by POS Profile","Kan niet filteren op basis van POS-profiel, indien gegroepeerd op POS-profiel",
"Can not filter based on Customer, if grouped by Customer","Kan niet filteren op klant, indien gegroepeerd op klant",
"Can not filter based on Cashier, if grouped by Cashier","Kan niet filteren op basis van kassier, indien gegroepeerd op kassier",
Payment Method,Betalingswijze,
"Can not filter based on Payment Method, if grouped by Payment Method","Kan niet filteren op basis van betalingsmethode, indien gegroepeerd op betalingsmethode",
Supplier Quotation Comparison,Vergelijking van offertes van leveranciers,
Price per Unit (Stock UOM),Prijs per stuk (voorraadeenheid),
Group by Supplier,Groeperen op leverancier,
Group by Item,Groeperen op item,
Remember to set {field_label}. It is required by {regulation}.,Vergeet niet om {field_label} in te stellen. Het is vereist door {regelgeving}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},Inschrijvingsdatum mag niet voor de startdatum van het academische jaar liggen {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},Inschrijvingsdatum mag niet na de einddatum van de academische periode zijn {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},Inschrijvingsdatum mag niet voor de startdatum van de academische periode liggen {0},
Future Posting Not Allowed,Toekomstige plaatsing niet toegestaan,
"To enable Capital Work in Progress Accounting, ","Om Capital Work in Progress Accounting in te schakelen,",
you must select Capital Work in Progress Account in accounts table,u moet Capital Work in Progress Account selecteren in de rekeningentabel,
You can also set default CWIP account in Company {},U kunt ook een standaard CWIP-account instellen in Bedrijf {},
The Request for Quotation can be accessed by clicking on the following button,De offerteaanvraag is toegankelijk door op de volgende knop te klikken,
Regards,vriendelijke groeten,
Please click on the following button to set your new password,Klik op de volgende knop om uw nieuwe wachtwoord in te stellen,
Update Password,Vernieuw wachtwoord,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Rij # {}: het verkooppercentage voor artikel {} is lager dan zijn {}. Verkopen {} zou minstens {} moeten zijn,
You can alternatively disable selling price validation in {} to bypass this validation.,U kunt ook de verkoopprijsvalidatie uitschakelen in {} om deze validatie te omzeilen.,
Invalid Selling Price,Ongeldige verkoopprijs,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adres moet aan een bedrijf zijn gekoppeld. Voeg een rij toe voor Bedrijf in de tabel met links.,
Company Not Linked,Bedrijf niet gekoppeld,
Import Chart of Accounts from CSV / Excel files,Rekeningschema importeren vanuit CSV / Excel-bestanden,
Completed Qty cannot be greater than 'Qty to Manufacture',Voltooide hoeveelheid kan niet groter zijn dan &#39;Te vervaardigen aantal&#39;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email",Rij {0}: voor leverancier {1} is het e-mailadres vereist om een e-mail te verzenden,
"If enabled, the system will post accounting entries for inventory automatically","Indien ingeschakeld, boekt het systeem automatisch boekhoudkundige posten voor voorraad",
Accounts Frozen Till Date,Accounts bevroren tot datum,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Boekhoudposten zijn tot op deze datum bevroren. Niemand kan items maken of wijzigen behalve gebruikers met de hieronder gespecificeerde rol,
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rol toegestaan om bevroren accounts in te stellen en bevroren items te bewerken,
Address used to determine Tax Category in transactions,Adres dat wordt gebruikt om de belastingcategorie in transacties te bepalen,
"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Het percentage dat u meer mag afrekenen op het bestelde bedrag. Als de bestelwaarde voor een artikel bijvoorbeeld € 100 is en de tolerantie is ingesteld op 10%, mag u maximaal € 110 in rekening brengen",
This role is allowed to submit transactions that exceed credit limits,Deze rol mag transacties indienen die de kredietlimieten overschrijden,
"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Als &quot;Maanden&quot; is geselecteerd, wordt een vast bedrag geboekt als uitgestelde inkomsten of uitgaven voor elke maand, ongeacht het aantal dagen in een maand. Het wordt pro rata berekend als uitgestelde inkomsten of uitgaven niet voor een hele maand worden geboekt",
"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Als dit niet is aangevinkt, worden directe grootboekboekingen gecreëerd om uitgestelde inkomsten of uitgaven te boeken",
Show Inclusive Tax in Print,Toon inclusief belasting in print,
Only select this if you have set up the Cash Flow Mapper documents,Selecteer dit alleen als u de Cash Flow Mapper-documenten heeft ingesteld,
Payment Channel,Betalingskanaal,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Is een inkooporder vereist voor het aanmaken van inkoopfacturen en ontvangstbewijzen?,
Is Purchase Receipt Required for Purchase Invoice Creation?,Is een aankoopbewijs vereist voor het maken van een aankoopfactuur?,
Maintain Same Rate Throughout the Purchase Cycle,Handhaaf hetzelfde tarief gedurende de hele aankoopcyclus,
Allow Item To Be Added Multiple Times in a Transaction,Toestaan dat item meerdere keren aan een transactie wordt toegevoegd,
Suppliers,Leveranciers,
Send Emails to Suppliers,Stuur e-mails naar leveranciers,
Select a Supplier,Selecteer een leverancier,
Cannot mark attendance for future dates.,Kan aanwezigheid niet markeren voor toekomstige datums.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Wilt u de aanwezigheid bijwerken?<br> Aanwezig: {0}<br> Afwezig: {1},
Mpesa Settings,Mpesa-instellingen,
Initiator Name,Naam initiator,
Till Number,Tot nummer,
Sandbox,Sandbox,
 Online PassKey,Online PassKey,
Security Credential,Beveiligingsreferentie,
Get Account Balance,Krijg rekeningsaldo,
Please set the initiator name and the security credential,Stel de naam van de initiator en de beveiligingsreferentie in,
Inpatient Medication Entry,Invoer van medicatie voor intramurale patiënten,
HLC-IME-.YYYY.-,HLC-IME-.JJJJ.-,
Item Code (Drug),Artikelcode (medicijn),
Medication Orders,Medicatiebestellingen,
Get Pending Medication Orders,Ontvang lopende medicatiebestellingen,
Inpatient Medication Orders,Medicatiebestellingen voor intramurale patiënten,
Medication Warehouse,Medicatie magazijn,
Warehouse from where medication stock should be consumed,Magazijn van waaruit medicatievoorraad moet worden geconsumeerd,
Fetching Pending Medication Orders,Medicatiebestellingen ophalen die in behandeling zijn,
Inpatient Medication Entry Detail,Detail van invoer van medicatie voor intramurale patiënten,
Medication Details,Medicatiegegevens,
Drug Code,Medicijncode,
Drug Name,Medicijnnaam,
Against Inpatient Medication Order,Tegen intramurale medicatie,
Against Inpatient Medication Order Entry,Tegen het invoeren van intramurale medicatie,
Inpatient Medication Order,Medicatiebestelling voor intramurale patiënten,
HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
Total Orders,Totaal aantal bestellingen,
Completed Orders,Voltooide bestellingen,
Add Medication Orders,Voeg medicatieorders toe,
Adding Order Entries,Ordergegevens toevoegen,
{0} medication orders completed,{0} medicatiebestellingen voltooid,
{0} medication order completed,{0} medicatiebestelling voltooid,
Inpatient Medication Order Entry,Invoer van medicatiebestelling voor intramurale patiënten,
Is Order Completed,Is de bestelling voltooid,
Employee Records to Be Created By,Werknemersrecords die moeten worden aangemaakt door,
Employee records are created using the selected field,Werknemersrecords worden gemaakt met behulp van het geselecteerde veld,
Don't send employee birthday reminders,Stuur geen verjaardagsherinneringen van werknemers,
Restrict Backdated Leave Applications,Beperk verlofaanvragen met terugwerkende kracht,
Sequence ID,Volgorde-ID,
Sequence Id,Volgorde-ID,
Allow multiple material consumptions against a Work Order,Sta meerdere materiaalconsumptie toe op basis van een werkorder,
Plan time logs outside Workstation working hours,Plan tijdregistraties buiten de werkuren van het werkstation,
Plan operations X days in advance,Plan operaties X dagen van tevoren,
Time Between Operations (Mins),Tijd tussen bewerkingen (minuten),
Default: 10 mins,Standaard: 10 minuten,
Overproduction for Sales and Work Order,Overproductie voor verkoop en werkorder,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","BOM-kosten automatisch bijwerken via planner, op basis van het laatste taxatietarief / prijslijsttarief / laatste aankooptarief van grondstoffen",
Purchase Order already created for all Sales Order items,Inkooporder is al aangemaakt voor alle verkooporderartikelen,
Select Items,Selecteer items,
Against Default Supplier,Tegen standaardleverancier,
Auto close Opportunity after the no. of days mentioned above,Opportunity automatisch sluiten na de nr. van bovengenoemde dagen,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Is een verkooporder vereist voor het maken van verkoopfacturen en leveringsnota&#39;s?,
Is Delivery Note Required for Sales Invoice Creation?,Is een leveringsnota vereist voor het aanmaken van een verkoopfactuur?,
How often should Project and Company be updated based on Sales Transactions?,Hoe vaak moeten project en bedrijf worden bijgewerkt op basis van verkooptransacties?,
Allow User to Edit Price List Rate in Transactions,Gebruiker toestaan prijslijsttarief in transacties te bewerken,
Allow Item to Be Added Multiple Times in a Transaction,Toestaan dat item meerdere keren aan een transactie wordt toegevoegd,
Allow Multiple Sales Orders Against a Customer's Purchase Order,Meerdere verkooporders toestaan tegen de inkooporder van een klant,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Valideer de verkoopprijs voor het artikel tegen het aankooptarief of het taxatietarief,
Hide Customer's Tax ID from Sales Transactions,Verberg het btw-nummer van de klant voor verkooptransacties,
"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Het percentage dat u meer mag ontvangen of leveren ten opzichte van de bestelde hoeveelheid. Als u bijvoorbeeld 100 eenheden heeft besteld en uw toeslag is 10%, dan mag u 110 eenheden ontvangen.",
Action If Quality Inspection Is Not Submitted,Actie als er geen kwaliteitsinspectie wordt ingediend,
Auto Insert Price List Rate If Missing,Prijslijst automatisch invoegen indien ontbreekt,
Automatically Set Serial Nos Based on FIFO,Stel automatisch serienummers in op basis van FIFO,
Set Qty in Transactions Based on Serial No Input,Stel het aantal transacties in op basis van serienr. Invoer,
Raise Material Request When Stock Reaches Re-order Level,Verhoog materiaalverzoek wanneer de voorraad het bestelniveau bereikt,
Notify by Email on Creation of Automatic Material Request,Stel per e-mail op de hoogte bij het aanmaken van een automatisch materiaalverzoek,
Allow Material Transfer from Delivery Note to Sales Invoice,Materiaaloverdracht van afleveringsbon naar verkoopfactuur toestaan,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Materiaaloverdracht van inkoopontvangst naar inkoopfactuur toestaan,
Freeze Stocks Older Than (Days),Voorraden ouder dan (dagen) bevriezen,
Role Allowed to Edit Frozen Stock,Rol toegestaan om bevroren voorraad te bewerken,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Het niet-toegewezen bedrag van betalingsinvoer {0} is groter dan het niet-toegewezen bedrag van de banktransactie,
Payment Received,Betaling ontvangen,
Attendance cannot be marked outside of Academic Year {0},Aanwezigheid kan niet worden beoordeeld buiten het academische jaar {0},
Student is already enrolled via Course Enrollment {0},Student is al ingeschreven via cursusinschrijving {0},
Attendance cannot be marked for future dates.,Aanwezigheid kan niet worden gemarkeerd voor toekomstige datums.,
Please add programs to enable admission application.,Voeg programma&#39;s toe om toelatingsaanvraag mogelijk te maken.,
The following employees are currently still reporting to {0}:,De volgende medewerkers rapporteren momenteel nog aan {0}:,
Please make sure the employees above report to another Active employee.,Zorg ervoor dat de bovenstaande medewerkers zich melden bij een andere actieve medewerker.,
Cannot Relieve Employee,Kan werknemer niet ontlasten,
Please enter {0},Voer {0} in,
Please select another payment method. Mpesa does not support transactions in currency '{0}',Selecteer een andere betalingsmethode. Mpesa ondersteunt geen transacties in valuta &#39;{0}&#39;,
Transaction Error,Transactiefout,
Mpesa Express Transaction Error,Mpesa Express-transactiefout,
"Issue detected with Mpesa configuration, check the error logs for more details","Probleem gedetecteerd met Mpesa-configuratie, controleer de foutenlogboeken voor meer details",
Mpesa Express Error,Mpesa Express-fout,
Account Balance Processing Error,Fout bij verwerking rekeningsaldo,
Please check your configuration and try again,Controleer uw configuratie en probeer het opnieuw,
Mpesa Account Balance Processing Error,Mpesa Accountsaldo Verwerkingsfout,
Balance Details,Saldo Details,
Current Balance,Huidig saldo,
Available Balance,beschikbaar saldo,
Reserved Balance,Gereserveerd saldo,
Uncleared Balance,Onduidelijk saldo,
Payment related to {0} is not completed,De betaling met betrekking tot {0} is niet voltooid,
Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rij # {}: serienummer {}. {} is al verwerkt in een andere POS-factuur. Selecteer een geldig serienummer.,
Row #{}: Item Code: {} is not available under warehouse {}.,Rij # {}: artikelcode: {} is niet beschikbaar onder magazijn {}.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rij # {}: voorraadhoeveelheid niet genoeg voor artikelcode: {} onder magazijn {}. Beschikbare kwaliteit {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rij # {}: selecteer een serienummer en batch voor artikel: {} of verwijder het om de transactie te voltooien.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Rij # {}: geen serienummer geselecteerd voor item: {}. Selecteer er een of verwijder deze om de transactie te voltooien.,
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Rij # {}: geen batch geselecteerd voor item: {}. Selecteer een batch of verwijder deze om de transactie te voltooien.,
Payment amount cannot be less than or equal to 0,Het betalingsbedrag mag niet lager zijn dan of gelijk zijn aan 0,
Please enter the phone number first,Voer eerst het telefoonnummer in,
Row #{}: {} {} does not exist.,Rij # {}: {} {} bestaat niet.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Rij # {0}: {1} is vereist om de openingsfacturen {2} te maken,
You had {} errors while creating opening invoices. Check {} for more details,U had {} fouten bij het maken van openingsfacturen. Kijk op {} voor meer details,
Error Occured,Fout opgetreden,
Opening Invoice Creation In Progress,Aanmaak van factuur wordt geopend,
Creating {} out of {} {},{} Creëren uit {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Serienummer: {0}) kan niet worden geconsumeerd omdat het is gereserveerd om verkooporder {1} te vervullen.,
Item {0} {1},Artikel {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Laatste voorraadtransactie voor artikel {0} onder magazijn {1} was op {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Voorraadtransacties voor artikel {0} onder magazijn {1} kunnen vóór deze tijd niet worden geboekt.,
Posting future stock transactions are not allowed due to Immutable Ledger,Het boeken van toekomstige aandelentransacties is niet toegestaan vanwege Immutable Ledger,
A BOM with name {0} already exists for item {1}.,Er bestaat al een stuklijst met naam {0} voor artikel {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Heeft u de naam van het item gewijzigd? Neem contact op met de beheerder / technische ondersteuning,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},Op rij # {0}: de reeks-ID {1} mag niet kleiner zijn dan de vorige rij-reeks-ID {2},
The {0} ({1}) must be equal to {2} ({3}),De {0} ({1}) moet gelijk zijn aan {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, voltooi de bewerking {1} vóór de bewerking {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,"Kan levering met serienummer niet garanderen, aangezien artikel {0} wordt toegevoegd met en zonder Levering met serienummer garanderen.",
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Artikel {0} heeft geen serienummer. Alleen artikelen met serienummer kunnen worden geleverd op basis van serienummer,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Geen actieve stuklijst gevonden voor artikel {0}. Levering met serienummer kan niet worden gegarandeerd,
No pending medication orders found for selected criteria,Geen lopende medicatiebestellingen gevonden voor geselecteerde criteria,
From Date cannot be after the current date.,Vanaf datum kan niet na de huidige datum liggen.,
To Date cannot be after the current date.,Tot datum kan niet na de huidige datum liggen.,
From Time cannot be after the current time.,Van tijd kan niet na de huidige tijd zijn.,
To Time cannot be after the current time.,To Time kan niet na de huidige tijd zijn.,
Stock Entry {0} created and ,Voorraadinvoer {0} gemaakt en,
Inpatient Medication Orders updated successfully,Orders voor intramurale medicatie zijn bijgewerkt,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Rij {0}: kan geen opname voor intramurale medicatie maken tegen geannuleerde medicatiebestelling voor intramurale patiënten {1},
Row {0}: This Medication Order is already marked as completed,Rij {0}: deze medicatiebestelling is al gemarkeerd als voltooid,
Quantity not available for {0} in warehouse {1},Hoeveelheid niet beschikbaar voor {0} in magazijn {1},
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Schakel Negatieve voorraad toestaan in Voorraadinstellingen in of maak voorraadinvoer om door te gaan.,
No Inpatient Record found against patient {0},Geen ziekenhuisrecord gevonden voor patiënt {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Er bestaat al een bestelling voor intramurale medicatie {0} tegen ontmoeting met de patiënt {1}.,
