"""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 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,
Annual Billing: {0},Jaarlijkse Billing: {0},
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,
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 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,
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 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 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,
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 / 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:",
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 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,
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 FB 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,
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,
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,
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,
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,
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,
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,
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,
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)",
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,
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,
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 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 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 {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,
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 Type,Referentie Type,
"Reference: {0}, Item Code: {1} and Customer: {2}","Referentie: {0}, Artikelcode: {1} en Klant: {2}",
References,Referenties,
Refresh Token,Vernieuwen Token,
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 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-verzoek,
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 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,
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,
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 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 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 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,
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 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,
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 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,
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,
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,
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 enough 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 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,
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,
Import,Importeren,
Language,Taal,
Likes,Sympathieën,
Merge with existing,Samenvoegen met bestaande,
Orientation,oriëntering,
Parent,Bovenliggend,
Payment Failed,Betaling mislukt,
Personal,Persoonlijk,
Post,Bericht,
Postal Code,Postcode,
Provider,leverancier,
Read Only,Alleen lezen,
Recipient,Ontvanger,
Reviews,beoordelingen,
Sender,Afzender,
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},
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,
From Date,Van Datum,
Group By,Groeperen op,
Invalid URL,Ongeldige URL,
Landscape,Landschap,
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,
% 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 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,
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,
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,
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,
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,
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
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 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,
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 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 Meta Tags,Stel metatags in,
Set {0} in company {1},Stel {0} in bedrijf {1} in,
Setup,Instellingen,
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 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 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} 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,
Clear,Doorzichtig,
Comments,Reacties,
DocType,DocType,
Download,Downloaden,
Left,Links,
Link,Koppeling,
New,Nieuw,
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,
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,
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 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 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,
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,
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 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,
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,
Update Series,Reeksen bijwerken,
Change the starting / current sequence number of an existing series.,Wijzig het start-/ huidige volgnummer van een bestaande serie.,
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 overridden,Geldt ook voor varianten tenzij overridden,
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,
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:,
Is Mandatory,Is verplicht,
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,
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,
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,
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.,
Add Comment,Reactie toevoegen,
More...,Meer...,
Notes,Opmerkingen,
Payment Gateway,Payment Gateway,
Payment Gateway Name,Payment Gateway Name,
Payments,Betalingen,
Plan Name,Plan naam,
Portal,Portaal,
Scan Barcode,Scan barcode,
Some information is missing,Sommige informatie ontbreekt,
Successful,geslaagd,
Tools,Tools,
Use Sandbox,Gebruik Sandbox,
Busy,Bezig,
Completed By,Afgemaakt door,
Payment Failed,Betaling mislukt,
Column {0},Kolom {0},
Field Mapping,Veldtoewijzing,
Not Specified,Niet gespecificeerd,
Update Type,Update Type,
Dr,Dr,
End Time,Eindtijd,
Fetching...,Ophalen ...,
"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.",
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.,
Master,Stam,
Pay,Betalen,
You can also copy-paste this link in your browser,U kunt deze link ook kopiëren en plakken in uw browser,
Verified By,Geverifieerd door,
Invalid naming series (. missing) for {0},Ongeldige naamreeks (. Ontbreekt) voor {0},
Phone Number,Telefoonnummer,
Account SID,Account SID,
Global Defaults,Global Standaardwaarden,
Is Mandatory,Is verplicht,
WhatsApp,WhatsApp,
Make a call,Bellen,
Approve,Goedkeuren,
Reject,afwijzen,
