"""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}: 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 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}: Quantity for Item {1} cannot be zero.,Rij # {0}: Artikelhoeveelheid voor item {1} kan niet nul zijn.,
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,
