"""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 All Suppliers,Voeg alle leveranciers toe,
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 a received RFQ to No Quote,Kan geen ontvangen RFQ zonder citaat instellen,
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 status cannot be set to 'Left' as following employees are currently reporting to this employee:&nbsp;,De werknemersstatus kan niet worden ingesteld op &#39;Links&#39; omdat de volgende werknemers momenteel rapporteren aan deze werknemer:,
Employee {0} already submited an apllication {1} for the payroll period {2},Werknemer {0} heeft al een aanvraag ingediend {1} voor de loonperiode {2},
Employee {0} has already applied for {1} between {2} and {3} : ,Werknemer {0} heeft al een aanvraag ingediend voor {1} tussen {2} en {3}:,
Employee {0} has 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},
Leave the field empty to make purchase orders for all suppliers,Laat het veld leeg om inkooporders voor alle leveranciers te maken,
Leaves,bladeren,
Leaves Allocated Successfully for {0},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 Quote,Geen citaat,
No Remarks,Geen opmerkingen,
No Result to submit,Geen resultaat om in te dienen,
No Salary Structure assigned for Employee {0} on given date {1},Geen salarisstructuur toegewezen voor werknemer {0} op opgegeven datum {1},
No Staffing Plans found for this Designation,Geen personeelsplanning gevonden voor deze aanwijzing,
No Student Groups created.,Geen 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,
PO already created for all sales order items,PO is al gecreëerd voor alle klantorderitems,
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} is required to create the Opening {2} Invoices,Rij {0}: {1} is vereist om de openstaande {2} facturen te maken,
Row {0}: {1} must be greater than 0,Rij {0}: {1} moet groter zijn dan 0,
Row {0}: {1} {2} does not match with {3},Rij {0}: {1} {2} 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 Supplier Emails,Stuur Leverancier Emails,
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} 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 {},
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,
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,
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 ...,
Creating {0},{0} maken,
Credit limit is already defined for the Company {0},Kredietlimiet is al gedefinieerd voor het bedrijf {0},
Ctrl + Enter to submit,Ctrl + Enter om in te dienen,
Ctrl+Enter to submit,Ctrl + Enter om 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,
"If enabled, the system will post accounting entries for inventory automatically.","Indien aangevinkt, zal het systeem voorraadboekingen automatisch plaatsen.",
Accounts Frozen Upto,Rekeningen bevroren tot,
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Boekingen bevroren tot deze datum, niemand kan / de boeking wijzigen behalve de hieronder gespecificeerde rol.",
Role Allowed to Set Frozen Accounts & Edit Frozen Entries,Rol toegestaan om Stel Frozen Accounts & bewerken Frozen Entries,
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,
Address used to determine Tax Category in transactions.,Adres dat wordt gebruikt om belastingcategorie in transacties te bepalen.,
Over Billing Allowance (%),Overfactureringstoeslag (%),
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 for $110.,"Percentage dat u meer mag factureren tegen het bestelde bedrag. Bijvoorbeeld: als de bestelwaarde $ 100 is voor een artikel en de tolerantie is ingesteld op 10%, mag u $ 110 factureren.",
Credit Controller,Credit Controller,
Role that is allowed to submit transactions that exceed credit limits set.,Rol welke is toegestaan om transacties in te dienen die gestelde kredietlimieten overschrijden .,
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 Inclusive Tax In Print,Toon Inclusive Tax In Print,
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,
Only select if you have setup Cash Flow Mapper documents,Selecteer alleen als u Cash Flow Mapper-documenten hebt ingesteld,
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,
Maintain same rate throughout purchase cycle,Handhaaf zelfde tarief gedurende inkoopcyclus,
Allow Item to be added multiple times in a transaction,Toestaan Item om meerdere keren in een transactie worden toegevoegd,
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,
Supplier Detail,Leverancier Detail,
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,
Employee Records to be created by,Werknemer Records worden gecreëerd door,
Employee record is created using selected field. ,Werknemer regel wordt gemaakt met behulp van geselecteerd veld.,
Stop Birthday Reminders,Stop verjaardagsherinneringen,
Don't send Employee Birthday Reminders,Stuur geen Werknemer 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,
Restrict Backdated Leave Application,Beperking van aanvraag met verlof met datum,
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,
Allow multiple Material Consumption against a Work Order,Sta meerdere materiaalconsumptie toe tegen een werkorder,
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,
Plan time logs outside Workstation Working Hours.,Plan tijd logs buiten Workstation Arbeidstijdenwet.,
Allow Production on Holidays,Laat Productie op vakantie,
Capacity Planning For (Days),Capacity Planning Voor (Dagen),
Try planning operations for X days in advance.,Probeer plan operaties voor X dagen van tevoren.,
Time Between Operations (in mins),Time Between Operations (in minuten),
Default 10 mins,Standaard 10 min,
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,
Over Production for Sales and Work Order,Overproductie voor verkoop en werkorder,
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,
"Update BOM cost automatically via Scheduler, based on latest valuation rate / price list rate / last purchase rate of raw materials.","Update BOM kosten automatisch via Scheduler, op basis van de laatste waarderingssnelheid / prijslijst koers / laatste aankoophoeveelheid grondstoffen.",
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,
Auto close Opportunity after 15 days,Auto dicht Opportunity na 15 dagen,
Default Quotation Validity Days,Standaard prijsofferte dagen,
Sales Update Frequency,Frequentie van verkoopupdates,
How often should project and company be updated based on Sales Transactions.,Hoe vaak moeten project en bedrijf worden bijgewerkt op basis van verkooptransacties.,
Each Transaction,Elke transactie,
Allow user to edit Price List Rate in transactions,Zodat de gebruiker te bewerken prijslijst Rate bij transacties,
Allow multiple Sales Orders against a Customer's Purchase Order,Kunnen meerdere verkooporders tegen een klant bestelling,
Validate Selling Price for Item against Purchase Rate or Valuation Rate,Valideren verkoopprijs voor post tegen Purchase Rate of Valuation Rate,
Hide Customer's Tax Id from Sales Transactions,Hide Klant het BTW-nummer van Verkooptransacties,
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,
Percentage you are allowed to receive or deliver more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to receive 110 units.,Percentage dat u meer mag ontvangen of leveren dan de bestelde hoeveelheid. Bijvoorbeeld: Als u  100 eenheden heeft besteld en uw bandbreedte is 10% dan mag u 110 eenheden ontvangen.,
Action if Quality inspection is not submitted,Actie als kwaliteitsinspectie niet is ingediend,
Show Barcode Field,Show streepjescodeveld,
Convert Item Description to Clean HTML,Itembeschrijving converteren om HTML te wissen,
Auto insert Price List rate if missing,Auto insert Prijslijst tarief als vermist,
Allow Negative Stock,Laat Negatieve voorraad,
Automatically Set Serial Nos based on FIFO,Automatisch instellen serienummers op basis van FIFO,
Set Qty in Transactions based on Serial No Input,Aantal instellen in transacties op basis van serieel geen invoer,
Auto Material Request,Automatisch Materiaal Request,
Raise Material Request when stock reaches re-order level,Maak Materiaal Aanvraag wanneer voorraad daalt tot onder het bestelniveau,
Notify by Email on creation of automatic Material Request,Notificeer per e-mail bij automatisch aanmaken van Materiaal Aanvraag,
Inter Warehouse Transfer Settings,Instellingen intermagazijnoverdracht,
Allow Material Transfer From Delivery Note and Sales Invoice,Materiaaloverdracht van afleveringsbon en verkoopfactuur toestaan,
Allow Material Transfer From Purchase Receipt and Purchase Invoice,Materiaaloverdracht van inkoopontvangst en inkoopfactuur toestaan,
Freeze Stock Entries,Freeze Stock Entries,
Stock Frozen Upto,Voorraad Bevroren Tot,
Freeze Stocks Older Than [Days],Bevries Voorraden ouder dan [dagen],
Role Allowed to edit frozen stock,Rol toegestaan om bevroren voorraden bewerken,
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,
"If ""Months"" is selected then fixed amount will be booked as deferred revenue or expense for each month irrespective of number of days in a month. 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. Wordt pro rata berekend als uitgestelde inkomsten of uitgaven niet voor een hele maand worden geboekt.",
Days,Dagen,
Months,Maanden,
Book Deferred Entries Via Journal Entry,Boek uitgestelde posten via journaalboeking,
If this is unchecked direct GL Entries will be created to book Deferred Revenue/Expense,"Als dit niet is aangevinkt, worden er directe grootboekposten aangemaakt om uitgestelde inkomsten / uitgaven te boeken",
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,
Purchase Order Required for Purchase Invoice & Receipt Creation,Inkooporder vereist voor aanmaak van inkoopfactuur en ontvangstbewijs,
Purchase Receipt Required for Purchase Invoice Creation,Aankoopbewijs vereist voor het maken van een inkoopfactuur,
"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,
Sales Order Required for Sales Invoice & Delivery Note Creation,Verkooporder vereist voor aanmaken verkoopfactuur en leveringsnota,
Delivery Note Required for Sales Invoice Creation,Afleveringsbewijs vereist voor aanmaken verkoopfactuur,
"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,
Last Stock Transaction for item {0} was on {1}.,Laatste voorraadtransactie voor artikel {0} was op {1}.,
Stock Transactions for Item {0} cannot be posted before this time.,Voorraadtransacties voor artikel {0} kunnen vóór deze tijd niet worden geboekt.,
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},
Posting future transactions are not allowed due to Immutable Ledger,Het boeken van toekomstige transacties is niet toegestaan vanwege Immutable Ledger,
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,
