"""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,
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,
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,
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.,
Accumulated Depreciation,Cumulatieve afschrijvingen,
Accumulated Depreciation Amount,Cumulatieve afschrijvingen Bedrag,
Accumulated Depreciation as on,Cumulatieve afschrijvingen per,
Accumulated Monthly,Maandelijks geaccumuleerd,
Accumulated Values,Geaccumuleerde waarden,
Accumulated Values in Group Company,Geaccumuleerde waarden in groepsmaatschappij,
Achieved ({}),Behaald ({}),
Action,Actie,
Action Initialised,Actie geïnitialiseerd,
Actions,Acties,
Active,Actief,
Activity Cost exists for Employee {0} against Activity Type - {1},Activiteit Kosten bestaat voor Employee {0} tegen Activity Type - {1},
Activity Cost per Employee,Activiteitskosten per werknemer,
Activity Type,Activiteit Type,
Actual Cost,Werkelijke kosten,
Actual Delivery Date,Werkelijke leverdatum,
Actual Qty,Werkelijk aantal,
Actual Qty is mandatory,Werkelijke aantal is verplicht,
Actual Qty {0} / Waiting Qty {1},Werkelijk Aantal {0} / Aantal Wachten {1},
Actual Qty: Quantity available in the warehouse.,Werkelijke Aantal: Aantal beschikbaar in het magazijn.,
Actual qty in stock,Werkelijke hoeveelheid op voorraad,
Actual type tax cannot be included in Item rate in row {0},Werkelijke soort belasting kan niet worden opgenomen in post tarief in rij {0},
Add,Toevoegen,
Add / Edit Prices,Toevoegen / bewerken Prijzen,
Add Comment,Reactie toevoegen,
Add Customers,Voeg klanten toe,
Add Employees,Werknemers toevoegen,
Add Item,Item toevoegen,
Add Items,Items toevoegen,
Add Leads,Leads toevoegen,
Add Multiple Tasks,Meerdere taken toevoegen,
Add Row,Voeg een rij toe,
Add Sales Partners,Voeg verkooppartners toe,
Add Serial No,Voeg Serienummer toe,
Add Students,Studenten toevoegen,
Add Suppliers,Leveranciers toevoegen,
Add Time Slots,Voeg tijdslots toe,
Add Timesheets,Voeg Timesheets,
Add Timeslots,Voeg tijdsloten toe,
Add Users to Marketplace,Gebruikers toevoegen aan Marketplace,
Add a new address,Voeg een nieuw adres toe,
Add cards or custom sections on homepage,Kaarten of aangepaste secties toevoegen op de startpagina,
Add more items or open full form,Voeg meer items of geopend volledige vorm,
Add notes,Notities toevoegen,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Voeg de rest van uw organisatie als uw gebruikers. U kunt ook toevoegen uitnodigen klanten naar uw portal door ze toe te voegen vanuit Contacten,
Add/Remove Recipients,Toevoegen / verwijderen Ontvangers,
Added,Toegevoegd,
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 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,
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},
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,
Application of Funds (Assets),Toepassing van kapitaal (Activa),
Applied,Toegepast,
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,
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),
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 To,Toewijzen aan,
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 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 has been marked successfully.,Aanwezigheid is met succes gemarkeerd.,
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 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 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,
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,
Black,Zwart,
Blanket Orders from Costumers.,Algemene bestellingen van klanten.,
Block Invoice,Blokfactuur,
Boms,Boms,
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,
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 produce more Item {0} than Sales Order quantity {1},Kan niet meer produceren van Artikel {0} dan de Verkooporder hoeveelheid {1},
Cannot promote Employee with status Left,Kan werknemer met status links niet promoten,
Cannot refer row number greater than or equal to current row number for this Charge type,Kan niet verwijzen rij getal groter dan of gelijk aan de huidige rijnummer voor dit type Charge,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Kan het type lading niet selecteren als 'On Vorige Row Bedrag ' of ' On Vorige Row Totaal ' voor de eerste rij,
Cannot set as Lost as Sales Order is made.,"Kan niet als verloren instellen, omdat er al een verkooporder is gemaakt.",
Cannot set authorization on basis of Discount for {0},Kan de autorisatie niet instellen op basis van korting voor {0},
Cannot set multiple Item Defaults for a company.,Kan niet meerdere item-standaardwaarden voor een bedrijf instellen.,
Cannot set quantity less than delivered quantity,Kan hoeveelheid niet lager instellen dan geleverde hoeveelheid,
Cannot set quantity less than received quantity,Kan hoeveelheid niet lager instellen dan ontvangen hoeveelheid,
Cannot set the field <b>{0}</b> for copying in variants,Kan veld <b>{0}</b> niet instellen voor het kopiëren in varianten,
Cannot transfer Employee with status Left,Kan werknemer niet overnemen met status links,
Cannot {0} {1} {2} without any negative outstanding invoice,Kan niet {0} {1} {2} zonder negatieve openstaande factuur,
Capital Equipments,Kapitaalgoederen,
Capital Stock,Kapitaal Stock,
Capital Work in Progress,Capital Work in Progress,
Cart,kar,
Cart is Empty,Winkelwagen is leeg,
Case No(s) already in use. Try from Case No {0},Zaak nr. ( s ) al in gebruik. Probeer uit Zaak nr. {0},
Cash,Contant,
Cash Flow Statement,Kasstroomoverzicht,
Cash Flow from Financing,De cashflow uit financiële activiteiten,
Cash Flow from Investing,De cashflow uit investeringsactiviteiten,
Cash Flow from Operations,De cashflow uit bedrijfsoperaties,
Cash In Hand,Contanten in de hand,
Cash or Bank Account is mandatory for making payment entry,Kas- of Bankrekening is verplicht om een  betaling aan te maken,
Cashier Closing,Kassier sluiten,
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,
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 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 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 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 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 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 {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 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 Assets,Vlottende Activa,
Current BOM and New BOM can not be same,Huidige stuklijst en nieuwe stuklijst kunnen niet hetzelfde zijn,
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,
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 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 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,
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 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,Concept,
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,
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 Advances,Voorschotten voor werknemers,
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 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 {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} of grade {1} have no default leave policy,Werknemer {0} van rang {1} heeft geen standaard verlofbeleid,
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,
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,
"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,
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 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,
"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,
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, 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 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",
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 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 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},
Fulfillment,Vervulling,
Full,vol,
Full Name,Volledige naam,
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',
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 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 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,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Yearly,Halfjaarlijkse,
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,
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,
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,
Interests,Interesses,
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 card {0} created,Taakkaart {0} gemaakt,
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 Management,Laat management,
Leave and Attendance,Verlaat en Aanwezigheid,
Leave application {0} already exists against the student {1},Laat toepassing {0} al bestaan tegen de student {1},
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",
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,
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 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 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 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 discount for Item {0} is {1}%,Maximale korting voor artikel {0} is {1}%,
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,
Model,Model,
Moderate Sensitivity,Gematigde gevoeligheid,
Monday,Maandag,
Monthly,Maandelijks,
Monthly Distribution,Maandelijkse verdeling,
More,Meer,
More Information,Meer informatie,
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 Profit,Netto winst,
Net Total,Netto totaal,
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 Item with Barcode {0},Geen Artikel met Barcode {0},
No Item with Serial No {0},Geen artikel met serienummer {0},
No Items available for transfer,Geen items beschikbaar voor overdracht,
No Items selected for transfer,Geen items geselecteerd voor overdracht,
No Items to pack,Geen Artikelen om te verpakken,
No Items with Bill of Materials to Manufacture,Geen Items met Bill of Materials voor fabricage,
No Items with Bill of Materials.,Geen items met stuklijst.,
No Permission,Geen toestemming,
No Remarks,Geen opmerkingen,
No Result to submit,Geen resultaat om in te dienen,
No 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 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 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 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.,
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 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. Sets company's default currency, if not specified.","Optioneel. Stelt bedrijf prijslijst, indien niet opgegeven.",
Optional. This setting will be used to filter in various transactions.,Optioneel. Deze instelling wordt gebruikt om te filteren op diverse transacties .,
Options,Opties,
Order Count,Order Count,
Order Entry,Orderinvoer,
Order Value,Bestellingswaarde,
Order rescheduled for sync,Bestelling opnieuw gepland voor synchronisatie,
Order/Quot %,Order / Quot%,
Ordered,Besteld,
Ordered Qty,Besteld Aantal,
"Ordered Qty: Quantity ordered for purchase, but not received.","Besteld Aantal: Hoeveelheid ingekocht , maar niet ontvangen.",
Orders,bestellingen,
Orders released for production.,Orders vrijgegeven voor productie.,
Organization,Organisatie,
Organization Name,Naam van de Organisatie,
Other,Ander,
Other Reports,Andere rapporten,
"Other outward supplies(Nil rated,Exempted)","Andere uitgaande leveringen (nul, vrijgesteld)",
Others,anderen,
Out Qty,out Aantal,
Out Value,out Value,
Out of Order,Out of Order,
Outgoing,uitgaande,
Outstanding,uitstekend,
Outstanding Amount,Openstaand Bedrag,
Outstanding Amt,Openstaande Amt,
Outstanding Cheques and Deposits to clear,Uitstekende Cheques en Deposito&#39;s te ontruimen,
Outstanding for {0} cannot be less than zero ({1}),Openstaand bedrag voor {0} mag niet kleiner zijn dan nul ({1}),
Outward taxable supplies(zero rated),Belastbare leveringen (nul),
Overdue,Achterstallig,
Overlap in scoring between {0} and {1},Overlappen in scoren tussen {0} en {1},
Overlapping conditions found between:,Overlappende voorwaarden gevonden tussen :,
Owner,eigenaar,
PAN,PAN,
POS,POS,
POS Profile,POS Profiel,
POS Profile is required to use Point-of-Sale,POS-profiel is vereist om Point-of-Sale te gebruiken,
POS Profile required to make POS Entry,POS profiel nodig om POS Entry maken,
POS Settings,POS-instellingen,
Packed quantity must equal quantity for Item {0} in row {1},Verpakt hoeveelheid moet hoeveelheid die gelijk is voor post {0} in rij {1},
Packing Slip,Pakbon,
Packing Slip(s) cancelled,Pakbon(nen) geannuleerd,
Paid,Betaald,
Paid Amount,Betaald bedrag,
Paid Amount cannot be greater than total negative outstanding amount {0},Betaalde bedrag kan niet groter zijn dan de totale negatieve openstaande bedrag {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Betaald bedrag + Afgeschreven bedrag kan niet groter zijn dan Eindtotaal,
Paid and Not Delivered,Betaald en niet geleverd,
Parameter,Parameter,
Parent Item {0} must not be a Stock Item,Ouder Item {0} moet een Stock Item niet,
Parents Teacher Meeting Attendance,Ouders Teacher Meeting presentielijst,
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,
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,
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 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 request {0} created,Betalingsverzoek {0} gemaakt,
Payments,Betalingen,
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,
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 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 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 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 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 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 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 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 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 {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 Customer Address,Stel het klantadres in,
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 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 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,
Prev,Vorige,
Preview,Voorbeeld,
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,
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,
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,
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,
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,
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.,
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,
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}# 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}: Activity Type is mandatory.,Rij {0}: Activiteit Type is verplicht.,
Row {0}: Advance against Customer must be credit,Rij {0}: Advance tegen Klant moet krediet,
Row {0}: Advance against Supplier must be debit,Rij {0}: Advance tegen Leverancier worden debiteren,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Rij {0}: Toegewezen bedrag {1} moet kleiner zijn dan of gelijk aan Payment Entry bedrag {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Rij {0}: Toegewezen bedrag {1} moet kleiner zijn dan of gelijk aan openstaande bedrag te factureren {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Rij {0}: Er bestaat al een nabestelling voor dit magazijn {1},
Row {0}: Bill of Materials not found for the Item {1},Rij {0}: Bill of Materials niet gevonden voor het artikel {1},
Row {0}: Conversion Factor is mandatory,Rij {0}: Conversie Factor is verplicht,
Row {0}: Cost center is required for an item {1},Rij {0}: Kostencentrum is vereist voor een item {1},
Row {0}: Credit entry can not be linked with a {1},Rij {0}: kan creditering niet worden gekoppeld met een {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Rij {0}: Munt van de BOM # {1} moet gelijk zijn aan de geselecteerde valuta zijn {2},
Row {0}: Debit entry can not be linked with a {1},Rij {0}: debitering niet kan worden verbonden met een {1},
Row {0}: Depreciation Start Date is required,Rij {0}: startdatum van afschrijving is vereist,
Row {0}: Enter location for the asset item {1},Rij {0}: geef de locatie op voor het item item {1},
Row {0}: Exchange Rate is mandatory,Rij {0}: Wisselkoers is verplicht,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Rij {0}: verwachte waarde na bruikbare levensduur moet lager zijn dan bruto inkoopbedrag,
Row {0}: From Time and To Time is mandatory.,Rij {0}: Van tijd en binnen Tijd is verplicht.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Rij {0}: Van tijd en de tijd van de {1} overlapt met {2},
Row {0}: From time must be less than to time,Rij {0}: van tijd moet korter zijn dan tot tijd,
Row {0}: Hours value must be greater than zero.,Rij {0}: Aantal uren moet groter zijn dan nul.,
Row {0}: Invalid reference {1},Rij {0}: Invalid referentie {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Rij {0}: Party / Account komt niet overeen met {1} / {2} in {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Rij {0}: Party Type en Party is vereist voor Debiteuren / Crediteuren rekening {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Rij {0}: Betaling tegen Sales / Purchase Order moet altijd worden gemarkeerd als voorschot,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Rij {0}: Kijk 'Is Advance' tegen Account {1} als dit is een voorschot binnenkomst.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Rij {0}: Stel in op Belastingvrijstellingsreden in omzetbelasting en kosten,
Row {0}: Please set the Mode of Payment in Payment Schedule,Rij {0}: stel de Betalingswijze in Betalingsschema in,
Row {0}: Please set the correct code on Mode of Payment {1},Rij {0}: stel de juiste code in op Betalingswijze {1},
Row {0}: Qty is mandatory,Rij {0}: aantal is verplicht,
Row {0}: Quality Inspection rejected for item {1},Rij {0}: kwaliteitscontrole afgewezen voor artikel {1},
Row {0}: UOM Conversion Factor is mandatory,Rij {0}: Verpakking Conversie Factor is verplicht,
Row {0}: select the workstation against the operation {1},Rij {0}: selecteer het werkstation tegen de bewerking {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Rij {0}: {1} Serienummers vereist voor item {2}. U heeft {3} verstrekt.,
Row {0}: {1} must be greater than 0,Rij {0}: {1} moet groter zijn dan 0,
Row {0}: {1} {2} does not match with {3},Rij {0}: {1} {2} niet overeenkomt met {3},
Row {0}:Start Date must be before End Date,Rij {0} : Start Datum moet voor Einddatum zijn,
Rows with duplicate due dates in other rows were found: {0},Rijen met dubbele vervaldatums in andere rijen zijn gevonden: {0},
Rules for adding shipping costs.,Regels voor het toevoegen van verzendkosten.,
Rules for applying pricing and discount.,Regels voor de toepassing van prijzen en kortingen .,
S.O. No.,VO nr,
SGST Amount,SGST Bedrag,
SO Qty,VO Aantal,
Safety Stock,Veiligheidsvoorraad,
Salary,Salaris,
Salary Slip submitted for period from {0} to {1},Salarisslip ingediend voor een periode van {0} tot {1},
Salary Structure must be submitted before submission of Tax Ememption Declaration,De salarisstructuur moet worden ingediend voordat de belastingemissieverklaring wordt ingediend,
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,
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,
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 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 at least one value from each of the attributes.,Selecteer ten minste één waarde uit elk van de kenmerken.,
Select change amount account,Selecteer verandering bedrag rekening,
Select company first,Selecteer eerst een bedrijf,
Select students manually for the Activity based Group,Selecteer studenten handmatig voor de activiteit gebaseerde groep,
Select the customer or supplier.,Selecteer de klant of leverancier.,
Select the nature of your business.,Selecteer de aard van uw bedrijf.,
Select the program first,Selecteer eerst het programma,
Select to add Serial Number.,Selecteer om serienummer toe te voegen.,
Select your Domains,Selecteer uw domeinen,
Selected Price List should have buying and selling fields checked.,In de geselecteerde prijslijst moeten de velden voor kopen en verkopen worden gecontroleerd.,
Sell,Verkopen,
Selling,selling,
Selling Amount,Selling Bedrag,
Selling Price List,Verkoopprijslijst,
Selling Rate,Verkoopcijfers,
"Selling must be checked, if Applicable For is selected as {0}","Verkoop moet zijn aangevinkt, indien ""Van toepassing voor"" is geselecteerd als {0}",
Send Grant Review Email,Verstuur Grant Review Email,
Send Now,Nu verzenden,
Send SMS,SMS versturen,
Send mass SMS to your contacts,Stuur massa SMS naar uw contacten,
Sensitivity,Gevoeligheid,
Sent,verzonden,
Serial 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 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 Open,Toon geopend,
Show Opening Entries,Openingsitems weergeven,
Show Payment Details,Toon betalingsgegevens,
Show Return Entries,Return-items weergeven,
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,
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}",
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,
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 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 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,
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 this Work Order for further processing.,Dien deze werkbon in voor verdere verwerking.,
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,
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 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 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 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 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 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 {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 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 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 Invoiced Amount,Totaal gefactureerd bedrag,
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 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 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 hours: {0},Totaal aantal uren: {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.,
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 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 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 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",
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,
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: 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 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.,
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-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 set Frozen value,U bent niet bevoegd om Bevroren waarde in te stellen,
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'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} 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 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} not allowed to transact with {1}. Please change the Company.,{0} mag niet transacties uitvoeren met {1}. Wijzig het bedrijf.,
{0} not found for item {1},{0} niet gevonden voor item {1},
{0} parameter is invalid,{0} parameter is ongeldig,
{0} payment entries can not be filtered by {1},{0} betaling items kunnen niet worden gefilterd door {1},
{0} should be a value between 0 and 100,{0} moet een waarde tussen 0 en 100 zijn,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} eenheden van [{1}] (#Vorm/Item/{1}) gevonden in [{2}](#Vorm/Magazijn/{2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} eenheden van {1} die nodig zijn in {2} op {3} {4} te {5} om deze transactie te voltooien.,
{0} units of {1} needed in {2} to complete this transaction.,{0} eenheden van {1} die nodig zijn in {2} om deze transactie te voltooien.,
{0} valid serial nos for Item {1},{0} geldig serienummers voor Artikel {1},
{0} variants created.,{0} varianten gemaakt.,
{0} {1} created,{0} {1} aangemaakt,
{0} {1} does not exist,{0} {1} bestaat niet,
{0} {1} has been modified. Please refresh.,{0} {1} is gewijzigd. Vernieuw aub.,
{0} {1} has not been submitted so the action cannot be completed,{0} {1} is niet ingediend dus de actie kan niet voltooid worden,
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} is geassocieerd met {2}, maar relatie Account is {3}",
{0} {1} is cancelled or closed,{0} {1} is geannuleerd of gesloten,
{0} {1} is cancelled or stopped,{0} {1} is geannuleerd of gestopt,
{0} {1} is cancelled so the action cannot be completed,{0} {1} is geannuleerd dus de actie kan niet voltooid worden,
{0} {1} is closed,{0} {1} is gesloten,
{0} {1} is disabled,{0} {1} is uitgeschakeld,
{0} {1} is frozen,{0} {1} is bevroren,
{0} {1} is fully billed,{0} {1} is volledig gefactureerd,
{0} {1} is not active,{0} {1} is niet actief,
{0} {1} is not associated with {2} {3},{0} {1} is niet gekoppeld aan {2} {3},
{0} {1} is not present in the parent company,{0} {1} is niet aanwezig in het moederbedrijf,
{0} {1} is not submitted,{0} {1} is niet ingediend,
{0} {1} is {2},{0} {1} is {2},
{0} {1} must be submitted,{0} {1} moet worden ingediend,
{0} {1} not in any active Fiscal Year.,{0} {1} in geen enkel actief fiscale jaar.,
{0} {1} status is {2},{0} {1} status {2},
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,"{0} {1}: ""winst- en verliesrekening"" type account {2} niet toegestaan in Opening opgave",
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Account {2} behoort niet tot Company {3},
{0} {1}: Account {2} is inactive,{0} {1}: Account {2} is niet actief,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Accounting Entry voor {2} kan alleen worden gemaakt in valuta: {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: kostenplaats is verplicht voor artikel {2},
{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: kostenplaats is nodig voor 'Winst- en verliesrekening' account {2}. Gelieve een standaard kostenplaats voor de onderneming op te zetten.,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: kostenplaats {2} behoort niet tot Company {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}: een klant is vereist voor Te Ontvangen rekening {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Ofwel debet of credit bedrag is vereist voor {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Leverancier is vereist tegen Te Betalen account {2},
{0}% Billed,{0}% gefactureerd,
{0}% Delivered,{0}% Geleverd,
{0}: From {1},{0}: Van {1},
{0}: {1} does not exists,{0}: {1} bestaat niet,
{0}: {1} not found in Invoice Details table,{0}: {1} niet gevonden in Factuur Details tabel,
{} of {},{} van {},
Assigned To,Toegewezen Aan,
Chat,Chat,
Completed By,Afgemaakt door,
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,
Parent,Bovenliggend,
Passive,Passief,
Payment Failed,Betaling mislukt,
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,
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",
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,
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.,
Show {0},Toon {0},
"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Speciale tekens behalve &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; En &quot;}}&quot; niet toegestaan in naamgevingsreeks {0}",
Target Details,Doelgegevens,
{0} already has a Parent Procedure {1}.,{0} heeft al een ouderprocedure {1}.,
API,API,
Annual,jaar-,
Change,Verandering,
Contact Email,Contact E-mail,
Export Type,Exporttype,
From Date,Van Datum,
Group By,Groeperen op,
Invalid URL,Ongeldige URL,
Landscape,Landschap,
Last Sync On,Last Sync On,
Naming Series,Benoemen Series,
No data to export,Geen gegevens om te exporteren,
Portrait,Portret,
Print Heading,Print Kop,
Scheduler Inactive,Planner Inactief,
Scheduler is inactive. Cannot import data.,Planner is inactief. Kan gegevens niet importeren.,
Show Document,Document weergeven,
Show Traceback,Traceback weergeven,
Video,Video,
Webhook Secret,Webhook Secret,
% Of Grand Total,% Van eindtotaal,
<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 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 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.,
All,Allemaal,
All bank transactions have been created,Alle banktransacties zijn gecreëerd,
All the depreciations has been booked,Alle afschrijvingen zijn geboekt,
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,
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.,
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 find a matching Item. Please select some other value for {0}.,Kan een bijpassende Item niet vinden. Selecteer een andere waarde voor {0}.,
"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Kan voor item {0} in rij {1} meer dan {2} niet teveel factureren. Als u overfactureren wilt toestaan, stelt u een toeslag in Accounts-instellingen in",
"Capacity Planning Error, planned start time can not be same as end time","Capaciteitsplanningsfout, geplande starttijd kan niet hetzelfde zijn als eindtijd",
Categories,Categorieën,
Changes in {0},Veranderingen in {0},
Chart,tabel,
Choose a corresponding payment,Kies een overeenkomstige betaling,
Click on the link below to verify your email and confirm the appointment,Klik op de onderstaande link om uw e-mail te verifiëren en de afspraak te bevestigen,
Close,Dichtbij,
Communication,Communicatie,
Compact Item Print,Compact Item Print,
Company,Bedrijf,
Company of asset {0} and purchase document {1} doesn't matches.,Bedrijf van item {0} en inkoopdocument {1} komen niet overeen.,
Compare BOMs for changes in Raw Materials and Operations,Vergelijk BOM&#39;s voor wijzigingen in grondstoffen en bewerkingen,
Compare List function takes on list arguments,De functie Lijst vergelijken neemt lijstargumenten aan,
Complete,Voltooien,
Completed,Voltooid,
Completed Quantity,Voltooide hoeveelheid,
Connect your Exotel Account to ERPNext and track call logs,Verbind uw Exotel-account met ERPNext en houd oproeplogboeken bij,
Connect your bank accounts to ERPNext,Verbind uw bankrekeningen met ERPNext,
Contact Seller,Contact opnemen met de verkoper,
Continue,Voortzetten,
Cost Center: {0} does not exist,Kostenplaats: {0} bestaat niet,
Couldn't Set Service Level Agreement {0}.,Kan Service Level Agreement niet instellen {0}.,
Country,Land,
Country Code in File does not match with country code set up in the system,Landcode in bestand komt niet overeen met landcode ingesteld in het systeem,
Create New Contact,Nieuw contact maken,
Create New Lead,Maak een nieuwe lead,
Create Pick List,Maak een keuzelijst,
Create Quality Inspection for Item {0},Creëer kwaliteitsinspectie voor artikel {0},
Creating Accounts...,Accounts maken ...,
Creating bank entries...,Bankboekingen maken ...,
Credit limit is already defined for the Company {0},Kredietlimiet is al gedefinieerd voor het bedrijf {0},
Ctrl + Enter to submit,Ctrl + Enter om in te dienen,
Ctrl+Enter to submit,Ctrl + Enter om te verzenden,
Currency,Valuta,
Current Status,Actuele status,
Customer PO,Post adres van de klant,
Customize,Aanpassen,
Daily,Dagelijks,
Date,Datum,
Date 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,
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,
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,
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,
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,
Leaves Taken,Bladeren genomen,
Less Than Amount,Minder dan bedrag,
Liabilities,Passiva,
Loading...,Laden ...,
Loan Applications from customers and employees.,Leningaanvragen van klanten en werknemers.,
Loan Processes,Lening processen,
Loan Type for interest and penalty rates,Type lening voor rente en boetes,
Loans,Leningen,
Loans provided to customers and employees.,Leningen verstrekt aan klanten en werknemers.,
Location,Locatie,
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 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,
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,
Patient History,Patiëntgeschiedenis,
Pause,Pauze,
Pay,Betalen,
Payment Document Type,Type betaaldocument,
Payment Name,Betalingsnaam,
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 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 Customer first,Selecteer eerst Klant,
Please select Item Code first,Selecteer eerst de artikelcode,
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
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,
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,
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,
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},
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}).,
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 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,
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.",
Total,Totaal,
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,
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 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,
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,
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 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,
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,
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,
Group by,Groeperen volgens,
In stock,Op voorraad,
Item name,Artikelnaam,
Minimum Qty,Minimum aantal,
More details,Meer details,
Nature of Supplies,Aard van leveringen,
No Items found.,Geen items 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,Concept,"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,
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.,
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,
Leaves Expired,Bladeren verlopen,
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,
Social Media Campaigns,Campagnes op sociale media,
From Date can not be greater than To Date,Vanaf datum kan niet groter zijn dan Tot datum,
Please set a Customer linked to the Patient,Stel een klant in die is gekoppeld aan de patiënt,
Customer Not Found,Klant niet gevonden,
Please Configure Clinical Procedure Consumable Item in ,Configureer de klinische procedure verbruiksartikel in,
Missing Configuration,Ontbrekende configuratie,
Out Patient Consulting Charge Item,Out Patient Consulting Charge-item,
Inpatient Visit Charge Item,Vergoedingsitem voor inkomende patiëntenbezoek,
OP Consulting Charge,OP Consulting Charge,
Inpatient Visit Charge,Inpatient Visit Charge,
Appointment Status,Afspraakstatus,
Test: ,Test:,
Collection Details: ,Collectie Details:,
{0} out of {1},{0} van {1},
Select Therapy Type,Selecteer het therapietype,
{0} sessions completed,{0} sessies voltooid,
{0} session completed,{0} sessie voltooid,
 out of {0},van {0},
Therapy Sessions,Therapiesessies,
Add Exercise Step,Oefeningsstap toevoegen,
Edit Exercise Step,Trainingsstap bewerken,
Patient Appointments,Afspraken met de patiënt,
Item with Item Code {0} already exists,Artikel met artikelcode {0} bestaat al,
Registration Fee cannot be negative or zero,Registratievergoeding mag niet negatief of nul zijn,
Configure a service Item for {0},Configureer een service-item voor {0},
Temperature: ,Temperatuur:,
Pulse: ,Puls:,
Respiratory Rate: ,Ademhalingsfrequentie:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,Notitie:,
Check Availability,Beschikbaarheid controleren,
Please select Patient first,Selecteer eerst de patiënt,
Please select a Mode of Payment first,Selecteer eerst een betalingsmethode,
Please set the Paid Amount first,Stel eerst het betaalde bedrag in,
Not Therapies Prescribed,Niet voorgeschreven therapieën,
There are no Therapies prescribed for Patient {0},Er zijn geen therapieën voorgeschreven voor de patiënt {0},
Appointment date and Healthcare Practitioner are Mandatory,Datum afspraak en zorgverlener zijn verplicht,
No Prescribed Procedures found for the selected Patient,Geen voorgeschreven procedures gevonden voor de geselecteerde patiënt,
Please select a Patient first,Selecteer eerst een patiënt,
There are no procedure prescribed for ,Er is geen procedure voor voorgeschreven,
Prescribed Therapies,Voorgeschreven therapieën,
Appointment overlaps with ,Afspraak overlapt met,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} heeft een afspraak gepland met {1} om {2} met een duur van {3} minuten.,
Appointments Overlapping,Afspraken overlappen,
Consulting Charges: {0},Advieskosten: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Afspraak geannuleerd. Controleer en annuleer de factuur {0},
Appointment Cancelled.,Afspraak geannuleerd.,
Fee Validity {0} updated.,Geldigheid van de vergoeding {0} bijgewerkt.,
Practitioner Schedule Not Found,Praktijkschema niet gevonden,
{0} is on a Half day Leave on {1},{0} heeft een halve dag verlof op {1},
{0} is on Leave on {1},{0} heeft verlof op {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} heeft geen schema voor zorgverleners. Voeg het toe in Healthcare Practitioner,
Healthcare Service Units,Zorgafdelingen,
Complete and Consume,Voltooi en consumeer,
Complete {0} and Consume Stock?,{0} invullen en voorraad verbruiken?,
Complete {0}?,{0} voltooid?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Voorraadhoeveelheid om de procedure te starten is niet beschikbaar in het magazijn {0}. Wilt u een voorraadinvoer vastleggen?,
{0} as on {1},{0} zoals op {1},
Clinical Procedure ({0}):,Klinische procedure ({0}):,
Please set Customer in Patient {0},Stel klant in patiënt {0},
Item {0} is not active,Item {0} is niet actief,
Therapy Plan {0} created successfully.,Het therapieplan {0} is gemaakt.,
Symptoms: ,Symptomen:,
No Symptoms,Geen symptomen,
Diagnosis: ,Diagnose:,
No Diagnosis,Geen diagnose,
Drug(s) Prescribed.,Geneesmiddel (en) voorgeschreven.,
Test(s) Prescribed.,Test (s) voorgeschreven.,
Procedure(s) Prescribed.,Procedure (s) voorgeschreven.,
Counts Completed: {0},Tellingen voltooid: {0},
Patient Assessment,Patiënt beoordeling,
Assessments,Beoordelingen,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Hoofden (of groepen) waartegen de boekingen worden gemaakt en saldi worden gehandhaafd.,
Account Name,Rekening Naam,
Inter Company Account,Inter Company Account,
Parent Account,Bovenliggende rekening,
Setting Account Type helps in selecting this Account in transactions.,Instellen Account Type helpt bij het selecteren van deze account in transacties.,
Chargeable,Aan te rekenen,
Rate at which this tax is applied,Percentage waarmee deze belasting toegepast wordt,
Frozen,Bevroren,
"If the account is frozen, entries are allowed to restricted users.","Als de rekening is bevroren, kunnen boekingen alleen door daartoe bevoegde gebruikers gedaan worden.",
Balance must be,Saldo moet worden,
Lft,Als T,
Rgt,Rgt,
Old Parent,Oude Parent,
Include in gross,Bruto opnemen,
Auditor,Revisor,
Accounting Dimension,Boekhoudkundige dimensie,
Dimension Name,Dimensienaam,
Dimension Defaults,Standaard dimensies,
Accounting Dimension Detail,Detail boekhoudingsdimensie,
Default Dimension,Standaard dimensie,
Mandatory For Balance Sheet,Verplicht voor balans,
Mandatory For Profit and Loss Account,Verplicht voor winst- en verliesrekening,
Accounting Period,Financiele periode,
Period Name,Periode Naam,
Closed Documents,Gesloten documenten,
Accounts Settings,Rekeningen Instellingen,
Settings for Accounts,Instellingen voor accounts,
Make Accounting Entry For Every Stock Movement,Maak boekhoudkundige afschrijving voor elke Stock Movement,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,
Determine Address Tax Category From,Bepaal de adresbelastingcategorie van,
Over Billing Allowance (%),Overfactureringstoeslag (%),
Credit Controller,Credit Controller,
Check Supplier Invoice Number Uniqueness,Controleer Leverancier Factuurnummer Uniqueness,
Make Payment via Journal Entry,Betalen via Journal Entry,
Unlink Payment on Cancellation of Invoice,Ontkoppelen Betaling bij annulering van de factuur,
Book Asset Depreciation Entry Automatically,Automatische afschrijving van de activa van de boekwaarde,
Automatically Add Taxes and Charges from Item Tax Template,Automatisch belastingen en heffingen toevoegen op basis van sjabloon voor artikelbelasting,
Automatically Fetch Payment Terms,Automatisch betalingsvoorwaarden ophalen,
Show Payment Schedule in Print,Toon betalingsschema in Print,
Currency Exchange Settings,Valutaveursinstellingen,
Allow Stale Exchange Rates,Staale wisselkoersen toestaan,
Stale Days,Stale Days,
Report Settings,Rapportinstellingen,
Use Custom Cash Flow Format,Gebruik aangepaste kasstroomindeling,
Allowed To Transact With,Toegestaan om mee te handelen,
SWIFT number,SWIFT-nummer,
Branch Code,Filiaalcode,
Address and Contact,Adres en contactgegevens,
Address HTML,Adres HTML,
Contact HTML,Contact HTML,
Data Import Configuration,Gegevens importeren configuratie,
Bank Transaction Mapping,Mapping van banktransacties,
Plaid Access Token,Plaid-toegangstoken,
Company Account,Bedrijfsaccount,
Account Subtype,Subtype account,
Is Default Account,Is standaardaccount,
Is Company Account,Is bedrijfsaccount,
Party Details,Party Details,
Account Details,Account Details,
IBAN,IBAN,
Bank Account No,Bankrekening nummer,
Integration Details,Integratiegegevens,
Integration ID,Integratie ID,
Last Integration Date,Laatste integratiedatum,
Change this date manually to setup the next synchronization start date,Wijzig deze datum handmatig om de volgende startdatum van de synchronisatie in te stellen,
Mask,Masker,
Bank Account Subtype,Bankrekening-subtype,
Bank Account Type,Type bankrekening,
Bank Guarantee,Bankgarantie,
Bank Guarantee Type,Type bankgarantie,
Receiving,Het ontvangen,
Providing,Het verstrekken van,
Reference Document Name,Referentiedocumentnaam,
Validity in Days,Geldigheid in dagen,
Bank Account Info,Bankrekeninggegevens,
Clauses and Conditions,Clausules en voorwaarden,
Other Details,Andere details,
Bank Guarantee Number,Bankgarantie Nummer,
Name of Beneficiary,Naam van de begunstigde,
Margin Money,Marge geld,
Charges Incurred,Kosten komen voor,
Fixed Deposit Number,Vast deponeringsnummer,
Account Currency,Account Valuta,
Select the Bank Account to reconcile.,Selecteer de bankrekening die u wilt afstemmen.,
Include Reconciled Entries,Omvatten Reconciled Entries,
Get Payment Entries,Krijg Betaling Entries,
Payment Entries,betaling Entries,
Update Clearance Date,Werk Clearance Datum bij,
Bank Reconciliation Detail,Bank Aflettering Detail,
Cheque Number,Cheque nummer,
Cheque Date,Cheque Datum,
Statement Header Mapping,Statement Header Mapping,
Statement Headers,Statement Headers,
Transaction Data Mapping,Transaction Data Mapping,
Mapped Items,Toegewezen items,
Bank Statement Settings Item,Instellingen voor bankafschriftinstellingen,
Mapped Header,Toegewezen koptekst,
Bank Header,Bankkop,
Bank Statement Transaction Entry,Rekeningoverzichtstransactie,
Bank Transaction Entries,Banktransactieposten,
New Transactions,Nieuwe transacties,
Match Transaction to Invoices,Overeenstemmende transactie met facturen,
Create New Payment/Journal Entry,Nieuwe betaling / journaalboeking creëren,
Submit/Reconcile Payments,Betalingen verzenden / afstemmen,
Matching Invoices,Bijpassende facturen,
Payment Invoice Items,Betaling Factuur Items,
Reconciled Transactions,Verzoeningstransacties,
Bank Statement Transaction Invoice Item,Rekeningoverzicht Transactie Rekening Item,
Payment Description,Betalingsomschrijving,
Invoice Date,Factuurdatum,
invoice,factuur,
Bank Statement Transaction Payment Item,Betalingstransactie voor bankafschrift,
outstanding_amount,outstanding_amount,
Payment Reference,Betalingsreferentie,
Bank Statement Transaction Settings Item,Bankafschrift Transaction Settings Item,
Bank Data,Bankgegevens,
Mapped Data Type,Toegepast gegevenstype,
Mapped Data,Toegewezen gegevens,
Bank Transaction,Bankoverschrijving,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,Transactie ID,
Unallocated Amount,Niet-toegewezen bedrag,
Field in Bank Transaction,Veld in banktransactie,
Column in Bank File,Kolom in bankbestand,
Bank Transaction Payments,Betalingen via banktransacties,
Control Action,Controle actie,
Applicable on Material Request,Van toepassing op artikelaanvraag,
Action if Annual Budget Exceeded on MR,Actie als de jaarlijkse begroting de MR overschrijdt,
Warn,Waarschuwen,
Ignore,Negeren,
Action if Accumulated Monthly Budget Exceeded on MR,Actie als Gecumuleerd maandbudget is overschreden op MR,
Applicable on Purchase Order,Van toepassing op bestelling,
Action if Annual Budget Exceeded on PO,Actie als jaarbegroting op PO overschreden,
Action if Accumulated Monthly Budget Exceeded on PO,Actie als de gecumuleerde maandelijkse begroting is overschreden op PO,
Applicable on booking actual expenses,Van toepassing op het boeken van werkelijke uitgaven,
Action if Annual Budget Exceeded on Actual,Actie als de jaarlijkse begroting het feitelijke percentage overschrijdt,
Action if Accumulated Monthly Budget Exceeded on Actual,Actie als de geaccumuleerde maandelijkse begroting de werkelijke waarde overschrijdt,
Budget Accounts,budget Accounts,
Budget Account,budget account,
Budget Amount,budget Bedrag,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-vorm nr.,
Received Date,Ontvangstdatum,
Quarter,Kwartaal,
I,ik,
II,II,
III,III,
IV,IV,
C-Form Invoice Detail,C-Form Factuurspecificatie,
Invoice No,Factuur nr.,
Cash Flow Mapper,Cash Flow Mapper,
Section Name,sectie naam,
Section Header,Sectiekoptekst,
Section Leader,Sectieleider,
e.g Adjustments for:,bijv. aanpassingen voor:,
Section Subtotal,Sectie Subtotaal,
Section Footer,Sectie voettekst,
Position,Positie,
Cash Flow Mapping,Cash Flow Mapping,
Select Maximum Of 1,Selecteer maximaal 1,
Is Finance Cost,Zijn financiële kosten,
Is Working Capital,Is werkkapitaal,
Is Finance Cost Adjustment,Is aanpassing van financiële kosten,
Is Income Tax Liability,Is de aansprakelijkheid van de inkomstenbelasting,
Is Income Tax Expense,Is de inkomstenbelasting,
Cash Flow Mapping Accounts,Cash Flow Mapping Accounts,
account,Rekening,
Cash Flow Mapping Template,Cash Flow Mapping Template,
Cash Flow Mapping Template Details,Cash Flow Mapping Template-details,
POS-CLO-,POS-CLO-,
Custody,Hechtenis,
Net Amount,Netto Bedrag,
Cashier Closing Payments,Kassa sluitingsbetalingen,
Chart of Accounts Importer,Rekeningschema Importeur,
Import Chart of Accounts from a csv file,Importeer rekeningschema uit een csv-bestand,
Attach custom Chart of Accounts file,Voeg een aangepast rekeningschema toe,
Chart Preview,Grafiek voorbeeld,
Chart Tree,Grafiekboom,
Cheque Print Template,Cheque Print Template,
Has Print Format,Heeft Print Format,
Primary Settings,Primaire Instellingen,
Cheque Size,Cheque Size,
Regular,regelmatig,
Starting position from top edge,Uitgangspositie van bovenrand,
Cheque Width,Cheque Breedte,
Cheque Height,Cheque Hoogte,
Scanned Cheque,gescande Cheque,
Is Account Payable,Is Account Payable,
Distance from top edge,Afstand van bovenrand,
Distance from left edge,Afstand van linkerrand,
Message to show,Bericht om te laten zien,
Date Settings,date Settings,
Starting location from left edge,Startlocatie van linkerrand,
Payer Settings,Payer Instellingen,
Width of amount in word,Breedte van de hoeveelheid in woord,
Line spacing for amount in words,Regelafstand voor het bedrag in woorden,
Amount In Figure,Bedrag In figuur,
Signatory Position,ondertekenaar Position,
Closed Document,Gesloten document,
Track separate Income and Expense for product verticals or divisions.,Volg afzonderlijke baten en lasten over het product verticalen of divisies.,
Cost Center Name,Kostenplaats Naam,
Parent Cost Center,Bovenliggende kostenplaats,
lft,lft,
rgt,RGT,
Coupon Code,coupon code,
Coupon Name,Coupon naam,
"e.g. ""Summer Holiday 2019 Offer 20""",bijv. &quot;Zomervakantie 2019 Aanbieding 20&quot;,
Coupon Type,Type coupon,
Promotional,promotionele,
Gift Card,Cadeaukaart,
unique e.g. SAVE20  To be used to get discount,uniek bijv. SAVE20 Te gebruiken om korting te krijgen,
Validity and Usage,Geldigheid en gebruik,
Valid From,Geldig vanaf,
Valid Upto,Geldig tot,
Maximum Use,Maximaal gebruik,
Used,Gebruikt,
Coupon Description,Couponbeschrijving,
Discounted Invoice,Korting op factuur,
Debit to,Debiteren naar,
Exchange Rate Revaluation,Wisselkoersherwaardering,
Get Entries,Ontvang inzendingen,
Exchange Rate Revaluation Account,Wisselkoersherwaarderingsaccount,
Total Gain/Loss,Totale winst / verlies,
Balance In Account Currency,Saldo in accountvaluta,
Current Exchange Rate,Huidige wisselkoers,
Balance In Base Currency,Balans in basisvaluta,
New Exchange Rate,Nieuwe wisselkoers,
New Balance In Base Currency,Nieuw saldo in basisvaluta,
Gain/Loss,Winst / verlies,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Boekjaar** staat voor een financieel jaar. Alle boekingen en andere belangrijke transacties worden bijgehouden in **boekjaar**.,
Year Name,Jaar Naam,
"For e.g. 2012, 2012-13","Voor bijvoorbeeld 2012, 2012-13",
Year Start Date,Jaar Startdatum,
Year End Date,Jaar Einddatum,
Companies,Bedrijven,
Auto Created,Auto gemaakt,
Stock User,Aandeel Gebruiker,
Fiscal Year Company,Fiscale Jaar Company,
Debit Amount,Debet Bedrag,
Credit Amount,Credit Bedrag,
Debit Amount in Account Currency,Debet Bedrag in account Valuta,
Credit Amount in Account Currency,Credit Bedrag in account Valuta,
Voucher Detail No,Voucher Detail nr,
Is Opening,Opent,
Is Advance,Is voorschot,
To Rename,Hernoemen,
GST Account,GST-account,
CGST Account,CGST-account,
SGST Account,SGST-account,
IGST Account,IGST-account,
CESS Account,CESS-account,
Loan Start Date,Startdatum lening,
Loan Period (Days),Uitleentermijn (dagen),
Loan End Date,Einddatum lening,
Bank Charges,Bancaire kosten,
Short Term Loan Account,Leningrekening op korte termijn,
Bank Charges Account,Bankkostenrekening,
Accounts Receivable Credit Account,Accounts debiteurenrekening,
Accounts Receivable Discounted Account,Accounts Debiteuren met korting,
Accounts Receivable Unpaid Account,Accounts te ontvangen onbetaalde account,
Item Tax Template,Btw-sjabloon,
Tax Rates,BELASTINGTARIEVEN,
Item Tax Template Detail,Detail BTW-sjabloon,
Entry Type,Entry Type,
Inter Company Journal Entry,Inter Company Journal Entry,
Bank Entry,Bank Invoer,
Cash Entry,Cash Entry,
Credit Card Entry,Kredietkaart invoer,
Contra Entry,Contra Entry,
Excise Entry,Accijnzen Boeking,
Write Off Entry,Invoer afschrijving,
Opening Entry,Opening Entry,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Boekingen,
Total Debit,Totaal Debet,
Total Credit,Totaal Krediet,
Difference (Dr - Cr),Verschil (Db - Cr),
Make Difference Entry,Maak Verschil Entry,
Total Amount Currency,Totaal bedrag Currency,
Total Amount in Words,Totaal bedrag in woorden,
Remark,Opmerking,
Paid Loan,Betaalde lening,
Inter Company Journal Entry Reference,Inter Company Journal Entry Reference,
Write Off Based On,Afschrijving gebaseerd op,
Get Outstanding Invoices,Get openstaande facturen,
Write Off Amount,Afschrijven bedrag,
Printing Settings,Instellingen afdrukken,
Pay To / Recd From,Betaal aan / Ontv van,
Payment Order,Betalingsopdracht,
Subscription Section,Abonnementsafdeling,
Journal Entry Account,Dagboek rekening,
Account Balance,Rekeningbalans,
Party Balance,Partij Balans,
Accounting Dimensions,Boekhoudkundige dimensies,
If Income or Expense,Indien Inkomsten (baten) of Uitgaven (lasten),
Exchange Rate,Wisselkoers,
Debit in Company Currency,Debet in Company Valuta,
Credit in Company Currency,Credit Company in Valuta,
Payroll Entry,Payroll Entry,
Employee Advance,Medewerker Advance,
Reference Due Date,Referentie vervaldag,
Loyalty Program Tier,Loyaliteitsprogramma Tier,
Redeem Against,Inwisselen tegen,
Expiry Date,Vervaldatum,
Loyalty Point Entry Redemption,Incentive Loyalty Point-ingang,
Redemption Date,Verlossingsdatum,
Redeemed Points,Verzilverde punten,
Loyalty Program Name,Naam loyaliteitsprogramma,
Loyalty Program Type,Type loyaliteitsprogramma,
Single Tier Program,Single Tier-programma,
Multiple Tier Program,Multiple Tier-programma,
Customer Territory,Klantengebied,
Auto Opt In (For all customers),Auto Opt In (voor alle klanten),
Collection Tier,Verzameltabel,
Collection Rules,Collectieregels,
Redemption,Verlossing,
Conversion Factor,Conversiefactor,
1 Loyalty Points = How much base currency?,1 Loyaliteitspunten = Hoeveel basisvaluta?,
Expiry Duration (in days),Vervaltijd (in dagen),
Help Section,Help sectie,
Loyalty Program Help,Loyaliteitsprogramma Hulp,
Loyalty Program Collection,Loyalty Program Collection,
Tier Name,Tiernaam,
Minimum Total Spent,Minimaal totaal besteed,
Collection Factor (=1 LP),Collectiefactor (= 1 LP),
For how much spent = 1 Loyalty Point,Voor hoeveel uitgegeven = 1 loyaliteitspunt,
Mode of Payment Account,Modus van Betaalrekening,
Default Account,Standaardrekening,
Default account will be automatically updated in POS Invoice when this mode is selected.,Het standaardaccount wordt automatisch bijgewerkt in POS Invoice wanneer deze modus is geselecteerd.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Maandelijkse Distributie ** helpt u om de begroting / Target verdelen over maanden als u de seizoensgebondenheid in uw bedrijf.,
Distribution Name,Distributie Naam,
Name of the Monthly Distribution,Naam van de verdeling per maand,
Monthly Distribution Percentages,Maandelijkse Verdeling Percentages,
Monthly Distribution Percentage,Maandelijkse Verdeling Percentage,
Percentage Allocation,Percentage Toewijzing,
Create Missing Party,Ontbrekende partij maken,
Create missing customer or supplier.,Ontbrekende klant of leverancier creëren.,
Opening Invoice Creation Tool Item,Het item voor het creëren van facturen openen,
Temporary Opening Account,Tijdelijk account openen,
Party Account,Party Account,
Type of Payment,Type van Betaling,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Ontvangen,
Internal Transfer,Interne overplaatsing,
Payment Order Status,Status betalingsopdracht,
Payment Ordered,Betaling besteld,
Payment From / To,Betaling van / naar,
Company Bank Account,Bedrijf bankrekening,
Party Bank Account,Partij bankrekening,
Account Paid From,Account betaald uit,
Account Paid To,Rekening betaald aan,
Paid Amount (Company Currency),Betaald bedrag (Bedrijfsvaluta),
Received Amount,ontvangen Bedrag,
Received Amount (Company Currency),Ontvangen bedrag (Company Munt),
Get Outstanding Invoice,Ontvang een uitstekende factuur,
Payment References,betaling Referenties,
Writeoff,Afschrijven,
Total Allocated Amount,Totaal toegewezen bedrag,
Total Allocated Amount (Company Currency),Totaal toegewezen bedrag (Company Munt),
Set Exchange Gain / Loss,Stel Exchange winst / verlies,
Difference Amount (Company Currency),Verschil Bedrag (Company Munt),
Write Off Difference Amount,Schrijf Off Verschil Bedrag,
Deductions or Loss,Aftrek of verlies,
Payment Deductions or Loss,Betaling Aftrek of verlies,
Cheque/Reference Date,Cheque / Reference Data,
Payment Entry Deduction,Betaling Entry Aftrek,
Payment Entry Reference,Betaling Entry Reference,
Allocated,Toegewezen,
Payment Gateway Account,Payment Gateway Account,
Payment Account,Betaalrekening,
Default Payment Request Message,Standaard bericht Payment Request,
PMO-,PMO-,
Payment Order Type,Type betalingsopdracht,
Payment Order Reference,Referentie betalingsopdracht,
Bank Account Details,Bankgegevens,
Payment Reconciliation,Afletteren,
Receivable / Payable Account,Vorderingen / Crediteuren Account,
Bank / Cash Account,Bank- / Kasrekening,
From Invoice Date,Na factuurdatum,
To Invoice Date,Om factuurdatum,
Minimum Invoice Amount,Minimum Factuurbedrag,
Maximum Invoice Amount,Maximumfactuur Bedrag,
System will fetch all the entries if limit value is zero.,Systeem haalt alle gegevens op als de limietwaarde nul is.,
Get Unreconciled Entries,Haal onafgeletterde transacties op,
Unreconciled Payment Details,Niet overeenstemmende betalingsgegevens,
Invoice/Journal Entry Details,Factuur / Journal Entry Details,
Payment Reconciliation Invoice,Afletteren Factuur,
Invoice Number,Factuurnummer,
Payment Reconciliation Payment,Afletteren Betaling,
Reference Row,Referentie Row,
Allocated amount,Toegewezen bedrag,
Payment Request Type,Type betalingsverzoek,
Outward,naar buiten,
Inward,innerlijk,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,transactie details,
Amount in customer's currency,Bedrag in de valuta van de klant,
Is a Subscription,Is een abonnement,
Transaction Currency,transactie Munt,
Subscription Plans,Abonnementen,
SWIFT Number,SWIFT nummer,
Recipient Message And Payment Details,Ontvanger Bericht en betalingsgegevens,
Make Sales Invoice,Maak verkoopfactuur,
Mute Email,Mute-mail,
payment_url,payment_url,
Payment Gateway Details,Payment Gateway Details,
Payment Schedule,Betalingsschema,
Invoice Portion,Factuurgedeelte,
Payment Amount,Betaling Bedrag,
Payment Term Name,Betalingstermijn,
Due Date Based On,Vervaldatum op basis van,
Day(s) after invoice date,Dag (en) na factuurdatum,
Day(s) after the end of the invoice month,Dag (en) na het einde van de factuurmaand,
Month(s) after the end of the invoice month,Maand (en) na het einde van de factuurmaand,
Credit Days,Credit Dagen,
Credit Months,Kredietmaanden,
Allocate Payment Based On Payment Terms,Wijs betalingen toe op basis van betalingsvoorwaarden,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Als dit selectievakje is aangevinkt, wordt het betaalde bedrag opgesplitst en toegewezen volgens de bedragen in het betalingsschema voor elke betalingstermijn",
Payment Terms Template Detail,Betalingsvoorwaarden sjabloondetail,
Closing Fiscal Year,Het sluiten van het fiscale jaar,
Closing Account Head,Sluiten Account Hoofd,
"The account head under Liability or Equity, in which Profit/Loss will be booked","De rekening hoofd onder Aansprakelijkheid of Equity, waarbij winst / verlies zal worden geboekt",
POS Customer Group,POS Customer Group,
POS Field,POS-veld,
POS Item Group,POS Item Group,
Company Address,bedrijfsadres,
Update Stock,Voorraad bijwerken,
Ignore Pricing Rule,Negeer Prijsregel,
Applicable for Users,Toepasbaar voor gebruikers,
Sales Invoice Payment,Sales Invoice Betaling,
Item Groups,Item Groepen,
Only show Items from these Item Groups,Toon alleen artikelen uit deze artikelgroepen,
Customer Groups,Doelgroepen,
Only show Customer of these Customer Groups,Toon alleen de klant van deze klantengroepen,
Write Off Account,Afschrijvingsrekening,
Write Off Cost Center,Afschrijvingen kostenplaats,
Account for Change Amount,Account for Change Bedrag,
Taxes and Charges,Belastingen en Toeslagen,
Apply Discount On,Breng Korting op,
POS Profile User,POS-profielgebruiker,
Apply On,toepassing op,
Price or Product Discount,Prijs of productkorting,
Apply Rule On Item Code,Regel toepassen op artikelcode,
Apply Rule On Item Group,Regel toepassen op artikelgroep,
Apply Rule On Brand,Regel op merk toepassen,
Mixed Conditions,Gemengde voorwaarden,
Conditions will be applied on all the selected items combined. ,Voorwaarden worden toegepast op alle geselecteerde items samen.,
Is Cumulative,Is cumulatief,
Coupon Code Based,Couponcode gebaseerd,
Discount on Other Item,Korting op ander artikel,
Apply Rule On Other,Regel toepassen op andere,
Party Information,Partij informatie,
Quantity and Amount,Hoeveelheid en bedrag,
Min Qty,min Aantal,
Max Qty,Max Aantal,
Min Amt,Min. Amt,
Max Amt,Max Amt,
Period Settings,Periode instellingen,
Margin,Marge,
Margin Type,marge Type,
Margin Rate or Amount,Margin Rate of Bedrag,
Price Discount Scheme,Prijs kortingsregeling,
Rate or Discount,Tarief of korting,
Discount Percentage,Kortingspercentage,
Discount Amount,Korting Bedrag,
For Price List,Voor Prijslijst,
Product Discount Scheme,Kortingsregeling voor producten,
Same Item,Zelfde item,
Free Item,Gratis artikel,
Threshold for Suggestion,Drempel voor suggestie,
System will notify to increase or decrease quantity or amount ,Het systeem meldt om de hoeveelheid of hoeveelheid te verhogen of te verlagen,
"Higher the number, higher the priority","Hoe hoger het getal, hoe hoger de prioriteit",
Apply Multiple Pricing Rules,Pas meerdere prijsregels toe,
Apply Discount on Rate,Korting op tarief toepassen,
Validate Applied Rule,Toegepaste regel valideren,
Rule Description,Regelbeschrijving,
Pricing Rule Help,Prijsbepalingsregel Help,
Promotional Scheme Id,Promotieplan Id,
Promotional Scheme,Promotieregeling,
Pricing Rule Brand,Prijsregel merk,
Pricing Rule Detail,Prijsregel detail,
Child Docname,Doc. Kindnaam,
Rule Applied,Regel toegepast,
Pricing Rule Item Code,Prijsregel Artikelcode,
Pricing Rule Item Group,Prijsregel artikelgroep,
Price Discount Slabs,Prijs korting platen,
Promotional Scheme Price Discount,Promotieschema Prijskorting,
Product Discount Slabs,Productkortingsplaten,
Promotional Scheme Product Discount,Promotieschema Productkorting,
Min Amount,Min. Bedrag,
Max Amount,Max. Hoeveelheid,
Discount Type,Kortingstype,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Belastinginhouding Categorie,
Edit Posting Date and Time,Wijzig Posting Datum en tijd,
Is Paid,Is betaald,
Is Return (Debit Note),Is Return (Debet Note),
Apply Tax Withholding Amount,Belastingvergoeding toepassen,
Accounting Dimensions ,Boekhoudafmetingen,
Supplier Invoice Details,Leverancier Invoice Details,
Supplier Invoice Date,Factuurdatum Leverancier,
Return Against Purchase Invoice,Terug Tegen Purchase Invoice,
Select Supplier Address,Select Leverancier Adres,
Contact Person,Contactpersoon,
Select Shipping Address,Selecteer Verzendadres,
Currency and Price List,Valuta en Prijslijst,
Price List Currency,Prijslijst Valuta,
Price List Exchange Rate,Prijslijst Wisselkoers,
Set Accepted Warehouse,Geaccepteerd magazijn instellen,
Rejected Warehouse,Afgewezen Magazijn,
Warehouse where you are maintaining stock of rejected items,Magazijn waar u voorraad bijhoudt van afgewezen artikelen,
Raw Materials Supplied,Grondstoffen Geleverd,
Supplier Warehouse,Leverancier Magazijn,
Pricing Rules,Prijsregels,
Supplied Items,Geleverde Artikelen,
Total (Company Currency),Totaal (Company valuta),
Net Total (Company Currency),Netto Totaal (Bedrijfsvaluta),
Total Net Weight,Totale netto gewicht,
Shipping Rule,Verzendregel,
Purchase Taxes and Charges Template,Aankoop en -heffingen Template,
Purchase Taxes and Charges,Inkoop Belastingen en Toeslagen,
Tax Breakup,Belastingverdeling,
Taxes and Charges Calculation,Belastingen en Toeslagen berekenen,
Taxes and Charges Added (Company Currency),Belastingen en Toeslagen toegevoegd (Bedrijfsvaluta),
Taxes and Charges Deducted (Company Currency),Belastingen en Toeslagen afgetrokken (Bedrijfsvaluta),
Total Taxes and Charges (Company Currency),Totaal belastingen en toeslagen (Bedrijfsvaluta),
Taxes and Charges Added,Belastingen en Toeslagen toegevoegd,
Taxes and Charges Deducted,Belastingen en Toeslagen Afgetrokken,
Total Taxes and Charges,Totaal belastingen en toeslagen,
Additional Discount,EXTRA KORTING,
Apply Additional Discount On,Breng Extra Korting op,
Additional Discount Amount (Company Currency),Extra korting Bedrag (Company valuta),
Additional Discount Percentage,Percentage extra korting,
Additional Discount Amount,Extra kortingsbedrag,
Grand Total (Company Currency),Grand Total (Company Munt),
Rounding Adjustment (Company Currency),Afronding aanpassing (bedrijfsmunt),
Rounded Total (Company Currency),Afgerond Totaal (Bedrijfsvaluta),
In Words (Company Currency),In Woorden (Bedrijfsvaluta),
Rounding Adjustment,Afrondingsaanpassing,
In Words,In Woorden,
Total Advance,Totaal Voorschot,
Disable Rounded Total,Deactiveer Afgerond Totaal,
Cash/Bank Account,Kas/Bankrekening,
Write Off Amount (Company Currency),Af te schrijven bedrag (Bedrijfsvaluta),
Set Advances and Allocate (FIFO),Vooruitgang en toewijzing instellen (FIFO),
Get Advances Paid,Get betaalde voorschotten,
Advances,Vooruitgang,
Terms,Voorwaarden,
Terms and Conditions1,Algemene Voorwaarden1,
Group same items,Groep dezelfde items,
Print Language,Print Taal,
"Once set, this invoice will be on hold till the set date","Eenmaal ingesteld, wordt deze factuur in de wacht gezet tot de ingestelde datum",
Credit To,Met dank aan,
Party Account Currency,Party account Valuta,
Against Expense Account,Tegen Kostenrekening,
Inter Company Invoice Reference,Referentie voor bedrijfsfacturen,
Is Internal Supplier,Is interne leverancier,
Start date of current invoice's period,Begindatum van de huidige factuurperiode,
End date of current invoice's period,Einddatum van de huidige factuurperiode,
Update Auto Repeat Reference,Update automatische herhaalreferentie,
Purchase Invoice Advance,Inkoopfactuur Voorschot,
Purchase Invoice Item,Inkoopfactuur Artikel,
Quantity and Rate,Hoeveelheid en Tarief,
Received Qty,Ontvangen Aantal,
Accepted Qty,Geaccepteerd Aantal,
Rejected Qty,afgewezen Aantal,
UOM Conversion Factor,Eenheid Omrekeningsfactor,
Discount on Price List Rate (%),Korting op de prijslijst Rate (%),
Price List Rate (Company Currency),Prijslijst Tarief (Bedrijfsvaluta),
Rate ,Tarief,
Rate (Company Currency),Tarief (Bedrijfsvaluta),
Amount (Company Currency),Bedrag (Company Munt),
Is Free Item,Is gratis item,
Net Rate,Net Rate,
Net Rate (Company Currency),Net Rate (Company Valuta),
Net Amount (Company Currency),Nettobedrag (Company valuta),
Item Tax Amount Included in Value,Artikel Belastingbedrag inbegrepen in waarde,
Landed Cost Voucher Amount,Vrachtkosten Voucher Bedrag,
Raw Materials Supplied Cost,Grondstoffen Leveringskosten,
Accepted Warehouse,Geaccepteerd Magazijn,
Serial No,Serienummer,
Rejected Serial No,Afgewezen Serienummer,
Expense Head,Kosten Hoofd,
Is Fixed Asset,Is vaste activa,
Asset Location,Activa locatie,
Deferred Expense,Uitgestelde kosten,
Deferred Expense Account,Uitgestelde onkostenrekening,
Service Stop Date,Dienststopdatum,
Enable Deferred Expense,Uitgestelde kosten inschakelen,
Service Start Date,Startdatum van de service,
Service End Date,Einddatum service,
Allow Zero Valuation Rate,Zero waarderingspercentage toestaan,
Item Tax Rate,Artikel BTW-tarief,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Belasting detail tafel haalden van post meester als een string en opgeslagen in dit gebied.\n Gebruikt voor en -heffingen,
Purchase Order Item,Inkooporder Artikel,
Purchase Receipt Detail,Detail aankoopbon,
Item Weight Details,Item Gewicht Details,
Weight Per Unit,Gewicht per eenheid,
Total Weight,Totale gewicht,
Weight UOM,Gewicht Eenheid,
Page Break,Pagina-einde,
Consider Tax or Charge for,Overweeg belasting of heffing voor,
Valuation and Total,Waardering en Totaal,
Valuation,Waardering,
Add or Deduct,Toevoegen of aftrekken,
Deduct,Aftrekken,
On Previous Row Amount,Aantal van vorige rij,
On Previous Row Total,Aantal van volgende rij,
On Item Quantity,Op artikelhoeveelheid,
Reference Row #,Referentie Rij #,
Is this Tax included in Basic Rate?,Is dit inbegrepen in de Basic Rate?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Indien aangevinkt, zal de BTW-bedrag worden beschouwd als reeds in de Print Tarief / Print Bedrag",
Account Head,Hoofdrekening,
Tax Amount After Discount Amount,Belasting bedrag na korting,
Item Wise Tax Detail ,Item Wise belastingdetail,
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Standaard belasting sjabloon die kan worden toegepast op alle inkooptransacties. Deze sjabloon kan lijst van fiscale hoofden en ook andere kosten koppen als ""Verzenden"", ""Verzekering"" bevatten, ""Omgaan met"" enz \n\n #### Opmerking \n\n De belastingdruk die u hier definieert zal het normale belastingtarief voor alle ** Items worden **. Als er ** Items ** dat verschillende tarieven hebben, moeten ze worden toegevoegd in de ** Item Tax ** tafel in de ** Item ** meester.\n\n #### Beschrijving van Kolommen \n\n 1. Berekening Type: \n - Dit kan op ** Netto Totaal ** (dat is de som van het basisbedrag).\n - ** Op Vorige Row Total / Bedrag ** (voor cumulatieve belastingen of heffingen). Als u deze optie selecteert, zal de belasting worden berekend als een percentage van de vorige rij (in de fiscale tabel) bedrag of totaal.\n - ** Werkelijke ** (zoals vermeld).\n 2. Account Head: De Account grootboek waaronder deze belasting \n 3 zal worden geboekt. Cost Center: Als de belasting / heffing is een inkomen (zoals de scheepvaart) of kosten die het nodig heeft tegen een kostenplaats worden geboekt.\n 4. Beschrijving: Beschrijving van de belasting (die zullen worden afgedrukt in de facturen / offertes).\n 5. Rate: belastingtarief.\n 6. Bedrag: BTW bedrag.\n 7. Totaal: Cumulatief totaal op dit punt.\n 8. Voer Row: Als op basis van ""Vorige Row Total"" kunt u het rijnummer die zullen worden genomen als basis voor deze berekening (standaard is de vorige rij) te selecteren.\n 9. Overweeg Tax of Charge voor: In dit gedeelte kunt u aangeven of de belasting / heffing is alleen voor de waardering (geen deel uit van het totaal) of alleen voor de totale (voegt niets toe aan het item) of voor beide.\n 10. Toe te voegen of Trek: Of u wilt toevoegen of aftrekken van de belasting.",
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Inclusief Betaling (POS),
Offline POS Name,Offline POS Naam,
Is Return (Credit Note),Is Return (Credit Note),
Return Against Sales Invoice,Terug Tegen Sales Invoice,
Update Billed Amount in Sales Order,Factuurbedrag in klantorder bijwerken,
Customer PO Details,Klant PO-details,
Customer's Purchase Order,Klant Bestelling,
Customer's Purchase Order Date,Inkooporder datum van Klant,
Customer Address,Klant Adres,
Shipping Address Name,Verzenden Adres Naam,
Company Address Name,Bedrijfs Adres Naam,
Rate at which Customer Currency is converted to customer's base currency,Koers waarmee de Klant Valuta wordt omgerekend naar de basisvaluta van de klant.,
Rate at which Price list currency is converted to customer's base currency,Koers waarmee Prijslijst valuta wordt omgerekend naar de basisvaluta van de klant,
Set Source Warehouse,Stel bronmagazijn in,
Packing List,Paklijst,
Packed Items,Verpakt Items,
Product Bundle Help,Product Bundel Help,
Time Sheet List,Urenregistratie List,
Time Sheets,Time Sheets,
Total Billing Amount,Totaal factuurbedrag,
Sales Taxes and Charges Template,Sales en -heffingen Template,
Sales Taxes and Charges,Verkoop Belasting en Toeslagen,
Loyalty Points Redemption,Loyalty Points-verlossing,
Redeem Loyalty Points,Loyaliteitspunten inwisselen,
Redemption Account,Aflossingsrekening,
Redemption Cost Center,Inkoopkostenplaats,
In Words will be visible once you save the Sales Invoice.,In Woorden zijn zichtbaar zodra u de Verkoopfactuur opslaat.,
Allocate Advances Automatically (FIFO),Wijs automatisch vooruit (FIFO),
Get Advances Received,Get ontvangen voorschotten,
Base Change Amount (Company Currency),Base Change Bedrag (Company Munt),
Write Off Outstanding Amount,Afschrijving uitstaande bedrag,
Terms and Conditions Details,Algemene Voorwaarden Details,
Is Internal Customer,Is interne klant,
Is Discounted,Wordt verdisconteerd,
Unpaid and Discounted,Onbetaald en met korting,
Overdue and Discounted,Achterstallig en afgeprijsd,
Accounting Details,Boekhouding Details,
Debit To,Debitering van,
Is Opening Entry,Wordt Opening Entry,
C-Form Applicable,C-Form Toepasselijk,
Commission Rate (%),Commissie Rate (%),
Sales Team1,Verkoop Team1,
Against Income Account,Tegen Inkomstenrekening,
Sales Invoice Advance,Verkoopfactuur Voorschot,
Advance amount,Voorschot Bedrag,
Sales Invoice Item,Verkoopfactuur Artikel,
Customer's Item Code,Artikelcode van Klant,
Brand Name,Merknaam,
Qty as per Stock UOM,Aantal per Voorraad eenheid,
Discount and Margin,Korting en Marge,
Rate With Margin,Beoordeel met marges,
Discount (%) on Price List Rate with Margin,Korting (%) op prijslijst tarief met marges,
Rate With Margin (Company Currency),Tarief met marge (bedrijfsvaluta),
Delivered By Supplier,Geleverd door Leverancier,
Deferred Revenue,Uitgestelde omzet,
Deferred Revenue Account,Uitgestelde inkomstenrekening,
Enable Deferred Revenue,Uitgestelde inkomsten inschakelen,
Stock Details,Voorraad Details,
Customer Warehouse (Optional),Customer Warehouse (optioneel),
Available Batch Qty at Warehouse,Verkrijgbaar Aantal Batch bij Warehouse,
Available Qty at Warehouse,Qty bij Warehouse,
Delivery Note Item,Vrachtbrief Artikel,
Base Amount (Company Currency),Basisbedrag (Company Munt),
Sales Invoice Timesheet,Sales Invoice Timesheet,
Time Sheet,Urenregistratie,
Billing Hours,Billing Hours,
Timesheet Detail,Timesheet Detail,
Tax Amount After Discount Amount (Company Currency),Belasting Bedrag na korting Bedrag (Company valuta),
Item Wise Tax Detail,Artikelgebaseerde BTW Details,
Parenttype,Parenttype,
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Standaard belasting sjabloon die kan worden toegepast op alle verkooptransacties. Deze sjabloon kan lijst van fiscale hoofden en ook andere kosten / baten koppen als ""Verzenden"", ""Verzekering"" bevatten, ""Omgaan met"" enz \n\n #### Opmerking \n\n Het belastingtarief u definiëren hier zal het normale belastingtarief voor alle ** Items worden **. Als er ** Items ** dat verschillende tarieven hebben, moeten ze worden toegevoegd in de ** Item Tax ** tafel in de ** Item ** meester.\n\n #### Beschrijving van Kolommen \n\n 1. Berekening Type: \n - Dit kan op ** Netto Totaal ** (dat is de som van het basisbedrag).\n - ** Op Vorige Row Total / Bedrag ** (voor cumulatieve belastingen of heffingen). Als u deze optie selecteert, zal de belasting worden berekend als een percentage van de vorige rij (in de fiscale tabel) bedrag of totaal.\n - ** Werkelijke ** (zoals vermeld).\n 2. Account Head: De Account grootboek waaronder deze belasting \n 3 zal worden geboekt. Cost Center: Als de belasting / heffing is een inkomen (zoals de scheepvaart) of kosten die het nodig heeft tegen een kostenplaats worden geboekt.\n 4. Beschrijving: Beschrijving van de belasting (die zullen worden afgedrukt in de facturen / offertes).\n 5. Rate: belastingtarief.\n 6. Bedrag: BTW bedrag.\n 7. Totaal: Cumulatief totaal op dit punt.\n 8. Voer Row: Als op basis van ""Vorige Row Total"" kunt u het rijnummer die zullen worden genomen als basis voor deze berekening (standaard is de vorige rij) te selecteren.\n 9. Is dit inbegrepen in de Basic Rate ?: Indien u dit controleren, betekent dit dat deze belasting niet onder het item tafel zal worden getoond, maar zal worden opgenomen in het basistarief in uw belangrijkste punt tafel. Dit is handig wanneer u wilt geven een platte prijs (inclusief alle belastingen) prijs aan klanten.",
* Will be calculated in the transaction.,* Zal worden berekend in de transactie.,
From No,Van Nee,
To No,Naar Nee,
Is Company,Is Bedrijf,
Current State,Huidige toestand,
Purchased,Gekocht,
From Shareholder,Van aandeelhouder,
From Folio No,Van Folio Nee,
To Shareholder,Aan de aandeelhouder,
To Folio No,Naar Folio Nee,
Equity/Liability Account,Aandelen / aansprakelijkheidsrekening,
Asset Account,ActivAccount,
(including),(inclusief),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio nr.,
Address and Contacts,Adres en Contacten,
Contact List,Contactlijst,
Hidden list maintaining the list of contacts linked to Shareholder,Verborgen lijst met de lijst met contacten gekoppeld aan Shareholder,
Specify conditions to calculate shipping amount,Specificeer de voorwaarden om het verzendbedrag te berekenen,
Shipping Rule Label,Verzendregel Label,
example: Next Day Shipping,Bijvoorbeeld: Next Day Shipping,
Shipping Rule Type,Verzendregel Type,
Shipping Account,Verzending Rekening,
Calculate Based On,Berekenen gebaseerd op,
Fixed,vast,
Net Weight,Netto Gewicht,
Shipping Amount,Verzendbedrag,
Shipping Rule Conditions,Verzendregel Voorwaarden,
Restrict to Countries,Beperken tot landen,
Valid for Countries,Geldig voor Landen,
Shipping Rule Condition,Verzendregel Voorwaarde,
A condition for a Shipping Rule,Een voorwaarde voor een Verzendregel,
From Value,Van Waarde,
To Value,Tot Waarde,
Shipping Rule Country,Verzenden Regel Land,
Subscription Period,Abonnementsperiode,
Subscription Start Date,Begindatum abonnement,
Cancelation Date,Annuleringsdatum,
Trial Period Start Date,Startdatum proefperiode,
Trial Period End Date,Einddatum van de proefperiode,
Current Invoice Start Date,Huidige startdatum factuur,
Current Invoice End Date,Huidige factuur einddatum,
Days Until Due,Dagen tot Due,
Number of days that the subscriber has to pay invoices generated by this subscription,Aantal dagen dat de abonnee de facturen moet betalen die door dit abonnement worden gegenereerd,
Cancel At End Of Period,Annuleer aan het einde van de periode,
Generate Invoice At Beginning Of Period,Factuur aan het begin van de periode genereren,
Plans,Plannen,
Discounts,Kortingen,
Additional DIscount Percentage,Extra Korting Procent,
Additional DIscount Amount,Extra korting Bedrag,
Subscription Invoice,Abonnementsfactuur,
Subscription Plan,Abonnement,
Cost,Kosten,
Billing Interval,Factuurinterval,
Billing Interval Count,Factuurinterval tellen,
"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Aantal intervallen voor het intervalveld, bijv. Als het interval &#39;Dagen&#39; is en het factuurinterval is 3, worden er om de 3 dagen facturen gegenereerd",
Payment Plan,Betaalplan,
Subscription Plan Detail,Abonnementsplan Detail,
Plan,Plan,
Subscription Settings,Abonnementsinstellingen,
Grace Period,Genade periode,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Het aantal dagen na de factuurdatum is verstreken voordat het abonnements- of markeringsabonnement als onbetaald werd geannuleerd,
Prorate,pro-rata,
Tax Rule,Belasting Regel,
Tax Type,Belasting Type,
Use for Shopping Cart,Gebruik voor de Winkelwagen,
Billing City,Stad,
Billing County,Billing County,
Billing State,Billing State,
Billing Zipcode,Facturatie postcode,
Billing Country,Land,
Shipping City,Verzending Stad,
Shipping County,verzending County,
Shipping State,Scheepvaart State,
Shipping Zipcode,Verzend postcode,
Shipping Country,Verzenden Land,
Tax Withholding Account,Belasting-inhouding-account,
Tax Withholding Rates,Belastinginhouding,
Rates,tarieven,
Tax Withholding Rate,Belastingtarief,
Single Transaction Threshold,Drempel voor enkele transactie,
Cumulative Transaction Threshold,Cumulatieve transactiedrempel,
Agriculture Analysis Criteria,Criteria voor landbouwanalyse,
Linked Doctype,Gekoppeld Doctype,
Water Analysis,Water analyse,
Soil Analysis,Bodemanalyse,
Plant Analysis,Plantanalyse,
Fertilizer,Kunstmest,
Soil Texture,Bodemstructuur,
Weather,Weer,
Agriculture Manager,Landbouwmanager,
Agriculture User,Landbouw Gebruiker,
Agriculture Task,Landbouwtaak,
Task Name,Taaknaam,
Start Day,Start dag,
End Day,Einde dag,
Holiday Management,Vakantie Management,
Ignore holidays,Vakantie negeren,
Previous Business Day,Vorige werkdag,
Next Business Day,Volgende werkdag,
Urgent,Dringend,
Crop,Gewas,
Crop Name,Gewasnaam,
Scientific Name,Wetenschappelijke naam,
"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","U kunt hier alle taken definiëren die voor dit gewas moeten worden uitgevoerd. Het dagveld wordt gebruikt om de dag te vermelden waarop de taak moet worden uitgevoerd, waarbij 1 de eerste dag is, enzovoort.",
Crop Spacing,Uitsnede bijsnijden,
Crop Spacing UOM,Gewasafstand UOM,
Row Spacing,Rijafstand,
Row Spacing UOM,Rijafstand UOM,
Perennial,eeuwigdurend,
Biennial,tweejarig,
Planting UOM,UOM planten,
Planting Area,Plant gebied,
Yield UOM,Opbrengst UOM,
Materials Required,Benodigde materialen,
Produced Items,Geproduceerde items,
Produce,Produceren,
Byproducts,bijproducten,
Linked Location,Gekoppelde locatie,
A link to all the Locations in which the Crop is growing,Een link naar alle locaties waarin het gewas groeit,
This will be day 1 of the crop cycle,Dit wordt dag 1 van de gewascyclus,
ISO 8601 standard,ISO 8601-norm,
Cycle Type,Type cyclus,
Less than a year,Minder dan een jaar,
The minimum length between each plant in the field for optimum growth,De minimale lengte tussen elke plant in het veld voor optimale groei,
The minimum distance between rows of plants for optimum growth,De minimale afstand tussen rijen planten voor optimale groei,
Detected Diseases,Gedetecteerde ziekten,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,Lijst met gedetecteerde ziekten op het veld. Na selectie voegt het automatisch een lijst met taken toe om de ziekte aan te pakken,
Detected Disease,Gedetecteerde ziekte,
LInked Analysis,Geïntegreerde analyse,
Disease,Ziekte,
Tasks Created,Taken gemaakt,
Common Name,Gemeenschappelijke naam,
Treatment Task,Behandelingstaak,
Treatment Period,Behandelingsperiode,
Fertilizer Name,Meststofnaam,
Density (if liquid),Dichtheid (indien vloeibaar),
Fertilizer Contents,Kunstmest Inhoud,
Fertilizer Content,Kunstmestinhoud,
Linked Plant Analysis,Linked Plant Analysis,
Linked Soil Analysis,Linked Soil Analysis,
Linked Soil Texture,Gekoppelde bodemtextuur,
Collection Datetime,Verzameling Datetime,
Laboratory Testing Datetime,Laboratoriumtest Datetime,
Result Datetime,Resultaat Datetime,
Plant Analysis Criterias,Plant Analysis Criteria,
Plant Analysis Criteria,Criteria voor plantanalyse,
Minimum Permissible Value,Minimaal toelaatbare waarde,
Maximum Permissible Value,Maximaal toelaatbare waarde,
Ca/K,Ca / K,
Ca/Mg,Ca / Mg,
Mg/K,Mg / K,
(Ca+Mg)/K,(Ca + Mg) / K,
Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
Soil Analysis Criterias,Bodemanalyse Criterias,
Soil Analysis Criteria,Bodemanalysecriteria,
Soil Type,Grondsoort,
Loamy Sand,Leemachtige zand,
Sandy Loam,Zandige leem,
Loam,Leem,
Silt Loam,Silt Loam,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Silty Clay Loam,
Sandy Clay,Zanderige klei,
Silty Clay,Leemklei,
Clay Composition (%),Kleisamenstelling (%),
Sand Composition (%),Zandsamenstelling (%),
Silt Composition (%),Silt-samenstelling (%),
Ternary Plot,Ternary Plot,
Soil Texture Criteria,Bodemtextuurcriteria,
Type of Sample,Type monster,
Container,houder,
Origin,Oorsprong,
Collection Temperature ,Verzamelingstemperatuur,
Storage Temperature,Bewaar temperatuur,
Appearance,Uiterlijk,
Person Responsible,Verantwoordelijke persoon,
Water Analysis Criteria,Criteria voor wateranalyse,
Weather Parameter,Weerparameter,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Activa-eigenaar,
Asset Owner Company,Asset Owner Company,
Custodian,Bewaarder,
Disposal Date,verwijdering Date,
Journal Entry for Scrap,Dagboek voor Productieverlies,
Available-for-use Date,Beschikbaar voor gebruik Datum,
Calculate Depreciation,Bereken afschrijving,
Allow Monthly Depreciation,Maandelijkse afschrijving toestaan,
Number of Depreciations Booked,Aantal Afschrijvingen Geboekt,
Finance Books,Financiën Boeken,
Straight Line,Rechte lijn,
Double Declining Balance,Double degressief,
Manual,handboek,
Value After Depreciation,Restwaarde,
Total Number of Depreciations,Totaal aantal Afschrijvingen,
Frequency of Depreciation (Months),Frequentie van afschrijvingen (Maanden),
Next Depreciation Date,Volgende Afschrijvingen Date,
Depreciation Schedule,afschrijving Schedule,
Depreciation Schedules,afschrijvingen Roosters,
Insurance details,Verzekeringsdetails,
Policy number,Polisnummer,
Insurer,Verzekeraar,
Insured value,Verzekerde waarde,
Insurance Start Date,Startdatum verzekering,
Insurance End Date,Verzekering Einddatum,
Comprehensive Insurance,Uitgebreide verzekering,
Maintenance Required,Onderhoud vereist,
Check if Asset requires Preventive Maintenance or Calibration,Controleer of Activum preventief onderhoud of kalibratie vereist,
Booked Fixed Asset,Geboekte vaste activa,
Purchase Receipt Amount,Aankoopbedrag,
Default Finance Book,Standaard Finance Book,
Quality Manager,Quality Manager,
Asset Category Name,Asset Categorie Naam,
Depreciation Options,Afschrijvingsopties,
Enable Capital Work in Progress Accounting,Kapitaalwerk in uitvoering Accounting inschakelen,
Finance Book Detail,Financiën Boek Detail,
Asset Category Account,Asset Categorie Account,
Fixed Asset Account,Fixed Asset Account,
Accumulated Depreciation Account,Cumulatieve afschrijvingen Rekening,
Depreciation Expense Account,Afschrijvingen Account,
Capital Work In Progress Account,Capital Work In Progress-account,
Asset Finance Book,Asset Finance Book,
Written Down Value,Geschreven waarde,
Expected Value After Useful Life,Verwachte waarde Na Nuttig Life,
Rate of Depreciation,Afschrijvingspercentage,
In Percentage,In percentage,
Maintenance Team,Onderhoudsteam,
Maintenance Manager Name,Naam onderhoudsmanager,
Maintenance Tasks,Onderhoudstaken,
Manufacturing User,Productie Gebruiker,
Asset Maintenance Log,Asset-onderhoudslogboek,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Onderhoud Type,
Maintenance Status,Onderhoud Status,
Planned,Gepland,
Has Certificate ,Heeft certificaat,
Certificate,Certificaat,
Actions performed,Uitgevoerde acties,
Asset Maintenance Task,Asset Maintenance Task,
Maintenance Task,Onderhoudstaak,
Preventive Maintenance,Preventief onderhoud,
Calibration,ijking,
2 Yearly,2 Jaarlijks,
Certificate Required,Certificaat vereist,
Assign to Name,Toewijzen aan naam,
Next Due Date,volgende vervaldatum,
Last Completion Date,Laatste voltooiingsdatum,
Asset Maintenance Team,Asset Maintenance Team,
Maintenance Team Name,Onderhoudsteam naam,
Maintenance Team Members,Onderhoudsteamleden,
Purpose,Doel,
Stock Manager,Stock Manager,
Asset Movement Item,Item itembeweging,
Source Location,Bronlocatie,
From Employee,Van Medewerker,
Target Location,Doellocatie,
To Employee,Naar medewerker,
Asset Repair,Asset reparatie,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Failure Date,
Assign To Name,Toewijzen aan naam,
Repair Status,Reparatiestatus,
Error Description,Foutbeschrijving,
Downtime,uitvaltijd,
Repair Cost,reparatiekosten,
Manufacturing Manager,Productie Manager,
Current Asset Value,Huidige activawaarde,
New Asset Value,Nieuwe activawaarde,
Make Depreciation Entry,Maak Afschrijvingen Entry,
Finance Book Id,Finance Boek-ID,
Location Name,Locatie naam,
Parent Location,Bovenliggende locatie,
Is Container,Is Container,
Check if it is a hydroponic unit,Controleer of het een hydrocultuur is,
Location Details,Locatie details,
Latitude,Breedtegraad,
Longitude,Lengtegraad,
Area,Gebied,
Area UOM,UOM van het gebied,
Tree Details,Tree Details,
Maintenance Team Member,Onderhoudsteamlid,
Team Member,Teamlid,
Maintenance Role,Onderhoudsrol,
Buying Settings,Inkoop Instellingen,
Settings for Buying Module,Instellingen voor het kopen van Module,
Supplier Naming By,Leverancier Benaming Door,
Default Supplier Group,Standaard leveranciersgroep,
Default Buying Price List,Standaard Inkoop Prijslijst,
Backflush Raw Materials of Subcontract Based On,Backflush Grondstoffen van onderaanneming gebaseerd op,
Material Transferred for Subcontract,Materiaal overgedragen voor onderaanneming,
Over Transfer Allowance (%),Overdrachtstoeslag (%),
Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Percentage dat u meer mag overbrengen tegen de bestelde hoeveelheid. Bijvoorbeeld: als u 100 eenheden heeft besteld. en uw toelage is 10%, dan mag u 110 eenheden overdragen.",
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Krijg items van Open Materiaal Aanvragen,
Fetch items based on Default Supplier.,Haal items op op basis van standaardleverancier.,
Required By,Benodigd op,
Order Confirmation No,Orderbevestiging Nee,
Order Confirmation Date,Bevestigingsdatum bestellen,
Customer Mobile No,Klant Mobile Geen,
Customer Contact Email,E-mail Contactpersoon Klant,
Set Target Warehouse,Stel het doelmagazijn in,
Sets 'Warehouse' in each row of the Items table.,Stelt &#39;Magazijn&#39; in in elke rij van de Artikeltabel.,
Supply Raw Materials,Supply Grondstoffen,
Purchase Order Pricing Rule,Prijsregel inkooporder,
Set Reserve Warehouse,Stel reservemagazijn in,
In Words will be visible once you save the Purchase Order.,In Woorden zijn zichtbaar zodra u de Inkooporder opslaat,
Advance Paid,Voorschot Betaald,
Tracking,Volgen,
% Billed,% Gefactureerd,
% Received,% Ontvangen,
Ref SQ,Ref SQ,
Inter Company Order Reference,Inter Company Orderreferentie,
Supplier Part Number,Leverancier Onderdeelnummer,
Billed Amt,Gefactureerd Bedr,
Warehouse and Reference,Magazijn en Referentie,
To be delivered to customer,Om de klant te leveren,
Material Request Item,Materiaal Aanvraag Artikel,
Supplier Quotation Item,Leverancier Offerte Artikel,
Against Blanket Order,Tegen algemene bestelling,
Blanket Order,Dekenvolgorde,
Blanket Order Rate,Deken Besteltarief,
Returned Qty,Terug Aantal,
Purchase Order Item Supplied,Inkooporder Artikel geleverd,
BOM Detail No,Stuklijst Detail nr.,
Stock Uom,Voorraad Eenheid,
Raw Material Item Code,Grondstof Artikelcode,
Supplied Qty,Meegeleverde Aantal,
Purchase Receipt Item Supplied,Ontvangstbevestiging Artikel geleverd,
Current Stock,Huidige voorraad,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Voor individuele leverancier,
Link to Material Requests,Link naar materiële verzoeken,
Message for Supplier,Boodschap voor Supplier,
Request for Quotation Item,Offerte Item,
Required Date,Benodigd op datum,
Request for Quotation Supplier,Offerte Supplier,
Send Email,E-mail verzenden,
Quote Status,Offerte Status,
Download PDF,Download PDF,
Supplier of Goods or Services.,Leverancier van goederen of diensten.,
Name and Type,Naam en Type,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Standaard bankrekening,
Is Transporter,Is Transporter,
Represents Company,Vertegenwoordigt bedrijf,
Supplier Type,Leverancier Type,
Allow Purchase Invoice Creation Without Purchase Order,Sta het aanmaken van een inkoopfactuur toe zonder inkooporder,
Allow Purchase Invoice Creation Without Purchase Receipt,Aanmaak van inkoopfacturen toestaan zonder aankoopbewijs,
Warn RFQs,Waarschuw RFQs,
Warn POs,Waarschuwing POs,
Prevent RFQs,Voorkom RFQs,
Prevent POs,Voorkom POs,
Billing Currency,Valuta,
Default Payment Terms Template,Standaard betalingsvoorwaarden sjabloon,
Block Supplier,Leverancier blokkeren,
Hold Type,Type vasthouden,
Leave blank if the Supplier is blocked indefinitely,Laat dit leeg als de leverancier voor onbepaalde tijd is geblokkeerd,
Default Payable Accounts,Standaard Crediteuren Accounts,
Mention if non-standard payable account,Noem als niet-standaard betaalbaar account,
Default Tax Withholding Config,Standaard belastingverrekening Config,
Supplier Details,Leverancier Details,
Statutory info and other general information about your Supplier,Wettelijke info en andere algemene informatie over uw leverancier,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Adres Leverancier,
Link to material requests,Koppeling naar materiaal aanvragen,
Rounding Adjustment (Company Currency,Afronding aanpassing (bedrijfsmunt,
Auto Repeat Section,Auto Repeat Section,
Is Subcontracted,Wordt uitbesteed,
Lead Time in days,Levertijd in dagen,
Supplier Score,Leverancierscore,
Indicator Color,Indicator Kleur,
Evaluation Period,Evaluatie periode,
Per Week,Per week,
Per Month,Per maand,
Per Year,Per jaar,
Scoring Setup,Scoring instellen,
Weighting Function,Gewicht Functie,
"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Scorecard variabelen kunnen worden gebruikt, evenals: {total_score} (de totale score van die periode), {period_number} (het aantal dagen dat de dag is)",
Scoring Standings,Scoring Standings,
Criteria Setup,Criteria Setup,
Load All Criteria,Laad alle criteria,
Scoring Criteria,Scoring Criteria,
Scorecard Actions,Scorecard Acties,
Warn for new Request for Quotations,Waarschuw voor nieuw verzoek om offertes,
Warn for new Purchase Orders,Waarschuw voor nieuwe inkooporders,
Notify Supplier,Meld Leverancier in,
Notify Employee,Meld de medewerker in kennis,
Supplier Scorecard Criteria,Leveranciers Scorecard Criteria,
Criteria Name,Criteria Naam,
Max Score,Max score,
Criteria Formula,Criteria Formule,
Criteria Weight,Criteria Gewicht,
Supplier Scorecard Period,Leverancier Scorecard Periode,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Periode Score,
Calculations,berekeningen,
Criteria,criteria,
Variables,Variabelen,
Supplier Scorecard Setup,Leveranciers Scorecard Setup,
Supplier Scorecard Scoring Criteria,Scorecard Scoringscriteria voor leveranciers,
Score,partituur,
Supplier Scorecard Scoring Standing,Leverancier Scorecard Scoring Standing,
Standing Name,Staande naam,
Purple,Purper,
Yellow,Geel,
Orange,Oranje,
Min Grade,Min Grade,
Max Grade,Max Grade,
Warn Purchase Orders,Waarschuwing Aankooporders,
Prevent Purchase Orders,Voorkom aankopen,
Employee ,Werknemer,
Supplier Scorecard Scoring Variable,Leverancier Scorecard Scorevariabele,
Variable Name,Variabele naam,
Parameter Name,Parameter Naam,
Supplier Scorecard Standing,Leverancier Scorecard Standing,
Notify Other,Meld andere aan,
Supplier Scorecard Variable,Leverancier Scorecard Variable,
Call Log,Oproeplogboek,
Received By,Ontvangen door,
Caller Information,Informatie beller,
Contact Name,Contact Naam,
Lead ,Lood,
Lead Name,Lead Naam,
Ringing,rinkelen,
Missed,gemiste,
Call Duration in seconds,Oproepduur in seconden,
Recording URL,URL opnemen,
Communication Medium,Communicatie Medium,
Communication Medium Type,Type communicatiemedium,
Voice,Stem,
Catch All,Vang alles,
"If there is no assigned timeslot, then communication will be handled by this group","Als er geen tijdslot is toegewezen, wordt de communicatie door deze groep afgehandeld",
Timeslots,timeslots,
Communication Medium Timeslot,Communicatie Medium tijdslot,
Employee Group,Werknemersgroep,
Appointment,Afspraak,
Scheduled Time,Geplande tijd,
Unverified,geverifieerde,
Customer Details,Klant Details,
Phone Number,Telefoonnummer,
Skype ID,Skype identiteit,
Linked Documents,Gekoppelde documenten,
Appointment With,Afspraak met,
Calendar Event,Kalender evenement,
Appointment Booking Settings,Afspraak Boeking Instellingen,
Enable Appointment Scheduling,Afspraakplanning inschakelen,
Agent Details,Agentgegevens,
Availability Of Slots,Beschikbaarheid van slots,
Number of Concurrent Appointments,Aantal gelijktijdige afspraken,
Agents,agenten,
Appointment Details,Afspraakdetails,
Appointment Duration (In Minutes),Afspraakduur (in minuten),
Notify Via Email,Melden via e-mail,
Notify customer and agent via email on the day of the appointment.,Informeer de klant en de agent via e-mail op de dag van de afspraak.,
Number of days appointments can be booked in advance,Aantal dagen dat afspraken vooraf kunnen worden geboekt,
Success Settings,Succesinstellingen,
Success Redirect URL,Succes-omleidings-URL,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Laat leeg voor thuis. Dit is relatief ten opzichte van de site-URL, bijvoorbeeld &quot;about&quot; zal omleiden naar &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Afspraak Boeking Slots,
Day Of Week,Dag van de week,
From Time ,Van Tijd,
Campaign Email Schedule,E-mailschema campagne,
Send After (days),Verzenden na (dagen),
Signed,Getekend,
Party User,Partijgebruiker,
Unsigned,ongetekend,
Fulfilment Status,Fulfillment-status,
N/A,N / A,
Unfulfilled,niet vervuld,
Partially Fulfilled,Gedeeltelijk vervuld,
Fulfilled,vervulde,
Lapsed,verlopen,
Contract Period,Contract periode,
Signee Details,Onderteken Details,
Signee,signee,
Signed On,Aangemeld,
Contract Details,Contractgegevens,
Contract Template,Contract sjabloon,
Contract Terms,Contract termen,
Fulfilment Details,Fulfillment-gegevens,
Requires Fulfilment,Voldoet aan fulfilment,
Fulfilment Deadline,Uiterste nalevingstermijn,
Fulfilment Terms,Fulfillment-voorwaarden,
Contract Fulfilment Checklist,Contract Fulfillment Checklist,
Requirement,eis,
Contract Terms and Conditions,Contractvoorwaarden,
Fulfilment Terms and Conditions,Fulfilment Algemene voorwaarden,
Contract Template Fulfilment Terms,Contractsjabloon nakomingstermijnen,
Email Campaign,E-mail campagne,
Email Campaign For ,E-mailcampagne voor,
Lead is an Organization,Lead is een organisatie,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Persoon Naam,
Lost Quotation,verloren Offerte,
Interested,Geïnteresseerd,
Converted,Omgezet,
Do Not Contact,Neem geen contact op,
From Customer,Van Klant,
Campaign Name,Campagnenaam,
Follow Up,Opvolgen,
Next Contact By,Volgende Contact Door,
Next Contact Date,Volgende Contact Datum,
Ends On,Eindigt op,
Address & Contact,Adres &amp; Contact,
Mobile No.,Mobiel nummer,
Lead Type,Lead Type,
Channel Partner,Channel Partner,
Consultant,Consultant,
Market Segment,Marktsegment,
Industry,Industrie,
Request Type,Aanvraag type,
Product Enquiry,Product Aanvraag,
Request for Information,Informatieaanvraag,
Suggestions,Suggesties,
Blog Subscriber,Blog Abonnee,
LinkedIn Settings,LinkedIn-instellingen,
Company ID,bedrijfs ID,
OAuth Credentials,OAuth-inloggegevens,
Consumer Key,Gebruikers sleutel,
Consumer Secret,Consumentengeheim,
User Details,gebruikersdetails,
Person URN,Persoon URN,
Session Status,Sessiestatus,
Lost Reason Detail,Verloren reden Detail,
Opportunity Lost Reason,Gelegenheid verloren reden,
Potential Sales Deal,Potentiële Sales Deal,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Opportuniteit Van,
Customer / Lead Name,Klant / Lead Naam,
Opportunity Type,Type opportuniteit,
Converted By,Geconverteerd door,
Sales Stage,Verkoopfase,
Lost Reason,Reden van verlies,
Expected Closing Date,Verwachte sluitingsdatum,
To Discuss,Te bespreken,
With Items,Met Items,
Probability (%),Waarschijnlijkheid (%),
Contact Info,Contact Info,
Customer / Lead Address,Klant / Lead Adres,
Contact Mobile No,Contact Mobiele nummer,
Enter name of campaign if source of enquiry is campaign,Voer de naam van de campagne in als bron van onderzoek Campagne is,
Opportunity Date,Datum opportuniteit,
Opportunity Item,Opportuniteit artikel,
Basic Rate,Basis Tarief,
Stage Name,Artiestennaam,
Social Media Post,Social Media plaatsen,
Post Status,Berichtstatus,
Posted,Geplaatst,
Share On,Delen op,
Twitter,Twitter,
LinkedIn,LinkedIn,
Twitter Post Id,Twitter-bericht-ID,
LinkedIn Post Id,LinkedIn-bericht-id,
Tweet,Tweet,
Twitter Settings,Twitter-instellingen,
API Secret Key,API geheime sleutel,
Term Name,term Naam,
Term Start Date,Term Startdatum,
Term End Date,Term Einddatum,
Academics User,Academici Gebruiker,
Academic Year Name,Academisch jaar naam,
Article,Artikel,
LMS User,LMS-gebruiker,
Assessment Criteria Group,Beoordelingscriteria Group,
Assessment Group Name,Assessment Group Name,
Parent Assessment Group,Parent Assessment Group,
Assessment Name,assessment Naam,
Grading Scale,Grading Scale,
Examiner,Examinator,
Examiner Name,Examinator Naam,
Supervisor,opzichter,
Supervisor Name,supervisor Naam,
Evaluate,schatten,
Maximum Assessment Score,Maximum Assessment Score,
Assessment Plan Criteria,Assessment Plan Criteria,
Maximum Score,maximum Score,
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,
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,
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 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,
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,
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,
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,
HR,HR,
Date on which this component is applied,Datum waarop dit onderdeel wordt toegepast,
Salary Slip,Salarisstrook,
HR User,HR Gebruiker,
Job Applicant,Sollicitant,
Body,Lichaam,
Appraisal Template,Beoordeling Sjabloon,
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,
Required Skills,Benodigde vaardigheden,
Skills,Vaardigheden,
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,
Attendance Device ID (Biometric/RF tag ID),Aanwezigheidsapparaat-ID (biometrische / RF-tag-ID),
Applicable Holiday List,Toepasselijk Holiday Lijst,
Default Shift,Standaard Shift,
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,
Returned Amount,Geretourneerd bedrag,
Advance Account,Voorschot rekening,
Benefits Applied,Toegepaste voordelen,
Benefit Type and Amount,Type en bedrag van het voordeel,
Task Weight,Task Weight,
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,
Employee Group Table,Werknemersgroepstabel,
ERPNext User ID,ERPNext gebruikers-ID,
Employee Internal Work History,Werknemer Interne Werk Geschiedenis,
Activities,Activiteiten,
Employee Onboarding Activity,Employee Onboarding Activity,
Employee Promotion Detail,Detail medewerkerbevordering,
Employee Transfer Property,Overdracht van medewerkers,
Unclaimed amount,Niet-opgeëist bedrag,
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,
Retirement Age,Pensioenleeftijd,
Enter retirement age in years,Voer de pensioengerechtigde leeftijd in jaren,
Stop Birthday Reminders,Stop verjaardagsherinneringen,
Leave Settings,Laat instellingen staan,
Accepted,Geaccepteerd,
Printing Details,Afdrukken Details,
Job Title,Functietitel,
Allocation,Toewijzing,
Select Employees,Selecteer Medewerkers,
Allocate,Toewijzen,
Max Leaves Allowed,Max. Bladeren toegestaan,
Maximum Continuous Days Applicable,Maximale continue dagen van toepassing,
Select Payroll Period,Selecteer Payroll Periode,
Abbr,Afk,
Condition and Formula,Conditie en formule,
Total Working Hours,Totaal aantal Werkuren,
Hour Rate,Uurtarief,
Bank Account No.,Bankrekeningnummer,
Earning & Deduction,Verdienen &amp; Aftrek,
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,
Net Pay (in words) will be visible once you save the Salary Slip.,Nettoloon (in woorden) zal zichtbaar zijn zodra de Salarisstrook wordt opgeslagen.,
Staffing Plan Details,Personeelsplan details,
Optional,facultatief,
Costing,Costing,
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,
last Odometer Value ,laatste kilometertellerwaarde,
Service Detail,dienst Detail,
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,
Repay From Salary,Terugbetalen van Loon,
Regular Payment,Reguliere betaling,
Loan Closure,Lening sluiting,
Rate of Interest (%) Yearly,Rate of Interest (%) Jaarlijkse,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Genereer Plan,
Schedules,Schema,
Maintenance Schedule Detail,Onderhoudsschema Detail,
Scheduled Date,Geplande Datum,
Actual Date,Werkelijke Datum,
Maintenance Schedule Item,Onderhoudsschema Item,
Random,Willekeurig,
No of Visits,Aantal bezoeken,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Onderhoud Datum,
Maintenance Time,Onderhoud Tijd,
Completion Status,Voltooiingsstatus,
Partially Completed,Gedeeltelijk afgesloten,
Fully Completed,Volledig afgerond,
Unscheduled,Ongeplande,
Breakdown,Storing,
Purposes,Doeleinden,
Customer Feedback,Klantenfeedback,
Maintenance Visit Purpose,Doel van onderhouds bezoek,
Work Done,Afgerond Werk,
Against Document No,Tegen Document nr.,
Against Document Detail No,Tegen Document Detail nr,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Order Type,
Blanket Order Item,Deken bestellingsitem,
Ordered Quantity,Bestelde hoeveelheid,
Item to be manufactured or repacked,Artikel te vervaardigen of herverpakken,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Hoeveelheid product verkregen na productie / herverpakken van de gegeven hoeveelheden grondstoffen,
Set rate of sub-assembly item based on BOM,Set percentage van sub-assembly item op basis van BOM,
Allow Alternative Item,Toestaan alternatief item,
Item UOM,Artikel Eenheid,
Conversion Rate,Conversion Rate,
Rate Of Materials Based On,Prijs van materialen op basis van,
With Operations,Met Operations,
Manage cost of operations,Beheer kosten van de operaties,
Transfer Material Against,Materiaal overbrengen tegen,
Routing,Routing,
Materials,Materialen,
Quality Inspection Required,Kwaliteitsinspectie vereist,
Quality Inspection Template,Kwaliteitscontrolesjabloon,
Scrap,stukje,
Scrap Items,Scrap items,
Operating Cost,Operationele kosten,
Raw Material Cost,Grondstofprijzen,
Scrap Material Cost,Scrap Materiaal Cost,
Operating Cost (Company Currency),Bedrijfskosten (Company Munt),
Raw Material Cost (Company Currency),Grondstofkosten (bedrijfsvaluta),
Scrap Material Cost(Company Currency),Scrap Materiaal Kosten (Company Munt),
Total Cost,Totale kosten,
Total Cost (Company Currency),Totale kosten (bedrijfsvaluta),
Materials Required (Exploded),Benodigde materialen (uitgeklapt),
Exploded Items,Geëxplodeerde items,
Show in Website,Weergeven op website,
Item Image (if not slideshow),Artikel Afbeelding (indien niet diashow),
Thumbnail,Miniatuur,
Website Specifications,Website Specificaties,
Show Items,Show items,
Show Operations,Toon Operations,
Website Description,Website Beschrijving,
BOM Explosion Item,Stuklijst Uitklap Artikel,
Qty Consumed Per Unit,Aantal verbruikt per eenheid,
Include Item In Manufacturing,Item opnemen in productie,
BOM Item,Stuklijst Artikel,
Item operation,Item bewerking,
Rate & Amount,Tarief en Bedrag,
Basic Rate (Company Currency),Basis Tarief (Bedrijfs Valuta),
Scrap %,Scrap%,
Original Item,Origineel item,
BOM Operation,Stuklijst Operatie,
Operation Time ,Operatie tijd,
In minutes,In minuten,
Batch Size,Seriegrootte,
Base Hour Rate(Company Currency),Base Uur Rate (Company Munt),
Operating Cost(Company Currency),Bedrijfskosten (Company Munt),
BOM Scrap Item,BOM Scrap Item,
Basic Amount (Company Currency),Basisbedrag (Company Munt),
BOM Update Tool,BOM Update Tool,
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Vervang een bepaalde BOM in alle andere BOM&#39;s waar het wordt gebruikt. Het zal de oude BOM link vervangen, update kosten en regenereren &quot;BOM Explosion Item&quot; tabel zoals per nieuwe BOM. Ook wordt de laatste prijs bijgewerkt in alle BOM&#39;s.",
Replace BOM,Vervang BOM,
Current BOM,Huidige Stuklijst,
The BOM which will be replaced,De Stuklijst die zal worden vervangen,
The new BOM after replacement,De nieuwe Stuklijst na vervanging,
Replace,Vervang,
Update latest price in all BOMs,Update de laatste prijs in alle BOM&#39;s,
BOM Website Item,BOM Website Item,
BOM Website Operation,BOM Website Operation,
Operation Time,Operatie Tijd,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Timing Detail,
Time Logs,Tijd Logs,
Total Time in Mins,Totale tijd in minuten,
Operation ID,Bewerkings-ID,
Transferred Qty,Verplaatst Aantal,
Job Started,Taak gestart,
Started Time,Begonnen tijd,
Current Time,Huidige tijd,
Job Card Item,Opdrachtkaartitem,
Job Card Time Log,Tijdkaart taakkaart,
Time In Mins,Time In Mins,
Completed Qty,Voltooid aantal,
Manufacturing Settings,Productie Instellingen,
Raw Materials Consumption,Grondstoffenverbruik,
Allow Multiple Material Consumption,Sta meerdere materiaalconsumptie toe,
Backflush Raw Materials Based On,Grondstoffen afgeboekt op basis van,
Material Transferred for Manufacture,Overgedragen materiaal voor vervaardiging,
Capacity Planning,Capaciteit Planning,
Disable Capacity Planning,Capaciteitsplanning uitschakelen,
Allow Overtime,Laat Overwerk,
Allow Production on Holidays,Laat Productie op vakantie,
Capacity Planning For (Days),Capacity Planning Voor (Dagen),
Default Warehouses for Production,Standaard magazijnen voor productie,
Default Work In Progress Warehouse,Standaard Work In Progress Warehouse,
Default Finished Goods Warehouse,Standaard Finished Goods Warehouse,
Default Scrap Warehouse,Standaard schrootmagazijn,
Overproduction Percentage For Sales Order,Overproductiepercentage voor klantorder,
Overproduction Percentage For Work Order,Overproductiepercentage voor werkorder,
Other Settings,Andere instellingen,
Update BOM Cost Automatically,BOM kosten automatisch bijwerken,
Material Request Plan Item,Artikel plan voor artikelaanvraag,
Material Request Type,Materiaal Aanvraag Type,
Material Issue,Materiaal uitgifte,
Customer Provided,Klant verstrekt,
Minimum Order Quantity,Minimum bestelhoeveelheid,
Default Workstation,Standaard Werkstation,
Production Plan,Productieplan,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Krijgen items uit,
Get Sales Orders,Krijg Verkooporders,
Material Request Detail,Materiaal Verzoek Detail,
Get Material Request,Krijg Materiaal Request,
Material Requests,materiaal aanvragen,
Get Items For Work Order,Items voor werkorder ophalen,
Material Request Planning,Materiaal Verzoek Planning,
Include Non Stock Items,Niet-voorraadartikelen opnemen,
Include Subcontracted Items,Inclusief uitbestede items,
Ignore Existing Projected Quantity,Negeer bestaande geprojecteerde hoeveelheid,
"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","<a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">Klik hier voor</a> meer informatie over de verwachte hoeveelheid.",
Download Required Materials,Benodigde materialen downloaden,
Get Raw Materials For Production,Krijg grondstoffen voor productie,
Total Planned Qty,Totaal aantal geplande,
Total Produced Qty,Totaal geproduceerd aantal,
Material Requested,Gevraagde materiaal,
Production Plan Item,Productie Plan Artikel,
Make Work Order for Sub Assembly Items,Werkorder maken voor onderdelen van subassemblages,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Indien ingeschakeld, maakt het systeem de werkorder voor de geëxplodeerde items waartegen BOM beschikbaar is.",
Planned Start Date,Geplande Startdatum,
Quantity and Description,Hoeveelheid en beschrijving,
material_request_item,material_request_item,
Product Bundle Item,Product Bundle Item,
Production Plan Material Request,Productie Plan Materiaal aanvragen,
Production Plan Sales Order,Productie Plan Verkooporder,
Sales Order Date,Verkooporder Datum,
Routing Name,Naam van routering,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Artikel te produceren,
Material Transferred for Manufacturing,Materiaal Overgedragen voor Manufacturing,
Manufactured Qty,Geproduceerd Aantal,
Use Multi-Level BOM,Gebruik Multi-Level Stuklijst,
Plan material for sub-assemblies,Plan materiaal voor onderdelen,
Skip Material Transfer to WIP Warehouse,Materiaaloverdracht overslaan naar OHW-magazijn,
Check if material transfer entry is not required,Controleer of de invoer van materiaaloverdracht niet vereist is,
Backflush Raw Materials From Work-in-Progress Warehouse,Grondstoffen backflush uit werk-in-uitvoering magazijn,
Update Consumed Material Cost In Project,Verbruikte materiaalkosten in project bijwerken,
Warehouses,Magazijnen,
This is a location where raw materials are available.,Dit is een locatie waar grondstoffen beschikbaar zijn.,
Work-in-Progress Warehouse,Onderhanden Werk Magazijn,
This is a location where operations are executed.,Dit is een locatie waar bewerkingen worden uitgevoerd.,
This is a location where final product stored.,Dit is een locatie waar het eindproduct wordt opgeslagen.,
Scrap Warehouse,Scrap Warehouse,
This is a location where scraped materials are stored.,Dit is een locatie waar geschraapt materiaal wordt opgeslagen.,
Required Items,Vereiste items,
Actual Start Date,Werkelijke Startdatum,
Planned End Date,Geplande Einddatum,
Actual End Date,Werkelijke Einddatum,
Operation Cost,Operatie Cost,
Planned Operating Cost,Geplande bedrijfskosten,
Actual Operating Cost,Werkelijke operationele kosten,
Additional Operating Cost,Additionele Operationele Kosten,
Total Operating Cost,Totale exploitatiekosten,
Manufacture against Material Request,Fabricage tegen Material Request,
Work Order Item,Werkorderitem,
Available Qty at Source Warehouse,Beschikbaar Aantal bij Source Warehouse,
Available Qty at WIP Warehouse,Beschikbaar Aantal bij WIP Warehouse,
Work Order Operation,Werkorder operatie,
Operation Description,Operatie Beschrijving,
Operation completed for how many finished goods?,Operatie afgerond voor hoeveel eindproducten?,
Work in Progress,Onderhanden Werk,
Estimated Time and Cost,Geschatte Tijd en Kosten,
Planned Start Time,Geplande Starttijd,
Planned End Time,Geplande Eindtijd,
in Minutes,In minuten,
Actual Time and Cost,Werkelijke Tijd en kosten,
Actual Start Time,Werkelijke Starttijd,
Actual End Time,Werkelijke Eindtijd,
Updated via 'Time Log',Bijgewerkt via 'Time Log',
Actual Operation Time,Werkelijke Operatie Duur,
in Minutes\nUpdated via 'Time Log',in Minuten \n Bijgewerkt via 'Time Log',
(Hour Rate / 60) * Actual Operation Time,(Uurtarief / 60) * Werkelijk Gepresteerde Tijd,
Workstation Name,Naam van werkstation,
Production Capacity,Productiecapaciteit,
Operating Costs,Bedrijfskosten,
Electricity Cost,elektriciteitskosten,
per hour,per uur,
Consumable Cost,Verbruiksartikel kostprijs,
Rent Cost,Huurkosten,
Wages,Loon,
Wages per hour,Loon per uur,
Net Hour Rate,Netto uurtarief,
Workstation Working Hour,Werkstation Werkuur,
Certification Application,Certificeringstoepassing,
Name of Applicant,Naam aanvrager,
Certification Status,Certificeringsstatus,
Yet to appear,Toch om te verschijnen,
Certified,gecertificeerde,
Not Certified,Niet gecertificeerd,
USD,Amerikaanse Dollar,
INR,INR,
Certified Consultant,Gecertificeerde consultant,
Name of Consultant,Naam van Consultant,
Certification Validity,Geldigheid van certificering,
Discuss ID,Bespreek ID,
GitHub ID,GitHub ID,
Non Profit Manager,Non-profit manager,
Chapter Head,Hoofdstuk hoofd,
Meetup Embed HTML,Meetup HTML insluiten,
chapters/chapter_name\nleave blank automatically set after saving chapter.,hoofdstukken / hoofdstuknaam blanco laten automatisch ingesteld na hoofdstuk opslaan.,
Chapter Members,Hoofdstukleden,
Members,leden,
Chapter Member,Hoofdstuklid,
Website URL,Website URL,
Leave Reason,Verlaat de Rede,
Donor Name,Donornaam,
Donor Type,Donor Type,
Withdrawn,teruggetrokken,
Grant Application Details ,Aanvraagdetails toekennen,
Grant Description,Grant Description,
Requested Amount,Gevraagde bedrag,
Has any past Grant Record,Heeft een eerdere Grant Record,
Show on Website,Weergeven op website,
Assessment  Mark (Out of 10),Beoordelingstabel (van de 10),
Assessment  Manager,Assessment Manager,
Email Notification Sent,E-mailmelding verzonden,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Vervaldatum lidmaatschap,
Razorpay Details,Razorpay-gegevens,
Subscription ID,Abonnements-ID,
Customer ID,Klanten ID,
Subscription Activated,Abonnement geactiveerd,
Subscription Start ,Abonnement starten,
Subscription End,Abonnement Einde,
Non Profit Member,Non-profitlid,
Membership Status,Lidmaatschapsstatus,
Member Since,Lid sinds,
Payment ID,Betaal-ID,
Membership Settings,Lidmaatschapsinstellingen,
Enable RazorPay For Memberships,Schakel RazorPay in voor lidmaatschappen,
RazorPay Settings,RazorPay-instellingen,
Billing Cycle,Factureringscyclus,
Billing Frequency,Factureringsfrequentie,
"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Het aantal factureringscycli waarvoor de klant moet worden gefactureerd. Als een klant bijvoorbeeld een lidmaatschap van één jaar koopt dat maandelijks moet worden gefactureerd, moet deze waarde 12 zijn.",
Razorpay Plan ID,Razorpay Plan-ID,
Volunteer Name,Vrijwilligers naam,
Volunteer Type,Vrijwilligers type,
Availability and Skills,Beschikbaarheid en vaardigheden,
Availability,Beschikbaarheid,
Weekends,weekends,
Availability Timeslot,Beschikbaarheid Timeslot,
Morning,Ochtend,
Afternoon,Middag,
Evening,Avond,
Anytime,Anytime,
Volunteer Skills,Vrijwilligersvaardigheden,
Volunteer Skill,Vrijwillige vaardigheid,
Homepage,Startpagina,
Hero Section Based On,Heldensectie gebaseerd op,
Homepage Section,Homepage sectie,
Hero Section,Heldensectie,
Tag Line,tag Line,
Company Tagline for website homepage,Company Tag voor website homepage,
Company Description for website homepage,Omschrijving bedrijf voor website homepage,
Homepage Slideshow,Homepage diavoorstelling,
"URL for ""All Products""",URL voor &quot;Alle producten&quot;,
Products to be shown on website homepage,Producten die worden getoond op de website homepage,
Homepage Featured Product,Homepage Featured Product,
route,route,
Section Based On,Sectie gebaseerd op,
Section Cards,Sectiekaarten,
Number of Columns,Aantal columns,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Aantal kolommen voor deze sectie. Er worden 3 kaarten per rij getoond als u 3 kolommen selecteert.,
Section HTML,Sectie HTML,
Use this field to render any custom HTML in the section.,Gebruik dit veld om aangepaste HTML in de sectie te maken.,
Section Order,Sectie volgorde,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Volgorde waarin secties moeten verschijnen. 0 is eerste, 1 is tweede enzovoort.",
Homepage Section Card,Homepage Sectiekaart,
Subtitle,subtitel,
Products Settings,producten Instellingen,
Home Page is Products,Startpagina is Producten,
"If checked, the Home page will be the default Item Group for the website","Indien aangevinkt, zal de startpagina de standaard Item Group voor de website",
Show Availability Status,Show Availability Status,
Product Page,Productpagina,
Products per Page,Producten per pagina,
Enable Field Filters,Veldfilters inschakelen,
Item Fields,Item velden,
Enable Attribute Filters,Schakel kenmerkfilters in,
Attributes,Attributen,
Hide Variants,Varianten verbergen,
Website Attribute,Website kenmerk,
Attribute,Attribuut,
Website Filter Field,Websitefilterveld,
Activity Cost,Activiteit Kosten,
Billing Rate,Billing Rate,
Costing Rate,Costing Rate,
title,titel,
Projects User,Projecten Gebruiker,
Default Costing Rate,Standaard Costing Rate,
Default Billing Rate,Default Billing Rate,
Dependent Task,Afhankelijke taak,
Project Type,Project Type,
% Complete Method,% Voltooid Methode,
Task Completion,Task Completion,
Task Progress,Task Progress,
% Completed,% Voltooid,
From Template,Van sjabloon,
Project will be accessible on the website to these users,Project zal toegankelijk op de website van deze gebruikers,
Copied From,Gekopieerd van,
Start and End Dates,Begin- en einddatum,
Actual Time in Hours (via Timesheet),Werkelijke tijd (in uren),
Costing and Billing,Kostenberekening en facturering,
Total Costing Amount (via Timesheet),Totale kostenbedrag (via urenstaten),
Total Expense Claim (via Expense Claim),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 Timesheet),Totaal factureerbare hoeveelheid (via urenstaten),
Total Billed Amount (via Sales Invoice),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 Timesheet),Werkelijke Startdatum (via Urenregistratie),
Actual Time in Hours (via Timesheet),Werkelijke tijd (in uren),
Actual End Date (via Timesheet),Werkelijke Einddatum (via Urenregistratie),
Total Expense Claim (via Expense Claim),Total Expense Claim (via Expense Claim),
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,
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,
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,
August,augustus,
September,september,
October,oktober,
November,november,
December,december,
JSON Output,JSON-uitgang,
Invoices with no Place Of Supply,Facturen zonder plaats van levering,
Import Supplier Invoice,Leveranciersfactuur importeren,
Invoice Series,Factuurreeks,
Upload XML Invoices,XML-facturen uploaden,
Zip File,Zip bestand,
Import Invoices,Facturen importeren,
Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Klik op de knop Facturen importeren zodra het zipbestand aan het document is toegevoegd. Alle fouten met betrekking tot verwerking worden weergegeven in het foutenlogboek.,
Lower Deduction Certificate,Lagere aftrekcertificaat,
Certificate Details,Certificaatdetails,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194I,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,certificaat nummer,
Deductee Details,Details van de afgetrokken persoon,
PAN No,PAN nr,
Validity Details,Geldigheidsgegevens,
Rate Of TDS As Per Certificate,Tarief van TDS vanaf certificaat,
Certificate Limit,Certificaatlimiet,
Invoice Series Prefix,Prefix voor factuurreeks,
Active Menu,Actief menu,
Restaurant Menu,Restaurant Menu,
Price List (Auto created),Prijslijst (automatisch aangemaakt),
Restaurant Manager,Restaurant manager,
Restaurant Menu Item,Restaurant Menu-item,
Restaurant Order Entry,Restaurantbestelling,
Restaurant Table,Restaurant tafel,
Click Enter To Add,Klik op Enter om toe te voegen,
Last Sales Invoice,Laatste verkoopfactuur,
Current Order,Huidige bestelling,
Restaurant Order Entry Item,Restaurantbestelling Item invoeren,
Served,geserveerd,
Restaurant Reservation,Restaurant reservering,
Waitlisted,wachtlijst,
No Show,Geen voorstelling,
No of People,Nee van mensen,
Reservation Time,Reservatietijd,
Reservation End Time,Eindtijd van reservering,
No of Seats,Aantal zitplaatsen,
Minimum Seating,Minimum aantal zitplaatsen,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Blijf op de hoogte van Sales Campaigns. Blijf op de hoogte van Leads, Offertes, Sales Order etc van campagnes te meten Return on Investment.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Campagneschema&#39;s,
Buyer of Goods and Services.,Koper van goederen en diensten.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Standaard bedrijfsbankrekening,
From Lead,Van Lead,
Account Manager,Account Manager,
Allow Sales Invoice Creation Without Sales Order,Maken van verkoopfacturen mogelijk zonder verkooporder,
Allow Sales Invoice Creation Without Delivery Note,Maken van verkoopfacturen mogelijk zonder leveringsnota,
Default Price List,Standaard Prijslijst,
Primary Address and Contact Detail,Primaire adres en contactgegevens,
"Select, to make the customer searchable with these fields","Selecteer, om de klant doorzoekbaar te maken met deze velden",
Customer Primary Contact,Hoofdcontactpersoon klant,
"Reselect, if the chosen contact is edited after save","Selecteer opnieuw, als het gekozen contact is bewerkt na opslaan",
Customer Primary Address,Primair adres van klant,
"Reselect, if the chosen address is edited after save","Selecteer opnieuw, als het gekozen adres is bewerkt na opslaan",
Primary Address,hoofdadres,
Mention if non-standard receivable account,Vermelden of niet-standaard te ontvangen rekening,
Credit Limit and Payment Terms,Kredietlimiet en betalingsvoorwaarden,
Additional information regarding the customer.,Aanvullende informatie over de klant.,
Sales Partner and Commission,Sales Partner en de Commissie,
Commission Rate,Commissie Rate,
Sales Team Details,Verkoop Team Details,
Customer POS id,Klant POS-ID,
Customer Credit Limit,Kredietlimiet klant,
Bypass Credit Limit Check at Sales Order,Creditlimietcontrole overslaan op klantorder,
Industry Type,Industrie Type,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Installatie Datum,
Installation Time,Installatie Tijd,
Installation Note Item,Installatie Opmerking Item,
Installed Qty,Aantal geïnstalleerd,
Lead Source,Lead Bron,
Period Start Date,Begindatum van de periode,
Period End Date,Periode Einddatum,
Cashier,Kassa,
Difference,Verschil,
Modes of Payment,Wijze van betaling,
Linked Invoices,Gelinkte facturen,
POS Closing Voucher Details,POS-sluitingsbondetails,
Collected Amount,Verzameld bedrag,
Expected Amount,Verwacht bedrag,
POS Closing Voucher Invoices,POS Closing Voucher Facturen,
Quantity of Items,Hoeveelheid items,
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Aggregate groep ** Items ** in een ander ** Item **. Dit is handig als u bundelen een bepaald ** Items ** in een pakket en je onderhouden voorraad van de verpakte ** Items ** en niet de totale ** Item **. Het pakket ** Item ** zal hebben &quot;Is Stock Item&quot; als &quot;Nee&quot; en &quot;Is Sales Item&quot; als &quot;Ja&quot;. Bijvoorbeeld: Als u verkoopt laptops en rugzakken los en hebben een speciale prijs als de klant beide koopt, dan is de laptop + rugzak zal een nieuw product Bundel Item zijn. Opmerking: BOM = stuklijst",
Parent Item,Bovenliggend Artikel,
List items that form the package.,Lijst items die het pakket vormen.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Offerte Voor,
Rate at which customer's currency is converted to company's base currency,Koers waarmee de Klant Valuta wordt omgerekend naar de basis bedrijfsvaluta,
Rate at which Price list currency is converted to company's base currency,Koers waarmee Prijslijst valuta wordt omgerekend naar de basis bedrijfsvaluta,
Additional Discount and Coupon Code,Extra korting en couponcode,
Referral Sales Partner,Verwijzende verkooppartner,
In Words will be visible once you save the Quotation.,In Woorden zijn zichtbaar zodra u de Offerte opslaat.,
Term Details,Voorwaarde Details,
Quotation Item,Offerte Artikel,
Against Doctype,Tegen Doctype,
Against Docname,Tegen Docname,
Additional Notes,extra notities,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Afleverbon overslaan,
In Words will be visible once you save the Sales Order.,In Woorden zijn zichtbaar zodra u de Verkooporder opslaat.,
Track this Sales Order against any Project,Volg dit Verkooporder tegen elke Project,
Billing and Delivery Status,Factuur- en leverstatus,
Not Delivered,Niet geleverd,
Fully Delivered,Volledig geleverd,
Partly Delivered,Deels geleverd,
Not Applicable,Niet van toepassing,
%  Delivered,% Geleverd,
% of materials delivered against this Sales Order,% van de geleverde materialen voor deze verkooporder,
% of materials billed against this Sales Order,% van de materialen in rekening gebracht voor deze Verkooporder,
Not Billed,Niet in rekening gebracht,
Fully Billed,Volledig gefactureerd,
Partly Billed,Deels Gefactureerd,
Ensure Delivery Based on Produced Serial No,Zorgen voor levering op basis van geproduceerd serienummer,
Supplier delivers to Customer,Leverancier levert aan de Klant,
Delivery Warehouse,Levering magazijn,
Planned Quantity,Gepland Aantal,
For Production,Voor Productie,
Work Order Qty,Werkorder aantal,
Produced Quantity,Geproduceerd Aantal,
Used for Production Plan,Gebruikt voor Productie Plan,
Sales Partner Type,Type verkooppartner,
Contact No.,Contact Nr,
Contribution (%),Bijdrage (%),
Contribution to Net Total,Bijdrage aan Netto Totaal,
Selling Settings,Verkoop Instellingen,
Settings for Selling Module,Instellingen voor het verkopen van Module,
Customer Naming By,Klant Naming Door,
Campaign Naming By,Campagnenaam gegeven door,
Default Customer Group,Standaard Klant Groep,
Default Territory,Standaard Regio,
Close Opportunity After Days,Sluiten Opportunity Na Days,
Default Quotation Validity Days,Standaard prijsofferte dagen,
Sales Update Frequency,Frequentie van verkoopupdates,
Each Transaction,Elke transactie,
SMS Center,SMS Center,
Send To,Verzenden naar,
All Contact,Alle Contact,
All Customer Contact,Alle Customer Contact,
All Supplier Contact,Alle Leverancier Contact,
All Sales Partner Contact,Alle Sales Partner Contact,
All Lead (Open),Alle Leads (Open),
All Employee (Active),Alle medewerkers (Actief),
All Sales Person,Alle Sales Person,
Create Receiver List,Maak Ontvanger Lijst,
Receiver List,Ontvanger Lijst,
Messages greater than 160 characters will be split into multiple messages,Bericht van meer dan 160 tekens worden opgesplitst in meerdere berichten,
Total Characters,Totaal Tekens,
Total Message(s),Totaal Bericht(en),
Authorization Control,Autorisatie controle,
Authorization Rule,Autorisatie Rule,
Average Discount,Gemiddelde korting,
Customerwise Discount,Klantgebaseerde Korting,
Itemwise Discount,Artikelgebaseerde Korting,
Customer or Item,Klant of Item,
Customer / Item Name,Klant / Naam van het punt,
Authorized Value,Authorized Value,
Applicable To (Role),Van toepassing zijn op (Rol),
Applicable To (Employee),Van toepassing zijn op (Werknemer),
Applicable To (User),Van toepassing zijn op (Gebruiker),
Applicable To (Designation),Van toepassing zijn op (Benaming),
Approving Role (above authorized value),Goedkeuren Rol (boven de toegestane waarde),
Approving User  (above authorized value),Goedkeuren gebruiker (boven de toegestane waarde),
Brand Defaults,Standaardwaarden van het merk,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Rechtspersoon / Dochteronderneming met een aparte Rekeningschema behoren tot de Organisatie.,
Change Abbreviation,Afkorting veranderen,
Parent Company,Moeder bedrijf,
Default Values,Standaard Waarden,
Default Holiday List,Standaard Vakantiedagen Lijst,
Default Selling Terms,Standaard verkoopvoorwaarden,
Default Buying Terms,Standaard koopvoorwaarden,
Create Chart Of Accounts Based On,Maak rekeningschema op basis van,
Standard Template,Standard Template,
Existing Company,Bestaand bedrijf,
Chart Of Accounts Template,Rekeningschema Template,
Existing Company ,bestaande Company,
Date of Establishment,datum van oprichting,
Sales Settings,Verkoopinstellingen,
Monthly Sales Target,Maandelijks verkooppunt,
Sales Monthly History,Verkoop Maandelijkse Geschiedenis,
Transactions Annual History,Transacties Jaaroverzicht,
Total Monthly Sales,Totale maandelijkse omzet,
Default Cash Account,Standaard Kasrekening,
Default Receivable Account,Standaard Vordering Account,
Round Off Cost Center,Afronden kostenplaats,
Discount Allowed Account,Korting toegestaan account,
Discount Received Account,Korting ontvangen account,
Exchange Gain / Loss Account,Exchange winst / verliesrekening,
Unrealized Exchange Gain/Loss Account,Ongerealiseerde Exchange-winst / verliesrekening,
Allow Account Creation Against Child Company,Account aanmaken tegen kinderbedrijf toestaan,
Default Payable Account,Standaard Payable Account,
Default Employee Advance Account,Standaard Employee Advance Account,
Default Cost of Goods Sold Account,Standaard kosten van verkochte goederen Account,
Default Income Account,Standaard Inkomstenrekening,
Default Deferred Revenue Account,Standaard uitgestelde inkomstenrekening,
Default Deferred Expense Account,Standaard Uitgesteld Kostenrekening,
Default Payroll Payable Account,Default Payroll Payable Account,
Default Expense Claim Payable Account,Standaard onkostendeclaratie,
Stock Settings,Voorraad Instellingen,
Enable Perpetual Inventory,Perpetual Inventory inschakelen,
Default Inventory Account,Standaard Inventaris Account,
Stock Adjustment Account,Voorraad Aanpassing Rekening,
Fixed Asset Depreciation Settings,Fixed Asset Afschrijvingen Instellingen,
Series for Asset Depreciation Entry (Journal Entry),Serie voor de afschrijving van de waardevermindering,
Gain/Loss Account on Asset Disposal,Winst / verliesrekening op de verkoop van activa,
Asset Depreciation Cost Center,Asset Afschrijvingen kostenplaats,
Budget Detail,Budget Detail,
Exception Budget Approver Role,Uitzondering Budget Approver Role,
Company Info,Bedrijfsinformatie,
For reference only.,Alleen voor referentie.,
Company Logo,Bedrijfslogo,
Date of Incorporation,Datum van oprichting,
Date of Commencement,Aanvangsdatum,
Phone No,Telefoonnummer,
Company Description,bedrijfsomschrijving,
Registration Details,Registratie Details,
Company registration numbers for your reference. Tax numbers etc.,"Registratienummers van de onderneming voor uw referentie. Fiscale nummers, enz.",
Delete Company Transactions,Verwijder Company Transactions,
Currency Exchange,Wisselkoersen,
Specify Exchange Rate to convert one currency into another,Specificeer Wisselkoers om een valuta om te zetten in een andere,
From Currency,Van Valuta,
To Currency,Naar Valuta,
For Buying,Om te kopen,
For Selling,Om te verkopen,
Customer Group Name,Klant Groepsnaam,
Parent Customer Group,Bovenliggende klantgroep,
Only leaf nodes are allowed in transaction,Alleen leaf nodes zijn toegestaan in transactie,
Mention if non-standard receivable account applicable,Vermeld als niet-standaard te ontvangen houdend met de toepasselijke,
Credit Limits,Kredietlimieten,
Email Digest,E-mail Digest,
Send regular summary reports via Email.,Stuur regelmatige samenvattende rapporten via e-mail.,
Email Digest Settings,E-mail Digest Instellingen,
How frequently?,Hoe vaak?,
Next email will be sent on:,Volgende e-mail wordt verzonden op:,
Note: Email will not be sent to disabled users,Opmerking: E-mail wordt niet verzonden naar uitgeschakelde gebruikers,
Profit & Loss,Verlies,
New Income,nieuwe Inkomen,
New Expenses,nieuwe Uitgaven,
Annual Income,Jaarlijks inkomen,
Annual Expenses,jaarlijkse kosten,
Bank Balance,Banksaldo,
Bank Credit Balance,Bankkredietsaldo,
Receivables,Debiteuren,
Payables,Schulden,
Sales Orders to Bill,Verkooporders aan Bill,
Purchase Orders to Bill,Inkooporders voor Bill,
New Sales Orders,Nieuwe Verkooporders,
New Purchase Orders,Nieuwe Inkooporders,
Sales Orders to Deliver,Verkooporders om te bezorgen,
Purchase Orders to Receive,Inkooporders om te ontvangen,
New Purchase Invoice,Nieuwe inkoopfactuur,
New Quotations,Nieuwe Offertes,
Open Quotations,Open offertes,
Open Issues,Open problemen,
Open Projects,Open projecten,
Purchase Orders Items Overdue,Inwisselorders worden achterhaald,
Upcoming Calendar Events,Aankomende agenda-evenementen,
Open To Do,Open om te doen,
Add Quote,Quote voegen,
Global Defaults,Global Standaardwaarden,
Default Company,Standaard Bedrijf,
Current Fiscal Year,Huidige fiscale jaar,
Default Distance Unit,Standaard afstandseenheid,
Hide Currency Symbol,Verberg Valutasymbool,
Do not show any symbol like $ etc next to currencies.,"Vertoon geen symbool zoals $, enz. naast valuta.",
"If disable, 'Rounded Total' field will not be visible in any transaction","Indien uitgevinkt, zal het 'Afgerond Totaal' veld niet zichtbaar zijn in een transactie",
Disable In Words,Uitschakelen In Woorden,
"If disable, 'In Words' field will not be visible in any transaction","Als uitschakelen, &#39;In de woorden&#39; veld niet zichtbaar in elke transactie",
Item Classification,Item Classificatie,
General Settings,Algemene Instellingen,
Item Group Name,Artikel groepsnaam,
Parent Item Group,Bovenliggende Artikelgroep,
Item Group Defaults,Artikelgroep standaardinstellingen,
Item Tax,Artikel Belasting,
Check this if you want to show in website,Aanvinken om weer te geven op de website,
Show this slideshow at the top of the page,Laat deze slideshow aan de bovenkant van de pagina,
HTML / Banner that will show on the top of product list.,HTML / Banner dat zal laten zien op de bovenkant van het product lijst.,
Set prefix for numbering series on your transactions,Instellen voorvoegsel voor nummerreeksen voor uw transacties,
Setup Series,Instellen Reeksen,
Select Transaction,Selecteer Transactie,
Help HTML,Help HTML,
Series List for this Transaction,Reeks voor deze transactie,
User must always select,Gebruiker moet altijd kiezen,
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Controleer dit als u wilt dwingen de gebruiker om een reeks voor het opslaan te selecteren. Er zal geen standaard zijn als je dit controleren.,
Update Series,Reeksen bijwerken,
Change the starting / current sequence number of an existing series.,Wijzig het start-/ huidige volgnummer van een bestaande serie.,
Prefix,Voorvoegsel,
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 concept),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Van Pakket No,
Identification of the package for the delivery (for print),Identificatie van het pakket voor de levering (voor afdrukken),
To Package No.,Naar pakket nr,
If more than one package of the same type (for print),Als er meer dan een pakket van hetzelfde type (voor afdrukken),
Package Weight Details,Pakket gewicht details,
The net weight of this package. (calculated automatically as sum of net weight of items),Het nettogewicht van dit pakket. (Wordt automatisch berekend als de som van de netto-gewicht van de artikelen),
Net Weight UOM,Netto Gewicht Eenheid,
Gross Weight,Bruto Gewicht,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Het bruto gewicht van het pakket. Meestal nettogewicht + verpakkingsmateriaal gewicht. (Voor afdrukken),
Gross Weight UOM,Bruto Gewicht Eenheid,
Packing Slip Item,Pakbon Artikel,
DN Detail,DN Detail,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Materiaal Verplaatsing voor Productie,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Het aantal grondstoffen wordt bepaald op basis van het aantal van het gereed product,
Parent Warehouse,Parent Warehouse,
Items under this warehouse will be suggested,Items onder dit magazijn worden voorgesteld,
Get Item Locations,Zoek itemlocaties,
Item Locations,Artikellocaties,
Pick List Item,Keuzelijstitem,
Picked Qty,Gekozen aantal,
Price List Master,Prijslijst Master,
Price List Name,Prijslijst Naam,
Price Not UOM Dependent,Prijs niet UOM afhankelijk,
Applicable for Countries,Toepasselijk voor Landen,
Price List Country,Prijslijst Land,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Leveranciersleveringsnota,
Time at which materials were received,Tijdstip waarop materialen zijn ontvangen,
Return Against Purchase Receipt,Terug Tegen Aankoop Receipt,
Rate at which supplier's currency is converted to company's base currency,Koers waarmee de leverancier valuta wordt omgerekend naar de basis bedrijfsvaluta,
Sets 'Accepted Warehouse' in each row of the items table.,Stelt &#39;Geaccepteerd magazijn&#39; in in elke rij van de itemtabel.,
Sets 'Rejected Warehouse' in each row of the items table.,Stelt &#39;Rejected Warehouse&#39; in elke rij van de itemtabel in.,
Raw Materials Consumed,Verbruikte grondstoffen,
Get Current Stock,Get Huidige voorraad,
Consumed Items,Verbruikte artikelen,
Add / Edit Taxes and Charges,Toevoegen / Bewerken Belastingen en Heffingen,
Auto Repeat Detail,Detail van automatische herhaling,
Transporter Details,Transporter Details,
Vehicle Number,Voertuig Aantal,
Vehicle Date,Voertuiggegegevns,
Received and Accepted,Ontvangen en geaccepteerd,
Accepted Quantity,Geaccepteerd Aantal,
Rejected Quantity,Afgewezen Aantal,
Accepted Qty as per Stock UOM,Geaccepteerde hoeveelheid volgens voorraadeenheid,
Sample Quantity,Monsterhoeveelheid,
Rate and Amount,Tarief en Bedrag,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Rapport datum,
Inspection Type,Inspectie Type,
Item Serial No,Artikel Serienummer,
Sample Size,Monster grootte,
Inspected By,Geïnspecteerd door,
Readings,Lezingen,
Quality Inspection Reading,Kwaliteitscontrole Meting,
Reading 1,Meting 1,
Reading 2,Meting 2,
Reading 3,Meting 3,
Reading 4,Meting 4,
Reading 5,Meting 5,
Reading 6,Meting 6,
Reading 7,Meting 7,
Reading 8,Meting 8,
Reading 9,Meting 9,
Reading 10,Meting 10,
Quality Inspection Template Name,Kwaliteit inspectiesjabloon naam,
Quick Stock Balance,Snelle voorraadbalans,
Available Quantity,beschikbare kwaliteit,
Distinct unit of an Item,Aanwijsbare eenheid van een Artikel,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazijn kan alleen via Voorraad Invoer / Vrachtbrief / Ontvangstbewijs worden veranderd,
Purchase / Manufacture Details,Inkoop / Productie Details,
Creation Document Type,Aanmaken Document type,
Creation Document No,Aanmaken Document nr,
Creation Date,Aanmaakdatum,
Creation Time,Aanmaaktijd,
Asset Details,Activadetails,
Asset Status,Activumstatus,
Delivery Document Type,Levering Soort document,
Delivery Document No,Leveringsdocument nr.,
Delivery Time,Levertijd,
Invoice Details,Factuurgegevens,
Warranty / AMC Details,Garantie / AMC Details,
Warranty Expiry Date,Garantie Vervaldatum,
AMC Expiry Date,AMC Vervaldatum,
Under Warranty,Binnen Garantie,
Out of Warranty,Uit de garantie,
Under AMC,Onder AMC,
Out of AMC,Uit AMC,
Warranty Period (Days),Garantieperiode (dagen),
Serial No Details,Serienummer Details,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Type voorraadinvoer,
Stock Entry (Outward GIT),Voorraadinvoer (uitgaande GIT),
Material Consumption for Manufacture,Materiaalverbruik voor productie,
Repack,Herverpakken,
Send to Subcontractor,Verzenden naar onderaannemer,
Delivery Note No,Vrachtbrief Nr,
Sales Invoice No,Verkoopfactuur nr.,
Purchase Receipt No,Ontvangstbevestiging nummer,
Inspection Required,Inspectie Verplicht,
From BOM,Van BOM,
For Quantity,Voor Aantal,
As per Stock UOM,Per Stock Verpakking,
Including items for sub assemblies,Inclusief items voor sub assemblies,
Default Source Warehouse,Standaard Bronmagazijn,
Source Warehouse Address,Bron magazijnadres,
Default Target Warehouse,Standaard Doelmagazijn,
Target Warehouse Address,Target Warehouse Address,
Update Rate and Availability,Update snelheid en beschikbaarheid,
Total Incoming Value,Totaal Inkomende Waarde,
Total Outgoing Value,Totaal uitgaande waardeoverdrachten,
Total Value Difference (Out - In),Totale waarde Verschil (Out - In),
Additional Costs,Bijkomende kosten,
Total Additional Costs,Totaal Bijkomende kosten,
Customer or Supplier Details,Klant of leverancier Details,
Per Transferred,Per overgedragen,
Stock Entry Detail,Voorraadtransactie Detail,
Basic Rate (as per Stock UOM),Basistarief (per eenheid),
Basic Amount,Basisbedrag,
Additional Cost,Bijkomende kosten,
Serial No / Batch,Serienummer / Batch,
BOM No. for a Finished Good Item,Stuklijst nr voor een Gereed Product Artikel,
Material Request used to make this Stock Entry,Materiaal Aanvraag is gebruikt om deze Voorraad  Entry te maken,
Subcontracted Item,Object in onderaanneming,
Against Stock Entry,Tegen aandeleninvoer,
Stock Entry Child,Stock Entry Kind,
PO Supplied Item,PO Geleverd item,
Reference Purchase Receipt,Referentie aankoopontvangst,
Stock Ledger Entry,Voorraad Dagboek post,
Outgoing Rate,Uitgaande Rate,
Actual Qty After Transaction,Werkelijke Aantal Na Transactie,
Stock Value Difference,Voorraad Waarde Verschil,
Stock Queue (FIFO),Voorraad rij (FIFO),
Is Cancelled,Is Geannuleerd,
Stock Reconciliation,Voorraad Aflettering,
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Deze tool helpt u om te werken of te repareren de hoeveelheid en de waardering van de voorraad in het systeem. Het wordt meestal gebruikt om het systeem waarden en wat in uw magazijnen werkelijk bestaat synchroniseren.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Aflettering JSON,
Stock Reconciliation Item,Voorraad Afletteren Artikel,
Before reconciliation,Voordat verzoening,
Current Serial No,Huidig serienummer,
Current Valuation Rate,Huidige Valuation Rate,
Current Amount,Huidige hoeveelheid,
Quantity Difference,Aantal Verschil,
Amount Difference,bedrag Verschil,
Item Naming By,Artikel benoeming door,
Default Item Group,Standaard Artikelgroep,
Default Stock UOM,Standaard Voorraad Eenheid,
Sample Retention Warehouse,Sample Retention Warehouse,
Default Valuation Method,Standaard Waarderingsmethode,
Show Barcode Field,Show streepjescodeveld,
Convert Item Description to Clean HTML,Itembeschrijving converteren om HTML te wissen,
Allow Negative Stock,Laat Negatieve voorraad,
Automatically Set Serial Nos based on FIFO,Automatisch instellen serienummers op basis van FIFO,
Auto Material Request,Automatisch Materiaal Request,
Inter Warehouse Transfer Settings,Instellingen intermagazijnoverdracht,
Freeze Stock Entries,Freeze Stock Entries,
Stock Frozen Upto,Voorraad Bevroren Tot,
Batch Identification,Batchidentificatie,
Use Naming Series,Gebruik Naming Series,
Naming Series Prefix,Reeks voorvoegsel naamgeving,
UOM Category,UOM-categorie,
UOM Conversion Detail,Eenheid Omrekeningsfactor Detail,
Variant Field,Variantveld,
A logical Warehouse against which stock entries are made.,Een logisch Magazijn waartegen voorraadboekingen worden gemaakt.,
Warehouse Detail,Magazijn Detail,
Warehouse Name,Magazijn Naam,
Warehouse Contact Info,Magazijn Contact Info,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Opgevoerd door (E-mail),
Issue Type,Uitgiftetype,
Issue Split From,Uitgave splitsen vanaf,
Service Level,Service Level,
Response By,Reactie door,
Response By Variance,Reactie door variantie,
Ongoing,Voortgaande,
Resolution By,Resolutie door,
Resolution By Variance,Resolutie door variantie,
Service Level Agreement Creation,Service Level Agreement Creatie,
First Responded On,Eerst gereageerd op,
Resolution Details,Oplossing Details,
Opening Date,Openingsdatum,
Opening Time,Opening Tijd,
Resolution Date,Oplossing Datum,
Via Customer Portal,Via klantportal,
Support Team,Support Team,
Issue Priority,Prioriteit uitgeven,
Service Day,Servicedag,
Workday,Werkdag,
Default Priority,Standaard prioriteit,
Priorities,prioriteiten,
Support Hours,Ondersteuningstijden,
Support and Resolution,Ondersteuning en oplossing,
Default Service Level Agreement,Standaard Service Level Agreement,
Entity,Entiteit,
Agreement Details,Overeenkomst details,
Response and Resolution Time,Reactietijd en oplossingstijd,
Service Level Priority,Prioriteit serviceniveau,
Resolution Time,Resolutie tijd,
Support Search Source,Zoekbron ondersteunen,
Source Type,Bron Type,
Query Route String,Zoekopdracht route String,
Search Term Param Name,Zoekterm Paramaam,
Response Options,Antwoord opties,
Response Result Key Path,Response Result Key Path,
Post Route String,Post Route String,
Post Route Key List,Post Route-toetslijst,
Post Title Key,Titeltoets plaatsen,
Post Description Key,Bericht Beschrijving Sleutel,
Link Options,Link opties,
Source DocType,Bron DocType,
Result Title Field,Resultaat Titelveld,
Result Preview Field,Resultaat Voorbeeldveld,
Result Route Field,Resultaat Routeveld,
Service Level Agreements,Service Level Agreements,
Track Service Level Agreement,Volg Service Level Agreement,
Allow Resetting Service Level Agreement,Sta resetten Service Level Agreement toe,
Close Issue After Days,Sluiten Probleem Na Days,
Auto close Issue after 7 days,Auto dicht Issue na 7 dagen,
Support Portal,Ondersteuningsportal,
Get Started Sections,Aan de slag Secties,
Show Latest Forum Posts,Toon laatste forumberichten,
Forum Posts,Forum berichten,
Forum URL,Forum-URL,
Get Latest Query,Ontvang de nieuwste zoekopdracht,
Response Key List,Responsensleutellijst,
Post Route Key,Post Routesleutel,
Search APIs,Zoek API&#39;s,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Uitgiftedatum,
Item and Warranty Details,Item en garantie Details,
Warranty / AMC Status,Garantie / AMC Status,
Resolved By,Opgelost door,
Service Address,Service Adres,
If different than customer address,Indien anders dan klantadres,
Raised By,Opgevoed door,
From Company,Van Bedrijf,
Rename Tool,Hernoem Tool,
Utilities,Utilities,
Type of document to rename.,Type document te hernoemen.,
File to Rename,Bestand naar hernoemen,
"Attach .csv file with two columns, one for the old name and one for the new name","Bevestig .csv-bestand met twee kolommen, één voor de oude naam en één voor de nieuwe naam",
Rename Log,Hernoemen Log,
SMS Log,SMS Log,
Sender Name,Naam afzender,
Sent On,Verzonden op,
No of Requested SMS,Aantal gevraagde SMS,
Requested Numbers,Gevraagde Numbers,
No of Sent SMS,Aantal gestuurde SMS,
Sent To,Verzenden Naar,
Absent Student Report,Studenten afwezigheidsrapport,
Assessment Plan Status,Beoordelingsplan Status,
Asset Depreciation Ledger,Asset Afschrijvingen Ledger,
Asset Depreciations and Balances,Asset Afschrijvingen en Weegschalen,
Available Stock for Packing Items,Beschikbaar voor Verpakking Items,
Bank Clearance Summary,Bankbewaring samenvatting,
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,
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 Billing Summary,Factuuroverzicht werknemer,
Employee Birthday,Werknemer Verjaardag,
Employee Information,Werknemer Informatie,
Employee Leave Balance,Werknemer Verlof Balans,
Employee Leave Balance Summary,Werknemersverlofsaldo Samenvatting,
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,
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,
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,
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,
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,
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},
Material Request Warehouse,Materiaalaanvraag Magazijn,
Select warehouse for material requests,Selecteer magazijn voor materiaalaanvragen,
Transfer Materials For Warehouse {0},Materiaal overbrengen voor magazijn {0},
Production Plan Material Request Warehouse,Productieplan Materiaalaanvraag Magazijn,
Sets 'Source Warehouse' in each row of the items table.,Stelt &#39;Bronmagazijn&#39; in in elke rij van de itemtabel.,
Sets 'Target Warehouse' in each row of the items table.,Stelt &#39;Target Warehouse&#39; in in elke rij van de itemtabel.,
Show Cancelled Entries,Toon geannuleerde inzendingen,
Backdated Stock Entry,Voorraadinvoer met terugwerkende kracht,
Row #{}: Currency of {} - {} doesn't matches company currency.,Rij # {}: valuta van {} - {} komt niet overeen met de valuta van het bedrijf.,
{} Assets created for {},{} Activa gemaakt voor {},
{0} Number {1} is already used in {2} {3},{0} Nummer {1} wordt al gebruikt in {2} {3},
Update Bank Clearance Dates,Werk de data voor bankvereffening bij,
Healthcare Practitioner: ,Zorgverlener:,
Lab Test Conducted: ,Uitgevoerde laboratoriumtest:,
Lab Test Event: ,Lab-testevenement:,
Lab Test Result: ,Lab testresultaat:,
Clinical Procedure conducted: ,Klinische procedure uitgevoerd:,
Therapy Session Charges: {0},Kosten voor therapiesessie: {0},
Therapy: ,Behandeling:,
Therapy Plan: ,Therapieplan:,
Total Counts Targeted: ,Gericht totaalaantal:,
Total Counts Completed: ,Totaal voltooide tellingen:,
Andaman and Nicobar Islands,Andamanen en Nicobaren,
Andhra Pradesh,Andhra Pradesh,
Arunachal Pradesh,Arunachal Pradesh,
Assam,Assam,
Bihar,Bihar,
Chandigarh,Chandigarh,
Chhattisgarh,Chhattisgarh,
Dadra and Nagar Haveli,Dadra en Nagar Haveli,
Daman and Diu,Daman en Diu,
Delhi,Delhi,
Goa,Goa,
Gujarat,Gujarat,
Haryana,Haryana,
Himachal Pradesh,Himachal Pradesh,
Jammu and Kashmir,Jammu en Kasjmir,
Jharkhand,Jharkhand,
Karnataka,Karnataka,
Kerala,Kerala,
Lakshadweep Islands,Lakshadweep-eilanden,
Madhya Pradesh,Madhya Pradesh,
Maharashtra,Maharashtra,
Manipur,Manipur,
Meghalaya,Meghalaya,
Mizoram,Mizoram,
Nagaland,Nagaland,
Odisha,Odisha,
Other Territory,Ander territorium,
Pondicherry,Pondicherry,
Punjab,Punjab,
Rajasthan,Rajasthan,
Sikkim,Sikkim,
Tamil Nadu,Tamil Nadu,
Telangana,Telangana,
Tripura,Tripura,
Uttar Pradesh,Uttar Pradesh,
Uttarakhand,Uttarakhand,
West Bengal,West-Bengalen,
Is Mandatory,Is verplicht,
Published on,gepubliceerd op,
Service Received But Not Billed,Service ontvangen maar niet gefactureerd,
Deferred Accounting Settings,Uitgestelde boekhoudinstellingen,
Book Deferred Entries Based On,Boek uitgestelde inzendingen op basis van,
Days,Dagen,
Months,Maanden,
Book Deferred Entries Via Journal Entry,Boek uitgestelde posten via journaalboeking,
Submit Journal Entries,Dien journaalboekingen in,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Als dit niet is aangevinkt, worden journaalboekingen opgeslagen in de status Concept en moeten ze handmatig worden ingediend",
Enable Distributed Cost Center,Schakel Gedistribueerde kostenplaats in,
Distributed Cost Center,Gedistribueerde kostenplaats,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Achterstallige dagen,
Dunning Type,Aanmaningstype,
Dunning Fee,Aanmaningskosten,
Dunning Amount,Aanmaningsbedrag,
Resolved,Opgelost,
Unresolved,Niet opgelost,
Printing Setting,Afdrukinstelling,
Body Text,Lichaamstaal,
Closing Text,Afsluitende tekst,
Resolve,Oplossen,
Dunning Letter Text,Aanmaningsbrieftekst,
Is Default Language,Is de standaardtaal,
Letter or Email Body Text,Hoofdtekst van brief of e-mail,
Letter or Email Closing Text,Brief of e-mail afsluitingstekst,
Body and Closing Text Help,Hoofdtekst en afsluitende tekst Help,
Overdue Interval,Achterstallig interval,
Dunning Letter,Aanmaningsbrief,
"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.",In dit gedeelte kan de gebruiker de hoofdtekst en de afsluitingstekst van de aanmaningsbrief voor het aanmaningstype instellen op basis van de taal die in Print kan worden gebruikt.,
Reference Detail No,Referentie Detail nr,
Custom Remarks,Aangepaste opmerkingen,
Please select a Company first.,Selecteer eerst een bedrijf.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Rij # {0}: het type referentiedocument moet een verkooporder, verkoopfactuur, journaalboeking of aanmaning zijn",
POS Closing Entry,POS-afsluiting,
POS Opening Entry,POS Opening Entry,
POS Transactions,POS-transacties,
POS Closing Entry Detail,Detail van POS-afsluitinginvoer,
Opening Amount,Openingsbedrag,
Closing Amount,Eindbedrag,
POS Closing Entry Taxes,POS-afsluiting invoerbelastingen,
POS Invoice,POS-factuur,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Geconsolideerde verkoopfactuur,
Return Against POS Invoice,Retourneren tegen POS-factuur,
Consolidated,Geconsolideerd,
POS Invoice Item,POS-factuuritem,
POS Invoice Merge Log,POS-factuur samenvoeglogboek,
POS Invoices,POS-facturen,
Consolidated Credit Note,Geconsolideerde kredietnota,
POS Invoice Reference,POS-factuurreferentie,
Set Posting Date,Boekingsdatum instellen,
Opening Balance Details,Details beginsaldo,
POS Opening Entry Detail,POS Opening Entry Detail,
POS Payment Method,POS-betaalmethode,
Payment Methods,Betaalmethodes,
Process Statement Of Accounts,Procesoverzicht van rekeningen,
General Ledger Filters,Grootboekfilters,
Customers,Klanten,
Select Customers By,Selecteer klanten op,
Fetch Customers,Haal klanten op,
Send To Primary Contact,Verzenden naar primaire contactpersoon,
Print Preferences,Afdrukvoorkeuren,
Include Ageing Summary,Voeg een samenvatting van de veroudering toe,
Enable Auto Email,Schakel automatische e-mail in,
Filter Duration (Months),Filterduur (maanden),
CC To,CC aan,
Help Text,hulp tekst,
Emails Queued,E-mails in de wachtrij,
Process Statement Of Accounts Customer,Procesoverzicht van de klant,
Billing Email,Rekening e-mail,
Primary Contact Email,E-mailadres van primaire contactpersoon,
PSOA Cost Center,PSOA-kostenplaats,
PSOA Project,PSOA-project,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Leverancier GSTIN,
Place of Supply,Plaats van levering,
Select Billing Address,Selecteer factuuradres,
GST Details,GST-gegevens,
GST Category,GST-categorie,
Registered Regular,Geregistreerd regelmatig,
Registered Composition,Geregistreerde samenstelling,
Unregistered,Niet geregistreerd,
SEZ,SEZ,
Overseas,Overzee,
UIN Holders,UIN-houders,
With Payment of Tax,Met betaling van belasting,
Without Payment of Tax,Zonder betaling van belasting,
Invoice Copy,Factuurkopie,
Original for Recipient,Origineel voor ontvanger,
Duplicate for Transporter,Dupliceren voor Transporter,
Duplicate for Supplier,Duplicaat voor leverancier,
Triplicate for Supplier,Drievoud voor leverancier,
Reverse Charge,Omgekeerde lading,
Y,Y,
N,N,
E-commerce GSTIN,E-commerce GSTIN,
Reason For Issuing document,Reden voor afgifte document,
01-Sales Return,01-Verkoopretour,
02-Post Sale Discount,Korting voor 2 na verkoop,
03-Deficiency in services,03-Tekortkoming in diensten,
04-Correction in Invoice,04-correctie in factuur,
05-Change in POS,05-Wijziging in POS,
06-Finalization of Provisional assessment,06-Afronding van voorlopige aanslag,
07-Others,07-anderen,
Eligibility For ITC,Geschiktheid voor ITC,
Input Service Distributor,Input Service Distributeur,
Import Of Service,Import van service,
Import Of Capital Goods,Import van kapitaalgoederen,
Ineligible,Komt niet in aanmerking,
All Other ITC,Alle andere ITC,
Availed ITC Integrated Tax,Gebruikte ITC Integrated Tax,
Availed ITC Central Tax,Gebruikt ITC Central Tax,
Availed ITC State/UT Tax,Gebruikte ITC State / UT-belasting,
Availed ITC Cess,Gebruikt ITC Cess,
Is Nil Rated or Exempted,Is nul beoordeeld of vrijgesteld,
Is Non GST,Is niet GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,E-Way Bill nr.,
Is Consolidated,Is geconsolideerd,
Billing Address GSTIN,Factuuradres GSTIN,
Customer GSTIN,Klant GSTIN,
GST Transporter ID,GST Transporter-ID,
Distance (in km),Afstand (in km),
Road,Weg,
Air,Lucht,
Rail,Het spoor,
Ship,Schip,
GST Vehicle Type,GST-voertuigtype,
Over Dimensional Cargo (ODC),Overdimensionale lading (ODC),
Consumer,Klant,
Deemed Export,Geachte export,
Port Code,Poortcode,
 Shipping Bill Number,Verzendfactuurnummer,
Shipping Bill Date,Verzendfactuurdatum,
Subscription End Date,Einddatum abonnement,
Follow Calendar Months,Volg Kalendermaanden,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Als dit is aangevinkt, worden er nieuwe facturen aangemaakt op de startdatums van de kalendermaand en het kwartaal, ongeacht de huidige startdatum van de factuur",
Generate New Invoices Past Due Date,Genereer nieuwe facturen na vervaldatum,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Nieuwe facturen worden volgens schema gegenereerd, zelfs als de huidige facturen onbetaald of achterstallig zijn",
Document Type ,type document,
Subscription Price Based On,Abonnementsprijs gebaseerd op,
Fixed Rate,Vaste rente,
Based On Price List,Gebaseerd op prijslijst,
Monthly Rate,Maandelijks tarief,
Cancel Subscription After Grace Period,Abonnement opzeggen na respijtperiode,
Source State,Bronstaat,
Is Inter State,Is Inter State,
Purchase Details,Aankoopdetails,
Depreciation Posting Date,Afschrijvingsboekingsdatum,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ",Standaard wordt de leveranciersnaam ingesteld volgens de ingevoerde leveranciersnaam. Als u wilt dat leveranciers worden genoemd door een,
 choose the 'Naming Series' option.,kies de optie &#39;Naming Series&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Configureer de standaardprijslijst wanneer u een nieuwe aankooptransactie aanmaakt. Artikelprijzen worden opgehaald uit deze prijslijst.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Als deze optie is geconfigureerd &#39;Ja&#39;, zal ERPNext u verhinderen een inkoopfactuur of ontvangstbewijs te creëren zonder eerst een inkooporder te creëren. Deze configuratie kan voor een bepaalde leverancier worden overschreven door het aankruisvak &#39;Aanmaken inkoopfactuur zonder inkooporder toestaan&#39; in het leveranciersmodel in te schakelen.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Als deze optie &#39;Ja&#39; is geconfigureerd, zal ERPNext u verhinderen een inkoopfactuur aan te maken zonder eerst een inkoopbewijs te creëren. Deze configuratie kan voor een bepaalde leverancier worden overschreven door het aankruisvak &#39;Aanmaken inkoopfactuur zonder inkoopontvangst toestaan&#39; in de leveranciersstam in te schakelen.",
Quantity & Stock,Hoeveelheid en voorraad,
Call Details,Oproepdetails,
Authorised By,Geautoriseerd door,
Signee (Company),Ondertekenaar (bedrijf),
Signed By (Company),Ondertekend door (bedrijf),
First Response Time,Eerste reactietijd,
Request For Quotation,Offerte aanvragen,
Opportunity Lost Reason Detail,Detail van gemiste kans,
Access Token Secret,Toegang tot Token Secret,
Add to Topics,Toevoegen aan onderwerpen,
...Adding Article to Topics,... Artikel aan onderwerpen toevoegen,
Add Article to Topics,Voeg artikel toe aan onderwerpen,
This article is already added to the existing topics,Dit artikel is al toegevoegd aan de bestaande onderwerpen,
Add to Programs,Toevoegen aan programma&#39;s,
Programs,Programma&#39;s,
...Adding Course to Programs,... Cursus aan programma&#39;s toevoegen,
Add Course to Programs,Voeg cursus toe aan programma&#39;s,
This course is already added to the existing programs,Deze cursus is al toegevoegd aan de bestaande programma&#39;s,
Learning Management System Settings,Instellingen leerbeheersysteem,
Enable Learning Management System,Schakel het leerbeheersysteem in,
Learning Management System Title,Titel Learning Management System,
...Adding Quiz to Topics,... Quiz aan onderwerpen toevoegen,
Add Quiz to Topics,Voeg quiz toe aan onderwerpen,
This quiz is already added to the existing topics,Deze quiz is al toegevoegd aan de bestaande onderwerpen,
Enable Admission Application,Toelatingsaanvraag inschakelen,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Aanwezigheid markeren,
Add Guardians to Email Group,Voeg ouders / verzorgers toe aan e-mailgroep,
Attendance Based On,Aanwezigheid gebaseerd op,
Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Vink dit aan om de student als aanwezig te markeren voor het geval de student niet naar het instituut gaat om deel te nemen of het instituut in ieder geval te vertegenwoordigen.,
Add to Courses,Toevoegen aan cursussen,
...Adding Topic to Courses,... Onderwerp aan cursussen toevoegen,
Add Topic to Courses,Onderwerp aan cursussen toevoegen,
This topic is already added to the existing courses,Dit onderwerp is al toegevoegd aan de bestaande cursussen,
"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Als Shopify geen klant in de bestelling heeft, zal het systeem tijdens het synchroniseren van de bestellingen rekening houden met de standaardklant voor de bestelling",
The accounts are set by the system automatically but do confirm these defaults,"De accounts worden automatisch door het systeem ingesteld, maar bevestig deze standaardinstellingen",
Default Round Off Account,Standaard afrondingsrekening,
Failed Import Log,Mislukt importlogboek,
Fixed Error Log,Vaste foutenlogboek,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,"Bedrijf {0} bestaat al. Als u doorgaat, worden het bedrijf en het rekeningschema overschreven",
Meta Data,Metagegevens,
Unresolve,Oplossen,
Create Document,Maak een document,
Mark as unresolved,Markeer als onopgelost,
TaxJar Settings,TaxJar-instellingen,
Sandbox Mode,Sandbox-modus,
Enable Tax Calculation,Schakel belastingberekening in,
Create TaxJar Transaction,Maak een TaxJar-transactie,
Credentials,Inloggegevens,
Live API Key,Live API-sleutel,
Sandbox API Key,Sandbox API-sleutel,
Configuration,Configuratie,
Tax Account Head,Hoofd belastingaccount,
Shipping Account Head,Hoofd verzendaccount,
Practitioner Name,Naam behandelaar,
Enter a name for the Clinical Procedure Template,Voer een naam in voor de sjabloon voor klinische procedures,
Set the Item Code which will be used for billing the Clinical Procedure.,Stel de artikelcode in die zal worden gebruikt voor het factureren van de klinische procedure.,
Select an Item Group for the Clinical Procedure Item.,Selecteer een artikelgroep voor het artikel van de klinische procedure.,
Clinical Procedure Rate,Klinische proceduretarief,
Check this if the Clinical Procedure is billable and also set the rate.,Controleer dit of de klinische procedure factureerbaar is en stel ook het tarief in.,
Check this if the Clinical Procedure utilises consumables. Click ,Controleer dit als de klinische procedure verbruiksartikelen gebruikt. Klik,
 to know more,om meer te weten,
"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","U kunt ook de medische afdeling voor de sjabloon instellen. Nadat het document is opgeslagen, wordt automatisch een item aangemaakt om deze klinische procedure te factureren. U kunt deze sjabloon vervolgens gebruiken bij het maken van klinische procedures voor patiënten. Met sjablonen hoeft u niet elke keer overtollige gegevens op te vullen. U kunt ook sjablonen maken voor andere bewerkingen, zoals laboratoriumtests, therapiesessies, enz.",
Descriptive Test Result,Beschrijvend testresultaat,
Allow Blank,Blanco toestaan,
Descriptive Test Template,Beschrijvende testsjabloon,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Als u de salarisadministratie en andere HRMS-bewerkingen voor een beoefenaar wilt volgen, maakt u een medewerker aan en koppelt u deze hier.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Stel het Practitioner Schedule in dat u zojuist hebt gemaakt. Dit wordt gebruikt bij het boeken van afspraken.,
Create a service item for Out Patient Consulting.,Maak een service-item voor Out Patient Consulting.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Als deze zorgverlener voor de klinische afdeling werkt, maakt u een service-item voor intramurale bezoeken.",
Set the Out Patient Consulting Charge for this Practitioner.,Stel de kosten voor out-patiëntadvies voor deze behandelaar vast.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Als deze zorgverlener ook voor de klinische afdeling werkt, stelt u de kosten voor ziekenhuisbezoek voor deze behandelaar in.",
"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Indien aangevinkt, wordt er voor elke patiënt een klant aangemaakt. Patiëntfacturen worden voor deze klant aangemaakt. U kunt ook een bestaande klant selecteren terwijl u een patiënt aanmaakt. Dit veld is standaard aangevinkt.",
Collect Registration Fee,Verzamel registratiekosten,
"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Als uw zorginstelling registraties van patiënten factureert, kunt u dit controleren en de registratievergoeding in het onderstaande veld instellen. Als u dit aanvinkt, worden standaard nieuwe Patiënten met een Uitgeschakelde status aangemaakt en wordt deze pas ingeschakeld na facturering van de Registratiekosten.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Als u dit aanvinkt, wordt automatisch een verkoopfactuur aangemaakt wanneer er een afspraak wordt gemaakt voor een patiënt.",
Healthcare Service Items,Artikelen voor gezondheidszorg,
"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ",U kunt een serviceartikel voor kosten voor intramurale bezoeken aanmaken en hier instellen. Op dezelfde manier kunt u in dit gedeelte andere zorgartikelen voor facturering instellen. Klik,
Set up default Accounts for the Healthcare Facility,Stel standaardaccounts in voor de zorginstelling,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Als u de standaardaccountinstellingen wilt overschrijven en de inkomsten- en debiteurenrekeningen voor de gezondheidszorg wilt configureren, kunt u dat hier doen.",
Out Patient SMS alerts,Out Patient SMS-waarschuwingen,
"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Als u een sms-waarschuwing wilt verzenden bij patiëntregistratie, kunt u deze optie inschakelen. Op dezelfde manier kunt u in dit gedeelte SMS-waarschuwingen voor Out Patient instellen voor andere functies. Klik",
Admission Order Details,Details toelating bestelling,
Admission Ordered For,Toelating besteld voor,
Expected Length of Stay,Verwachte verblijfsduur,
Admission Service Unit Type,Toelating Service Unit Type,
Healthcare Practitioner (Primary),Gezondheidszorgbeoefenaar (primair),
Healthcare Practitioner (Secondary),Gezondheidszorgbeoefenaar (secundair),
Admission Instruction,Toelating Instructie,
Chief Complaint,Hoofdklacht,
Medications,Medicijnen,
Investigations,Onderzoeken,
Discharge Detials,Detials over ontslag,
Discharge Ordered Date,Kwijting besteld datum,
Discharge Instructions,Instructies voor kwijting,
Follow Up Date,Vervolgdatum,
Discharge Notes,Kwijtschelding,
Processing Inpatient Discharge,Verwerking van intramurale ontslag,
Processing Patient Admission,Verwerking van de opname van patiënten,
Check-in time cannot be greater than the current time,De inchecktijd kan niet langer zijn dan de huidige tijd,
Process Transfer,Overdracht verwerken,
HLC-LAB-.YYYY.-,HLC-LAB-.JJJJ.-,
Expected Result Date,Verwachte resultaatdatum,
Expected Result Time,Verwachte resultaattijd,
Printed on,Afgedrukt op,
Requesting Practitioner,Verzoekende behandelaar,
Requesting Department,Verzoekende afdeling,
Employee (Lab Technician),Medewerker (Labtechnicus),
Lab Technician Name,Naam labtechnicus,
Lab Technician Designation,Aanwijzing labtechnicus,
Compound Test Result,Samengesteld testresultaat,
Organism Test Result,Organisme Testresultaat,
Sensitivity Test Result,Gevoeligheidstestresultaat,
Worksheet Print,Werkblad afdrukken,
Worksheet Instructions,Werkblad instructies,
Result Legend Print,Resultaat Legenda afdrukken,
Print Position,Afdrukpositie,
Bottom,Bodem,
Top,Top,
Both,Beide,
Result Legend,Legenda resultaat,
Lab Tests,Labotests,
No Lab Tests found for the Patient {0},Geen laboratoriumtests gevonden voor de patiënt {0},
"Did not send SMS, missing patient mobile number or message content.","Geen sms verzonden, mobiel nummer van patiënt of berichtinhoud ontbreekt.",
No Lab Tests created,Er zijn geen labtests gemaakt,
Creating Lab Tests...,Labotests maken ...,
Lab Test Group Template,Lab testgroepsjabloon,
Add New Line,Nieuwe regel toevoegen,
Secondary UOM,Secundaire maateenheid,
"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Enkelvoudig</b> : resultaten waarvoor slechts één invoer nodig is.<br> <b>Samengesteld</b> : resultaten waarvoor meerdere gebeurtenisinvoer nodig is.<br> <b>Beschrijvend</b> : tests met meerdere resultaatcomponenten met handmatige resultaatinvoer.<br> <b>Gegroepeerd</b> : testsjablonen die een groep andere testsjablonen zijn.<br> <b>Geen resultaat</b> : tests zonder resultaten kunnen worden besteld en gefactureerd, maar er wordt geen laboratoriumtest gemaakt. bijv. Subtests voor gegroepeerde resultaten",
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Als dit niet is aangevinkt, is het item niet beschikbaar in verkoopfacturen voor facturering, maar kan het worden gebruikt bij het maken van groepstests.",
Description ,Omschrijving,
Descriptive Test,Beschrijvende test,
Group Tests,Groepstests,
Instructions to be printed on the worksheet,Instructies die op het werkblad moeten worden afgedrukt,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.","Informatie om het testrapport gemakkelijk te interpreteren, wordt afgedrukt als onderdeel van het laboratoriumtestresultaat.",
Normal Test Result,Normaal testresultaat,
Secondary UOM Result,Secundair UOM-resultaat,
Italic,Cursief,
Underline,Onderstrepen,
Organism,Organisme,
Organism Test Item,Organisme Testitem,
Colony Population,Kolonie bevolking,
Colony UOM,Kolonie UOM,
Tobacco Consumption (Past),Tabaksconsumptie (verleden),
Tobacco Consumption (Present),Tabaksconsumptie (heden),
Alcohol Consumption (Past),Alcoholconsumptie (verleden),
Alcohol Consumption (Present),Alcoholconsumptie (heden),
Billing Item,Factuuritem,
Medical Codes,Medische codes,
Clinical Procedures,Klinische procedures,
Order Admission,Bestel toelating,
Scheduling Patient Admission,Opname van patiënten plannen,
Order Discharge,Ontlading bestellen,
Sample Details,Voorbeelddetails,
Collected On,Verzameld op,
No. of prints,Aantal afdrukken,
Number of prints required for labelling the samples,Aantal afdrukken vereist voor het labelen van de monsters,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
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,
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,
Feedback By,Feedback door,
Manufacturing Section,Productiesectie,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",Standaard wordt de klantnaam ingesteld volgens de ingevoerde volledige naam. Als u wilt dat klanten worden genoemd door een,
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configureer de standaardprijslijst bij het aanmaken van een nieuwe verkooptransactie. Artikelprijzen worden opgehaald uit deze prijslijst.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Als deze optie &#39;Ja&#39; is geconfigureerd, zal ERPNext u verhinderen een verkoopfactuur of leveringsnota aan te maken zonder eerst een verkooporder te creëren. Deze configuratie kan voor een bepaalde klant worden overschreven door het selectievakje &#39;Aanmaken verkoopfactuur zonder verkooporder toestaan&#39; in het stamhoofd Klant in te schakelen.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Als deze optie op &#39;Ja&#39; staat, zal ERPNext u verhinderen een verkoopfactuur aan te maken zonder eerst een leveringsnota te creëren. Deze configuratie kan voor een bepaalde klant worden overschreven door het selectievakje &#39;Aanmaken verkoopfactuur zonder leveringsnota toestaan&#39; in het stamhoofd Klant in te schakelen.",
Default Warehouse for Sales Return,Standaardmagazijn voor verkoopretour,
Default In Transit Warehouse,Standaard transportmagazijn,
Enable Perpetual Inventory For Non Stock Items,Schakel permanente voorraad in voor niet-voorraadartikelen,
HRA Settings,HRA-instellingen,
Basic Component,Basiscomponent,
HRA Component,HRA-component,
Arrear Component,Achterstallige component,
Please enter the company name to confirm,Voer de bedrijfsnaam in om te bevestigen,
Quotation Lost Reason Detail,Offerte verloren reden Detail,
Enable Variants,Schakel varianten in,
Save Quotations as Draft,Bewaar offertes als concept,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Selecteer een klant,
Against Delivery Note Item,Tegen pakbonitem,
Is Non GST ,Is niet GST,
Image Description,Afbeeldingsomschrijving,
Transfer Status,Overdrachtstatus,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Volg deze aankoopbon voor elk project,
Please Select a Supplier,Selecteer een leverancier,
Add to Transit,Toevoegen aan OV,
Set Basic Rate Manually,Stel het basistarief handmatig in,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ",Standaard wordt de artikelnaam ingesteld volgens de ingevoerde artikelcode. Als u wilt dat items een naam krijgen van,
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Stel een standaardmagazijn in voor voorraadtransacties. Dit wordt opgehaald in het standaardmagazijn in de artikelstam.,
"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Hierdoor kunnen voorraadartikelen in negatieve waarden worden weergegeven. Het gebruik van deze optie is afhankelijk van uw gebruikssituatie. Als deze optie niet is aangevinkt, waarschuwt het systeem voordat een transactie wordt geblokkeerd die een negatieve voorraad veroorzaakt.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Kies tussen FIFO en Voortschrijdend gemiddelde waarderingsmethoden. Klik,
 to know more about them.,om er meer over te weten.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Toon het veld &#39;Scan Barcode&#39; boven elke onderliggende tabel om items gemakkelijk in te voegen.,
"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Serienummers voor voorraad worden automatisch ingesteld op basis van de ingevoerde artikelen op basis van first in first out in transacties zoals inkoop- / verkoopfacturen, leveringsbonnen, enz.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Als dit leeg is, wordt bij transacties rekening gehouden met de bovenliggende magazijnrekening of het standaardbedrijf",
Service Level Agreement Details,Details van Service Level Agreement,
Service Level Agreement Status,Status Service Level Agreement,
On Hold Since,In de wacht sinds,
Total Hold Time,Totale wachttijd,
Response Details,Reactiedetails,
Average Response Time,Gemiddelde reactietijd,
User Resolution Time,Oplossingstijd gebruiker,
SLA is on hold since {0},SLA is opgeschort sinds {0},
Pause SLA On Status,Pauzeer SLA op status,
Pause SLA On,SLA onderbreken,
Greetings Section,Groeten Sectie,
Greeting Title,Begroetingstitel,
Greeting Subtitle,Begroeting ondertitel,
Youtube ID,YouTube-ID,
Youtube Statistics,YouTube-statistieken,
Views,Keer bekeken,
Dislikes,Houdt niet van,
Video Settings,Beeldinstellingen,
Enable YouTube Tracking,Schakel YouTube-tracking in,
30 mins,30 minuten,
1 hr,1 uur,
6 hrs,6 uur,
Patient Progress,Vooruitgang van de patiënt,
Targetted,Gericht,
Score Obtained,Score behaald,
Sessions,Sessies,
Average Score,Gemiddelde score,
Select Assessment Template,Selecteer Beoordelingssjabloon,
 out of ,uit,
Select Assessment Parameter,Selecteer Beoordelingsparameter,
Gender: ,Geslacht:,
Contact: ,Contact:,
Total Therapy Sessions: ,Totaal aantal therapiesessies:,
Monthly Therapy Sessions: ,Maandelijkse therapiesessies:,
Patient Profile,Patiëntprofiel,
Point Of Sale,Verkooppunt,
Email sent successfully.,E-mail succesvol verzonden.,
Search by invoice id or customer name,Zoek op factuur-ID of klantnaam,
Invoice Status,Factuurstatus,
Filter by invoice status,Filter op factuurstatus,
Select item group,Selecteer artikelgroep,
No items found. Scan barcode again.,Geen items gevonden. Scan de streepjescode opnieuw.,
"Search by customer name, phone, email.","Zoek op klantnaam, telefoon, e-mail.",
Enter discount percentage.,Voer het kortingspercentage in.,
Discount cannot be greater than 100%,Korting kan niet groter zijn dan 100%,
Enter customer's email,Voer het e-mailadres van de klant in,
Enter customer's phone number,Voer het telefoonnummer van de klant in,
Customer contact updated successfully.,Klantcontact succesvol bijgewerkt.,
Item will be removed since no serial / batch no selected.,Artikel wordt verwijderd omdat er geen serie- / batchnummer is geselecteerd.,
Discount (%),Korting (%),
You cannot submit the order without payment.,U kunt de bestelling niet plaatsen zonder betaling.,
You cannot submit empty order.,U kunt geen lege bestelling plaatsen.,
To Be Paid,Betaald worden,
Create POS Opening Entry,Maak een POS-openingsitem,
Please add Mode of payments and opening balance details.,Voeg betalingswijze en beginsaldodetails toe.,
Toggle Recent Orders,Schakel recente bestellingen in,
Save as Draft,Opslaan als concept,
You must add atleast one item to save it as draft.,U moet ten minste één item toevoegen om het als concept op te slaan.,
There was an error saving the document.,Er is een fout opgetreden bij het opslaan van het document.,
You must select a customer before adding an item.,U moet een klant selecteren voordat u een artikel toevoegt.,
Please Select a Company,Selecteer een bedrijf,
Active Leads,Actieve leads,
Please Select a Company.,Selecteer een bedrijf.,
BOM Operations Time,BOM Operations Tijd,
BOM ID,BOM-ID,
BOM Item Code,BOM-artikelcode,
Time (In Mins),Tijd (in minuten),
Sub-assembly BOM Count,Stuklijsttelling van subassemblage,
View Type,Bekijk Type,
Total Delivered Amount,Totaal geleverd bedrag,
Downtime Analysis,Downtime-analyse,
Machine,Machine,
Downtime (In Hours),Downtime (in uren),
Employee Analytics,Werknemersanalyse,
"""From date"" can not be greater than or equal to ""To date""",&#39;Vanaf datum&#39; mag niet groter zijn dan of gelijk zijn aan &#39;Tot op heden&#39;,
Exponential Smoothing Forecasting,Exponentiële afvlakkingsvoorspelling,
First Response Time for Issues,Eerste reactietijd voor problemen,
First Response Time for Opportunity,Eerste reactietijd voor kansen,
Depreciatied Amount,Afgeschreven bedrag,
Period Based On,Periode gebaseerd op,
Date Based On,Datum gebaseerd op,
{0} and {1} are mandatory,{0} en {1} zijn verplicht,
Consider Accounting Dimensions,Overweeg boekhoudkundige dimensies,
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,
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,
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,
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,
Requested Items to Order and Receive,Gevraagde artikelen om te bestellen en te ontvangen,
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,
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},
Course and Fee,Cursus en vergoeding,
Not eligible for the admission in this program as per Date Of Birth,Komt niet in aanmerking voor toelating tot dit programma per geboortedatum,
Topic {0} has been added to all the selected courses successfully.,Onderwerp {0} is met succes toegevoegd aan alle geselecteerde cursussen.,
Courses updated,Cursussen bijgewerkt,
{0} {1} has been added to all the selected topics successfully.,{0} {1} is met succes toegevoegd aan alle geselecteerde onderwerpen.,
Topics updated,Onderwerpen bijgewerkt,
Academic Term and Program,Academische termijn en programma,
Please remove this item and try to submit again or update the posting time.,Verwijder dit item en probeer het opnieuw in te dienen of werk de tijd voor het plaatsen bij.,
Failed to Authenticate the API key.,Het verifiëren van de API-sleutel is mislukt.,
Invalid Credentials,Ongeldige inloggegevens,
URL can only be a string,URL mag alleen een tekenreeks zijn,
"Here is your webhook secret, this will be shown to you only once.","Hier is uw webhookgeheim, dit wordt slechts één keer aan u getoond.",
The payment for this membership is not paid. To generate invoice fill the payment details,De betaling voor dit lidmaatschap wordt niet betaald. Vul de betalingsgegevens in om een factuur te genereren,
An invoice is already linked to this document,Aan dit document is al een factuur gekoppeld,
No customer linked to member {},Geen klant gekoppeld aan lid {},
You need to set <b>Debit Account</b> in Membership Settings,U moet de <b>debetrekening</b> instellen in de lidmaatschapsinstellingen,
You need to set <b>Default Company</b> for invoicing in Membership Settings,U moet <b>Standaardbedrijf</b> instellen voor facturering in Lidmaatschapsinstellingen,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,U moet <b>E-mail</b> ter <b>bevestiging verzenden</b> inschakelen in de lidmaatschapsinstellingen,
Error creating membership entry for {0},Fout bij maken van lidmaatschapsitem voor {0},
A customer is already linked to this Member,Er is al een klant aan dit lid gekoppeld,
End Date must not be lesser than Start Date,De einddatum mag niet lager zijn dan de startdatum,
Employee {0} already has Active Shift {1}: {2},Werknemer {0} heeft al actieve dienst {1}: {2},
 from {0},van {0},
 to {0},tot {0},
Please set {0} for the Employee or for Department: {1},Stel {0} in voor de medewerker of voor de afdeling: {1},
Employee Onboarding: {0} is already for Job Applicant: {1},Onboarding van werknemer: {0} is al voor sollicitant: {1},
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,
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,
From Date can not be greater than To Date.,Vanaf datum kan niet groter zijn dan Tot datum.,
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,
Sets 'Target Warehouse' in each row of the Items table.,Stelt &#39;Target Warehouse&#39; in in elke rij van de Item-tabel.,
Sets 'Source Warehouse' in each row of the Items table.,Stelt &#39;Bronmagazijn&#39; in in elke rij van de itemtabel.,
POS Register,POS-register,
"Can not filter based on POS Profile, if grouped by POS Profile","Kan niet filteren op basis van POS-profiel, indien gegroepeerd op POS-profiel",
"Can not filter based on Customer, if grouped by Customer","Kan niet filteren op klant, indien gegroepeerd op klant",
"Can not filter based on Cashier, if grouped by Cashier","Kan niet filteren op basis van kassier, indien gegroepeerd op kassier",
Payment Method,Betalingswijze,
"Can not filter based on Payment Method, if grouped by Payment Method","Kan niet filteren op basis van betalingsmethode, indien gegroepeerd op betalingsmethode",
Supplier Quotation Comparison,Vergelijking van offertes van leveranciers,
Price per Unit (Stock UOM),Prijs per stuk (voorraadeenheid),
Group by Supplier,Groeperen op leverancier,
Group by Item,Groeperen op item,
Remember to set {field_label}. It is required by {regulation}.,Vergeet niet om {field_label} in te stellen. Het is vereist door {regelgeving}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},Inschrijvingsdatum mag niet voor de startdatum van het academische jaar liggen {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},Inschrijvingsdatum mag niet na de einddatum van de academische periode zijn {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},Inschrijvingsdatum mag niet voor de startdatum van de academische periode liggen {0},
Future Posting Not Allowed,Toekomstige plaatsing niet toegestaan,
"To enable Capital Work in Progress Accounting, ","Om Capital Work in Progress Accounting in te schakelen,",
you must select Capital Work in Progress Account in accounts table,u moet Capital Work in Progress Account selecteren in de rekeningentabel,
You can also set default CWIP account in Company {},U kunt ook een standaard CWIP-account instellen in Bedrijf {},
The Request for Quotation can be accessed by clicking on the following button,De offerteaanvraag is toegankelijk door op de volgende knop te klikken,
Regards,vriendelijke groeten,
Please click on the following button to set your new password,Klik op de volgende knop om uw nieuwe wachtwoord in te stellen,
Update Password,Vernieuw wachtwoord,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Rij # {}: het verkooppercentage voor artikel {} is lager dan zijn {}. Verkopen {} zou minstens {} moeten zijn,
You can alternatively disable selling price validation in {} to bypass this validation.,U kunt ook de verkoopprijsvalidatie uitschakelen in {} om deze validatie te omzeilen.,
Invalid Selling Price,Ongeldige verkoopprijs,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adres moet aan een bedrijf zijn gekoppeld. Voeg een rij toe voor Bedrijf in de tabel met links.,
Company Not Linked,Bedrijf niet gekoppeld,
Import Chart of Accounts from CSV / Excel files,Rekeningschema importeren vanuit CSV / Excel-bestanden,
Completed Qty cannot be greater than 'Qty to Manufacture',Voltooide hoeveelheid kan niet groter zijn dan &#39;Te vervaardigen aantal&#39;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email",Rij {0}: voor leverancier {1} is het e-mailadres vereist om een e-mail te verzenden,
"If enabled, the system will post accounting entries for inventory automatically","Indien ingeschakeld, boekt het systeem automatisch boekhoudkundige posten voor voorraad",
Accounts Frozen Till Date,Accounts bevroren tot datum,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Boekhoudposten zijn tot op deze datum bevroren. Niemand kan items maken of wijzigen behalve gebruikers met de hieronder gespecificeerde rol,
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rol toegestaan om bevroren accounts in te stellen en bevroren items te bewerken,
Address used to determine Tax Category in transactions,Adres dat wordt gebruikt om de belastingcategorie in transacties te bepalen,
"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Het percentage dat u meer mag afrekenen op het bestelde bedrag. Als de bestelwaarde voor een artikel bijvoorbeeld € 100 is en de tolerantie is ingesteld op 10%, mag u maximaal € 110 in rekening brengen",
This role is allowed to submit transactions that exceed credit limits,Deze rol mag transacties indienen die de kredietlimieten overschrijden,
"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Als &quot;Maanden&quot; is geselecteerd, wordt een vast bedrag geboekt als uitgestelde inkomsten of uitgaven voor elke maand, ongeacht het aantal dagen in een maand. Het wordt pro rata berekend als uitgestelde inkomsten of uitgaven niet voor een hele maand worden geboekt",
"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Als dit niet is aangevinkt, worden directe grootboekboekingen gecreëerd om uitgestelde inkomsten of uitgaven te boeken",
Show Inclusive Tax in Print,Toon inclusief belasting in print,
Only select this if you have set up the Cash Flow Mapper documents,Selecteer dit alleen als u de Cash Flow Mapper-documenten heeft ingesteld,
Payment Channel,Betalingskanaal,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Is een inkooporder vereist voor het aanmaken van inkoopfacturen en ontvangstbewijzen?,
Is Purchase Receipt Required for Purchase Invoice Creation?,Is een aankoopbewijs vereist voor het maken van een aankoopfactuur?,
Maintain Same Rate Throughout the Purchase Cycle,Handhaaf hetzelfde tarief gedurende de hele aankoopcyclus,
Allow Item To Be Added Multiple Times in a Transaction,Toestaan dat item meerdere keren aan een transactie wordt toegevoegd,
Suppliers,Leveranciers,
Send Emails to Suppliers,Stuur e-mails naar leveranciers,
Select a Supplier,Selecteer een leverancier,
Cannot mark attendance for future dates.,Kan aanwezigheid niet markeren voor toekomstige datums.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Wilt u de aanwezigheid bijwerken?<br> Aanwezig: {0}<br> Afwezig: {1},
Mpesa Settings,Mpesa-instellingen,
Initiator Name,Naam initiator,
Till Number,Tot nummer,
Sandbox,Sandbox,
 Online PassKey,Online PassKey,
Security Credential,Beveiligingsreferentie,
Get Account Balance,Krijg rekeningsaldo,
Please set the initiator name and the security credential,Stel de naam van de initiator en de beveiligingsreferentie in,
Inpatient Medication Entry,Invoer van medicatie voor intramurale patiënten,
HLC-IME-.YYYY.-,HLC-IME-.JJJJ.-,
Item Code (Drug),Artikelcode (medicijn),
Medication Orders,Medicatiebestellingen,
Get Pending Medication Orders,Ontvang lopende medicatiebestellingen,
Inpatient Medication Orders,Medicatiebestellingen voor intramurale patiënten,
Medication Warehouse,Medicatie magazijn,
Warehouse from where medication stock should be consumed,Magazijn van waaruit medicatievoorraad moet worden geconsumeerd,
Fetching Pending Medication Orders,Medicatiebestellingen ophalen die in behandeling zijn,
Inpatient Medication Entry Detail,Detail van invoer van medicatie voor intramurale patiënten,
Medication Details,Medicatiegegevens,
Drug Code,Medicijncode,
Drug Name,Medicijnnaam,
Against Inpatient Medication Order,Tegen intramurale medicatie,
Against Inpatient Medication Order Entry,Tegen het invoeren van intramurale medicatie,
Inpatient Medication Order,Medicatiebestelling voor intramurale patiënten,
HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
Total Orders,Totaal aantal bestellingen,
Completed Orders,Voltooide bestellingen,
Add Medication Orders,Voeg medicatieorders toe,
Adding Order Entries,Ordergegevens toevoegen,
{0} medication orders completed,{0} medicatiebestellingen voltooid,
{0} medication order completed,{0} medicatiebestelling voltooid,
Inpatient Medication Order Entry,Invoer van medicatiebestelling voor intramurale patiënten,
Is Order Completed,Is de bestelling voltooid,
Employee Records to Be Created By,Werknemersrecords die moeten worden aangemaakt door,
Employee records are created using the selected field,Werknemersrecords worden gemaakt met behulp van het geselecteerde veld,
Don't send employee birthday reminders,Stuur geen verjaardagsherinneringen van werknemers,
Restrict Backdated Leave Applications,Beperk verlofaanvragen met terugwerkende kracht,
Sequence ID,Volgorde-ID,
Sequence Id,Volgorde-ID,
Allow multiple material consumptions against a Work Order,Sta meerdere materiaalconsumptie toe op basis van een werkorder,
Plan time logs outside Workstation working hours,Plan tijdregistraties buiten de werkuren van het werkstation,
Plan operations X days in advance,Plan operaties X dagen van tevoren,
Time Between Operations (Mins),Tijd tussen bewerkingen (minuten),
Default: 10 mins,Standaard: 10 minuten,
Overproduction for Sales and Work Order,Overproductie voor verkoop en werkorder,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","BOM-kosten automatisch bijwerken via planner, op basis van het laatste taxatietarief / prijslijsttarief / laatste aankooptarief van grondstoffen",
Purchase Order already created for all Sales Order items,Inkooporder is al aangemaakt voor alle verkooporderartikelen,
Select Items,Selecteer items,
Against Default Supplier,Tegen standaardleverancier,
Auto close Opportunity after the no. of days mentioned above,Opportunity automatisch sluiten na de nr. van bovengenoemde dagen,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Is een verkooporder vereist voor het maken van verkoopfacturen en leveringsnota&#39;s?,
Is Delivery Note Required for Sales Invoice Creation?,Is een leveringsnota vereist voor het aanmaken van een verkoopfactuur?,
How often should Project and Company be updated based on Sales Transactions?,Hoe vaak moeten project en bedrijf worden bijgewerkt op basis van verkooptransacties?,
Allow User to Edit Price List Rate in Transactions,Gebruiker toestaan prijslijsttarief in transacties te bewerken,
Allow Item to Be Added Multiple Times in a Transaction,Toestaan dat item meerdere keren aan een transactie wordt toegevoegd,
Allow Multiple Sales Orders Against a Customer's Purchase Order,Meerdere verkooporders toestaan tegen de inkooporder van een klant,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Valideer de verkoopprijs voor het artikel tegen het aankooptarief of het taxatietarief,
Hide Customer's Tax ID from Sales Transactions,Verberg het btw-nummer van de klant voor verkooptransacties,
"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Het percentage dat u meer mag ontvangen of leveren ten opzichte van de bestelde hoeveelheid. Als u bijvoorbeeld 100 eenheden heeft besteld en uw toeslag is 10%, dan mag u 110 eenheden ontvangen.",
Action If Quality Inspection Is Not Submitted,Actie als er geen kwaliteitsinspectie wordt ingediend,
Auto Insert Price List Rate If Missing,Prijslijst automatisch invoegen indien ontbreekt,
Automatically Set Serial Nos Based on FIFO,Stel automatisch serienummers in op basis van FIFO,
Set Qty in Transactions Based on Serial No Input,Stel het aantal transacties in op basis van serienr. Invoer,
Raise Material Request When Stock Reaches Re-order Level,Verhoog materiaalverzoek wanneer de voorraad het bestelniveau bereikt,
Notify by Email on Creation of Automatic Material Request,Stel per e-mail op de hoogte bij het aanmaken van een automatisch materiaalverzoek,
Allow Material Transfer from Delivery Note to Sales Invoice,Materiaaloverdracht van afleveringsbon naar verkoopfactuur toestaan,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Materiaaloverdracht van inkoopontvangst naar inkoopfactuur toestaan,
Freeze Stocks Older Than (Days),Voorraden ouder dan (dagen) bevriezen,
Role Allowed to Edit Frozen Stock,Rol toegestaan om bevroren voorraad te bewerken,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Het niet-toegewezen bedrag van betalingsinvoer {0} is groter dan het niet-toegewezen bedrag van de banktransactie,
Payment Received,Betaling ontvangen,
Attendance cannot be marked outside of Academic Year {0},Aanwezigheid kan niet worden beoordeeld buiten het academische jaar {0},
Student is already enrolled via Course Enrollment {0},Student is al ingeschreven via cursusinschrijving {0},
Attendance cannot be marked for future dates.,Aanwezigheid kan niet worden gemarkeerd voor toekomstige datums.,
Please add programs to enable admission application.,Voeg programma&#39;s toe om toelatingsaanvraag mogelijk te maken.,
The following employees are currently still reporting to {0}:,De volgende medewerkers rapporteren momenteel nog aan {0}:,
Please make sure the employees above report to another Active employee.,Zorg ervoor dat de bovenstaande medewerkers zich melden bij een andere actieve medewerker.,
Cannot Relieve Employee,Kan werknemer niet ontlasten,
Please enter {0},Voer {0} in,
Please select another payment method. Mpesa does not support transactions in currency '{0}',Selecteer een andere betalingsmethode. Mpesa ondersteunt geen transacties in valuta &#39;{0}&#39;,
Transaction Error,Transactiefout,
Mpesa Express Transaction Error,Mpesa Express-transactiefout,
"Issue detected with Mpesa configuration, check the error logs for more details","Probleem gedetecteerd met Mpesa-configuratie, controleer de foutenlogboeken voor meer details",
Mpesa Express Error,Mpesa Express-fout,
Account Balance Processing Error,Fout bij verwerking rekeningsaldo,
Please check your configuration and try again,Controleer uw configuratie en probeer het opnieuw,
Mpesa Account Balance Processing Error,Mpesa Accountsaldo Verwerkingsfout,
Balance Details,Saldo Details,
Current Balance,Huidig saldo,
Available Balance,beschikbaar saldo,
Reserved Balance,Gereserveerd saldo,
Uncleared Balance,Onduidelijk saldo,
Payment related to {0} is not completed,De betaling met betrekking tot {0} is niet voltooid,
Row #{}: Item Code: {} is not available under warehouse {}.,Rij # {}: artikelcode: {} is niet beschikbaar onder magazijn {}.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rij # {}: voorraadhoeveelheid niet genoeg voor artikelcode: {} onder magazijn {}. Beschikbare kwaliteit {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rij # {}: selecteer een serienummer en batch voor artikel: {} of verwijder het om de transactie te voltooien.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Rij # {}: geen serienummer geselecteerd voor item: {}. Selecteer er een of verwijder deze om de transactie te voltooien.,
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Rij # {}: geen batch geselecteerd voor item: {}. Selecteer een batch of verwijder deze om de transactie te voltooien.,
Payment amount cannot be less than or equal to 0,Het betalingsbedrag mag niet lager zijn dan of gelijk zijn aan 0,
Please enter the phone number first,Voer eerst het telefoonnummer in,
Row #{}: {} {} does not exist.,Rij # {}: {} {} bestaat niet.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Rij # {0}: {1} is vereist om de openingsfacturen {2} te maken,
You had {} errors while creating opening invoices. Check {} for more details,U had {} fouten bij het maken van openingsfacturen. Kijk op {} voor meer details,
Error Occured,Fout opgetreden,
Opening Invoice Creation In Progress,Aanmaak van factuur wordt geopend,
Creating {} out of {} {},{} Creëren uit {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Serienummer: {0}) kan niet worden geconsumeerd omdat het is gereserveerd om verkooporder {1} te vervullen.,
Item {0} {1},Artikel {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Laatste voorraadtransactie voor artikel {0} onder magazijn {1} was op {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Voorraadtransacties voor artikel {0} onder magazijn {1} kunnen vóór deze tijd niet worden geboekt.,
Posting future stock transactions are not allowed due to Immutable Ledger,Het boeken van toekomstige aandelentransacties is niet toegestaan vanwege Immutable Ledger,
A BOM with name {0} already exists for item {1}.,Er bestaat al een stuklijst met naam {0} voor artikel {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Heeft u de naam van het item gewijzigd? Neem contact op met de beheerder / technische ondersteuning,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},Op rij # {0}: de reeks-ID {1} mag niet kleiner zijn dan de vorige rij-reeks-ID {2},
The {0} ({1}) must be equal to {2} ({3}),De {0} ({1}) moet gelijk zijn aan {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, voltooi de bewerking {1} vóór de bewerking {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,"Kan levering met serienummer niet garanderen, aangezien artikel {0} wordt toegevoegd met en zonder Levering met serienummer garanderen.",
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Artikel {0} heeft geen serienummer. Alleen artikelen met serienummer kunnen worden geleverd op basis van serienummer,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Geen actieve stuklijst gevonden voor artikel {0}. Levering met serienummer kan niet worden gegarandeerd,
No pending medication orders found for selected criteria,Geen lopende medicatiebestellingen gevonden voor geselecteerde criteria,
From Date cannot be after the current date.,Vanaf datum kan niet na de huidige datum liggen.,
To Date cannot be after the current date.,Tot datum kan niet na de huidige datum liggen.,
From Time cannot be after the current time.,Van tijd kan niet na de huidige tijd zijn.,
To Time cannot be after the current time.,To Time kan niet na de huidige tijd zijn.,
Stock Entry {0} created and ,Voorraadinvoer {0} gemaakt en,
Inpatient Medication Orders updated successfully,Orders voor intramurale medicatie zijn bijgewerkt,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Rij {0}: kan geen opname voor intramurale medicatie maken tegen geannuleerde medicatiebestelling voor intramurale patiënten {1},
Row {0}: This Medication Order is already marked as completed,Rij {0}: deze medicatiebestelling is al gemarkeerd als voltooid,
Quantity not available for {0} in warehouse {1},Hoeveelheid niet beschikbaar voor {0} in magazijn {1},
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Schakel Negatieve voorraad toestaan in Voorraadinstellingen in of maak voorraadinvoer om door te gaan.,
No Inpatient Record found against patient {0},Geen ziekenhuisrecord gevonden voor patiënt {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Er bestaat al een bestelling voor intramurale medicatie {0} tegen ontmoeting met de patiënt {1}.,
Allow In Returns,Sta in retouren toe,
Hide Unavailable Items,Verberg niet-beschikbare items,
Apply Discount on Discounted Rate,Korting op kortingstarief toepassen,
Therapy Plan Template,Therapieplan sjabloon,
Fetching Template Details,Sjabloondetails ophalen,
Linked Item Details,Gekoppelde itemdetails,
Therapy Types,Therapietypes,
Therapy Plan Template Detail,Details van sjabloon voor therapieplan,
Non Conformance,Niet-conformiteit,
Process Owner,Proces eigenaar,
Corrective Action,Corrigerende maatregelen,
Preventive Action,Preventieve maatregelen,
Problem,Probleem,
Responsible,Verantwoordelijk,
Completion By,Voltooiing door,
Process Owner Full Name,Volledige naam proceseigenaar,
Right Index,Rechter Index,
Left Index,Linker index,
Sub Procedure,Subprocedure,
Passed,Geslaagd,
Print Receipt,Printbon,
Edit Receipt,Bewerk ontvangstbewijs,
Focus on search input,Focus op zoekinvoer,
Focus on Item Group filter,Focus op artikelgroepfilter,
Checkout Order / Submit Order / New Order,Bestelling afrekenen / Bestelling plaatsen / Nieuwe bestelling,
Add Order Discount,Bestellingskorting toevoegen,
Item Code: {0} is not available under warehouse {1}.,Artikelcode: {0} is niet beschikbaar onder magazijn {1}.,
Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serienummers niet beschikbaar voor artikel {0} onder magazijn {1}. Probeer het magazijn te veranderen.,
Fetched only {0} available serial numbers.,Alleen {0} beschikbare serienummers opgehaald.,
Switch Between Payment Modes,Schakel tussen betalingsmodi,
Enter {0} amount.,Voer {0} bedrag in.,
You don't have enough points to redeem.,U heeft niet genoeg punten om in te wisselen.,
You can redeem upto {0}.,U kunt tot {0} inwisselen.,
Enter amount to be redeemed.,Voer het in te wisselen bedrag in.,
You cannot redeem more than {0}.,U kunt niet meer dan {0} inwisselen.,
Open Form View,Open formulierweergave,
POS invoice {0} created succesfully,POS-factuur {0} succesvol aangemaakt,
Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Voorraadhoeveelheid niet genoeg voor artikelcode: {0} onder magazijn {1}. Beschikbare hoeveelheid {2}.,
Serial No: {0} has already been transacted into another POS Invoice.,Serienummer: {0} is al verwerkt in een andere POS-factuur.,
Balance Serial No,Weegschaal serienr,
Warehouse: {0} does not belong to {1},Magazijn: {0} behoort niet tot {1},
Please select batches for batched item {0},Selecteer batches voor batchartikel {0},
Please select quantity on row {0},Selecteer het aantal op rij {0},
Please enter serial numbers for serialized item {0},Voer serienummers in voor artikelen met serienummer {0},
Batch {0} already selected.,Batch {0} is al geselecteerd.,
Please select a warehouse to get available quantities,Selecteer een magazijn om beschikbare hoeveelheden te krijgen,
"For transfer from source, selected quantity cannot be greater than available quantity",Voor overdracht vanaf de bron kan de geselecteerde hoeveelheid niet groter zijn dan de beschikbare hoeveelheid,
Cannot find Item with this Barcode,Kan item met deze streepjescode niet vinden,
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} is verplicht. Misschien is er geen valutawisselrecord gemaakt voor {1} tot {2},
{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} heeft items ingediend die eraan zijn gekoppeld. U moet de activa annuleren om een inkoopretour te creëren.,
Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Kan dit document niet annuleren omdat het is gekoppeld aan het ingediende item {0}. Annuleer het om door te gaan.,
Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rij # {}: serienummer {} is al verwerkt in een andere POS-factuur. Selecteer een geldig serienummer.,
Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rij # {}: serienummers {} is al verwerkt in een andere POS-factuur. Selecteer een geldig serienummer.,
Item Unavailable,Item niet beschikbaar,
Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rij # {}: serienummer {} kan niet worden geretourneerd omdat deze niet is verwerkt in de originele factuur {},
Please set default Cash or Bank account in Mode of Payment {},Stel een standaard contant of bankrekening in in Betalingsmethode {},
Please set default Cash or Bank account in Mode of Payments {},Stel standaard contant geld of bankrekening in in Betalingsmethode {},
Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Zorg ervoor dat de {} rekening een balansrekening is. U kunt de bovenliggende rekening wijzigen in een balansrekening of een andere rekening selecteren.,
Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Zorg ervoor dat {} rekening een te betalen rekening is. Wijzig het rekeningtype in Betaalbaar of selecteer een andere rekening.,
Row {}: Expense Head changed to {} ,Rij {}: uitgavenkop gewijzigd in {},
because account {} is not linked to warehouse {} ,omdat account {} niet is gekoppeld aan magazijn {},
or it is not the default inventory account,of het is niet de standaard voorraadrekening,
Expense Head Changed,Uitgavenhoofd gewijzigd,
because expense is booked against this account in Purchase Receipt {},omdat onkosten worden geboekt op deze rekening in Aankoopbewijs {},
as no Purchase Receipt is created against Item {}. ,aangezien er geen aankoopbewijs wordt aangemaakt voor artikel {}.,
This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Dit wordt gedaan om de boekhouding af te handelen voor gevallen waarin inkoopontvangst wordt aangemaakt na inkoopfactuur,
Purchase Order Required for item {},Inkooporder vereist voor artikel {},
To submit the invoice without purchase order please set {} ,Stel {} in om de factuur in te dienen zonder inkooporder,
as {} in {},als in {},
Mandatory Purchase Order,Verplichte inkooporder,
Purchase Receipt Required for item {},Aankoopbewijs vereist voor artikel {},
To submit the invoice without purchase receipt please set {} ,Stel {} in om de factuur zonder aankoopbewijs in te dienen,
Mandatory Purchase Receipt,Verplichte aankoopbon,
POS Profile {} does not belongs to company {},POS-profiel {} behoort niet tot bedrijf {},
User {} is disabled. Please select valid user/cashier,Gebruiker {} is uitgeschakeld. Selecteer een geldige gebruiker / kassier,
Row #{}: Original Invoice {} of return invoice {} is {}. ,Rij # {}: originele factuur {} van retourfactuur {} is {}.,
Original invoice should be consolidated before or along with the return invoice.,De originele factuur moet vóór of samen met de retourfactuur worden geconsolideerd.,
You can add original invoice {} manually to proceed.,U kunt de originele factuur {} handmatig toevoegen om door te gaan.,
Please ensure {} account is a Balance Sheet account. ,Zorg ervoor dat de {} rekening een balansrekening is.,
You can change the parent account to a Balance Sheet account or select a different account.,U kunt de bovenliggende rekening wijzigen in een balansrekening of een andere rekening selecteren.,
Please ensure {} account is a Receivable account. ,Zorg ervoor dat {} rekening een te ontvangen rekening is.,
Change the account type to Receivable or select a different account.,Wijzig het rekeningtype in Te ontvangen of selecteer een andere rekening.,
{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} kan niet worden geannuleerd omdat de verdiende loyaliteitspunten zijn ingewisseld. Annuleer eerst de {} Nee {},
already exists,bestaat al,
POS Closing Entry {} against {} between selected period,POS-sluitingsinvoer {} tegen {} tussen geselecteerde periode,
POS Invoice is {},POS-factuur is {},
POS Profile doesn't matches {},POS-profiel komt niet overeen met {},
POS Invoice is not {},POS-factuur is niet {},
POS Invoice isn't created by user {},POS-factuur is niet gemaakt door gebruiker {},
Row #{}: {},Rij # {}: {},
Invalid POS Invoices,Ongeldige POS-facturen,
Please add the account to root level Company - {},Voeg het account toe aan Bedrijf op hoofdniveau - {},
"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Bij het maken van een account voor het onderliggende bedrijf {0}, is het bovenliggende account {1} niet gevonden. Maak het ouderaccount aan in het bijbehorende COA",
Account Not Found,Account niet gevonden,
"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Bij het aanmaken van een account voor kindbedrijf {0}, werd bovenliggende account {1} gevonden als grootboekrekening.",
Please convert the parent account in corresponding child company to a group account.,Converteer het bovenliggende account in het corresponderende onderliggende bedrijf naar een groepsaccount.,
Invalid Parent Account,Ongeldig ouderaccount,
"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Hernoemen is alleen toegestaan via moederbedrijf {0}, om mismatch te voorkomen.",
"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Als u {0} {1} hoeveelheden van het artikel {2} heeft, wordt het schema {3} op het artikel toegepast.",
"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Als u {0} {1} artikel waard {2} bent, wordt het schema {3} op het artikel toegepast.",
"As the field {0} is enabled, the field {1} is mandatory.","Aangezien het veld {0} is ingeschakeld, is het veld {1} verplicht.",
"As the field {0} is enabled, the value of the field {1} should be more than 1.","Aangezien het veld {0} is ingeschakeld, moet de waarde van het veld {1} groter zijn dan 1.",
Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Kan serienummer {0} van artikel {1} niet leveren, aangezien het is gereserveerd om verkooporder {2} te vervullen",
"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Verkooporder {0} heeft een reservering voor het artikel {1}, u kunt alleen gereserveerd leveren {1} tegen {0}.",
{0} Serial No {1} cannot be delivered,{0} Serienummer {1} kan niet worden geleverd,
Row {0}: Subcontracted Item is mandatory for the raw material {1},Rij {0}: uitbesteed artikel is verplicht voor de grondstof {1},
"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Aangezien er voldoende grondstoffen zijn, is materiaalaanvraag niet vereist voor Warehouse {0}.",
" If you still want to proceed, please enable {0}.",Schakel {0} in als u toch wilt doorgaan.,
The item referenced by {0} - {1} is already invoiced,"Het artikel waarnaar wordt verwezen door {0} - {1}, is al gefactureerd",
Therapy Session overlaps with {0},Therapiesessie overlapt met {0},
Therapy Sessions Overlapping,Therapiesessies overlappen elkaar,
Therapy Plans,Therapieplannen,
"Item Code, warehouse, quantity are required on row {0}","Artikelcode, magazijn, aantal zijn vereist op rij {0}",
Get Items from Material Requests against this Supplier,Artikelen ophalen van materiaalverzoeken tegen deze leverancier,
Enable European Access,Schakel Europese toegang in,
Creating Purchase Order ...,Inkooporder creëren ...,
"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.",Selecteer een leverancier uit de standaardleveranciers van de onderstaande items. Bij selectie wordt er alleen een inkooporder gemaakt voor artikelen van de geselecteerde leverancier.,
Row #{}: You must select {} serial numbers for item {}.,Rij # {}: u moet {} serienummers voor artikel {} selecteren.,
