"""Customer Provided Item"" cannot be Purchase Item also",&quot;Klant voorsien artikel&quot; kan ook nie die aankoopitem wees nie,
"""Customer Provided Item"" cannot have Valuation Rate",&quot;Klant voorsien artikel&quot; kan nie &#39;n waardasiekoers hê nie,
"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","&quot;Is Vaste Bate&quot; kan nie afgeskakel word nie, aangesien Bate-rekord teen die item bestaan",
'Based On' and 'Group By' can not be same,&#39;Gebaseer op&#39; en &#39;Groepeer&#39; kan nie dieselfde wees nie,
'Days Since Last Order' must be greater than or equal to zero,&#39;Dae sedert Laaste bestelling&#39; moet groter as of gelyk wees aan nul,
'Entries' cannot be empty,&#39;Inskrywings&#39; kan nie leeg wees nie,
'From Date' is required,&#39;Vanaf datum&#39; word vereis,
'From Date' must be after 'To Date',&#39;Vanaf datum&#39; moet na &#39;tot datum&#39; wees,
'Has Serial No' can not be 'Yes' for non-stock item,&#39;Het &#39;n serienummer&#39; kan nie &#39;Ja&#39; wees vir nie-voorraaditem,
'Opening',&#39;Oopmaak&#39;,
'To Case No.' cannot be less than 'From Case No.',&#39;Na saak nommer&#39; kan nie minder wees as &#39;Van Saaknommer&#39; nie.,
'To Date' is required,&#39;Tot datum&#39; word vereis,
'Total',&#39;Totale&#39;,
'Update Stock' can not be checked because items are not delivered via {0},&#39;Op Voorraad Voorraad&#39; kan nie nagegaan word nie omdat items nie afgelewer word via {0},
'Update Stock' cannot be checked for fixed asset sale,&#39;Op Voorraad Voorraad&#39; kan nie gekontroleer word vir vaste bateverkope nie,
1 exact match.,1 presiese wedstryd.,
90-Above,90-Bo,
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"&#39;N Kliëntegroep bestaan met dieselfde naam, verander asseblief die Kliënt se naam of die naam van die Kliëntegroep",
A Default Service Level Agreement already exists.,Daar is reeds &#39;n standaarddiensooreenkoms.,
A Lead requires either a person's name or an organization's name,&#39;N Lead benodig óf &#39;n persoon se naam óf &#39;n organisasie se naam,
A customer with the same name already exists,Daar bestaan reeds &#39;n kliënt met dieselfde naam,
A question must have more than one options,&#39;N Vraag moet meer as een opsies hê,
A qustion must have at least one correct options,&#39;N Kwessie moet ten minste een korrekte opsie hê,
A4,A4,
API Endpoint,API eindpunt,
API Key,API sleutel,
Abbr can not be blank or space,Abbr kan nie leeg of spasie wees nie,
Abbreviation already used for another company,Afkorting is reeds vir &#39;n ander maatskappy gebruik,
Abbreviation cannot have more than 5 characters,Afkorting kan nie meer as 5 karakters hê nie,
Abbreviation is mandatory,Afkorting is verpligtend,
About the Company,Oor die maatskappy,
About your company,Oor jou maatskappy,
Above,Bo,
Academic Term,Akademiese Termyn,
Academic Term: ,Akademiese kwartaal:,
Academic Year,Akademiese jaar,
Academic Year: ,Akademiese jaar:,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Aanvaarde + Afgekeurde hoeveelheid moet gelyk wees aan Ontvang hoeveelheid vir Item {0},
Access Token,Toegangspunt,
Accessable Value,Toegangswaarde,
Account,rekening,
Account Number,Rekening nommer,
Account Number {0} already used in account {1},Rekeningnommer {0} reeds in rekening gebruik {1},
Account Pay Only,Slegs rekeninge betaal,
Account Type,Soort Rekening,
Account Type for {0} must be {1},Rekening Tipe vir {0} moet {1} wees,
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Rekeningbalans reeds in Krediet, jy mag nie &#39;Balans moet wees&#39; as &#39;Debiet&#39; stel nie.",
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Rekeningbalans reeds in Debiet, jy mag nie &#39;Balans moet wees&#39; as &#39;Krediet&#39;",
Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Rekeningnommer vir rekening {0} is nie beskikbaar nie. <br> Stel asseblief u Kaart van Rekeninge korrek op.,
Account with child nodes cannot be converted to ledger,Rekening met kinder nodusse kan nie na grootboek omgeskakel word nie,
Account with child nodes cannot be set as ledger,Rekening met kinder nodusse kan nie as grootboek gestel word nie,
Account with existing transaction can not be converted to group.,Rekening met bestaande transaksie kan nie na groep omskep word nie.,
Account with existing transaction can not be deleted,Rekening met bestaande transaksie kan nie uitgevee word nie,
Account with existing transaction cannot be converted to ledger,Rekening met bestaande transaksie kan nie na grootboek omskep word nie,
Account {0} does not belong to company: {1},Rekening {0} behoort nie aan maatskappy nie: {1},
Account {0} does not belongs to company {1},Rekening {0} behoort nie aan maatskappy {1},
Account {0} does not exist,Rekening {0} bestaan nie,
Account {0} does not exists,Rekening {0} bestaan nie,
Account {0} does not match with Company {1} in Mode of Account: {2},Rekening {0} stem nie ooreen met Maatskappy {1} in rekeningmodus nie: {2},
Account {0} has been entered multiple times,Rekening {0} is verskeie kere ingevoer,
Account {0} is added in the child company {1},Rekening {0} word by die kinderonderneming {1} gevoeg,
Account {0} is frozen,Rekening {0} is gevries,
Account {0} is invalid. Account Currency must be {1},Rekening {0} is ongeldig. Rekeninggeldeenheid moet {1} wees,
Account {0}: Parent account {1} can not be a ledger,Rekening {0}: Ouerrekening {1} kan nie &#39;n grootboek wees nie,
Account {0}: Parent account {1} does not belong to company: {2},Rekening {0}: Ouerrekening {1} behoort nie aan maatskappy nie: {2},
Account {0}: Parent account {1} does not exist,Rekening {0}: Ouerrekening {1} bestaan nie,
Account {0}: You can not assign itself as parent account,Rekening {0}: Jy kan nie homself as ouerrekening toewys nie,
Account: {0} can only be updated via Stock Transactions,Rekening: {0} kan slegs deur voorraadtransaksies opgedateer word,
Account: {0} with currency: {1} can not be selected,Rekening: {0} met valuta: {1} kan nie gekies word nie,
Accountant,rekenmeester,
Accounting,Rekeningkunde,
Accounting Entry for Asset,Rekeningkundige Inskrywing vir Bate,
Accounting Entry for Stock,Rekeningkundige Inskrywing vir Voorraad,
Accounting Entry for {0}: {1} can only be made in currency: {2},Rekeningkundige Inskrywing vir {0}: {1} kan slegs in valuta gemaak word: {2},
Accounting Ledger,Rekeningkunde Grootboek,
Accounting journal entries.,Rekeningkundige joernaalinskrywings,
Accounts,rekeninge,
Accounts Manager,Rekeningbestuurder,
Accounts Payable,Rekeninge betaalbaar,
Accounts Payable Summary,Rekeninge betaalbare opsomming,
Accounts Receivable,Rekeninge ontvangbaar,
Accounts Receivable Summary,Rekeninge Ontvangbare Opsomming,
Accounts User,Rekeninge gebruiker,
Accounts table cannot be blank.,Rekeningtabel kan nie leeg wees nie.,
Accumulated Depreciation,Opgehoopte waardevermindering,
Accumulated Depreciation Amount,Opgehoopte Waardevermindering Bedrag,
Accumulated Depreciation as on,Opgehoopte waardevermindering soos op,
Accumulated Monthly,Opgehoop maandeliks,
Accumulated Values,Opgehoopte Waardes,
Accumulated Values in Group Company,Opgelope Waardes in Groepmaatskappy,
Achieved ({}),Bereik ({}),
Action,aksie,
Action Initialised,Aksie geïnisieel,
Actions,aksies,
Active,aktiewe,
Activity Cost exists for Employee {0} against Activity Type - {1},Aktiwiteitskoste bestaan vir Werknemer {0} teen Aktiwiteitstipe - {1},
Activity Cost per Employee,Aktiwiteitskoste per werknemer,
Activity Type,Aktiwiteitstipe,
Actual Cost,Werklike Koste,
Actual Delivery Date,Werklike Afleweringsdatum,
Actual Qty,Werklike hoeveelheid,
Actual Qty is mandatory,Werklike hoeveelheid is verpligtend,
Actual Qty {0} / Waiting Qty {1},Werklike Aantal {0} / Wagende Aantal {1},
Actual Qty: Quantity available in the warehouse.,Werklike Aantal: Hoeveelheid beskikbaar in die pakhuis.,
Actual qty in stock,Werklike hoeveelheid in voorraad,
Actual type tax cannot be included in Item rate in row {0},Werklike tipe belasting kan nie in Itemkoers in ry {0} ingesluit word nie.,
Add,Voeg,
Add / Edit Prices,Voeg pryse by,
Add Comment,Voeg kommentaar by,
Add Customers,Voeg kliënte by,
Add Employees,Voeg werknemers by,
Add Item,Voeg Item by,
Add Items,Voeg items by,
Add Leads,Voeg Leads by,
Add Multiple Tasks,Voeg verskeie take by,
Add Sales Partners,Voeg verkoopsvennote by,
Add Serial No,Voeg serienommer by,
Add Students,Voeg studente by,
Add Suppliers,Voeg verskaffers by,
Add Time Slots,Voeg tydgleuwe by,
Add Timesheets,Voeg Timesheets by,
Add Timeslots,Voeg tydslaaie by,
Add Users to Marketplace,Voeg gebruikers by die Marktplaats,
Add a new address,Voeg &#39;n nuwe adres by,
Add cards or custom sections on homepage,Voeg kaarte of persoonlike afdelings op die tuisblad by,
Add more items or open full form,Voeg meer items by of maak volledige vorm oop,
Add notes,Voeg aantekeninge by,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Voeg die res van jou organisasie as jou gebruikers by. U kan ook uitnodigingskliënte by u portaal voeg deur dit by kontakte te voeg,
Add/Remove Recipients,Voeg / verwyder ontvangers,
Added,bygevoeg,
Added {0} users,Bygevoeg {0} gebruikers,
Additional Salary Component Exists.,Bykomende salarisonderdele bestaan.,
Address,adres,
Address Line 2,Adreslyn 2,
Address Name,Adres Naam,
Address Title,Adres Titel,
Address Type,Adres tipe,
Administrative Expenses,Administratiewe uitgawes,
Administrative Officer,Administratiewe Beampte,
Administrator,administrateur,
Admission,Toegang,
Admission and Enrollment,Toelating en inskrywing,
Admissions for {0},Toelating vir {0},
Admit,erken,
Admitted,toegelaat,
Advance Amount,Voorskotbedrag,
Advance Payments,Vooruitbetalings,
Advance account currency should be same as company currency {0},Vorderingsrekening geldeenheid moet dieselfde wees as maatskappy geldeenheid {0},
Advance amount cannot be greater than {0} {1},Voorskotbedrag kan nie groter wees as {0} {1},
Advertising,Advertising,
Aerospace,Ruimte,
Against,teen,
Against Account,Teen rekening,
Against Journal Entry {0} does not have any unmatched {1} entry,Teen Joernaal Inskrywing {0} het geen ongeëwenaarde {1} inskrywing nie,
Against Journal Entry {0} is already adjusted against some other voucher,Teen Joernaal-inskrywing {0} is reeds aangepas teen &#39;n ander bewysstuk,
Against Supplier Invoice {0} dated {1},Teen Verskafferfaktuur {0} gedateer {1},
Against Voucher,Teen Voucher,
Against Voucher Type,Teen Voucher Tipe,
Age,ouderdom,
Age (Days),Ouderdom (Dae),
Ageing Based On,Veroudering gebaseer op,
Ageing Range 1,Veroudering Reeks 1,
Ageing Range 2,Veroudering Reeks 2,
Ageing Range 3,Veroudering Reeks 3,
Agriculture,Landbou,
Agriculture (beta),Landbou (beta),
Airline,lugredery,
All Accounts,Alle rekeninge,
All Addresses.,Alle adresse.,
All Assessment Groups,Alle assesseringsgroepe,
All BOMs,Alle BOM&#39;s,
All Contacts.,Alle kontakte.,
All Customer Groups,Alle kliënte groepe,
All Day,Heeldag,
All Departments,Alle Departemente,
All Healthcare Service Units,Alle Gesondheidsorg Diens Eenhede,
All Item Groups,Alle Itemgroepe,
All Products,Alle produkte,
All Products or Services.,Alle Produkte of Dienste.,
All Student Admissions,Alle Studentetoelatings,
All Supplier Groups,Alle Verskaffersgroepe,
All Supplier scorecards.,Alle verskaffer scorecards.,
All Territories,Alle gebiede,
All Warehouses,Alle pakhuise,
All communications including and above this shall be moved into the new Issue,Alle kommunikasie insluitend en hierbo sal in die nuwe Uitgawe verskuif word,
All items have already been transferred for this Work Order.,Alle items is reeds vir hierdie werkorder oorgedra.,
All other ITC,Alle ander ITC,
All the mandatory Task for employee creation hasn't been done yet.,Al die verpligte taak vir werkskepping is nog nie gedoen nie.,
Allocate Payment Amount,Ken die betaling bedrag toe,
Allocated Amount,Toegewysde bedrag,
Allocating leaves...,Toekenning van blare ...,
Already record exists for the item {0},Reeds bestaan rekord vir die item {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Stel reeds standaard in posprofiel {0} vir gebruiker {1}, vriendelik gedeaktiveer",
Alternate Item,Alternatiewe Item,
Alternative item must not be same as item code,Alternatiewe item mag nie dieselfde wees as die itemkode nie,
Amended From,Gewysig Van,
Amount,bedrag,
Amount After Depreciation,Bedrag na waardevermindering,
Amount of Integrated Tax,Bedrag van die geïntegreerde belasting,
Amount of TDS Deducted,Bedrag van TDS afgetrek,
Amount should not be less than zero.,Die bedrag moet nie minder as nul wees nie.,
Amount to Bill,Bedrag aan rekening,
Amount {0} {1} against {2} {3},Bedrag {0} {1} teen {2} {3},
Amount {0} {1} deducted against {2},Bedrag {0} {1} afgetrek teen {2},
Amount {0} {1} transferred from {2} to {3},Bedrag {0} {1} oorgedra vanaf {2} na {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","&#39;N Itemgroep bestaan met dieselfde naam, verander die itemnaam of verander die naamgroep",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,&#39;N Akademiese term met hierdie&#39; Akademiese Jaar &#39;{0} en&#39; Termynnaam &#39;{1} bestaan reeds. Verander asseblief hierdie inskrywings en probeer weer.,
An error occurred during the update process,&#39;N Fout het voorgekom tydens die opdateringsproses,
"An item exists with same name ({0}), please change the item group name or rename the item","&#39;N Item bestaan met dieselfde naam ({0}), verander asseblief die itemgroepnaam of hernoem die item",
Analyst,ontleder,
Annual Billing: {0},Jaarlikse faktuur: {0},
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Nog &#39;n begroting rekord &#39;{0}&#39; bestaan reeds teen {1} &#39;{2}&#39; en rekening &#39;{3}&#39; vir fiskale jaar {4},
Another Period Closing Entry {0} has been made after {1},&#39;N Ander periode sluitingsinskrywing {0} is gemaak na {1},
Another Sales Person {0} exists with the same Employee id,Nog &#39;n verkoopspersoon {0} bestaan uit dieselfde werknemer-ID,
Antibiotic,antibiotika,
Apparel & Accessories,Auto &amp; Toebehore,
Applicable For,Toepaslik vir,
"Applicable if the company is SpA, SApA or SRL","Van toepassing as die onderneming SpA, SApA of SRL is",
Applicable if the company is a limited liability company,Van toepassing indien die maatskappy &#39;n maatskappy met beperkte aanspreeklikheid is,
Applicable if the company is an Individual or a Proprietorship,Van toepassing indien die onderneming &#39;n individu of &#39;n eiendomsreg is,
Application of Funds (Assets),Toepassing van fondse (bates),
Applied,Toegepaste,
Appointment Confirmation,Aanstelling Bevestiging,
Appointment Duration (mins),Aanstelling Tydsduur (mins),
Appointment Type,Aanstellingstipe,
Appointment {0} and Sales Invoice {1} cancelled,Aanstelling {0} en Verkoopfaktuur {1} gekanselleer,
Appointments and Encounters,Aanstellings en ontmoetings,
Appointments and Patient Encounters,Aanstellings en pasiente,
Appraisal {0} created for Employee {1} in the given date range,Evaluering {0} geskep vir Werknemer {1} in die gegewe datumreeks,
Approving Role cannot be same as role the rule is Applicable To,Goedkeurende rol kan nie dieselfde wees as die rol waarvan die reël van toepassing is op,
Approving User cannot be same as user the rule is Applicable To,Gebruiker kan nie dieselfde wees as gebruiker waarvan die reël van toepassing is op,
"Apps using current key won't be able to access, are you sure?","Programme wat die huidige sleutel gebruik, sal nie toegang hê nie, is jy seker?",
Are you sure you want to cancel this appointment?,Is jy seker jy wil hierdie afspraak kanselleer?,
Arrear,agterstallige,
As Examiner,As eksaminator,
As On Date,Soos op datum,
As Supervisor,As Toesighouer,
As per rules 42 & 43 of CGST Rules,Volgens reëls 42 en 43 van CGST-reëls,
As per section 17(5),Soos per artikel 17 (5),
Assessment,assessering,
Assessment Criteria,Assesseringskriteria,
Assessment Group,Assesseringsgroep,
Assessment Group: ,Assesseringsgroep:,
Assessment Plan,Assesseringsplan,
Assessment Plan Name,Assesseringsplan Naam,
Assessment Report,Assesseringsverslag,
Assessment Reports,Assesseringsverslae,
Assessment Result,Assesseringsuitslag,
Assessment Result record {0} already exists.,Assesseringsresultaat rekord {0} bestaan reeds.,
Asset,bate,
Asset Category,Asset Kategorie,
Asset Category is mandatory for Fixed Asset item,Bate-kategorie is verpligtend vir vaste bate-item,
Asset Maintenance,Bate Onderhoud,
Asset Movement,Batebeweging,
Asset Movement record {0} created,Bate Beweging rekord {0} geskep,
Asset Name,Bate Naam,
Asset Received But Not Billed,Bate ontvang maar nie gefaktureer nie,
Asset Value Adjustment,Batewaarde aanpassing,
"Asset cannot be cancelled, as it is already {0}","Bate kan nie gekanselleer word nie, want dit is reeds {0}",
Asset scrapped via Journal Entry {0},Bate geskrap via Joernaal Inskrywing {0},
"Asset {0} cannot be scrapped, as it is already {1}","Bate {0} kan nie geskrap word nie, want dit is reeds {1}",
Asset {0} does not belong to company {1},Bate {0} behoort nie aan maatskappy {1},
Asset {0} must be submitted,Bate {0} moet ingedien word,
Assets,bates,
Assign To,Toewys aan,
Associate,Mede,
At least one mode of payment is required for POS invoice.,Ten minste een manier van betaling is nodig vir POS faktuur.,
Atleast one item should be entered with negative quantity in return document,Ten minste een item moet ingevul word met negatiewe hoeveelheid in ruil dokument,
Atleast one of the Selling or Buying must be selected,Ten minste een van die verkope of koop moet gekies word,
Atleast one warehouse is mandatory,Ten minste een pakhuis is verpligtend,
Attach Logo,Heg Logo aan,
Attachment,Attachment,
Attachments,aanhegsels,
Attendance can not be marked for future dates,Bywoning kan nie vir toekomstige datums gemerk word nie,
Attendance date can not be less than employee's joining date,Bywoningsdatum kan nie minder wees as werknemer se toetredingsdatum nie,
Attendance for employee {0} is already marked,Bywoning vir werknemer {0} is reeds gemerk,
Attendance has been marked successfully.,Bywoning is suksesvol gemerk.,
Attendance not submitted for {0} as {1} on leave.,Bywoning is nie vir {0} as {1} op verlof ingedien nie.,
Attribute table is mandatory,Eienskapstabel is verpligtend,
Attribute {0} selected multiple times in Attributes Table,Attribuut {0} het verskeie kere gekies in Attributes Table,
Authorized Signatory,Gemagtigde ondertekenaar,
Auto Material Requests Generated,Outomatiese Materiaal Versoeke Genereer,
Auto Repeat,Outo Herhaal,
Auto repeat document updated,Outo-herhaal dokument opgedateer,
Automotive,Automotive,
Available,beskikbaar,
Available Qty,Beskikbare hoeveelheid,
Available Selling,Beskikbaar verkoop,
Available for use date is required,Beskikbaar vir gebruik datum is nodig,
Available slots,Beskikbare slots,
Available {0},Beskikbaar {0},
Available-for-use Date should be after purchase date,Beskikbaar vir gebruik Datum moet na aankoopdatum wees,
Average Age,Gemiddelde ouderdom,
Average Rate,Gemiddelde koers,
Avg Daily Outgoing,Gem Daagliks Uitgaande,
Avg. Buying Price List Rate,Gem. Kooppryslys,
Avg. Selling Price List Rate,Gem. Verkooppryslys,
Avg. Selling Rate,Gem. Verkoopprys,
BOM,BOM,
BOM Browser,BOM Browser,
BOM No,BOM Nr,
BOM Rate,BOM-koers,
BOM Stock Report,BOM Voorraad Verslag,
BOM and Manufacturing Quantity are required,BOM en Vervaardiging Hoeveelhede word benodig,
BOM does not contain any stock item,BOM bevat geen voorraaditem nie,
BOM {0} does not belong to Item {1},BOM {0} behoort nie aan item {1},
BOM {0} must be active,BOM {0} moet aktief wees,
BOM {0} must be submitted,BOM {0} moet ingedien word,
Balance,balans,
Balance (Dr - Cr),Saldo (Dr - Cr),
Balance ({0}),Saldo ({0}),
Balance Qty,Saldo Aantal,
Balance Sheet,Balansstaat,
Balance Value,Balanswaarde,
Balance for Account {0} must always be {1},Saldo vir rekening {0} moet altyd {1} wees,
Bank,Bank,
Bank Account,Bankrekening,
Bank Accounts,Bank rekeninge,
Bank Draft,Bank Konsep,
Bank Name,Bank Naam,
Bank Overdraft Account,Bankoortrekkingsrekening,
Bank Reconciliation,Bankversoening,
Bank Reconciliation Statement,Bankversoeningstaat,
Bank Statement,Bankstaat,
Bank Statement Settings,Bankstaatinstellings,
Bank Statement balance as per General Ledger,Bankstaatbalans soos per Algemene Grootboek,
Bank account cannot be named as {0},Bankrekening kan nie as {0} genoem word nie.,
Bank/Cash transactions against party or for internal transfer,Bank / Kontant transaksies teen party of vir interne oordrag,
Banking,Banking,
Banking and Payments,Bankdienste en betalings,
Barcode {0} already used in Item {1},Barcode {0} wat reeds in item {1} gebruik is,
Barcode {0} is not a valid {1} code,Barcode {0} is nie &#39;n geldige {1} kode,
Base URL,Basis-URL,
Based On,Gebaseer op,
Based On Payment Terms,Gebaseer op betalingsvoorwaardes,
Batch,batch,
Batch Entries,Joernaalinskrywings,
Batch ID is mandatory,Lotnommer is verpligtend,
Batch Inventory,Batch Inventory,
Batch Name,Joernaal,
Batch No,Lotnommer,
Batch number is mandatory for Item {0},Lotnommer is verpligtend vir Item {0},
Batch {0} of Item {1} has expired.,Batch {0} van Item {1} is verval.,
Batch {0} of Item {1} is disabled.,Batch {0} van Item {1} is gedeaktiveer.,
Batch: ,joernaal:,
Batches,groepe,
Become a Seller,Word &#39;n Verkoper,
Bill,Bill,
Bill Date,Rekeningdatum,
Bill No,Rekening No,
Bill of Materials,Handleiding,
Bill of Materials (BOM),Wetsontwerp (BOM),
Billable Hours,Faktureerbare ure,
Billed,billed,
Billed Amount,Gefactureerde bedrag,
Billing Address,Rekeningadres,
Billing Address is same as Shipping Address,Faktuuradres is dieselfde as afleweringsadres,
Billing Amount,Rekening Bedrag,
Billing Status,Rekeningstatus,
Billing currency must be equal to either default company's currency or party account currency,Faktureer geldeenheid moet gelyk wees aan óf die standaardmaatskappy se geldeenheid- of partyrekeninggeldeenheid,
Bills raised by Suppliers.,Wetsontwerpe wat deur verskaffers ingesamel word.,
Bills raised to Customers.,Wetsontwerpe wat aan kliënte gehef word.,
Biotechnology,biotegnologie,
Black,Swart,
Blanket Orders from Costumers.,Kombersbestellings van klante.,
Block Invoice,Blokfaktuur,
Boms,BOMs,
Both Trial Period Start Date and Trial Period End Date must be set,Beide proefperiode begin datum en proeftydperk einddatum moet ingestel word,
Both Warehouse must belong to same Company,Beide pakhuise moet aan dieselfde maatskappy behoort,
Branch,tak,
Broadcasting,uitsaai,
Brokerage,makelaars,
Browse BOM,Blaai deur BOM,
Budget Against,Begroting teen,
Budget List,Begrotingslys,
Budget Variance Report,Begrotingsverskilverslag,
Budget cannot be assigned against Group Account {0},Begroting kan nie toegeken word teen Groeprekening {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Begroting kan nie teen {0} toegewys word nie, aangesien dit nie &#39;n Inkomste- of Uitgawe-rekening is nie",
Buildings,geboue,
Bundle items at time of sale.,Bundel items op die tyd van verkoop.,
Business Development Manager,Besigheids Ontwikkelings Bestuurder,
Buy,koop,
Buying,koop,
Buying Amount,Koopbedrag,
Buying Price List,Kooppryslys,
Buying Rate,Koopkoers,
"Buying must be checked, if Applicable For is selected as {0}","Koop moet gekontroleer word, indien toepaslik vir is gekies as {0}",
By {0},Teen {0},
Bypass credit check at Sales Order ,Bypass krediet tjek by verkope bestelling,
C-Form records,C-vorm rekords,
C-form is not applicable for Invoice: {0},C-vorm is nie van toepassing op faktuur nie: {0},
CEO,hoof uitvoerende beampte,
CESS Amount,CESS Bedrag,
CGST Amount,CGST Bedrag,
CRM,CRM,
CWIP Account,CWIP rekening,
Calculated Bank Statement balance,Berekende Bankstaatbalans,
Campaign,veldtog,
Can be approved by {0},Kan goedgekeur word deur {0},
"Can not filter based on Account, if grouped by Account","Kan nie filter op grond van rekening, indien gegroepeer volgens rekening nie",
"Can not filter based on Voucher No, if grouped by Voucher","Kan nie filter gebaseer op Voucher No, indien gegroepeer deur Voucher",
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Kan nie binnepasiëntrekord ontbloot nie, daar is onbillike fakture {0}",
Can only make payment against unbilled {0},Kan slegs betaling teen onbillike {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Kan slegs ry verwys as die lading tipe &#39;Op vorige rybedrag&#39; of &#39;Vorige ry totaal&#39; is,
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Kan nie die waarderingsmetode verander nie, aangesien daar transaksies is teen sommige items wat nie sy eie waarderingsmetode het nie",
Can't create standard criteria. Please rename the criteria,Kan nie standaard kriteria skep nie. Verander asseblief die kriteria,
Cancel,kanselleer,
Cancel Material Visit {0} before cancelling this Warranty Claim,Kanselleer Materiaal Besoek {0} voordat u hierdie Garantie-eis kanselleer,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Kanselleer materiaalbesoeke {0} voordat u hierdie onderhoudsbesoek kanselleer,
Cancel Subscription,Kanselleer intekening,
Cancel the journal entry {0} first,Kanselleer die joernaalinskrywing {0} eerste,
Canceled,gekanselleer,
"Cannot Submit, Employees left to mark attendance","Kan nie inskryf nie, werknemers wat oorgebly het om bywoning te merk",
Cannot be a fixed asset item as Stock Ledger is created.,"Kan nie &#39;n vaste bateitem wees nie, aangesien Voorraadgrootboek geskep is.",
Cannot cancel because submitted Stock Entry {0} exists,Kan nie kanselleer nie aangesien ingevoerde Voorraadinskrywing {0} bestaan,
Cannot cancel transaction for Completed Work Order.,Kan nie transaksie vir voltooide werkorder kanselleer nie.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Kan nie {0} {1} kanselleer nie omdat Serienommer {2} nie by die pakhuis hoort nie {3},
Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Kan nie eienskappe verander na voorraadtransaksie nie. Maak &#39;n nuwe item en dra voorraad na die nuwe item,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Kan nie die fiskale jaar begindatum en fiskale jaar einddatum verander sodra die fiskale jaar gestoor is nie.,
Cannot change Service Stop Date for item in row {0},Kan nie diensstopdatum vir item in ry {0} verander nie,
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Kan nie Variant eiendomme verander na voorraad transaksie. Jy sal &#39;n nuwe item moet maak 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 nie die maatskappy se standaard valuta verander nie, want daar is bestaande transaksies. Transaksies moet gekanselleer word om die verstek valuta te verander.",
Cannot change status as student {0} is linked with student application {1},Kan nie status verander as student {0} is gekoppel aan studenteprogram nie {1},
Cannot convert Cost Center to ledger as it has child nodes,Kan nie Kostesentrum omskakel na grootboek nie aangesien dit nodusse het,
Cannot covert to Group because Account Type is selected.,Kan nie in Groep verskuil word nie omdat rekeningtipe gekies is.,
Cannot create Retention Bonus for left Employees,Kan nie Retensiebonus vir linkse werknemers skep nie,
Cannot create a Delivery Trip from Draft documents.,Kan nie &#39;n afleweringsreis uit konsepdokumente skep nie.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,Kan BOM nie deaktiveer of kanselleer nie aangesien dit gekoppel is aan ander BOM&#39;s,
"Cannot declare as lost, because Quotation has been made.","Kan nie verklaar word as verlore nie, omdat aanhaling gemaak is.",
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Kan nie aftrek wanneer die kategorie vir &#39;Waardasie&#39; of &#39;Waardasie en Totaal&#39; is nie.,
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Kan nie aftrek as die kategorie vir &#39;Waardasie&#39; of &#39;Vaulering en Totaal&#39; is nie.,
"Cannot delete Serial No {0}, as it is used in stock transactions","Kan nie reeksnommer {0} uitvee nie, aangesien dit in voorraadtransaksies gebruik word",
Cannot enroll more than {0} students for this student group.,Kan nie meer as {0} studente vir hierdie studente groep inskryf nie.,
Cannot produce more Item {0} than Sales Order quantity {1},Kan nie meer item {0} produseer as hoeveelheid van die bestelling {1},
Cannot promote Employee with status Left,Kan nie werknemer bevorder met status links nie,
Cannot refer row number greater than or equal to current row number for this Charge type,Kan nie rynommer groter as of gelyk aan huidige rynommer vir hierdie Laai tipe verwys nie,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Kan lading tipe nie as &#39;Op vorige rybedrag&#39; of &#39;Op vorige ry totale&#39; vir eerste ry kies nie,
Cannot set as Lost as Sales Order is made.,Kan nie as verlore gestel word nie aangesien verkoopsbestelling gemaak is.,
Cannot set authorization on basis of Discount for {0},Kan nie magtiging instel op grond van Korting vir {0},
Cannot set multiple Item Defaults for a company.,Kan nie verskeie itemvoorkeure vir &#39;n maatskappy stel nie.,
Cannot set quantity less than delivered quantity,"Kan nie die hoeveelheid wat minder is as die hoeveelheid wat afgelewer is, stel nie",
Cannot set quantity less than received quantity,Kan die hoeveelheid nie minder as die ontvangde hoeveelheid instel nie,
Cannot set the field <b>{0}</b> for copying in variants,Kan nie die veld <b>{0}</b> instel vir kopiëring in variante nie,
Cannot transfer Employee with status Left,Kan nie werknemer oorplaas met status links nie,
Cannot {0} {1} {2} without any negative outstanding invoice,Kan nie {0} {1} {2} sonder enige negatiewe uitstaande faktuur,
Capital Equipments,Kapitaal Uitrustings,
Capital Stock,Kapitaalvoorraad,
Capital Work in Progress,Kapitaalwerk in voortsetting,
Cart,wa,
Cart is Empty,Mandjie is leeg,
Case No(s) already in use. Try from Case No {0},Saaknommer (s) wat reeds in gebruik is. Probeer uit geval nr {0},
Cash,kontant,
Cash Flow Statement,Kontantvloeistaat,
Cash Flow from Financing,Kontantvloei uit finansiering,
Cash Flow from Investing,Kontantvloei uit Belegging,
Cash Flow from Operations,Kontantvloei uit bedrywighede,
Cash In Hand,Kontant in die hand,
Cash or Bank Account is mandatory for making payment entry,Kontant of Bankrekening is verpligtend vir betaling van inskrywing,
Cashier Closing,Kassier Sluiting,
Category,kategorie,
Category Name,Kategorie Naam,
Caution,versigtigheid,
Central Tax,Sentrale belasting,
Certification,sertifisering,
Cess,ning,
Change Amount,Verander bedrag,
Change Item Code,Verander Item Kode,
Change Release Date,Verander Release Date,
Change Template Code,Verander sjabloonkode,
Changing Customer Group for the selected Customer is not allowed.,"Om kliëntgroep vir die gekose kliënt te verander, word nie toegelaat nie.",
Chapter,Hoofstuk,
Chapter information.,Hoofstuk inligting.,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Heffing van tipe &#39;Werklik&#39; in ry {0} kan nie in Item Rate ingesluit word nie,
Chargeble,Chargeble,
Charges are updated in Purchase Receipt against each item,Kostes word opgedateer in Aankoopontvangste teen elke item,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Kostes sal proporsioneel verdeel word op grond van die hoeveelheid of hoeveelheid van die produk, soos per u keuse",
Chart of Cost Centers,Grafiek van kostesentrums,
Check all,Kyk alles,
Checkout,Uitteken,
Chemical,chemiese,
Cheque,Tjek,
Cheque/Reference No,Tjek / Verwysingsnr,
Cheques Required,Kontrole vereis,
Cheques and Deposits incorrectly cleared,Tjeks en deposito&#39;s is verkeerd skoongemaak,
Child Task exists for this Task. You can not delete this Task.,Kinderopdrag bestaan vir hierdie taak. U kan hierdie taak nie uitvee nie.,
Child nodes can be only created under 'Group' type nodes,Kinder nodusse kan slegs geskep word onder &#39;Groep&#39; tipe nodusse,
Child warehouse exists for this warehouse. You can not delete this warehouse.,Kinderopslag bestaan vir hierdie pakhuis. U kan hierdie pakhuis nie uitvee nie.,
Circular Reference Error,Omsendbriefverwysingsfout,
City,Stad,
City/Town,Stad / Dorp,
Clay,klei,
Clear filters,Maak filters skoon,
Clear values,Duidelike waardes,
Clearance Date,Opruimingsdatum,
Clearance Date not mentioned,Opruimingsdatum nie genoem nie,
Clearance Date updated,Opruimingsdatum opgedateer,
Client,kliënt,
Client ID,Kliënt-ID,
Client Secret,Kliëntgeheim,
Clinical Procedure,Kliniese prosedure,
Clinical Procedure Template,Kliniese Prosedure Sjabloon,
Close Balance Sheet and book Profit or Loss.,Sluit balansstaat en boek wins of verlies.,
Close Loan,Sluit Lening,
Close the POS,Maak die POS toe,
Closed,gesluit,
Closed order cannot be cancelled. Unclose to cancel.,Geslote bestelling kan nie gekanselleer word nie. Ontkoppel om te kanselleer.,
Closing (Cr),Sluiting (Cr),
Closing (Dr),Sluiting (Dr),
Closing (Opening + Total),Sluiting (Opening + Totaal),
Closing Account {0} must be of type Liability / Equity,Sluitingsrekening {0} moet van die tipe Aanspreeklikheid / Ekwiteit wees,
Closing Balance,Sluitingssaldo,
Code,kode,
Collapse All,Ineenstort alles,
Color,Kleur,
Colour,Kleur,
Combined invoice portion must equal 100%,Gekombineerde faktuur gedeelte moet gelyk wees aan 100%,
Commercial,kommersiële,
Commission,kommissie,
Commission Rate %,Kommissie Koers%,
Commission on Sales,Kommissie op verkope,
Commission rate cannot be greater than 100,Kommissie koers kan nie groter as 100,
Community Forum,Gemeenskapsforum,
Company (not Customer or Supplier) master.,Maatskappy (nie kliënt of verskaffer) meester.,
Company Abbreviation,Maatskappy Afkorting,
Company Abbreviation cannot have more than 5 characters,Maatskappyafkorting kan nie meer as 5 karakters hê nie,
Company Name,maatskappynaam,
Company Name cannot be Company,Maatskappy se naam kan nie Maatskappy wees nie,
Company currencies of both the companies should match for Inter Company Transactions.,Maatskappy-geldeenhede van albei die maatskappye moet ooreenstem met Inter Company Transactions.,
Company is manadatory for company account,Maatskappy is manadatory vir maatskappy rekening,
Company name not same,Maatskappy se naam is nie dieselfde nie,
Company {0} does not exist,Maatskappy {0} bestaan nie,
Compensatory leave request days not in valid holidays,Vergoedingsverlof versoek dae nie in geldige vakansiedae,
Complaint,klagte,
Completion Date,voltooiingsdatum,
Computer,rekenaar,
Condition,toestand,
Configure,instel,
Configure {0},Stel {0} op,
Confirmed orders from Customers.,Bevestigde bestellings van kliënte.,
Connect Amazon with ERPNext,Koppel Amazon met ERPNext,
Connect Shopify with ERPNext,Koppel Shopify met ERPNext,
Connect to Quickbooks,Koppel aan Vinnige boeke,
Connected to QuickBooks,Gekoppel aan QuickBooks,
Connecting to QuickBooks,Koppel aan QuickBooks,
Consultation,konsultasie,
Consultations,konsultasies,
Consulting,Consulting,
Consumable,verbruikbare,
Consumed,verteer,
Consumed Amount,Verbruik Bedrag,
Consumed Qty,Verbruikte hoeveelheid,
Consumer Products,Verbruikersprodukte,
Contact,Kontak,
Contact Us,Kontak Ons,
Content,inhoud,
Content Masters,Inhoudsmeesters,
Content Type,Inhoud Tipe,
Continue Configuration,Gaan voort met die konfigurasie,
Contract,kontrak,
Contract End Date must be greater than Date of Joining,Kontrak Einddatum moet groter wees as Datum van aansluiting,
Contribution %,Bydrae%,
Contribution Amount,Bydrae Bedrag,
Conversion factor for default Unit of Measure must be 1 in row {0},Omskakelingsfaktor vir verstek Eenheid van maatstaf moet 1 in ry {0} wees.,
Conversion rate cannot be 0 or 1,Gesprek koers kan nie 0 of 1 wees nie,
Convert to Group,Skakel na Groep,
Convert to Non-Group,Skakel na Nie-Groep,
Cosmetics,skoonheidsmiddels,
Cost Center,Kostesentrum,
Cost Center Number,Kostesentrumnommer,
Cost Center and Budgeting,Kostesentrum en Begroting,
Cost Center is required in row {0} in Taxes table for type {1},Kostesentrum word benodig in ry {0} in Belasting tabel vir tipe {1},
Cost Center with existing transactions can not be converted to group,Kostesentrum met bestaande transaksies kan nie na groep omskep word nie,
Cost Center with existing transactions can not be converted to ledger,Kostesentrum met bestaande transaksies kan nie na grootboek omgeskakel word nie,
Cost Centers,Kostesentrums,
Cost Updated,Koste opgedateer,
Cost as on,Koste soos op,
Cost of Delivered Items,Koste van aflewerings,
Cost of Goods Sold,Koste van goedere verkoop,
Cost of Issued Items,Koste van uitgereikte items,
Cost of New Purchase,Koste van nuwe aankope,
Cost of Purchased Items,Koste van gekoopte items,
Cost of Scrapped Asset,Koste van geskrap Bate,
Cost of Sold Asset,Koste van Verkoop Bate,
Cost of various activities,Koste van verskeie aktiwiteite,
"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again",Kon nie kredietnota outomaties skep nie. Merk asseblief die afskrif &#39;Kredietnota uitreik&#39; en dien weer in,
Could not generate Secret,Kon nie geheime genereer nie,
Could not retrieve information for {0}.,Kon nie inligting vir {0} ophaal nie.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,Kon nie kriteria telling funksie vir {0} oplos nie. Maak seker dat die formule geldig is.,
Could not solve weighted score function. Make sure the formula is valid.,Kon nie geweegde tellingfunksie oplos nie. Maak seker dat die formule geldig is.,
Could not submit some Salary Slips,Kon nie &#39;n paar Salarisstrokies indien nie,
"Could not update stock, invoice contains drop shipping item.","Kon nie voorraad opdateer nie, faktuur bevat druppelversending item.",
Country wise default Address Templates,Landverstandige standaard adres sjablonen,
Course Code: ,Kursuskode:,
Course Enrollment {0} does not exists,Kursusinskrywing {0} bestaan nie,
Course Schedule,Kursusskedule,
Course: ,Kursus:,
Cr,Cr,
Create,Skep,
Create BOM,Skep BOM,
Create Delivery Trip,Skep afleweringsreis,
Create Employee,Skep werknemer,
Create Employee Records,Skep werknemerrekords,
"Create Employee records to manage leaves, expense claims and payroll","Skep werknemerrekords om blare, koste-eise en betaalstaat te bestuur",
Create Fee Schedule,Skep fooi-skedule,
Create Fees,Skep fooie,
Create Inter Company Journal Entry,Skep &#39;n intermaatskappyjoernaalinskrywing,
Create Invoice,Skep faktuur,
Create Invoices,Skep fakture,
Create Job Card,Skep werkkaart,
Create Journal Entry,Skep joernaalinskrywings,
Create Lead,Skep Lood,
Create Leads,Skep Lei,
Create Maintenance Visit,Skep instandhoudingsbesoek,
Create Material Request,Skep materiaalversoek,
Create Multiple,Skep meerdere,
Create Opening Sales and Purchase Invoices,Skep openings- en aankoopfakture,
Create Payment Entries,Skep betalingsinskrywings,
Create Payment Entry,Skep betalingsinskrywings,
Create Print Format,Skep Drukformaat,
Create Purchase Order,Skep aankoopbestelling,
Create Purchase Orders,Skep bestellings,
Create Quotation,Skep kwotasie,
Create Sales Invoice,Skep Verkoopsfaktuur,
Create Sales Order,Skep verkoopsbestelling,
Create Sales Orders to help you plan your work and deliver on-time,Skep verkoopbestellings om u te help om u werk te beplan en betyds te lewer,
Create Sample Retention Stock Entry,Skep voorbeeldbewysvoorraadinskrywing,
Create Student,Skep Student,
Create Student Batch,Skep studentebasis,
Create Student Groups,Skep studentegroepe,
Create Supplier Quotation,Skep aanbiedingskwotasie,
Create Tax Template,Skep belastingvorm,
Create Timesheet,Skep tydstaat,
Create User,Skep gebruiker,
Create Users,Skep gebruikers,
Create Variant,Skep Variant,
Create Variants,Skep variante,
"Create and manage daily, weekly and monthly email digests.","Skep en bestuur daaglikse, weeklikse en maandelikse e-posverdelings.",
Create customer quotes,Skep kliënte kwotasies,
Create rules to restrict transactions based on values.,Skep reëls om transaksies gebaseer op waardes te beperk.,
Created {0} scorecards for {1} between: ,Geskep {0} telkaarte vir {1} tussen:,
Creating Company and Importing Chart of Accounts,Skep &#39;n maatskappy en voer rekeningrekeninge in,
Creating Fees,Fooie skep,
Creating student groups,Skep studentegroepe,
Creating {0} Invoice,Skep {0} faktuur,
Credit,krediet,
Credit ({0}),Krediet ({0}),
Credit Account,Kredietrekening,
Credit Balance,Kredietbalans,
Credit Card,Kredietkaart,
Credit Days cannot be a negative number,Kredietdae kan nie &#39;n negatiewe nommer wees nie,
Credit Limit,Krediet limiet,
Credit Note,Kredietnota,
Credit Note Amount,Kredietnota Bedrag,
Credit Note Issued,Kredietnota Uitgereik,
Credit Note {0} has been created automatically,Kredietnota {0} is outomaties geskep,
Credit limit has been crossed for customer {0} ({1}/{2}),Kredietlimiet is gekruis vir kliënt {0} ({1} / {2}),
Creditors,krediteure,
Criteria weights must add up to 100%,Kriteria gewigte moet tot 100%,
Crop Cycle,Gewassiklus,
Crops & Lands,Gewasse en lande,
Currency Exchange must be applicable for Buying or for Selling.,Geldwissel moet van toepassing wees vir koop of verkoop.,
Currency can not be changed after making entries using some other currency,Geld kan nie verander word nadat inskrywings gebruik gemaak is van &#39;n ander geldeenheid nie,
Currency exchange rate master.,Wisselkoers meester.,
Currency for {0} must be {1},Geld vir {0} moet {1} wees,
Currency is required for Price List {0},Geldeenheid word vereis vir Pryslys {0},
Currency of the Closing Account must be {0},Geld van die sluitingsrekening moet {0} wees,
Currency of the price list {0} must be {1} or {2},Geld van die pryslys {0} moet {1} of {2} wees.,
Currency should be same as Price List Currency: {0},Geld moet dieselfde wees as Pryslys Geldeenheid: {0},
Current Assets,Huidige bates,
Current BOM and New BOM can not be same,Huidige BOM en Nuwe BOM kan nie dieselfde wees nie,
Current Liabilities,Huidige Laste,
Current Qty,Huidige hoeveelheid,
Current invoice {0} is missing,Huidige faktuur {0} ontbreek,
Custom HTML,Gepasmaakte HTML,
Custom?,Custom?,
Customer,kliënt,
Customer Addresses And Contacts,Kliënt Adresse en Kontakte,
Customer Contact,Kliëntkontak,
Customer Database.,Kliënt databasis.,
Customer Group,Kliëntegroep,
Customer LPO,Kliënt LPO,
Customer LPO No.,Kliënt LPO No.,
Customer Name,Kliënt naam,
Customer POS Id,Kliënt Pos ID,
Customer Service,Kliëntediens,
Customer and Supplier,Kliënt en Verskaffer,
Customer is required,Kliënt word vereis,
Customer isn't enrolled in any Loyalty Program,Kliënt is nie in enige Lojaliteitsprogram ingeskryf nie,
Customer required for 'Customerwise Discount',Kliënt benodig vir &#39;Customerwise Discount&#39;,
Customer {0} does not belong to project {1},Kliënt {0} behoort nie aan projek nie {1},
Customer {0} is created.,Kliënt {0} is geskep.,
Customers in Queue,Kliënte in wachtrij,
Customize Homepage Sections,Pasmaak tuisbladafdelings,
Customizing Forms,Aanpassings vorms,
Daily Project Summary for {0},Daaglikse Projekopsomming vir {0},
Daily Reminders,Daaglikse onthounotas,
Data Import and Export,Data Invoer en Uitvoer,
Data Import and Settings,Data-invoer en instellings,
Database of potential customers.,Databasis van potensiële kliënte.,
Date Format,Datum formaat,
Date Of Retirement must be greater than Date of Joining,Datum van aftrede moet groter wees as datum van aansluiting,
Date of Birth,Geboortedatum,
Date of Birth cannot be greater than today.,Geboortedatum kan nie groter wees as vandag nie.,
Date of Commencement should be greater than Date of Incorporation,Datum van inwerkingtreding moet groter wees as datum van inlywing,
Date of Joining,Datum van aansluiting,
Date of Joining must be greater than Date of Birth,Datum van aansluiting moet groter wees as Geboortedatum,
Date of Transaction,Datum van transaksie,
Day,dag,
Debit,debiet-,
Debit ({0}),Debiet ({0}),
Debit Account,Debietrekening,
Debit Note,Debietnota,
Debit Note Amount,Debiet Nota Bedrag,
Debit Note Issued,Debiet Nota Uitgereik,
Debit To is required,Debiet na is nodig,
Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debiet en Krediet nie gelyk aan {0} # {1}. Verskil is {2}.,
Debtors,debiteure,
Debtors ({0}),Debiteure ({0}),
Declare Lost,Verklaar Verlore,
Default Activity Cost exists for Activity Type - {0},Verstekaktiwiteitskoste bestaan vir aktiwiteitstipe - {0},
Default BOM ({0}) must be active for this item or its template,Standaard BOM ({0}) moet vir hierdie item of sy sjabloon aktief wees,
Default BOM for {0} not found,Verstek BOM vir {0} nie gevind nie,
Default BOM not found for Item {0} and Project {1},Verstek BOM nie gevind vir Item {0} en Projek {1},
Default Letter Head,Verstek Briefhoof,
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.,Verstekeenheid van item vir item {0} kan nie direk verander word nie omdat jy reeds &#39;n transaksie (s) met &#39;n ander UOM gemaak het. Jy sal &#39;n nuwe item moet skep om &#39;n ander standaard UOM te gebruik.,
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Standaard eenheid van maatstaf vir variant &#39;{0}&#39; moet dieselfde wees as in Sjabloon &#39;{1}&#39;,
Default settings for buying transactions.,Verstekinstellings vir die koop van transaksies.,
Default settings for selling transactions.,Verstek instellings vir die verkoop van transaksies.,
Default tax templates for sales and purchase are created.,Standaard belasting sjablonen vir verkope en aankoop word gemaak.,
Defaults,standaard,
Defense,verdediging,
Define Project type.,Definieer Projek tipe.,
Define budget for a financial year.,Definieer begroting vir &#39;n finansiële jaar.,
Define various loan types,Definieer verskillende leningstipes,
Del,del,
Delay in payment (Days),Vertraging in betaling (Dae),
Delete all the Transactions for this Company,Vee al die transaksies vir hierdie maatskappy uit,
Deletion is not permitted for country {0},Skrapping is nie toegelaat vir land {0},
Delivered,afgelewer,
Delivered Amount,Afgelope bedrag,
Delivered Qty,Aflewerings Aantal,
Delivered: {0},Afgelewer: {0},
Delivery,aflewering,
Delivery Date,Afleweringsdatum,
Delivery Note,Afleweringsnota,
Delivery Note {0} is not submitted,Afleweringsnotasie {0} is nie ingedien nie,
Delivery Note {0} must not be submitted,Afleweringsnotasie {0} moet nie ingedien word nie,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Afleweringsnotas {0} moet gekanselleer word voordat u hierdie verkooporder kanselleer,
Delivery Notes {0} updated,Afleweringsnotas {0} opgedateer,
Delivery Status,Afleweringsstatus,
Delivery Trip,Afleweringstoer,
Delivery warehouse required for stock item {0},Afleweringspakhuis benodig vir voorraaditem {0},
Department,Departement,
Department Stores,Departement winkels,
Depreciation,waardevermindering,
Depreciation Amount,Waardevermindering Bedrag,
Depreciation Amount during the period,Waardevermindering Bedrag gedurende die tydperk,
Depreciation Date,Depresiasie Datum,
Depreciation Eliminated due to disposal of assets,Waardevermindering Uitgeëis as gevolg van verkoop van bates,
Depreciation Entry,Waardevermindering Inskrywing,
Depreciation Method,Waardevermindering Metode,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Waardevermindering-ry {0}: Begindatum vir waardevermindering word as vorige datum ingevoer,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Waardeverminderingsreeks {0}: Verwagte waarde na nuttige lewensduur moet groter as of gelyk wees aan {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Waardevermindering-ry {0}: Volgende waarderingsdatum kan nie voor die datum beskikbaar wees vir gebruik nie,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Waardevermindering-ry {0}: Volgende waarderingsdatum kan nie voor die aankoopdatum wees nie,
Designer,Ontwerper,
Detailed Reason,Gedetailleerde rede,
Details,besonderhede,
Details of Outward Supplies and inward supplies liable to reverse charge,Besonderhede van uiterlike voorrade en innerlike voorrade wat onderhewig is aan omgekeerde koste,
Details of the operations carried out.,Besonderhede van die operasies uitgevoer.,
Diagnosis,diagnose,
Did not find any item called {0},Geen item gevind met die naam {0},
Diff Qty,Diff Hoeveelheid,
Difference Account,Verskilrekening,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Verskilrekening moet &#39;n Bate / Aanspreeklikheidsrekening wees, aangesien hierdie Voorraadversoening &#39;n Openingsinskrywing is",
Difference Amount,Verskilbedrag,
Difference Amount must be zero,Verskilbedrag moet nul wees,
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.,Verskillende UOM vir items sal lei tot foutiewe (Totale) Netto Gewigwaarde. Maak seker dat die netto gewig van elke item in dieselfde UOM is.,
Direct Expenses,Direkte uitgawes,
Direct Income,Direkte inkomste,
Disable,afskakel,
Disabled template must not be default template,Gestremde sjabloon moet nie die standaard sjabloon wees nie,
Disburse Loan,Lening uitbetaal,
Disbursed,uitbetaal,
Disc,skyf,
Discharge,ontslag,
Discount,afslag,
Discount Percentage can be applied either against a Price List or for all Price List.,Afslagpersentasie kan óf teen &#39;n Pryslys óf vir alle Pryslys toegepas word.,
Discount must be less than 100,Korting moet minder as 100 wees,
Diseases & Fertilizers,Siektes en Misstowwe,
Dispatch,versending,
Dispatch Notification,Versending Kennisgewing,
Dispatch State,Versendingstaat,
Distance,afstand,
Distribution,verspreiding,
Distributor,verspreider,
Dividends Paid,Dividende Betaal,
Do you really want to restore this scrapped asset?,Wil jy hierdie geskrapde bate regtig herstel?,
Do you really want to scrap this asset?,Wil jy hierdie bate regtig skrap?,
Do you want to notify all the customers by email?,Wil u al die kliënte per e-pos in kennis stel?,
Doc Date,Doc Datum,
Doc Name,Doc Naam,
Doc Type,Doc Type,
Docs Search,Docs Search,
Document Name,Dokument Naam,
Document Type,Dokument Type,
Domain,domein,
Domains,domeine,
Done,gedaan,
Donor,Skenker,
Donor Type information.,Skenker tipe inligting.,
Donor information.,Skenker inligting.,
Download JSON,Laai JSON af,
Draft,Konsep,
Drop Ship,Drop Ship,
Drug,dwelm,
Due / Reference Date cannot be after {0},Verwysingsdatum kan nie na {0} wees nie.,
Due Date cannot be before Posting / Supplier Invoice Date,Die vervaldatum kan nie voor die inhandigingsdatum wees nie,
Due Date is mandatory,Verpligte datum is verpligtend,
Duplicate Entry. Please check Authorization Rule {0},Duplikaat Inskrywing. Gaan asseblief die magtigingsreël {0},
Duplicate Serial No entered for Item {0},Duplikaatreeksnommer vir item {0} ingevoer,
Duplicate customer group found in the cutomer group table,Duplikaat klante groep gevind in die cutomer groep tabel,
Duplicate entry,Duplikaatinskrywing,
Duplicate item group found in the item group table,Duplikaat-itemgroep wat in die itemgroeptabel gevind word,
Duplicate roll number for student {0},Duplikaatrolnommer vir student {0},
Duplicate row {0} with same {1},Dupliseer ry {0} met dieselfde {1},
Duplicate {0} found in the table,Duplikaat {0} in die tabel gevind,
Duration in Days,Duur in Dae,
Duties and Taxes,Pligte en Belastings,
E-Invoicing Information Missing,Inligting oor fakturering ontbreek,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,ERPVolgende instellings,
Earliest,vroegste,
Earnest Money,Ernstigste Geld,
Edit,wysig,
Edit Publishing Details,Wysig uitgewerybesonderhede,
"Edit in full page for more options like assets, serial nos, batches etc.","Wysig in volle bladsy vir meer opsies soos bates, reeksnommers, bondels ens.",
Education,onderwys,
Either location or employee must be required,Enige plek of werknemer moet vereis word,
Either target qty or target amount is mandatory,Die teiken hoeveelheid of teikenwaarde is verpligtend,
Either target qty or target amount is mandatory.,Die teiken hoeveelheid of teikenwaarde is verpligtend.,
Electrical,Elektriese,
Electronic Equipments,Elektroniese toerusting,
Electronics,elektronika,
Eligible ITC,Kwalifiserende ITC,
Email Account,E-pos rekening,
Email Address,E-pos adres,
"Email Address must be unique, already exists for {0}","E-pos adres moet uniek wees, bestaan reeds vir {0}",
Email Digest: ,Email Digest:,
Email Reminders will be sent to all parties with email contacts,E-pos herinnerings sal gestuur word aan alle partye met e-pos kontakte,
Email Sent,E-pos is gestuur,
Email Template,E-pos sjabloon,
Email not found in default contact,E-pos word nie in verstekkontak gevind nie,
Email sent to {0},E-pos gestuur na {0},
Employee,werknemer,
Employee Advances,Werknemersvorderings,
Employee ID,Werknemer identiteit,
Employee Lifecycle,Werknemer lewensiklus,
Employee Name,Werknemer Naam,
Employee Promotion cannot be submitted before Promotion Date ,Werknemersbevordering kan nie voor die Bevorderingsdatum ingedien word nie,
Employee Transfer cannot be submitted before Transfer Date ,Werknemeroordrag kan nie voor die Oordragdatum ingedien word nie,
Employee cannot report to himself.,Werknemer kan nie aan homself rapporteer nie.,
Employee {0} has already applied for {1} between {2} and {3} : ,Werknemer {0} het reeds aansoek gedoen vir {1} tussen {2} en {3}:,
Employee {0} of grade {1} have no default leave policy,Werknemer {0} van graad {1} het geen verlofverlofbeleid nie,
Enable / disable currencies.,Aktiveer / deaktiveer geldeenhede.,
Enabled,enabled,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Aktiveer &#39;Gebruik vir winkelwagentje&#39;, aangesien winkelwagentjie geaktiveer is en daar moet ten minste een belastingreël vir die winkelwagentjie wees",
End Date,Einddatum,
End Date can not be less than Start Date,Einddatum kan nie minder wees as die begin datum nie,
End Date cannot be before Start Date.,Einddatum kan nie voor die begin datum wees nie.,
End Year,Eindejaar,
End Year cannot be before Start Year,Eindejaar kan nie voor die beginjaar wees nie,
End on,Eindig op,
Ends On date cannot be before Next Contact Date.,Eindig Op datum kan nie voor volgende kontak datum wees nie.,
Energy,energie,
Engineer,ingenieur,
Enough Parts to Build,Genoeg Onderdele om te Bou,
Enroll,Inskryf,
Enrolling student,Inskrywing van student,
Enrolling students,Inskrywing van studente,
Enter depreciation details,Voer waardeverminderingsbesonderhede in,
Enter the Bank Guarantee Number before submittting.,Voer die bankwaarborgnommer in voordat u ingedien word.,
Enter the name of the Beneficiary before submittting.,Vul die naam van die Begunstigde in voordat u dit ingedien het.,
Enter the name of the bank or lending institution before submittting.,Voer die naam van die bank of leningsinstelling in voordat u dit ingedien het.,
Enter value betweeen {0} and {1},Voer waarde tussen {0} en {1} in,
Entertainment & Leisure,Vermaak en ontspanning,
Entertainment Expenses,Vermaak Uitgawes,
Equity,Billikheid,
Error Log,Fout Teken,
Error evaluating the criteria formula,Kon nie die kriteria formule evalueer nie,
Error in formula or condition: {0},Fout in formule of toestand: {0},
Error: Not a valid id?,Fout: Nie &#39;n geldige ID nie?,
Estimated Cost,Geskatte koste,
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Selfs as daar verskeie prysreëls met die hoogste prioriteit is, word die volgende interne prioriteite toegepas:",
Exchange Gain/Loss,Uitruil wins / verlies,
Exchange Rate Revaluation master.,Wisselkoersherwaarderingsmeester.,
Exchange Rate must be same as {0} {1} ({2}),Wisselkoers moet dieselfde wees as {0} {1} ({2}),
Excise Invoice,Aksynsfaktuur,
Execution,Uitvoering,
Executive Search,Uitvoerende soektog,
Expand All,Brei alles uit,
Expected Delivery Date,Verwagte afleweringsdatum,
Expected Delivery Date should be after Sales Order Date,Verwagte afleweringsdatum moet na-verkope besteldatum wees,
Expected End Date,Verwagte einddatum,
Expected Hrs,Verwagte Hr,
Expected Start Date,Verwagte begin datum,
Expense,koste,
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Uitgawe / Verskil rekening ({0}) moet &#39;n &#39;Wins of verlies&#39; rekening wees,
Expense Account,Uitgawe rekening,
Expense Claim,Koste-eis,
Expense Claims,Uitgawe Eise,
Expense account is mandatory for item {0},Uitgawe rekening is verpligtend vir item {0},
Expenses,uitgawes,
Expenses Included In Asset Valuation,Uitgawes ingesluit by batewaarde,
Expenses Included In Valuation,Uitgawes Ingesluit in Waardasie,
Expired Batches,Vervaldatums,
Expires On,Verval op,
Expiring On,Verlenging Aan,
Expiry (In Days),Vervaldatum (In Dae),
Explore,verken,
Export E-Invoices,Voer e-fakture uit,
Extra Large,Ekstra groot,
Extra Small,Ekstra Klein,
Fail,misluk,
Failed,misluk,
Failed to create website,Kon nie webwerf skep nie,
Failed to install presets,Kon nie presets installeer nie,
Failed to login,Kon nie inteken nie,
Failed to setup company,Kon nie maatskappy opstel nie,
Failed to setup defaults,Kon nie standaardinstellings instel nie,
Failed to setup post company fixtures,Kon nie posmaatskappye opstel nie,
Fax,Faks,
Fee,fooi,
Fee Created,Fooi geskep,
Fee Creation Failed,Fooi skepping misluk,
Fee Creation Pending,Fooi skepping hangende,
Fee Records Created - {0},Fooi Rekords Geskep - {0},
Feedback,terugvoer,
Fees,fooie,
Female,vroulike,
Fetch Data,Haal data,
Fetch Subscription Updates,Haal intekeningopdaterings,
Fetch exploded BOM (including sub-assemblies),Haal ontplof BOM (insluitend sub-gemeentes),
Fetching records......,Rekords gaan haal ......,
Field Name,Veldnaam,
Fieldname,field Name,
Fields,Velde,
"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filtervelde Ry # {0}: Veldnaam <b>{1}</b> moet van die tipe &quot;Skakel&quot; of &quot;Tabel MultiSelect&quot; wees,
Filter Total Zero Qty,Filter Totale Nul Aantal,
Finance Book,Finansies Boek,
Financial / accounting year.,Finansiële / boekjaar.,
Financial Services,Finansiële dienste,
Financial Statements,Finansiële state,
Financial Year,Finansiële jaar,
Finish,Voltooi,
Finished Good,Voltooi Goed,
Finished Good Item Code,Voltooide goeie itemkode,
Finished Goods,Voltooide goedere,
Finished Item {0} must be entered for Manufacture type entry,Voltooide item {0} moet ingevul word vir Produksie tipe inskrywing,
Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Voltooide produk hoeveelheid <b>{0}</b> en vir Hoeveelheid <b>{1}</b> kan nie anders wees nie,
First Name,Eerste naam,
"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}",Fiskale Regime is verpligtend; stel die fiskale stelsel in die maatskappy vriendelik {0},
Fiscal Year,Fiskale jaar,
Fiscal Year End Date should be one year after Fiscal Year Start Date,Die einddatum van die fiskale jaar moet een jaar na die begindatum van die fiskale jaar wees,
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Fiskale Jaar Begindatum en Fiskale Jaar Einddatum is reeds in fiskale jaar {0},
Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Begindatum vir die fiskale jaar moet een jaar vroeër wees as die einddatum van die fiskale jaar,
Fiscal Year {0} does not exist,Fiskale jaar {0} bestaan nie,
Fiscal Year {0} is required,Fiskale jaar {0} word vereis,
Fixed Asset,Vaste bate,
Fixed Asset Item must be a non-stock item.,Vaste bate-item moet &#39;n nie-voorraaditem wees.,
Fixed Assets,Vaste Bates,
Following Material Requests have been raised automatically based on Item's re-order level,Volgende Materiële Versoeke is outomaties opgestel op grond van die item se herbestellingsvlak,
Following accounts might be selected in GST Settings:,Volgende rekeninge kan gekies word in GST-instellings:,
Following course schedules were created,Volgende kursusskedules is geskep,
Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Volgende item {0} is nie gemerk as {1} item nie. U kan hulle as {1} item in die Item-meester aktiveer,
Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Die volgende items {0} word nie gemerk as {1} item nie. U kan hulle as {1} item in die Item-meester aktiveer,
"Food, Beverage & Tobacco","Kos, drank en tabak",
For,vir,
"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.","Vir &#39;Product Bundle&#39; items, sal Warehouse, Serial No en Batch No oorweeg word vanaf die &#39;Packing List&#39;-tabel. As pakhuis en batch nommer dieselfde is vir alle verpakkingsitems vir &#39;n &#39;produkpakket&#39; -item, kan hierdie waardes in die hoofitemtafel ingevoer word, waardes sal na die &#39;paklys&#39;-tabel gekopieer word.",
For Quantity (Manufactured Qty) is mandatory,Vir Hoeveelheid (Vervaardigde Aantal) is verpligtend,
For Supplier,Vir Verskaffer,
For Warehouse,Vir pakhuis,
For Warehouse is required before Submit,Vir die pakhuis word vereis voor indiening,
"For an item {0}, quantity must be negative number",Vir &#39;n item {0} moet die hoeveelheid negatief wees,
"For an item {0}, quantity must be positive number",Vir &#39;n item {0} moet die hoeveelheid positief wees,
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry",Vir werkskaart {0} kan u slegs die &#39;Materiaaloordrag vir Vervaardiging&#39; tipe inskrywing doen,
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Vir ry {0} in {1}. Om {2} in Item-koers in te sluit, moet rye {3} ook ingesluit word",
For row {0}: Enter Planned Qty,Vir ry {0}: Gee beplande hoeveelheid,
"For {0}, only credit accounts can be linked against another debit entry",Vir {0} kan slegs kredietrekeninge gekoppel word teen &#39;n ander debietinskrywing,
"For {0}, only debit accounts can be linked against another credit entry",Vir {0} kan slegs debietrekeninge gekoppel word teen &#39;n ander kredietinskrywing,
Forum Activity,Forum Aktiwiteit,
Free item code is not selected,Gratis itemkode word nie gekies nie,
Freight and Forwarding Charges,Vrag en vragkoste,
Frequency,Frekwensie,
Friday,Vrydag,
From,Van,
From Address 1,Van adres 1,
From Address 2,Van Adres 2,
From Currency and To Currency cannot be same,Van Geld en Geld kan nie dieselfde wees nie,
From Date and To Date lie in different Fiscal Year,Van datum tot datum lê in verskillende fiskale jaar,
From Date cannot be greater than To Date,Vanaf datum kan nie groter wees as Datum,
From Date must be before To Date,Vanaf datum moet voor datum wees,
From Date should be within the Fiscal Year. Assuming From Date = {0},Vanaf datum moet binne die fiskale jaar wees. Aanvaar vanaf datum = {0},
From Datetime,Vanaf Datetime,
From Delivery Note,Van afleweringsnota,
From Fiscal Year,Vanaf die fiskale jaar,
From GSTIN,Van GSTIN,
From Party Name,Van Party Naam,
From Pin Code,Van PIN-kode,
From Place,Van Plek,
From Range has to be less than To Range,Van Reeks moet minder wees as To Range,
From State,Van staat,
From Time,Van tyd af,
From Time Should Be Less Than To Time,Van tyd af moet minder as tyd wees,
From Time cannot be greater than To Time.,Van die tyd kan nie groter wees as die tyd nie.,
"From a supplier under composition scheme, Exempt and Nil rated","Van &#39;n verskaffer onder die samestellingskema, vrygestel en Nul beoordeel",
From and To dates required,Van en tot datums benodig,
From value must be less than to value in row {0},Van waarde moet minder wees as om in ry {0} te waardeer.,
From {0} | {1} {2},Van {0} | {1} {2},
Fulfillment,vervulling,
Full Name,Volle naam,
Fully Depreciated,Ten volle gedepresieer,
Furnitures and Fixtures,Furnitures and Fixtures,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Verdere rekeninge kan onder Groepe gemaak word, maar inskrywings kan gemaak word teen nie-groepe",
Further cost centers can be made under Groups but entries can be made against non-Groups,"Verdere kostepunte kan onder Groepe gemaak word, maar inskrywings kan gemaak word teen nie-groepe",
Further nodes can be only created under 'Group' type nodes,Verdere nodes kan slegs geskep word onder &#39;Groep&#39;-tipe nodusse,
GSTIN,GSTIN,
GSTR3B-Form,GSTR3B-Form,
Gain/Loss on Asset Disposal,Wins / verlies op bateverkope,
Gantt Chart,Gantt-kaart,
Gantt chart of all tasks.,Gantt-grafiek van alle take.,
Gender,geslag,
General,algemene,
General Ledger,Algemene lêer,
Generate Material Requests (MRP) and Work Orders.,Genereer Materiaal Versoeke (MRP) en Werkorders.,
Generate Secret,Genereer Geheime,
Get Invocies,Kry uitnodigings,
Get Invoices,Kry fakture,
Get Invoices based on Filters,Kry fakture op grond van filters,
Get Items from BOM,Kry items van BOM,
Get Items from Healthcare Services,Kry items van gesondheidsorgdienste,
Get Items from Prescriptions,Kry artikels uit voorskrifte,
Get Items from Product Bundle,Kry Items van Produk Bundel,
Get Suppliers,Kry Verskaffers,
Get Suppliers By,Kry Verskaffers By,
Get Updates,Kry opdaterings,
Get customers from,Kry kliënte van,
Get from Patient Encounter,Kry van pasiënt ontmoeting,
Getting Started,Aan die gang kom,
GitHub Sync ID,GitHub Sync ID,
Global settings for all manufacturing processes.,Globale instellings vir alle vervaardigingsprosesse.,
Go to the Desktop and start using ERPNext,Gaan na die lessenaar en begin met die gebruik van ERPNext,
GoCardless SEPA Mandate,GoCardless SEPA Mandaat,
GoCardless payment gateway settings,GoCardless betaling gateway instellings,
Goal and Procedure,Doel en prosedure,
Goals cannot be empty,Doelwitte kan nie leeg wees nie,
Goods In Transit,Goedere In Transito,
Goods Transferred,Goedere oorgedra,
Goods and Services Tax (GST India),Goedere en Dienste Belasting (GST India),
Goods are already received against the outward entry {0},Goedere word reeds ontvang teen die uitgawe {0},
Government,regering,
Grand Total,Groot totaal,
Grant,Grant,
Grant Application,Grant Aansoek,
Grant Leaves,Grant Leaves,
Grant information.,Gee inligting.,
Grocery,kruideniersware,
Gross Profit,Bruto wins,
Gross Profit %,Bruto wins%,
Gross Profit / Loss,Bruto wins / verlies,
Gross Purchase Amount,Bruto aankoopbedrag,
Gross Purchase Amount is mandatory,Bruto aankoopbedrag is verpligtend,
Group by Account,Groep per rekening,
Group by Party,Groep per partytjie,
Group by Voucher,Groep per Voucher,
Group by Voucher (Consolidated),Groep deur voucher (gekonsolideer),
Group node warehouse is not allowed to select for transactions,Groepknooppakhuis mag nie vir transaksies kies nie,
Group to Non-Group,Groep na Nie-Groep,
Group your students in batches,Groepeer jou studente in groepe,
Groups,groepe,
Guardian1 Email ID,Guardian1 E-pos ID,
Guardian1 Mobile No,Voog 1 Mobiele Nr,
Guardian1 Name,Voog 1 Naam,
Guardian2 Email ID,Guardian2 E-pos ID,
Guardian2 Mobile No,Guardian2 Mobile No,
Guardian2 Name,Guardian2 Naam,
HR Manager,HR Bestuurder,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Yearly,Half jaarliks,
Half-Yearly,Halfjaarlikse,
Hardware,Hardware,
Head of Marketing and Sales,Hoof van Bemarking en Verkope,
Health Care,Gesondheidssorg,
Healthcare,Gesondheidssorg,
Healthcare (beta),Gesondheidsorg (beta),
Healthcare Practitioner,Gesondheidsorgpraktisyn,
Healthcare Practitioner not available on {0},Gesondheidsorgpraktisyn nie beskikbaar op {0},
Healthcare Practitioner {0} not available on {1},Gesondheidsorgpraktisyn {0} nie beskikbaar op {1},
Healthcare Service Unit,Gesondheidsorg Diens Eenheid,
Healthcare Service Unit Tree,Gesondheidsorg Diens Eenheid Boom,
Healthcare Service Unit Type,Gesondheidsorgdiens Eenheidstipe,
Healthcare Services,Gesondheidsorgdienste,
Healthcare Settings,Gesondheidsorginstellings,
Help Results for,Help resultate vir,
High,hoë,
High Sensitivity,Hoë Sensitiwiteit,
Hold,hou,
Hold Invoice,Hou faktuur,
Holiday,Vakansie,
Holiday List,Vakansie Lys,
Hotel Rooms of type {0} are unavailable on {1},Hotelkamers van tipe {0} is nie beskikbaar op {1},
Hotels,Hotels,
Hourly,uurlikse,
Hours,Ure,
How Pricing Rule is applied?,Hoe prysreël is toegepas?,
Hub Category,Hub Kategorie,
Hub Sync ID,Hub-sinkronisasie-ID,
Human Resource,Menslike hulpbronne,
Human Resources,Menslike hulpbronne,
IGST Amount,IGST Bedrag,
IP Address,IP adres,
ITC Available (whether in full op part),ITC beskikbaar (of dit volledig is),
ITC Reversed,ITC Omgekeer,
Identifying Decision Makers,Identifisering van Besluitmakers,
"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","As Auto Opt In is nagegaan, word die kliënte outomaties gekoppel aan die betrokke Loyaliteitsprogram (op spaar)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","As verskeie prysreglemente voortduur, word gebruikers gevra om Prioriteit handmatig in te stel om konflik op te los.",
"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.","As gekose prysreël vir &#39;koers&#39; gemaak word, sal dit pryslys oorskry. Prysreëlkoers is die finale koers, dus geen verdere afslag moet toegepas word nie. Dus, in transaksies soos verkoopsbestelling, bestelling ens., Sal dit in die &#39;Tarief&#39;-veld gesoek word, eerder as&#39; Pryslys-tarief&#39;-veld.",
"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.","Indien twee of meer prysreëls gevind word op grond van bogenoemde voorwaardes, word Prioriteit toegepas. Prioriteit is &#39;n getal tussen 0 en 20 terwyl die standaardwaarde nul is (leeg). Hoër getal beteken dat dit voorrang sal hê indien daar verskeie prysreëls met dieselfde voorwaardes is.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Indien die Loyaliteitspunte onbeperk is, hou die vervaldatum leeg of 0.",
"If you have any questions, please get back to us.","As u enige vrae het, kom asseblief terug na ons.",
Ignore Existing Ordered Qty,Ignoreer bestaande bestel bestel,
Image,Image,
Image View,Beeld vertoning,
Import Data,Data invoer,
Import Day Book Data,Voer dagboekdata in,
Import Log,Invoer Log,
Import Master Data,Voer hoofdata in,
Import in Bulk,Invoer in grootmaat,
Import of goods,Invoer van goedere,
Import of services,Invoer van dienste,
Importing Items and UOMs,Invoer van items en UOM&#39;s,
Importing Parties and Addresses,Partye en adresse invoer,
In Maintenance,In Onderhoud,
In Production,In produksie,
In Qty,In Aantal,
In Stock Qty,Op voorraad Aantal,
In Stock: ,Op voorraad:,
In Value,In Waarde,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent",In die geval van &#39;n multi-vlak program sal kliënte outomaties toegewys word aan die betrokke vlak volgens hul besteding,
Inactive,onaktiewe,
Incentives,aansporings,
Include Default Book Entries,Sluit standaardboekinskrywings in,
Include Exploded Items,Sluit ontplofte items in,
Include POS Transactions,Sluit POS-transaksies in,
Include UOM,Sluit UOM in,
Included in Gross Profit,Ingesluit in die bruto wins,
Income,Inkomste,
Income Account,Inkomsterekening,
Income Tax,Inkomstebelasting,
Incoming,inkomende,
Incoming Rate,Inkomende koers,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Onjuiste aantal algemene grootboekinskrywings gevind. U het moontlik &#39;n verkeerde rekening in die transaksie gekies.,
Increment cannot be 0,Toename kan nie 0 wees nie,
Increment for Attribute {0} cannot be 0,Toename vir kenmerk {0} kan nie 0 wees nie,
Indirect Expenses,Indirekte uitgawes,
Indirect Income,Indirekte Inkomste,
Individual,individuele,
Ineligible ITC,Ongeskik ITC,
Initiated,geïnisieer,
Inpatient Record,Inpatient Rekord,
Installation Note,Installasie Nota,
Installation Note {0} has already been submitted,Installasie Nota {0} is reeds ingedien,
Installation date cannot be before delivery date for Item {0},Installasiedatum kan nie voor afleweringsdatum vir Item {0} wees nie.,
Installing presets,Voorinstellings installeer,
Institute Abbreviation,Instituut Afkorting,
Institute Name,Instituut Naam,
Instructor,instrukteur,
Insufficient Stock,Onvoldoende voorraad,
Insurance Start date should be less than Insurance End date,Versekering Aanvangsdatum moet minder wees as Versekerings-einddatum,
Integrated Tax,Geïntegreerde Belasting,
Inter-State Supplies,Inter-staatsbenodigdhede,
Internet Publishing,Internet Publishing,
Intra-State Supplies,Binnelandse toestand voorrade,
Introduction,inleiding,
Invalid Attribute,Ongeldige kenmerk,
Invalid Blanket Order for the selected Customer and Item,Ongeldige kombersorder vir die gekose kliënt en item,
Invalid Company for Inter Company Transaction.,Ongeldige maatskappy vir transaksies tussen maatskappye.,
Invalid GSTIN! A GSTIN must have 15 characters.,Ongeldige GSTIN! &#39;N GSTIN moet 15 karakters hê.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Ongeldige GSTIN! Eerste 2 syfers van GSTIN moet ooreenstem met die staat nommer {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,"Ongeldige GSTIN! Die invoer wat u ingevoer het, stem nie ooreen met die formaat van GSTIN nie.",
Invalid Posting Time,Ongeldige plasings tyd,
Invalid attribute {0} {1},Ongeldige kenmerk {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Ongeldige hoeveelheid gespesifiseer vir item {0}. Hoeveelheid moet groter as 0 wees.,
Invalid reference {0} {1},Ongeldige verwysing {0} {1},
Invalid {0},Ongeldige {0},
Invalid {0} for Inter Company Transaction.,Ongeldig {0} vir transaksies tussen maatskappye.,
Invalid {0}: {1},Ongeldige {0}: {1},
Inventory,Voorraad,
Investment Banking,Beleggingsbankdienste,
Investments,beleggings,
Invoice,faktuur,
Invoice Created,Invoice Created,
Invoice Discounting,Faktuurdiskontering,
Invoice Patient Registration,Faktuur Pasiënt Registrasie,
Invoice Posting Date,Invoice Posting Date,
Invoice Type,Faktuur Tipe,
Invoice already created for all billing hours,Faktuur wat reeds vir alle faktuurure geskep is,
Invoice can't be made for zero billing hour,Faktuur kan nie vir nul faktuuruur gemaak word nie,
Invoice {0} no longer exists,Faktuur {0} bestaan nie meer nie,
Invoiced,gefaktureer,
Invoiced Amount,Gefaktureerde bedrag,
Invoices,fakture,
Invoices for Costumers.,Fakture vir kliënte.,
Inward supplies from ISD,Binnelandse voorrade vanaf ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),Binnelandse voorrade onderhewig aan omgekeerde koste (behalwe 1 en 2 hierbo),
Is Active,Is aktief,
Is Default,Is standaard,
Is Existing Asset,Is Bestaande Bate,
Is Frozen,Is bevrore,
Is Group,Is die groep,
Issue,Uitgawe,
Issue Material,Uitgawe Materiaal,
Issued,Uitgereik,
Issues,kwessies,
It is needed to fetch Item Details.,Dit is nodig om Itembesonderhede te gaan haal.,
Item,item,
Item 1,Item 1,
Item 2,Item 2,
Item 3,Item 3,
Item 4,Item 4,
Item 5,Item 5,
Item Cart,Item winkelwagen,
Item Code,Itemkode,
Item Code cannot be changed for Serial No.,Item Kode kan nie vir Serienommer verander word nie.,
Item Code required at Row No {0},Itemkode benodig by ry nr {0},
Item Description,Item Beskrywing,
Item Group,Itemgroep,
Item Group Tree,Itemgroep Boom,
Item Group not mentioned in item master for item {0},Itemgroep nie genoem in itemmeester vir item {0},
Item Name,Item naam,
Item Price added for {0} in Price List {1},Itemprys bygevoeg vir {0} in Pryslys {1},
"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Itemprys verskyn verskeie kere gebaseer op Pryslys, Verskaffer / Kliënt, Geld, Item, UOM, Hoeveelheid en Datums.",
Item Price updated for {0} in Price List {1},Itemprys opgedateer vir {0} in Pryslys {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Itemreeks {0}: {1} {2} bestaan nie in bostaande &#39;{1}&#39; tabel nie,
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Itembelastingreeks {0} moet rekening hou met die tipe Belasting of Inkomste of Uitgawe of Belasbare,
Item Template,Item Sjabloon,
Item Variant Settings,Item Variant instellings,
Item Variant {0} already exists with same attributes,Item Variant {0} bestaan reeds met dieselfde eienskappe,
Item Variants,Item Varianten,
Item Variants updated,Itemvariante opgedateer,
Item has variants.,Item het variante.,
Item must be added using 'Get Items from Purchase Receipts' button,Item moet bygevoeg word deur gebruik te maak van die &#39;Kry Items van Aankoopontvangste&#39; -knoppie,
Item valuation rate is recalculated considering landed cost voucher amount,Itemwaardasiekoers word herbereken na inagneming van geland koste kupon bedrag,
Item variant {0} exists with same attributes,Item variant {0} bestaan met dieselfde eienskappe,
Item {0} does not exist,Item {0} bestaan nie,
Item {0} does not exist in the system or has expired,Item {0} bestaan nie in die stelsel nie of het verval,
Item {0} has already been returned,Item {0} is reeds teruggestuur,
Item {0} has been disabled,Item {0} is gedeaktiveer,
Item {0} has reached its end of life on {1},Item {0} het sy einde van die lewe bereik op {1},
Item {0} ignored since it is not a stock item,Item {0} geïgnoreer omdat dit nie &#39;n voorraaditem is nie,
"Item {0} is a template, please select one of its variants","Item {0} is &#39;n sjabloon, kies asseblief een van sy variante",
Item {0} is cancelled,Item {0} is gekanselleer,
Item {0} is disabled,Item {0} is gedeaktiveer,
Item {0} is not a serialized Item,Item {0} is nie &#39;n seriële item nie,
Item {0} is not a stock Item,Item {0} is nie &#39;n voorraaditem nie,
Item {0} is not active or end of life has been reached,Item {0} is nie aktief of die einde van die lewe is bereik nie,
Item {0} is not setup for Serial Nos. Check Item master,Item {0} is nie opgestel vir Serial Nos. Check Item Master,
Item {0} is not setup for Serial Nos. Column must be blank,Item {0} is nie opgestel vir Serial Nos. Kolom moet leeg wees,
Item {0} must be a Fixed Asset Item,Item {0} moet &#39;n vaste bate-item wees,
Item {0} must be a Sub-contracted Item,Item {0} moet &#39;n Subkontrakteerde Item wees,
Item {0} must be a non-stock item,Item {0} moet &#39;n nie-voorraaditem wees,
Item {0} must be a stock Item,Item {0} moet &#39;n voorraaditem wees,
Item {0} not found,Item {0} nie gevind nie,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Item {0} nie gevind in die &#39;Raw Materials Supply-tabel &quot;in die bestelling {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Item {0}: Bestelde hoeveelheid {1} kan nie minder wees as die minimum bestelhoeveelheid {2} (gedefinieer in Item).,
Item: {0} does not exist in the system,Item: {0} bestaan nie in die stelsel nie,
Items,items,
Items Filter,Items Filter,
Items and Pricing,Items en pryse,
Items for Raw Material Request,Items vir grondstofversoek,
Job Card,Werkkaart,
Job card {0} created,Werkkaart {0} geskep,
Join,aansluit,
Journal Entries {0} are un-linked,Joernaalinskrywings {0} is nie gekoppel nie,
Journal Entry,Joernaalinskrywing,
Journal Entry {0} does not have account {1} or already matched against other voucher,Joernaal-inskrywing {0} het nie rekening {1} of alreeds teen ander geskenkbewyse aangepas nie,
Kanban Board,Kanban Raad,
Key Reports,Sleutelverslae,
LMS Activity,LMS-aktiwiteit,
Lab Test,Lab Test,
Lab Test Report,Lab Test Report,
Lab Test Sample,Lab Test Voorbeeld,
Lab Test Template,Lab Test Template,
Lab Test UOM,Lab Test UOM,
Lab Tests and Vital Signs,Lab toetse en Vital Signs,
Lab result datetime cannot be before testing datetime,Lab resultaat datetime kan nie wees voordat die datetime word getoets,
Lab testing datetime cannot be before collection datetime,Lab testing date time kan nie voor die versameling date time,
Label,Etiket,
Laboratory,laboratorium,
Large,groot,
Last Communication,Laaste Kommunikasie,
Last Communication Date,Laaste Kommunikasiedatum,
Last Name,Van,
Last Order Amount,Laaste bestelbedrag,
Last Order Date,Laaste bestellingsdatum,
Last Purchase Price,Laaste aankoopprys,
Last Purchase Rate,Laaste aankoopprys,
Latest,Laaste,
Latest price updated in all BOMs,Laaste prys opgedateer in alle BOM&#39;s,
Lead,lood,
Lead Count,Loodtelling,
Lead Owner,Leier Eienaar,
Lead Owner cannot be same as the Lead,Leier Eienaar kan nie dieselfde wees as die Lood nie,
Lead Time Days,Lood Tyddae,
Lead to Quotation,Lei tot aanhaling,
"Leads help you get business, add all your contacts and more as your leads","Leiers help om sake te doen, voeg al jou kontakte en meer as jou leidrade by",
Learn,Leer,
Leave Management,Verlofbestuur,
Leave and Attendance,Verlof en Bywoning,
Leave application {0} already exists against the student {1},Laat aansoek {0} bestaan reeds teen die student {1},
Leaves has been granted sucessfully,Blare is suksesvol toegeken,
Leaves must be allocated in multiples of 0.5,Blare moet in veelvoude van 0.5 toegeken word,
Ledger,grootboek,
Legal,Wettig,
Legal Expenses,Regskoste,
Letter Head,Briefhoof,
Letter Heads for print templates.,Briefhoofde vir druk sjablone.,
Level,vlak,
Liability,aanspreeklikheid,
Limit Crossed,Gekruiste Gekruis,
Link to Material Request,Skakel na Materiaal Versoek,
List of all share transactions,Lys van alle aandeel transaksies,
List of available Shareholders with folio numbers,Lys van beskikbare Aandeelhouers met folio nommers,
Loading Payment System,Laai betaalstelsel,
Loan,lening,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Die begindatum van die lening en die leningstydperk is verpligtend om die faktuurdiskontering te bespaar,
Loans (Liabilities),Lenings (laste),
Loans and Advances (Assets),Lenings en voorskotte (bates),
Local,plaaslike,
Logs for maintaining sms delivery status,Logs vir die instandhouding van sms-leweringstatus,
Lost,verloor,
Lost Reasons,Verlore redes,
Low,lae,
Low Sensitivity,Lae Sensitiwiteit,
Lower Income,Laer Inkomste,
Loyalty Amount,Lojaliteit Bedrag,
Loyalty Point Entry,Loyaliteitspuntinskrywing,
Loyalty Points,Loyaliteitspunte,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Loyaliteitspunte sal bereken word uit die bestede gedoen (via die Verkoopfaktuur), gebaseer op die genoemde invorderingsfaktor.",
Loyalty Points: {0},Lojaliteitspunte: {0},
Loyalty Program,Lojaliteitsprogram,
Main,Main,
Maintenance,onderhoud,
Maintenance Log,Onderhoud Log,
Maintenance Manager,Onderhoudbestuurder,
Maintenance Schedule,Onderhoudskedule,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Onderhoudskedule word nie vir al die items gegenereer nie. Klik asseblief op &#39;Generate Schedule&#39;,
Maintenance Schedule {0} exists against {1},Onderhoudskedule {0} bestaan teen {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Onderhoudskedule {0} moet gekanselleer word voordat u hierdie verkooporder kanselleer,
Maintenance Status has to be Cancelled or Completed to Submit,Onderhoudstatus moet gekanselleer of voltooi word om in te dien,
Maintenance User,Instandhoudingsgebruiker,
Maintenance Visit,Onderhoud Besoek,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Instandhoudingsbesoek {0} moet gekanselleer word voordat u hierdie verkooporder kanselleer,
Maintenance start date can not be before delivery date for Serial No {0},Onderhoud begin datum kan nie voor afleweringsdatum vir reeksnommer {0},
Make,maak,
Make Payment,Maak betaling,
Make project from a template.,Maak &#39;n projek uit &#39;n patroonvorm.,
Making Stock Entries,Maak voorraadinskrywings,
Male,Manlik,
Manage Customer Group Tree.,Bestuur kliëntgroepboom.,
Manage Sales Partners.,Bestuur verkoopsvennote.,
Manage Sales Person Tree.,Bestuur verkopersboom.,
Manage Territory Tree.,Bestuur Territory Tree.,
Manage your orders,Bestuur jou bestellings,
Management,bestuur,
Manager,Bestuurder,
Managing Projects,Bestuur van projekte,
Managing Subcontracting,Bestuur van onderaanneming,
Mandatory,Verpligtend,
Mandatory field - Academic Year,Verpligte vak - Akademiese Jaar,
Mandatory field - Get Students From,Verpligte veld - Kry studente van,
Mandatory field - Program,Verpligte veld - Program,
Manufacture,vervaardiging,
Manufacturer,vervaardiger,
Manufacturer Part Number,Vervaardiger Art,
Manufacturing,vervaardiging,
Manufacturing Quantity is mandatory,Vervaardiging Hoeveelheid is verpligtend,
Mapping,Karteer,
Mapping Type,Mapping Type,
Mark Absent,Merk afwesig,
Mark Half Day,Merk Halfdag,
Mark Present,Merk Aanbied,
Marketing,bemarking,
Marketing Expenses,Bemarkingsuitgawes,
Marketplace,mark,
Marketplace Error,Markeringsfout,
Masters,meesters,
Match Payments with Invoices,Pas betalings met fakture,
Match non-linked Invoices and Payments.,Pas nie-gekoppelde fakture en betalings.,
Material,materiaal,
Material Consumption,Materiële verbruik,
Material Consumption is not set in Manufacturing Settings.,Materiaalverbruik is nie in Vervaardigingsinstellings gestel nie.,
Material Receipt,Materiaal Ontvangs,
Material Request,Materiaal Versoek,
Material Request Date,Materiaal Versoek Datum,
Material Request No,Materiële versoek nr,
"Material Request not created, as quantity for Raw Materials already available.","Materiaalversoek nie geskep nie, aangesien daar reeds beskikbaar hoeveelheid grondstowwe is.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Materiaal Versoek van maksimum {0} kan gemaak word vir Item {1} teen Verkoopsbestelling {2},
Material Request to Purchase Order,Materiaal Versoek om aankoop bestelling,
Material Request {0} is cancelled or stopped,Materiaalversoek {0} word gekanselleer of gestop,
Material Request {0} submitted.,Materiaalversoek {0} ingedien.,
Material Transfer,Materiaal Oordrag,
Material Transferred,Materiaal oorgedra,
Material to Supplier,Materiaal aan verskaffer,
Max discount allowed for item: {0} is {1}%,Maksimum afslag wat toegelaat word vir item: {0} is {1}%,
Max: {0},Maks: {0},
Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Maksimum monsters - {0} kan behou word vir bondel {1} en item {2}.,
Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Maksimum steekproewe - {0} is reeds behou vir bondel {1} en item {2} in bondel {3}.,
Maximum discount for Item {0} is {1}%,Maksimum afslag vir Item {0} is {1}%,
Medical Code,Mediese Kode,
Medical Code Standard,Mediese Kode Standaard,
Medical Department,Mediese Departement,
Medical Record,Mediese rekord,
Medium,medium,
Member Activity,Lid Aktiwiteit,
Member ID,lidmaatskapnommer,
Member Name,Lid Naam,
Member information.,Lid inligting.,
Membership,lidmaatskap,
Membership Details,Lidmaatskapbesonderhede,
Membership ID,Lidmaatskap ID,
Membership Type,Lidmaatskap Tipe,
Memebership Details,Memebership Details,
Memebership Type Details,Memebership Tipe Besonderhede,
Merge,saam te smelt,
Merge Account,Samevoeg rekening,
Merge with Existing Account,Voeg saam met bestaande rekening,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Samevoeging is slegs moontlik as die volgende eienskappe dieselfde in albei rekords is. Is Groep, Worteltipe, Maatskappy",
Message Examples,Boodskap Voorbeelde,
Message Sent,Boodskap gestuur,
Method,metode,
Middle Income,Middelinkomste,
Middle Name,Middelnaam,
Middle Name (Optional),Middelnaam (opsioneel),
Min Amt can not be greater than Max Amt,Min Amt kan nie groter wees as Max Amt nie,
Min Qty can not be greater than Max Qty,Minimum hoeveelheid kan nie groter wees as Max,
Minimum Lead Age (Days),Minimum leeftyd (Dae),
Miscellaneous Expenses,Diverse uitgawes,
Missing Currency Exchange Rates for {0},Ontbrekende geldeenheid wisselkoerse vir {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Ontbrekende e-pos sjabloon vir gestuur. Stel asseblief een in afleweringsinstellings in.,
"Missing value for Password, API Key or Shopify URL","Ontbrekende waarde vir Wagwoord-, API-sleutel- of Shopify-URL",
Mode of Payment,Betaalmetode,
Mode of Payments,Betaalmetode,
Mode of Transport,Vervoermodus,
Mode of Transportation,Vervoermodus,
Model,model,
Moderate Sensitivity,Matige Sensitiwiteit,
Monday,Maandag,
Monthly,maandelikse,
Monthly Distribution,Maandelikse Verspreiding,
More,meer,
More Information,Meer inligting,
More...,Meer ...,
Motion Picture & Video,Motion Picture &amp; Video,
Move,skuif,
Move Item,Skuif item,
Multi Currency,Multi Geld,
Multiple Item prices.,Meervoudige Item pryse.,
Multiple Loyalty Program found for the Customer. Please select manually.,Veelvuldige lojaliteitsprogram vir die kliënt. Kies asseblief handmatig.,
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}",Veelvuldige prysreëls bestaan volgens dieselfde kriteria. Beslis asseblief konflik deur prioriteit toe te ken. Prys Reëls: {0},
Multiple Variants,Veelvuldige Varianten,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Verskeie fiskale jare bestaan vir die datum {0}. Stel asseblief die maatskappy in die fiskale jaar,
Music,Musiek,
Name error: {0},Naam fout: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Naam van nuwe rekening. Nota: skep asseblief nie rekeninge vir kliënte en verskaffers nie,
Name or Email is mandatory,Naam of e-pos is verpligtend,
Nature Of Supplies,Aard van Voorrade,
Navigating,opgevolg,
Needs Analysis,Behoefte-analise,
Negative Quantity is not allowed,Negatiewe Hoeveelheid word nie toegelaat nie,
Negative Valuation Rate is not allowed,Negatiewe Waardasietarief word nie toegelaat nie,
Negotiation/Review,Onderhandeling / Review,
Net Asset value as on,Netto batewaarde soos aan,
Net Cash from Financing,Netto kontant uit finansiering,
Net Cash from Investing,Netto kontant uit belegging,
Net Cash from Operations,Netto kontant uit bedrywighede,
Net Change in Accounts Payable,Netto verandering in rekeninge betaalbaar,
Net Change in Accounts Receivable,Netto verandering in rekeninge ontvangbaar,
Net Change in Cash,Netto verandering in kontant,
Net Change in Equity,Netto verandering in ekwiteit,
Net Change in Fixed Asset,Netto verandering in vaste bate,
Net Change in Inventory,Netto verandering in voorraad,
Net ITC Available(A) - (B),Netto ITC beskikbaar (A) - (B),
Net Profit,Netto wins,
Net Total,Netto Totaal,
New Account Name,Nuwe rekening naam,
New Address,Nuwe adres,
New BOM,Nuwe BOM,
New Batch ID (Optional),Nuwe batch ID (opsioneel),
New Batch Qty,Nuwe batch hoeveelheid,
New Company,Nuwe Maatskappy,
New Cost Center Name,Nuwe koste sentrum naam,
New Customer Revenue,Nuwe kliëntinkomste,
New Customers,Nuwe kliënte,
New Department,Nuwe Departement,
New Employee,Nuwe Werknemer,
New Location,Nuwe Ligging,
New Quality Procedure,Nuwe kwaliteitsprosedure,
New Sales Invoice,Nuwe verkope faktuur,
New Sales Person Name,Nuwe verkope persoon se naam,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nuwe reeksnommer kan nie pakhuis hê nie. Pakhuis moet ingestel word deur Voorraadinskrywing of Aankoop Ontvangst,
New Warehouse Name,Nuwe pakhuis naam,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Nuwe kredietlimiet is minder as die huidige uitstaande bedrag vir die kliënt. Kredietlimiet moet ten minste {0} wees,
New task,Nuwe taak,
New {0} pricing rules are created,Nuwe {0} prysreëls word geskep,
Newspaper Publishers,Koerantuitgewers,
Next,volgende,
Next Contact By cannot be same as the Lead Email Address,Volgende kontak deur kan nie dieselfde wees as die hoof epos adres nie,
Next Contact Date cannot be in the past,Volgende kontak datum kan nie in die verlede wees nie,
Next Steps,Volgende stappe,
No Action,Geen aksie,
No Customers yet!,Nog geen kliënte!,
No Data,Geen data,
No Delivery Note selected for Customer {},Geen afleweringsnota gekies vir kliënt {},
No Item with Barcode {0},Geen item met strepieskode {0},
No Item with Serial No {0},Geen item met reeksnommer {0},
No Items available for transfer,Geen items beskikbaar vir oordrag nie,
No Items selected for transfer,Geen items gekies vir oordrag nie,
No Items to pack,Geen items om te pak nie,
No Items with Bill of Materials to Manufacture,Geen items met die materiaal om te vervaardig,
No Items with Bill of Materials.,Geen voorwerpe met materiaalbriewe nie.,
No Permission,Geen toestemming nie,
No Remarks,Geen opmerkings,
No Result to submit,Geen resultaat om in te dien nie,
No Student Groups created.,Geen studentegroepe geskep nie.,
No Students in,Geen studente in,
No Tax Withholding data found for the current Fiscal Year.,Geen belasting weerhou data gevind vir die huidige fiskale jaar.,
No Work Orders created,Geen werkbestellings geskep nie,
No accounting entries for the following warehouses,Geen rekeningkundige inskrywings vir die volgende pakhuise nie,
No contacts with email IDs found.,Geen kontakte met e-pos ID&#39;s gevind nie.,
No data for this period,Geen data vir hierdie tydperk nie,
No description given,Geen beskrywing gegee nie,
No employees for the mentioned criteria,Geen werknemers vir die genoemde kriteria,
No gain or loss in the exchange rate,Geen wins of verlies in die wisselkoers nie,
No items listed,Geen items gelys nie,
No items to be received are overdue,Geen items wat ontvang moet word is agterstallig nie,
No material request created,Geen wesenlike versoek geskep nie,
No of Interactions,Geen interaksies nie,
No of Shares,Aantal Aandele,
No pending Material Requests found to link for the given items.,Geen hangende materiaal versoeke gevind om te skakel vir die gegewe items.,
No products found,Geen produkte gevind nie,
No products found.,Geen produkte gevind.,
No record found,Geen rekord gevind nie,
No records found in the Invoice table,Geen rekords gevind in die faktuur tabel nie,
No records found in the Payment table,Geen rekords gevind in die betalingstabel nie,
No tasks,Geen take nie,
No time sheets,Geen tydskrifte nie,
No values,Geen waardes nie,
No {0} found for Inter Company Transactions.,Geen {0} gevind vir intermaatskappy transaksies nie.,
Non GST Inward Supplies,Nie-GST-binnelandse voorrade,
Non Profit,Nie-winsgewend,
Non Profit (beta),Nie-winsgewend (beta),
Non-GST outward supplies,Nie-GST uiterlike voorrade,
Non-Group to Group,Nie-Groep tot Groep,
None,Geen,
None of the items have any change in quantity or value.,Geen van die items het enige verandering in hoeveelheid of waarde nie.,
Nos,Nos,
Not Available,Nie beskikbaar nie,
Not Marked,Nie gemerk nie,
Not Paid and Not Delivered,Nie Betaal nie en nie afgelewer nie,
Not Permitted,Nie toegelaat,
Not Started,Nie begin,
Not active,Nie aktief nie,
Not allow to set alternative item for the item {0},Moenie toelaat dat alternatiewe item vir die item {0},
Not allowed to update stock transactions older than {0},Nie toegelaat om voorraadtransaksies ouer as {0} by te werk nie.,
Not authorized to edit frozen Account {0},Nie gemagtig om bevrore rekening te redigeer nie {0},
Not authroized since {0} exceeds limits,Nie outhroized sedert {0} oorskry limiete,
Not permitted for {0},Nie toegelaat vir {0},
"Not permitted, configure Lab Test Template as required","Nie toegelaat nie, stel Lab Test Template op soos vereis",
Not permitted. Please disable the Service Unit Type,Nie toegelaat. Skakel asseblief die dienseenheidstipe uit,
Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Nota: Vervaldatum / Verwysingsdatum oorskry toegelate kliënte kredietdae teen {0} dag (e),
Note: Item {0} entered multiple times,Nota: Item {0} het verskeie kere ingeskryf,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Let wel: Betalinginskrywing sal nie geskep word nie aangesien &#39;Kontant of Bankrekening&#39; nie gespesifiseer is nie,
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Nota: Stelsel sal nie oorlewering en oorboeking vir Item {0} nagaan nie aangesien hoeveelheid of bedrag 0 is,
Note: There is not enough leave balance for Leave Type {0},Nota: Daar is nie genoeg verlofbalans vir Verlof-tipe {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Let wel: Hierdie kostesentrum is &#39;n groep. Kan nie rekeningkundige inskrywings teen groepe maak nie.,
Note: {0},Nota: {0},
Notes,notas,
Nothing is included in gross,Niks is by die bruto ingesluit nie,
Nothing more to show.,Niks meer om te wys nie.,
Notify Customers via Email,Stel kliënte in kennis per e-pos,
Number,aantal,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,"Aantal afskrywings wat bespreek word, kan nie groter wees as die totale aantal afskrywings nie",
Number of Interaction,Aantal interaksies,
Number of Order,Aantal bestellings,
"Number of new Account, it will be included in the account name as a prefix","Aantal nuwe rekeninge, dit sal as &#39;n voorvoegsel in die rekeningnaam ingesluit word",
"Number of new Cost Center, it will be included in the cost center name as a prefix","Aantal nuwe kostesentrums, dit sal as &#39;n voorvoegsel in die kostepuntnaam ingesluit word",
Number of root accounts cannot be less than 4,Aantal stamrekeninge mag nie minder as 4 wees nie,
Odometer,odometer,
Office Equipments,Kantoor Uitrustingen,
Office Maintenance Expenses,Kantoor Onderhoud Uitgawes,
Office Rent,Kantoorhuur,
On Hold,On Hold,
On Net Total,Op Netto Totaal,
One customer can be part of only single Loyalty Program.,Een kliënt kan deel wees van slegs enkele Lojaliteitsprogram.,
Online Auctions,Aanlyn veilings,
"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Slegs die Student Aansoeker met die status &quot;Goedgekeur&quot; sal in die onderstaande tabel gekies word.,
Only users with {0} role can register on Marketplace,Slegs gebruikers met {0} -rol kan op Marketplace registreer,
Open BOM {0},Oop BOM {0},
Open Item {0},Oop item {0},
Open Notifications,Maak kennisgewings oop,
Open Orders,Open bestellings,
Open a new ticket,Maak &#39;n nuwe kaartjie oop,
Opening,opening,
Opening (Cr),Opening (Cr),
Opening (Dr),Opening (Dr),
Opening Accounting Balance,Openingsrekeningkundige balans,
Opening Accumulated Depreciation,Opening Opgehoopte Waardevermindering,
Opening Accumulated Depreciation must be less than equal to {0},Oopopgehoopte waardevermindering moet minder wees as gelyk aan {0},
Opening Balance,Beginsaldo,
Opening Balance Equity,Openingsaldo-ekwiteit,
Opening Date and Closing Date should be within same Fiscal Year,Openingsdatum en sluitingsdatum moet binne dieselfde fiskale jaar wees,
Opening Date should be before Closing Date,Openingsdatum moet voor sluitingsdatum wees,
Opening Entry Journal,Opening Entry Journal,
Opening Invoice Creation Tool,Openingsfaktuurskeppingsinstrument,
Opening Invoice Item,Invoer faktuur item oopmaak,
Opening Invoices,Opening fakture,
Opening Invoices Summary,Opsomming van faktuuropgawe,
Opening Qty,Opening Aantal,
Opening Stock,Openingsvoorraad,
Opening Stock Balance,Opening Voorraadbalans,
Opening Value,Openingswaarde,
Opening {0} Invoice created,Opening {0} Faktuur geskep,
Operation,operasie,
Operation Time must be greater than 0 for Operation {0},Operasie Tyd moet groter wees as 0 vir Operasie {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operasie {0} langer as enige beskikbare werksure in werkstasie {1}, breek die operasie in verskeie bewerkings af",
Operations,bedrywighede,
Operations cannot be left blank,Operasies kan nie leeg gelaat word nie,
Opp Count,Oppentelling,
Opp/Lead %,Opp / Lei%,
Opportunities,Geleenthede,
Opportunities by lead source,Geleenthede deur hoofbron,
Opportunity,geleentheid,
Opportunity Amount,Geleentheid Bedrag,
"Optional. Sets company's default currency, if not specified.","Opsioneel. Stel die maatskappy se standaard valuta in, indien nie gespesifiseer nie.",
Optional. This setting will be used to filter in various transactions.,Opsioneel. Hierdie instelling sal gebruik word om in verskillende transaksies te filter.,
Options,opsies,
Order Count,Bestelling telling,
Order Entry,Bestelling Inskrywing,
Order Value,Bestelwaarde,
Order rescheduled for sync,Bestelling geskeduleer vir sinkronisering,
Order/Quot %,Bestelling / Kwotasie%,
Ordered,bestel,
Ordered Qty,Bestelde hoeveelheid,
"Ordered Qty: Quantity ordered for purchase, but not received.","Aantal bestel: Hoeveelheid bestel vir aankoop, maar nie ontvang nie.",
Orders,bestellings,
Orders released for production.,Bestellings vrygestel vir produksie.,
Organization,organisasie,
Organization Name,Organisasie Naam,
Other,ander,
Other Reports,Ander verslae,
"Other outward supplies(Nil rated,Exempted)","Ander voorrade (nul beoordeel, vrygestel)",
Out Qty,Uit Aantal,
Out Value,Uitwaarde,
Out of Order,Buite werking,
Outgoing,uitgaande,
Outstanding,uitstaande,
Outstanding Amount,Uitstaande bedrag,
Outstanding Amt,Uitstaande Amt,
Outstanding Cheques and Deposits to clear,Uitstaande tjeks en deposito&#39;s om skoon te maak,
Outstanding for {0} cannot be less than zero ({1}),Uitstaande vir {0} kan nie minder as nul wees nie ({1}),
Outward taxable supplies(zero rated),Buitelandse belasbare lewerings (nulkoers),
Overdue,agterstallige,
Overlap in scoring between {0} and {1},Oorvleuel in die telling tussen {0} en {1},
Overlapping conditions found between:,Oorvleuelende toestande tussen:,
Owner,Eienaar,
PAN,PAN,
POS,POS,
POS Profile,POS Profiel,
POS Profile is required to use Point-of-Sale,POS-profiel is nodig om Punt van Verkope te gebruik,
POS Profile required to make POS Entry,POS-profiel wat nodig is om POS-inskrywing te maak,
POS Settings,Posinstellings,
Packed quantity must equal quantity for Item {0} in row {1},Gepakte hoeveelheid moet gelyke hoeveelheid vir Item {0} in ry {1},
Packing Slip,Packing Slip,
Packing Slip(s) cancelled,Verpakkingstrokie (s) gekanselleer,
Paid,betaal,
Paid Amount,Betaalde bedrag,
Paid Amount cannot be greater than total negative outstanding amount {0},Betaalde bedrag kan nie groter wees as die totale negatiewe uitstaande bedrag {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Betaalde bedrag + Skryf af Die bedrag kan nie groter as Grand Total wees nie,
Paid and Not Delivered,Betaal en nie afgelewer nie,
Parameter,parameter,
Parent Item {0} must not be a Stock Item,Ouer Item {0} mag nie &#39;n voorraaditem wees nie,
Parents Teacher Meeting Attendance,Ouers Onderwysersvergadering Bywoning,
Partially Depreciated,Gedeeltelik afgeskryf,
Partially Received,Gedeeltelik Ontvang,
Party,Party,
Party Name,Party Naam,
Party Type,Party Tipe,
Party Type and Party is mandatory for {0} account,Party Tipe en Party is verpligtend vir {0} rekening,
Party Type is mandatory,Party Tipe is verpligtend,
Party is mandatory,Party is verpligtend,
Past Due Date,Verlede Vervaldatum,
Patient,pasiënt,
Patient Appointment,Pasiënt Aanstelling,
Patient Encounter,Pasiënt ontmoeting,
Patient not found,Pasiënt nie gevind nie,
Pay Remaining,Betaal Reserwe,
Pay {0} {1},Betaal {0} {1},
Payable,betaalbaar,
Payable Account,Betaalbare rekening,
Payment,betaling,
Payment Cancelled. Please check your GoCardless Account for more details,Betaling gekanselleer. Gaan asseblief jou GoCardless rekening vir meer besonderhede,
Payment Confirmation,Bevestiging van betaling,
Payment Document,Betalingsdokument,
Payment Due Date,Betaaldatum,
Payment Entries {0} are un-linked,Betalingsinskrywings {0} is nie gekoppel nie,
Payment Entry,Betaling Inskrywing,
Payment Entry already exists,Betalinginskrywing bestaan reeds,
Payment Entry has been modified after you pulled it. Please pull it again.,Betalinginskrywing is gewysig nadat jy dit getrek het. Trek dit asseblief weer.,
Payment Entry is already created,Betalinginskrywing is reeds geskep,
Payment Failed. Please check your GoCardless Account for more details,Betaling misluk. Gaan asseblief jou GoCardless rekening vir meer besonderhede,
Payment Gateway,Betaling Gateway,
"Payment Gateway Account not created, please create one manually.","Betaling Gateway rekening nie geskep nie, skep asseblief een handmatig.",
Payment Gateway Name,Betaling Gateway Naam,
Payment Mode,Betaal af,
Payment Receipt Note,Betaling Ontvangst Nota,
Payment Request,Betalingsversoek,
Payment Request for {0},Betaling Versoek vir {0},
Payment Tems,Betalingstems,
Payment Term,Betaling termyn,
Payment Terms,Betalingsvoorwaardes,
Payment Terms Template,Betalings terme sjabloon,
Payment Terms based on conditions,Betalingsvoorwaardes gebaseer op voorwaardes,
Payment Type,Tipe van betaling,
"Payment Type must be one of Receive, Pay and Internal Transfer","Betalingstipe moet een van Ontvang, Betaal en Interne Oordrag wees",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Betaling teen {0} {1} kan nie groter wees as Uitstaande bedrag nie {2},
Payment request {0} created,Betaling Versoek {0} geskep,
Payments,betalings,
Payroll Payable,Betaalstaat betaalbaar,
Payslip,Betaalstrokie,
Pending Activities,Hangende aktiwiteite,
Pending Amount,Hangende bedrag,
Pending Leaves,Hangende blare,
Pending Qty,Hangende hoeveelheid,
Pending Quantity,Hangende hoeveelheid,
Pending Review,Hangende beoordeling,
Pending activities for today,Hangende aktiwiteite vir vandag,
Pension Funds,Pensioenfondse,
Percentage Allocation should be equal to 100%,Persentasie toewysing moet gelyk wees aan 100%,
Perception Analysis,Persepsie-analise,
Period,tydperk,
Period Closing Entry,Tydperk sluitingsinskrywing,
Period Closing Voucher,Periode Sluitingsbewys,
Periodicity,periodisiteit,
Personal Details,Persoonlike inligting,
Pharmaceutical,farmaseutiese,
Pharmaceuticals,farmaseutiese,
Physician,dokter,
Place Of Supply (State/UT),Plek van Voorsiening (Staat / UT),
Place Order,Plaas bestelling,
Plan Name,Plan Naam,
Plan for maintenance visits.,Beplan vir onderhoudsbesoeke.,
Planned Qty,Beplande hoeveelheid,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Beplande hoeveelheid: Hoeveelheid, die werkorder is verhoog, maar is afwagtend vervaardig.",
Planning,Beplanning,
Plants and Machineries,Plante en Masjinerie,
Please Set Supplier Group in Buying Settings.,Stel asseblief Verskaffersgroep in Koopinstellings.,
Please add a Temporary Opening account in Chart of Accounts,Voeg asseblief &#39;n Tydelike Openingsrekening in die Grafiek van Rekeninge by,
Please add the account to root level Company - ,Voeg die rekening asb by wortelvlakonderneming -,
Please check Multi Currency option to allow accounts with other currency,Gaan asseblief die opsie Multi Currency aan om rekeninge met ander geldeenhede toe te laat,
Please click on 'Generate Schedule',Klik asseblief op &#39;Generate Schedule&#39;,
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Klik asseblief op &#39;Generate Schedule&#39; om Serial No te laai vir Item {0},
Please click on 'Generate Schedule' to get schedule,Klik asseblief op &#39;Generate Schedule&#39; om skedule te kry,
Please create purchase receipt or purchase invoice for the item {0},Maak asseblief aankoopkwitansie of aankoopfaktuur vir die item {0},
Please define grade for Threshold 0%,Definieer asseblief graad vir Drempel 0%,
Please enable Applicable on Booking Actual Expenses,Aktiveer asseblief Toepaslike op Boeking Werklike Uitgawes,
Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Aktiveer asseblief Toepaslik op Aankoopbestelling en Toepaslik op Boekings Werklike Uitgawes,
Please enable pop-ups,Aktiveer pop-ups,
Please enter 'Is Subcontracted' as Yes or No,Tik asb. &#39;Ja&#39; of &#39;Nee&#39; in,
Please enter API Consumer Key,Voer asseblief die API Verbruikers Sleutel in,
Please enter API Consumer Secret,Voer asseblief die Verbruikersgeheim in,
Please enter Account for Change Amount,Voer asseblief die rekening vir Veranderingsbedrag in,
Please enter Approving Role or Approving User,Voer asseblief &#39;n goedgekeurde rol of goedgekeurde gebruiker in,
Please enter Cost Center,Voer asseblief Koste Sentrum in,
Please enter Delivery Date,Voer asseblief Verskaffingsdatum in,
Please enter Employee Id of this sales person,Voer asseblief die werknemer se ID van hierdie verkoopspersoon in,
Please enter Expense Account,Voer asseblief koste-rekening in,
Please enter Item Code to get Batch Number,Voer asseblief die Kode in om groepsnommer te kry,
Please enter Item Code to get batch no,Voer asseblief die kode in om groepsnommer te kry,
Please enter Item first,Voer asseblief eers die item in,
Please enter Maintaince Details first,Voer asseblief eers Maintaince Details in,
Please enter Planned Qty for Item {0} at row {1},Tik asseblief Beplande hoeveelheid vir item {0} by ry {1},
Please enter Preferred Contact Email,Voer asseblief voorkeur kontak e-pos in,
Please enter Production Item first,Voer asseblief Produksie-item eerste in,
Please enter Purchase Receipt first,Voer asseblief eers Aankoop Ontvangst in,
Please enter Receipt Document,Vul asseblief die kwitansie dokument in,
Please enter Reference date,Voer asseblief Verwysingsdatum in,
Please enter Reqd by Date,Voer asseblief Reqd by Date in,
Please enter Woocommerce Server URL,Voer asseblief die Woocommerce-bediener-URL in,
Please enter Write Off Account,Voer asseblief &#39;Skryf &#39;n rekening in,
Please enter atleast 1 invoice in the table,Voer asseblief ten minste 1 faktuur in die tabel in,
Please enter company first,Voer asseblief die maatskappy eerste in,
Please enter company name first,Voer asseblief die maatskappy se naam eerste in,
Please enter default currency in Company Master,Voer asseblief die standaard geldeenheid in Company Master in,
Please enter message before sending,Vul asseblief die boodskap in voordat u dit stuur,
Please enter parent cost center,Voer asseblief ouer koste sentrum in,
Please enter quantity for Item {0},Gee asseblief die hoeveelheid vir item {0},
Please enter relieving date.,Vul asseblief die verlig datum in.,
Please enter valid Financial Year Start and End Dates,Voer asseblief geldige finansiële jaar se begin- en einddatums in,
Please enter valid email address,Voer asseblief &#39;n geldige e-posadres in,
Please enter {0} first,Voer asseblief eers {0} in,
Please fill in all the details to generate Assessment Result.,Vul alle besonderhede in om assesseringsresultate te genereer.,
Please identify/create Account (Group) for type - {0},Identifiseer / skep rekening (Groep) vir tipe - {0},
Please identify/create Account (Ledger) for type - {0},Identifiseer / skep rekening (Grootboek) vir tipe - {0},
Please login as another user to register on Marketplace,Log in as &#39;n ander gebruiker om op Marketplace te registreer,
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.,Maak asseblief seker dat u regtig alle transaksies vir hierdie maatskappy wil verwyder. Jou meesterdata sal bly soos dit is. Hierdie handeling kan nie ongedaan gemaak word nie.,
Please mention Basic and HRA component in Company,Noem die basiese en HRA-komponent in Company,
Please mention Round Off Account in Company,Gee asseblief &#39;n afwykende rekening in die maatskappy,
Please mention Round Off Cost Center in Company,Noem asseblief die Round Off Cost Center in die Maatskappy,
Please mention no of visits required,Noem asseblief geen besoeke benodig nie,
Please mention the Lead Name in Lead {0},Vermeld asseblief die Lood Naam in Lood {0},
Please pull items from Delivery Note,Trek asseblief items van afleweringsnotas,
Please register the SIREN number in the company information file,Registreer asseblief die SIREN nommer in die maatskappy inligting lêer,
Please remove this Invoice {0} from C-Form {1},Verwyder asseblief hierdie faktuur {0} uit C-vorm {1},
Please save the patient first,Slaan asseblief eers die pasiënt op,
Please save the report again to rebuild or update,Stoor die verslag weer om te herbou of op te dateer,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Kies asseblief Toegewysde bedrag, faktuurtipe en faktuurnommer in ten minste een ry",
Please select Apply Discount On,Kies asseblief Verkoop afslag aan,
Please select BOM against item {0},Kies asseblief BOM teen item {0},
Please select BOM for Item in Row {0},Kies asseblief BOM vir item in ry {0},
Please select BOM in BOM field for Item {0},Kies asseblief BOM in BOM-veld vir Item {0},
Please select Category first,Kies asseblief Kategorie eerste,
Please select Charge Type first,Kies asseblief die laastipe eers,
Please select Company,Kies asseblief Maatskappy,
Please select Company and Posting Date to getting entries,Kies asseblief Maatskappy en Posdatum om inskrywings te kry,
Please select Company first,Kies asseblief Maatskappy eerste,
Please select Completion Date for Completed Asset Maintenance Log,Kies asseblief Voltooiingsdatum vir voltooide bateonderhoudslog,
Please select Completion Date for Completed Repair,Kies asseblief Voltooiingsdatum vir voltooide herstel,
Please select Course,Kies asseblief Kursus,
Please select Drug,Kies asseblief Dwelm,
Please select Existing Company for creating Chart of Accounts,Kies asseblief bestaande maatskappy om &#39;n grafiek van rekeninge te skep,
Please select Healthcare Service,Kies asseblief Gesondheidsorgdiens,
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle",Kies asseblief Item waar &quot;Voorraaditem&quot; is &quot;Nee&quot; en &quot;Is verkoopitem&quot; is &quot;Ja&quot; en daar is geen ander Produkpakket nie.,
Please select Maintenance Status as Completed or remove Completion Date,Kies asseblief Onderhoudstatus as Voltooi of verwyder Voltooiingsdatum,
Please select Party Type first,Kies asseblief Party-tipe eerste,
Please select Patient,Kies asseblief Pasiënt,
Please select Patient to get Lab Tests,Kies asseblief Pasiënt om Lab Tests te kry,
Please select Posting Date before selecting Party,Kies asseblief Posdatum voordat jy Party kies,
Please select Posting Date first,Kies asseblief die Posdatum eerste,
Please select Price List,Kies asseblief Pryslys,
Please select Program,Kies asseblief Program,
Please select Qty against item {0},Kies asseblief hoeveelheid teen item {0},
Please select Sample Retention Warehouse in Stock Settings first,Kies asseblief Sample Retention Warehouse in Voorraadinstellings,
Please select Start Date and End Date for Item {0},Kies asseblief begin datum en einddatum vir item {0},
Please select Student Admission which is mandatory for the paid student applicant,Kies asseblief Studentetoelating wat verpligtend is vir die betaalde studenteversoeker,
Please select a BOM,Kies asseblief &#39;n BOM,
Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Kies asseblief &#39;n bondel vir item {0}. Kan nie &#39;n enkele bondel vind wat aan hierdie vereiste voldoen nie,
Please select a Company,Kies asseblief &#39;n maatskappy,
Please select a batch,Kies asseblief &#39;n bondel,
Please select a field to edit from numpad,Kies asseblief &#39;n veld om van numpad te wysig,
Please select a table,Kies asseblief &#39;n tabel,
Please select a valid Date,Kies asseblief &#39;n geldige datum,
Please select a value for {0} quotation_to {1},Kies asseblief &#39;n waarde vir {0} kwotasie_ tot {1},
Please select a warehouse,Kies asseblief &#39;n pakhuis,
Please select at least one domain.,Kies asseblief ten minste een domein.,
Please select correct account,Kies asseblief die korrekte rekening,
Please select date,Kies asseblief datum,
Please select item code,Kies asseblief die itemkode,
Please select month and year,Kies asseblief maand en jaar,
Please select the Company,Kies asseblief die Maatskappy,
Please select the Multiple Tier Program type for more than one collection rules.,Kies asseblief die Meervoudige Tier Program tipe vir meer as een versameling reëls.,
Please select the assessment group other than 'All Assessment Groups',Kies asseblief die assesseringsgroep anders as &#39;Alle assesseringsgroepe&#39;,
Please select the document type first,Kies asseblief die dokument tipe eerste,
Please select weekly off day,Kies asseblief weekliks af,
Please select {0},Kies asseblief {0},
Please select {0} first,Kies asseblief eers {0},
Please set 'Apply Additional Discount On',Stel asseblief &#39;Add Additional Discount On&#39;,
Please set 'Asset Depreciation Cost Center' in Company {0},Stel asseblief &#39;Bate Waardevermindering Kostesentrum&#39; in Maatskappy {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Stel asseblief &#39;Wins / Verliesrekening op Bateverkope&#39; in Maatskappy {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Stel asseblief rekening in pakhuis {0} of verstekvoorraadrekening in maatskappy {1},
Please set B2C Limit in GST Settings.,Stel asseblief B2C-limiet in GST-instellings.,
Please set Company,Stel asseblief die Maatskappy in,
Please set Company filter blank if Group By is 'Company',Stel asseblief die Maatskappyfilter leeg as Groep By &#39;Maatskappy&#39; is.,
Please set Default Payroll Payable Account in Company {0},Stel asseblief die verstek betaalbare rekening in die maatskappy {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Stel asseblief Waardeverminderingsverwante Rekeninge in Bate-kategorie {0} of Maatskappy {1},
Please set GST Accounts in GST Settings,Stel asseblief GST-rekeninge in GST-instellings,
Please set Hotel Room Rate on {},Stel asseblief die kamer prys op (),
Please set Number of Depreciations Booked,Stel asseblief die aantal afskrywings wat bespreek word,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Stel asseblief ongerealiseerde ruilverhoging / verliesrekening in maatskappy {0},
Please set User ID field in an Employee record to set Employee Role,Stel asseblief gebruikers-ID-veld in &#39;n werknemer-rekord om werknemersrol in te stel,
Please set a default Holiday List for Employee {0} or Company {1},Stel asseblief &#39;n standaard vakansie lys vir Werknemer {0} of Maatskappy {1},
Please set account in Warehouse {0},Stel asseblief rekening in pakhuis {0},
Please set an active menu for Restaurant {0},Stel asseblief &#39;n aktiewe spyskaart vir Restaurant {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Stel asseblief geassosieerde rekening in Belastingverhoudings Kategorie {0} teen Maatskappy {1},
Please set at least one row in the Taxes and Charges Table,Stel ten minste een ry in die tabel Belasting en heffings,
Please set default Cash or Bank account in Mode of Payment {0},Stel asb. Kontant- of bankrekening in die betalingsmetode {0},
Please set default account in Salary Component {0},Stel asseblief die verstek rekening in Salaris Komponent {0},
Please set default customer in Restaurant Settings,Stel asseblief die standaardkliënt in Restaurantinstellings,
Please set default {0} in Company {1},Stel asseblief die standaard {0} in Maatskappy {1},
Please set filter based on Item or Warehouse,Stel asseblief die filter op grond van item of pakhuis,
Please set leave policy for employee {0} in Employee / Grade record,Stel asseblief verlofbeleid vir werknemer {0} in Werknemer- / Graadrekord,
Please set recurring after saving,Stel asseblief herhaaldelik na die stoor,
Please set the Customer Address,Stel die kliënteadres in,
Please set the Default Cost Center in {0} company.,Stel asseblief die Standaardkostesentrum in {0} maatskappy.,
Please set the Email ID for the Student to send the Payment Request,Stel asseblief die E-posadres vir die Student in om die betalingsversoek te stuur,
Please set the Item Code first,Stel asseblief die Item Kode eerste,
Please set the Payment Schedule,Stel die betalingskedule in,
Please set {0} for address {1},Stel {0} in vir adres {1},
Please setup Students under Student Groups,Stel asseblief studente onder Studentegroepe op,
Please specify Company,Spesifiseer asb. Maatskappy,
Please specify Company to proceed,Spesifiseer asseblief Maatskappy om voort te gaan,
Please specify a valid 'From Case No.',Spesifiseer asseblief &#39;n geldige &#39;From Case No.&#39;,
Please specify a valid Row ID for row {0} in table {1},Spesifiseer asseblief &#39;n geldige ry-ID vir ry {0} in tabel {1},
Please specify at least one attribute in the Attributes table,Spesifiseer asb. Ten minste een eienskap in die tabel Eienskappe,
Please specify currency in Company,Spesifiseer asseblief geldeenheid in die Maatskappy,
Please specify either Quantity or Valuation Rate or both,Spesifiseer asb. Hoeveelheid of Waardasietempo of albei,
Please specify from/to range,Spesifiseer asb. Van / tot reeks,
Please supply the specified items at the best possible rates,Verskaf asseblief die gespesifiseerde items teen die beste moontlike tariewe,
Please wait 3 days before resending the reminder.,Wag asseblief 3 dae voordat die herinnering weer gestuur word.,
Point of Sale,Punt van koop,
Point-of-Sale,Punt van koop,
Point-of-Sale Profile,Verkooppunt Profiel,
Portal,portaal,
Possible Supplier,Moontlike Verskaffer,
Postal Expenses,Posuitgawes,
Posting Date,Plasing datum,
Posting Date cannot be future date,Posdatum kan nie toekomstige datum wees nie,
Posting Time,Posietyd,
Posting date and posting time is mandatory,Posdatum en plasingstyd is verpligtend,
Posting timestamp must be after {0},Tydstip moet na {0},
Potential opportunities for selling.,Potensiële geleenthede vir verkoop.,
Practitioner Schedule,Praktisynskedule,
Pre Sales,Voorverkope,
Preference,voorkeur,
Prescribed Procedures,Voorgeskrewe Prosedures,
Prescription,voorskrif,
Prescription Dosage,Voorskrif Dosering,
Prescription Duration,Voorskrif Tydsduur,
Prescriptions,voorskrifte,
Prev,Vorige,
Preview,voorskou,
Previous Financial Year is not closed,Vorige finansiële jaar is nie gesluit nie,
Price,prys,
Price List,Pryslys,
Price List Currency not selected,Pryslys Geldeenheid nie gekies nie,
Price List Rate,Pryslys,
Price List master.,Pryslysmeester.,
Price List must be applicable for Buying or Selling,Pryslys moet van toepassing wees vir koop of verkoop,
Price List {0} is disabled or does not exist,Pryslys {0} is gedeaktiveer of bestaan nie,
Price or product discount slabs are required,Pryse of afslagblaaie vir produkte word benodig,
Pricing,pryse,
Pricing Rule,Prysreël,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Prysreël word eers gekies gebaseer op &#39;Apply On&#39; -veld, wat Item, Itemgroep of Handelsnaam kan wees.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Prysreël word gemaak om Pryslys te vervang / definieer kortingspersentasie, gebaseer op sekere kriteria.",
Pricing Rule {0} is updated,Prysreël {0} word opgedateer,
Pricing Rules are further filtered based on quantity.,Prysreëls word verder gefiltreer op grond van hoeveelheid.,
Primary Address Details,Primêre adresbesonderhede,
Primary Contact Details,Primêre kontakbesonderhede,
Print Format,Drukformaat,
Print IRS 1099 Forms,Druk IRS 1099-vorms uit,
Print Report Card,Druk verslagkaart,
Print Settings,Druk instellings,
Print and Stationery,Druk en skryfbehoeftes,
Print settings updated in respective print format,Drukinstellings opgedateer in die onderskeie drukformaat,
Print taxes with zero amount,Druk belasting met nul bedrag,
Printing and Branding,Druk en Branding,
Private Equity,Private ekwiteit,
Procedure,prosedure,
Process Day Book Data,Verwerk dagboekdata,
Process Master Data,Verwerk meesterdata,
Processing Chart of Accounts and Parties,Verwerking van rekeninge en partye,
Processing Items and UOMs,Verwerking van items en UOM&#39;s,
Processing Party Addresses,Verwerkende partytjie-adresse,
Processing Vouchers,Verwerkingsbewyse,
Procurement,verkryging,
Produced Qty,Geproduceerde hoeveelheid,
Product,produk,
Product Bundle,Produk Bundel,
Product Search,Produksoektog,
Production,produksie,
Production Item,Produksie-item,
Products,produkte,
Profit and Loss,Wins en Verlies,
Profit for the year,Wins vir die jaar,
Program,program,
Program in the Fee Structure and Student Group {0} are different.,Program in die Fooistruktuur en Studentegroep {0} is anders.,
Program {0} does not exist.,Program {0} bestaan nie.,
Program: ,program:,
Progress % for a task cannot be more than 100.,Progress% vir &#39;n taak kan nie meer as 100 wees nie.,
Project Collaboration Invitation,Projek vennootskappe Uitnodiging,
Project Id,Projek-ID,
Project Manager,Projek bestuurder,
Project Name,Projek Naam,
Project Start Date,Projek Aanvangsdatum,
Project Status,Projek Status,
Project Summary for {0},Projekopsomming vir {0},
Project Update.,Projekopdatering.,
Project Value,Projekwaarde,
Project activity / task.,Projek aktiwiteit / taak.,
Project master.,Projekmeester.,
Project-wise data is not available for Quotation,Projek-wyse data is nie beskikbaar vir aanhaling nie,
Projected,geprojekteerde,
Projected Qty,Geprojekteerde hoeveelheid,
Projected Quantity Formula,Geprojekteerde hoeveelheid Formule,
Projects,projekte,
Proposal Writing,Voorstel Skryf,
Proposal/Price Quote,Voorstel / prys kwotasie,
Prospecting,prospektering,
Provisional Profit / Loss (Credit),Voorlopige Wins / Verlies (Krediet),
Publications,publikasies,
Publish Items on Website,Publiseer items op die webwerf,
Published,gepubliseer,
Publishing,Publishing,
Purchase,aankoop,
Purchase Amount,Aankoopbedrag,
Purchase Date,Aankoop datum,
Purchase Invoice,Aankoopfaktuur,
Purchase Invoice {0} is already submitted,Aankoopfaktuur {0} is reeds ingedien,
Purchase Manager,Aankoopbestuurder,
Purchase Master Manager,Aankoop Meester Bestuurder,
Purchase Order,Aankoopbestelling,
Purchase Order Amount,Aankoopbestelbedrag,
Purchase Order Amount(Company Currency),Aankooporderbedrag (geldeenheid van die onderneming),
Purchase Order Date,Datum van aankoopbestelling,
Purchase Order Items not received on time,Bestelling Items wat nie betyds ontvang is nie,
Purchase Order number required for Item {0},Aankoopordernommer benodig vir item {0},
Purchase Order to Payment,Aankoopbestelling na betaling,
Purchase Order {0} is not submitted,Aankoop bestelling {0} is nie ingedien nie,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Aankoopbestellings word nie toegelaat vir {0} weens &#39;n telkaart wat staan van {1}.,
Purchase Orders given to Suppliers.,Aankooporders aan verskaffers gegee.,
Purchase Price List,Aankooppryslys,
Purchase Receipt,Aankoop Ontvangst,
Purchase Receipt {0} is not submitted,Aankoop Kwitansie {0} is nie ingedien nie,
Purchase Tax Template,Aankoop belasting sjabloon,
Purchase User,Aankoop gebruiker,
Purchase orders help you plan and follow up on your purchases,Aankooporders help om jou aankope te beplan en op te volg,
Purchasing,Koop,
Purpose must be one of {0},Doel moet een van {0} wees,
Qty,Aantal,
Qty To Manufacture,Hoeveelheid om te vervaardig,
Qty Total,Aantal Totaal,
Qty for {0},Aantal vir {0},
Qualification,kwalifikasie,
Quality,Kwaliteit,
Quality Action,Kwaliteit Aksie,
Quality Goal.,Kwaliteit doel.,
Quality Inspection,Kwaliteit Inspeksie,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Gehalte-inspeksie: {0} word nie vir die item ingedien nie: {1} in ry {2},
Quality Management,Gehalte bestuur,
Quality Meeting,Kwaliteit Vergadering,
Quality Procedure,Kwaliteit prosedure,
Quality Procedure.,Kwaliteit prosedure.,
Quality Review,Kwaliteit hersiening,
Quantity,hoeveelheid,
Quantity for Item {0} must be less than {1},Hoeveelheid vir item {0} moet minder wees as {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Hoeveelheid in ry {0} ({1}) moet dieselfde wees as vervaardigde hoeveelheid {2},
Quantity must be less than or equal to {0},Hoeveelheid moet minder as of gelyk wees aan {0},
Quantity must not be more than {0},Hoeveelheid moet nie meer wees as {0},
Quantity required for Item {0} in row {1},Hoeveelheid benodig vir item {0} in ry {1},
Quantity should be greater than 0,Hoeveelheid moet groter as 0 wees,
Quantity to Make,Hoeveelheid om te maak,
Quantity to Manufacture must be greater than 0.,Hoeveelheid tot Vervaardiging moet groter as 0 wees.,
Quantity to Produce,Hoeveelheid om te produseer,
Quantity to Produce can not be less than Zero,Hoeveelheid om te produseer kan nie minder wees as Nul nie,
Query Options,Navraag opsies,
Queued for replacing the BOM. It may take a few minutes.,Wag vir die vervanging van die BOM. Dit kan &#39;n paar minute neem.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,In wagtyd vir die opdatering van die jongste prys in alle materiaal. Dit kan &#39;n paar minute neem.,
Quick Journal Entry,Vinnige Blaar Inskrywing,
Quot Count,Kwotelling,
Quot/Lead %,Kwotasie / Lood%,
Quotation,aanhaling,
Quotation {0} is cancelled,Aanhaling {0} is gekanselleer,
Quotation {0} not of type {1},Kwotasie {0} nie van tipe {1},
Quotations,kwotasies,
"Quotations are proposals, bids you have sent to your customers","Aanhalings is voorstelle, bod wat jy aan jou kliënte gestuur het",
Quotations received from Suppliers.,Aanhalings ontvang van verskaffers.,
Quotations: ,kwotasies:,
Quotes to Leads or Customers.,Aanhalings aan Leads of Customers.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ&#39;s word nie toegelaat vir {0} as gevolg van &#39;n telkaart wat staan van {1},
Range,verskeidenheid,
Rate,Koers,
Rate:,Koers:,
Rating,gradering,
Raw Material,Rou materiaal,
Raw Materials,Grondstowwe,
Raw Materials cannot be blank.,Grondstowwe kan nie leeg wees nie.,
Re-open,Heropen,
Read blog,Lees blog,
Read the ERPNext Manual,Lees die ERPNext Handleiding,
Reading Uploaded File,Lees opgelaaide lêer,
Real Estate,Eiendom,
Reason For Putting On Hold,Rede vir die aanskakel,
Reason for Hold,Rede vir hou,
Reason for hold: ,Rede vir hou:,
Receipt,Kwitansie,
Receipt document must be submitted,Kwitansie dokument moet ingedien word,
Receivable,ontvangbaar,
Receivable Account,Ontvangbare rekening,
Received,ontvang,
Received On,Ontvang op,
Received Quantity,Hoeveelheid ontvang,
Received Stock Entries,Ontvangde voorraadinskrywings,
Receiver List is empty. Please create Receiver List,Ontvangerlys is leeg. Maak asseblief Ontvangerlys,
Recipients,ontvangers,
Reconcile,versoen,
"Record of all communications of type email, phone, chat, visit, etc.","Rekord van alle kommunikasie van tipe e-pos, telefoon, klets, besoek, ens.",
Records,rekords,
Redirect URL,Herlei URL,
Ref,ref,
Ref Date,Ref Date,
Reference,verwysing,
Reference #{0} dated {1},Verwysing # {0} gedateer {1},
Reference Date,Verwysingsdatum,
Reference Doctype must be one of {0},Verwysings Doctype moet een van {0} wees.,
Reference Document,Verwysingsdokument,
Reference Document Type,Verwysings dokument tipe,
Reference No & Reference Date is required for {0},Verwysingsnommer en verwysingsdatum is nodig vir {0},
Reference No and Reference Date is mandatory for Bank transaction,Verwysingsnommer en verwysingsdatum is verpligtend vir banktransaksie,
Reference No is mandatory if you entered Reference Date,Verwysingsnommer is verpligtend as u verwysingsdatum ingevoer het,
Reference No.,Verwysingsnommer.,
Reference Number,Verwysingsnommer,
Reference Type,Verwysingstipe,
"Reference: {0}, Item Code: {1} and Customer: {2}","Verwysing: {0}, Item Kode: {1} en Kliënt: {2}",
References,verwysings,
Refresh Token,Refresh Token,
Register,registreer,
Rejected,verwerp,
Related,Verwante,
Relation with Guardian1,Verhouding met Guardian1,
Relation with Guardian2,Verhouding met Guardian2,
Release Date,Release Date,
Reload Linked Analysis,Herlaai gekoppelde analise,
Remaining,oorblywende,
Remaining Balance,Oorblywende Saldo,
Remarks,opmerkings,
Reminder to update GSTIN Sent,Herinnering om GSTIN gestuur te werk,
Remove item if charges is not applicable to that item,Verwyder item as koste nie op daardie item van toepassing is nie,
Removed items with no change in quantity or value.,Verwyder items sonder enige verandering in hoeveelheid of waarde.,
Reopen,heropen,
Reorder Level,Herbestel vlak,
Reorder Qty,Herbestel Aantal,
Repeat Customer Revenue,Herhaal kliëntinkomste,
Repeat Customers,Herhaal kliënte,
Replace BOM and update latest price in all BOMs,Vervang BOM en verander nuutste prys in alle BOM&#39;s,
Replied,antwoord,
Report,verslag,
Report Type,Verslag Tipe,
Report Type is mandatory,Verslag Tipe is verpligtend,
Reports,Berigte,
Reqd By Date,Reqd By Datum,
Reqd Qty,Reqd Aantal,
Request for Quotation,Versoek vir kwotasie,
Request for Quotations,Versoek vir kwotasies,
Request for Raw Materials,Versoek om grondstowwe,
Request for purchase.,Versoek om aankoop.,
Request for quotation.,Versoek vir kwotasie.,
Requested Qty,Gevraagde hoeveelheid,
"Requested Qty: Quantity requested for purchase, but not ordered.","Aangevraagde hoeveelheid: Aantal wat gevra word om te koop, maar nie bestel nie.",
Requesting Site,Versoek webwerf,
Requesting payment against {0} {1} for amount {2},Versoek betaling teen {0} {1} vir bedrag {2},
Requestor,versoeker,
Required On,Vereis Aan,
Required Qty,Vereiste aantal,
Required Quantity,Vereiste hoeveelheid,
Reschedule,herskeduleer,
Research,navorsing,
Research & Development,navorsing en ontwikkeling,
Researcher,navorser,
Resend Payment Email,Stuur betaling-e-pos weer,
Reserve Warehouse,Reserve Warehouse,
Reserved Qty,Gereserveerde hoeveelheid,
Reserved Qty for Production,Gereserveerde hoeveelheid vir produksie,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Gereserveerde hoeveelheid vir produksie: hoeveelheid grondstowwe om vervaardigingsitems te maak.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Voorbehou Aantal: Hoeveelheid te koop bestel, maar nie afgelewer nie.",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Gereserveerde pakhuis is verpligtend vir Item {0} in Grondstowwe wat verskaf word,
Reserved for manufacturing,Gereserveer vir vervaardiging,
Reserved for sale,Voorbehou vir verkoop,
Reserved for sub contracting,Voorbehou vir subkontraktering,
Resistant,bestand,
Resolve error and upload again.,Los die fout op en laai weer op.,
Rest Of The World,Res van die wêreld,
Restart Subscription,Herbegin inskrywing,
Restaurant,restaurant,
Result Date,Resultaat Datum,
Result already Submitted,Resultaat reeds ingedien,
Resume,CV,
Retail,Kleinhandel,
Retail & Wholesale,Kleinhandel en Groothandel,
Retail Operations,Kleinhandelbedrywighede,
Retained Earnings,Behoue verdienste,
Retention Stock Entry,Behoud Voorraad Inskrywing,
Retention Stock Entry already created or Sample Quantity not provided,Retensie Voorraad Inskrywing reeds geskep of monster hoeveelheid nie verskaf nie,
Return,terugkeer,
Return / Credit Note,Opgawe / Kredietnota,
Return / Debit Note,Terug / Debiet Nota,
Returns,opbrengste,
Reverse Journal Entry,Reverse Journal Entry,
Review Invitation Sent,Hersien uitnodiging gestuur,
Review and Action,Hersiening en aksie,
Rooms Booked,Kamers geboekt,
Root Company,Wortelonderneming,
Root Type,Worteltipe,
Root Type is mandatory,Worteltipe is verpligtend,
Root cannot be edited.,Wortel kan nie geredigeer word nie.,
Root cannot have a parent cost center,Wortel kan nie &#39;n ouer-koste-sentrum hê nie,
Round Off,Afrond,
Rounded Total,Afgerond Totaal,
Route,roete,
Row # {0}: ,Ry # {0}:,
Row # {0}: Batch No must be same as {1} {2},Ry # {0}: lotnommer moet dieselfde wees as {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Ry # {0}: Kan nie meer as {1} vir Item {2} terugkeer nie.,
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Ry # {0}: koers kan nie groter wees as die koers wat gebruik word in {1} {2},
Row # {0}: Serial No is mandatory,Ry # {0}: Volgnommer is verpligtend,
Row # {0}: Serial No {1} does not match with {2} {3},Ry # {0}: reeksnommer {1} stem nie ooreen met {2} {3},
Row #{0} (Payment Table): Amount must be negative,Ry # {0} (Betalingstabel): Bedrag moet negatief wees,
Row #{0} (Payment Table): Amount must be positive,Ry # {0} (Betaal Tabel): Bedrag moet positief wees,
Row #{0}: Account {1} does not belong to company {2},Ry # {0}: Rekening {1} behoort nie aan maatskappy nie {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Ry # {0}: Toegewysde bedrag kan nie groter wees as die uitstaande bedrag nie.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Ry # {0}: Bate {1} kan nie ingedien word nie, dit is reeds {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Ry # {0}: Kan nie die tarief stel as die bedrag groter is as die gefactureerde bedrag vir item {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Ry # {0}: Opruimingsdatum {1} kan nie voor tjekdatum wees nie {2},
Row #{0}: Duplicate entry in References {1} {2},Ry # {0}: Duplikaatinskrywing in Verwysings {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Ry # {0}: Verwagte afleweringsdatum kan nie voor Aankoopdatum wees nie,
Row #{0}: Item added,Ry # {0}: Item bygevoeg,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Ry # {0}: Tydskrifinskrywings {1} het nie rekening {2} of alreeds teen &#39;n ander geskenkbewys aangepas nie,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Ry # {0}: Nie toegelaat om Verskaffer te verander nie aangesien Aankoopbestelling reeds bestaan,
Row #{0}: Please set reorder quantity,Ry # {0}: Stel asseblief die volgorde van hoeveelheid in,
Row #{0}: Please specify Serial No for Item {1},Ry # {0}: spesifiseer asseblief die serienommer vir item {1},
Row #{0}: Qty increased by 1,Ry # {0}: Aantal het met 1 toegeneem,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Ry # {0}: Die tarief moet dieselfde wees as {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Ry # {0}: Verwysingsdokumenttipe moet een van koste-eis of joernaalinskrywing wees,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Ry # {0}: Verwysingsdokumenttipe moet een van Aankope, Aankoopfaktuur of Tydskrifinskrywing wees",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Ry # {0}: Afgekeurde hoeveelheid kan nie in Aankoopopgawe ingevoer word nie,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Ry # {0}: Afgekeurde pakhuis is verpligtend teen verwerp item {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Ry # {0}: Reqd by Date kan nie voor transaksiedatum wees nie,
Row #{0}: Set Supplier for item {1},Ry # {0}: Stel verskaffer vir item {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Ry # {0}: Status moet {1} wees vir faktuurafslag {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","Ry # {0}: Die bondel {1} het slegs {2} aantal. Kies asseblief nog &#39;n bondel wat {3} aantal beskik of verdeel die ry in veelvoudige rye, om te lewer / uit te voer uit veelvuldige bondels",
Row #{0}: Timings conflicts with row {1},Ry # {0}: Tydsbesteding stryd met ry {1},
Row #{0}: {1} can not be negative for item {2},Ry # {0}: {1} kan nie vir item {2} negatief wees nie,
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Ry nr {0}: Bedrag kan nie groter wees as hangende bedrag teen koste-eis {1} nie. Hangende bedrag is {2},
Row {0} : Operation is required against the raw material item {1},Ry {0}: Operasie word benodig teen die rou materiaal item {1},
Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Ry {0} # Item {1} kan nie meer as {2} oorgedra word teen die bestelling {3},
Row {0}: Activity Type is mandatory.,Ry {0}: Aktiwiteitstipe is verpligtend.,
Row {0}: Advance against Customer must be credit,Ry {0}: Voorskot teen kliënt moet krediet wees,
Row {0}: Advance against Supplier must be debit,Ry {0}: Voorskot teen Verskaffer moet debiet wees,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Ry {0}: Toegewysde bedrag {1} moet minder of gelyk wees aan Betaling Inskrywingsbedrag {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Ry {0}: Toegewysde bedrag {1} moet minder wees as of gelykstaande wees aan faktuur uitstaande bedrag {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Ry {0}: &#39;n Herbestellinginskrywing bestaan reeds vir hierdie pakhuis {1},
Row {0}: Bill of Materials not found for the Item {1},Ry {0}: Rekening van materiaal wat nie vir die item {1} gevind is nie.,
Row {0}: Conversion Factor is mandatory,Ry {0}: Omskakelfaktor is verpligtend,
Row {0}: Cost center is required for an item {1},Ry {0}: Koste sentrum is nodig vir &#39;n item {1},
Row {0}: Credit entry can not be linked with a {1},Ry {0}: Kredietinskrywing kan nie gekoppel word aan &#39;n {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Ry {0}: Geld van die BOM # {1} moet gelyk wees aan die gekose geldeenheid {2},
Row {0}: Debit entry can not be linked with a {1},Ry {0}: Debietinskrywing kan nie met &#39;n {1} gekoppel word nie.,
Row {0}: Depreciation Start Date is required,Ry {0}: Waardevermindering Aanvangsdatum is nodig,
Row {0}: Enter location for the asset item {1},Ry {0}: Gee plek vir die bateitem {1},
Row {0}: Exchange Rate is mandatory,Ry {0}: Wisselkoers is verpligtend,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Ry {0}: Verwagte waarde na nuttige lewe moet minder wees as bruto aankoopbedrag,
Row {0}: From Time and To Time is mandatory.,Ry {0}: Van tyd tot tyd is verpligtend.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Ry {0}: Van tyd tot tyd van {1} oorvleuel met {2},
Row {0}: From time must be less than to time,Ry {0}: Van tyd tot tyd moet dit minder wees as tot tyd,
Row {0}: Hours value must be greater than zero.,Ry {0}: Ure waarde moet groter as nul wees.,
Row {0}: Invalid reference {1},Ry {0}: ongeldige verwysing {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Ry {0}: Party / Rekening stem nie ooreen met {1} / {2} in {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Ry {0}: Party Tipe en Party word benodig vir ontvangbare / betaalbare rekening {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Ry {0}: Betaling teen Verkope / Aankooporde moet altyd as voorskot gemerk word,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Ry {0}: Kontroleer asseblief &#39;Is vooruit&#39; teen rekening {1} indien dit &#39;n voorskot is.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Ry {0}: Stel asb. Belastingvrystelling in verkoopsbelasting en heffings in,
Row {0}: Please set the Mode of Payment in Payment Schedule,Ry {0}: Stel die modus van betaling in die betalingskedule in,
Row {0}: Please set the correct code on Mode of Payment {1},Ry {0}: Stel die korrekte kode in op die manier van betaling {1},
Row {0}: Qty is mandatory,Ry {0}: Aantal is verpligtend,
Row {0}: Quality Inspection rejected for item {1},Ry {0}: Gehalte-inspeksie verwerp vir item {1},
Row {0}: UOM Conversion Factor is mandatory,Ry {0}: UOM Gesprekfaktor is verpligtend,
Row {0}: select the workstation against the operation {1},Ry {0}: kies die werkstasie teen die operasie {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Ry {0}: {1} Serial nommers benodig vir item {2}. U het {3} verskaf.,
Row {0}: {1} must be greater than 0,Ry {0}: {1} moet groter as 0 wees,
Row {0}: {1} {2} does not match with {3},Ry {0}: {1} {2} stem nie ooreen met {3},
Row {0}:Start Date must be before End Date,Ry {0}: Begindatum moet voor Einddatum wees,
Rows with duplicate due dates in other rows were found: {0},Rye met duplikaatsperdatums in ander rye is gevind: {0},
Rules for adding shipping costs.,Reëls vir die byvoeging van verskepingskoste.,
Rules for applying pricing and discount.,Reëls vir die toepassing van pryse en afslag.,
S.O. No.,SO nr,
SGST Amount,SGST Bedrag,
SO Qty,SO Aantal,
Safety Stock,Veiligheidsvoorraad,
Salary,Salaris,
Salary Slip submitted for period from {0} to {1},Salarisstrokie ingedien vir tydperk vanaf {0} tot {1},
Salary Structure must be submitted before submission of Tax Ememption Declaration,Salarisstruktuur moet voorgelê word voor die indiening van die belastingverklaringsverklaring,
Sales,verkope,
Sales Account,Verkooprekening,
Sales Expenses,Verkoopsuitgawes,
Sales Funnel,Verkope trechter,
Sales Invoice,Verkoopsfaktuur,
Sales Invoice {0} has already been submitted,Verkoopsfaktuur {0} is reeds ingedien,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Verkoopsfaktuur {0} moet gekanselleer word voordat u hierdie verkope bestelling kanselleer,
Sales Manager,Verkoopsbestuurder,
Sales Master Manager,Verkope Meester Bestuurder,
Sales Order,Verkoopsbestelling,
Sales Order Item,Verkoopsvolgepunt,
Sales Order required for Item {0},Verkoopsbestelling benodig vir item {0},
Sales Order to Payment,Verkoopsbestelling tot Betaling,
Sales Order {0} is not submitted,Verkoopsbestelling {0} is nie ingedien nie,
Sales Order {0} is not valid,Verkoopsbestelling {0} is nie geldig nie,
Sales Order {0} is {1},Verkoopsbestelling {0} is {1},
Sales Orders,Verkoopsbestellings,
Sales Partner,Verkoopsvennoot,
Sales Pipeline,Verkope Pyplyn,
Sales Price List,Verkooppryslys,
Sales Return,Verkope terug,
Sales Summary,Verkopeopsomming,
Sales Tax Template,Sales Tax Template,
Sales Team,Verkope span,
Sales User,Verkope gebruiker,
Sales and Returns,Verkope en opbrengs,
Sales campaigns.,Verkoopsveldtogte.,
Sales orders are not available for production,Verkoopsbestellings is nie beskikbaar vir produksie nie,
Salutation,Salueer,
Same Company is entered more than once,Dieselfde maatskappy is meer as een keer ingeskryf,
Same item cannot be entered multiple times.,Dieselfde item kan nie verskeie kere ingevoer word nie.,
Same supplier has been entered multiple times,Dieselfde verskaffer is al verskeie kere ingeskryf,
Sample Collection,Voorbeeld versameling,
Sample quantity {0} cannot be more than received quantity {1},Voorbeeldhoeveelheid {0} kan nie meer wees as die hoeveelheid ontvang nie {1},
Sanctioned,beboet,
Sand,sand,
Saturday,Saterdag,
Saving {0},Stoor {0},
Scan Barcode,Skandeer strepieskode,
Schedule,skedule,
Schedule Admission,Bylae Toelating,
Schedule Course,Skedule Kursus,
Schedule Date,Skedule Datum,
Schedule Discharge,Skedule ontslag,
Scheduled,geskeduleer,
Scheduled Upto,Geskeduleerde Upto,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Bylaes vir {0} oorvleuelings, wil jy voortgaan nadat jy oorlaaide gleuwe geslaan het?",
Score cannot be greater than Maximum Score,Die telling kan nie groter as die maksimum telling wees nie,
Scorecards,telkaarte,
Scrapped,geskrap,
Search,Soek,
Search Results,Soek Resultate,
Search Sub Assemblies,Soek subvergaderings,
"Search by item code, serial number, batch no or barcode","Soek volgens item kode, reeksnommer, joernaal of streepieskode",
"Seasonality for setting budgets, targets etc.","Seisoenaliteit vir die opstel van begrotings, teikens ens.",
Secret Key,Geheime Sleutel,
Secretary,sekretaris,
Section Code,Afdeling Kode,
Secured Loans,Beveiligde Lenings,
Securities & Commodity Exchanges,Sekuriteite en kommoditeitsuitruilings,
Securities and Deposits,Sekuriteite en deposito&#39;s,
See All Articles,Sien alle artikels,
See all open tickets,Sien alle oop kaartjies,
See past orders,Kyk vorige bestellings,
See past quotations,Kyk kwotasies uit die verlede,
Select,Kies,
Select Alternate Item,Kies alternatiewe item,
Select Attribute Values,Kies kenmerkwaardes,
Select BOM,Kies BOM,
Select BOM and Qty for Production,Kies BOM en hoeveelheid vir produksie,
"Select BOM, Qty and For Warehouse","Kies BOM, Aantal en Vir pakhuis",
Select Batch,Kies &#39;n bondel,
Select Batch Numbers,Kies lotnommer,
Select Brand...,Kies merk ...,
Select Company,Kies Maatskappy,
Select Company...,Kies Maatskappy ...,
Select Customer,Kies kliënt,
Select Days,Kies Dae,
Select Default Supplier,Kies Standaardverskaffer,
Select DocType,Kies DocType,
Select Fiscal Year...,Kies fiskale jaar ...,
Select Item (optional),Kies item (opsioneel),
Select Items based on Delivery Date,Kies items gebaseer op Afleweringsdatum,
Select Items to Manufacture,Kies items om te vervaardig,
Select Loyalty Program,Kies Lojaliteitsprogram,
Select Patient,Kies Pasiënt,
Select Possible Supplier,Kies moontlike verskaffer,
Select Quantity,Kies Hoeveelheid,
Select Serial Numbers,Kies Serial Numbers,
Select Target Warehouse,Kies Doelwinkel,
Select Warehouse...,Kies pakhuis ...,
Select an account to print in account currency,Kies &#39;n rekening om in rekeningmunt te druk,
Select at least one value from each of the attributes.,Kies ten minste een waarde uit elk van die eienskappe.,
Select change amount account,Kies verander bedrag rekening,
Select company first,Kies maatskappy eerste,
Select students manually for the Activity based Group,Kies studente handmatig vir die aktiwiteitsgebaseerde groep,
Select the customer or supplier.,Kies die kliënt of verskaffer.,
Select the nature of your business.,Kies die aard van jou besigheid.,
Select the program first,Kies die program eerste,
Select to add Serial Number.,Kies om serienommer by te voeg.,
Select your Domains,Kies jou domeine,
Selected Price List should have buying and selling fields checked.,Geselekteerde Pryslijst moet gekoop en verkoop velde nagegaan word.,
Sell,verkoop,
Selling,verkoop,
Selling Amount,Verkoopbedrag,
Selling Price List,Verkooppryslys,
Selling Rate,Verkoopprys,
"Selling must be checked, if Applicable For is selected as {0}","Verkope moet nagegaan word, indien toepaslik vir is gekies as {0}",
Send Grant Review Email,Stuur Grant Review Email,
Send Now,Stuur nou,
Send SMS,Stuur SMS,
Send mass SMS to your contacts,Stuur massa-SMS na jou kontakte,
Sensitivity,sensitiwiteit,
Sent,gestuur,
Serial No and Batch,Serial No and Batch,
Serial No is mandatory for Item {0},Volgnummer is verpligtend vir item {0},
Serial No {0} does not belong to Batch {1},Reeksnommer {0} hoort nie by bondel {1},
Serial No {0} does not belong to Delivery Note {1},Serienommer {0} hoort nie by afleweringsnota {1},
Serial No {0} does not belong to Item {1},Reeksnommer {0} behoort nie aan item {1} nie,
Serial No {0} does not belong to Warehouse {1},Rekeningnommer {0} hoort nie by pakhuis {1},
Serial No {0} does not belong to any Warehouse,Rekeningnommer {0} hoort nie aan enige pakhuis nie,
Serial No {0} does not exist,Reeksnommer {0} bestaan nie,
Serial No {0} has already been received,Rekeningnommer {0} is reeds ontvang,
Serial No {0} is under maintenance contract upto {1},Rekeningnommer {0} is onder onderhoudskontrak tot {1},
Serial No {0} is under warranty upto {1},Volgnummer {0} is onder garantie tot en met {1},
Serial No {0} not found,Rekeningnommer {0} nie gevind nie,
Serial No {0} not in stock,Serienommer {0} nie op voorraad nie,
Serial No {0} quantity {1} cannot be a fraction,Reeksnommer {0} hoeveelheid {1} kan nie &#39;n breuk wees nie,
Serial Nos Required for Serialized Item {0},Serial Nos Required for Serialized Item {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Serial Number: {0} is reeds in verkoopsfaktuur verwys: {1},
Serial Numbers,Reeknommers,
Serial Numbers in row {0} does not match with Delivery Note,Reeksnommers in ry {0} stem nie ooreen met Afleweringsnota nie,
Serial no {0} has been already returned,Reeksnommer {0} is alreeds teruggestuur,
Serial number {0} entered more than once,Serienommer {0} het meer as een keer ingeskryf,
Serialized Inventory,Serialized Inventory,
Series Updated,Reeks Opgedateer,
Series Updated Successfully,Reeks suksesvol opgedateer,
Series is mandatory,Reeks is verpligtend,
Service,diens,
Service Level Agreement,Diensvlakooreenkoms,
Service Level Agreement.,Diensvlakooreenkoms.,
Service Level.,Diensvlak.,
Service Stop Date cannot be after Service End Date,Diensstopdatum kan nie na diens einddatum wees nie,
Service Stop Date cannot be before Service Start Date,Diensstopdatum kan nie voor die diens begin datum wees nie,
Services,dienste,
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Stel verstekwaardes soos Maatskappy, Geld, Huidige fiskale jaar, ens.",
Set Details,Stel besonderhede,
Set New Release Date,Stel Nuwe Release Date,
Set Project and all Tasks to status {0}?,Stel projek en alle take op status {0}?,
Set Status,Stel status in,
Set Tax Rule for shopping cart,Stel belastingreël vir inkopiesentrum,
Set as Closed,Stel as gesluit,
Set as Completed,Stel as Voltooi,
Set as Lost,Stel as verlore,
Set as Open,Stel as oop,
Set default inventory account for perpetual inventory,Stel verstekvoorraadrekening vir voortdurende voorraad,
Set this if the customer is a Public Administration company.,Stel dit in as die klant &#39;n openbare administrasie-onderneming is.,
Set {0} in asset category {1} or company {2},Stel {0} in batekategorie {1} of maatskappy {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Stel gebeure in op {0}, aangesien die werknemer verbonde aan die onderstaande verkoopspersone nie &#39;n gebruikers-ID het nie {1}",
Setting defaults,Stel verstek,
Setting up Email,E-pos opstel,
Setting up Email Account,E-pos rekening opstel,
Setting up Employees,Opstel van werknemers,
Setting up Taxes,Opstel van Belasting,
Setting up company,Stel &#39;n onderneming op,
Settings,instellings,
"Settings for online shopping cart such as shipping rules, price list etc.","Instellings vir aanlyn-inkopies soos die versendingsreëls, pryslys ens.",
Settings for website homepage,Instellings vir webwerf tuisblad,
Settings for website product listing,Instellings vir webwerfproduklys,
Settled,gevestig,
Setup Gateway accounts.,Setup Gateway rekeninge.,
Setup SMS gateway settings,Opstel SMS gateway instellings,
Setup cheque dimensions for printing,Opstel tjek dimensies vir die druk,
Setup default values for POS Invoices,Stel verstekwaardes vir POS-fakture,
Setup mode of POS (Online / Offline),Opstel af van POS (Online / Offline),
Setup your Institute in ERPNext,Stel jou Instituut op in ERPNext,
Share Balance,Aandelebalans,
Share Ledger,Deel Grootboek,
Share Management,Aandeelbestuur,
Share Transfer,Deeloordrag,
Share Type,Deel Tipe,
Shareholder,aandeelhouer,
Ship To State,Stuur na staat,
Shipments,verskepings,
Shipping Address,Posadres,
"Shipping Address does not have country, which is required for this Shipping Rule","Posadres het geen land, wat benodig word vir hierdie Posbus",
Shipping rule only applicable for Buying,Versending reël slegs van toepassing op Koop,
Shipping rule only applicable for Selling,Stuurreël is slegs van toepassing op Verkoop,
Shopify Supplier,Shopify Verskaffer,
Shopping Cart,Winkelwagen,
Shopping Cart Settings,Winkelwagentjie instellings,
Short Name,Kort naam,
Shortage Qty,Tekort,
Show Completed,Vertoning voltooi,
Show Cumulative Amount,Toon kumulatiewe bedrag,
Show Open,Wys oop,
Show Opening Entries,Wys openingsinskrywings,
Show Payment Details,Wys betalingsbesonderhede,
Show Return Entries,Wys terugvoerinskrywings,
Show Variant Attributes,Wys Variant Eienskappe,
Show Variants,Wys varianten,
Show closed,Wys gesluit,
Show exploded view,Wys ontplofte aansig,
Show only POS,Wys net POS,
Show unclosed fiscal year's P&L balances,Toon onverbonde fiskale jaar se P &amp; L saldo&#39;s,
Show zero values,Toon zero waardes,
Silt,slik,
Single Variant,Enkel Variant,
Single unit of an Item.,Enkel eenheid van &#39;n item.,
"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Oorskietverlof toewysing vir die volgende werknemers, aangesien rekords vir verloftoewysing reeds teen hulle bestaan. {0}",
Slideshow,skyfievertoning,
Slots for {0} are not added to the schedule,Slots vir {0} word nie by die skedule gevoeg nie,
Small,klein,
Soap & Detergent,Seep en wasmiddel,
Software,sagteware,
Software Developer,Sagteware ontwikkelaar,
Softwares,Softwares,
Soil compositions do not add up to 100,Grondsamestellings voeg nie tot 100 by nie,
Sold,verkoop,
Some emails are invalid,Sommige e-posse is ongeldig,
Some information is missing,Sommige inligting ontbreek,
Something went wrong!,Iets het verkeerd geloop!,
"Sorry, Serial Nos cannot be merged","Jammer, Serial Nos kan nie saamgevoeg word nie",
Source,Bron,
Source Name,Bron Naam,
Source Warehouse,Bron pakhuis,
Source and Target Location cannot be same,Bron en teikengebied kan nie dieselfde wees nie,
Source and target warehouse cannot be same for row {0},Bron en teiken pakhuis kan nie dieselfde wees vir ry {0},
Source and target warehouse must be different,Bron en teiken pakhuis moet anders wees,
Source of Funds (Liabilities),Bron van fondse (laste),
Source warehouse is mandatory for row {0},Bron pakhuis is verpligtend vir ry {0},
Specified BOM {0} does not exist for Item {1},Spesifieke BOM {0} bestaan nie vir Item {1},
Split,verdeel,
Split Batch,Gesplete bondel,
Split Issue,Gesplete uitgawe,
Sports,Sport,
Standard Buying,Standaard koop,
Standard Selling,Standaardverkope,
Standard contract terms for Sales or Purchase.,Standaardkontrakvoorwaardes vir Verkope of Aankope.,
Start Date,Begindatum,
Start Date of Agreement can't be greater than or equal to End Date.,Die begindatum van die ooreenkoms kan nie groter wees as of gelyk aan die einddatum nie.,
Start Year,Beginjaar,
Start date should be less than end date for Item {0},Begindatum moet minder wees as einddatum vir item {0},
Start date should be less than end date for task {0},Begindatum moet minder wees as einddatum vir taak {0},
Start day is greater than end day in task '{0}',Begin dag is groter as einddag in taak &#39;{0}&#39;,
Start on,Begin aan,
State,staat,
State/UT Tax,Staat / UT Belasting,
Statement of Account,Rekeningstaat,
Status must be one of {0},Status moet een van {0} wees,
Stock,Stock,
Stock Adjustment,Voorraadaanpassing,
Stock Analytics,Voorraad Analytics,
Stock Assets,Voorraadbates,
Stock Available,Voorraad beskikbaar,
Stock Balance,Voorraadbalans,
Stock Entries already created for Work Order ,Voorraadinskrywings wat reeds vir werkorder geskep is,
Stock Entry,Voorraadinskrywing,
Stock Entry {0} created,Voorraadinskrywing {0} geskep,
Stock Entry {0} is not submitted,Voorraadinskrywing {0} is nie ingedien nie,
Stock Expenses,Voorraaduitgawes,
Stock In Hand,Voorraad in die hand,
Stock Items,Voorraaditems,
Stock Ledger,Voorraad Grootboek,
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Voorraadgrootboekinskrywings en GL-inskrywings word vir die gekose Aankoopontvangste herposeer,
Stock Levels,Voorraadvlakke,
Stock Liabilities,Aandeleverpligtinge,
Stock Qty,Voorraad Aantal,
Stock Received But Not Billed,Voorraad ontvang maar nie gefaktureer nie,
Stock Reports,Voorraadverslae,
Stock Summary,Voorraadopsomming,
Stock Transactions,Voorraadtransaksies,
Stock UOM,Voorraad UOM,
Stock Value,Voorraadwaarde,
Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Voorraadbalans in Batch {0} word negatief {1} vir Item {2} by Warehouse {3},
Stock cannot be updated against Delivery Note {0},Voorraad kan nie opgedateer word teen afleweringsnota {0},
Stock cannot be updated against Purchase Receipt {0},Voorraad kan nie opgedateer word teen die aankoopbewys {0},
Stock cannot exist for Item {0} since has variants,"Voorraad kan nie vir item {0} bestaan nie, aangesien dit variante het",
Stock transactions before {0} are frozen,Voorraadtransaksies voor {0} word gevries,
Stop,stop,
Stopped,gestop,
"Stopped Work Order cannot be cancelled, Unstop it first to cancel",Gestopte werkbestelling kan nie gekanselleer word nie. Staak dit eers om te kanselleer,
Stores,winkels,
Student,student,
Student Activity,Studentaktiwiteit,
Student Address,Student Adres,
Student Admissions,Studente Toelatings,
Student Attendance,Studente Bywoning,
"Student Batches help you track attendance, assessments and fees for students","Studentejoernaal help om bywoning, assessering en fooie vir studente op te spoor",
Student Email Address,Student e-pos adres,
Student Email ID,Student e-pos ID,
Student Group,Studentegroep,
Student Group Strength,Studentegroep Sterkte,
Student Group is already updated.,Studentegroep is reeds opgedateer.,
Student Group: ,Studentegroep:,
Student ID,Student ID,
Student ID: ,Studente ID:,
Student LMS Activity,Student LMS Aktiwiteit,
Student Mobile No.,Student Mobiele Nr.,
Student Name,Studente naam,
Student Name: ,Studente naam:,
Student Report Card,Studenteverslagkaart,
Student is already enrolled.,Student is reeds ingeskryf.,
Student {0} - {1} appears Multiple times in row {2} & {3},Student {0} - {1} verskyn Meervoudige tye in ry {2} &amp; {3},
Student {0} does not belong to group {1},Student {0} behoort nie aan groep {1},
Student {0} exist against student applicant {1},Studente {0} bestaan teen studente aansoeker {1},
"Students are at the heart of the system, add all your students","Studente is die kern van die stelsel, voeg al u studente by",
Sub Assemblies,Subvergaderings,
Sub Type,Subtipe,
Sub-contracting,Sub-kontraktering,
Subcontract,subkontrak,
Subject,Onderwerp,
Submit,Indien,
Submit this Work Order for further processing.,Dien hierdie werksopdrag in vir verdere verwerking.,
Subscription,inskrywing,
Subscription Management,Subskripsiebestuur,
Subscriptions,subskripsies,
Subtotal,subtotaal,
Successful,Suksesvol,
Successfully Reconciled,Suksesvol versoen,
Successfully Set Supplier,Suksesvol Stel Verskaffer,
Successfully created payment entries,Suksesvolle betalinginskrywings geskep,
Successfully deleted all transactions related to this company!,Suksesvol verwyder alle transaksies met betrekking tot hierdie maatskappy!,
Sum of Scores of Assessment Criteria needs to be {0}.,Som van punte van assesseringskriteria moet {0} wees.,
Sum of points for all goals should be 100. It is {0},Som van punte vir alle doelwitte moet 100 wees. Dit is {0},
Summary,opsomming,
Summary for this month and pending activities,Opsomming vir hierdie maand en hangende aktiwiteite,
Summary for this week and pending activities,Opsomming vir hierdie week en hangende aktiwiteite,
Sunday,Sondag,
Suplier,suplier,
Supplier,verskaffer,
Supplier Group,Verskaffersgroep,
Supplier Group master.,Verskaffer Groep meester.,
Supplier Id,Verskaffer ID,
Supplier Invoice Date cannot be greater than Posting Date,Verskafferfaktuurdatum mag nie groter wees as die datum van inskrywing nie,
Supplier Invoice No,Verskafferfaktuurnr,
Supplier Invoice No exists in Purchase Invoice {0},Verskafferfaktuur Geen bestaan in Aankoopfaktuur {0},
Supplier Name,Verskaffernaam,
Supplier Part No,Verskaffer Deelnr,
Supplier Quotation,Verskaffer Kwotasie,
Supplier Scorecard,Verskaffer Scorecard,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Verskaffer Pakhuis verplig vir onderaanneming Aankoop Ontvangs,
Supplier database.,Verskaffer databasis.,
Supplier {0} not found in {1},Verskaffer {0} nie gevind in {1},
Supplier(s),Verskaffers),
Supplies made to UIN holders,Voorrade aan UIN-houers gemaak,
Supplies made to Unregistered Persons,Voorrade aan ongeregistreerde persone,
Suppliies made to Composition Taxable Persons,Voorrade gelewer aan samestelling Belasbare Persone,
Supply Type,Voorsieningstipe,
Support,ondersteuning,
Support Analytics,Ondersteun Analytics,
Support Settings,Ondersteuningsinstellings,
Support Tickets,Ondersteuningskaartjies,
Support queries from customers.,Ondersteun navrae van kliënte.,
Susceptible,vatbaar,
Sync has been temporarily disabled because maximum retries have been exceeded,Sinkronisering is tydelik gedeaktiveer omdat maksimum terugskrywings oorskry is,
Syntax error in condition: {0},Sintaksfout in toestand: {0},
Syntax error in formula or condition: {0},Sintaksfout in formule of toestand: {0},
System Manager,Stelselbestuurder,
TDS Rate %,TDS-tarief%,
Tap items to add them here,Tik items om hulle hier te voeg,
Target,teiken,
Target ({}),Teiken ({}),
Target On,Teiken,
Target Warehouse,Teiken Warehouse,
Target warehouse is mandatory for row {0},Teiken pakhuis is verpligtend vir ry {0},
Task,taak,
Tasks,take,
Tasks have been created for managing the {0} disease (on row {1}),Take is geskep vir die bestuur van die {0} siekte (op ry {1}),
Tax,belasting,
Tax Assets,Belasting Bates,
Tax Category,Belastingkategorie,
Tax Category for overriding tax rates.,Belastingkategorie vir die heersende belastingkoerse.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items",Belastingkategorie is verander na &quot;Totaal&quot; omdat al die items nie-voorraaditems is,
Tax ID,Belasting ID,
Tax Id: ,Belasting ID:,
Tax Rate,Belastingkoers,
Tax Rule Conflicts with {0},Belastingreël strydig met {0},
Tax Rule for transactions.,Belastingreël vir transaksies.,
Tax Template is mandatory.,Belasting sjabloon is verpligtend.,
Tax Withholding rates to be applied on transactions.,Belastingterughoudingskoerse wat op transaksies toegepas moet word.,
Tax template for buying transactions.,Belasting sjabloon vir die koop van transaksies.,
Tax template for item tax rates.,Belastingvorm vir belastingkoerse op artikels.,
Tax template for selling transactions.,Belasting sjabloon vir die verkoop van transaksies.,
Taxable Amount,Belasbare Bedrag,
Taxes,belasting,
Technology,tegnologie,
Telecommunications,Telekommunikasie,
Telephone Expenses,Telefoon uitgawes,
Television,televisie,
Template Name,Sjabloon Naam,
Template of terms or contract.,Sjabloon van terme of kontrak.,
Templates of supplier scorecard criteria.,Templates van verskaffer tellingskaart kriteria.,
Templates of supplier scorecard variables.,Templates van verskaffers telkaart veranderlikes.,
Templates of supplier standings.,Templates van verskaffer standpunte.,
Temporarily on Hold,Tydelik op hou,
Temporary,tydelike,
Temporary Accounts,Tydelike rekeninge,
Temporary Opening,Tydelike opening,
Terms and Conditions,Terme en voorwaardes,
Terms and Conditions Template,Terme en Voorwaardes Sjabloon,
Territory,gebied,
Thank you for your business!,Dankie vir u besigheid!,
The 'From Package No.' field must neither be empty nor it's value less than 1.,"Die &#39;From Package No.&#39; Veld moet nie leeg wees nie, of dit is minder as 1.",
The Brand,Die Brand,
The Item {0} cannot have Batch,Die item {0} kan nie Batch hê nie,
The Loyalty Program isn't valid for the selected company,Die lojaliteitsprogram is nie geldig vir die geselekteerde maatskappy nie,
The Payment Term at row {0} is possibly a duplicate.,Die betalingstermyn by ry {0} is moontlik &#39;n duplikaat.,
The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Die Termyn Einddatum kan nie vroeër as die Termyn begin datum wees nie. Korrigeer asseblief die datums en probeer weer.,
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.,Die Termyn Einddatum kan nie later wees as die Jaar Einde van die akademiese jaar waartoe die term gekoppel is nie (Akademiese Jaar ()). Korrigeer asseblief die datums en probeer weer.,
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.,Die Termyn Aanvangsdatum kan nie vroeër wees as die Jaar Begindatum van die akademiese jaar waaraan die term gekoppel is nie (Akademiese Jaar ()). Korrigeer asseblief die datums en probeer weer.,
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Die einde van die jaar kan nie vroeër wees as die jaar begin datum nie. Korrigeer asseblief die datums en probeer weer.,
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.,Die bedrag van {0} in hierdie betalingsversoek verskil van die berekende bedrag van alle betaalplanne: {1}. Maak seker dat dit korrek is voordat u die dokument indien.,
The field From Shareholder cannot be blank,Die veld van aandeelhouer kan nie leeg wees nie,
The field To Shareholder cannot be blank,Die veld Aan Aandeelhouer kan nie leeg wees nie,
The fields From Shareholder and To Shareholder cannot be blank,Die velde van aandeelhouer en aandeelhouer kan nie leeg wees nie,
The folio numbers are not matching,Die folio nommers kom nie ooreen nie,
The holiday on {0} is not between From Date and To Date,Die vakansie op {0} is nie tussen die datum en die datum nie,
The name of the institute for which you are setting up this system.,Die naam van die instituut waarvoor u hierdie stelsel opstel.,
The name of your company for which you are setting up this system.,Die naam van u maatskappy waarvoor u hierdie stelsel opstel.,
The number of shares and the share numbers are inconsistent,Die aantal aandele en die aandele is onbestaanbaar,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Die betaling gateway rekening in plan {0} verskil van die betaling gateway rekening in hierdie betaling versoek,
The selected BOMs are not for the same item,Die gekose BOM&#39;s is nie vir dieselfde item nie,
The selected item cannot have Batch,Die gekose item kan nie Batch hê nie,
The seller and the buyer cannot be the same,Die verkoper en die koper kan nie dieselfde wees nie,
The shareholder does not belong to this company,Die aandeelhouer behoort nie aan hierdie maatskappy nie,
The shares already exist,Die aandele bestaan reeds,
The shares don't exist with the {0},Die aandele bestaan nie met die {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","Die taak is aangewys as &#39;n agtergrondtaak. In die geval dat daar probleme met die verwerking van die agtergrond is, sal die stelsel &#39;n opmerking byvoeg oor die fout op hierdie voorraadversoening en dan weer terug na die konsepstadium.",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Dan word prysreëls uitgefiltreer op grond van kliënt, kliëntegroep, gebied, verskaffer, verskaffer tipe, veldtog, verkoopsvennoot, ens.",
"There are inconsistencies between the rate, no of shares and the amount calculated","Daar is teenstrydighede tussen die koers, aantal aandele en die bedrag wat bereken word",
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.,Daar kan verskeie versamelingsfaktore gebaseer wees op die totale besteding. Maar die omskakelingsfaktor vir verlossing sal altyd dieselfde wees vir al die vlakke.,
There can only be 1 Account per Company in {0} {1},Daar kan slegs 1 rekening per maatskappy wees in {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""",Daar kan slegs een Poskode van die Posisie wees met 0 of &#39;n leë waarde vir &quot;To Value&quot;,
There is not enough leave balance for Leave Type {0},Daar is nie genoeg verlofbalans vir Verlof-tipe {0},
There is nothing to edit.,Daar is niks om te wysig nie.,
There isn't any item variant for the selected item,Daar is geen item variant vir die gekose item nie,
"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.","Daar is &#39;n probleem met die GoCardless-konfigurasie van die bediener. Moenie bekommerd wees nie, in geval van versuim, sal die bedrag terugbetaal word na u rekening.",
There were errors creating Course Schedule,Daar was foute om Kursusskedule te skep,
There were errors.,Daar was foute.,
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,"Hierdie item is &#39;n sjabloon en kan nie in transaksies gebruik word nie. Itemkenmerke sal oor na die varianten gekopieer word, tensy &#39;Geen kopie&#39; ingestel is nie",
This Item is a Variant of {0} (Template).,Hierdie item is &#39;n variant van {0} (Sjabloon).,
This Month's Summary,Hierdie maand se opsomming,
This Week's Summary,Hierdie week se opsomming,
This action will stop future billing. Are you sure you want to cancel this subscription?,Hierdie aksie sal toekomstige fakturering stop. Is jy seker jy wil hierdie intekening kanselleer?,
This covers all scorecards tied to this Setup,Dit dek alle telkaarte wat aan hierdie opstelling gekoppel is,
This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Hierdie dokument is oor limiet deur {0} {1} vir item {4}. Maak jy &#39;n ander {3} teen dieselfde {2}?,
This is a root account and cannot be edited.,Dit is &#39;n wortelrekening en kan nie geredigeer word nie.,
This is a root customer group and cannot be edited.,Dit is &#39;n wortelkundegroep en kan nie geredigeer word nie.,
This is a root department and cannot be edited.,Hierdie is &#39;n wortelafdeling en kan nie geredigeer word nie.,
This is a root healthcare service unit and cannot be edited.,Dit is &#39;n wortelgesondheidsdiens-eenheid en kan nie geredigeer word nie.,
This is a root item group and cannot be edited.,Dit is &#39;n wortel-item groep en kan nie geredigeer word nie.,
This is a root sales person and cannot be edited.,Dit is &#39;n wortelverkoper en kan nie geredigeer word nie.,
This is a root supplier group and cannot be edited.,Dit is &#39;n wortelverskaffergroep en kan nie geredigeer word nie.,
This is a root territory and cannot be edited.,Hierdie is &#39;n wortelgebied en kan nie geredigeer word nie.,
This is an example website auto-generated from ERPNext,Dit is &#39;n voorbeeld webwerf wat outomaties deur ERPNext gegenereer word,
This is based on logs against this Vehicle. See timeline below for details,Dit is gebaseer op logs teen hierdie Voertuig. Sien die tydlyn hieronder vir besonderhede,
This is based on stock movement. See {0} for details,Dit is gebaseer op voorraadbeweging. Sien {0} vir besonderhede,
This is based on the Time Sheets created against this project,Dit is gebaseer op die tydskrifte wat teen hierdie projek geskep is,
This is based on the attendance of this Student,Dit is gebaseer op die bywoning van hierdie student,
This is based on transactions against this Customer. See timeline below for details,Dit is gebaseer op transaksies teen hierdie kliënt. Sien die tydlyn hieronder vir besonderhede,
This is based on transactions against this Healthcare Practitioner.,Dit is gebaseer op transaksies teen hierdie Gesondheidsorgpraktisyn.,
This is based on transactions against this Patient. See timeline below for details,Dit is gebaseer op transaksies teen hierdie pasiënt. Sien die tydlyn hieronder vir besonderhede,
This is based on transactions against this Sales Person. See timeline below for details,Dit is gebaseer op transaksies teen hierdie verkoopspersoon. Sien die tydlyn hieronder vir besonderhede,
This is based on transactions against this Supplier. See timeline below for details,Dit is gebaseer op transaksies teen hierdie verskaffer. Sien die tydlyn hieronder vir besonderhede,
This {0} conflicts with {1} for {2} {3},Hierdie {0} bots met {1} vir {2} {3},
Time Sheet for manufacturing.,Tydskrif vir vervaardiging.,
Time Tracking,Tyd dop,
"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Tydsleuf oorgedra, die gleuf {0} tot {1} oorvleuel wat slot {2} tot {3}",
Time slots added,Tydgleuwe bygevoeg,
Time(in mins),Tyd (in mins),
Timer,timer,
Timer exceeded the given hours.,Timer het die gegewe ure oorskry.,
Timesheet,Tydstaat,
Timesheet for tasks.,Tydrooster vir take.,
Timesheet {0} is already completed or cancelled,Rooster {0} is reeds voltooi of gekanselleer,
Timesheets,roosters,
"Timesheets help keep track of time, cost and billing for activites done by your team","Tydskrifte help om tred te hou met tyd, koste en faktuur vir aktiwiteite wat deur u span gedoen is",
Titles for print templates e.g. Proforma Invoice.,"Titels vir druk templates, bv. Proforma-faktuur.",
To,om,
To Address 1,Om Adres 1,
To Address 2,Om Adres 2,
To Bill,Aan Bill,
To Date,Tot op hede,
To Date cannot be before From Date,Tot op datum kan nie voor die datum wees nie,
To Date cannot be less than From Date,Datum kan nie minder as vanaf datum wees nie,
To Date must be greater than From Date,Tot op datum moet groter wees as vanaf datum,
To Date should be within the Fiscal Year. Assuming To Date = {0},Tot datum moet binne die fiskale jaar wees. Aanvaarding tot datum = {0},
To Datetime,Tot Dattyd,
To Deliver,Om af te lewer,
To Deliver and Bill,Om te lewer en rekening,
To Fiscal Year,Na fiskale jaar,
To GSTIN,Na gstin,
To Party Name,Na partytjie naam,
To Pin Code,Om PIN te kode,
To Place,Te plaas,
To Receive,Om te ontvang,
To Receive and Bill,Om te ontvang en rekening,
To State,Om te meld,
To Warehouse,Na pakhuis,
To create a Payment Request reference document is required,"Om &#39;n Betalingsversoek te maak, is verwysingsdokument nodig",
"To filter based on Party, select Party Type first","Om te filter gebaseer op Party, kies Party Type eerste",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Om die beste uit ERPNext te kry, beveel ons aan dat u &#39;n rukkie neem om hierdie hulpvideo&#39;s te sien.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Om belasting in ry {0} in Item-tarief in te sluit, moet belasting in rye {1} ook ingesluit word",
To make Customer based incentive schemes.,Om kliëntgebaseerde aansporingskemas te maak.,
"To merge, following properties must be same for both items","Om saam te voeg, moet die volgende eienskappe dieselfde wees vir beide items",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Om nie die prysreël in &#39;n bepaalde transaksie te gebruik nie, moet alle toepaslike prysreëls gedeaktiveer word.",
"To set this Fiscal Year as Default, click on 'Set as Default'","Om hierdie fiskale jaar as verstek te stel, klik op &#39;Stel as verstek&#39;",
To view logs of Loyalty Points assigned to a Customer.,"Om logs van lojaliteitspunte wat aan &#39;n kliënt toegewys is, te sien.",
To {0},Na {0},
To {0} | {1} {2},Na {0} | {1} {2},
Toggle Filters,Wissel filters,
Too many columns. Export the report and print it using a spreadsheet application.,Te veel kolomme. Voer die verslag uit en druk dit uit met behulp van &#39;n sigbladprogram.,
Tools,gereedskap,
Total (Credit),Totaal (Krediet),
Total (Without Tax),Totaal (Sonder Belasting),
Total Achieved,Totaal behaal,
Total Actual,Totaal Werklik,
Total Amount,Totale bedrag,
Total Amount Credited,Totale bedrag gekrediteer,
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Totale Toepaslike Koste in Aankoopontvangste-items moet dieselfde wees as Totale Belasting en Heffings,
Total Budget,Totale begroting,
Total Collected: {0},Totaal versamel: {0},
Total Commission,Totale Kommissie,
Total Contribution Amount: {0},Totale Bydrae Bedrag: {0},
Total Credit/ Debit Amount should be same as linked Journal Entry,Totale Krediet / Debiet Bedrag moet dieselfde wees as gekoppelde Joernaal Inskrywing,
Total Debit must be equal to Total Credit. The difference is {0},Totale Debiet moet gelyk wees aan Totale Krediet. Die verskil is {0},
Total Invoiced Amount,Totale gefaktureerde bedrag,
Total Order Considered,Totale bestelling oorweeg,
Total Order Value,Totale bestellingswaarde,
Total Outgoing,Totaal Uitgaande,
Total Outstanding,Totaal Uitstaande,
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,Totale Betalingsbedrag in Betaalskedule moet gelyk wees aan Grand / Rounded Total,
Total Payments,Totale betalings,
Total Qty,Totale hoeveelheid,
Total Quantity,Totale hoeveelheid,
Total Revenue,Totale inkomste,
Total Student,Totale Student,
Total Target,Totale teiken,
Total Tax,Totale Belasting,
Total Taxable Amount,Totale Belasbare Bedrag,
Total Taxable Value,Totale Belasbare Waarde,
Total Unpaid: {0},Totaal Onbetaald: {0},
Total Variance,Totale Variansie,
Total Weightage of all Assessment Criteria must be 100%,Totale Gewig van alle Assesseringskriteria moet 100% wees.,
Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Totale voorskot ({0}) teen Bestelling {1} kan nie groter wees as die Grand Total ({2}) nie.,
Total advance amount cannot be greater than total claimed amount,Totale voorskotbedrag kan nie groter wees as die totale geëisde bedrag nie,
Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Totale toegekende blare is meer dae as die maksimum toekenning van {0} verloftipe vir werknemer {1} in die tydperk,
Total allocated leaves are more than days in the period,Totale toegekende blare is meer as dae in die tydperk,
Total allocated percentage for sales team should be 100,Totale toegewysde persentasie vir verkope span moet 100 wees,
Total cannot be zero,Totaal kan nie nul wees nie,
Total contribution percentage should be equal to 100,Die totale bydraepersentasie moet gelyk wees aan 100,
Total hours: {0},Totale ure: {0},
Total {0} ({1}),Totaal {0} ({1}),
"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Totale {0} vir alle items is nul, mag u verander word &quot;Versprei koste gebaseer op &#39;",
Total(Amt),Totaal (Amt),
Total(Qty),Totaal (Aantal),
Traceability,naspeurbaarheid,
Track Leads by Lead Source.,Volg leidrade deur die leidingsbron.,
Transaction,transaksie,
Transaction Date,Transaksie datum,
Transaction Type,Transaksie Tipe,
Transaction currency must be same as Payment Gateway currency,Die transaksie geldeenheid moet dieselfde wees as die betaling gateway valuta,
Transaction not allowed against stopped Work Order {0},Transaksie nie toegestaan teen beëindigde werkorder {0},
Transaction reference no {0} dated {1},Transaksieverwysingsnommer {0} gedateer {1},
Transactions,transaksies,
Transactions can only be deleted by the creator of the Company,Transaksies kan slegs deur die skepper van die Maatskappy uitgevee word,
Transfer,oordrag,
Transfer Material,Oordragmateriaal,
Transfer Type,Oordrag Tipe,
Transfer an asset from one warehouse to another,Oordra &#39;n bate van een pakhuis na &#39;n ander,
Transfered,oorgedra,
Transferred Quantity,Aantal oorgedra,
Transport Receipt Date,Vervaardigingsdatum,
Transport Receipt No,Vervoerontvangstnr,
Transportation,Vervoer,
Transporter ID,Vervoerder ID,
Transporter Name,Vervoerder Naam,
Travel Expenses,Reiskoste,
Tree Type,Boomstipe,
Tree of Bill of Materials,Boom van die materiaal,
Tree of Item Groups.,Boom van Itemgroepe.,
Tree of Procedures,Boom van Prosedures,
Tree of Quality Procedures.,Boom van kwaliteitsprosedures.,
Tree of financial Cost Centers.,Boom van finansiële kostesentrums.,
Tree of financial accounts.,Boom van finansiële rekeninge.,
Treshold {0}% appears more than once,Drempel {0}% verskyn meer as een keer,
Trial Period End Date Cannot be before Trial Period Start Date,Proeftydperk Einddatum kan nie voor die begin datum van die proeftydperk wees nie,
Trialling,uitte,
Type of Business,Tipe besigheid,
Types of activities for Time Logs,Soorte aktiwiteite vir Time Logs,
UOM,UOM,
UOM Conversion factor is required in row {0},UOM Gespreksfaktor word benodig in ry {0},
UOM coversion factor required for UOM: {0} in Item: {1},UOM dekselfaktor benodig vir UOM: {0} in Item: {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 vir {0} tot {1} nie vind vir sleuteldatum {2}. Maak asseblief &#39;n Geldruilrekord handmatig,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Kan nie telling begin vanaf {0}. U moet standpunte van 0 tot 100 hê,
Unable to find variable: ,Kan nie veranderlike vind nie:,
Unblock Invoice,Ontgrendel faktuur,
Uncheck all,Ontmerk alles,
Unclosed Fiscal Years Profit / Loss (Credit),Onbekende fiskale jare Wins / verlies (Krediet),
Unit,eenheid,
Unit of Measure,Eenheid van maatreël,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Eenheid van maat {0} is meer as een keer in die Faktor Tabel ingevoer,
Unknown,onbekend,
Unpaid,onbetaalde,
Unsecured Loans,Onversekerde Lenings,
Unsubscribe from this Email Digest,Uitschrijven van hierdie e-pos verhandeling,
Unsubscribed,uitgeteken,
Until,totdat,
Unverified Webhook Data,Onverifieerde Webhook Data,
Update Account Name / Number,Werk rekening naam / nommer op,
Update Account Number / Name,Werk rekeningnommer / naam op,
Update Cost,Dateer koste,
Update Items,Dateer items op,
Update Print Format,Dateer afdrukformaat op,
Update bank payment dates with journals.,Dateer bankrekeningdatums met joernale op.,
Update in progress. It might take a while.,Werk aan die gang. Dit kan &#39;n rukkie neem.,
Update rate as per last purchase,Opdateringskoers soos per vorige aankoop,
Update stock must be enable for the purchase invoice {0},Opdateringsvoorraad moet vir die aankoopfaktuur {0},
Updating Variants...,Dateer variante op ...,
Upload your letter head and logo. (you can edit them later).,Laai jou briefhoof en logo op. (jy kan dit later wysig).,
Upper Income,Boonste Inkomste,
Use Sandbox,Gebruik Sandbox,
User,gebruiker,
User ID,Gebruikers-ID,
User ID not set for Employee {0},Gebruiker ID nie ingestel vir Werknemer {0},
User Remark,Gebruikers opmerking,
User has not applied rule on the invoice {0},Gebruiker het nie die reël op die faktuur {0} toegepas nie,
User {0} already exists,Gebruiker {0} bestaan reeds,
User {0} created,Gebruiker {0} geskep,
User {0} does not exist,Gebruiker {0} bestaan nie,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Gebruiker {0} het geen standaard POS-profiel nie. Gaan standaard by ry {1} vir hierdie gebruiker.,
User {0} is already assigned to Employee {1},Gebruiker {0} is reeds toegewys aan Werknemer {1},
User {0} is already assigned to Healthcare Practitioner {1},Gebruiker {0} is reeds aan Gesondheidsorgpraktisyn toegewys {1},
Users,gebruikers,
Utility Expenses,Utility Uitgawes,
Valid From Date must be lesser than Valid Upto Date.,Geldig vanaf datum moet minder wees as geldige datum datum.,
Valid Till,Geldig tot,
Valid from and valid upto fields are mandatory for the cumulative,Geldig uit en tot geldige velde is verpligtend vir die kumulatiewe,
Valid from date must be less than valid upto date,Geldig vanaf die datum moet minder wees as die geldige tot op datum,
Valid till date cannot be before transaction date,Geldig tot datum kan nie voor transaksiedatum wees nie,
Validity,geldigheid,
Validity period of this quotation has ended.,Geldigheidsduur van hierdie aanhaling is beëindig.,
Valuation Rate,Waardasietempo,
Valuation Rate is mandatory if Opening Stock entered,Waardasietarief is verpligtend indien Openingsvoorraad ingeskryf is,
Valuation type charges can not marked as Inclusive,Waardasietoelae kan nie as Inklusief gemerk word nie,
Value Or Qty,Waarde of Hoeveelheid,
Value Proposition,Waarde Proposisie,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Waarde vir kenmerk {0} moet binne die omvang van {1} tot {2} in die inkremente van {3} vir Item {4},
Value must be between {0} and {1},Waarde moet tussen {0} en {1} wees,
"Values of exempt, nil rated and non-GST inward supplies","Waardes van vrygestelde, nie-gegradeerde en nie-GST-voorrade",
Variance,variansie,
Variance ({}),Variansie ({}),
Variant,Variant,
Variant Attributes,Variant Attributes,
Variant Based On cannot be changed,Variant gebaseer op kan nie verander word nie,
Variant Details Report,Variant Besonderhede Verslag,
Variant creation has been queued.,Variantskepping is in die ry.,
Vehicle Expenses,Voertuiguitgawes,
Vehicle No,Voertuignommer,
Vehicle Type,Voertuigtipe,
Vehicle/Bus Number,Voertuig / busnommer,
Venture Capital,Venture Capital,
View Chart of Accounts,Bekyk grafiek van rekeninge,
View Fees Records,View Fees Records,
View Form,Kyk vorm,
View Lab Tests,Bekyk labtoetse,
View Leads,Bekyk Leads,
View Ledger,Bekyk Grootboek,
View Now,Bekyk nou,
View a list of all the help videos,Bekyk &#39;n lys van al die hulpvideo&#39;s,
View in Cart,Kyk in die winkelwagen,
Visit report for maintenance call.,Besoek verslag vir onderhoudsoproep.,
Visit the forums,Besoek die forums,
Vital Signs,Vital Signs,
Volunteer,vrywilliger,
Volunteer Type information.,Volunteer Tipe inligting.,
Volunteer information.,Vrywillige inligting.,
Voucher #,Voucher #,
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.,Warehouse kan nie uitgevee word nie aangesien voorraad grootboekinskrywing vir hierdie pakhuis bestaan.,
Warehouse cannot be changed for Serial No.,Pakhuis kan nie vir reeksnommer verander word nie.,
Warehouse is mandatory,Pakhuis is verpligtend,
Warehouse is mandatory for stock Item {0} in row {1},Pakhuis is verpligtend vir voorraad Item {0} in ry {1},
Warehouse not found in the system,Pakhuis nie in die stelsel gevind nie,
"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Pakhuis benodig by ry nr {0}, stel asseblief standaard pakhuis vir die item {1} vir die maatskappy {2}",
Warehouse required for stock Item {0},Pakhuis benodig vir voorraad Item {0},
Warehouse {0} can not be deleted as quantity exists for Item {1},"Pakhuis {0} kan nie uitgevee word nie, aangesien die hoeveelheid vir item {1} bestaan",
Warehouse {0} does not belong to company {1},Pakhuis {0} behoort nie aan maatskappy nie {1},
Warehouse {0} does not exist,Warehouse {0} bestaan nie,
"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Warehouse {0} is nie gekoppel aan enige rekening nie, noem asseblief die rekening in die pakhuisrekord of stel verstekvoorraadrekening in maatskappy {1}.",
Warehouses with child nodes cannot be converted to ledger,Pakhuise met kinderknope kan nie na grootboek omskep word nie,
Warehouses with existing transaction can not be converted to group.,Pakhuise met bestaande transaksie kan nie na groep omskep word nie.,
Warehouses with existing transaction can not be converted to ledger.,Pakhuise met bestaande transaksies kan nie na grootboek omskep word nie.,
Warning,waarskuwing,
Warning: Another {0} # {1} exists against stock entry {2},Waarskuwing: Nog {0} # {1} bestaan teen voorraadinskrywings {2},
Warning: Invalid SSL certificate on attachment {0},Waarskuwing: Ongeldige SSL-sertifikaat op aanhangsel {0},
Warning: Invalid attachment {0},Waarskuwing: Ongeldige aanhangsel {0},
Warning: Material Requested Qty is less than Minimum Order Qty,Waarskuwing: Materiaal Gevraagde hoeveelheid is minder as minimum bestelhoeveelheid,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Waarskuwing: Verkoopsbestelling {0} bestaan alreeds teen kliënt se aankoopbestelling {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,"Waarskuwing: Stelsel sal nie oorbilling kontroleer nie, aangesien die bedrag vir item {0} in {1} nul is",
Warranty,waarborg,
Warranty Claim,Waarborg eis,
Warranty Claim against Serial No.,Waarborg Eis teen Serienommer,
Website,webwerf,
Website Image should be a public file or website URL,Webwerfbeeld moet &#39;n publieke lêer of webwerf-URL wees,
Website Image {0} attached to Item {1} cannot be found,Webwerfbeeld {0} verbonde aan item {1} kan nie gevind word nie,
Website Manager,Webwerf Bestuurder,
Website Settings,Webwerf-instellings,
Wednesday,Woensdag,
Week,week,
Weekly,weeklikse,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Gewig word genoem, \ nBelang ook &quot;Gewig UOM&quot;",
Welcome email sent,Welkom e-pos gestuur,
Welcome to ERPNext,Welkom by ERPNext,
What do you need help with?,Waarmee het jy hulp nodig?,
What does it do?,Wat doen dit?,
Where manufacturing operations are carried.,Waar vervaardigingsbedrywighede uitgevoer word.,
White,wit,
Wire Transfer,Elektroniese oorbetaling,
WooCommerce Products,WooCommerce Produkte,
Work In Progress,Werk aan die gang,
Work Order,Werks bestelling,
Work Order already created for all items with BOM,Werkorde wat reeds geskep is vir alle items met BOM,
Work Order cannot be raised against a Item Template,Werkorder kan nie teen &#39;n Item Sjabloon verhoog word nie,
Work Order has been {0},Werkorder is {0},
Work Order not created,Werkorde nie geskep nie,
Work Order {0} must be cancelled before cancelling this Sales Order,Werkorder {0} moet gekanselleer word voordat u hierdie verkooporder kanselleer,
Work Order {0} must be submitted,Werkopdrag {0} moet ingedien word,
Work Orders Created: {0},Werkorders geskep: {0},
Work-in-Progress Warehouse is required before Submit,Werk-in-Progress-pakhuis word vereis voor indiening,
Working,Working,
Working Hours,Werksure,
Workstation,werkstasie,
Workstation is closed on the following dates as per Holiday List: {0},Werkstasie is gesluit op die volgende datums soos per Vakansie Lys: {0},
Wrapping up,Klaar maak,
Wrong Password,Verkeerde wagwoord,
Year start date or end date is overlapping with {0}. To avoid please set company,"Jaar begin datum of einddatum oorvleuel met {0}. Om te voorkom, stel asseblief die maatskappy in",
You are not authorized to add or update entries before {0},Jy is nie gemagtig om inskrywings by te voeg of op te dateer voor {0},
You are not authorized to set Frozen value,Jy is nie gemagtig om die bevrore waarde te stel nie,
You can not change rate if BOM mentioned agianst any item,U kan nie koers verander as BOM enige item genoem het nie,
You can not enter current voucher in 'Against Journal Entry' column,U kan nie huidige voucher insleutel in die kolom &quot;Teen Journal Entry &#39;nie,
You can only have Plans with the same billing cycle in a Subscription,U kan slegs Planne met dieselfde faktuursiklus in &#39;n intekening hê,
You can only redeem max {0} points in this order.,U kan slegs maksimum {0} punte in hierdie volgorde los.,
You can only renew if your membership expires within 30 days,U kan net hernu indien u lidmaatskap binne 30 dae verstryk,
You can only select a maximum of one option from the list of check boxes.,U kan slegs maksimum een opsie kies uit die keuselys.,
You can't redeem Loyalty Points having more value than the Grand Total.,U kan nie lojaliteitspunte verlos wat meer waarde het as die Grand Total nie.,
You cannot credit and debit same account at the same time,Jy kan nie dieselfde rekening op dieselfde tyd krediet en debiteer nie,
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,U kan nie fiskale jaar {0} uitvee nie. Fiskale jaar {0} word as verstek in globale instellings gestel,
You cannot delete Project Type 'External',Jy kan nie projektipe &#39;eksterne&#39; uitvee nie,
You cannot edit root node.,U kan nie wortelknoop wysig nie.,
You cannot restart a Subscription that is not cancelled.,U kan nie &#39;n intekening herlaai wat nie gekanselleer is nie.,
You don't have enough Loyalty Points to redeem,U het nie genoeg lojaliteitspunte om te verkoop nie,
You have already assessed for the assessment criteria {}.,U het reeds geassesseer vir die assesseringskriteria ().,
You have already selected items from {0} {1},Jy het reeds items gekies van {0} {1},
You have been invited to collaborate on the project: {0},U is genooi om saam te werk aan die projek: {0},
You have entered duplicate items. Please rectify and try again.,Jy het dubbele items ingevoer. Regstel asseblief en probeer weer.,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Jy moet &#39;n ander gebruiker as Administrateur wees met Stelselbestuurder en Itembestuurderrolle om op Marketplace te registreer.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Jy moet &#39;n gebruiker wees met Stelselbestuurder en Itembestuurderrolle om gebruikers by Marketplace te voeg.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Jy moet &#39;n gebruiker wees met Stelselbestuurder- en Itembestuurderrolle om op Marketplace te registreer.,
You need to enable Shopping Cart,Jy moet winkelwagentjie aktiveer,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,U sal rekords verloor van voorheen gegenereerde fakture. Is jy seker jy wil hierdie intekening herbegin?,
Your Organization,Jou organisasie,
Your cart is Empty,U mandjie is leeg,
Your email address...,Jou eposadres...,
Your order is out for delivery!,U bestelling is uit vir aflewering!,
Your tickets,Jou kaartjies,
ZIP Code,Poskode,
[Error],[Fout],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Vorm / Item / {0}) is uit voorraad,
`Freeze Stocks Older Than` should be smaller than %d days.,`Vries voorraad ouer as` moet kleiner as% d dae wees.,
based_on,gebaseer op,
cannot be greater than 100,kan nie groter as 100 wees nie,
disabled user,gestremde gebruiker,
"e.g. ""Build tools for builders""",bv. &quot;Bou gereedskap vir bouers&quot;,
"e.g. ""Primary School"" or ""University""",bv. &quot;Laerskool&quot; of &quot;Universiteit&quot;,
"e.g. Bank, Cash, Credit Card","bv. Bank, Kontant, Kredietkaart",
hidden,verborge,
modified,verander,
old_parent,old_parent,
on,op,
{0} '{1}' is disabled,{0} &#39;{1}&#39; is gedeaktiveer,
{0} '{1}' not in Fiscal Year {2},{0} &#39;{1}&#39; nie in fiskale jaar {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) kan nie groter wees as die beplande hoeveelheid ({2}) in werkorder {3},
{0} - {1} is inactive student,{0} - {1} is onaktiewe student,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} is nie in die bondel {2} ingeskryf nie,
{0} - {1} is not enrolled in the Course {2},{0} - {1} is nie in die Kursus ingeskryf nie {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Budget vir rekening {1} teen {2} {3} is {4}. Dit sal oorskry met {5},
{0} Digest,{0} Digest,
{0} Request for {1},{0} Versoek vir {1},
{0} Result submittted,{0} Resultaat ingedien,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} Reeksnommers benodig vir Item {1}. U het {2} verskaf.,
{0} Student Groups created.,{0} Studentegroepe geskep.,
{0} Students have been enrolled,{0} Studente is ingeskryf,
{0} against Bill {1} dated {2},{0} teen Wetsontwerp {1} gedateer {2},
{0} against Purchase Order {1},{0} teen aankooporder {1},
{0} against Sales Invoice {1},{0} teen Verkoopsfaktuur {1},
{0} against Sales Order {1},{0} teen verkoopsbestelling {1},
{0} asset cannot be transferred,{0} bate kan nie oorgedra word nie,
{0} can not be negative,{0} kan nie negatief wees nie,
{0} created,{0} geskep,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} het tans &#39;n {1} Verskaffer Scorecard, en aankope bestellings aan hierdie verskaffer moet met omsigtigheid uitgereik word.",
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.",{0} het tans &#39;n {1} Verskaffer Scorecard en RFQs aan hierdie verskaffer moet met omsigtigheid uitgereik word.,
{0} does not belong to Company {1},{0} behoort nie aan Maatskappy {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} het nie &#39;n gesondheidsorgpraktisynskedule nie. Voeg dit by in die Gesondheidsorgpraktisynmeester,
{0} entered twice in Item Tax,{0} het twee keer in Itembelasting ingeskryf,
{0} for {1},{0} vir {1},
{0} has been submitted successfully,{0} is suksesvol ingedien,
{0} has fee validity till {1},{0} het fooi geldigheid tot {1},
{0} hours,{0} uur,
{0} in row {1},{0} in ry {1},
{0} is blocked so this transaction cannot proceed,"{0} is geblokkeer, sodat hierdie transaksie nie kan voortgaan nie",
{0} is mandatory,{0} is verpligtend,
{0} is mandatory for Item {1},{0} is verpligtend vir item {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} is verpligtend. Miskien is Geldwissel-rekord nie vir {1} tot {2} geskep nie.,
{0} is not a stock Item,{0} is nie &#39;n voorraaditem nie,
{0} is not a valid Batch Number for Item {1},{0} is nie &#39;n geldige lotnommer vir item {1} nie,
{0} is not added in the table,{0} word nie in die tabel bygevoeg nie,
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} is nou die standaard fiskale jaar. Herlaai asseblief u blaaier voordat die verandering in werking tree.,
{0} is on hold till {1},{0} is aan die houer tot {1},
{0} item found.,{0} item gevind.,
{0} items found.,{0} items gevind.,
{0} items in progress,{0} items aan die gang,
{0} items produced,{0} items geproduseer,
{0} must appear only once,{0} moet net een keer verskyn,
{0} must be negative in return document,{0} moet negatief wees in ruil dokument,
{0} not allowed to transact with {1}. Please change the Company.,{0} mag nie met {1} handel nie. Verander asseblief die Maatskappy.,
{0} not found for item {1},{0} nie gevind vir item {1},
{0} parameter is invalid,{0} -parameter is ongeldig,
{0} payment entries can not be filtered by {1},{0} betalingsinskrywings kan nie gefiltreer word deur {1},
{0} should be a value between 0 and 100,{0} moet &#39;n waarde tussen 0 en 100 wees,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} eenhede van [{1}] (# Vorm / Item / {1}) gevind in [{2}] (# Vorm / pakhuis / {2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} eenhede van {1} benodig in {2} op {3} {4} vir {5} om hierdie transaksie te voltooi.,
{0} units of {1} needed in {2} to complete this transaction.,{0} eenhede van {1} benodig in {2} om hierdie transaksie te voltooi.,
{0} valid serial nos for Item {1},{0} geldige reeksnommers vir item {1},
{0} variants created.,{0} variante geskep.,
{0} {1} created,{0} {1} geskep,
{0} {1} does not exist,{0} {1} bestaan nie,
{0} {1} has been modified. Please refresh.,{0} {1} is gewysig. Herlaai asseblief.,
{0} {1} has not been submitted so the action cannot be completed,"{0} {1} is nie ingedien nie, sodat die aksie nie voltooi kan word nie",
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} word geassosieer met {2}, maar Partyrekening is {3}",
{0} {1} is cancelled or closed,{0} {1} is gekanselleer of gesluit,
{0} {1} is cancelled or stopped,{0} {1} is gekanselleer of gestop,
{0} {1} is cancelled so the action cannot be completed,{0} {1} is gekanselleer sodat die aksie nie voltooi kan word nie,
{0} {1} is closed,{0} {1} is gesluit,
{0} {1} is disabled,{0} {1} is gedeaktiveer,
{0} {1} is frozen,{0} {1} is gevries,
{0} {1} is fully billed,{0} {1} is ten volle gefaktureer,
{0} {1} is not active,{0} {1} is nie aktief nie,
{0} {1} is not associated with {2} {3},{0} {1} word nie geassosieer met {2} {3},
{0} {1} is not present in the parent company,{0} {1} is nie in die ouer maatskappy teenwoordig nie,
{0} {1} is not submitted,{0} {1} is nie ingedien nie,
{0} {1} is {2},{0} {1} is {2},
{0} {1} must be submitted,{0} {1} moet ingedien word,
{0} {1} not in any active Fiscal Year.,{0} {1} nie in enige aktiewe fiskale jaar nie.,
{0} {1} status is {2},{0} {1} status is {2},
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &#39;Wins en verlies&#39;-tipe rekening {2} word nie toegelaat in die opening van toegang nie,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Rekening {2} behoort nie aan Maatskappy {3},
{0} {1}: Account {2} is inactive,{0} {1}: Rekening {2} is onaktief,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Rekeningkundige Inskrywing vir {2} kan slegs in valuta gemaak word: {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Koste sentrum is verpligtend vir item {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}: Koste sentrum is nodig vir &#39;Wins en verlies&#39; rekening {2}. Stel asseblief &#39;n standaard koste sentrum vir die maatskappy op.,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Koste Sentrum {2} behoort nie aan Maatskappy {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}: Kliënt word vereis teen ontvangbare rekening {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Beide debiet- of kredietbedrag word benodig vir {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Verskaffer is nodig teen Betaalbare rekening {2},
{0}% Billed,{0}% gefaktureer,
{0}% Delivered,{0}% afgelewer,
{0}: From {1},{0}: Vanaf {1},
{0}: {1} does not exists,{0}: {1} bestaan nie,
{0}: {1} not found in Invoice Details table,{0}: {1} word nie in die faktuurbesonderhede-tabel gevind nie,
{} of {},{} van {},
Assigned To,Toevertrou aan,
Chat,chat,
Completed By,Voltooi deur,
Day of Week,Dag van die week,
"Dear System Manager,","Geagte Stelselbestuurder,",
Default Value,Standaard waarde,
Email Group,E-posgroep,
Email Settings,E-pos instellings,
Email not sent to {0} (unsubscribed / disabled),E-pos is nie gestuur na {0} (unsubscribed / disabled),
Error Message,Foutboodskap,
Fieldtype,Fieldtype,
Help Articles,Hulpartikels,
ID,ID,
Import,invoer,
Language,Taal,
Likes,Hou,
Merge with existing,Voeg saam met bestaande,
Orientation,geaardheid,
Parent,Ouer,
Payment Failed,Betaling misluk,
Personal,persoonlike,
Post,Post,
Postal Code,Poskode,
Provider,verskaffer,
Read Only,Lees net,
Recipient,ontvanger,
Reviews,resensies,
Sender,sender,
There were errors while sending email. Please try again.,Daar was foute tydens die stuur van e-pos. Probeer asseblief weer.,
Values Changed,Waardes verander,
or,of,
Ageing Range 4,Verouderingsreeks 4,
Allocated amount cannot be greater than unadjusted amount,Die toegekende bedrag kan nie groter wees as die onaangepaste bedrag nie,
Allocated amount cannot be negative,Die toegekende bedrag kan nie negatief wees nie,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Verskilrekening moet &#39;n bate- / aanspreeklikheidsrekening wees, aangesien hierdie voorraadinskrywing &#39;n openingsinskrywing is",
Import Successful,Invoer suksesvol,
Please save first,Stoor asseblief eers,
Price not found for item {0} in price list {1},Prys nie gevind vir item {0} in die pryslys {1},
Warehouse Type,Pakhuis tipe,
'Date' is required,&#39;Datum&#39; is verpligtend,
Budgets,begrotings,
Bundle Qty,Bundel Aantal,
Company GSTIN,Maatskappy GSTIN,
Company field is required,Ondernemingsveld word vereis,
Creating Dimensions...,Skep dimensies ...,
Duplicate entry against the item code {0} and manufacturer {1},Dupliseer inskrywing teen die itemkode {0} en vervaardiger {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! Die invoer wat u ingevoer het, stem nie ooreen met die GSTIN-formaat vir UIN-houers of OIDAR-diensverskaffers wat nie inwoon nie",
Invoice Grand Total,Faktuur groot totaal,
Last carbon check date cannot be a future date,Die laaste datum vir koolstoftoets kan nie &#39;n toekoms wees nie,
Make Stock Entry,Doen voorraadinskrywing,
Quality Feedback,Kwaliteit terugvoer,
Quality Feedback Template,Kwaliteit-terugvoersjabloon,
Rules for applying different promotional schemes.,Reëls vir die toepassing van verskillende promosieskemas.,
Show {0},Wys {0},
Target Details,Teikenbesonderhede,
{0} already has a Parent Procedure {1}.,{0} het reeds &#39;n ouerprosedure {1}.,
API,API,
Annual,jaarlikse,
Change,verandering,
Contact Email,Kontak e-pos,
From Date,Vanaf datum,
Group By,Groepeer volgens,
Invalid URL,Ongeldige URL,
Landscape,landskap,
Naming Series,Naming Series,
No data to export,Geen data om uit te voer nie,
Portrait,Portret,
Print Heading,Drukopskrif,
Scheduler Inactive,Skeduleerder onaktief,
Scheduler is inactive. Cannot import data.,Planner is onaktief. Kan nie data invoer nie.,
Show Document,Wys dokument,
Show Traceback,Wys terugsporing,
Video,video,
% Of Grand Total,% Van die totale totaal,
<b>Company</b> is a mandatory filter.,<b>Die maatskappy</b> is &#39;n verpligte filter.,
<b>From Date</b> is a mandatory filter.,<b>Vanaf datum</b> is &#39;n verpligte filter.,
<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>Van tyd af</b> kan nie later wees as <b>tot tyd</b> vir {0},
<b>To Date</b> is a mandatory filter.,<b>Tot op datum</b> is &#39;n verpligte filter.,
A new appointment has been created for you with {0},&#39;N Nuwe afspraak is met u gemaak met {0},
Account Value,Rekeningwaarde,
Account is mandatory to get payment entries,Rekeninge is verpligtend om betalingsinskrywings te kry,
Account is not set for the dashboard chart {0},Die rekening is nie opgestel vir die paneelkaart {0},
Account {0} does not exists in the dashboard chart {1},Rekening {0} bestaan nie in die paneelkaart {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Rekening: <b>{0}</b> is kapitaal Werk aan die gang en kan nie deur die joernaalinskrywing bygewerk word nie,
Account: {0} is not permitted under Payment Entry,Rekening: {0} is nie toegelaat onder betalingstoelae nie,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Rekeningkundige dimensie <b>{0}</b> is nodig vir &#39;Balansstaat&#39;-rekening {1}.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Rekeningkundige dimensie <b>{0}</b> is nodig vir &#39;Wins-en-verlies&#39;-rekening {1}.,
Accounting Masters,Rekeningmeesters,
Accounting Period overlaps with {0},Rekeningkundige tydperk oorvleuel met {0},
Activity,aktiwiteit,
Add / Manage Email Accounts.,Voeg / Bestuur e-pos rekeninge.,
Add Child,Voeg kind by,
Add Multiple,Voeg meerdere by,
Add Participants,Voeg Deelnemers by,
Add to Featured Item,Voeg by die voorgestelde artikel,
Add your review,Voeg jou resensie by,
Add/Edit Coupon Conditions,Voeg / wysig koeponvoorwaardes,
Added to Featured Items,By die voorgestelde items gevoeg,
Added {0} ({1}),Bygevoeg {0} ({1}),
Address Line 1,Adres Lyn 1,
Addresses,adresse,
Admission End Date should be greater than Admission Start Date.,Einddatum vir toelating moet groter wees as die aanvangsdatum vir toelating.,
All,Almal,
All bank transactions have been created,Alle banktransaksies is geskep,
All the depreciations has been booked,Al die waardevermindering is bespreek,
Allow Resetting Service Level Agreement from Support Settings.,Laat die diensvlakooreenkoms weer instel van ondersteuninginstellings.,
Amount of {0} is required for Loan closure,Bedrag van {0} is nodig vir leningsluiting,
Applied Coupon Code,Toegepaste koeponkode,
Apply Coupon Code,Pas koeponkode toe,
Appointment Booking,Aanstellings bespreking,
"As there are existing transactions against item {0}, you can not change the value of {1}","Aangesien daar bestaande transaksies teen item {0} is, kan u nie die waarde van {1} verander nie",
Asset Id,Bate-id,
Asset Value,Batewaarde,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Die aanpassing van die batewaarde kan nie voor die aankoopdatum van die bate <b>{0}</b> gepos word nie.,
Asset {0} does not belongs to the custodian {1},Bate {0} behoort nie aan die bewaarder {1},
Asset {0} does not belongs to the location {1},Bate {0} hoort nie op die ligging {1},
At least one of the Applicable Modules should be selected,Ten minste een van die toepaslike modules moet gekies word,
Atleast one asset has to be selected.,&#39;N Bate van Atleast moet gekies word.,
Authentication Failed,Verifikasie misluk,
Automatic Reconciliation,Outomatiese versoening,
Available For Use Date,Beskikbaar vir gebruiksdatum,
Available Stock,Beskikbaar voorraad,
"Available quantity is {0}, you need {1}","Beskikbare hoeveelheid is {0}, u het {1} nodig",
BOM 1,BOM 1,
BOM 2,BOM 2,
BOM Comparison Tool,BOM-vergelykingshulpmiddel,
BOM recursion: {0} cannot be child of {1},Rekursie van die BOM: {0} kan nie die kind van {1} wees nie,
BOM recursion: {0} cannot be parent or child of {1},Rekursie van die BOM: {0} kan nie ouer of kind van {1} wees nie,
Back to Messages,Terug na boodskappe,
Bank Data mapper doesn't exist,Bankdata-kartering bestaan nie,
Bank Details,Bankbesonderhede,
Bank account '{0}' has been synchronized,Die bankrekening &#39;{0}&#39; is gesinchroniseer,
Bank account {0} already exists and could not be created again,Bankrekening {0} bestaan reeds en kon nie weer geskep word nie,
Bank accounts added,Bankrekeninge bygevoeg,
Batch no is required for batched item {0},Joernale nr. Is nodig vir &#39;n bondeltjie {0},
Billing Date,Faktureringsdatum,
Billing Interval Count cannot be less than 1,Die faktuurintervaltelling mag nie minder as 1 wees nie,
Blue,Blou,
Book,Boek,
Book Appointment,Boekafspraak,
Brand,Brand,
Browse,Snuffel,
Call Connected,Bel gekoppel,
Call Disconnected,Bel ontkoppel,
Call Missed,Bel gemis,
Call Summary,Oproepopsomming,
Call Summary Saved,Oproepopsomming gestoor,
Cancelled,gekanselleer,
Cannot Calculate Arrival Time as Driver Address is Missing.,"Kan nie die aankomstyd bereken nie, aangesien die adres van die bestuurder ontbreek.",
Cannot Optimize Route as Driver Address is Missing.,"Kan nie die roete optimaliseer nie, aangesien die bestuurder se adres ontbreek.",
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,"Kan nie taak {0} voltooi nie, want die afhanklike taak {1} is nie saamgevoeg / gekanselleer nie.",
Cannot find a matching Item. Please select some other value for {0}.,Kan nie &#39;n ooreenstemmende item vind nie. Kies asseblief &#39;n ander waarde vir {0}.,
"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Kan nie meer as {2} oor item {0} in ry {1} oorkoop nie. Om oorfakturering toe te laat, stel asseblief toelae in rekeninginstellings",
"Capacity Planning Error, planned start time can not be same as end time","Kapasiteitsbeplanningsfout, beplande begintyd kan nie dieselfde wees as eindtyd nie",
Categories,kategorieë,
Changes in {0},Veranderings in {0},
Chart,grafiek,
Choose a corresponding payment,Kies &#39;n ooreenstemmende betaling,
Click on the link below to verify your email and confirm the appointment,Klik op die skakel hieronder om u e-pos te verifieer en die afspraak te bevestig,
Close,Naby,
Communication,kommunikasie,
Compact Item Print,Kompakte Item Druk,
Company,maatskappy,
Company of asset {0} and purchase document {1} doesn't matches.,Die maatskappy van bate {0} en die aankoopdokument {1} stem nie ooreen nie.,
Compare BOMs for changes in Raw Materials and Operations,Vergelyk BOM&#39;s vir veranderinge in grondstowwe en werking,
Compare List function takes on list arguments,Vergelyk lysfunksie neem lysargumente aan,
Complete,volledige,
Completed,voltooi,
Completed Quantity,Voltooide hoeveelheid,
Connect your Exotel Account to ERPNext and track call logs,Koppel u Exotel-rekening aan ERPNext en spoor oproeplogboeke,
Connect your bank accounts to ERPNext,Koppel u bankrekeninge aan ERPNext,
Contact Seller,Kontak verkoper,
Continue,Aanhou,
Cost Center: {0} does not exist,Kostesentrum: {0} bestaan nie,
Couldn't Set Service Level Agreement {0}.,Kon nie diensvlakooreenkoms instel nie {0}.,
Country,land,
Country Code in File does not match with country code set up in the system,Landkode in lêer stem nie ooreen met die landkode wat in die stelsel opgestel is nie,
Create New Contact,Skep nuwe kontak,
Create New Lead,Skep nuwe lei,
Create Pick List,Skep kieslys,
Create Quality Inspection for Item {0},Skep kwaliteitsinspeksie vir item {0},
Creating Accounts...,Skep rekeninge ...,
Creating bank entries...,Skep tans bankinskrywings ...,
Credit limit is already defined for the Company {0},Kredietlimiet is reeds gedefinieër vir die maatskappy {0},
Ctrl + Enter to submit,Ctrl + Enter om in te dien,
Ctrl+Enter to submit,Ctrl + Enter om in te dien,
Currency,geldeenheid,
Current Status,Huidige toestand,
Customer PO,Kliënt Posbus,
Daily,daaglikse,
Date,datum,
Date of Birth cannot be greater than Joining Date.,Die geboortedatum mag nie groter wees as die datum van aansluiting nie.,
Dear,Geagte,
Default,verstek,
Define coupon codes.,Definieer koeponkodes.,
Delayed Days,Vertraagde dae,
Delete,verwyder,
Delivered Quantity,Lewer hoeveelheid,
Delivery Notes,Afleweringsnotas,
Depreciated Amount,Waardeverminderde Bedrag,
Description,beskrywing,
Designation,aanwysing,
Difference Value,Verskilwaarde,
Dimension Filter,Afmetingsfilter,
Disabled,gestremde,
Disbursement and Repayment,Uitbetaling en terugbetaling,
Distance cannot be greater than 4000 kms,Afstand mag nie groter as 4000 km wees nie,
Do you want to submit the material request,Wil u die materiaalversoek indien?,
Doctype,DOCTYPE,
Document {0} successfully uncleared,Dokument {0} suksesvol onduidelik,
Download Template,Laai sjabloon af,
Dr,Dr,
Due Date,Vervaldatum,
Duplicate,Dupliseer,
Duplicate Project with Tasks,Duplikaat projek met take,
Duplicate project has been created,Duplikaatprojek is geskep,
E-Way Bill JSON can only be generated from a submitted document,E-Way Bill JSON kan slegs gegenereer word uit &#39;n ingediende dokument,
E-Way Bill JSON can only be generated from submitted document,e-Way Bill JSON kan slegs gegenereer word uit die voorgelegde dokument,
E-Way Bill JSON cannot be generated for Sales Return as of now,E-Way Bill JSON kan vanaf nou nie gegenereer word vir verkoopsopgawe nie,
ERPNext could not find any matching payment entry,ERPNext kon geen passende betalingsinskrywing vind nie,
Earliest Age,Die vroegste ouderdom,
Edit Details,Wysig besonderhede,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,Óf GST-vervoerder-ID of voertuignommer is nodig as die vervoermetode op die pad is,
Email,EMail,
Email Campaigns,E-posveldtogte,
Employee ID is linked with another instructor,Werknemer-ID word gekoppel aan &#39;n ander instrukteur,
Employee Tax and Benefits,Belasting en voordele vir werknemers,
Employee is required while issuing Asset {0},Werknemer word benodig tydens die uitreiking van bate {0},
Employee {0} does not belongs to the company {1},Werknemer {0} behoort nie aan die maatskappy {1},
Enable Auto Re-Order,Aktiveer outomatiese herbestelling,
End Date of Agreement can't be less than today.,Die einddatum van die ooreenkoms mag nie minder wees as vandag nie.,
End Time,Eindtyd,
Energy Point Leaderboard,Energiepunt-ranglys,
Enter API key in Google Settings.,Voer API-sleutel in Google-instellings in.,
Enter Supplier,Voer verskaffer in,
Enter Value,Voer waarde in,
Entity Type,Entiteitstipe,
Error,fout,
Error in Exotel incoming call,Fout tydens inkomende oproep van Exotel,
Error: {0} is mandatory field,Fout: {0} is verpligtend,
Exception occurred while reconciling {0},Uitsondering het plaasgevind tydens die versoening van {0},
Expected and Discharge dates cannot be less than Admission Schedule date,Die verwagte en ontslagdatums mag nie minder wees as die datum van die toelatingskedule nie,
Expired,verstryk,
Export,uitvoer,
Export not allowed. You need {0} role to export.,Uitvoer nie toegelaat nie. Jy benodig {0} rol om te eksporteer.,
Failed to add Domain,Kon nie domein byvoeg nie,
Fetch Items from Warehouse,Haal voorwerpe uit die pakhuis,
Fetching...,Haal ...,
Field,veld,
Filters,filters,
Finding linked payments,Vind gekoppelde betalings,
Fleet Management,Vloot bestuur,
Following fields are mandatory to create address:,Die volgende velde is verpligtend om adres te skep:,
For Month,Vir maand,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity",Vir item {0} op ry {1} stem die reeksnommers nie ooreen met die gekose hoeveelheid nie,
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Vir bewerking {0}: Hoeveelheid ({1}) kan nie greter wees as die hangende hoeveelheid ({2}),
For quantity {0} should not be greater than work order quantity {1},Vir hoeveelheid {0} mag nie groter wees as hoeveelheid werkorde {1},
Free item not set in the pricing rule {0},Gratis item word nie in die prysreël {0} gestel nie,
From Date and To Date are Mandatory,Van datum tot datum is verpligtend,
From employee is required while receiving Asset {0} to a target location,Van werknemer word benodig tydens die ontvangs van bate {0} na &#39;n teikens,
Future Payment Amount,Toekomstige betalingsbedrag,
Future Payment Ref,Toekomstige betaling ref,
Future Payments,Toekomstige betalings,
GST HSN Code does not exist for one or more items,GST HSN-kode bestaan nie vir een of meer items nie,
Generate E-Way Bill JSON,Genereer E-Way Bill JSON,
Get Items,Kry items,
Get Outstanding Documents,Kry uitstaande dokumente,
Goal,doel,
Greater Than Amount,Groter as die bedrag,
Green,groen,
Group,groep,
Group By Customer,Groep per kliënt,
Group By Supplier,Groep volgens verskaffer,
Group Node,Groepknooppunt,
Group Warehouses cannot be used in transactions. Please change the value of {0},Groeps pakhuise kan nie in transaksies gebruik word nie. Verander die waarde van {0},
Help,help,
Help Article,Help artikel,
"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Help u om rekord te hou van kontrakte gebaseer op verskaffer, kliënt en werknemer",
Helps you manage appointments with your leads,Help u om afsprake met u leidrade te bestuur,
Home,huis,
IBAN is not valid,IBAN is nie geldig nie,
Import Data from CSV / Excel files.,Voer data uit CSV / Excel-lêers in.,
In Progress,In Progress,
Incoming call from {0},Inkomende oproep vanaf {0},
Incorrect Warehouse,Verkeerde pakhuis,
Invalid Barcode. There is no Item attached to this barcode.,Ongeldige strepieskode. Daar is geen item verbonde aan hierdie strepieskode nie.,
Invalid credentials,Ongeldige magtigingsbewyse,
Issue Priority.,Prioriteit vir kwessies.,
Issue Type.,Uitgawe tipe.,
"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.","Dit lyk asof daar &#39;n probleem met die bediener se streepkonfigurasie is. In geval van versuim, sal die bedrag terugbetaal word na u rekening.",
Item Reported,Item Gerapporteer,
Item listing removed,Itemlys is verwyder,
Item quantity can not be zero,Item hoeveelheid kan nie nul wees nie,
Item taxes updated,Itembelasting opgedateer,
Item {0}: {1} qty produced. ,Item {0}: {1} hoeveelheid geproduseer.,
Joining Date can not be greater than Leaving Date,Aansluitingsdatum kan nie groter wees as die vertrekdatum nie,
Lab Test Item {0} already exist,Laboratoriumtoetsitem {0} bestaan reeds,
Last Issue,Laaste uitgawe,
Latest Age,Jongste ouderdom,
Leaves Taken,Blare geneem,
Less Than Amount,Minder as die bedrag,
Liabilities,laste,
Loading...,Laai ...,
Loan Applications from customers and employees.,Leningsaansoeke van kliënte en werknemers.,
Loan Processes,Leningsprosesse,
Loan Type for interest and penalty rates,Tipe lening vir rente en boetes,
Loans,lenings,
Loans provided to customers and employees.,Lenings aan kliënte en werknemers.,
Location,plek,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Dit lyk of iemand jou na &#39;n onvolledige URL gestuur het. Vra hulle asseblief om dit te ondersoek.,
Make Journal Entry,Maak joernaalinskrywing,
Make Purchase Invoice,Maak aankoopfaktuur,
Manufactured,vervaardig,
Mark Work From Home,Merk werk van die huis af,
Master,meester,
Max strength cannot be less than zero.,Maksimum sterkte kan nie minder as nul wees nie.,
Maximum attempts for this quiz reached!,Maksimum pogings vir hierdie vasvra bereik!,
Message,boodskap,
Missing Values Required,Ontbrekende waardes word vereis,
Mobile No,Mobiele nommer,
Mobile Number,Selfoon nommer,
Month,maand,
Name,naam,
Near you,Naby jou,
Net Profit/Loss,Netto wins / verlies,
New Expense,Nuwe koste,
New Invoice,Nuwe faktuur,
New Payment,Nuwe betaling,
New release date should be in the future,Nuwe vrystellingdatum sal in die toekoms wees,
No Account matched these filters: {},Geen rekening stem ooreen met hierdie filters nie: {},
No communication found.,Geen kommunikasie gevind nie.,
No correct answer is set for {0},Geen korrekte antwoord is opgestel vir {0},
No description,geen beskrywing,
No issue has been raised by the caller.,Die oproeper het geen kwessie geopper nie.,
No items to publish,Geen items om te publiseer nie,
No outstanding invoices found,Geen uitstaande fakture gevind nie,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,"Geen uitstaande fakture is gevind vir die {0} {1} wat die filters wat u gespesifiseer het, kwalifiseer nie.",
No outstanding invoices require exchange rate revaluation,Geen uitstaande fakture vereis herwaardasie van wisselkoerse nie,
No reviews yet,Nog geen resensies,
No views yet,Nog geen kyke,
Non stock items,Nie-voorraaditems,
Not Allowed,Nie toegelaat nie,
Not allowed to create accounting dimension for {0},Nie toegelaat om rekeningkundige dimensie te skep vir {0},
Not permitted. Please disable the Lab Test Template,Nie toegelaat. Deaktiveer asseblief die laboratoriumtoetssjabloon,
Note,nota,
Notes: ,Notes:,
On Converting Opportunity,Op die omskakeling van geleentheid,
On Purchase Order Submission,By die indiening van bestellings,
On Sales Order Submission,Met die indiening van verkoopsbestellings,
On Task Completion,Na voltooiing van die taak,
On {0} Creation,Op {0} Skepping,
Only .csv and .xlsx files are supported currently,Slegs .csv- en .xlsx-lêers word tans ondersteun,
Open,oop,
Open Contact,Oop kontak,
Open Lead,Oop lood,
Opening and Closing,Opening en sluiting,
Operating Cost as per Work Order / BOM,Bedryfskoste volgens werkopdrag / BOM,
Order Amount,Bestelbedrag,
Page {0} of {1},Bladsy {0} van {1},
Paid amount cannot be less than {0},Betaalde bedrag mag nie minder as {0} wees,
Parent Company must be a group company,Moedermaatskappy moet &#39;n groepmaatskappy wees,
Passing Score value should be between 0 and 100,Die slaagwaarde moet tussen 0 en 100 wees,
Patient History,Pasiëntgeskiedenis,
Pause,breek,
Pay,betaal,
Payment Document Type,Betaaldokumenttipe,
Payment Name,Betaalnaam,
Pending,hangende,
Performance,Optrede,
Period based On,Tydperk gebaseer op,
Perpetual inventory required for the company {0} to view this report.,Deurlopende voorraad benodig vir die onderneming {0} om hierdie verslag te bekyk.,
Phone,Foon,
Pick List,Kies lys,
Plaid authentication error,Plaid-verifikasiefout,
Plaid public token error,Geplaaste openbare tekenfout,
Plaid transactions sync error,Gesinkroniseerfout in plaidtransaksies,
Please check the error log for details about the import errors,Kontroleer die foutlogboek vir meer inligting oor die invoerfoute,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Skep asseblief <b>DATEV-instellings</b> vir die maatskappy <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Skep &#39;n aanpassingsjoernaalinskrywing vir bedrag {0},
Please do not create more than 500 items at a time,Moenie meer as 500 items op &#39;n slag skep nie,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Voer asseblief die <b>verskilrekening in</b> of stel standaardvoorraad- <b>aanpassingsrekening</b> vir maatskappy {0},
Please enter GSTIN and state for the Company Address {0},Voer GSTIN in en meld die maatskappyadres {0},
Please enter Item Code to get item taxes,Voer die itemkode in om itembelasting te kry,
Please enter Warehouse and Date,Voer asseblief Warehouse en Date in,
Please login as a Marketplace User to edit this item.,Meld asseblief aan as &#39;n Marketplace-gebruiker om hierdie artikel te wysig.,
Please login as a Marketplace User to report this item.,Meld u as &#39;n Marketplace-gebruiker aan om hierdie item te rapporteer.,
Please select <b>Template Type</b> to download template,Kies <b>Sjabloontipe</b> om die sjabloon af te laai,
Please select Customer first,Kies eers kliënt,
Please select Item Code first,Kies eers die itemkode,
Please select a Delivery Note,Kies &#39;n afleweringsnota,
Please select a Sales Person for item: {0},Kies &#39;n verkoopspersoon vir item: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Kies asseblief &#39;n ander betaalmetode. Stripe ondersteun nie transaksies in valuta &#39;{0}&#39;,
Please select the customer.,Kies die kliënt.,
Please set a Supplier against the Items to be considered in the Purchase Order.,Stel &#39;n verskaffer in teen die items wat in die bestelling oorweeg moet word.,
Please set account heads in GST Settings for Compnay {0},Stel rekeninghoofde in GST-instellings vir Compnay {0},
Please set an email id for the Lead {0},Stel &#39;n e-pos-ID vir die hoof {0} in,
Please set default UOM in Stock Settings,Stel standaard UOM in Voorraadinstellings,
Please set filter based on Item or Warehouse due to a large amount of entries.,Stel &#39;n filter in op grond van &#39;n item of pakhuis as gevolg van &#39;n groot hoeveelheid inskrywings.,
Please set up the Campaign Schedule in the Campaign {0},Stel die veldtogskedule op in die veldtog {0},
Please set valid GSTIN No. in Company Address for company {0},Stel &#39;n geldige GSTIN-nommer in in die maatskappy se adres vir maatskappy {0},
Please set {0},Stel {0} in,customer
Please setup a default bank account for company {0},Stel asseblief &#39;n standaardbankrekening vir maatskappy {0} op,
Please specify,Spesifiseer asseblief,
Please specify a {0},Spesifiseer asseblief &#39;n {0},lead
Priority,prioriteit,
Priority has been changed to {0}.,Prioriteit is verander na {0}.,
Priority {0} has been repeated.,Prioriteit {0} is herhaal.,
Processing XML Files,Verwerk XML-lêers,
Profitability,winsgewendheid,
Project,projek,
Provide the academic year and set the starting and ending date.,Voorsien die akademiese jaar en stel die begin- en einddatum vas.,
Public token is missing for this bank,Daar is &#39;n openbare teken vir hierdie bank ontbreek,
Publish 1 Item,Publiseer 1 item,
Publish Items,Publiseer items,
Publish More Items,Publiseer meer items,
Publish Your First Items,Publiseer u eerste items,
Publish {0} Items,Publiseer {0} items,
Published Items,Gepubliseerde artikels,
Purchase Invoice cannot be made against an existing asset {0},Aankoopfakture kan nie teen &#39;n bestaande bate {0} gemaak word,
Purchase Invoices,Koop fakture,
Purchase Orders,Koop bestellings,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Die aankoopbewys het geen item waarvoor die behoudmonster geaktiveer is nie.,
Purchase Return,Koop opgawe,
Qty of Finished Goods Item,Aantal eindprodukte,
Quality Inspection required for Item {0} to submit,Kwaliteitinspeksie benodig vir indiening van item {0},
Quantity to Manufacture,Hoeveelheid te vervaardig,
Quantity to Manufacture can not be zero for the operation {0},Hoeveelheid te vervaardig kan nie nul wees vir die bewerking {0},
Quarterly,kwartaallikse,
Queued,tougestaan,
Quick Entry,Vinnige toegang,
Quiz {0} does not exist,Vasvra {0} bestaan nie,
Quotation Amount,Aanhalingsbedrag,
Rate or Discount is required for the price discount.,Tarief of korting is nodig vir die prysafslag.,
Reason,rede,
Reconcile Entries,Versoen inskrywings,
Reconcile this account,Versoen hierdie rekening,
Reconciled,versoen,
Recruitment,werwing,
Red,rooi,
Release date must be in the future,Die datum van vrylating moet in die toekoms wees,
Relieving Date must be greater than or equal to Date of Joining,Verligtingsdatum moet groter wees as of gelyk wees aan die Datum van aansluiting,
Rename,hernoem,
Rename Not Allowed,Hernoem nie toegelaat nie,
Report Item,Rapporteer item,
Report this Item,Rapporteer hierdie item,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Gereserveerde hoeveelheid vir subkontrakte: hoeveelheid grondstowwe om onderaangekoopte items te maak.,
Reset,herstel,
Reset Service Level Agreement,Herstel diensvlakooreenkoms,
Resetting Service Level Agreement.,Herstel van diensvlakooreenkoms.,
Return amount cannot be greater unclaimed amount,Opgawe bedrag kan nie &#39;n groter onopgeëiste bedrag wees,
Review,Resensie,
Room,kamer,
Room Type,Kamer tipe,
Row # ,Ry #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Ry # {0}: Aanvaarde pakhuis en verskaffer pakhuis kan nie dieselfde wees nie,
Row #{0}: Cannot delete item {1} which has already been billed.,"Ry # {0}: kan nie item {1} wat reeds gefaktureer is, uitvee nie.",
Row #{0}: Cannot delete item {1} which has already been delivered,"Ry # {0}: kan nie die item {1} wat reeds afgelewer is, uitvee nie",
Row #{0}: Cannot delete item {1} which has already been received,"Ry # {0}: kan nie item {1} wat reeds ontvang is, uitvee nie",
Row #{0}: Cannot delete item {1} which has work order assigned to it.,"Ry # {0}: kan nie item {1} wat aan die werkorde toegewys is, uitvee nie.",
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Ry # {0}: kan nie item {1} uitvee wat aan die klant se bestelling toegewys is nie.,
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Ry # {0}: kan nie die leweransierpakhuis kies terwyl grondstowwe aan die onderaannemer verskaf word nie,
Row #{0}: Cost Center {1} does not belong to company {2},Ry # {0}: Kostesentrum {1} behoort nie aan die maatskappy {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}.,Ry # {0}: Bewerking {1} is nie voltooi vir {2} aantal voltooide goedere in werkorde {3}. Opdateer asseblief operasionele status via Job Card {4}.,
Row #{0}: Payment document is required to complete the transaction,Ry # {0}: Betaaldokument is nodig om die transaksie te voltooi,
Row #{0}: Serial No {1} does not belong to Batch {2},Ry # {0}: reeksnommer {1} behoort nie aan groep {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Ry # {0}: Die einddatum van die diens kan nie voor die inhandigingsdatum van die faktuur wees nie,
Row #{0}: Service Start Date cannot be greater than Service End Date,Ry # {0}: Diens se begindatum kan nie groter wees as die einddatum van die diens nie,
Row #{0}: Service Start and End Date is required for deferred accounting,Ry # {0}: Aanvangs- en einddatum van diens word benodig vir uitgestelde boekhouding,
Row {0}: Invalid Item Tax Template for item {1},Ry {0}: ongeldige itembelastingsjabloon vir item {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Ry {0}: Hoeveelheid nie beskikbaar vir {4} in pakhuis {1} op die tydstip van die inskrywing nie ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Ry {0}: gebruiker het nie die reël {1} op die item {2} toegepas nie,
Row {0}:Sibling Date of Birth cannot be greater than today.,Ry {0}: Geboortedatum van broer of suster kan nie groter wees as vandag nie.,
Row({0}): {1} is already discounted in {2},Ry ({0}): {1} is alreeds afslag op {2},
Rows Added in {0},Rye bygevoeg in {0},
Rows Removed in {0},Rye is verwyder in {0},
Save,Save,
Save Item,Stoor item,
Saved Items,Gestoorde items,
Search Items ...,Soek items ...,
Search for a payment,Soek vir &#39;n betaling,
Search for anything ...,Soek vir enigiets ...,
Search results for,Soek resultate vir,
Select Difference Account,Kies Verskilrekening,
Select a Default Priority.,Kies &#39;n standaardprioriteit.,
Select a company,Kies &#39;n maatskappy,
Select finance book for the item {0} at row {1},Kies finansieringsboek vir die item {0} op ry {1},
Select only one Priority as Default.,Kies slegs een prioriteit as verstek.,
Seller Information,Verkoperinligting,
Send,stuur,
Send a message,Stuur n boodskap,
Sending,Stuur,
Sends Mails to lead or contact based on a Campaign schedule,Stuur e-pos om te lei of kontak op grond van &#39;n veldtogskedule,
Serial Number Created,Serienommer geskep,
Serial Numbers Created,Reeknommers geskep,
Serial no(s) required for serialized item {0},Serienr (e) is nodig vir die serienommer {0},
Series,reeks,
Server Error,Bedienerprobleem,
Service Level Agreement has been changed to {0}.,Diensvlakooreenkoms is verander na {0}.,
Service Level Agreement was reset.,Diensvlakooreenkoms is teruggestel.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Diensvlakooreenkoms met entiteitstipe {0} en entiteit {1} bestaan reeds.,
Set Meta Tags,Stel metatags,
Set {0} in company {1},Stel {0} in maatskappy {1},
Setup,Stel op,
Shift Management,Shift Management,
Show Future Payments,Toon toekomstige betalings,
Show Linked Delivery Notes,Wys gekoppelde afleweringsnotas,
Show Sales Person,Wys verkoopspersoon,
Show Stock Ageing Data,Wys data oor veroudering,
Show Warehouse-wise Stock,Toon pakhuis-wys voorraad,
Size,grootte,
Something went wrong while evaluating the quiz.,Iets het verkeerd gegaan tydens die evaluering van die vasvra.,
Sr,Sr,
Start,begin,
Start Date cannot be before the current date,Die begindatum kan nie voor die huidige datum wees nie,
Start Time,Begin Tyd,
Status,status,
Status must be Cancelled or Completed,Status moet gekanselleer of voltooi wees,
Stock Balance Report,Voorraadbalansverslag,
Stock Entry has been already created against this Pick List,Voorraadinskrywing is reeds teen hierdie Pick List geskep,
Stock Ledger ID,Aantal grootboek-ID,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Voorraadwaarde ({0}) en rekeningbalans ({1}) is nie gesinkroniseer vir rekening {2} nie en dit is gekoppelde pakhuise.,
Stores - {0},Winkels - {0},
Student with email {0} does not exist,Student met e-pos {0} bestaan nie,
Submit Review,Dien oorsig in,
Submitted,voorgelê,
Supplier Addresses And Contacts,Verskaffer adresse en kontakte,
Synchronize this account,Sinkroniseer hierdie rekening,
Tag,tag,
Target Location is required while receiving Asset {0} from an employee,Teikenligging is nodig tydens die ontvangs van bate {0} van &#39;n werknemer,
Target Location is required while transferring Asset {0},Teikenligging is nodig tydens die oordrag van bate {0},
Target Location or To Employee is required while receiving Asset {0},Die teikenligging of die werknemer is nodig tydens die ontvangs van bate {0},
Task's {0} End Date cannot be after Project's End Date.,Die einddatum van die taak {0} van die taak kan nie na die einddatum van die projek wees nie.,
Task's {0} Start Date cannot be after Project's End Date.,Die {0} taakdatum van die taak kan nie na die einddatum van die projek wees nie.,
Tax Account not specified for Shopify Tax {0},Belastingrekening nie gespesifiseer vir Shopify Belasting {0},
Tax Total,Belasting totaal,
Template,sjabloon,
The Campaign '{0}' already exists for the {1} '{2}',Die veldtog &#39;{0}&#39; bestaan reeds vir die {1} &#39;{2}&#39;,
The difference between from time and To Time must be a multiple of Appointment,Die verskil tussen tyd en tyd moet &#39;n veelvoud van aanstelling wees,
The field Asset Account cannot be blank,Die veld Baterekening kan nie leeg wees nie,
The field Equity/Liability Account cannot be blank,Die veld Aandele / Aanspreekrekening kan nie leeg wees nie,
The following serial numbers were created: <br><br> {0},Die volgende reeksnommers is geskep: <br><br> {0},
The parent account {0} does not exists in the uploaded template,Die ouerrekening {0} bestaan nie in die opgelaaide sjabloon nie,
The question cannot be duplicate,Die vraag kan nie dupliseer word nie,
The selected payment entry should be linked with a creditor bank transaction,Die gekose betaling moet gekoppel word aan &#39;n krediteurebanktransaksie,
The selected payment entry should be linked with a debtor bank transaction,Die gekose betaling moet gekoppel word aan &#39;n debiteurebanktransaksie,
The total allocated amount ({0}) is greated than the paid amount ({1}).,Die totale toegekende bedrag ({0}) is groter as die betaalde bedrag ({1}).,
This Service Level Agreement is specific to Customer {0},Hierdie diensvlakooreenkoms is spesifiek vir kliënt {0},
This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Hierdie aksie sal hierdie rekening ontkoppel van enige eksterne diens wat ERPNext met u bankrekeninge integreer. Dit kan nie ongedaan gemaak word nie. Is u seker?,
This bank account is already synchronized,Hierdie bankrekening is reeds gesinchroniseer,
This bank transaction is already fully reconciled,Hierdie banktransaksie is reeds volledig versoen,
This page keeps track of items you want to buy from sellers.,Hierdie bladsy hou die items dop wat u by verkopers wil koop.,
This page keeps track of your items in which buyers have showed some interest.,"Hierdie bladsy hou u items waarin kopers belangstelling getoon het, dop.",
Thursday,Donderdag,
Title,Titel,
"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Om oorfakturering toe te laat, moet u &quot;Toelae vir oorfakturering&quot; in rekeninginstellings of die item opdateer.",
"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Om die ontvangs / aflewering toe te laat, moet u &quot;Toelaag vir oorontvangs / aflewering&quot; in Voorraadinstellings of die item opdateer.",
Total,totale,
Total Payment Request amount cannot be greater than {0} amount,Die totale bedrag vir die aanvraag vir betaling kan nie meer as {0} bedrag wees nie,
Total payments amount can't be greater than {},Die totale betalingsbedrag mag nie groter wees as {},
Totals,totale,
Transactions already retreived from the statement,Transaksies het reeds weer uit die staat verskyn,
Transfer Material to Supplier,Oordra materiaal na verskaffer,
Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Vervoerbewysnommer en -datum is verpligtend vir u gekose vervoermodus,
Tuesday,Dinsdag,
Type,tipe,
Unable to find the time slot in the next {0} days for the operation {1}.,Kan nie die tydgleuf binne die volgende {0} dae vir die operasie {1} vind nie.,
Unable to update remote activity,Kan nie afstandaktiwiteit opdateer nie,
Unknown Caller,Onbekende beller,
Unlink external integrations,Ontkoppel eksterne integrasies,
Unpublish Item,Publiseer item,
Unreconciled,ongerekonsilieerde,
Unsupported GST Category for E-Way Bill JSON generation,Ongesteunde GST-kategorie vir e-way Bill JSON-generasie,
Update,Opdateer,
Update Taxes for Items,Belasting opdateer vir items,
"Upload a bank statement, link or reconcile a bank account","Laai &#39;n bankstaat op, skakel of versoen &#39;n bankrekening",
Upload a statement,Laai &#39;n verklaring op,
Use a name that is different from previous project name,Gebruik &#39;n naam wat verskil van die vorige projeknaam,
User {0} is disabled,Gebruiker {0} is gedeaktiveer,
Users and Permissions,Gebruikers en toestemmings,
Valuation Rate required for Item {0} at row {1},Waardasietempo benodig vir item {0} op ry {1},
Values Out Of Sync,Waardes buite sinchronisasie,
Vehicle Type is required if Mode of Transport is Road,Die voertuigtipe word benodig as die manier van vervoer op pad is,
Vendor Name,Verkopernaam,
Verify Email,verifieer e-pos,
View,Beskou,
View all issues from {0},Kyk na alle uitgawes vanaf {0},
View call log,Kyk na oproeplogboek,
Warehouse,Warehouse,
Warehouse not found against the account {0},Pakhuis word nie teen die rekening gevind nie {0},
Welcome to {0},Welkom by {0},
Why do think this Item should be removed?,Waarom dink hierdie artikel moet verwyder word?,
Work Order {0}: Job Card not found for the operation {1},Werksbestelling {0}: werkkaart word nie vir die operasie gevind nie {1},
Workday {0} has been repeated.,Werkdag {0} is herhaal.,
XML Files Processed,XML-lêers verwerk,
Year,Jaar,
Yearly,jaarlikse,
You are not allowed to enroll for this course,U mag nie vir hierdie kursus inskryf nie,
You are not enrolled in program {0},U is nie ingeskryf vir program {0},
You can Feature upto 8 items.,U kan tot 8 items bevat.,
You can also copy-paste this link in your browser,U kan hierdie skakel ook kopieer in u blaaier,
You can publish upto 200 items.,U kan tot 200 items publiseer.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,U moet outomaties herbestel in Voorraadinstellings om herbestelvlakke te handhaaf.,
You must be a registered supplier to generate e-Way Bill,U moet &#39;n geregistreerde verskaffer wees om e-Way Bill te kan genereer,
You need to login as a Marketplace User before you can add any reviews.,U moet as &#39;n Marketplace-gebruiker aanmeld voordat u enige resensies kan byvoeg.,
Your Featured Items,U voorgestelde items,
Your Items,U items,
Your Profile,Jou profiel,
Your rating:,Jou gradering:,
and,en,
e-Way Bill already exists for this document,Daar bestaan reeds &#39;n e-Way-wetsontwerp vir hierdie dokument,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Gebruikte koepon is {1}. Toegestane hoeveelheid is uitgeput,
{0} Operations: {1},{0} Operasies: {1},
{0} bank transaction(s) created,{0} banktransaksie (s) geskep,
{0} bank transaction(s) created and {1} errors,{0} banktransaksie (s) geskep en {1} foute,
{0} can not be greater than {1},{0} kan nie groter wees as {1},
{0} conversations,{0} gesprekke,
{0} is not a company bank account,{0} is nie &#39;n bankrekening nie,
{0} is not a group node. Please select a group node as parent cost center,{0} is nie &#39;n groepknoop nie. Kies &#39;n groepknoop as ouerkostesentrum,
{0} is not the default supplier for any items.,{0} is nie die standaardverskaffer vir enige items nie.,
{0} is required,{0} is nodig,
{0}: {1} must be less than {2},{0}: {1} moet minder wees as {2},
{} is required to generate E-Way Bill JSON,{} is nodig om E-Way Bill JSON te genereer,
"Invalid lost reason {0}, please create a new lost reason","Ongeldige verlore rede {0}, skep &#39;n nuwe verlore rede",
Profit This Year,Wins hierdie jaar,
Total Expense,Totale onkoste,
Total Expense This Year,Totale uitgawes hierdie jaar,
Total Income,Totale inkomste,
Total Income This Year,Totale inkomste hierdie jaar,
Barcode,barcode,
Clear,duidelik,
Comments,kommentaar,
DocType,DocType,
Download,Aflaai,
Left,links,
Link,skakel,
New,nuwe,
Print,Print,
Reference Name,Verwysingsnaam,
Refresh,Verfris,
Success,sukses,
Time,tyd,
Value,waarde,
Actual,werklike,
Add to Cart,Voeg by die winkelwagen,
Days Since Last Order,Dae sedert die laaste bestelling,
In Stock,Op voorraad,
Mode Of Payment,Betaalmetode,
No students Found,Geen studente gevind nie,
Not in Stock,Nie in voorraad nie,
Please select a Customer,Kies asseblief &#39;n kliënt,
Received From,Ontvang van,
Sales Person,Verkoopspersoon,
To date cannot be before From date,Tot op datum kan nie voor die datum wees nie,
Write Off,Afskryf,
{0} Created,{0} Geskep,
Email Id,E-pos ID,
No,Geen,
Reference Doctype,Verwysingsdokumenttipe,
Yes,Ja,
Actual ,werklike,
Add to cart,Voeg by die winkelwagen,
Budget,begroting,
Chart of Accounts,Tabel van rekeninge,
Customer database.,Kliënt databasis.,
Days Since Last order,Dae sedert die laaste bestelling,
Download as JSON,Laai af as Json,
End date can not be less than start date,Einddatum kan nie minder wees as die begin datum nie,
For Default Supplier (Optional),Vir Standaardverskaffer (opsioneel),
From date cannot be greater than To date,Vanaf datum kan nie groter wees as Datum,
Group by,Groep By,
In stock,In voorraad,
Item name,Item naam,
Minimum Qty,Minimum Aantal,
More details,Meer besonderhede,
Nature of Supplies,Aard van voorrade,
No Items found.,Geen items gevind nie.,
No students found,Geen studente gevind,
Not in stock,Nie in voorraad nie,
Not permitted,Nie toegelaat,
Open Issues ,Open probleme,
Open Projects ,Oop projekte,
Open To Do ,Oop om te doen,
Operation Id,Operasie ID,
Partially ordered,Gedeeltelik bestel,
Please select company first,Kies asseblief Maatskappy eerste,
Please select patient,Kies asseblief Pasiënt,
Printed On ,Gedruk op,
Projected qty,Geprojekteerde hoeveelheid,
Sales person,Verkoopspersoon,
Serial No {0} Created,Rekeningnommer {0} geskep,
Source Location is required for the Asset {0},Bron Ligging word benodig vir die bate {0},
Tax Id,Belasting ID,
To Time,Tot tyd,
To date cannot be before from date,Tot op datum kan dit nie voor van datum wees nie,
Total Taxable value,Totale belasbare waarde,
Upcoming Calendar Events ,Komende kalendergebeure,
Value or Qty,Waarde of Hoeveelheid,
Variance ,variansie,
Variant of,Variant van,
Write off,Afskryf,
hours,ure,
received from,ontvang van,
to,om,
Cards,kaarte,
Percentage,persentasie,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Kon nie standaardinstellings vir land {0} opstel. Kontak support@erpnext.com,
Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Ry # {0}: Item {1} is nie &#39;n serialiseerde / bondelde item nie. Dit kan nie &#39;n serienommer / groepnommer daarteen hê nie.,
Please set {0},Stel asseblief {0},
Please set {0},Stel asseblief {0},supplier
Draft,Konsep,"docstatus,=,0"
Cancelled,gekanselleer,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Stel asb. Die opvoeder-naamstelsel op in onderwys&gt; Onderwysinstellings,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Stel Naming Series in vir {0} via Setup&gt; Settings&gt; Naming Series,
UOM Conversion factor ({0} -> {1}) not found for item: {2},UOM-omskakelingsfaktor ({0} -&gt; {1}) nie vir item gevind nie: {2},
Item Code > Item Group > Brand,Itemkode&gt; Itemgroep&gt; Merk,
Customer > Customer Group > Territory,Kliënt&gt; Kliëntegroep&gt; Gebied,
Supplier > Supplier Type,Verskaffer&gt; Verskaffer tipe,
The value of {0} differs between Items {1} and {2},Die waarde van {0} verskil tussen items {1} en {2},
Auto Fetch,Outomatiese haal,
Fetch Serial Numbers based on FIFO,Haal reeksnommers gebaseer op EIEU,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Belastingbelasting uitwaarts belas (anders as nulkoers, nulkoers en vrygestel)",
"To allow different rates, disable the {0} checkbox in {1}.",Skakel die {0} regmerkie in {1} uit om verskillende tariewe toe te laat.,
Asset{} {assets_link} created for {},Bate {} {assets_link} geskep vir {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Ry {}: Asset Naming Series is verpligtend vir die outomatiese skepping van item {},
Assets not created for {0}. You will have to create asset manually.,Bates nie vir {0} geskep nie. U moet die bate handmatig skep.,
{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} het rekeningkundige inskrywings in valuta {2} vir die maatskappy {3}. Kies &#39;n ontvangbare of betaalbare rekening met geldeenheid {2}.,
Invalid Account,Ongeldige rekening,
Purchase Order Required,Bestelling benodig,
Purchase Receipt Required,Aankoop Ontvangs Benodig,
Account Missing,Rekening ontbreek,
Requested,versoek,
Partially Paid,Gedeeltelik betaal,
Invalid Account Currency,Ongeldige rekeninggeldeenheid,
"Row {0}: The item {1}, quantity must be positive number","Ry {0}: die item {1}, hoeveelheid moet positief wees",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Stel {0} vir Batch-item {1}, wat gebruik word om {2} op Submit in te stel.",
Expiry Date Mandatory,Vervaldatum Verpligtend,
Variant Item,Variantitem,
BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} en BOM 2 {1} moet nie dieselfde wees nie,
Note: Item {0} added multiple times,Opmerking: item {0} is verskeie kere bygevoeg,
YouTube,YouTube,
Vimeo,Vimeo,
Publish Date,Publiseringsdatum,
Duration,duur,
Advanced Settings,Gevorderde instellings,
Path,pad,
Components,komponente,
Verified By,Verified By,
Invalid naming series (. missing) for {0},Ongeldige naamreeks (. Ontbreek) vir {0},
Filter Based On,Filter gebaseer op,
Reqd by date,Gevra volgens datum,
Manufacturer Part Number <b>{0}</b> is invalid,Vervaardiger-onderdeelnommer <b>{0}</b> is ongeldig,
Invalid Part Number,Ongeldige onderdeelnommer,
Select atleast one Social Media from Share on.,Kies minstens een sosiale media uit Deel op.,
Invalid Scheduled Time,Ongeldige geskeduleerde tyd,
Length Must be less than 280.,Lengte moet minder as 280 wees.,
Error while POSTING {0},Fout tydens PLAAS van {0},
"Session not valid, Do you want to login?",Sessie nie geldig nie. Wil u aanmeld?,
Session Active,Sessie aktief,
Session Not Active. Save doc to login.,Sessie nie aktief nie. Stoor dokument om aan te meld.,
Error! Failed to get request token.,Fout! Kon nie versoektoken kry nie.,
Invalid {0} or {1},Ongeldig {0} of {1},
Error! Failed to get access token.,Fout! Kon nie toegangstoken kry nie.,
Invalid Consumer Key or Consumer Secret Key,Ongeldige verbruikersleutel of verbruikersgeheime sleutel,
Your Session will be expire in ,U sessie sal verval in,
 days.,dae.,
Session is expired. Save doc to login.,Sessie is verval. Stoor dokument om aan te meld.,
Error While Uploading Image,Kon nie prent oplaai nie,
You Didn't have permission to access this API,U het nie toestemming gehad om toegang tot hierdie API te kry nie,
Valid Upto date cannot be before Valid From date,Geldige datum tot datum kan nie voor geldig wees vanaf datum nie,
Valid From date not in Fiscal Year {0},Geldig vanaf datum nie in die boekjaar {0},
Valid Upto date not in Fiscal Year {0},Geldige datum tot niet in die boekjaar {0},
Group Roll No,Groeprol Nr,
Maintain Same Rate Throughout Sales Cycle,Onderhou dieselfde tarief dwarsdeur verkoopsiklus,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Ry {1}: Hoeveelheid ({0}) kan nie &#39;n breuk wees nie. Om dit toe te laat, skakel &#39;{2}&#39; in UOM {3} uit.",
Must be Whole Number,Moet die hele getal wees,
Please setup Razorpay Plan ID,Stel die Razorpay-plan-ID op,
Contact Creation Failed,Skepping van kontak kon misluk,
Leaves Expired,Blare het verval,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Ry # {}: {} van {} moet {} wees. Verander die rekening of kies &#39;n ander rekening.,
Row #{}: Please asign task to a member.,Ry # {}: ken taak toe aan &#39;n lid.,
Process Failed,Proses het misluk,
Tally Migration Error,Tally Migration Error,
Please set Warehouse in Woocommerce Settings,Stel Warehouse in Woocommerce-instellings,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Ry {0}: Afleweringspakhuis ({1}) en kliëntepakhuis ({2}) kan nie dieselfde wees nie,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Ry {0}: Die vervaldatum in die tabel Betalingsvoorwaardes kan nie voor die boekingsdatum wees nie,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Kan nie {} vir item {} vind nie. Stel dieselfde in Item Meester of Voorraadinstellings.,
Row #{0}: The batch {1} has already expired.,Ry # {0}: Die bondel {1} het reeds verval.,
Start Year and End Year are mandatory,Beginjaar en eindjaar is verpligtend,
GL Entry,GL Inskrywing,
Cannot allocate more than {0} against payment term {1},Kan nie meer as {0} teen betalingstermyn {1} toeken nie,
The root account {0} must be a group,Die hoofrekening {0} moet &#39;n groep wees,
Shipping rule not applicable for country {0} in Shipping Address,Versendingreël is nie van toepassing op land {0} in Afleweringsadres nie,
Get Payments from,Kry betalings by,
Set Shipping Address or Billing Address,Stel afleweringsadres of faktuuradres in,
Consultation Setup,Konsultasie-opstel,
Fee Validity,Fooi Geldigheid,
Laboratory Setup,Laboratorium-opstelling,
Dosage Form,Doseringsvorm,
Records and History,Rekords en geskiedenis,
Patient Medical Record,Pasiënt Mediese Rekord,
Rehabilitation,Rehabilitasie,
Exercise Type,Oefeningstipe,
Exercise Difficulty Level,Oefening Moeilikheidsgraad,
Therapy Type,Terapie tipe,
Therapy Plan,Terapieplan,
Therapy Session,Terapiesessie,
Motor Assessment Scale,Motoriese assesseringskaal,
[Important] [ERPNext] Auto Reorder Errors,[Belangrik] [ERPNext] Herbestellingsfoute outomaties,
"Regards,","Groete,",
The following {0} were created: {1},Die volgende {0} is geskep: {1},
Work Orders,Werkbestellings,
The {0} {1} created sucessfully,Die {0} {1} is suksesvol geskep,
Work Order cannot be created for following reason: <br> {0},Werkorde kan nie om die volgende rede geskep word nie:<br> {0},
Add items in the Item Locations table,Voeg items in die tabel Itemlokasies by,
Update Current Stock,Werk huidige voorraad op,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item",{0} Die monster behou is gebaseer op bondel. Gaan asseblief &#39;Has batch no&#39; aan om die voorbeeld van die item te behou,
Empty,leë,
Currently no stock available in any warehouse,Daar is tans geen voorraad in enige pakhuis beskikbaar nie,
BOM Qty,BOM Aantal,
Time logs are required for {0} {1},Tydlêers is nodig vir {0} {1},
Total Completed Qty,Totale voltooide hoeveelheid,
Qty to Manufacture,Hoeveelheid om te vervaardig,
Social Media Campaigns,Sosiale media-veldtogte,
From Date can not be greater than To Date,Vanaf datum kan nie groter wees as tot op datum nie,
Please set a Customer linked to the Patient,Stel &#39;n kliënt in wat aan die pasiënt gekoppel is,
Customer Not Found,Kliënt nie gevind nie,
Please Configure Clinical Procedure Consumable Item in ,Stel die kliniese prosedure Verbruiksartikel in,
Missing Configuration,Konfigurasie ontbreek,
Out Patient Consulting Charge Item,Out Patient Consulting Consulting Item,
Inpatient Visit Charge Item,Inpatient Besoek Koste Item,
OP Consulting Charge,OP Konsultasiekoste,
Inpatient Visit Charge,Inpatient Besoek Koste,
Appointment Status,Aanstellingsstatus,
Test: ,Toets:,
Collection Details: ,Versameling besonderhede:,
{0} out of {1},{0} uit {1},
Select Therapy Type,Kies die tipe terapie,
{0} sessions completed,{0} sessies voltooi,
{0} session completed,{0} sessie voltooi,
 out of {0},uit {0},
Therapy Sessions,Terapiesessies,
Add Exercise Step,Voeg oefeningstap by,
Edit Exercise Step,Wysig oefeningstap,
Patient Appointments,Pasiëntafsprake,
Item with Item Code {0} already exists,Item met artikelkode {0} bestaan reeds,
Registration Fee cannot be negative or zero,Registrasiefooi mag nie negatief of nul wees nie,
Configure a service Item for {0},Stel &#39;n diensitem op vir {0},
Temperature: ,Temperatuur:,
Pulse: ,Pols:,
Respiratory Rate: ,Asemhalingstempo:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,let wel:,
Check Availability,Gaan beskikbaarheid,
Please select Patient first,Kies eers Pasiënt,
Please select a Mode of Payment first,Kies eers &#39;n betaalmetode,
Please set the Paid Amount first,Stel eers die betaalde bedrag in,
Not Therapies Prescribed,Nie terapieë voorgeskryf nie,
There are no Therapies prescribed for Patient {0},Daar is geen terapieë voorgeskryf vir pasiënt nie {0},
Appointment date and Healthcare Practitioner are Mandatory,Aanstellingsdatum en gesondheidsorgpraktisyn is verpligtend,
No Prescribed Procedures found for the selected Patient,Geen voorgeskrewe prosedures vir die geselekteerde pasiënt gevind nie,
Please select a Patient first,Kies eers &#39;n pasiënt,
There are no procedure prescribed for ,Daar is geen prosedure voorgeskryf vir,
Prescribed Therapies,Voorgeskrewe terapieë,
Appointment overlaps with ,Afspraak oorvleuel met,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} het &#39;n afspraak geskeduleer vir {1} om {2} wat {3} minuut (s) duur.,
Appointments Overlapping,Afsprake oorvleuel,
Consulting Charges: {0},Raadplegingskoste: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Afspraak gekanselleer. Gaan die faktuur na en kanselleer dit {0},
Appointment Cancelled.,Afspraak gekanselleer.,
Fee Validity {0} updated.,Geldigheidsgeld {0} is opgedateer.,
Practitioner Schedule Not Found,Skedule vir praktisyns nie gevind nie,
{0} is on a Half day Leave on {1},{0} is op &#39;n halwe dag verlof op {1},
{0} is on Leave on {1},{0} is met verlof op {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} het nie &#39;n skedule vir gesondheidsorgpraktisyns nie. Voeg dit by die gesondheidsorgpraktisyn,
Healthcare Service Units,Eenhede vir gesondheidsorgdiens,
Complete and Consume,Voltooi en verbruik,
Complete {0} and Consume Stock?,Voltooi {0} en verbruik voorraad?,
Complete {0}?,Voltooi {0}?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,"Voorraadhoeveelheid om die prosedure te begin, is nie in die pakhuis {0} beskikbaar nie. Wil u &#39;n voorraadinskrywing opneem?",
{0} as on {1},{0} soos op {1},
Clinical Procedure ({0}):,Kliniese prosedure ({0}):,
Please set Customer in Patient {0},Stel kliënt as pasiënt {0},
Item {0} is not active,Item {0} is nie aktief nie,
Therapy Plan {0} created successfully.,Terapieplan {0} suksesvol geskep.,
Symptoms: ,Simptome:,
No Symptoms,Geen simptome nie,
Diagnosis: ,Diagnose:,
No Diagnosis,Geen diagnose,
Drug(s) Prescribed.,Geneesmiddel (s) Voorgeskryf.,
Test(s) Prescribed.,Toets (e) Voorgeskryf.,
Procedure(s) Prescribed.,Prosedure (s) Voorgeskryf.,
Counts Completed: {0},Tellings voltooi: {0},
Patient Assessment,Pasiëntassessering,
Assessments,Assesserings,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Hoofde (of groepe) waarteen rekeningkundige inskrywings gemaak word en saldo&#39;s word gehandhaaf.,
Account Name,Rekeningnaam,
Inter Company Account,Intermaatskappyrekening,
Parent Account,Ouerrekening,
Setting Account Type helps in selecting this Account in transactions.,Rekeningtipe instel help om hierdie rekening in transaksies te kies.,
Chargeable,laste,
Rate at which this tax is applied,Koers waarteen hierdie belasting toegepas word,
Frozen,bevrore,
"If the account is frozen, entries are allowed to restricted users.","As die rekening gevries is, is inskrywings toegelaat vir beperkte gebruikers.",
Balance must be,Saldo moet wees,
Lft,Lft,
Rgt,Regter,
Old Parent,Ou Ouer,
Include in gross,Sluit in bruto,
Auditor,ouditeur,
Accounting Dimension,Rekeningkundige dimensie,
Dimension Name,Dimensie Naam,
Dimension Defaults,Standaardafmetings,
Accounting Dimension Detail,Rekeningkundige dimensie-detail,
Default Dimension,Verstek dimensie,
Mandatory For Balance Sheet,Verpligtend vir balansstaat,
Mandatory For Profit and Loss Account,Verpligtend vir wins- en verliesrekening,
Accounting Period,Rekeningkundige Tydperk,
Period Name,Periode Naam,
Closed Documents,Geslote Dokumente,
Accounts Settings,Rekeninge Instellings,
Settings for Accounts,Instellings vir rekeninge,
Make Accounting Entry For Every Stock Movement,Maak Rekeningkundige Inskrywing Vir Elke Voorraadbeweging,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Gebruikers met hierdie rol word toegelaat om gevriesde rekeninge te stel en rekeningkundige inskrywings teen bevrore rekeninge te skep / te verander,
Determine Address Tax Category From,Bepaal adresbelastingkategorie vanaf,
Over Billing Allowance (%),Toelae oor fakturering (%),
Credit Controller,Kredietbeheerder,
Check Supplier Invoice Number Uniqueness,Kontroleer Verskaffer-faktuurnommer Uniekheid,
Make Payment via Journal Entry,Betaal via Joernaal Inskrywing,
Unlink Payment on Cancellation of Invoice,Ontkoppel betaling met kansellasie van faktuur,
Book Asset Depreciation Entry Automatically,Boekbate-waardeverminderinginskrywing outomaties,
Automatically Add Taxes and Charges from Item Tax Template,Belasting en heffings word outomaties bygevoeg vanaf die itembelastingsjabloon,
Automatically Fetch Payment Terms,Haal betalingsvoorwaardes outomaties aan,
Show Payment Schedule in Print,Wys betalingskedule in druk,
Currency Exchange Settings,Geldruilinstellings,
Allow Stale Exchange Rates,Staaf wisselkoerse toe,
Stale Days,Stale Days,
Report Settings,Verslaginstellings,
Use Custom Cash Flow Format,Gebruik aangepaste kontantvloeiformaat,
Allowed To Transact With,Toegelaat om mee te doen,
SWIFT number,SWIFT-nommer,
Branch Code,Takkode,
Address and Contact,Adres en kontak,
Address HTML,Adres HTML,
Contact HTML,Kontak HTML,
Data Import Configuration,Data-invoerkonfigurasie,
Bank Transaction Mapping,Kartering van banktransaksies,
Plaid Access Token,Toegangsreëlmatjie,
Company Account,Maatskappyrekening,
Account Subtype,Rekening subtipe,
Is Default Account,Is standaardrekening,
Is Company Account,Is Maatskappyrekening,
Party Details,Party Besonderhede,
Account Details,Rekeningbesonderhede,
IBAN,IBAN,
Bank Account No,Bankrekeningnommer,
Integration Details,Integrasie besonderhede,
Integration ID,Integrasie ID,
Last Integration Date,Laaste integrasiedatum,
Change this date manually to setup the next synchronization start date,Verander hierdie datum met die hand om die volgende begindatum vir sinchronisasie op te stel,
Mask,masker,
Bank Account Subtype,Subtipe bankrekening,
Bank Account Type,Bankrekeningtipe,
Bank Guarantee,Bankwaarborg,
Bank Guarantee Type,Bank Waarborg Tipe,
Receiving,ontvang,
Providing,Verskaffing,
Reference Document Name,Verwysings dokument naam,
Validity in Days,Geldigheid in Dae,
Bank Account Info,Bankrekeninginligting,
Clauses and Conditions,Klousules en Voorwaardes,
Other Details,Ander besonderhede,
Bank Guarantee Number,Bank waarborg nommer,
Name of Beneficiary,Naam van Begunstigde,
Margin Money,Margin Geld,
Charges Incurred,Heffings ingesluit,
Fixed Deposit Number,Vaste deposito nommer,
Account Currency,Rekening Geld,
Select the Bank Account to reconcile.,Kies die bankrekening om te versoen.,
Include Reconciled Entries,Sluit versoende inskrywings in,
Get Payment Entries,Kry betalinginskrywings,
Payment Entries,Betalingsinskrywings,
Update Clearance Date,Dateer opruimingsdatum op,
Bank Reconciliation Detail,Bankversoening Detail,
Cheque Number,Tjeknommer,
Cheque Date,Check Date,
Statement Header Mapping,Statement Header Mapping,
Statement Headers,Stellingshoofde,
Transaction Data Mapping,Transaksiedata-kartering,
Mapped Items,Gemerkte items,
Bank Statement Settings Item,Bank Statement Settings Item,
Mapped Header,Gekoppelde kop,
Bank Header,Bankkop,
Bank Statement Transaction Entry,Bankstaat Transaksieinskrywing,
Bank Transaction Entries,Banktransaksie-inskrywings,
New Transactions,Nuwe transaksies,
Match Transaction to Invoices,Pas transaksie na fakture,
Create New Payment/Journal Entry,Skep Nuwe Betaling / Joernaal Inskrywing,
Submit/Reconcile Payments,Dien betalings in,
Matching Invoices,Aanpassing van fakture,
Payment Invoice Items,Betalings faktuur items,
Reconciled Transactions,Versoende transaksies,
Bank Statement Transaction Invoice Item,Bankstaat Transaksie Faktuur Item,
Payment Description,Betaling Beskrywing,
Invoice Date,Faktuurdatum,
invoice,faktuur,
Bank Statement Transaction Payment Item,Bankstaat Transaksie Betaal Item,
outstanding_amount,uitstaande bedrag,
Payment Reference,Betaling Verwysing,
Bank Statement Transaction Settings Item,Bankstaat Transaksieinstellings Item,
Bank Data,Bankdata,
Mapped Data Type,Mapped Data Type,
Mapped Data,Mapped Data,
Bank Transaction,Banktransaksie,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,Transaksie ID,
Unallocated Amount,Nie-toegewysde bedrag,
Field in Bank Transaction,Veld in banktransaksies,
Column in Bank File,Kolom in banklêer,
Bank Transaction Payments,Banktransaksie betalings,
Control Action,Beheer aksie,
Applicable on Material Request,Van toepassing op materiaal versoek,
Action if Annual Budget Exceeded on MR,Aksie as jaarlikse begroting oorskry op MR,
Warn,waarsku,
Ignore,ignoreer,
Action if Accumulated Monthly Budget Exceeded on MR,Aksie indien geakkumuleerde maandelikse begroting oorskry op MR,
Applicable on Purchase Order,Toepaslik op Aankoopbestelling,
Action if Annual Budget Exceeded on PO,Aksie indien jaarlikse begroting oorskry op PO,
Action if Accumulated Monthly Budget Exceeded on PO,Aksie indien opgehoopte maandelikse begroting oorskry op PO,
Applicable on booking actual expenses,Van toepassing op bespreking werklike uitgawes,
Action if Annual Budget Exceeded on Actual,Aksie as jaarlikse begroting oorskry op werklike,
Action if Accumulated Monthly Budget Exceeded on Actual,Aksie indien geakkumuleerde maandelikse begroting oorskry op werklike,
Budget Accounts,Begrotingsrekeninge,
Budget Account,Begrotingsrekening,
Budget Amount,Begrotingsbedrag,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-vorm nr,
Received Date,Ontvang Datum,
Quarter,kwartaal,
I,Ek,
II,II,
III,III,
IV,IV,
C-Form Invoice Detail,C-vorm faktuur besonderhede,
Invoice No,Kwitansie No,
Cash Flow Mapper,Kontantvloeimapper,
Section Name,Afdeling Naam,
Section Header,Afdeling kop,
Section Leader,Afdeling Leier,
e.g Adjustments for:,bv. Aanpassings vir:,
Section Subtotal,Afdeling Subtotaal,
Section Footer,Afdeling voetstuk,
Cash Flow Mapping,Kontantvloeikaart,
Select Maximum Of 1,Kies Maksimum van 1,
Is Finance Cost,Is finansieringskoste,
Is Working Capital,Is bedryfskapitaal,
Is Finance Cost Adjustment,Is finansieringskoste aanpassing,
Is Income Tax Liability,Is Inkomstebelasting Aanspreeklikheid,
Is Income Tax Expense,Is Inkomstebelastinguitgawe,
Cash Flow Mapping Accounts,Kontantvloeikaart-rekeninge,
account,rekening,
Cash Flow Mapping Template,Kontantvloeikaartmap,
Cash Flow Mapping Template Details,Kontantvloeiskaart-sjabloon Besonderhede,
POS-CLO-,POS-CLO-,
Custody,bewaring,
Net Amount,Netto bedrag,
Cashier Closing Payments,Kassier sluitingsbetalings,
Chart of Accounts Importer,Invoerder van rekeninge,
Import Chart of Accounts from a csv file,Voer rekeningrekeninge in vanaf &#39;n CSV-lêer,
Attach custom Chart of Accounts file,Heg &#39;n pasgemaakte rekeningkaart aan,
Chart Preview,Grafiekvoorskou,
Chart Tree,Grafiekboom,
Cheque Print Template,Gaan afdruk sjabloon,
Has Print Format,Het drukformaat,
Primary Settings,Primêre instellings,
Cheque Size,Kyk Grootte,
Regular,gereelde,
Starting position from top edge,Beginposisie van boonste rand,
Cheque Width,Kyk breedte,
Cheque Height,Kontroleer hoogte,
Scanned Cheque,Geskandeerde tjek,
Is Account Payable,Is rekening betaalbaar,
Distance from top edge,Afstand van boonste rand,
Distance from left edge,Afstand van linkerkant,
Message to show,Boodskap om te wys,
Date Settings,Datum instellings,
Starting location from left edge,Begin plek vanaf linkerkant,
Payer Settings,Betaler instellings,
Width of amount in word,Breedte van die bedrag in woord,
Line spacing for amount in words,Lyn spasiëring vir hoeveelheid in woorde,
Amount In Figure,Bedrag In Figuur,
Signatory Position,Ondertekenende Posisie,
Closed Document,Geslote dokument,
Track separate Income and Expense for product verticals or divisions.,Volg afsonderlike inkomste en uitgawes vir produk vertikale of afdelings.,
Cost Center Name,Koste Sentrum Naam,
Parent Cost Center,Ouer Koste Sentrum,
lft,LFT,
rgt,rgt,
Coupon Code,Koeponkode,
Coupon Name,Koeponnaam,
"e.g. ""Summer Holiday 2019 Offer 20""",bv. &quot;Somervakansie 2019-aanbieding 20&quot;,
Coupon Type,Soort koepon,
Promotional,promosie,
Gift Card,Geskenkbewys,
unique e.g. SAVE20  To be used to get discount,"uniek, bv. SAVE20 Om gebruik te word om afslag te kry",
Validity and Usage,Geldigheid en gebruik,
Valid From,Geldig vanaf,
Valid Upto,Geldig Upto,
Maximum Use,Maksimum gebruik,
Used,gebruik,
Coupon Description,Koeponbeskrywing,
Discounted Invoice,Faktuur met afslag,
Debit to,Debiteer aan,
Exchange Rate Revaluation,Wisselkoers herwaardasie,
Get Entries,Kry inskrywings,
Exchange Rate Revaluation Account,Wisselkoers herwaardasie rekening,
Total Gain/Loss,Totale wins / verlies,
Balance In Account Currency,Saldo in rekeninggeld,
Current Exchange Rate,Huidige wisselkoers,
Balance In Base Currency,Saldo in die basiese geldeenheid,
New Exchange Rate,Nuwe wisselkoers,
New Balance In Base Currency,Nuwe saldo in basiese geldeenheid,
Gain/Loss,Wins / verlies,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Fiskale Jaar ** verteenwoordig &#39;n finansiële jaar. Alle rekeningkundige inskrywings en ander belangrike transaksies word opgespoor teen ** Fiskale Jaar **.,
Year Name,Jaar Naam,
"For e.g. 2012, 2012-13","Vir bv. 2012, 2012-13",
Year Start Date,Jaar Begindatum,
Year End Date,Jaarindeinde,
Companies,maatskappye,
Auto Created,Outomaties geskep,
Stock User,Voorraad gebruiker,
Fiscal Year Company,Fiskale Jaar Maatskappy,
Debit Amount,Debietbedrag,
Credit Amount,Kredietbedrag,
Debit Amount in Account Currency,Debietbedrag in rekeninggeld,
Credit Amount in Account Currency,Kredietbedrag in rekeninggeld,
Voucher Detail No,Voucher Detail No,
Is Opening,Is opening,
Is Advance,Is vooruit,
To Rename,Om te hernoem,
GST Account,GST rekening,
CGST Account,CGST rekening,
SGST Account,SGST rekening,
IGST Account,IGST rekening,
CESS Account,CESS-rekening,
Loan Start Date,Lening se begindatum,
Loan Period (Days),Leningstydperk (dae),
Loan End Date,Einddatum van die lening,
Bank Charges,Bankkoste,
Short Term Loan Account,Korttermynleningsrekening,
Bank Charges Account,Bankkoste-rekening,
Accounts Receivable Credit Account,Rekeninge Kredietrekening,
Accounts Receivable Discounted Account,Rekeninge Ontvangbare rekening,
Accounts Receivable Unpaid Account,Rekeninge ontvangbaar onbetaalde rekening,
Item Tax Template,Item belasting sjabloon,
Tax Rates,Belastingkoerse,
Item Tax Template Detail,Item belasting sjabloon detail,
Entry Type,Inskrywingstipe,
Inter Company Journal Entry,Intermaatskappy Joernaal Inskrywing,
Bank Entry,Bankinskrywing,
Cash Entry,Kontant Inskrywing,
Credit Card Entry,Kredietkaartinskrywing,
Contra Entry,Contra Entry,
Excise Entry,Aksynsinskrywing,
Write Off Entry,Skryf Uit Inskrywing,
Opening Entry,Opening Toegang,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Rekeningkundige Inskrywings,
Total Debit,Totale Debiet,
Total Credit,Totale Krediet,
Difference (Dr - Cr),Verskil (Dr - Cr),
Make Difference Entry,Maak Verskil Inskrywing,
Total Amount Currency,Totale Bedrag Geld,
Total Amount in Words,Totale bedrag in woorde,
Remark,opmerking,
Paid Loan,Betaalde lening,
Inter Company Journal Entry Reference,Inter Company Journal Entry Reference,
Write Off Based On,Skryf af gebaseer op,
Get Outstanding Invoices,Kry uitstaande fakture,
Write Off Amount,Skryf bedrag af,
Printing Settings,Druk instellings,
Pay To / Recd From,Betaal na / Recd From,
Payment Order,Betalingsopdrag,
Subscription Section,Subskripsie afdeling,
Journal Entry Account,Tydskrifinskrywingsrekening,
Account Balance,Rekening balans,
Party Balance,Partybalans,
Accounting Dimensions,Rekeningkundige afmetings,
If Income or Expense,As inkomste of uitgawes,
Exchange Rate,Wisselkoers,
Debit in Company Currency,Debiet in Maatskappy Geld,
Credit in Company Currency,Krediet in Maatskappy Valuta,
Payroll Entry,Betaalstaatinskrywing,
Employee Advance,Werknemersvooruitgang,
Reference Due Date,Verwysingsdatum,
Loyalty Program Tier,Lojaliteitsprogram Tier,
Redeem Against,Onthou Teen,
Expiry Date,Verval datum,
Loyalty Point Entry Redemption,Loyalty Point Entry Redemption,
Redemption Date,Aflossingsdatum,
Redeemed Points,Verlore punte,
Loyalty Program Name,Lojaliteitsprogram Naam,
Loyalty Program Type,Lojaliteitsprogramtipe,
Single Tier Program,Enkelvlakprogram,
Multiple Tier Program,Meervoudige Tierprogram,
Customer Territory,Klientegebied,
Auto Opt In (For all customers),Auto Opt In (Vir alle kliënte),
Collection Tier,Versameling Tier,
Collection Rules,Versameling Reëls,
Redemption,verlossing,
Conversion Factor,Gesprekfaktor,
1 Loyalty Points = How much base currency?,1 Loyaliteitspunte = Hoeveel basisgeld?,
Expiry Duration (in days),Vervaldatums (in dae),
Help Section,Help afdeling,
Loyalty Program Help,Lojaliteitsprogram Help,
Loyalty Program Collection,Lojaliteitsprogramversameling,
Tier Name,Tier Naam,
Minimum Total Spent,Minimum Totale Spandeer,
Collection Factor (=1 LP),Versamelfaktor (= 1 LP),
For how much spent = 1 Loyalty Point,Vir hoeveel spandeer = 1 lojaliteitspunt,
Mode of Payment Account,Betaalmetode,
Default Account,Verstek rekening,
Default account will be automatically updated in POS Invoice when this mode is selected.,Verstek rekening sal outomaties opgedateer word in POS Invoice wanneer hierdie modus gekies word.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Maandelikse Verspreiding ** help jou om die begroting / teiken oor maande te versprei as jy seisoenaliteit in jou besigheid het.,
Distribution Name,Verspreidingsnaam,
Name of the Monthly Distribution,Naam van die Maandelikse Verspreiding,
Monthly Distribution Percentages,Maandelikse Verspreidingspersentasies,
Monthly Distribution Percentage,Maandelikse Verspreidingspersentasie,
Percentage Allocation,Persentasie toekenning,
Create Missing Party,Skep &#39;n ontbrekende party,
Create missing customer or supplier.,Skep ontbrekende kliënt of verskaffer.,
Opening Invoice Creation Tool Item,Openings faktuurskeppings-item,
Temporary Opening Account,Tydelike Openingsrekening,
Party Account,Partyrekening,
Type of Payment,Tipe Betaling,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,ontvang,
Internal Transfer,Interne Oordrag,
Payment Order Status,Betalingsorderstatus,
Payment Ordered,Betaling bestel,
Payment From / To,Betaling Van / Tot,
Company Bank Account,Bankrekening van die maatskappy,
Party Bank Account,Party Bankrekening,
Account Paid From,Rekening betaal vanaf,
Account Paid To,Rekening betaal,
Paid Amount (Company Currency),Betaalbedrag (Maatskappy Geld),
Received Amount,Ontvangsbedrag,
Received Amount (Company Currency),Ontvangde Bedrag (Maatskappy Geld),
Get Outstanding Invoice,Kry uitstaande faktuur,
Payment References,Betalingsverwysings,
Writeoff,Afskryf,
Total Allocated Amount,Totale toegewysde bedrag,
Total Allocated Amount (Company Currency),Totale toegewysde bedrag (Maatskappy Geld),
Set Exchange Gain / Loss,Stel ruilverhoging / verlies,
Difference Amount (Company Currency),Verskilbedrag (Maatskappy Geld),
Write Off Difference Amount,Skryf af Verskilbedrag,
Deductions or Loss,Aftrekkings of verlies,
Payment Deductions or Loss,Betaling aftrekkings of verlies,
Cheque/Reference Date,Tjek / Verwysingsdatum,
Payment Entry Deduction,Betaling Inskrywing Aftrek,
Payment Entry Reference,Betaling Inskrywingsverwysing,
Allocated,toegeken,
Payment Gateway Account,Betaling Gateway rekening,
Payment Account,Betalingrekening,
Default Payment Request Message,Verstekbetalingsversoekboodskap,
PMO-,PMO-,
Payment Order Type,Betaalorder tipe,
Payment Order Reference,Betaling Bestelling Verwysing,
Bank Account Details,Bankrekeningbesonderhede,
Payment Reconciliation,Betaalversoening,
Receivable / Payable Account,Ontvangbare / Betaalbare Rekening,
Bank / Cash Account,Bank / Kontantrekening,
From Invoice Date,Vanaf faktuur datum,
To Invoice Date,Na faktuur datum,
Minimum Invoice Amount,Minimum faktuurbedrag,
Maximum Invoice Amount,Maksimum faktuurbedrag,
System will fetch all the entries if limit value is zero.,Die stelsel sal al die inskrywings haal as die limietwaarde nul is.,
Get Unreconciled Entries,Kry ongekonfronteerde inskrywings,
Unreconciled Payment Details,Onbeperkte Betaalbesonderhede,
Invoice/Journal Entry Details,Faktuur / Joernaalinskrywingsbesonderhede,
Payment Reconciliation Invoice,Betalingsversoeningfaktuur,
Invoice Number,Faktuurnommer,
Payment Reconciliation Payment,Betaalversoening Betaling,
Reference Row,Verwysingsreeks,
Allocated amount,Toegewysde bedrag,
Payment Request Type,Betaling Versoek Tipe,
Outward,uiterlike,
Inward,innerlike,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,Transaksiebesonderhede,
Amount in customer's currency,Bedrag in kliënt se geldeenheid,
Is a Subscription,Is &#39;n inskrywing,
Transaction Currency,Transaksie Geld,
Subscription Plans,Inskrywingsplanne,
SWIFT Number,SWIFT nommer,
Recipient Message And Payment Details,Ontvangersboodskap en Betaalbesonderhede,
Make Sales Invoice,Maak verkoopfaktuur,
Mute Email,Demp e-pos,
payment_url,payment_url,
Payment Gateway Details,Betaling Gateway Besonderhede,
Payment Schedule,Betalingskedule,
Invoice Portion,Faktuur Gedeelte,
Payment Amount,Betalingsbedrag,
Payment Term Name,Betaling Termyn Naam,
Due Date Based On,Vervaldatum gebaseer op,
Day(s) after invoice date,Dag (en) na faktuur datum,
Day(s) after the end of the invoice month,Dag (en) na die einde van die faktuur maand,
Month(s) after the end of the invoice month,Maand (en) na die einde van die faktuur maand,
Credit Days,Kredietdae,
Credit Months,Kredietmaande,
Allocate Payment Based On Payment Terms,Ken betaling toe op grond van betalingsvoorwaardes,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","As hierdie vinkie aangeskakel is, sal die betaalde bedrag verdeel word volgens die bedrae in die betalingskedule op elke betalingstermyn",
Payment Terms Template Detail,Betaalvoorwaardes Sjabloonbesonderhede,
Closing Fiscal Year,Afsluiting van fiskale jaar,
Closing Account Head,Sluitingsrekeninghoof,
"The account head under Liability or Equity, in which Profit/Loss will be booked","Die rekeningkop onder aanspreeklikheid of ekwiteit, waarin wins / verlies bespreek sal word",
POS Customer Group,POS kliënt groep,
POS Field,POS veld,
POS Item Group,POS Item Group,
Company Address,Maatskappyadres,
Update Stock,Werk Voorraad,
Ignore Pricing Rule,Ignoreer prysreël,
Applicable for Users,Toepaslik vir gebruikers,
Sales Invoice Payment,Verkope faktuur betaling,
Item Groups,Itemgroepe,
Only show Items from these Item Groups,Wys slegs items uit hierdie itemgroepe,
Customer Groups,Kliëntegroepe,
Only show Customer of these Customer Groups,Vertoon slegs kliënt van hierdie kliëntegroepe,
Write Off Account,Skryf Rekening,
Write Off Cost Center,Skryf Koste Sentrum af,
Account for Change Amount,Verantwoord Veranderingsbedrag,
Taxes and Charges,Belasting en heffings,
Apply Discount On,Pas afslag aan,
POS Profile User,POS Profiel gebruiker,
Apply On,Pas aan,
Price or Product Discount,Prys of produkkorting,
Apply Rule On Item Code,Pas Reël op Itemkode toe,
Apply Rule On Item Group,Pas Reël op Itemgroep toe,
Apply Rule On Brand,Pas reël op handelsmerk toe,
Mixed Conditions,Gemengde voorwaardes,
Conditions will be applied on all the selected items combined. ,Voorwaardes sal toegepas word op al die geselekteerde items gekombineer.,
Is Cumulative,Is kumulatief,
Coupon Code Based,Gebaseerde koeponkode,
Discount on Other Item,Afslag op ander items,
Apply Rule On Other,Pas reël op ander toe,
Party Information,Party inligting,
Quantity and Amount,Hoeveelheid en hoeveelheid,
Min Qty,Min hoeveelheid,
Max Qty,Maksimum aantal,
Min Amt,Min Amt,
Max Amt,Max Amt,
Period Settings,Periode-instellings,
Margin,marge,
Margin Type,Marg Type,
Margin Rate or Amount,Marge Tarief of Bedrag,
Price Discount Scheme,Pryskortingskema,
Rate or Discount,Tarief of Korting,
Discount Percentage,Afslag persentasie,
Discount Amount,Korting Bedrag,
For Price List,Vir Pryslys,
Product Discount Scheme,Produkafslagskema,
Same Item,Dieselfde item,
Free Item,Gratis item,
Threshold for Suggestion,Drempel vir voorstel,
System will notify to increase or decrease quantity or amount ,Die stelsel sal in kennis stel om die hoeveelheid of hoeveelheid te verhoog of te verminder,
"Higher the number, higher the priority","Hoe hoër die getal, hoe hoër die prioriteit",
Apply Multiple Pricing Rules,Pas verskeie prysreëls toe,
Apply Discount on Rate,Pas korting op koers toe,
Validate Applied Rule,Valideer toegepaste reël,
Rule Description,Reëlbeskrywing,
Pricing Rule Help,Pricing Rule Help,
Promotional Scheme Id,Promosieskema-ID,
Promotional Scheme,Promosieskema,
Pricing Rule Brand,Prysreëlhandelsmerk,
Pricing Rule Detail,Prysreëldetail,
Child Docname,Kind Docname,
Rule Applied,Reël toegepas,
Pricing Rule Item Code,Prysreëlitemkode,
Pricing Rule Item Group,Prysgroep vir itemitems,
Price Discount Slabs,Prys Afslagblaaie,
Promotional Scheme Price Discount,Promosieskema-prysafslag,
Product Discount Slabs,Produk afslagblaaie,
Promotional Scheme Product Discount,Promosie-skema-produkafslag,
Min Amount,Min bedrag,
Max Amount,Maksimum bedrag,
Discount Type,Afslagtipe,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Belasting Weerhouding Kategorie,
Edit Posting Date and Time,Wysig die datum en tyd van die boeking,
Is Paid,Is Betaalbaar,
Is Return (Debit Note),Is Terugbetaling (Debiet Nota),
Apply Tax Withholding Amount,Pas Belastingterugbedrag toe,
Accounting Dimensions ,Rekeningkundige afmetings,
Supplier Invoice Details,Verskaffer se faktuurbesonderhede,
Supplier Invoice Date,Verskaffer faktuur datum,
Return Against Purchase Invoice,Keer terug teen aankoopfaktuur,
Select Supplier Address,Kies Verskaffersadres,
Contact Person,Kontak persoon,
Select Shipping Address,Kies Posadres,
Currency and Price List,Geld en pryslys,
Price List Currency,Pryslys Geld,
Price List Exchange Rate,Pryslys wisselkoers,
Set Accepted Warehouse,Stel aanvaarde pakhuis,
Rejected Warehouse,Verwerp Warehouse,
Warehouse where you are maintaining stock of rejected items,Pakhuis waar u voorraad van verwerpte items handhaaf,
Raw Materials Supplied,Grondstowwe voorsien,
Supplier Warehouse,Verskaffer Pakhuis,
Pricing Rules,Prysreëls,
Supplied Items,Voorsien Items,
Total (Company Currency),Totaal (Maatskappy Geld),
Net Total (Company Currency),Netto Totaal (Maatskappy Geld),
Total Net Weight,Totale netto gewig,
Shipping Rule,Posbus,
Purchase Taxes and Charges Template,Aankope Belasting en Heffings Sjabloon,
Purchase Taxes and Charges,Koopbelasting en heffings,
Tax Breakup,Belastingafskrywing,
Taxes and Charges Calculation,Belasting en Koste Berekening,
Taxes and Charges Added (Company Currency),Belasting en heffings bygevoeg (Maatskappy Geld),
Taxes and Charges Deducted (Company Currency),Belasting en heffings afgetrek (Maatskappy Geld),
Total Taxes and Charges (Company Currency),Totale Belasting en Heffings (Maatskappy Geld),
Taxes and Charges Added,Belasting en heffings bygevoeg,
Taxes and Charges Deducted,Belasting en heffings afgetrek,
Total Taxes and Charges,Totale belasting en heffings,
Additional Discount,Bykomende afslag,
Apply Additional Discount On,Pas bykomende afslag aan,
Additional Discount Amount (Company Currency),Addisionele Kortingsbedrag (Maatskappy Geld),
Additional Discount Percentage,Bykomende afslagpersentasie,
Additional Discount Amount,Bykomende afslagbedrag,
Grand Total (Company Currency),Groot Totaal (Maatskappy Geld),
Rounding Adjustment (Company Currency),Ronde aanpassing (Maatskappy Geld),
Rounded Total (Company Currency),Afgerond Totaal (Maatskappy Geld),
In Words (Company Currency),In Woorde (Maatskappy Geld),
Rounding Adjustment,Ronde aanpassing,
In Words,In Woorde,
Total Advance,Totale voorskot,
Disable Rounded Total,Deaktiveer Afgeronde Totaal,
Cash/Bank Account,Kontant / Bankrekening,
Write Off Amount (Company Currency),Skryf af Bedrag (Maatskappy Geld),
Set Advances and Allocate (FIFO),Stel voorskotte en toekenning (EIEU),
Get Advances Paid,Kry vooruitbetalings betaal,
Advances,vooruitgang,
Terms,terme,
Terms and Conditions1,Terme en Voorwaardes1,
Group same items,Groep dieselfde items,
Print Language,Druktaal,
"Once set, this invoice will be on hold till the set date","Sodra dit ingestel is, sal hierdie faktuur aan die houer bly tot die vasgestelde datum",
Credit To,Krediet aan,
Party Account Currency,Partyrekening Geld,
Against Expense Account,Teen koste rekening,
Inter Company Invoice Reference,Interfonds-faktuurverwysing,
Is Internal Supplier,Is Interne Verskaffer,
Start date of current invoice's period,Begin datum van huidige faktuur se tydperk,
End date of current invoice's period,Einddatum van huidige faktuur se tydperk,
Update Auto Repeat Reference,Dateer outomaties herhaal verwysing,
Purchase Invoice Advance,Aankoopfaktuur Advance,
Purchase Invoice Item,Aankoop faktuur item,
Quantity and Rate,Hoeveelheid en Tarief,
Received Qty,Aantal ontvangs,
Accepted Qty,Aanvaar hoeveelheid,
Rejected Qty,Verwerp Aantal,
UOM Conversion Factor,UOM Gesprekfaktor,
Discount on Price List Rate (%),Afslag op pryslyskoers (%),
Price List Rate (Company Currency),Pryslyskoers (Maatskappy Geld),
Rate ,Koers,
Rate (Company Currency),Tarief (Maatskappy Geld),
Amount (Company Currency),Bedrag (Maatskappy Geld),
Is Free Item,Is gratis item,
Net Rate,Netto tarief,
Net Rate (Company Currency),Netto koers (Maatskappy Geld),
Net Amount (Company Currency),Netto Bedrag (Maatskappy Geld),
Item Tax Amount Included in Value,Bedrag op item belasting ingesluit in die waarde,
Landed Cost Voucher Amount,Landed Cost Voucher Bedrag,
Raw Materials Supplied Cost,Grondstowwe Voorsien Koste,
Accepted Warehouse,Aanvaarde pakhuis,
Serial No,Serienommer,
Rejected Serial No,Afgekeurde reeksnommer,
Expense Head,Uitgawe Hoof,
Is Fixed Asset,Is vaste bate,
Asset Location,Bate Ligging,
Deferred Expense,Uitgestelde Uitgawe,
Deferred Expense Account,Uitgestelde Uitgawe Rekening,
Service Stop Date,Diensstopdatum,
Enable Deferred Expense,Aktiveer Uitgestelde Uitgawe,
Service Start Date,Diens begin datum,
Service End Date,Diens Einddatum,
Allow Zero Valuation Rate,Laat zero waarderingspercentage toe,
Item Tax Rate,Item Belastingkoers,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Belasting detail tabel haal uit item meester as &#39;n tou en gestoor in hierdie veld. Gebruik vir Belasting en Heffings,
Purchase Order Item,Bestelling Item,
Purchase Receipt Detail,Aankoopbewysbesonderhede,
Item Weight Details,Item Gewig Besonderhede,
Weight Per Unit,Gewig Per Eenheid,
Total Weight,Totale Gewig,
Weight UOM,Gewig UOM,
Page Break,Bladsy breek,
Consider Tax or Charge for,Oorweeg Belasting of Heffing vir,
Valuation and Total,Waardasie en Totaal,
Valuation,waardasie,
Add or Deduct,Voeg of Trek af,
Deduct,aftrek,
On Previous Row Amount,Op vorige rybedrag,
On Previous Row Total,Op vorige ry Totaal,
On Item Quantity,Op die hoeveelheid,
Reference Row #,Verwysingsreeks #,
Is this Tax included in Basic Rate?,Is hierdie belasting ingesluit in basiese tarief?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Indien gekontroleer, sal die belastingbedrag oorweeg word, soos reeds ingesluit in die Drukkoers / Drukbedrag",
Account Head,Rekeninghoof,
Tax Amount After Discount Amount,Belastingbedrag na afslagbedrag,
Item Wise Tax Detail ,Item Wise Tax Detail,
"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 wat toegepas kan word op alle kooptransaksies. Hierdie sjabloon bevat &#39;n lys van belastingkoppe en ook ander uitgawes soos &quot;Versending&quot;, &quot;Versekering&quot;, &quot;Hantering&quot; ens. #### Nota Die belastingkoers wat u hier definieer, sal die standaard belastingkoers vir almal wees ** Items * *. As daar ** Items ** is wat verskillende tariewe het, moet hulle bygevoeg word in die ** Item Belasting ** tabel in die ** Item **-meester. #### Beskrywing van Kolomme 1. Berekeningstipe: - Dit kan wees op ** Netto Totaal ** (dit is die som van basiese bedrag). - ** Op Vorige Ry Totaal / Bedrag ** (vir kumulatiewe belasting of heffings). As u hierdie opsie kies, sal die belasting toegepas word as &#39;n persentasie van die vorige ry (in die belastingtabel) bedrag of totaal. - ** Werklike ** (soos genoem). 2. Rekeninghoof: Die rekeninggrootboek waaronder hierdie belasting geboekstaaf sal word. 3. Kosprys: Indien die belasting / heffing &#39;n inkomste (soos gestuur) of uitgawes is, moet dit teen &#39;n Kostepunt bespreek word. 4. Beskrywing: Beskrywing van die belasting (wat in fakture / aanhalings gedruk sal word). 5. Tarief: Belastingkoers. 6. Bedrag: Belastingbedrag. 7. Totaal: Kumulatiewe totaal tot hierdie punt. 8. Tik ry: As gebaseer op &quot;Vorige ry Total&quot;, kan jy die rynommer kies wat as basis vir hierdie berekening geneem sal word (standaard is die vorige ry). 9. Oorweeg belasting of koste vir: In hierdie afdeling kan u spesifiseer of die belasting / heffing slegs vir waardasie (nie &#39;n deel van die totaal) of slegs vir totale (nie waarde vir die item is nie) of vir beide. 10. Voeg of aftrekking: Of u die belasting wil byvoeg of aftrek.",
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Sluit Betaling (POS) in,
Offline POS Name,Vanlyn POS-naam,
Is Return (Credit Note),Is Teruggawe (Kredietnota),
Return Against Sales Invoice,Keer terug teen verkoopsfaktuur,
Update Billed Amount in Sales Order,Werk gefaktureerde bedrag in verkoopsbestelling op,
Customer PO Details,Kliënt PO Besonderhede,
Customer's Purchase Order,Kliënt se Aankoopbestelling,
Customer's Purchase Order Date,Kliënt se Aankoopdatum,
Customer Address,Kliënt Adres,
Shipping Address Name,Posadres,
Company Address Name,Maatskappy Adres Naam,
Rate at which Customer Currency is converted to customer's base currency,Koers waarop die kliënt geldeenheid omgeskakel word na die kliënt se basiese geldeenheid,
Rate at which Price list currency is converted to customer's base currency,Koers waarteen Pryslys-geldeenheid omgeskakel word na die kliënt se basiese geldeenheid,
Set Source Warehouse,Stel bronpakhuis,
Packing List,Pak lys,
Packed Items,Gepakte items,
Product Bundle Help,Produk Bundel Help,
Time Sheet List,Tydskriflys,
Time Sheets,Tydlaaie,
Total Billing Amount,Totale faktuurbedrag,
Sales Taxes and Charges Template,Verkoopsbelasting en Heffings Sjabloon,
Sales Taxes and Charges,Verkoopsbelasting en Heffings,
Loyalty Points Redemption,Lojaliteit punte Redemption,
Redeem Loyalty Points,Los lojaliteitspunte in,
Redemption Account,Aflossingsrekening,
Redemption Cost Center,Redemption Cost Center,
In Words will be visible once you save the Sales Invoice.,In Woorde sal sigbaar wees sodra jy die Verkoopsfaktuur stoor.,
Allocate Advances Automatically (FIFO),Verdeel Advances Outomaties (EIEU),
Get Advances Received,Kry voorskotte ontvang,
Base Change Amount (Company Currency),Basisveranderingsbedrag (Maatskappygeld),
Write Off Outstanding Amount,Skryf af Uitstaande bedrag,
Terms and Conditions Details,Terme en voorwaardes Besonderhede,
Is Internal Customer,Is interne kliënt,
Is Discounted,Is verdiskonteer,
Unpaid and Discounted,Onbetaal en afslag,
Overdue and Discounted,Agterstallig en verdiskonteer,
Accounting Details,Rekeningkundige Besonderhede,
Debit To,Debiet aan,
Is Opening Entry,Is toegangsinskrywing,
C-Form Applicable,C-vorm van toepassing,
Commission Rate (%),Kommissie Koers (%),
Sales Team1,Verkoopspan1,
Against Income Account,Teen Inkomsterekening,
Sales Invoice Advance,Verkope Faktuur Vooruit,
Advance amount,Voorskotbedrag,
Sales Invoice Item,Verkoopsfaktuur Item,
Customer's Item Code,Kliënt se Item Kode,
Brand Name,Handelsnaam,
Qty as per Stock UOM,Aantal per Voorraad UOM,
Discount and Margin,Korting en marges,
Rate With Margin,Beoordeel Met Marge,
Discount (%) on Price List Rate with Margin,Korting (%) op pryslyskoers met marges,
Rate With Margin (Company Currency),Tarief Met Margin (Maatskappy Geld),
Delivered By Supplier,Aflewer deur verskaffer,
Deferred Revenue,Uitgestelde Inkomste,
Deferred Revenue Account,Uitgestelde Inkomsterekening,
Enable Deferred Revenue,Aktiveer Uitgestelde Inkomste,
Stock Details,Voorraadbesonderhede,
Customer Warehouse (Optional),Kliente-pakhuis (opsioneel),
Available Batch Qty at Warehouse,Beskikbare joernaal by Warehouse,
Available Qty at Warehouse,Beskikbare hoeveelheid by pakhuis,
Delivery Note Item,Afleweringsnota Item,
Base Amount (Company Currency),Basisbedrag (Maatskappy Geld),
Sales Invoice Timesheet,Verkoopsfaktuur Tydblad,
Time Sheet,Tydstaat,
Billing Hours,Rekeningure,
Timesheet Detail,Tydskaartdetail,
Tax Amount After Discount Amount (Company Currency),Belastingbedrag Na Korting Bedrag (Maatskappy Geld),
Item Wise Tax Detail,Item Wise Tax Detail,
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 wat toegepas kan word op alle verkope transaksies. Hierdie sjabloon kan &#39;n lys van belastingkoppe bevat en ook ander koste / inkomstekoppe soos &quot;Versending&quot;, &quot;Versekering&quot;, &quot;Hantering&quot; ens. #### Nota Die belastingkoers wat u hier definieer, sal die standaard belastingkoers vir almal wees ** items **. As daar ** Items ** met verskillende tariewe is, moet hulle bygevoeg word in die ** Item Tax **-tabel in die ** Item ** -bemeester. #### Beskrywing van Kolomme 1. Berekeningstipe: - Dit kan wees op ** Netto Totaal ** (dit is die som van basiese bedrag). - ** Op Vorige Ry Totaal / Bedrag ** (vir kumulatiewe belasting of heffings). As u hierdie opsie kies, sal die belasting toegepas word as &#39;n persentasie van die vorige ry (in die belastingtabel) bedrag of totaal. - ** Werklike ** (soos genoem). 2. Rekeninghoof: Die rekeninggrootboek waaronder hierdie belasting geboekstaaf sal word. 3. Kosprys: Indien die belasting / heffing &#39;n inkomste (soos gestuur) of uitgawes is, moet dit teen &#39;n Kostepunt bespreek word. 4. Beskrywing: Beskrywing van die belasting (wat in fakture / aanhalings gedruk sal word). 5. Tarief: Belastingkoers. 6. Bedrag: Belastingbedrag. 7. Totaal: Kumulatiewe totaal tot hierdie punt. 8. Tik ry: As gebaseer op &quot;Vorige ry Total&quot;, kan jy die rynommer kies wat as basis vir hierdie berekening geneem sal word (standaard is die vorige ry). 9. Is hierdie belasting ingesluit by Basiese tarief ?: As u dit kontroleer, beteken dit dat hierdie belasting nie onder die itemtabel sal verskyn nie, maar sal ingesluit word in die basiese tarief in u hoofitemietabel. Dit is nuttig waar jy wil &#39;n vaste prys (insluitende alle belasting) prys aan kliënte.",
* Will be calculated in the transaction.,* Sal in die transaksie bereken word.,
From No,Van No,
To No,Na nee,
Is Company,Is Maatskappy,
Current State,Huidige toestand,
Purchased,gekoop,
From Shareholder,Van Aandeelhouer,
From Folio No,Van Folio No,
To Shareholder,Aan Aandeelhouer,
To Folio No,Om Folio No,
Equity/Liability Account,Ekwiteits- / Aanspreeklikheidsrekening,
Asset Account,Bate rekening,
(including),(Insluitend),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio nr.,
Address and Contacts,Adres en Kontakte,
Contact List,Kontaklys,
Hidden list maintaining the list of contacts linked to Shareholder,Versteekte lys handhaaf die lys van kontakte gekoppel aan Aandeelhouer,
Specify conditions to calculate shipping amount,Spesifiseer voorwaardes om die versendingsbedrag te bereken,
Shipping Rule Label,Poslys van die skeepsreël,
example: Next Day Shipping,Voorbeeld: Volgende Dag Pos,
Shipping Rule Type,Versending Reël Tipe,
Shipping Account,Posbus,
Calculate Based On,Bereken Gebaseer Op,
Fixed,vaste,
Net Weight,Netto gewig,
Shipping Amount,Posgeld,
Shipping Rule Conditions,Posbusvoorwaardes,
Restrict to Countries,Beperk tot lande,
Valid for Countries,Geldig vir lande,
Shipping Rule Condition,Versending Reël Voorwaarde,
A condition for a Shipping Rule,&#39;N Voorwaarde vir &#39;n verskepingsreël,
From Value,Uit Waarde,
To Value,Na waarde,
Shipping Rule Country,Poslys Land,
Subscription Period,Intekening Periode,
Subscription Start Date,Inskrywing begin datum,
Cancelation Date,Kansellasie Datum,
Trial Period Start Date,Aanvangsdatum van die proeftydperk,
Trial Period End Date,Proefperiode Einddatum,
Current Invoice Start Date,Huidige faktuur begin datum,
Current Invoice End Date,Huidige Faktuur Einddatum,
Days Until Due,Dae Tot Dinsdag,
Number of days that the subscriber has to pay invoices generated by this subscription,Aantal dae waarop die intekenaar fakture moet betaal wat gegenereer word deur hierdie intekening,
Cancel At End Of Period,Kanselleer aan die einde van die tydperk,
Generate Invoice At Beginning Of Period,Genereer faktuur by begin van tydperk,
Plans,planne,
Discounts,afslag,
Additional DIscount Percentage,Bykomende kortingspersentasie,
Additional DIscount Amount,Bykomende kortingsbedrag,
Subscription Invoice,Inskrywing Invoice,
Subscription Plan,Inskrywing plan,
Cost,koste,
Billing Interval,Rekeninginterval,
Billing Interval Count,Rekeninginterval telling,
"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 intervalle vir die interval veld bv. As interval &#39;dae&#39; en faktuur interval is 3, sal fakture elke 3 dae gegenereer word",
Payment Plan,Betalingsplan,
Subscription Plan Detail,Inskrywingsplanbesonderhede,
Plan,plan,
Subscription Settings,Subskripsie-instellings,
Grace Period,Grasie priode,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Aantal dae na faktuurdatum het verloop voordat u intekening of inskrywing vir inskrywing as onbetaalde kansellasie kanselleer,
Prorate,Prorate,
Tax Rule,Belastingreël,
Tax Type,Belasting Tipe,
Use for Shopping Cart,Gebruik vir inkopiesentrum,
Billing City,Billing City,
Billing County,Billing County,
Billing State,Billing State,
Billing Zipcode,Faktuur poskode,
Billing Country,Billing Country,
Shipping City,Posbus,
Shipping County,Versending County,
Shipping State,Versendstaat,
Shipping Zipcode,Poskode,
Shipping Country,Versending Land,
Tax Withholding Account,Belastingverhoudingsrekening,
Tax Withholding Rates,Belastingverhoudings,
Rates,tariewe,
Tax Withholding Rate,Belasting Weerhouding,
Single Transaction Threshold,Enkele transaksiedrempel,
Cumulative Transaction Threshold,Kumulatiewe Transaksiedrempel,
Agriculture Analysis Criteria,Landbou Analise Kriteria,
Linked Doctype,Gekoppelde Doctype,
Water Analysis,Wateranalise,
Soil Analysis,Grondanalise,
Plant Analysis,Plantanalise,
Fertilizer,kunsmis,
Soil Texture,Grondstruktuur,
Weather,weer,
Agriculture Manager,Landboubestuurder,
Agriculture User,Landbou gebruiker,
Agriculture Task,Landboutaak,
Task Name,Taaknaam,
Start Day,Begin Dag,
End Day,Einde Dag,
Holiday Management,Vakansiebestuur,
Ignore holidays,Ignoreer vakansiedae,
Previous Business Day,Vorige sakedag,
Next Business Day,Volgende sakedag,
Urgent,dringende,
Crop Name,Gewas Naam,
Scientific Name,Wetenskaplike 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 kan al die take definieer wat hier vir hierdie gewas uitgevoer moet word. Die dagveld word gebruik om die dag te noem waarop die taak uitgevoer moet word, 1 die eerste dag, ens.",
Crop Spacing,Crop Spacing,
Crop Spacing UOM,Crop Spacing UOM,
Row Spacing,Ry Spacing,
Row Spacing UOM,Ry Spacing UOM,
Perennial,meerjarige,
Biennial,tweejaarlikse,
Planting UOM,Plant UOM,
Planting Area,Plantingsgebied,
Yield UOM,Opbrengs UOM,
Materials Required,Materiaal benodig,
Produced Items,Geproduseerde Items,
Produce,produseer,
Byproducts,byprodukte,
Linked Location,Gekoppelde ligging,
A link to all the Locations in which the Crop is growing,&#39;N Skakel na al die plekke waar die gewas groei,
This will be day 1 of the crop cycle,Dit sal dag 1 van die gewas siklus wees,
ISO 8601 standard,ISO 8601 standaard,
Cycle Type,Siklus tipe,
Less than a year,Minder as &#39;n jaar,
The minimum length between each plant in the field for optimum growth,Die minimum lengte tussen elke plant in die veld vir optimale groei,
The minimum distance between rows of plants for optimum growth,Die minimum afstand tussen rye plante vir optimale groei,
Detected Diseases,Gevonde Siektes,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Lys van siektes wat op die veld bespeur word. Wanneer dit gekies word, sal dit outomaties &#39;n lys take byvoeg om die siekte te hanteer",
Detected Disease,Opgesiene Siekte,
LInked Analysis,Ingelyfde Analise,
Disease,siekte,
Tasks Created,Take geskep,
Common Name,Algemene naam,
Treatment Task,Behandelingstaak,
Treatment Period,Behandelingsperiode,
Fertilizer Name,Kunsmis Naam,
Density (if liquid),Digtheid (indien vloeistof),
Fertilizer Contents,Kunsmis Inhoud,
Fertilizer Content,Kunsmis Inhoud,
Linked Plant Analysis,Gekoppelde plant analise,
Linked Soil Analysis,Gekoppelde grondanalise,
Linked Soil Texture,Gekoppelde Grond Tekstuur,
Collection Datetime,Versameling Datetime,
Laboratory Testing Datetime,Laboratorietoetsingstyd,
Result Datetime,Resultaat Datetime,
Plant Analysis Criterias,Plant Analise Kriteria,
Plant Analysis Criteria,Plantanalise Kriteria,
Minimum Permissible Value,Minimum toelaatbare waarde,
Maximum Permissible Value,Maksimum 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,Grondanalisiekriteria,
Soil Analysis Criteria,Grondanalise Kriteria,
Soil Type,Grondsoort,
Loamy Sand,Loamy Sand,
Sandy Loam,Sandy Loam,
Loam,leem,
Silt Loam,Silt Loam,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Silty Clay Loam,
Sandy Clay,Sandy Clay,
Silty Clay,Silty Clay,
Clay Composition (%),Kleiskomposisie (%),
Sand Composition (%),Sand Komposisie (%),
Silt Composition (%),Silt Samestelling (%),
Ternary Plot,Ternêre Plot,
Soil Texture Criteria,Grondtekstuurkriteria,
Type of Sample,Soort monster,
Container,houer,
Origin,oorsprong,
Collection Temperature ,Versameling Temperatuur,
Storage Temperature,Stoor temperatuur,
Appearance,voorkoms,
Person Responsible,Persoon Verantwoordelik,
Water Analysis Criteria,Wateranalise Kriteria,
Weather Parameter,Weer Parameter,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Bate-eienaar,
Asset Owner Company,Bate Eienaar Maatskappy,
Custodian,bewaarder,
Disposal Date,Vervreemdingsdatum,
Journal Entry for Scrap,Tydskrifinskrywing vir afval,
Available-for-use Date,Beskikbaar-vir-gebruik-datum,
Calculate Depreciation,Bereken depresiasie,
Allow Monthly Depreciation,Laat maandelikse waardevermindering toe,
Number of Depreciations Booked,Aantal Afskrywings Geboek,
Finance Books,Finansiesboeke,
Straight Line,Reguit lyn,
Double Declining Balance,Dubbele dalende saldo,
Manual,handleiding,
Value After Depreciation,Waarde na waardevermindering,
Total Number of Depreciations,Totale aantal afskrywings,
Frequency of Depreciation (Months),Frekwensie van waardevermindering (maande),
Next Depreciation Date,Volgende Depresiasie Datum,
Depreciation Schedule,Waardeverminderingskedule,
Depreciation Schedules,Waardeverminderingskedules,
Insurance details,Versekeringsbesonderhede,
Policy number,Polis nommer,
Insurer,versekeraar,
Insured value,Versekerde waarde,
Insurance Start Date,Versekering Aanvangsdatum,
Insurance End Date,Versekering Einddatum,
Comprehensive Insurance,Omvattende Versekering,
Maintenance Required,Onderhoud Vereiste,
Check if Asset requires Preventive Maintenance or Calibration,Kontroleer of Bate Voorkomende onderhoud of kalibrasie vereis,
Booked Fixed Asset,Geboekte Vaste Bate,
Purchase Receipt Amount,Aankoop Ontvangs Bedrag,
Default Finance Book,Verstek Finansiële Boek,
Quality Manager,Kwaliteitsbestuurder,
Asset Category Name,Bate Kategorie Naam,
Depreciation Options,Waardevermindering Opsies,
Enable Capital Work in Progress Accounting,Aktiveer rekeningkundige kapitaalwerk aan die gang,
Finance Book Detail,Finansiële boekbesonderhede,
Asset Category Account,Bate Kategorie Rekening,
Fixed Asset Account,Vaste bate rekening,
Accumulated Depreciation Account,Opgehoopte Waardeverminderingsrekening,
Depreciation Expense Account,Waardevermindering Uitgawe Rekening,
Capital Work In Progress Account,Kapitaal Werk in Voortgesette Rekening,
Asset Finance Book,Asset Finance Book,
Written Down Value,Geskryf af waarde,
Expected Value After Useful Life,Verwagte Waarde Na Nuttige Lewe,
Rate of Depreciation,Koers van waardevermindering,
In Percentage,In persentasie,
Maintenance Team,Onderhoudspan,
Maintenance Manager Name,Onderhoudbestuurder Naam,
Maintenance Tasks,Onderhoudstake,
Manufacturing User,Vervaardigingsgebruiker,
Asset Maintenance Log,Asset Maintenance Log,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Onderhoudstipe,
Maintenance Status,Onderhoudstatus,
Planned,beplan,
Has Certificate ,Het &#39;n sertifikaat,
Certificate,sertifikaat,
Actions performed,Aktiwiteite uitgevoer,
Asset Maintenance Task,Bate Onderhoudstaak,
Maintenance Task,Onderhoudstaak,
Preventive Maintenance,Voorkomende instandhouding,
Calibration,kalibrasie,
2 Yearly,2 jaarliks,
Certificate Required,Sertifikaat benodig,
Assign to Name,Ken aan Naam toe,
Next Due Date,Volgende vervaldatum,
Last Completion Date,Laaste Voltooiingsdatum,
Asset Maintenance Team,Bate Onderhoudspan,
Maintenance Team Name,Onderhoudspannaam,
Maintenance Team Members,Onderhoudspanlede,
Purpose,doel,
Stock Manager,Voorraadbestuurder,
Asset Movement Item,Batebewegingsitem,
Source Location,Bron Ligging,
From Employee,Van Werknemer,
Target Location,Teiken Plek,
To Employee,Aan Werknemer,
Asset Repair,Bate Herstel,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Mislukkingsdatum,
Assign To Name,Toewys aan naam,
Repair Status,Herstel Status,
Error Description,Fout Beskrywing,
Downtime,Af tyd,
Repair Cost,Herstel koste,
Manufacturing Manager,Vervaardiging Bestuurder,
Current Asset Value,Huidige batewaarde,
New Asset Value,Nuwe batewaarde,
Make Depreciation Entry,Maak waardeverminderinginskrywing,
Finance Book Id,Finansies boek-ID,
Location Name,Pleknaam,
Parent Location,Ouer Plek,
Is Container,Is Container,
Check if it is a hydroponic unit,Kyk of dit &#39;n hidroponiese eenheid is,
Location Details,Ligging Besonderhede,
Latitude,Latitude,
Longitude,Longitude,
Area,gebied,
Area UOM,Gebied UOM,
Tree Details,Boom Besonderhede,
Maintenance Team Member,Onderhoudspanlid,
Team Member,Spanmaat,
Maintenance Role,Onderhoudsrol,
Buying Settings,Koop instellings,
Settings for Buying Module,Instellings vir koopmodule,
Supplier Naming By,Verskaffer Naming By,
Default Supplier Group,Verstekverskaffergroep,
Default Buying Price List,Verstek kooppryslys,
Backflush Raw Materials of Subcontract Based On,Backflush Grondstowwe van Subkontraktering gebaseer op,
Material Transferred for Subcontract,Materiaal oorgedra vir subkontrakteur,
Over Transfer Allowance (%),Toelaag vir oordrag (%),
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.,"Persentasie mag u meer oordra teen die bestelhoeveelheid. Byvoorbeeld: As u 100 eenhede bestel het. en u toelae 10% is, mag u 110 eenhede oorplaas.",
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Kry items van oop materiaalversoeke,
Fetch items based on Default Supplier.,Haal items gebaseer op verstekverskaffer.,
Required By,Vereis deur,
Order Confirmation No,Bestelling Bevestiging nr,
Order Confirmation Date,Bestelling Bevestigingsdatum,
Customer Mobile No,Kliënt Mobiele Nr,
Customer Contact Email,Kliënt Kontak Email,
Set Target Warehouse,Stel Target Warehouse,
Sets 'Warehouse' in each row of the Items table.,Stel &#39;Magazyn&#39; in elke ry van die Artikeltabel.,
Supply Raw Materials,Voorsien grondstowwe,
Purchase Order Pricing Rule,Prysreël vir aankoopbestelling,
Set Reserve Warehouse,Stel Reserve Warehouse in,
In Words will be visible once you save the Purchase Order.,In Woorde sal sigbaar wees sodra jy die Aankoopbestelling stoor.,
Advance Paid,Voorskot Betaal,
Tracking,Opsporing,
% Billed,% Gefaktureer,
% Received,% Ontvang,
Ref SQ,Ref SQ,
Inter Company Order Reference,Intermaatskappy-bestellingsverwysing,
Supplier Part Number,Verskaffer artikel nommer,
Billed Amt,Billed Amt,
Warehouse and Reference,Pakhuis en verwysing,
To be delivered to customer,Om aan kliënt gelewer te word,
Material Request Item,Materiaal Versoek Item,
Supplier Quotation Item,Verskaffer Kwotasie Item,
Against Blanket Order,Teen die kombersorde,
Blanket Order,Dekensbestelling,
Blanket Order Rate,Dekking bestelkoers,
Returned Qty,Teruggekeerde hoeveelheid,
Purchase Order Item Supplied,Aankoop bestelling Item verskaf,
BOM Detail No,BOM Detail No,
Stock Uom,Voorraad UOM,
Raw Material Item Code,Grondstowwe Itemkode,
Supplied Qty,Voorsien Aantal,
Purchase Receipt Item Supplied,Aankoopontvangste Item verskaf,
Current Stock,Huidige voorraad,
PUR-RFQ-.YYYY.-,PUR-VOK-.YYYY.-,
For individual supplier,Vir individuele verskaffer,
Link to Material Requests,Skakel na materiaalversoeke,
Message for Supplier,Boodskap vir Verskaffer,
Request for Quotation Item,Versoek vir kwotasie-item,
Required Date,Vereiste Datum,
Request for Quotation Supplier,Versoek vir Kwotasieverskaffer,
Send Email,Stuur e-pos,
Quote Status,Aanhaling Status,
Download PDF,Laai PDF af,
Supplier of Goods or Services.,Verskaffer van goedere of dienste.,
Name and Type,Noem en tik,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Verstekbankrekening,
Is Transporter,Is Transporter,
Represents Company,Verteenwoordig Maatskappy,
Supplier Type,Verskaffer Tipe,
Allow Purchase Invoice Creation Without Purchase Order,Laat skepping van aankoopfakture toe sonder bestelling,
Allow Purchase Invoice Creation Without Purchase Receipt,Laat skepping van aankoopfakture toe sonder aankoopbewys,
Warn RFQs,Waarsku RFQs,
Warn POs,Waarsku POs,
Prevent RFQs,Voorkom RFQs,
Prevent POs,Voorkom POs,
Billing Currency,Billing Valuta,
Default Payment Terms Template,Standaard betaling terme sjabloon,
Block Supplier,Blokverskaffer,
Hold Type,Hou Tipe,
Leave blank if the Supplier is blocked indefinitely,Los leeg as die verskaffer onbepaald geblokkeer word,
Default Payable Accounts,Verstekbetaalbare rekeninge,
Mention if non-standard payable account,Noem as nie-standaard betaalbare rekening,
Default Tax Withholding Config,Standaard Belasting Weerhouding Config,
Supplier Details,Verskafferbesonderhede,
Statutory info and other general information about your Supplier,Statutêre inligting en ander algemene inligting oor u Verskaffer,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Verskaffer Adres,
Link to material requests,Skakel na materiaal versoeke,
Rounding Adjustment (Company Currency,Afronding aanpassing (Maatskappy Geld,
Auto Repeat Section,Outo Herhaal afdeling,
Is Subcontracted,Is onderaanneming,
Lead Time in days,Lei Tyd in dae,
Supplier Score,Verskaffer telling,
Indicator Color,Indicator Kleur,
Evaluation Period,Evalueringsperiode,
Per Week,Per week,
Per Month,Per maand,
Per Year,Per jaar,
Scoring Setup,Scoring opstel,
Weighting Function,Gewig Funksie,
"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 veranderlikes kan gebruik word, sowel as: {total_score} (die totale telling van daardie tydperk), {period_number} (die aantal tydperke wat vandag aangebied word)",
Scoring Standings,Scoring Standings,
Criteria Setup,Kriteria Opstel,
Load All Criteria,Laai alle kriteria,
Scoring Criteria,Scoring Criteria,
Scorecard Actions,Scorecard aksies,
Warn for new Request for Quotations,Waarsku vir nuwe versoek vir kwotasies,
Warn for new Purchase Orders,Waarsku vir nuwe aankoopbestellings,
Notify Supplier,Stel Verskaffer in kennis,
Notify Employee,Stel werknemers in kennis,
Supplier Scorecard Criteria,Verskaffer Scorecard Criteria,
Criteria Name,Kriteria Naam,
Max Score,Maksimum telling,
Criteria Formula,Kriteriaformule,
Criteria Weight,Kriteria Gewig,
Supplier Scorecard Period,Verskaffer Scorecard Periode,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Periode telling,
Calculations,berekeninge,
Criteria,kriteria,
Variables,Veranderlikes,
Supplier Scorecard Setup,Verskaffer Scorecard Setup,
Supplier Scorecard Scoring Criteria,Verskaffer Scorecard Scoring Criteria,
Score,telling,
Supplier Scorecard Scoring Standing,Verskaffer Scorecard Scoring Standing,
Standing Name,Staande Naam,
Purple,pers,
Yellow,geel,
Orange,oranje,
Min Grade,Min Graad,
Max Grade,Maksimum Graad,
Warn Purchase Orders,Waarsku aankoop bestellings,
Prevent Purchase Orders,Voorkom Aankooporders,
Employee ,werknemer,
Supplier Scorecard Scoring Variable,Verskaffer Scorecard Scoring Variable,
Variable Name,Veranderlike Naam,
Parameter Name,Parameter Naam,
Supplier Scorecard Standing,Verskaffer Scorecard Standing,
Notify Other,Stel ander in kennis,
Supplier Scorecard Variable,Verskaffer Scorecard Variable,
Call Log,Oproeplys,
Received By,Ontvang deur,
Caller Information,Bellerinligting,
Contact Name,Kontak naam,
Lead ,Lei,
Lead Name,Lood Naam,
Ringing,lui,
Missed,gemis,
Call Duration in seconds,Tydsduur in sekondes,
Recording URL,Opneem-URL,
Communication Medium,Kommunikasie Medium,
Communication Medium Type,Kommunikasie medium tipe,
Voice,stem,
Catch All,Vang almal,
"If there is no assigned timeslot, then communication will be handled by this group","As daar geen toegewysde tydgleuf is nie, word kommunikasie deur hierdie groep hanteer",
Timeslots,tydgleuwe,
Communication Medium Timeslot,Kommunikasie Medium tydsgleuf,
Employee Group,Werknemergroep,
Appointment,Aanstelling,
Scheduled Time,Geskeduleerde tyd,
Unverified,geverifieerde,
Customer Details,Kliënt Besonderhede,
Phone Number,Telefoon nommer,
Skype ID,Skype-ID,
Linked Documents,Gekoppelde dokumente,
Appointment With,Afspraak met,
Calendar Event,Kalendergeleentheid,
Appointment Booking Settings,Instellings vir afsprake vir afsprake,
Enable Appointment Scheduling,Skakel afsprake vir afsprake in,
Agent Details,Agentbesonderhede,
Availability Of Slots,Beskikbaarheid van gleuwe,
Number of Concurrent Appointments,Aantal gelyktydige afsprake,
Agents,agente,
Appointment Details,Aanstellingsbesonderhede,
Appointment Duration (In Minutes),Duur van afsprake (binne minute),
Notify Via Email,Stel dit per e-pos in kennis,
Notify customer and agent via email on the day of the appointment.,Stel die klant en agent per e-pos op die dag van die afspraak in kennis.,
Number of days appointments can be booked in advance,Aantal dae kan vooraf bespreek word,
Success Settings,Suksesinstellings,
Success Redirect URL,URL vir sukses herlei,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Laat leeg vir die huis. Dit is relatief tot die URL van die webwerf, byvoorbeeld, &quot;oor&quot; sal herlei word na &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Aanstellingsbesprekingsgleuwe,
Day Of Week,Dag van die week,
From Time ,Van tyd af,
Campaign Email Schedule,E-posrooster vir veldtog,
Send After (days),Stuur na (dae),
Signed,onderteken,
Party User,Party gebruiker,
Unsigned,Unsigned,
Fulfilment Status,Vervulling Status,
N/A,N / A,
Unfulfilled,onvervulde,
Partially Fulfilled,Gedeeltelik Vervul,
Fulfilled,Vervul,
Lapsed,verval,
Contract Period,Kontrak Periode,
Signee Details,Signee Besonderhede,
Signee,Signee,
Signed On,Geteken,
Contract Details,Kontrak Besonderhede,
Contract Template,Kontrak Sjabloon,
Contract Terms,Kontrak Terme,
Fulfilment Details,Vervulling Besonderhede,
Requires Fulfilment,Vereis Vervulling,
Fulfilment Deadline,Vervaldatum,
Fulfilment Terms,Vervolgingsvoorwaardes,
Contract Fulfilment Checklist,Kontrak Vervulling Checklist,
Requirement,vereiste,
Contract Terms and Conditions,Kontrak Terme en Voorwaardes,
Fulfilment Terms and Conditions,Voorwaardes en Voorwaardes,
Contract Template Fulfilment Terms,Kontrak Template Vervaardiging Terme,
Email Campaign,E-posveldtog,
Email Campaign For ,E-posveldtog vir,
Lead is an Organization,Lood is &#39;n organisasie,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Persoon Naam,
Lost Quotation,Verlore aanhaling,
Interested,belangstellende,
Converted,Omgeskakel,
Do Not Contact,Moenie kontak maak nie,
From Customer,Van kliënt,
Campaign Name,Veldtog Naam,
Follow Up,Volg op,
Next Contact By,Volgende kontak deur,
Next Contact Date,Volgende kontak datum,
Ends On,Eindig op,
Address & Contact,Adres &amp; Kontak,
Mobile No.,Mobiele nommer,
Lead Type,Lood Tipe,
Channel Partner,Kanaalmaat,
Consultant,konsultant,
Market Segment,Marksegment,
Industry,bedryf,
Request Type,Versoek Tipe,
Product Enquiry,Produk Ondersoek,
Request for Information,Versoek vir inligting,
Suggestions,voorstelle,
Blog Subscriber,Blog intekenaar,
LinkedIn Settings,LinkedIn-instellings,
Company ID,Maatskappy-ID,
OAuth Credentials,OAuth geloofsbriewe,
Consumer Key,Verbruikersleutel,
Consumer Secret,Verbruikersgeheim,
User Details,Gebruikersbesonderhede,
Person URN,Persoon URN,
Session Status,Sessiestatus,
Lost Reason Detail,Verlore rede detail,
Opportunity Lost Reason,Geleentheid Verlore Rede,
Potential Sales Deal,Potensiële verkoopsooreenkoms,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Geleentheid Van,
Customer / Lead Name,Kliënt / Lood Naam,
Opportunity Type,Geleentheidstipe,
Converted By,Omgeskakel deur,
Sales Stage,Verkoopsfase,
Lost Reason,Verlore Rede,
Expected Closing Date,Verwagte sluitingsdatum,
To Discuss,Om te bespreek,
With Items,Met Items,
Probability (%),Waarskynlikheid (%),
Contact Info,Kontakbesonderhede,
Customer / Lead Address,Kliënt / Loodadres,
Contact Mobile No,Kontak Mobielnr,
Enter name of campaign if source of enquiry is campaign,Voer die naam van die veldtog in as die bron van navraag veldtog is,
Opportunity Date,Geleentheid Datum,
Opportunity Item,Geleentheidspunt,
Basic Rate,Basiese tarief,
Stage Name,Verhoognaam,
Social Media Post,Sosiale mediapos,
Post Status,Posstatus,
Posted,Geplaas,
Share On,Deel aan,
Twitter,Twitter,
LinkedIn,LinkedIn,
Twitter Post Id,Twitter-pos-ID,
LinkedIn Post Id,LinkedIn-pos-ID,
Tweet,Tweet,
Twitter Settings,Twitter-instellings,
API Secret Key,API geheime sleutel,
Term Name,Termyn Naam,
Term Start Date,Termyn Begindatum,
Term End Date,Termyn Einddatum,
Academics User,Akademiese gebruiker,
Academic Year Name,Naam van die akademiese jaar,
Article,Artikel,
LMS User,LMS-gebruiker,
Assessment Criteria Group,Assesseringskriteria Groep,
Assessment Group Name,Assessering Groep Naam,
Parent Assessment Group,Ouerassesseringsgroep,
Assessment Name,Assesseringsnaam,
Grading Scale,Graderingskaal,
Examiner,eksaminator,
Examiner Name,Naam van eksaminator,
Supervisor,toesighouer,
Supervisor Name,Toesighouer Naam,
Evaluate,evalueer,
Maximum Assessment Score,Maksimum assesserings telling,
Assessment Plan Criteria,Assesseringsplan Kriteria,
Maximum Score,Maksimum telling,
Grade,graad,
Assessment Result Detail,Assesseringsresultaat Detail,
Assessment Result Tool,Assesseringsresultate-instrument,
Result HTML,Resultaat HTML,
Content Activity,Inhoudaktiwiteit,
Last Activity ,Laaste aktiwiteit,
Content Question,Inhoudvraag,
Question Link,Vraag skakel,
Course Name,Kursus naam,
Topics,onderwerpe,
Hero Image,Heldbeeld,
Default Grading Scale,Standaard Gradering Skaal,
Education Manager,Onderwysbestuurder,
Course Activity,Kursusaktiwiteit,
Course Enrollment,Kursusinskrywing,
Activity Date,Aktiwiteitsdatum,
Course Assessment Criteria,Kursus assesseringskriteria,
Weightage,weightage,
Course Content,Kursusinhoud,
Quiz,Vasvra,
Program Enrollment,Programinskrywing,
Enrollment Date,Inskrywingsdatum,
Instructor Name,Instrukteur Naam,
EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
Course Scheduling Tool,Kursusskeduleringsinstrument,
Course Start Date,Kursus begin datum,
To TIme,Tot tyd,
Course End Date,Kursus Einddatum,
Course Topic,Kursusonderwerp,
Topic Name,Onderwerp Naam,
Education Settings,Onderwysinstellings,
Current Academic Year,Huidige Akademiese Jaar,
Current Academic Term,Huidige Akademiese Termyn,
Attendance Freeze Date,Bywoning Vries Datum,
Validate Batch for Students in Student Group,Valideer bondel vir studente in studentegroep,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.",Vir Batch-gebaseerde Studentegroep sal die Studente-batch vir elke student van die Programinskrywing gekwalifiseer word.,
Validate Enrolled Course for Students in Student Group,Bevestig ingeskrewe kursus vir studente in studentegroep,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Vir Kursusgebaseerde Studentegroep, sal die kursus vir elke student van die ingeskrewe Kursusse in Programinskrywing bekragtig word.",
Make Academic Term Mandatory,Maak akademiese termyn verpligtend,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Indien geaktiveer, sal die vak Akademiese Termyn Verpligtend wees in die Programinskrywingsinstrument.",
Skip User creation for new Student,Slaan gebruikerskepping oor vir nuwe student,
"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 word &#39;n nuwe gebruiker vir elke nuwe student geskep. As dit geaktiveer is, sal geen nuwe gebruiker geskep word wanneer &#39;n nuwe student geskep word nie.",
Instructor Records to be created by,Instrukteur Rekords wat geskep moet word deur,
Employee Number,Werknemernommer,
Fee Category,Fee Kategorie,
Fee Component,Fooi-komponent,
Fees Category,Gelde Kategorie,
Fee Schedule,Fooibedule,
Fee Structure,Fooistruktuur,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Fee Creation Status,
In Process,In proses,
Send Payment Request Email,Stuur betalingsversoek-e-pos,
Student Category,Student Kategorie,
Fee Breakup for each student,Fooi vir elke student,
Total Amount per Student,Totale bedrag per student,
Institution,instelling,
Fee Schedule Program,Fooiskedule Program,
Student Batch,Studentejoernaal,
Total Students,Totale studente,
Fee Schedule Student Group,Fooi Bylae Studentegroep,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-fooi-.YYYY.-,
Include Payment,Sluit betaling in,
Send Payment Request,Stuur betalingsversoek,
Student Details,Studente Besonderhede,
Student Email,Student e-pos,
Grading Scale Name,Gradering Skaal Naam,
Grading Scale Intervals,Graderingskaalintervalle,
Intervals,tussenposes,
Grading Scale Interval,Gradering Skaal Interval,
Grade Code,Graadkode,
Threshold,Drumpel,
Grade Description,Graad Beskrywing,
Guardian,voog,
Guardian Name,Voognaam,
Alternate Number,Alternatiewe Nommer,
Occupation,Beroep,
Work Address,Werkadres,
Guardian Of ,Voog van,
Students,Studente,
Guardian Interests,Voogbelange,
Guardian Interest,Voogbelang,
Interest,belangstelling,
Guardian Student,Voog Student,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Instrukteur Log,
Other details,Ander besonderhede,
Option,Opsie,
Is Correct,Dit is korrek,
Program Name,Program Naam,
Program Abbreviation,Program Afkorting,
Courses,kursusse,
Is Published,Word gepubliseer,
Allow Self Enroll,Laat selfinskrywings toe,
Is Featured,Word aangebied,
Intro Video,Inleiding video,
Program Course,Programkursus,
School House,Skoolhuis,
Boarding Student,Studente,
Check this if the Student is residing at the Institute's Hostel.,Kontroleer of die Student by die Instituut se koshuis woon.,
Walking,Stap,
Institute's Bus,Instituut se Bus,
Self-Driving Vehicle,Selfritvoertuig,
Pick/Drop by Guardian,Pick / Drop by Guardian,
Enrolled courses,Ingeskrewe kursusse,
Program Enrollment Course,Programinskrywing Kursus,
Program Enrollment Fee,Programinskrywingsfooi,
Program Enrollment Tool,Program Inskrywing Tool,
Get Students From,Kry studente van,
Student Applicant,Studente Aansoeker,
Get Students,Kry studente,
Enrollment Details,Inskrywingsbesonderhede,
New Program,Nuwe Program,
New Student Batch,Nuwe Studentejoernaal,
Enroll Students,Teken studente in,
New Academic Year,Nuwe akademiese jaar,
New Academic Term,Nuwe Akademiese Termyn,
Program Enrollment Tool Student,Programinskrywingsinstrument Student,
Student Batch Name,Studentejoernaal,
Program Fee,Programfooi,
Question,vraag,
Single Correct Answer,Enkel korrekte antwoord,
Multiple Correct Answer,Meervoudige korrekte antwoord,
Quiz Configuration,Vasvra-opstelling,
Passing Score,Slaag telling,
Score out of 100,Puntetelling uit 100,
Max Attempts,Maks pogings,
Enter 0 to waive limit,Tik 0 in om afstand te doen van die limiet,
Grading Basis,Graderingbasis,
Latest Highest Score,Laaste hoogste telling,
Latest Attempt,Laaste poging,
Quiz Activity,Vasvra-aktiwiteit,
Enrollment,inskrywing,
Pass,Pass,
Quiz Question,Vraestelvraag,
Quiz Result,Resultate van vasvra,
Selected Option,Geselekteerde opsie,
Correct,korrekte,
Wrong,Verkeerde,
Room Name,Kamer Naam,
Room Number,Kamer nommer,
Seating Capacity,Sitplekvermoë,
House Name,Huis Naam,
EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
Student Mobile Number,Student Mobiele Nommer,
Blood Group,Bloedgroep,
A+,A +,
A-,A-,
B+,B +,
B-,B-,
O+,O +,
O-,O-,
AB+,AB +,
AB-,mis-,
Nationality,nasionaliteit,
Home Address,Huisadres,
Guardian Details,Besonderhede van die voog,
Guardians,voogde,
Sibling Details,Sibling Besonderhede,
Siblings,broers en susters,
Exit,uitgang,
Date of Leaving,Datum van vertrek,
Leaving Certificate Number,Verlaat Sertifikaatnommer,
Reason For Leaving,Rede vir vertrek,
Student Admission,Studentetoelating,
Admission Start Date,Toelating Aanvangsdatum,
Admission End Date,Toelating Einddatum,
Eligibility and Details,Geskiktheid en besonderhede,
Student Admission Program,Studente Toelatingsprogram,
Minimum Age,Minimum ouderdom,
Maximum Age,Maksimum ouderdom,
Application Fee,Aansoek fooi,
Naming Series (for Student Applicant),Naming Series (vir Studente Aansoeker),
LMS Only,Slegs LMS,
EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
Application Date,Aansoek Datum,
Student Attendance Tool,Studente Bywoning Gereedskap,
Group Based On,Groep gebaseer op,
Students HTML,Studente HTML,
Group Based on,Groep gebaseer op,
Student Group Name,Student Groep Naam,
Max Strength,Maksimum sterkte,
Set 0 for no limit,Stel 0 vir geen limiet,
Instructors,instrukteurs,
Student Group Creation Tool,Studentegroepskeppingsinstrument,
Leave blank if you make students groups per year,Los leeg as jy studente groepe per jaar maak,
Get Courses,Kry kursusse,
Separate course based Group for every Batch,Afsonderlike kursusgebaseerde groep vir elke groep,
Leave unchecked if you don't want to consider batch while making course based groups. ,Los ongeskik as jy nie joernaal wil oorweeg as jy kursusgebaseerde groepe maak nie.,
Student Group Creation Tool Course,Studente Groepskeppingsinstrument Kursus,
Course Code,Kursuskode,
Student Group Instructor,Studentegroepinstrukteur,
Student Group Student,Studentegroepstudent,
Group Roll Number,Groeprolnommer,
Student Guardian,Studente Voog,
Relation,verhouding,
Mother,moeder,
Father,Vader,
Student Language,Studente Taal,
Student Leave Application,Studenteverlof Aansoek,
Mark as Present,Merk as Aanwesig,
Student Log,Studentelog,
Academic,akademiese,
Achievement,prestasie,
Student Report Generation Tool,Studente Verslag Generasie Tool,
Include All Assessment Group,Sluit alle assesseringsgroep in,
Show Marks,Wys Punte,
Add letterhead,Voeg Briefhoof,
Print Section,Afdrukafdeling,
Total Parents Teacher Meeting,Totale Ouers Onderwysersvergadering,
Attended by Parents,Bygewoon deur ouers,
Assessment Terms,Assesseringsbepalings,
Student Sibling,Student Sibling,
Studying in Same Institute,Studeer in dieselfde instituut,
NO,Geen,
YES,Ja,
Student Siblings,Student broers en susters,
Topic Content,Onderwerpinhoud,
Amazon MWS Settings,Amazon MWS instellings,
ERPNext Integrations,ERPNext Integrations,
Enable Amazon,Aktiveer Amazon,
MWS Credentials,MWS Credentials,
Seller ID,Verkoper ID,
AWS Access Key ID,AWS Access Key ID,
MWS Auth Token,MWS Auth Token,
Market Place ID,Markplek ID,
AE,AE,
AU,AU,
BR,BR,
CA,CA,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
JP,JP,
IT,DIT,
MX,mx,
UK,Verenigde Koninkryk,
US,VSA,
Customer Type,Kliëntipe,
Market Place Account Group,Markplek-rekeninggroep,
After Date,Na datum,
Amazon will synch data updated after this date,"Amazon sal data wat na hierdie datum opgedateer word, sinkroniseer",
Sync Taxes and Charges,Belasting en heffings sinkroniseer,
Get financial breakup of Taxes and charges data by Amazon ,Kry finansiële ontbinding van belasting en koste data deur Amazon,
Sync Products,Sinkroniseer produkte,
Always sync your products from Amazon MWS before synching the Orders details,Sinkroniseer u produkte altyd vanaf Amazon MWS voordat u die bestellingsbesonderhede sinkroniseer,
Sync Orders,Sinkroniseer bestellings,
Click this button to pull your Sales Order data from Amazon MWS.,Klik op hierdie knoppie om jou verkoopsbeveldata van Amazon MWS te trek.,
Enable Scheduled Sync,Aktiveer geskeduleerde sinkronisering,
Check this to enable a scheduled Daily synchronization routine via scheduler,Kontroleer hierdie om &#39;n geskeduleerde daaglikse sinkronisasie roetine in te stel via skedulering,
Max Retry Limit,Maksimum herstel limiet,
Exotel Settings,Exotel-instellings,
Account SID,Rekening SID,
API Token,API-token,
GoCardless Mandate,GoCardless Mandaat,
Mandate,mandaat,
GoCardless Customer,GoCardless kliënt,
GoCardless Settings,GoCardless Settings,
Webhooks Secret,Webhooks Secret,
Plaid Settings,Plaid-instellings,
Synchronize all accounts every hour,Sinkroniseer alle rekeninge elke uur,
Plaid Client ID,Ingelegde kliënt-ID,
Plaid Secret,Plaid Secret,
Plaid Environment,Plaid omgewing,
sandbox,sandbox,
development,ontwikkeling,
production,produksie,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Aansoekinstellings,
Token Endpoint,Token Eindpunt,
Scope,omvang,
Authorization Settings,Magtigingsinstellings,
Authorization Endpoint,Magtiging Eindpunt,
Authorization URL,Magtigings-URL,
Quickbooks Company ID,Quickbooks Maatskappy ID,
Company Settings,Maatskappyinstellings,
Default Shipping Account,Verstek Posbus,
Default Warehouse,Standaard pakhuis,
Default Cost Center,Verstek koste sentrum,
Undeposited Funds Account,Onvoorsiene Fondsrekening,
Shopify Log,Shopify Log,
Shopify Settings,Shopify-instellings,
status html,status html,
Enable Shopify,Aktiveer Shopify,
App Type,App Type,
Last Sync Datetime,Laaste sinchronisasie datum,
Shop URL,Winkel-URL,
eg: frappe.myshopify.com,bv .: frappe.myshopify.com,
Shared secret,Gedeelde geheim,
Webhooks Details,Webhooks Besonderhede,
Webhooks,Webhooks,
Customer Settings,Kliënt Stellings,
Default Customer,Verstekkliënt,
Customer Group will set to selected group while syncing customers from Shopify,Kliëntegroep sal aan geselekteerde groep stel terwyl kliënte van Shopify gesinkroniseer word,
For Company,Vir Maatskappy,
Cash Account will used for Sales Invoice creation,Kontantrekening sal gebruik word vir die skep van verkope faktuur,
Update Price from Shopify To ERPNext Price List,Werk prys vanaf Shopify na ERPNext Pryslys,
Default Warehouse to to create Sales Order and Delivery Note,Default Warehouse om Sales Order en Delivery Note te skep,
Sales Order Series,Verkooporderreeks,
Import Delivery Notes from Shopify on Shipment,Voer afleweringsnotas van Shopify op gestuur,
Delivery Note Series,Afleweringsnotasreeks,
Import Sales Invoice from Shopify if Payment is marked,Voer verkoopsfaktuur van Shopify in as betaling gemerk is,
Sales Invoice Series,Verkoopfaktuurreeks,
Shopify Tax Account,Shopify Belastingrekening,
Shopify Tax/Shipping Title,Shopify Belasting / Versending Titel,
ERPNext Account,ERPNext Account,
Shopify Webhook Detail,Shopify Webhook Detail,
Webhook ID,Webhook ID,
Tally Migration,Tally Migration,
Master Data,Meesterdata,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Data uitgevoer vanaf Tally wat bestaan uit die rekeningkaart, klante, verskaffers, adresse, items en UOM&#39;s",
Is Master Data Processed,Word meesterdata verwerk,
Is Master Data Imported,Is meerdata ingevoer,
Tally Creditors Account,Tally Krediteurrekening,
Creditors Account set in Tally,Krediteurrekening in Tally opgestel,
Tally Debtors Account,Tally Debiteure-rekening,
Debtors Account set in Tally,Debiteurrekening opgestel in Tally,
Tally Company,Tally Company,
Company Name as per Imported Tally Data,Maatskappy se naam volgens ingevoerde tellingsdata,
Default UOM,Standaard UOM,
UOM in case unspecified in imported data,UOM in geval nie gespesifiseer in ingevoerde data nie,
ERPNext Company,ERPNext Company,
Your Company set in ERPNext,U maatskappy is in ERPNext,
Processed Files,Verwerkte lêers,
Parties,partye,
UOMs,UOMs,
Vouchers,geskenkbewyse,
Round Off Account,Round Off Account,
Day Book Data,Dagboekdata,
Day Book Data exported from Tally that consists of all historic transactions,Dagboekdata uitgevoer vanaf Tally wat bestaan uit alle historiese transaksies,
Is Day Book Data Processed,Word dagboekdata verwerk,
Is Day Book Data Imported,Word dagboekdata ingevoer,
Woocommerce Settings,Woocommerce-instellings,
Enable Sync,Aktiveer sinkronisering,
Woocommerce Server URL,Woocommerce Server-URL,
Secret,Secret,
API consumer key,API verbruikers sleutel,
API consumer secret,API verbruikers geheim,
Tax Account,Belastingrekening,
Freight and Forwarding Account,Vrag en vrag-rekening,
Creation User,Skepper gebruiker,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Die gebruiker wat gebruik gaan word om klante, items en verkoopsbestellings te skep. Hierdie gebruiker moet die regte toestemming hê.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Hierdie pakhuis sal gebruik word om verkoopsbestellings te skep. Die pakhuis is &#39;Stores&#39;.,
"The fallback series is ""SO-WOO-"".",Die terugvalreeks is &quot;SO-WOO-&quot;.,
This company will be used to create Sales Orders.,Hierdie maatskappy sal gebruik word om verkoopbestellings te skep.,
Delivery After (Days),Aflewering na (dae),
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 die standaardverrekening (dae) vir die afleweringsdatum in verkoopsbestellings. Die terugwaartse verrekening is 7 dae vanaf die datum van die bestellingsplasing.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Dit is die standaard UOM wat gebruik word vir items en verkoopsbestellings. Die terugvallende UOM is &quot;Nos&quot;.,
Endpoints,eindpunte,
Endpoint,eindpunt,
Antibiotic Name,Antibiotiese Naam,
Healthcare Administrator,Gesondheidsorgadministrateur,
Laboratory User,Laboratoriumgebruiker,
Is Inpatient,Is binnepasiënt,
Default Duration (In Minutes),Verstek duur (binne minute),
Body Part,Liggaamsdeel,
Body Part Link,Skakel liggaamsdeel,
HLC-CPR-.YYYY.-,HLC-KPR-.YYYY.-,
Procedure Template,Prosedure Sjabloon,
Procedure Prescription,Prosedure Voorskrif,
Service Unit,Diens Eenheid,
Consumables,Consumables,
Consume Stock,Verbruik Voorraad,
Invoice Consumables Separately,Faktuur Verbruiksgoedere afsonderlik,
Consumption Invoiced,Verbruik gefaktureer,
Consumable Total Amount,Verbruikbare totale bedrag,
Consumption Details,Verbruiksbesonderhede,
Nursing User,Verpleegkundige gebruiker,
Clinical Procedure Item,Kliniese Prosedure Item,
Invoice Separately as Consumables,Faktuur Afsonderlik as Verbruiksgoedere,
Transfer Qty,Oordrag Aantal,
Actual Qty (at source/target),Werklike hoeveelheid (by bron / teiken),
Is Billable,Is faktureerbaar,
Allow Stock Consumption,Laat voorraadverbruik toe,
Sample UOM,Voorbeeld UOM,
Collection Details,Versamelingsbesonderhede,
Change In Item,Verandering in item,
Codification Table,Kodifikasietabel,
Complaints,klagtes,
Dosage Strength,Dosis Sterkte,
Strength,krag,
Drug Prescription,Dwelm Voorskrif,
Drug Name / Description,Geneesmiddelnaam / beskrywing,
Dosage,dosis,
Dosage by Time Interval,Dosis volgens tydinterval,
Interval,interval,
Interval UOM,Interval UOM,
Hour,Uur,
Update Schedule,Dateer skedule op,
Exercise,Oefening,
Difficulty Level,Moeilikheidsgraad,
Counts Target,Tel Teiken,
Counts Completed,Tellings voltooi,
Assistance Level,Hulpvlak,
Active Assist,Aktiewe hulp,
Exercise Name,Oefening Naam,
Body Parts,Liggaamsdele,
Exercise Instructions,Oefeninstruksies,
Exercise Video,Oefenvideo,
Exercise Steps,Oefeningstappe,
Steps Table,Traptafel,
Exercise Type Step,Oefeningstipe Stap,
Max number of visit,Maksimum aantal besoeke,
Visited yet,Nog besoek,
Reference Appointments,Verwysingsafsprake,
Valid till,Geldig tot,
Fee Validity Reference,Geldigheidsverwysing fooi,
Basic Details,Basiese besonderhede,
HLC-PRAC-.YYYY.-,HLC-PRAC-.JJJJ.-,
Mobile,Mobile,
Phone (R),Telefoon (R),
Phone (Office),Telefoon (Kantoor),
Employee and User Details,Werknemer- en gebruikersbesonderhede,
Hospital,hospitaal,
Appointments,aanstellings,
Practitioner Schedules,Praktisynskedules,
Charges,koste,
Out Patient Consulting Charge,Koste vir pasiëntadvies,
Default Currency,Verstek Geld,
Healthcare Schedule Time Slot,Gesondheidsorgskedule Tydgleuf,
Parent Service Unit,Ouer Diens Eenheid,
Service Unit Type,Diens Eenheidstipe,
Allow Appointments,Laat afsprake toe,
Allow Overlap,Laat oorvleuel toe,
Inpatient Occupancy,Inpatient Behuising,
Occupancy Status,Behuisingsstatus,
Vacant,vakante,
Occupied,beset,
Item Details,Itembesonderhede,
UOM Conversion in Hours,UOM Gesprek in ure,
Rate / UOM,Tarief / UOM,
Change in Item,Verander in item,
Out Patient Settings,Uit pasiënt instellings,
Patient Name By,Pasiënt Naam By,
Patient Name,Pasiënt Naam,
Link Customer to Patient,Koppel kliënt aan pasië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.","Indien gekontroleer, sal &#39;n kliënt geskep word, gekarteer na Pasiënt. Pasiëntfakture sal teen hierdie kliënt geskep word. U kan ook bestaande kliënt kies terwyl u pasiënt skep.",
Default Medical Code Standard,Standaard Mediese Kode Standaard,
Collect Fee for Patient Registration,Versamel fooi vir pasiëntregistrasie,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,"Deur dit na te gaan, word standaard pasiënte met &#39;n gestremde status geskep en sal dit eers geaktiveer word nadat die registrasiefooi gefaktureer is.",
Registration Fee,Registrasiefooi,
Automate Appointment Invoicing,Outomatiese afspraakfakturering,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Bestuur Aanstellingsfaktuur stuur outomaties vir Patient Encounter in en kanselleer,
Enable Free Follow-ups,Skakel gratis opvolgings in,
Number of Patient Encounters in Valid Days,Aantal pasiëntontmoetings in geldige dae,
The number of free follow ups (Patient Encounters in valid days) allowed,Die aantal gratis opvolgings (pasiëntontmoetings in geldige dae) word toegelaat,
Valid Number of Days,Geldige aantal dae,
Time period (Valid number of days) for free consultations,Tydsperiode (geldige aantal dae) vir gratis konsultasies,
Default Healthcare Service Items,Standaard-gesondheidsorgdiensitems,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","U kan standaarditems instel vir konsultasiekoste vir fakture, verbruiksartikels vir prosedures en besoeke aan binnepasiënte",
Clinical Procedure Consumable Item,Kliniese Prosedure Verbruikbare Item,
Default Accounts,Standaardrekeninge,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Standaard inkomsterekeninge wat gebruik moet word indien dit nie in die gesondheidsorgpraktisyn gestel word nie. Aanstellingskoste.,
Default receivable accounts to be used to book Appointment charges.,Standaard-ontvangbare rekeninge wat gebruik word om aanstellingskoste te bespreek.,
Out Patient SMS Alerts,Uit Pasiënt SMS Alert,
Patient Registration,Pasiëntregistrasie,
Registration Message,Registrasie Boodskap,
Confirmation Message,Bevestigingsboodskap,
Avoid Confirmation,Vermy bevestiging,
Do not confirm if appointment is created for the same day,Moenie bevestig of aanstelling geskep is vir dieselfde dag nie,
Appointment Reminder,Aanstelling Herinnering,
Reminder Message,Herinnering Boodskap,
Laboratory Settings,Laboratorium instellings,
Create Lab Test(s) on Sales Invoice Submission,Skep laboratoriumtoets (s) oor die inhandiging van verkoopsfakture,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,"As u dit nagaan, word laboratoriumtoetse (s) geskep wat in die Verkoopfaktuur by indiening gespesifiseer word.",
Create Sample Collection document for Lab Test,Skep &#39;n voorbeeldversamelingsdokument vir laboratoriumtoets,
Checking this will create a Sample Collection document  every time you create a Lab Test,"As u dit nagaan, word daar &#39;n voorbeeldversamelingsdokument geskep elke keer as u &#39;n laboratoriumtoets skep",
Employee name and designation in print,Werknemer naam en aanwysing in druk,
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.,"Merk dit as u wil hê dat die naam en benaming van die werknemer verbonde aan die gebruiker wat die dokument indien, in die laboratoriumtoetsverslag moet word gedruk.",
Do not print or email Lab Tests without Approval,Moenie laboratoriumtoetse sonder goedkeuring druk of e-pos nie,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"As u dit nagaan, word die druk en e-pos van laboratoriumtoetsdokumente beperk, tensy dit die status as Goedgekeur het.",
Custom Signature in Print,Aangepaste handtekening in druk,
Laboratory SMS Alerts,Laboratorium SMS Alert,
Result Printed Message,Resultaat gedrukte boodskap,
Result Emailed Message,Resultaat per e-pos boodskap,
Check In,Inboek,
Check Out,Uitteken,
HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
A Positive,&#39;N positiewe,
A Negative,&#39;N Negatiewe,
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 geskeduleer,
Discharge Scheduled,Kwijting Gepland,
Discharged,ontslaan,
Admission Schedule Date,Toelatingskedule Datum,
Admitted Datetime,Toegelate Date Time,
Expected Discharge,Verwagte ontslag,
Discharge Date,Ontslag datum,
Lab Prescription,Lab Voorskrif,
Lab Test Name,Naam van laboratoriumtoets,
Test Created,Toets geskep,
Submitted Date,Datum gestuur,
Approved Date,Goedgekeurde Datum,
Sample ID,Voorbeeld ID,
Lab Technician,Lab tegnikus,
Report Preference,Verslagvoorkeur,
Test Name,Toets Naam,
Test Template,Toets Sjabloon,
Test Group,Toetsgroep,
Custom Result,Aangepaste resultaat,
LabTest Approver,LabTest Approver,
Add Test,Voeg toets by,
Normal Range,Normale omvang,
Result Format,Resultaatformaat,
Single,enkele,
Compound,saamgestelde,
Descriptive,beskrywende,
Grouped,gegroepeer,
No Result,Geen resultaat,
This value is updated in the Default Sales Price List.,Hierdie waarde word opgedateer in die verstekverkooppryslys.,
Lab Routine,Lab Roetine,
Result Value,Resultaatwaarde,
Require Result Value,Vereis Resultaatwaarde,
Normal Test Template,Normale toets sjabloon,
Patient Demographics,Patient Demographics,
HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
Middle Name (optional),Middelnaam (opsioneel),
Inpatient Status,Inpatient 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.","As &#39;Koppel kliënt aan pasiënt&#39; in die gesondheidsorginstellings gekies is en &#39;n bestaande klant nie gekies word nie, sal &#39;n kliënt vir hierdie pasiënt geskep word om transaksies op te neem in die module Rekeninge.",
Personal and Social History,Persoonlike en Sosiale Geskiedenis,
Marital Status,Huwelikstatus,
Married,Getroud,
Divorced,geskei,
Widow,weduwee,
Patient Relation,Pasiëntverwantskap,
"Allergies, Medical and Surgical History","Allergieë, Mediese en Chirurgiese Geskiedenis",
Allergies,allergieë,
Medication,medikasie,
Medical History,Mediese geskiedenis,
Surgical History,Chirurgiese Geskiedenis,
Risk Factors,Risiko faktore,
Occupational Hazards and Environmental Factors,Beroepsgevare en omgewingsfaktore,
Other Risk Factors,Ander risikofaktore,
Patient Details,Pasiëntbesonderhede,
Additional information regarding the patient,Bykomende inligting rakende die pasiënt,
HLC-APP-.YYYY.-,HLC-APP-.JJJJ.-,
Patient Age,Pasiënt ouderdom,
Get Prescribed Clinical Procedures,Kry voorgeskrewe kliniese prosedures,
Therapy,Terapie,
Get Prescribed Therapies,Kry voorgeskrewe terapieë,
Appointment Datetime,Afspraakdatum,
Duration (In Minutes),Duur (binne minute),
Reference Sales Invoice,Verwysingsverkoopfaktuur,
More Info,Meer inligting,
Referring Practitioner,Verwysende Praktisyn,
HLC-PA-.YYYY.-,HLC-PA-.JJJJ.-,
Assessment Template,Assesseringsjabloon,
Assessment Datetime,Assesseringstyd,
Assessment Description,Assesseringsbeskrywing,
Assessment Sheet,Assesseringsblad,
Total Score Obtained,Totale telling behaal,
Scale Min,Skaal Min,
Scale Max,Skaal maks,
Patient Assessment Detail,Pasiëntbepalingsdetail,
Assessment Parameter,Assesseringsparameter,
Patient Assessment Parameter,Pasiëntbepalingsparameter,
Patient Assessment Sheet,Pasiëntbepalingsblad,
Patient Assessment Template,Sjabloon vir pasiëntassessering,
Assessment Parameters,Assesseringsparameters,
Parameters,Grense,
Assessment Scale,Assesseringskaal,
Scale Minimum,Skaal Minimum,
Scale Maximum,Skaal maksimum,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Ontmoeting Datum,
Encounter Time,Ontmoetyd,
Encounter Impression,Encounter Impression,
Symptoms,Simptome,
In print,In druk,
Medical Coding,Mediese kodering,
Procedures,prosedures,
Therapies,Terapieë,
Review Details,Hersieningsbesonderhede,
Patient Encounter Diagnosis,Pasiënt-ontmoetingsdiagnose,
Patient Encounter Symptom,Pasiënt ontmoeting simptoom,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Attach Medical Record,Heg mediese rekord aan,
Spouse,eggenoot,
Family,familie,
Schedule Details,Skedulebesonderhede,
Schedule Name,Skedule Naam,
Time Slots,Tydgleuwe,
Practitioner Service Unit Schedule,Praktisyns Diens Eenheidskedule,
Procedure Name,Prosedure Naam,
Appointment Booked,Aanstelling geboekstaaf,
Procedure Created,Prosedure geskep,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Versamel By,
Particulars,Besonderhede,
Result Component,Resultaat Komponent,
HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
Therapy Plan Details,Terapieplanbesonderhede,
Total Sessions,Totale sessies,
Total Sessions Completed,Totale sessies voltooi,
Therapy Plan Detail,Terapieplanbesonderhede,
No of Sessions,Aantal sessies,
Sessions Completed,Sessies voltooi,
Tele,Tele,
Exercises,Oefeninge,
Therapy For,Terapie vir,
Add Exercises,Voeg oefeninge by,
Body Temperature,Liggaamstemperatuur,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),Aanwesigheid van &#39;n koors (temp&gt; 38.5 ° C / 101.3 ° F of volgehoue temperatuur&gt; 38 ° C / 100.4 ° F),
Heart Rate / Pulse,Hartslag / Pols,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Volwassenes se polsslag is oral tussen 50 en 80 slae per minuut.,
Respiratory rate,Respiratoriese tempo,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Normale verwysingsreeks vir &#39;n volwassene is 16-20 asemhalings / minuut (RCP 2012),
Tongue,tong,
Coated,Bedekte,
Very Coated,Baie bedek,
Normal,Normaal,
Furry,Harige,
Cuts,sny,
Abdomen,buik,
Bloated,opgeblase,
Fluid,vloeistof,
Constipated,hardlywig,
Reflexes,reflekse,
Hyper,Hyper,
Very Hyper,Baie Hyper,
One Sided,Eenkantig,
Blood Pressure (systolic),Bloeddruk (sistolies),
Blood Pressure (diastolic),Bloeddruk (diastoliese),
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 in &#39;n volwassene is ongeveer 120 mmHg sistolies en 80 mmHg diastolies, afgekort &quot;120/80 mmHg&quot;",
Nutrition Values,Voedingswaardes,
Height (In Meter),Hoogte (In meter),
Weight (In Kilogram),Gewig (In Kilogram),
BMI,BMI,
Hotel Room,Hotelkamer,
Hotel Room Type,Hotel Kamer Type,
Capacity,kapasiteit,
Extra Bed Capacity,Ekstra Bed Capaciteit,
Hotel Manager,Hotel Bestuurder,
Hotel Room Amenity,Hotel Kamer Fasiliteite,
Billable,factureerbare,
Hotel Room Package,Hotel Kamer Pakket,
Amenities,geriewe,
Hotel Room Pricing,Hotel Kamerpryse,
Hotel Room Pricing Item,Hotel Kamerprys item,
Hotel Room Pricing Package,Hotel Kamerpryse,
Hotel Room Reservation,Hotel Kamer Bespreking,
Guest Name,Gaste Naam,
Late Checkin,Laat Checkin,
Booked,bespreek,
Hotel Reservation User,Hotel besprekingsgebruiker,
Hotel Room Reservation Item,Hotel Kamer Besprekings Item,
Hotel Settings,Hotel Stellings,
Default Taxes and Charges,Verstekbelasting en heffings,
Default Invoice Naming Series,Standaard faktuur naamgewing reeks,
HR,HR,
Date on which this component is applied,Datum waarop hierdie komponent toegepas word,
Salary Slip,Salarisstrokie,
HR User,HR gebruiker,
Job Applicant,Werksaansoeker,
Body,liggaam,
Appraisal Template,Appraisal Template,
Parent Department,Ouer Departement,
Leave Block List,Los blokkie lys,
Days for which Holidays are blocked for this department.,Dae waarvoor vakansiedae vir hierdie departement geblokkeer word.,
Leave Approver,Verlaat Goedkeuring,
Expense Approver,Uitgawe Goedkeuring,
Required Skills,Vereiste vaardighede,
Skills,vaardighede,
Driver,bestuurder,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,opgeskort,
Transporter,vervoerder,
Applicable for external driver,Toepasbaar vir eksterne bestuurder,
Cellphone Number,Selfoonnommer,
License Details,Lisensie Besonderhede,
License Number,Lisensienommer,
Issuing Date,Uitreikingsdatum,
Driving License Categories,Bestuurslisensie Kategorieë,
Driving License Category,Bestuurslisensie Kategorie,
Fleet Manager,Vlootbestuurder,
Driver licence class,Bestuurslisensieklas,
HR-EMP-,HR-EMP-,
Employment Type,Indiensnemingstipe,
Emergency Contact,Nood kontak,
Emergency Contact Name,Noodkontaksnaam,
Emergency Phone,Nood telefoon,
ERPNext User,ERPNext gebruiker,
"System User (login) ID. If set, it will become default for all HR forms.","Stelsel gebruiker (login) ID. Indien ingestel, sal dit vir alle HR-vorms verstek wees.",
Create User Permission,Skep gebruikertoestemming,
This will restrict user access to other employee records,Dit sal gebruikers toegang tot ander werknemer rekords beperk,
Joining Details,Aansluitingsbesonderhede,
Offer Date,Aanbod Datum,
Confirmation Date,Bevestigingsdatum,
Contract End Date,Kontrak Einddatum,
Notice (days),Kennisgewing (dae),
Date Of Retirement,Datum van aftrede,
Department and Grade,Departement en Graad,
Reports to,Verslae aan,
Attendance and Leave Details,Besoeke en verlofbesonderhede,
Attendance Device ID (Biometric/RF tag ID),Bywoningstoestel-ID (biometriese / RF-etiket-ID),
Applicable Holiday List,Toepaslike Vakansielys,
Default Shift,Verstekverskuiwing,
Salary Mode,Salaris af,
Bank A/C No.,Bank A / C Nr.,
Health Insurance,Gesondheidsversekering,
Health Insurance Provider,Versekeringsverskaffer,
Health Insurance No,Gesondheidsversekering Nr,
Prefered Email,Voorkeur-e-pos,
Personal Email,Persoonlike e-pos,
Permanent Address Is,Permanente adres is,
Rented,gehuur,
Owned,Owned,
Permanent Address,Permanente adres,
Prefered Contact Email,Voorkeur Kontak E-pos,
Company Email,Maatskappy E-pos,
Provide Email Address registered in company,Verskaf e-pos adres geregistreer in die maatskappy,
Current Address Is,Huidige adres Is,
Current Address,Huidige adres,
Personal Bio,Persoonlike Bio,
Bio / Cover Letter,Bio / Dekbrief,
Short biography for website and other publications.,Kort biografie vir webwerf en ander publikasies.,
Passport Number,Paspoortnommer,
Date of Issue,Datum van uitreiking,
Place of Issue,Plek van uitreiking,
Widowed,weduwee,
Family Background,Familie agtergrond,
"Here you can maintain family details like name and occupation of parent, spouse and children","Hier kan jy familie besonderhede soos naam en beroep van ouer, gade en kinders handhaaf",
Health Details,Gesondheids besonderhede,
"Here you can maintain height, weight, allergies, medical concerns etc","Hier kan u hoogte, gewig, allergieë, mediese sorg, ens. Handhaaf",
Educational Qualification,opvoedkundige kwalifikasie,
Previous Work Experience,Vorige werkservaring,
External Work History,Eksterne werkgeskiedenis,
History In Company,Geskiedenis In Maatskappy,
Internal Work History,Interne werkgeskiedenis,
Resignation Letter Date,Bedankingsbrief Datum,
Relieving Date,Ontslagdatum,
Reason for Leaving,Rede vir vertrek,
Leave Encashed?,Verlaten verlaat?,
Encashment Date,Bevestigingsdatum,
New Workplace,Nuwe werkplek,
Returned Amount,Terugbetaalde bedrag,
Advance Account,Voorskotrekening,
Benefits Applied,Voordele toegepas,
Benefit Type and Amount,Voordeel Tipe en Bedrag,
Task Weight,Taakgewig,
Employee Education,Werknemersonderwys,
School/University,Skool / Universiteit,
Graduate,Gegradueerde,
Post Graduate,Nagraadse,
Under Graduate,Onder Graduate,
Year of Passing,Jaar van verby,
Class / Percentage,Klas / Persentasie,
Major/Optional Subjects,Hoofvakke / Opsionele Vakke,
Employee External Work History,Werknemer Eksterne Werk Geskiedenis,
Total Experience,Totale ervaring,
Default Leave Policy,Verstekverlofbeleid,
Employee Group Table,Tabel vir werknemersgroepe,
ERPNext User ID,ERPVolgende gebruikers-ID,
Employee Internal Work History,Werknemer Interne Werkgeskiedenis,
Activities,aktiwiteite,
Employee Onboarding Activity,Werknemer aan boord Aktiwiteit,
Employee Promotion Detail,Werknemersbevorderingsdetail,
Employee Transfer Property,Werknemersoordragseiendom,
Unclaimed amount,Onopgeëiste bedrag,
Holiday List Name,Vakansie Lys Naam,
Total Holidays,Totale vakansiedae,
Add Weekly Holidays,Voeg weeklikse vakansies by,
Weekly Off,Weeklikse af,
Add to Holidays,Voeg by Vakansiedae,
Holidays,vakansies,
Clear Table,Duidelike tabel,
Retirement Age,Aftree-ouderdom,
Enter retirement age in years,Gee aftree-ouderdom in jare,
Stop Birthday Reminders,Stop verjaardag herinnerings,
Leave Settings,Verlaat instellings,
Accepted,aanvaar,
Printing Details,Drukbesonderhede,
Job Title,Werkstitel,
Allocation,toekenning,
Select Employees,Kies Werknemers,
Allocate,Ken,
Max Leaves Allowed,Maksimum toelaatbare blare,
Maximum Continuous Days Applicable,Maksimum Deurlopende Dae Toepaslik,
Select Payroll Period,Kies Payroll Periode,
Abbr,abbr,
Condition and Formula,Toestand en Formule,
Total Working Hours,Totale werksure,
Hour Rate,Uurtarief,
Bank Account No.,Bankrekeningnommer,
Earning & Deduction,Verdien en aftrekking,
Loan repayment,Terugbetaling van lening,
Employee Loan,Werknemerslening,
Total Principal Amount,Totale hoofbedrag,
Total Interest Amount,Totale Rente Bedrag,
Total Loan Repayment,Totale Lening Terugbetaling,
net pay info,netto betaalinligting,
Gross Pay - Total Deduction - Loan Repayment,Bruto Betaling - Totale Aftrekking - Lening Terugbetaling,
Net Pay (in words) will be visible once you save the Salary Slip.,Netto betaal (in woorde) sal sigbaar wees sodra jy die Salary Slip stoor.,
Staffing Plan Details,Personeelplanbesonderhede,
Optional,opsioneel,
Costing,kos,
Vehicle,voertuig,
License Plate,Lisensiebord,
Odometer Value (Last),Odometer Waarde (Laaste),
Acquisition Date,Verkrygingsdatum,
Chassis No,Chassisnr,
Vehicle Value,Voertuigwaarde,
Insurance Details,Versekeringsbesonderhede,
Insurance Company,Versekeringsmaatskappy,
Policy No,Polisnr,
Additional Details,Bykomende besonderhede,
Fuel Type,Brandstoftipe,
Petrol,petrol,
Diesel,diesel,
Natural Gas,Natuurlike gas,
Electric,Electric,
Fuel UOM,Brandstof UOM,
Last Carbon Check,Laaste Carbon Check,
Wheels,wiele,
Doors,deure,
last Odometer Value ,laaste kilometerstandwaarde,
Service Detail,Diensbesonderhede,
Hub Tracked Item,Hub Tracked Item,
Hub Node,Hub Knoop,
Image List,Prentelys,
Item Manager,Itembestuurder,
Hub User,Hub gebruiker,
Hub Password,Hub Wagwoord,
Hub Users,Hub Gebruikers,
Marketplace Settings,Marketplace-instellings,
Disable Marketplace,Deaktiveer Marketplace,
Marketplace URL (to hide and update label),Marktplaats URL (om etiket te versteek en op te dateer),
Registered,geregistreer,
Sync in Progress,Sinkroniseer in voortsetting,
Hub Seller Name,Hub Verkoper Naam,
Custom Data,Aangepaste data,
Repay From Salary,Terugbetaal van Salaris,
Regular Payment,Gereelde betaling,
Loan Closure,Leningsluiting,
Rate of Interest (%) Yearly,Rentekoers (%) Jaarliks,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Genereer skedule,
Schedules,skedules,
Maintenance Schedule Detail,Onderhoudskedule Detail,
Scheduled Date,Geskeduleerde Datum,
Actual Date,Werklike Datum,
Maintenance Schedule Item,Onderhoudskedule item,
Random,ewekansige,
No of Visits,Aantal besoeke,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Onderhoud Datum,
Maintenance Time,Onderhoudstyd,
Completion Status,Voltooiingsstatus,
Partially Completed,Gedeeltelik voltooi,
Fully Completed,Voltooi Voltooi,
Unscheduled,ongeskeduleerde,
Breakdown,Afbreek,
Purposes,doeleindes,
Customer Feedback,Kliëntterugvoer,
Maintenance Visit Purpose,Onderhoud Besoek Doel,
Work Done,Werk gedoen,
Against Document No,Teen dokumentnr,
Against Document Detail No,Teen dokumentbesonderhede No,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Bestelling Tipe,
Blanket Order Item,Kombuis Bestel Item,
Ordered Quantity,Bestelde Hoeveelheid,
Item to be manufactured or repacked,Item wat vervaardig of herverpak moet word,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Hoeveelheid item verkry na vervaardiging / herverpakking van gegewe hoeveelhede grondstowwe,
Set rate of sub-assembly item based on BOM,Stel koers van sub-items op basis van BOM,
Allow Alternative Item,Laat alternatiewe item toe,
Item UOM,Item UOM,
Conversion Rate,Omskakelingskoers,
Rate Of Materials Based On,Mate van materiaal gebaseer op,
With Operations,Met bedrywighede,
Manage cost of operations,Bestuur koste van bedrywighede,
Transfer Material Against,Oordrag van materiaal teen,
Routing,routing,
Materials,materiaal,
Quality Inspection Required,Kwaliteit inspeksie benodig,
Quality Inspection Template,Kwaliteit Inspeksie Sjabloon,
Scrap,Scrap,
Scrap Items,Afval items,
Operating Cost,Bedryfskoste,
Raw Material Cost,Grondstofkoste,
Scrap Material Cost,Skrootmateriaal Koste,
Operating Cost (Company Currency),Bedryfskoste (Maatskappy Geld),
Raw Material Cost (Company Currency),Grondstofkoste (geldeenheid van die onderneming),
Scrap Material Cost(Company Currency),Skrootmateriaal Koste (Maatskappy Geld),
Total Cost,Totale koste,
Total Cost (Company Currency),Totale koste (geldeenheid van die onderneming),
Materials Required (Exploded),Materiaal benodig (ontplof),
Exploded Items,Ontplofde items,
Show in Website,Vertoon in webwerf,
Item Image (if not slideshow),Item Image (indien nie skyfievertoning nie),
Thumbnail,Duimnaelskets,
Website Specifications,Webwerf spesifikasies,
Show Items,Wys items,
Show Operations,Wys Operasies,
Website Description,Webwerf beskrywing,
BOM Explosion Item,BOM Explosion Item,
Qty Consumed Per Unit,Aantal verbruik per eenheid,
Include Item In Manufacturing,Sluit item by die vervaardiging in,
BOM Item,BOM Item,
Item operation,Item operasie,
Rate & Amount,Tarief en Bedrag,
Basic Rate (Company Currency),Basiese Koers (Maatskappy Geld),
Scrap %,Afval%,
Original Item,Oorspronklike item,
BOM Operation,BOM Operasie,
Operation Time ,Operasietyd,
In minutes,Binne enkele minute,
Batch Size,Bondel grote,
Base Hour Rate(Company Currency),Basissuurkoers (Maatskappy Geld),
Operating Cost(Company Currency),Bedryfskoste (Maatskappy Geld),
BOM Scrap Item,BOM Scrap Item,
Basic Amount (Company Currency),Basiese Bedrag (Maatskappy Geld),
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 &#39;n spesifieke BOM in alle ander BOM&#39;s waar dit gebruik word. Dit sal die ou BOM-skakel vervang, koste hersien en die &quot;BOM Explosion Item&quot; -tafel soos in &#39;n nuwe BOM vervang. Dit werk ook die nuutste prys in al die BOM&#39;s op.",
Replace BOM,Vervang BOM,
Current BOM,Huidige BOM,
The BOM which will be replaced,Die BOM wat vervang sal word,
The new BOM after replacement,Die nuwe BOM na vervanging,
Replace,vervang,
Update latest price in all BOMs,Werk die nuutste prys in alle BOM&#39;s,
BOM Website Item,BOM Webwerf Item,
BOM Website Operation,BOM Website Operasie,
Operation Time,Operasie Tyd,
PO-JOB.#####,PO-baan. #####,
Timing Detail,Tydsberekening,
Time Logs,Tyd logs,
Total Time in Mins,Totale tyd in minute,
Operation ID,Operasie-ID,
Transferred Qty,Oordragte hoeveelheid,
Job Started,Job begin,
Started Time,Begin tyd,
Current Time,Huidige tyd,
Job Card Item,Poskaart Item,
Job Card Time Log,Jobkaart Tydlogboek,
Time In Mins,Tyd in myne,
Completed Qty,Voltooide aantal,
Manufacturing Settings,Vervaardigingsinstellings,
Raw Materials Consumption,Verbruik van grondstowwe,
Allow Multiple Material Consumption,Laat veelvuldige materiaalverbruik toe,
Backflush Raw Materials Based On,Backflush Grondstowwe gebaseer op,
Material Transferred for Manufacture,Materiaal oorgedra vir Vervaardiging,
Capacity Planning,Kapasiteitsbeplanning,
Disable Capacity Planning,Skakel kapasiteitsbeplanning uit,
Allow Overtime,Laat Oortyd toe,
Allow Production on Holidays,Laat produksie toe op vakansie,
Capacity Planning For (Days),Kapasiteitsbeplanning vir (Dae),
Default Warehouses for Production,Standaard pakhuise vir produksie,
Default Work In Progress Warehouse,Verstek werk in voortgang Warehouse,
Default Finished Goods Warehouse,Standaard voltooide goedere pakhuis,
Default Scrap Warehouse,Standaard skroot pakhuis,
Overproduction Percentage For Sales Order,Oorproduksie persentasie vir verkoopsbestelling,
Overproduction Percentage For Work Order,Oorproduksie Persentasie Vir Werk Orde,
Other Settings,Ander instellings,
Update BOM Cost Automatically,Dateer BOM koste outomaties op,
Material Request Plan Item,Materiaal Versoek Plan Item,
Material Request Type,Materiaal Versoek Tipe,
Material Issue,Materiële Uitgawe,
Customer Provided,Kliënt voorsien,
Minimum Order Quantity,Minimum bestelhoeveelheid,
Default Workstation,Verstek werkstasie,
Production Plan,Produksieplan,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Kry items van,
Get Sales Orders,Verkoop bestellings,
Material Request Detail,Materiaal Versoek Detail,
Get Material Request,Kry materiaalversoek,
Material Requests,Materiële Versoeke,
Get Items For Work Order,Kry items vir werkorder,
Material Request Planning,Materiaal Versoek Beplanning,
Include Non Stock Items,Sluit nie-voorraaditems in nie,
Include Subcontracted Items,Sluit onderaannemerte items in,
Ignore Existing Projected Quantity,Ignoreer die bestaande geprojekteerde 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 vir</a> meer inligting oor geprojekteerde hoeveelheid.",
Download Required Materials,Laai vereiste materiale af,
Get Raw Materials For Production,Kry grondstowwe vir produksie,
Total Planned Qty,Totale Beplande Aantal,
Total Produced Qty,Totale vervaardigde hoeveelheid,
Material Requested,Materiaal aangevra,
Production Plan Item,Produksieplan Item,
Make Work Order for Sub Assembly Items,Maak &#39;n werkbestelling vir onderafdelingsitems,
"If enabled, system will create the work order for the exploded items against which BOM is available.","As dit aangeskakel is, sal die stelsel die werkorde skep vir die ontplofde items waarteen die BOM beskikbaar is.",
Planned Start Date,Geplande begin datum,
Quantity and Description,Hoeveelheid en beskrywing,
material_request_item,material_request_item,
Product Bundle Item,Produk Bundel Item,
Production Plan Material Request,Produksieplan Materiaal Versoek,
Production Plan Sales Order,Produksieplan verkope bestelling,
Sales Order Date,Verkoopsvolgorde,
Routing Name,Roeienaam,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Item om te vervaardig,
Material Transferred for Manufacturing,Materiaal oorgedra vir Vervaardiging,
Manufactured Qty,Vervaardigde Aantal,
Use Multi-Level BOM,Gebruik Multi-Level BOM,
Plan material for sub-assemblies,Beplan materiaal vir sub-gemeentes,
Skip Material Transfer to WIP Warehouse,Slaan materiaaloordrag na WIP Warehouse oor,
Check if material transfer entry is not required,Kyk of die invoer van materiaal oorplasing nie nodig is nie,
Backflush Raw Materials From Work-in-Progress Warehouse,Backflush grondstowwe uit werk-in-progress pakhuis,
Update Consumed Material Cost In Project,Opdatering van verbruikte materiaal in die projek,
Warehouses,pakhuise,
This is a location where raw materials are available.,Dit is &#39;n plek waar grondstowwe beskikbaar is.,
Work-in-Progress Warehouse,Werk-in-Progress Warehouse,
This is a location where operations are executed.,Dit is &#39;n plek waar operasies uitgevoer word.,
This is a location where final product stored.,Dit is &#39;n plek waar die finale produk geberg word.,
Scrap Warehouse,Scrap Warehouse,
This is a location where scraped materials are stored.,Dit is &#39;n plek waar afvalmateriaal geberg word.,
Required Items,Vereiste items,
Actual Start Date,Werklike Aanvangsdatum,
Planned End Date,Beplande Einddatum,
Actual End Date,Werklike Einddatum,
Operation Cost,Bedryfskoste,
Planned Operating Cost,Beplande bedryfskoste,
Actual Operating Cost,Werklike Bedryfskoste,
Additional Operating Cost,Bykomende bedryfskoste,
Total Operating Cost,Totale bedryfskoste,
Manufacture against Material Request,Vervaardiging teen materiaal versoek,
Work Order Item,Werk bestelling Item,
Available Qty at Source Warehouse,Beskikbare hoeveelheid by Source Warehouse,
Available Qty at WIP Warehouse,Beskikbare hoeveelheid by WIP Warehouse,
Work Order Operation,Werk Bestelling Operasie,
Operation Description,Operasie Beskrywing,
Operation completed for how many finished goods?,Operasie voltooi vir hoeveel klaarprodukte?,
Work in Progress,Werk aan die gang,
Estimated Time and Cost,Geskatte tyd en koste,
Planned Start Time,Beplande aanvangstyd,
Planned End Time,Beplande eindtyd,
in Minutes,In minute,
Actual Time and Cost,Werklike Tyd en Koste,
Actual Start Time,Werklike Aanvangstyd,
Actual End Time,Werklike Eindtyd,
Updated via 'Time Log',Opgedateer via &#39;Time Log&#39;,
Actual Operation Time,Werklike operasietyd,
in Minutes\nUpdated via 'Time Log',In Notules Opgedateer via &#39;Time Log&#39;,
(Hour Rate / 60) * Actual Operation Time,(Uurtarief / 60) * Werklike operasietyd,
Workstation Name,Werkstasie Naam,
Production Capacity,Produksiekapasiteit,
Operating Costs,Bedryfskoste,
Electricity Cost,Elektrisiteitskoste,
per hour,per uur,
Consumable Cost,Verbruikskoste,
Rent Cost,Huur koste,
Wages,lone,
Wages per hour,Lone per uur,
Net Hour Rate,Netto Uurtarief,
Workstation Working Hour,Werkstasie Werksuur,
Certification Application,Sertifiseringsaansoek,
Name of Applicant,Naam van applikant,
Certification Status,Sertifiseringsstatus,
Yet to appear,Nog om te verskyn,
Certified,gesertifiseerde,
Not Certified,Nie gesertifiseer nie,
USD,dollar,
INR,INR,
Certified Consultant,Gesertifiseerde Konsultant,
Name of Consultant,Naam van Konsultant,
Certification Validity,Sertifiseringsgeldigheid,
Discuss ID,Bespreek ID,
GitHub ID,GitHub ID,
Non Profit Manager,Nie-winsgewende bestuurder,
Chapter Head,Hoof Hoof,
Meetup Embed HTML,Ontmoet HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,hoofstukke / hoofstuknaam laat leeg outomaties ingestel nadat die hoofstuk gestoor is.,
Chapter Members,Hoofletters,
Members,lede,
Chapter Member,Hooflid,
Website URL,URL van die webwerf,
Leave Reason,Verlaat rede,
Donor Name,Skenker Naam,
Donor Type,Skenker tipe,
Withdrawn,Teruggetrokke,
Grant Application Details ,Gee aansoek besonderhede,
Grant Description,Toekennings Beskrywing,
Requested Amount,Gevraagde Bedrag,
Has any past Grant Record,Het enige vorige Grant-rekord,
Show on Website,Wys op die webwerf,
Assessment  Mark (Out of 10),Assesseringspunt (uit 10),
Assessment  Manager,Assesseringsbestuurder,
Email Notification Sent,E-pos kennisgewing gestuur,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Lidmaatskap Vervaldatum,
Razorpay Details,Razorpay Besonderhede,
Subscription ID,Intekening-ID,
Customer ID,Kliënt ID,
Subscription Activated,Intekening geaktiveer,
Subscription Start ,Intekening begin,
Subscription End,Intekening einde,
Non Profit Member,Nie-winsgewende lid,
Membership Status,Lidmaatskapstatus,
Member Since,Lid sedert,
Payment ID,Betalings-ID,
Membership Settings,Lidmaatskapinstellings,
Enable RazorPay For Memberships,Aktiveer RazorPay vir lidmaatskappe,
RazorPay Settings,Razorpay instellings,
Billing Cycle,Fakturasiesiklus,
Billing Frequency,Faktuurfrekwensie,
"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.","Die aantal faktureringsiklusse waarvoor die klant gehef moet word. As &#39;n klant byvoorbeeld &#39;n lidmaatskap van een jaar koop wat maandeliks gefaktureer moet word, moet hierdie waarde 12 wees.",
Razorpay Plan ID,Razorpay-plan-ID,
Volunteer Name,Vrywilliger Naam,
Volunteer Type,Vrywilliger tipe,
Availability and Skills,Beskikbaarheid en Vaardighede,
Availability,beskikbaarheid,
Weekends,naweke,
Availability Timeslot,Beskikbaarheid Tydslot,
Morning,oggend,
Afternoon,middag,
Evening,aand,
Anytime,enige tyd,
Volunteer Skills,Vrywilligersvaardighede,
Volunteer Skill,Vrywilligheidsvaardigheid,
Homepage,tuisblad,
Hero Section Based On,Heldeafdeling gebaseer op,
Homepage Section,Tuisblad Afdeling,
Hero Section,Heldeseksie,
Tag Line,Tag Line,
Company Tagline for website homepage,Maatskappynaam vir webwerf tuisblad,
Company Description for website homepage,Maatskappybeskrywing vir webwerf tuisblad,
Homepage Slideshow,Tuisblad-skyfievertoning,
"URL for ""All Products""",URL vir &quot;Alle Produkte&quot;,
Products to be shown on website homepage,Produkte wat op die tuisblad van die webwerf gewys word,
Homepage Featured Product,Tuisblad Voorgestelde Produk,
route,roete,
Section Based On,Afdeling gebaseer op,
Section Cards,Afdelingskaarte,
Number of Columns,Aantal kolomme,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Aantal kolomme vir hierdie afdeling. 3 kaarte sal per ry gewys word as u 3 kolomme kies.,
Section HTML,Afdeling HTML,
Use this field to render any custom HTML in the section.,Gebruik hierdie veld om enige aangepaste HTML in die afdeling weer te gee.,
Section Order,Afdelingsbevel,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Bestel in watter afdelings moet verskyn. 0 is eerste, 1 is tweede en so aan.",
Homepage Section Card,Tuisblad Afdelingskaart,
Subtitle,Subtitle,
Products Settings,Produkte instellings,
Home Page is Products,Tuisblad is Produkte,
"If checked, the Home page will be the default Item Group for the website","As dit gekontroleer is, sal die Tuisblad die standaard Itemgroep vir die webwerf wees",
Show Availability Status,Wys Beskikbaarheid Status,
Product Page,Produkbladsy,
Products per Page,Produkte per bladsy,
Enable Field Filters,Aktiveer veldfilters,
Item Fields,Itemvelde,
Enable Attribute Filters,Aktiveer kenmerkfilters,
Attributes,eienskappe,
Hide Variants,Versteek variante,
Website Attribute,Webwerfkenmerk,
Attribute,kenmerk,
Website Filter Field,Webwerf-filterveld,
Activity Cost,Aktiwiteitskoste,
Billing Rate,Rekeningkoers,
Costing Rate,Kostekoers,
title,Titel,
Projects User,Projekte Gebruiker,
Default Costing Rate,Verstekkoste,
Default Billing Rate,Standaard faktuurkoers,
Dependent Task,Afhanklike taak,
Project Type,Projek Type,
% Complete Method,% Volledige metode,
Task Completion,Taak voltooiing,
Task Progress,Taak vordering,
% Completed,% Voltooi,
From Template,Van die sjabloon,
Project will be accessible on the website to these users,Projek sal op hierdie webwerf toeganklik wees,
Copied From,Gekopieer vanaf,
Start and End Dates,Begin en einddatums,
Actual Time in Hours (via Timesheet),Werklike tyd (in ure),
Costing and Billing,Koste en faktuur,
Total Costing Amount (via Timesheet),Totale kosteberekening (via tydskrifte),
Total Expense Claim (via Expense Claim),Totale koste-eis (via koste-eise),
Total Purchase Cost (via Purchase Invoice),Totale Aankoopprys (via Aankoopfaktuur),
Total Sales Amount (via Sales Order),Totale verkoopsbedrag (via verkoopsbestelling),
Total Billable Amount (via Timesheet),Totale Rekeninge Bedrag (via Tydstate),
Total Billed Amount (via Sales Invoice),Totale gefaktureerde bedrag (via verkoopsfakture),
Total Consumed Material Cost (via Stock Entry),Totale verbruikte materiaalkoste (via voorraadinskrywing),
Gross Margin,Bruto Marge,
Gross Margin %,Bruto Marge%,
Monitor Progress,Monitor vordering,
Collect Progress,Versamel vordering,
Frequency To Collect Progress,Frekwensie om vordering te versamel,
Twice Daily,Twee keer per dag,
First Email,Eerste e-pos,
Second Email,Tweede e-pos,
Time to send,Tyd om te stuur,
Day to Send,Dag om te stuur,
Message will be sent to the users to get their status on the Project,&#39;N Boodskap sal aan die gebruikers gestuur word om hul status op die projek te kry,
Projects Manager,Projekbestuurder,
Project Template,Projekmal,
Project Template Task,Projekvorm-taak,
Begin On (Days),Begin (dae),
Duration (Days),Duur (dae),
Project Update,Projekopdatering,
Project User,Projekgebruiker,
View attachments,Bekyk aanhangsels,
Projects Settings,Projekte Instellings,
Ignore Workstation Time Overlap,Ignoreer werkstasie-tyd oorvleuel,
Ignore User Time Overlap,Ignoreer oorbrugging van gebruikers tyd,
Ignore Employee Time Overlap,Ignoreer werknemersydsoorlap,
Weight,gewig,
Parent Task,Ouertaak,
Timeline,tydlyn,
Expected Time (in hours),Verwagte Tyd (in ure),
% Progress,% Vordering,
Is Milestone,Is Milestone,
Task Description,Taakbeskrywing,
Dependencies,afhanklikhede,
Dependent Tasks,Afhanklike take,
Depends on Tasks,Hang af van take,
Actual Start Date (via Timesheet),Werklike Aanvangsdatum (via Tydblad),
Actual Time in Hours (via Timesheet),Werklike tyd (in ure),
Actual End Date (via Timesheet),Werklike Einddatum (via Tydblad),
Total Expense Claim (via Expense Claim),Totale koste-eis (via koste-eis),
Review Date,Hersieningsdatum,
Closing Date,Sluitingsdatum,
Task Depends On,Taak hang af,
Task Type,Taak tipe,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Werknemersbesonderhede,
Billing Details,Rekeningbesonderhede,
Total Billable Hours,Totale billike ure,
Total Billed Hours,Totale gefaktureerde ure,
Total Costing Amount,Totale kosteberekening,
Total Billable Amount,Totale betaalbare bedrag,
Total Billed Amount,Totale gefactureerde bedrag,
% Amount Billed,% Bedrag gefaktureer,
Hrs,ure,
Costing Amount,Kosteberekening,
Corrective/Preventive,Korrektiewe / voorkomende,
Corrective,korrektiewe,
Preventive,voorkomende,
Resolution,resolusie,
Resolutions,resolusies,
Quality Action Resolution,Kwaliteit-aksie-resolusie,
Quality Feedback Parameter,Kwaliteit-terugvoerparameter,
Quality Feedback Template Parameter,Parameter vir gehalte-terugvoersjabloon,
Quality Goal,Kwaliteit doel,
Monitoring Frequency,Monitor frekwensie,
Weekday,weekdag,
Objectives,doelwitte,
Quality Goal Objective,Kwaliteit Doelwit,
Objective,Doel,
Agenda,agenda,
Minutes,Minute,
Quality Meeting Agenda,Agenda vir gehalte vergadering,
Quality Meeting Minutes,Vergaderminute van gehalte,
Minute,minuut,
Parent Procedure,Ouerprosedure,
Processes,prosesse,
Quality Procedure Process,Kwaliteit prosedure proses,
Process Description,Prosesbeskrywing,
Link existing Quality Procedure.,Koppel die bestaande kwaliteitsprosedure.,
Additional Information,Bykomende inligting,
Quality Review Objective,Doel van gehaltehersiening,
DATEV Settings,DATEV-instellings,
Regional,plaaslike,
Consultant ID,Konsultant-ID,
GST HSN Code,GST HSN-kode,
HSN Code,HSN-kode,
GST Settings,GST instellings,
GST Summary,GST Opsomming,
GSTIN Email Sent On,GSTIN E-pos gestuur aan,
GST Accounts,GST Rekeninge,
B2C Limit,B2C Limiet,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Stel die faktuurwaarde vir B2C in. B2CL en B2CS bereken op grond van hierdie faktuurwaarde.,
GSTR 3B Report,GSTR 3B-verslag,
January,Januarie,
February,Februarie,
March,Maart,
April,April,
August,Augustus,
September,September,
October,Oktober,
November,November,
December,Desember,
JSON Output,JSON uitset,
Invoices with no Place Of Supply,Fakture sonder plek van aanbod,
Import Supplier Invoice,Voer faktuur vir verskaffers in,
Invoice Series,Faktuurreeks,
Upload XML Invoices,Laai XML-fakture op,
Zip File,Ritslêer,
Import Invoices,Voer fakture in,
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 die invoerfakture-knoppie sodra die zip-lêer aan die dokument geheg is. Enige foute wat met die verwerking verband hou, sal in die Foutlogboek gewys word.",
Lower Deduction Certificate,Laer aftrekkingsertifikaat,
Certificate Details,Sertifikaatbesonderhede,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194I,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,Sertifikaat nr,
Deductee Details,Afgetekende besonderhede,
PAN No,PAN Nee,
Validity Details,Geldigheid Besonderhede,
Rate Of TDS As Per Certificate,Koers van TDS volgens sertifikaat,
Certificate Limit,Sertifikaatlimiet,
Invoice Series Prefix,Faktuurreeksvoorvoegsel,
Active Menu,Aktiewe kieslys,
Restaurant Menu,Restaurant Menu,
Price List (Auto created),Pryslys (Outomaties geskep),
Restaurant Manager,Restaurant Bestuurder,
Restaurant Menu Item,Restaurant Menu Item,
Restaurant Order Entry,Restaurant bestellinginskrywing,
Restaurant Table,Restaurant Tafel,
Click Enter To Add,Klik op Enter om by te voeg,
Last Sales Invoice,Laaste Verkoopfaktuur,
Current Order,Huidige bestelling,
Restaurant Order Entry Item,Restaurant bestellinginskrywing item,
Served,Bedien,
Restaurant Reservation,Restaurant bespreking,
Waitlisted,waglys,
No Show,Geen vertoning,
No of People,Aantal mense,
Reservation Time,Besprekingstyd,
Reservation End Time,Besprekings eindtyd,
No of Seats,Aantal plekke,
Minimum Seating,Minimum sitplek,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Hou tred met verkoopsveldtogte. Bly op hoogte van leidrade, kwotasies, verkoopsvolgorde, ens. Van veldtogte om opbrengs op belegging te meet.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Veldtogskedules,
Buyer of Goods and Services.,Koper van goedere en dienste.,
CUST-.YYYY.-,Cust-.YYYY.-,
Default Company Bank Account,Standaard bankrekening by die maatskappy,
From Lead,Van Lood,
Account Manager,Rekeningbestuurder,
Allow Sales Invoice Creation Without Sales Order,Laat skepping van verkoopfakture toe sonder verkooporder,
Allow Sales Invoice Creation Without Delivery Note,Laat skepping van verkoopfakture toe sonder afleweringsnota,
Default Price List,Standaard pryslys,
Primary Address and Contact Detail,Primêre adres en kontakbesonderhede,
"Select, to make the customer searchable with these fields","Kies, om die kliënt soekbaar te maak met hierdie velde",
Customer Primary Contact,Kliënt Primêre Kontak,
"Reselect, if the chosen contact is edited after save","Herstel, indien die gekose kontak na redigeer geredigeer word",
Customer Primary Address,Primêre adres van die kliënt,
"Reselect, if the chosen address is edited after save","Herstel, as die gekose adres geredigeer word na die stoor",
Primary Address,Primêre adres,
Mention if non-standard receivable account,Noem as nie-standaard ontvangbare rekening,
Credit Limit and Payment Terms,Kredietlimiet en Betaalvoorwaardes,
Additional information regarding the customer.,Bykomende inligting rakende die kliënt.,
Sales Partner and Commission,Verkoopsvennoot en Kommissie,
Commission Rate,Kommissie Koers,
Sales Team Details,Verkoopspanbesonderhede,
Customer POS id,Kliënt se pos-ID,
Customer Credit Limit,Kredietkredietlimiet,
Bypass Credit Limit Check at Sales Order,Omskakel krediet limiet tjek by verkope bestelling,
Industry Type,Nywerheidstipe,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Installasie Datum,
Installation Time,Installasie Tyd,
Installation Note Item,Installasie Nota Item,
Installed Qty,Geïnstalleerde hoeveelheid,
Lead Source,Loodbron,
Period Start Date,Periode Begin Datum,
Period End Date,Periode Einddatum,
Cashier,kassier,
Difference,verskil,
Modes of Payment,Modes van betaling,
Linked Invoices,Gekoppelde fakture,
POS Closing Voucher Details,POS sluitingsbewysbesonderhede,
Collected Amount,Versamel bedrag,
Expected Amount,Verwagte bedrag,
POS Closing Voucher Invoices,POS sluitingsbewysfakture,
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 &#39;n ander ** Item **. Dit is handig as u &#39;n sekere ** Items ** in &#39;n pakket bundel en u voorraad van die verpakte ** Items ** en nie die totale ** Item ** handhaaf nie. Die pakket ** Item ** sal &quot;Is Voorraaditem&quot; as &quot;Nee&quot; en &quot;Is Verkoop Item&quot; as &quot;Ja&quot; wees. Byvoorbeeld: As jy afsonderlik &#39;n skootrekenaar en rugsak verkoop en &#39;n spesiale prys het as die kliënt koop, dan is die Laptop + Backpack &#39;n nuwe produkpakket. Nota: BOM = Materiaal",
Parent Item,Ouer Item,
List items that form the package.,Lys items wat die pakket vorm.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Aanhaling aan,
Rate at which customer's currency is converted to company's base currency,Beoordeel by watter kliënt se geldeenheid omgeskakel word na die maatskappy se basiese geldeenheid,
Rate at which Price list currency is converted to company's base currency,Koers waarteen Pryslys geldeenheid omgeskakel word na die maatskappy se basiese geldeenheid,
Additional Discount and Coupon Code,Bykomende afslag- en koeponkode,
Referral Sales Partner,Verwysingsvennoot,
In Words will be visible once you save the Quotation.,In Woorde sal sigbaar wees sodra jy die Kwotasie stoor.,
Term Details,Termyn Besonderhede,
Quotation Item,Kwotasie Item,
Against Doctype,Teen Doctype,
Against Docname,Teen Docname,
Additional Notes,Bykomende notas,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Slaan afleweringsnota oor,
In Words will be visible once you save the Sales Order.,In Woorde sal sigbaar wees sodra jy die verkoopsbestelling stoor.,
Track this Sales Order against any Project,Volg hierdie verkope bestelling teen enige projek,
Billing and Delivery Status,Rekening- en afleweringsstatus,
Not Delivered,Nie afgelewer nie,
Fully Delivered,Volledig afgelewer,
Partly Delivered,Gedeeltelik afgelewer,
Not Applicable,Nie van toepassing nie,
%  Delivered,% Afgelewer,
% of materials delivered against this Sales Order,% materiaal wat teen hierdie verkope bestelling afgelewer word,
% of materials billed against this Sales Order,% van die materiaal wat teen hierdie verkope bestel is,
Not Billed,Nie gefaktureer nie,
Fully Billed,Volledig gefaktureer,
Partly Billed,Gedeeltelik gefaktureer,
Ensure Delivery Based on Produced Serial No,Verseker lewering gebaseer op Geproduseerde Serienommer,
Supplier delivers to Customer,Verskaffer lewer aan die kliënt,
Delivery Warehouse,Delivery Warehouse,
Planned Quantity,Beplande hoeveelheid,
For Production,Vir Produksie,
Work Order Qty,Werk Bestel Aantal,
Produced Quantity,Geproduceerde Hoeveelheid,
Used for Production Plan,Gebruik vir Produksieplan,
Sales Partner Type,Verkoopsvennote,
Contact No.,Kontaknommer.,
Contribution (%),Bydrae (%),
Contribution to Net Total,Bydrae tot netto totaal,
Selling Settings,Verkoop instellings,
Settings for Selling Module,Instellings vir Verkoop Module,
Customer Naming By,Kliëntbenaming By,
Campaign Naming By,Veldtog naam deur,
Default Customer Group,Verstek kliënt groep,
Default Territory,Standaard Territorium,
Close Opportunity After Days,Sluit geleentheid na dae,
Default Quotation Validity Days,Standaard Kwotasie Geldigheidsdae,
Sales Update Frequency,Verkope Update Frekwensie,
Each Transaction,Elke transaksie,
SMS Center,Sms sentrum,
Send To,Stuur na,
All Contact,Alle Kontak,
All Customer Contact,Alle kliënte kontak,
All Supplier Contact,Alle Verskaffer Kontak,
All Sales Partner Contact,Alle verkope vennote kontak,
All Lead (Open),Alle Lood (Oop),
All Employee (Active),Alle werknemer (aktief),
All Sales Person,Alle Verkoopspersoon,
Create Receiver List,Skep Ontvanger Lys,
Receiver List,Ontvanger Lys,
Messages greater than 160 characters will be split into multiple messages,Boodskappe groter as 160 karakters word in verskeie boodskappe verdeel,
Total Characters,Totale karakters,
Total Message(s),Totale boodskap (s),
Authorization Control,Magtigingskontrole,
Authorization Rule,Magtigingsreël,
Average Discount,Gemiddelde afslag,
Customerwise Discount,Kliënte afslag,
Itemwise Discount,Itemwise Korting,
Customer or Item,Kliënt of Item,
Customer / Item Name,Kliënt / Item Naam,
Authorized Value,Gemagtigde Waarde,
Applicable To (Role),Toepasbaar op (Rol),
Applicable To (Employee),Toepasbaar op (Werknemer),
Applicable To (User),Toepaslik op (Gebruiker),
Applicable To (Designation),Toepaslik by (Aanwysing),
Approving Role (above authorized value),Goedkeurende rol (bo gemagtigde waarde),
Approving User  (above authorized value),Goedkeuring gebruiker (bo gemagtigde waarde),
Brand Defaults,Handelsmerk verstek,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Regspersoon / Filiaal met &#39;n afsonderlike Kaart van Rekeninge wat aan die Organisasie behoort.,
Change Abbreviation,Verander Afkorting,
Parent Company,Ouer maatskappy,
Default Values,Verstekwaardes,
Default Holiday List,Verstek Vakansie Lys,
Default Selling Terms,Standaard verkoopvoorwaardes,
Default Buying Terms,Standaard koopvoorwaardes,
Create Chart Of Accounts Based On,Skep grafiek van rekeninge gebaseer op,
Standard Template,Standaard Sjabloon,
Existing Company,Bestaande maatskappy,
Chart Of Accounts Template,Sjabloon van rekeninge,
Existing Company ,Bestaande Maatskappy,
Date of Establishment,Datum van vestiging,
Sales Settings,Verkoopinstellings,
Monthly Sales Target,Maandelikse verkoopsdoel,
Sales Monthly History,Verkope Maandelikse Geskiedenis,
Transactions Annual History,Transaksies Jaarlikse Geskiedenis,
Total Monthly Sales,Totale maandelikse verkope,
Default Cash Account,Standaard kontantrekening,
Default Receivable Account,Verstek ontvangbare rekening,
Round Off Cost Center,Round Off Koste Sentrum,
Discount Allowed Account,Rekening met afslag toegestaan,
Discount Received Account,Afslagrekening ontvang,
Exchange Gain / Loss Account,Uitruil wins / verlies rekening,
Unrealized Exchange Gain/Loss Account,Ongerealiseerde Uitruilverhoging / Verliesrekening,
Allow Account Creation Against Child Company,Laat die skepping van rekeninge toe teen kinderondernemings,
Default Payable Account,Verstekbetaalbare rekening,
Default Employee Advance Account,Verstekpersoneelvoorskotrekening,
Default Cost of Goods Sold Account,Verstek koste van goedere verkoop rekening,
Default Income Account,Standaard Inkomsterekening,
Default Deferred Revenue Account,Verstek Uitgestelde Inkomsterekening,
Default Deferred Expense Account,Standaard Uitgestelde Uitgawe Rekening,
Default Payroll Payable Account,Standaard betaalstaat betaalbare rekening,
Default Expense Claim Payable Account,Verstek-eis betaalbare rekening,
Stock Settings,Voorraadinstellings,
Enable Perpetual Inventory,Aktiveer Perpetual Inventory,
Default Inventory Account,Verstek voorraad rekening,
Stock Adjustment Account,Voorraadaanpassingsrekening,
Fixed Asset Depreciation Settings,Vaste bate Waardevermindering instellings,
Series for Asset Depreciation Entry (Journal Entry),Reeks vir Bate Waardevermindering Inskrywing (Joernaal Inskrywing),
Gain/Loss Account on Asset Disposal,Wins / Verliesrekening op Bateverkope,
Asset Depreciation Cost Center,Bate Waardevermindering Koste Sentrum,
Budget Detail,Begrotingsbesonderhede,
Exception Budget Approver Role,Uitsondering Begroting Goedkeuringsrol,
Company Info,Maatskappyinligting,
For reference only.,Slegs vir verwysing.,
Company Logo,Maatskappy Logo,
Date of Incorporation,Datum van inkorporasie,
Date of Commencement,Aanvangsdatum,
Phone No,Telefoon nommer,
Company Description,Maatskappybeskrywing,
Registration Details,Registrasie Besonderhede,
Company registration numbers for your reference. Tax numbers etc.,"Maatskappy registrasienommers vir u verwysing. Belastingnommers, ens.",
Delete Company Transactions,Verwyder maatskappytransaksies,
Currency Exchange,Geldwissel,
Specify Exchange Rate to convert one currency into another,Spesifiseer wisselkoers om een geldeenheid om te skakel na &#39;n ander,
From Currency,Van Geld,
To Currency,Om te Valuta,
For Buying,Vir koop,
For Selling,Vir verkoop,
Customer Group Name,Kliënt Groep Naam,
Parent Customer Group,Ouer Kliëntegroep,
Only leaf nodes are allowed in transaction,Slegs blaar nodusse word in transaksie toegelaat,
Mention if non-standard receivable account applicable,Noem as nie-standaard ontvangbare rekening van toepassing is,
Credit Limits,Kredietlimiete,
Email Digest,Email Digest,
Send regular summary reports via Email.,Stuur gereelde opsommingsverslae per e-pos.,
Email Digest Settings,Email Digest Settings,
How frequently?,Hoe gereeld?,
Next email will be sent on:,Volgende e-pos sal gestuur word op:,
Note: Email will not be sent to disabled users,Nota: E-pos sal nie na gestremde gebruikers gestuur word nie,
Profit & Loss,Wins en verlies,
New Income,Nuwe inkomste,
New Expenses,Nuwe uitgawes,
Annual Income,Jaarlikse inkomste,
Annual Expenses,Jaarlikse uitgawes,
Bank Balance,Bankbalans,
Bank Credit Balance,Bankkredietbalans,
Receivables,debiteure,
Payables,krediteure,
Sales Orders to Bill,Verkoopsbestellings na rekening,
Purchase Orders to Bill,Aankooporders na rekening,
New Sales Orders,Nuwe verkope bestellings,
New Purchase Orders,Nuwe bestellings,
Sales Orders to Deliver,Verkoopsbestellings om te lewer,
Purchase Orders to Receive,Aankooporders om te ontvang,
New Purchase Invoice,Nuwe aankoopfaktuur,
New Quotations,Nuwe aanhalings,
Open Quotations,Oop Kwotasies,
Open Issues,Oop uitgawes,
Open Projects,Oop projekte,
Purchase Orders Items Overdue,Aankooporders Items agterstallig,
Upcoming Calendar Events,Komende kalendergeleenthede,
Open To Do,Oop om te doen,
Add Quote,Voeg kwotasie by,
Global Defaults,Globale verstek,
Default Company,Verstek Maatskappy,
Current Fiscal Year,Huidige fiskale jaar,
Default Distance Unit,Verstekafstandeenheid,
Hide Currency Symbol,Versteek geldeenheid simbool,
Do not show any symbol like $ etc next to currencies.,Moenie enige simbool soos $ ens langs die geldeenhede wys nie.,
"If disable, 'Rounded Total' field will not be visible in any transaction","As afskakel, sal die veld &#39;Afgeronde Totaal&#39; nie sigbaar wees in enige transaksie nie",
Disable In Words,Deaktiveer in woorde,
"If disable, 'In Words' field will not be visible in any transaction","As dit gedeaktiveer word, sal &#39;In Woorde&#39;-veld nie sigbaar wees in enige transaksie nie",
Item Classification,Item Klassifikasie,
General Settings,Algemene instellings,
Item Group Name,Itemgroep Naam,
Parent Item Group,Ouer Item Groep,
Item Group Defaults,Itemgroep verstek,
Item Tax,Itembelasting,
Check this if you want to show in website,Kontroleer dit as jy op die webwerf wil wys,
Show this slideshow at the top of the page,Wys hierdie skyfievertoning bo-aan die bladsy,
HTML / Banner that will show on the top of product list.,HTML / Banner wat op die top van die produklys verskyn.,
Set prefix for numbering series on your transactions,Stel voorvoegsel vir nommering van reekse op u transaksies,
Setup Series,Opstelreeks,
Update Series,Update Series,
Change the starting / current sequence number of an existing series.,Verander die begin- / huidige volgordenommer van &#39;n bestaande reeks.,
Quotation Lost Reason,Kwotasie Verlore Rede,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,&#39;N Derdeparty verspreider / handelaar / kommissie agent / geaffilieerde / reseller wat die maatskappye produkte vir &#39;n kommissie verkoop.,
Sales Partner Name,Verkope Vennoot Naam,
Partner Type,Vennoot Tipe,
Address & Contacts,Adres &amp; Kontakte,
Address Desc,Adres Beskrywing,
Contact Desc,Kontak Desc,
Sales Partner Target,Verkoopsvennoteiken,
Targets,teikens,
Show In Website,Wys op die webwerf,
Referral Code,Verwysingskode,
To Track inbound purchase,Om inkomende aankope op te spoor,
Logo,logo,
Partner website,Vennoot webwerf,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Alle verkoops transaksies kan gemerk word teen verskeie ** Verkope Persone ** sodat u teikens kan stel en monitor.,
Name and Employee ID,Naam en Werknemer ID,
Sales Person Name,Verkooppersoon Naam,
Parent Sales Person,Ouer Verkoopspersoon,
Select company name first.,Kies die maatskappy se naam eerste.,
Sales Person Targets,Verkope persoon teikens,
Set targets Item Group-wise for this Sales Person.,Stel teikens itemgroep-wys vir hierdie verkoopspersoon.,
Supplier Group Name,Verskaffer Groep Naam,
Parent Supplier Group,Ouer Verskaffersgroep,
Target Detail,Teikenbesonderhede,
Target Qty,Teiken Aantal,
Target  Amount,Teikenbedrag,
Target Distribution,Teikenverspreiding,
"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.","Standaard bepalings en voorwaardes wat by verkope en aankope gevoeg kan word. Voorbeelde: 1. Geldigheid van die aanbod. 1. Betalingsvoorwaardes (Vooraf, Op Krediet, Voorskotte, ens.). 1. Wat is ekstra (of betaalbaar deur die kliënt). 1. Veiligheid / gebruik waarskuwing. 1. Waarborg indien enige. 1. Retourbeleid. 1. Voorwaardes van verskeping, indien van toepassing. 1. Maniere om geskille, skadeloosstelling, aanspreeklikheid, ens. Aan te spreek. 1. Adres en kontak van u maatskappy.",
Applicable Modules,Toepaslike modules,
Terms and Conditions Help,Terme en voorwaardes Help,
Classification of Customers by region,Klassifikasie van kliënte volgens streek,
Territory Name,Territorium Naam,
Parent Territory,Ouergebied,
Territory Manager,Territory Manager,
For reference,Vir verwysing,
Territory Targets,Territoriese teikens,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Stel Item Groep-wyse begrotings op hierdie Territory. U kan ook seisoenaliteit insluit deur die Verspreiding te stel.,
UOM Name,UOM Naam,
Check this to disallow fractions. (for Nos),Kontroleer dit om breuke te ontbreek. (vir Nos),
Website Item Group,Webtuiste Itemgroep,
Cross Listing of Item in multiple groups,Kruis lys van items in verskeie groepe,
Default settings for Shopping Cart,Verstek instellings vir die winkelwagentje,
Enable Shopping Cart,Aktiveer inkopiesentrum,
Display Settings,Vertoon opsies,
Show Public Attachments,Wys publieke aanhangsels,
Show Price,Wys prys,
Show Stock Availability,Toon voorraad beskikbaarheid,
Show Contact Us Button,Wys Kontak ons-knoppie,
Show Stock Quantity,Toon Voorraad Hoeveelheid,
Show Apply Coupon Code,Toon Pas koeponkode toe,
Allow items not in stock to be added to cart,"Laat toe dat items wat nie op voorraad is nie, in die mandjie gevoeg word",
Prices will not be shown if Price List is not set,Pryse sal nie getoon word indien Pryslys nie vasgestel is nie,
Quotation Series,Kwotasie Reeks,
Checkout Settings,Checkout instellings,
Enable Checkout,Aktiveer Checkout,
Payment Success Url,Betaal Sukses-URL,
After payment completion redirect user to selected page.,Na betaling voltooiing herlei gebruiker na geselekteerde bladsy.,
Batch Details,Bondelbesonderhede,
Batch ID,Lot ID,
image,Image,
Parent Batch,Ouer-bondel,
Manufacturing Date,Vervaardigingsdatum,
Batch Quantity,Bondelhoeveelheid,
Batch UOM,Bondel UOM,
Source Document Type,Bron dokument tipe,
Source Document Name,Bron dokument naam,
Batch Description,Batch Beskrywing,
Bin,bin,
Reserved Quantity,Gereserveerde hoeveelheid,
Actual Quantity,Werklike Hoeveelheid,
Requested Quantity,Gevraagde Hoeveelheid,
Reserved Qty for sub contract,Gereserveerde hoeveelheid vir subkontrak,
Moving Average Rate,Beweeg gemiddelde koers,
FCFS Rate,FCFS-tarief,
Customs Tariff Number,Doeanetariefnommer,
Tariff Number,Tariefnommer,
Delivery To,Aflewering aan,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,Is Terug,
Issue Credit Note,Uitgawe Kredietnota,
Return Against Delivery Note,Keer terug na afleweringsnota,
Customer's Purchase Order No,Kliënt se bestellingnommer,
Billing Address Name,Rekening Adres Naam,
Required only for sample item.,Slegs benodig vir monsteritem.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","As jy &#39;n standaard sjabloon geskep het in die Verkoopsbelasting- en Heffingsjabloon, kies een en klik op die knoppie hieronder.",
In Words will be visible once you save the Delivery Note.,In Woorde sal sigbaar wees sodra jy die Afleweringsnota stoor.,
In Words (Export) will be visible once you save the Delivery Note.,In Woorde (Uitvoer) sal sigbaar wees sodra jy die Afleweringsnota stoor.,
Transporter Info,Transporter Info,
Driver Name,Bestuurder Naam,
Track this Delivery Note against any Project,Volg hierdie Afleweringsnota teen enige Projek,
Inter Company Reference,Intermaatskappy verwysing,
Print Without Amount,Druk Sonder Bedrag,
% Installed,% Geïnstalleer,
% of materials delivered against this Delivery Note,% materiaal wat teen hierdie afleweringsnota afgelewer word,
Installation Status,Installasie Status,
Excise Page Number,Aksyns Bladsy Nommer,
Instructions,instruksies,
From Warehouse,Uit pakhuis,
Against Sales Order,Teen verkoopsbestelling,
Against Sales Order Item,Teen Verkooporder Item,
Against Sales Invoice,Teen Verkoopfaktuur,
Against Sales Invoice Item,Teen Verkoopsfaktuur Item,
Available Batch Qty at From Warehouse,Beskikbare joernaal by From Warehouse,
Available Qty at From Warehouse,Beskikbare hoeveelheid by From Warehouse,
Delivery Settings,Afleweringsinstellings,
Dispatch Settings,Versending instellings,
Dispatch Notification Template,Versending Kennisgewings Sjabloon,
Dispatch Notification Attachment,Versending Kennisgewing Aanhegsel,
Leave blank to use the standard Delivery Note format,Los leeg om die standaard afleweringsnotasformaat te gebruik,
Send with Attachment,Stuur met aanhangsel,
Delay between Delivery Stops,Vertraag tussen afleweringstoppies,
Delivery Stop,Afleweringstop,
Lock,sluit,
Visited,besoek,
Order Information,Bestel inligting,
Contact Information,Kontak inligting,
Email sent to,E-pos gestuur na,
Dispatch Information,Versending Inligting,
Estimated Arrival,Geskatte aankoms,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Aanvanklike e-pos kennisgewing gestuur,
Delivery Details,Afleweringsbesonderhede,
Driver Email,Bestuurder-e-pos,
Driver Address,Bestuurder se adres,
Total Estimated Distance,Totale beraamde afstand,
Distance UOM,Afstand UOM,
Departure Time,Vertrektyd,
Delivery Stops,Afleweringstop,
Calculate Estimated Arrival Times,Bereken die beraamde aankomstye,
Use Google Maps Direction API to calculate estimated arrival times,Gebruik Google Maps Direction API om beraamde aankomstye te bereken,
Optimize Route,Optimeer roete,
Use Google Maps Direction API to optimize route,Gebruik Google Maps Direction API om die roete te optimaliseer,
In Transit,Onderweg,
Fulfillment User,Vervulling gebruiker,
"A Product or a Service that is bought, sold or kept in stock.","&#39;N Produk of &#39;n Diens wat gekoop, verkoop of in voorraad gehou word.",
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","As die item &#39;n variant van &#39;n ander item is, sal beskrywing, beeld, prys, belasting ens van die sjabloon gestel word tensy dit spesifiek gespesifiseer word",
Is Item from Hub,Is item van hub,
Default Unit of Measure,Standaard eenheid van maatreël,
Maintain Stock,Onderhou Voorraad,
Standard Selling Rate,Standaard verkoopkoers,
Auto Create Assets on Purchase,Skep bates outomaties by aankoop,
Asset Naming Series,Asset Naming Series,
Over Delivery/Receipt Allowance (%),Toelaag vir oorlewering / ontvangs (%),
Barcodes,barcodes,
Shelf Life In Days,Raklewe in dae,
End of Life,Einde van die lewe,
Default Material Request Type,Standaard Materiaal Versoek Tipe,
Valuation Method,Waardasie metode,
FIFO,EIEU,
Moving Average,Beweeg gemiddeld,
Warranty Period (in days),Garantie Periode (in dae),
Auto re-order,Outo herbestel,
Reorder level based on Warehouse,Herbestel vlak gebaseer op Warehouse,
Will also apply for variants unless overridden,Sal ook aansoek doen vir variante tensy dit oortree word,
Units of Measure,Eenhede van maatreël,
Will also apply for variants,Sal ook aansoek doen vir variante,
Serial Nos and Batches,Serial Nos and Batches,
Has Batch No,Het lotnommer,
Automatically Create New Batch,Skep outomaties nuwe bondel,
Batch Number Series,Lotnommer Serie,
"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. #####. As reeksreeks ingestel is en Batchnommer nie in transaksies genoem word nie, sal outomatiese joernaalnommer geskep word op grond van hierdie reeks. As jy dit altyd wil spesifiseer, moet jy dit loslaat. Let wel: hierdie instelling sal prioriteit geniet in die voorkeuraam van die naamreeks in voorraadinstellings.",
Has Expiry Date,Het vervaldatum,
Retain Sample,Behou monster,
Max Sample Quantity,Max Sample Hoeveelheid,
Maximum sample quantity that can be retained,Maksimum monster hoeveelheid wat behou kan word,
Has Serial No,Het &#39;n serienummer,
Serial Number Series,Serial Number Series,
"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. ##### As reeks is ingestel en Serienommer nie in transaksies genoem word nie, sal outomatiese reeksnommer op grond van hierdie reeks geskep word. As u altyd Serial Nos vir hierdie item wil noem, wil u dit altyd noem. laat dit leeg.",
Variants,variante,
Has Variants,Het Varianten,
"If this item has variants, then it cannot be selected in sales orders etc.","As hierdie item variante het, kan dit nie in verkoopsorders ens gekies word nie.",
Variant Based On,Variant gebaseer op,
Item Attribute,Item Attribuut,
"Sales, Purchase, Accounting Defaults","Verkope, Aankoop, Rekeningkundige Standaard",
Item Defaults,Item Standaard,
"Purchase, Replenishment Details","Aankope, aanvullingsbesonderhede",
Is Purchase Item,Is Aankoop Item,
Default Purchase Unit of Measure,Verstek aankoopeenheid van maatreël,
Minimum Order Qty,Minimum bestelhoeveelheid,
Minimum quantity should be as per Stock UOM,Die minimum hoeveelheid moet soos per voorraad UOM wees,
Average time taken by the supplier to deliver,Gemiddelde tyd wat deur die verskaffer geneem word om te lewer,
Is Customer Provided Item,Word die kliënt voorsien,
Delivered by Supplier (Drop Ship),Aflewer deur verskaffer (Drop Ship),
Supplier Items,Verskaffer Items,
Foreign Trade Details,Buitelandse Handel Besonderhede,
Country of Origin,Land van oorsprong,
Sales Details,Verkoopsbesonderhede,
Default Sales Unit of Measure,Standaard verkoopseenheid van maatreël,
Is Sales Item,Is verkoopitem,
Max Discount (%),Maksimum afslag (%),
No of Months,Aantal maande,
Customer Items,Kliënt Items,
Inspection Criteria,Inspeksiekriteria,
Inspection Required before Purchase,Inspeksie Vereis Voor Aankope,
Inspection Required before Delivery,Inspeksie benodig voor aflewering,
Default BOM,Standaard BOM,
Supply Raw Materials for Purchase,Voorsien grondstowwe vir aankoop,
If subcontracted to a vendor,As onderaannemer aan &#39;n ondernemer,
Customer Code,Kliënt Kode,
Default Item Manufacturer,Standaardvervaardiger,
Default Manufacturer Part No,Verstek vervaardiger onderdeelnr,
Show in Website (Variant),Wys in Webwerf (Variant),
Items with higher weightage will be shown higher,Items met &#39;n hoër gewig sal hoër vertoon word,
Show a slideshow at the top of the page,Wys &#39;n skyfievertoning bo-aan die bladsy,
Website Image,Webwerfbeeld,
Website Warehouse,Website Warehouse,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Toon &quot;In voorraad&quot; of &quot;Nie in voorraad nie&quot; gebaseer op voorraad beskikbaar in hierdie pakhuis.,
Website Item Groups,Webtuiste Item Groepe,
List this Item in multiple groups on the website.,Lys hierdie item in verskeie groepe op die webwerf.,
Copy From Item Group,Kopieer vanaf itemgroep,
Website Content,Inhoud van die webwerf,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,U kan enige geldige Bootstrap 4-opmerking in hierdie veld gebruik. Dit sal op u artikelbladsy gewys word.,
Total Projected Qty,Totale Geprojekteerde Aantal,
Hub Publishing Details,Hub Publishing Details,
Publish in Hub,Publiseer in Hub,
Publish Item to hub.erpnext.com,Publiseer item op hub.erpnext.com,
Hub Category to Publish,Hub Kategorie om te publiseer,
Hub Warehouse,Hub Warehouse,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Publiseer &quot;In voorraad&quot; of &quot;Nie in voorraad nie&quot; op Hub gebaseer op voorraad beskikbaar in hierdie pakhuis.,
Synced With Hub,Gesinkroniseer met hub,
Item Alternative,Item Alternatief,
Alternative Item Code,Alternatiewe Item Kode,
Two-way,Tweerigting,
Alternative Item Name,Alternatiewe Item Naam,
Attribute Name,Eienskap Naam,
Numeric Values,Numeriese waardes,
From Range,Van Reeks,
Increment,inkrement,
To Range,Om te bereik,
Item Attribute Values,Item Attribuutwaardes,
Item Attribute Value,Item Attribuutwaarde,
Attribute Value,Attribuutwaarde,
Abbreviation,staat,
"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 sal aangeheg word aan die itemkode van die variant. As u afkorting byvoorbeeld &quot;SM&quot; is en die itemkode &quot;T-SHIRT&quot; is, sal die itemkode van die variant &quot;T-SHIRT-SM&quot; wees.",
Item Barcode,Item Barcode,
Barcode Type,Barcode Type,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Item kliënt detail,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes",Vir die gerief van kliënte kan hierdie kodes gebruik word in drukformate soos fakture en afleweringsnotas,
Ref Code,Ref Code,
Item Default,Item Standaard,
Purchase Defaults,Aankoop verstek,
Default Buying Cost Center,Standaard koop koste sentrum,
Default Supplier,Verstekverskaffer,
Default Expense Account,Verstek uitgawes rekening,
Sales Defaults,Verkoop standaard,
Default Selling Cost Center,Verstekverkoopsentrum,
Item Manufacturer,Item Vervaardiger,
Item Price,Itemprys,
Packing Unit,Verpakkingseenheid,
Quantity  that must be bought or sold per UOM,Hoeveelheid moet per UOM gekoop of verkoop word,
Item Quality Inspection Parameter,Item Kwaliteit Inspeksie Parameter,
Acceptance Criteria,Aanvaarding kriteria,
Item Reorder,Item Herbestelling,
Check in (group),Check in (groep),
Request for,Versoek vir,
Re-order Level,Herbestellingsvlak,
Re-order Qty,Herbestelling Aantal,
Item Supplier,Item Verskaffer,
Item Variant,Item Variant,
Item Variant Attribute,Item Variant Attribute,
Do not update variants on save,Moenie variante op berging opdateer nie,
Fields will be copied over only at time of creation.,Velds sal eers oor kopieë gekopieer word.,
Allow Rename Attribute Value,Laat die kenmerk waarde toe,
Rename Attribute Value in Item Attribute.,Hernoem kenmerkwaarde in Item Attribuut.,
Copy Fields to Variant,Kopieer velde na variant,
Item Website Specification,Item webwerf spesifikasie,
Table for Item that will be shown in Web Site,Tabel vir Item wat in die webwerf gewys word,
Landed Cost Item,Landed Koste Item,
Receipt Document Type,Kwitansie Dokument Tipe,
Receipt Document,Kwitansie Dokument,
Applicable Charges,Toepaslike koste,
Purchase Receipt Item,Aankoopontvangste item,
Landed Cost Purchase Receipt,Landed Cost Purchase Receipt,
Landed Cost Taxes and Charges,Belandkoste en koste geland,
Landed Cost Voucher,Landed Cost Voucher,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Aankoopontvangste,
Purchase Receipt Items,Aankoopontvangste-items,
Get Items From Purchase Receipts,Kry Items Van Aankoop Ontvangste,
Distribute Charges Based On,Versprei koste gebaseer op,
Landed Cost Help,Landed Cost Help,
Manufacturers used in Items,Vervaardigers gebruik in items,
Limited to 12 characters,Beperk tot 12 karakters,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Partially Ordered,Gedeeltelik bestel,
Transferred,oorgedra,
% Ordered,% Bestel,
Terms and Conditions Content,Terme en voorwaardes Inhoud,
Quantity and Warehouse,Hoeveelheid en pakhuis,
Lead Time Date,Lei Tyd Datum,
Min Order Qty,Minimum aantal bestellings,
Packed Item,Gepakte item,
To Warehouse (Optional),Na pakhuis (opsioneel),
Actual Batch Quantity,Werklike groephoeveelheid,
Prevdoc DocType,Prevdoc DocType,
Parent Detail docname,Ouer Detail docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Genereer verpakkingstrokies vir pakkette wat afgelewer moet word. Gebruik om pakketnommer, pakketinhoud en sy gewig in kennis te stel.",
Indicates that the package is a part of this delivery (Only Draft),Dui aan dat die pakket deel van hierdie aflewering is (Slegs Konsep),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Uit pakketnr.,
Identification of the package for the delivery (for print),Identifikasie van die pakket vir die aflewering (vir druk),
To Package No.,Na pakket nommer,
If more than one package of the same type (for print),As meer as een pakket van dieselfde tipe (vir druk),
Package Weight Details,Pakket Gewig Besonderhede,
The net weight of this package. (calculated automatically as sum of net weight of items),Die netto gewig van hierdie pakket. (bereken outomaties as som van netto gewig van items),
Net Weight UOM,Netto Gewig UOM,
Gross Weight,Totale gewig,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Die bruto gewig van die pakket. Gewoonlik netto gewig + verpakkingsmateriaal gewig. (vir druk),
Gross Weight UOM,Bruto Gewig UOM,
Packing Slip Item,Verpakking Slip Item,
DN Detail,DN Detail,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Materiaal Oordrag vir Vervaardiging,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Aantal grondstowwe word bepaal op grond van die hoeveelheid van die finale produk,
Parent Warehouse,Ouer Warehouse,
Items under this warehouse will be suggested,Items onder hierdie pakhuis word voorgestel,
Get Item Locations,Kry artikelplekke,
Item Locations,Item Lokasies,
Pick List Item,Kies &#39;n lysitem,
Picked Qty,Gekose Aantal,
Price List Master,Pryslys Meester,
Price List Name,Pryslys Naam,
Price Not UOM Dependent,Prys nie UOM afhanklik nie,
Applicable for Countries,Toepaslik vir lande,
Price List Country,Pryslys Land,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Verskaffer Delivery Nota,
Time at which materials were received,Tyd waarteen materiaal ontvang is,
Return Against Purchase Receipt,Keer terug teen aankoopontvangs,
Rate at which supplier's currency is converted to company's base currency,Beoordeel by watter verskaffer se geldeenheid omgeskakel word na die maatskappy se basiese geldeenheid,
Sets 'Accepted Warehouse' in each row of the items table.,Stel &#39;Aanvaarde pakhuis&#39; in elke ry van die artikeltabel in.,
Sets 'Rejected Warehouse' in each row of the items table.,Stel &#39;Verwerpte pakhuis&#39; in elke ry van die artikeltabel in.,
Raw Materials Consumed,Grondstowwe verbruik,
Get Current Stock,Kry huidige voorraad,
Consumed Items,Verbruikte items,
Add / Edit Taxes and Charges,Voeg / verander belasting en heffings,
Auto Repeat Detail,Outo Herhaal Detail,
Transporter Details,Vervoerder besonderhede,
Vehicle Number,Voertuignommer,
Vehicle Date,Voertuigdatum,
Received and Accepted,Ontvang en aanvaar,
Accepted Quantity,Geaccepteerde hoeveelheid,
Rejected Quantity,Afgekeurde hoeveelheid,
Accepted Qty as per Stock UOM,Aanvaarde hoeveelheid volgens voorraad UOM,
Sample Quantity,Monster Hoeveelheid,
Rate and Amount,Tarief en Bedrag,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Verslagdatum,
Inspection Type,Inspeksietipe,
Item Serial No,Item Serienommer,
Sample Size,Steekproefgrootte,
Inspected By,Geinspekteer deur,
Readings,lesings,
Quality Inspection Reading,Kwaliteit Inspeksie Lees,
Reading 1,Lees 1,
Reading 2,Lees 2,
Reading 3,Lees 3,
Reading 4,Lees 4,
Reading 5,Lees 5,
Reading 6,Lees 6,
Reading 7,Lees 7,
Reading 8,Lees 8,
Reading 9,Lees 9,
Reading 10,Lees 10,
Quality Inspection Template Name,Kwaliteit Inspeksie Sjabloon Naam,
Quick Stock Balance,Vinnige voorraadbalans,
Available Quantity,Beskikbare hoeveelheid,
Distinct unit of an Item,Duidelike eenheid van &#39;n item,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Pakhuis kan slegs verander word via Voorraadinskrywing / Afleweringsnota / Aankoop Ontvangst,
Purchase / Manufacture Details,Aankoop- / Vervaardigingsbesonderhede,
Creation Document Type,Skepping dokument tipe,
Creation Document No,Skeppingsdokument nr,
Creation Date,Skeppingsdatum,
Creation Time,Skeppingstyd,
Asset Details,Bate Besonderhede,
Asset Status,Bate Status,
Delivery Document Type,Afleweringsdokument Tipe,
Delivery Document No,Afleweringsdokument No,
Delivery Time,Afleweringstyd,
Invoice Details,Faktuur besonderhede,
Warranty / AMC Details,Waarborg / AMC Besonderhede,
Warranty Expiry Date,Garantie Vervaldatum,
AMC Expiry Date,AMC Vervaldatum,
Under Warranty,Onder Garantie,
Out of Warranty,Buite waarborg,
Under AMC,Onder AMC,
Out of AMC,Uit AMC,
Warranty Period (Days),Garantie Periode (Dae),
Serial No Details,Rekeningnommer,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Voorraadinvoertipe,
Stock Entry (Outward GIT),Voorraadinskrywing (uiterlike GIT),
Material Consumption for Manufacture,Materiële Verbruik vir Vervaardiging,
Repack,herverpak,
Send to Subcontractor,Stuur aan subkontrakteur,
Delivery Note No,Aflewerings Nota Nr,
Sales Invoice No,Verkoopsfaktuur No,
Purchase Receipt No,Aankoop Kwitansie Nee,
Inspection Required,Inspeksie benodig,
From BOM,Van BOM,
For Quantity,Vir Hoeveelheid,
As per Stock UOM,Soos per Voorraad UOM,
Including items for sub assemblies,Insluitende items vir sub-gemeentes,
Default Source Warehouse,Default Source Warehouse,
Source Warehouse Address,Bron pakhuis adres,
Default Target Warehouse,Standaard Target Warehouse,
Target Warehouse Address,Teiken pakhuis adres,
Update Rate and Availability,Update tarief en beskikbaarheid,
Total Incoming Value,Totale Inkomende Waarde,
Total Outgoing Value,Totale uitgaande waarde,
Total Value Difference (Out - In),Totale waardeverskil (Uit - In),
Additional Costs,Addisionele koste,
Total Additional Costs,Totale addisionele koste,
Customer or Supplier Details,Kliënt- of Verskafferbesonderhede,
Per Transferred,Per oorgedra,
Stock Entry Detail,Voorraad Invoer Detail,
Basic Rate (as per Stock UOM),Basiese tarief (soos per Voorraad UOM),
Basic Amount,Basiese Bedrag,
Additional Cost,Addisionele koste,
Serial No / Batch,Serienommer / Batch,
BOM No. for a Finished Good Item,BOM nommer vir &#39;n afgeronde goeie item,
Material Request used to make this Stock Entry,Materiaal Versoek gebruik om hierdie Voorraadinskrywing te maak,
Subcontracted Item,Onderaannemer Item,
Against Stock Entry,Teen voorraadinskrywing,
Stock Entry Child,Voorraadinskrywingskind,
PO Supplied Item,PO verskaf item,
Reference Purchase Receipt,Verwysingskoopbewys,
Stock Ledger Entry,Voorraad Grootboek Inskrywing,
Outgoing Rate,Uitgaande koers,
Actual Qty After Transaction,Werklike hoeveelheid na transaksie,
Stock Value Difference,Voorraadwaarde Verskil,
Stock Queue (FIFO),Voorraadwinkel (EIEU),
Is Cancelled,Is gekanselleer,
Stock Reconciliation,Voorraadversoening,
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.,Met hierdie hulpmiddel kan u die hoeveelheid en waardering van voorraad in die stelsel opdateer of regstel. Dit word tipies gebruik om die stelselwaardes te sinkroniseer en wat werklik in u pakhuise bestaan.,
MAT-RECO-.YYYY.-,MAT-Reco-.YYYY.-,
Reconciliation JSON,Versoening JSON,
Stock Reconciliation Item,Voorraadversoening Item,
Before reconciliation,Voor versoening,
Current Serial No,Huidige reeksnommer,
Current Valuation Rate,Huidige Waardasietarief,
Current Amount,Huidige Bedrag,
Quantity Difference,Hoeveelheidsverskil,
Amount Difference,Bedrag Verskil,
Item Naming By,Item Naming By,
Default Item Group,Standaard Itemgroep,
Default Stock UOM,Standaard Voorraad UOM,
Sample Retention Warehouse,Sample Retention Warehouse,
Default Valuation Method,Verstekwaardasiemetode,
Show Barcode Field,Toon strepieskode veld,
Convert Item Description to Clean HTML,Omskep itembeskrywing om HTML skoon te maak,
Allow Negative Stock,Laat negatiewe voorraad toe,
Automatically Set Serial Nos based on FIFO,Stel Serial Nos outomaties gebaseer op FIFO,
Auto Material Request,Auto Materiaal Versoek,
Inter Warehouse Transfer Settings,Inter Warehouse-oordraginstellings,
Freeze Stock Entries,Vries Voorraadinskrywings,
Stock Frozen Upto,Voorraad Bevrore Upto,
Batch Identification,Batch Identification,
Use Naming Series,Gebruik Naming Series,
Naming Series Prefix,Benaming van die reeksreeks,
UOM Category,UOM Kategorie,
UOM Conversion Detail,UOM Gesprek Detail,
Variant Field,Variant Veld,
A logical Warehouse against which stock entries are made.,&#39;N Logiese pakhuis waarteen voorraadinskrywings gemaak word.,
Warehouse Detail,Warehouse Detail,
Warehouse Name,Pakhuisnaam,
Warehouse Contact Info,Warehouse Kontak Info,
PIN,SPELD,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Verhoog deur (e-pos),
Issue Type,Uitgawe Tipe,
Issue Split From,Uitgawe verdeel vanaf,
Service Level,Diensvlak,
Response By,Antwoord deur,
Response By Variance,Reaksie deur afwyking,
Ongoing,deurlopende,
Resolution By,Besluit deur,
Resolution By Variance,Besluit volgens afwyking,
Service Level Agreement Creation,Diensvlakooreenkoms te skep,
First Responded On,Eerste Reageer Op,
Resolution Details,Besluit Besonderhede,
Opening Date,Openingsdatum,
Opening Time,Openingstyd,
Resolution Date,Resolusie Datum,
Via Customer Portal,Via Customer Portal,
Support Team,Ondersteuningspan,
Issue Priority,Prioriteit vir kwessies,
Service Day,Diensdag,
Workday,werksdag,
Default Priority,Standaardprioriteit,
Priorities,prioriteite,
Support Hours,Ondersteuningstye,
Support and Resolution,Ondersteuning en resolusie,
Default Service Level Agreement,Verstek diensvlakooreenkoms,
Entity,entiteit,
Agreement Details,Ooreenkoms besonderhede,
Response and Resolution Time,Reaksie en resolusie tyd,
Service Level Priority,Prioriteit op diensvlak,
Resolution Time,Beslissingstyd,
Support Search Source,Ondersteun soekbron,
Source Type,Bron tipe,
Query Route String,Navraag roete string,
Search Term Param Name,Soek termyn Param Naam,
Response Options,Reaksie Opsies,
Response Result Key Path,Reaksie Uitslag Sleutel Pad,
Post Route String,Postroete,
Post Route Key List,Posroetelyslys,
Post Title Key,Pos Titel Sleutel,
Post Description Key,Pos Beskrywing Sleutel,
Link Options,Skakelopsies,
Source DocType,Bron DocType,
Result Title Field,Resultaat Titel Veld,
Result Preview Field,Resultaat voorbeeld veld,
Result Route Field,Resultaatroete,
Service Level Agreements,Diensvlakooreenkomste,
Track Service Level Agreement,Spoor diensvlakooreenkoms,
Allow Resetting Service Level Agreement,Laat diensvlakooreenkoms weer toe,
Close Issue After Days,Beslote uitgawe na dae,
Auto close Issue after 7 days,Outo sluit uitgawe na 7 dae,
Support Portal,Ondersteuningsportaal,
Get Started Sections,Kry begin afdelings,
Show Latest Forum Posts,Wys Laaste Forum Posts,
Forum Posts,Forum Posts,
Forum URL,Forum URL,
Get Latest Query,Kry nuutste navraag,
Response Key List,Reaksie Sleutellys,
Post Route Key,Pos roete sleutel,
Search APIs,Soek API&#39;s,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Uitreikings datum,
Item and Warranty Details,Item en waarborgbesonderhede,
Warranty / AMC Status,Garantie / AMC Status,
Resolved By,Besluit deur,
Service Address,Diens Adres,
If different than customer address,As anders as kliënt adres,
Raised By,Verhoog deur,
From Company,Van Maatskappy,
Rename Tool,Hernoem Gereedskap,
Utilities,Nut,
Type of document to rename.,Soort dokument om te hernoem.,
File to Rename,Lêer om hernoem te word,
"Attach .csv file with two columns, one for the old name and one for the new name","Heg .csv-lêer met twee kolomme, een vir die ou naam en een vir die nuwe naam",
Rename Log,Hernoem log,
SMS Log,SMS Log,
Sender Name,Sender Naam,
Sent On,Gestuur,
No of Requested SMS,Geen versoekte SMS nie,
Requested Numbers,Gevraagde Getalle,
No of Sent SMS,Geen van gestuurde SMS nie,
Sent To,Gestuur na,
Absent Student Report,Afwesige Studenteverslag,
Assessment Plan Status,Assesseringsplan Status,
Asset Depreciation Ledger,Bate Waardevermindering Grootboek,
Asset Depreciations and Balances,Bate Afskrywing en Saldo&#39;s,
Available Stock for Packing Items,Beskikbare voorraad vir verpakking items,
Bank Clearance Summary,Bank Opruimingsopsomming,
Batch Item Expiry Status,Batch Item Vervaldatum,
Batch-Wise Balance History,Batch-Wise Balance Geskiedenis,
BOM Explorer,BOM Explorer,
BOM Search,BOM Soek,
BOM Stock Calculated,BOM Voorraad Bereken,
BOM Variance Report,BOM Variance Report,
Campaign Efficiency,Veldtogdoeltreffendheid,
Cash Flow,Kontantvloei,
Completed Work Orders,Voltooide werkorders,
To Produce,Te produseer,
Produced,geproduseer,
Consolidated Financial Statement,Gekonsolideerde Finansiële Staat,
Course wise Assessment Report,Kursusse Assesseringsverslag,
Customer Acquisition and Loyalty,Kliënt Verkryging en Lojaliteit,
Customer Credit Balance,Krediet Krediet Saldo,
Customer Ledger Summary,Opsomming oor klante grootboek,
Customer-wise Item Price,Kliëntige artikelprys,
Customers Without Any Sales Transactions,Kliënte sonder enige verkoopstransaksies,
Daily Timesheet Summary,Daaglikse Tydskrif Opsomming,
DATEV,DATEV,
Delayed Item Report,Vertraagde itemverslag,
Delayed Order Report,Vertraagde bestelverslag,
Delivered Items To Be Billed,Aflewerings Items wat gefaktureer moet word,
Delivery Note Trends,Delivery Notendendense,
Electronic Invoice Register,Elektroniese faktuurregister,
Employee Billing Summary,Werknemer se faktuuropsomming,
Employee Birthday,Werknemer Verjaarsdag,
Employee Information,Werknemersinligting,
Employee Leave Balance,Werknemerverlofbalans,
Employee Leave Balance Summary,Werkopsommingsaldo-opsomming,
Eway Bill,Eway Bill,
Expiring Memberships,Vervaldatums,
Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
Final Assessment Grades,Finale Assesseringsgraad,
Fixed Asset Register,Vaste bateregister,
Gross and Net Profit Report,Bruto en netto winsverslag,
GST Itemised Purchase Register,GST Item 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 besetting,
HSN-wise-summary of outward supplies,HSN-wyse-opsomming van uiterlike voorrade,
Inactive Customers,Onaktiewe kliënte,
Inactive Sales Items,Onaktiewe verkoopitems,
IRS 1099,IRS 1099,
Issued Items Against Work Order,Uitgereik Items Teen Werk Orde,
Projected Quantity as Source,Geprojekteerde hoeveelheid as bron,
Item Balance (Simple),Item Balans (Eenvoudig),
Item Price Stock,Itemprys Voorraad,
Item Prices,Itempryse,
Item Shortage Report,Item kortverslag,
Item Variant Details,Item Variant Besonderhede,
Item-wise Price List Rate,Item-item Pryslys,
Item-wise Purchase History,Item-wyse Aankoop Geskiedenis,
Item-wise Purchase Register,Item-wyse Aankoopregister,
Item-wise Sales History,Item-wyse verkope geskiedenis,
Item-wise Sales Register,Item-wyse Verkope Register,
Items To Be Requested,Items wat gevra moet word,
Reserved,voorbehou,
Itemwise Recommended Reorder Level,Itemwise Recommended Reorder Level,
Lead Details,Loodbesonderhede,
Lead Owner Efficiency,Leier Eienaar Efficiency,
Lost Opportunity,Geleë geleentheid verloor,
Maintenance Schedules,Onderhoudskedules,
Material Requests for which Supplier Quotations are not created,Materiële Versoeke waarvoor Verskaffer Kwotasies nie geskep word nie,
Open Work Orders,Oop werkorders,
Qty to Deliver,Hoeveelheid om te lewer,
Patient Appointment Analytics,Pasiëntaanstellingsanalise,
Payment Period Based On Invoice Date,Betalingsperiode gebaseer op faktuurdatum,
Pending SO Items For Purchase Request,Hangende SO-items vir aankoopversoek,
Procurement Tracker,Verkrygingsopspoorder,
Product Bundle Balance,Produkbundelsaldo,
Production Analytics,Produksie Analytics,
Profit and Loss Statement,Wins- en verliesstaat,
Profitability Analysis,Winsgewendheidsontleding,
Project Billing Summary,Projekrekeningopsomming,
Project wise Stock Tracking,Projekgewyse voorraadopsporing,
Project wise Stock Tracking ,Projek-wyse Voorraad dop,
Prospects Engaged But Not Converted,Vooruitsigte Betrokke Maar Nie Omskep,
Purchase Analytics,Koop Analytics,
Purchase Invoice Trends,Aankoop faktuur neigings,
Qty to Receive,Hoeveelheid om te ontvang,
Received Qty Amount,Hoeveelheid ontvang,
Billed Qty,Aantal fakture,
Purchase Order Trends,Aankooporders,
Purchase Receipt Trends,Aankoopontvangstendense,
Purchase Register,Aankoopregister,
Quotation Trends,Aanhalingstendense,
Received Items To Be Billed,Items ontvang om gefaktureer te word,
Qty to Order,Hoeveelheid om te bestel,
Requested Items To Be Transferred,Gevraagde items wat oorgedra moet word,
Qty to Transfer,Hoeveelheid om te oordra,
Sales Analytics,Verkope Analytics,
Sales Invoice Trends,Verkoopsfaktuur neigings,
Sales Order Trends,Verkoopsvolgorde,
Sales Partner Commission Summary,Opsomming van verkoopsvennootskommissie,
Sales Partner Target Variance based on Item Group,Teikenafwyking van verkoopsvennote gebaseer op Itemgroep,
Sales Partner Transaction Summary,Opsomming van verkoopsvennoottransaksies,
Sales Partners Commission,Verkope Vennootskommissie,
Invoiced Amount (Exclusive Tax),Gefaktureerde bedrag (eksklusiewe belasting),
Average Commission Rate,Gemiddelde Kommissie Koers,
Sales Payment Summary,Verkoopbetalingsopsomming,
Sales Person Commission Summary,Verkope Persone Kommissie Opsomming,
Sales Person Target Variance Based On Item Group,Verkoopspersoon Teikenafwyking gebaseer op artikelgroep,
Sales Person-wise Transaction Summary,Verkope Persoonlike Transaksie Opsomming,
Sales Register,Verkoopsregister,
Serial No Service Contract Expiry,Serial No Service Contract Expiry,
Serial No Status,Serial No Status,
Serial No Warranty Expiry,Serial No Warranty Expiry,
Stock Ageing,Voorraadveroudering,
Stock and Account Value Comparison,Vergelyking van voorraad en rekening,
Stock Projected Qty,Voorraad Geprojekteerde Aantal,
Student and Guardian Contact Details,Student en voog Kontakbesonderhede,
Student Batch-Wise Attendance,Student Batch-Wise Bywoning,
Student Fee Collection,Studentefooi-versameling,
Student Monthly Attendance Sheet,Student Maandelikse Bywoningsblad,
Subcontracted Item To Be Received,Onderkontrakteer item wat ontvang moet word,
Subcontracted Raw Materials To Be Transferred,Grondstofmateriaal wat onderneem word om oor te plaas,
Supplier Ledger Summary,Verskaffer van grootboekverskaffer,
Supplier-Wise Sales Analytics,Verskaffer-Wise Sales Analytics,
Support Hour Distribution,Ondersteuning Uurverspreiding,
TDS Computation Summary,TDS Computation Opsomming,
TDS Payable Monthly,TDS betaalbaar maandeliks,
Territory Target Variance Based On Item Group,Territoriese teikenafwyking gebaseer op artikelgroep,
Territory-wise Sales,Terrein-wyse verkope,
Total Stock Summary,Totale voorraadopsomming,
Trial Balance,Proefbalans,
Trial Balance (Simple),Proefbalans (eenvoudig),
Trial Balance for Party,Proefbalans vir die Party,
Warehouse wise Item Balance Age and Value,Warehouse Wise Item Balans Ouderdom en Waarde,
Work Order Stock Report,Werk Bestelling Voorraad Verslag,
Work Orders in Progress,Werkopdragte in die proses,
Automatically Process Deferred Accounting Entry,Verwerk uitgestelde rekeningkundige inskrywing outomaties,
Bank Clearance,Bankopruiming,
Bank Clearance Detail,Bankklaringsbesonderhede,
Update Cost Center Name / Number,Dateer die naam / nommer van die kostesentrum op,
Journal Entry Template,Sjabloon vir joernaalinskrywing,
Template Title,Sjabloontitel,
Journal Entry Type,Soort joernaalinskrywing,
Journal Entry Template Account,Rekening vir sjabloonjoernaalinskrywing,
Process Deferred Accounting,Verwerk uitgestelde rekeningkunde,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Handmatige invoer kan nie geskep word nie! Deaktiveer outomatiese invoer vir uitgestelde rekeningkunde in rekeninginstellings en probeer weer,
End date cannot be before start date,Einddatum kan nie voor die begindatum wees nie,
Total Counts Targeted,Totale getel getel,
Total Counts Completed,Totale tellings voltooi,
Counts Targeted: {0},Getal getel: {0},
Material Request Warehouse,Materiaalversoekpakhuis,
Select warehouse for material requests,Kies pakhuis vir materiaalversoeke,
Transfer Materials For Warehouse {0},Oordragmateriaal vir pakhuis {0},
Production Plan Material Request Warehouse,Produksieplan Materiaalversoekpakhuis,
Sets 'Source Warehouse' in each row of the items table.,Stel &#39;Bronpakhuis&#39; in elke ry van die artikeltabel in.,
Sets 'Target Warehouse' in each row of the items table.,Stel &#39;Target Warehouse&#39; in elke ry van die artikeltabel in.,
Show Cancelled Entries,Wys gekanselleerde inskrywings,
Backdated Stock Entry,Teruggedateerde voorraadinskrywing,
Row #{}: Currency of {} - {} doesn't matches company currency.,Ry # {}: Geldeenheid van {} - {} stem nie ooreen met die maatskappy se geldeenheid nie.,
{} Assets created for {},{} Bates geskep vir {},
{0} Number {1} is already used in {2} {3},{0} Nommer {1} word reeds in {2} {3} gebruik,
Update Bank Clearance Dates,Dateer die bankopruimingsdatums op,
Healthcare Practitioner: ,Gesondheidsorgpraktisyn:,
Lab Test Conducted: ,Laboratoriumtoets uitgevoer:,
Lab Test Event: ,Laboratoriumtoetsgeleentheid:,
Lab Test Result: ,Resultaat van laboratoriumtoets:,
Clinical Procedure conducted: ,Kliniese prosedure uitgevoer:,
Therapy Session Charges: {0},Kostes vir terapiesessies: {0},
Therapy: ,Terapie:,
Therapy Plan: ,Terapieplan:,
Total Counts Targeted: ,Totale getal getel:,
Total Counts Completed: ,Totale tellings voltooi:,
Is Mandatory,Is verpligtend,
Service Received But Not Billed,"Diens ontvang, maar nie gefaktureer nie",
Deferred Accounting Settings,Uitgestelde rekeningkundige instellings,
Book Deferred Entries Based On,Boek uitgestelde inskrywings gebaseer op,
Days,Dae,
Months,Maande,
Book Deferred Entries Via Journal Entry,Boek uitgestelde inskrywings via joernaalinskrywing,
Submit Journal Entries,Dien joernaalinskrywings in,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"As dit nie gemerk is nie, word die joernaalinskrywings in &#39;n konseptoestand gestoor en moet dit handmatig ingedien word",
Enable Distributed Cost Center,Aktiveer verspreide kostesentrum,
Distributed Cost Center,Verspreide kostesentrum,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Agterstallige dae,
Dunning Type,Dunning tipe,
Dunning Fee,Dunning Fooi,
Dunning Amount,Dunning Bedrag,
Resolved,Besleg,
Unresolved,Onopgelos,
Printing Setting,Drukinstelling,
Body Text,Liggaamsteks,
Closing Text,Sluitende teks,
Resolve,Los op,
Dunning Letter Text,Dunning Letter teks,
Is Default Language,Is verstek taal,
Letter or Email Body Text,Brief of e-pos liggaam teks,
Letter or Email Closing Text,Brief of e-pos sluit teks,
Body and Closing Text Help,Liggaam- en slottekshulp,
Overdue Interval,Agterstallige interval,
Dunning Letter,Dunning Brief,
"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 hierdie afdeling kan die gebruiker die hoof- en slotteks van die Dunning-letter vir die Dunning-tipe instel op grond van taal, wat in Print gebruik kan word.",
Reference Detail No,Verwysingsbesonderheid No,
Custom Remarks,Persoonlike opmerkings,
Please select a Company first.,Kies eers &#39;n maatskappy.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Ry # {0}: die verwysingsdokumenttipe moet een wees van verkoopsorder, verkoopsfaktuur, joernaalinskrywing of uitleg",
POS Closing Entry,POS-sluitingsinskrywing,
POS Opening Entry,POS-openingsinskrywing,
POS Transactions,POS-transaksies,
POS Closing Entry Detail,POS-sluitingsbesonderhede,
Opening Amount,Openingsbedrag,
Closing Amount,Sluitingsbedrag,
POS Closing Entry Taxes,POS-sluitingsbelasting,
POS Invoice,POS-faktuur,
ACC-PSINV-.YYYY.-,ACC-PSINV-.JJJJ.-,
Consolidated Sales Invoice,Gekonsolideerde verkoopsfaktuur,
Return Against POS Invoice,Keer terug teen POS-faktuur,
Consolidated,Gekonsolideerde,
POS Invoice Item,POS-faktuuritem,
POS Invoice Merge Log,POS-faktuur-samevoegingslogboek,
POS Invoices,POS-fakture,
Consolidated Credit Note,Gekonsolideerde kredietnota,
POS Invoice Reference,POS-faktuurverwysing,
Set Posting Date,Stel plasingdatum in,
Opening Balance Details,Besonderhede oor die openingsaldo,
POS Opening Entry Detail,POS-inskrywingsdetail,
POS Payment Method,POS-betaalmetode,
Payment Methods,Betalingsmetodes,
Process Statement Of Accounts,Prosesrekeningrekening,
General Ledger Filters,Algemene grootboekfilters,
Customers,Kliënte,
Select Customers By,Kies klante volgens,
Fetch Customers,Haal klante,
Send To Primary Contact,Stuur na primêre kontak,
Print Preferences,Drukvoorkeure,
Include Ageing Summary,Sluit verouderingsopsomming in,
Enable Auto Email,Aktiveer outo-e-pos,
Filter Duration (Months),Duur van filter (maande),
CC To,CC aan,
Help Text,Help-teks,
Emails Queued,E-posse in die ry staan,
Process Statement Of Accounts Customer,Prosesverklaring van rekeninge,
Billing Email,Faktuur-e-posadres,
Primary Contact Email,Primêre kontak-e-posadres,
PSOA Cost Center,PSOA Kostesentrum,
PSOA Project,PSOA-projek,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Verskaffer GSTIN,
Place of Supply,Plek van verskaffing,
Select Billing Address,Kies faktuuradres,
GST Details,GST Besonderhede,
GST Category,GST-kategorie,
Registered Regular,Geregistreer gereeld,
Registered Composition,Geregistreerde samestelling,
Unregistered,Ongeregistreerd,
SEZ,SEZ,
Overseas,Oorsee,
UIN Holders,UIN-houers,
With Payment of Tax,Met die betaling van belasting,
Without Payment of Tax,Sonder betaling van belasting,
Invoice Copy,Faktuurafskrif,
Original for Recipient,Oorspronklik vir ontvanger,
Duplicate for Transporter,Duplikaat vir vervoerder,
Duplicate for Supplier,Duplikaat vir verskaffer,
Triplicate for Supplier,Drievoud vir verskaffer,
Reverse Charge,Omgekeerde beheer,
Y,Y,
N,N,
E-commerce GSTIN,E-handel GSTIN,
Reason For Issuing document,Rede vir die uitreiking van dokument,
01-Sales Return,01-verkoopsopbrengs,
02-Post Sale Discount,Afslag op 02-posverkope,
03-Deficiency in services,03-Tekort aan dienste,
04-Correction in Invoice,04-Regstelling in faktuur,
05-Change in POS,05-Verandering in POS,
06-Finalization of Provisional assessment,06-finalisering van voorlopige assessering,
07-Others,07-Ander,
Eligibility For ITC,In aanmerking te kom vir ITC,
Input Service Distributor,Insetdiensverspreider,
Import Of Service,Invoer van diens,
Import Of Capital Goods,Invoer van kapitaalgoedere,
Ineligible,Nie in aanmerking kom nie,
All Other ITC,Alle ander ITC,
Availed ITC Integrated Tax,Beskikbare ITC-geïntegreerde belasting,
Availed ITC Central Tax,ITC Sentrale Belasting beskikbaar,
Availed ITC State/UT Tax,Beskikbare ITC-staat / BTW-belasting,
Availed ITC Cess,ITC Cess beskikbaar,
Is Nil Rated or Exempted,Is nul gegradeer of vrygestel,
Is Non GST,Is Nie GST nie,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,E-Way Bill No.,
Is Consolidated,Is gekonsolideer,
Billing Address GSTIN,Faktuuradres GSTIN,
Customer GSTIN,Kliënt GSTIN,
GST Transporter ID,GST-vervoerder-ID,
Distance (in km),Afstand (in km),
Road,Pad,
Air,Lug,
Rail,Spoor,
Ship,Skip,
GST Vehicle Type,GST Voertuigtipe,
Over Dimensional Cargo (ODC),Oordimensionele vrag (ODC),
Consumer,Verbruiker,
Deemed Export,Geag uitvoer,
Port Code,Hawekode,
 Shipping Bill Number,Versendingrekeningnommer,
Shipping Bill Date,Afleweringsrekening Datum,
Subscription End Date,Einddatum vir intekening,
Follow Calendar Months,Volg kalendermaande,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"As dit gekontroleer word, word daaropvolgende nuwe fakture op kalendermaand- en kwartaalbegindatums geskep, ongeag die huidige begindatum vir fakture",
Generate New Invoices Past Due Date,Genereer nuwe fakture as vervaldatum,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Nuwe fakture word volgens skedule gegenereer, selfs al is die huidige fakture onbetaal of op die vervaldatum",
Document Type ,Dokumenttipe,
Subscription Price Based On,Intekeningprys gebaseer op,
Fixed Rate,Vaste tarief,
Based On Price List,Gebaseer op pryslys,
Monthly Rate,Maandelikse tarief,
Cancel Subscription After Grace Period,Kanselleer intekening na genadetydperk,
Source State,Bronstaat,
Is Inter State,Is Interstaat,
Purchase Details,Aankoopbesonderhede,
Depreciation Posting Date,Datum van afskrywing,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ",Die verskaffersnaam word standaard ingestel volgens die opgegeven verskaffersnaam. As u wil hê dat verskaffers deur a genoem moet word,
 choose the 'Naming Series' option.,kies die opsie &#39;Naamreeks&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Stel die standaardpryslys op wanneer u &#39;n nuwe aankooptransaksie skep. Itempryse word uit hierdie pryslys gehaal.,
"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.","As hierdie opsie &#39;Ja&#39; is ingestel, sal ERPNext u verhinder om &#39;n aankoopfaktuur of ontvangsbewys te maak sonder om eers &#39;n bestelling te skep. Hierdie konfigurasie kan vir &#39;n spesifieke verskaffer oorskry word deur die &#39;Laat die aankoop van faktuur sonder die bestelling&#39; in die verskaffermaster in te skakel.",
"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.","As hierdie opsie &#39;Ja&#39; is ingestel, sal ERPNext u verhinder om &#39;n aankoopfaktuur te maak sonder om eers &#39;n aankoopbewys te skep. Hierdie konfigurasie kan vir &#39;n bepaalde verskaffer oorskry word deur die &#39;Laat die aankoop van fakture sonder die ontvangsbewys&#39; in die verskaffersmeester in te skakel.",
Quantity & Stock,Hoeveelheid en voorraad,
Call Details,Oproepbesonderhede,
Authorised By,Gemagtig deur,
Signee (Company),Ondertekenaar (maatskappy),
Signed By (Company),Onderteken deur (maatskappy),
First Response Time,Eerste reaksie tyd,
Request For Quotation,Versoek vir kwotasie,
Opportunity Lost Reason Detail,Geleentheid verlore rede detail,
Access Token Secret,Toegang Token geheim,
Add to Topics,Voeg by onderwerpe,
...Adding Article to Topics,... Voeg artikel by onderwerpe,
Add Article to Topics,Voeg artikel by onderwerpe,
This article is already added to the existing topics,Hierdie artikel is reeds by die bestaande onderwerpe gevoeg,
Add to Programs,Voeg by programme,
Programs,Programme,
...Adding Course to Programs,... Kursus by programme voeg,
Add Course to Programs,Voeg kursus by programme,
This course is already added to the existing programs,Hierdie kursus is reeds by die bestaande programme gevoeg,
Learning Management System Settings,Leerbestuurstelselinstellings,
Enable Learning Management System,Aktiveer leerbestuurstelsel,
Learning Management System Title,Leerbestuurstelsel titel,
...Adding Quiz to Topics,... Voeg vasvra by onderwerpe,
Add Quiz to Topics,Voeg vasvra by onderwerpe,
This quiz is already added to the existing topics,Hierdie vasvra is reeds by die bestaande onderwerpe gevoeg,
Enable Admission Application,Skakel toelatingsaansoek in,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Bywoning nasien,
Add Guardians to Email Group,Voeg voogde by e-posgroep,
Attendance Based On,Bywoning gebaseer 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,Merk dit om die student as aanwesig te merk as die student in elk geval nie die instituut bywoon om deel te neem of die instituut te verteenwoordig nie.,
Add to Courses,Voeg by kursusse,
...Adding Topic to Courses,... Onderwerp by kursusse voeg,
Add Topic to Courses,Voeg onderwerp by kursusse,
This topic is already added to the existing courses,Hierdie onderwerp is reeds by die bestaande kursusse gevoeg,
"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","As Shopify nie &#39;n klant in die bestelling het nie, sal die stelsel die standaardkliënt vir die bestelling oorweeg as hy die bestellings sinkroniseer.",
The accounts are set by the system automatically but do confirm these defaults,"Die rekening word outomaties deur die stelsel opgestel, maar bevestig hierdie standaarde",
Default Round Off Account,Standaard afgeronde rekening,
Failed Import Log,Kon nie invoer-logboek misluk nie,
Fixed Error Log,Vaste foutlêer,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,"Maatskappy {0} bestaan reeds. As u voortgaan, word die maatskappy en rekeningkaart oorskryf",
Meta Data,Metadata,
Unresolve,Onoplosbaar,
Create Document,Skep dokument,
Mark as unresolved,Merk as onopgelos,
TaxJar Settings,TaxJar-instellings,
Sandbox Mode,Sandbox-modus,
Enable Tax Calculation,Aktiveer belastingberekening,
Create TaxJar Transaction,Skep TaxJar-transaksie,
Credentials,Geloofsbriewe,
Live API Key,Regstreekse API-sleutel,
Sandbox API Key,Sandbox API-sleutel,
Configuration,Konfigurasie,
Tax Account Head,Belastingrekeninghoof,
Shipping Account Head,Versendingrekeninghoof,
Practitioner Name,Praktisyn Naam,
Enter a name for the Clinical Procedure Template,Voer &#39;n naam in vir die sjabloon vir kliniese prosedures,
Set the Item Code which will be used for billing the Clinical Procedure.,Stel die artikelkode in wat gebruik sal word om die kliniese prosedure te faktureer.,
Select an Item Group for the Clinical Procedure Item.,Kies &#39;n itemgroep vir die Clinical Procedure Item.,
Clinical Procedure Rate,Kliniese proseduresnelheid,
Check this if the Clinical Procedure is billable and also set the rate.,Kontroleer dit as die kliniese prosedure faktureerbaar is en stel ook die tarief in.,
Check this if the Clinical Procedure utilises consumables. Click ,Gaan dit na as verbruiksgoedere in die kliniese prosedure gebruik word. Klik op,
 to know more,om meer te weet,
"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 kan ook die mediese afdeling vir die sjabloon instel. Nadat die dokument gestoor is, sal &#39;n item outomaties geskep word om hierdie kliniese prosedure te faktureer. U kan dan hierdie sjabloon gebruik terwyl u kliniese prosedures vir pasiënte skep. Templates bespaar u om elke keer oortollige data in te vul. U kan ook sjablone maak vir ander bewerkings soos laboratoriumtoetse, terapiesessies, ens.",
Descriptive Test Result,Beskrywende toetsuitslag,
Allow Blank,Laat leeg toe,
Descriptive Test Template,Beskrywende toetssjabloon,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","As u Payroll en ander HRMS-bedrywighede vir &#39;n praktisyn wil opspoor, moet u &#39;n werknemer skep en dit hier koppel.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Stel die praktisynskedule op wat u pas geskep het. Dit sal gebruik word tydens die bespreking van afsprake.,
Create a service item for Out Patient Consulting.,Skep &#39;n diensitem vir Out Patient Patient Consulting.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","As hierdie gesondheidsorgpraktisyn vir die afdeling vir binnepasiënte werk, moet u &#39;n diensitem skep vir besoeke aan binnepasiënte.",
Set the Out Patient Consulting Charge for this Practitioner.,Bepaal die koste vir hierdie pasiënt vir konsultasies.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","As hierdie gesondheidsorgpraktisyn ook vir die afdeling vir binnepasiënte werk, moet u die fooi vir die besoek aan die pasiënt bepaal.",
"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.","As dit gekontroleer is, sal &#39;n klant vir elke pasiënt geskep word. Pasiëntfakture word teen hierdie klant gemaak. U kan ook bestaande klante kies terwyl u &#39;n pasiënt skep. Hierdie veld is standaard gemerk.",
Collect Registration Fee,Registrasiegeld invorder,
"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.","As u gesondheidsorgfasiliteit registrasies van pasiënte in rekening bring, kan u dit nagaan en die registrasiefooi in die onderstaande veld instel. As u dit nagaan, word daar pasiënte met &#39;n gestremde status by verstek geskep en sal dit eers geaktiveer word nadat die registrasiefooi gefaktureer is.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"As u dit nagaan, word outomaties &#39;n verkoopfaktuur geskep wanneer &#39;n afspraak vir &#39;n pasiënt bespreek word.",
Healthcare Service Items,Gesondheidsorgdiensitems,
"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 kan &#39;n diensitem skep vir &#39;n besoek vir binnepasiëntbesoek en dit hier instel. Net so kan u in hierdie afdeling ander gesondheidsorgdiensitems instel vir faktuur. Klik op,
Set up default Accounts for the Healthcare Facility,Stel standaardrekeninge vir die gesondheidsorgfasiliteit op,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","As u standaardrekeninginstellings wil ignoreer en die inkomste- en ontvangbare rekeninge vir Healthcare wil instel, kan u dit hier doen.",
Out Patient SMS alerts,SMS-waarskuwings van pasiënte,
"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 ","As u &#39;n SMS-waarskuwing wil stuur oor pasiëntregistrasie, kan u hierdie opsie aktiveer. Soortgelyk, u kan SMS-waarskuwings vir pasiënte instel vir ander funksies in hierdie afdeling. Klik op",
Admission Order Details,Toelatingsbestellingsbesonderhede,
Admission Ordered For,Toegang bestel vir,
Expected Length of Stay,Verwagte duur van die verblyf,
Admission Service Unit Type,Toelatingsdiens Eenheidstipe,
Healthcare Practitioner (Primary),Gesondheidsorgpraktisyn (Primêr),
Healthcare Practitioner (Secondary),Gesondheidsorgpraktisyn (sekondêr),
Admission Instruction,Toelatingsinstruksie,
Chief Complaint,Hoofklag,
Medications,Medisyne,
Investigations,Ondersoeke,
Discharge Detials,Ontslag ontseggings,
Discharge Ordered Date,Ontslag bestel datum,
Discharge Instructions,Afvoerinstruksies,
Follow Up Date,Opvolgdatum,
Discharge Notes,Ontslagnotas,
Processing Inpatient Discharge,Verwerking van ontslag van binnepasiënte,
Processing Patient Admission,Verwerking van opname van pasiënte,
Check-in time cannot be greater than the current time,Inkloktyd kan nie langer wees as die huidige tyd nie,
Process Transfer,Prosesoordrag,
HLC-LAB-.YYYY.-,HLC-LAB-.JJJJ.-,
Expected Result Date,Verwagte uitslagdatum,
Expected Result Time,Verwagte uitslagtyd,
Printed on,Gedruk op,
Requesting Practitioner,Versoekende praktisyn,
Requesting Department,Versoekende Departement,
Employee (Lab Technician),Werknemer (laboratoriumtegnikus),
Lab Technician Name,Lab-tegnikusnaam,
Lab Technician Designation,Aanwysing van laboratoriumtegnikus,
Compound Test Result,Saamgestelde toetsuitslag,
Organism Test Result,Organismetoetsuitslag,
Sensitivity Test Result,Gevoeligheidstoetsuitslag,
Worksheet Print,Werkkaartafdruk,
Worksheet Instructions,Werkbladinstruksies,
Result Legend Print,Resultaat Legendafdruk,
Print Position,Drukposisie,
Both,Albei,
Result Legend,Uitslaglegende,
Lab Tests,Laboratoriumtoetse,
No Lab Tests found for the Patient {0},Geen laboratoriumtoetse vir die pasiënt gevind nie {0},
"Did not send SMS, missing patient mobile number or message content.","Het nie &#39;n SMS gestuur, die pasiënt se mobiele nommer of boodskapinhoud ontbreek nie.",
No Lab Tests created,Geen laboratoriumtoetse geskep nie,
Creating Lab Tests...,Skep tans laboratoriumtoetse ...,
Lab Test Group Template,Lab-toetsgroepsjabloon,
Add New Line,Voeg nuwe reël by,
Secondary UOM,Sekondêre UOM,
"<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>Enkel</b> : uitslae wat slegs een invoer benodig.<br> <b>Samestelling</b> : resultate wat meervoudige insette benodig.<br> <b>Beskrywend</b> : toetse met verskeie resultate met handmatige invoer van resultate.<br> <b>Gegroepeer</b> : Toetssjablone wat &#39;n groep ander toetssjablone is.<br> <b>Geen resultaat</b> : toetse sonder resultate, kan bestel en gefaktureer word, maar geen laboratoriumtoets sal geskep word nie. bv. Subtoetse vir gegroepeerde resultate",
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","As dit nie gemerk is nie, sal die artikel nie in fakture beskikbaar wees vir fakturering nie, maar kan dit gebruik word om groeptoets te skep.",
Description ,Beskrywing,
Descriptive Test,Beskrywende toets,
Group Tests,Groeptoetse,
Instructions to be printed on the worksheet,Instruksies wat op die werkblad gedruk moet word,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.","Inligting om die toetsverslag maklik te interpreteer, word as deel van die laboratoriumtoetsuitslag gedruk.",
Normal Test Result,Normale toetsuitslag,
Secondary UOM Result,Sekondêre UOM-uitslag,
Italic,Kursief,
Underline,Onderstreep,
Organism,Organisme,
Organism Test Item,Organisme-toetsitem,
Colony Population,Koloniebevolking,
Colony UOM,Kolonie UOM,
Tobacco Consumption (Past),Tabakverbruik (verlede),
Tobacco Consumption (Present),Tabakverbruik (teenwoordig),
Alcohol Consumption (Past),Alkoholverbruik (verlede),
Alcohol Consumption (Present),Alkoholverbruik (teenwoordig),
Billing Item,Faktureringitem,
Medical Codes,Mediese kodes,
Clinical Procedures,Kliniese prosedures,
Order Admission,Bestelling Toelating,
Scheduling Patient Admission,Beplanning van opname van pasiënte,
Order Discharge,Bestelling ontslag,
Sample Details,Voorbeeldbesonderhede,
Collected On,Versamel op,
No. of prints,Aantal afdrukke,
Number of prints required for labelling the samples,Aantal afdrukke benodig vir die etikettering van die monsters,
HLC-VTS-.YYYY.-,HLC-VTS-.JJJJ.-,
Payroll Cost Center,Loonkostekoste,
Approvers,Betogers,
The first Approver in the list will be set as the default Approver.,Die eerste goedkeuring in die lys sal as die standaard goedkeuring gestel word.,
Shift Request Approver,Goedkeuring vir skofversoek,
Provident Fund Account,Voorsorgfondsrekening,
MICR Code,MICR-kode,
Repay unclaimed amount from salary,Betaal onopgeëiste bedrag terug van die salaris,
Deduction from salary,Aftrekking van salaris,
If this is not checked the loan by default will be considered as a Demand Loan,"As dit nie gekontroleer word nie, sal die lening by verstek as &#39;n vraaglening beskou word",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Hierdie rekening word gebruik om lenings van die lener terug te betaal en ook om lenings aan die lener uit te betaal,
This account is capital account which is used to allocate capital for loan disbursal account ,Hierdie rekening is &#39;n kapitaalrekening wat gebruik word om kapitaal toe te ken vir die uitbetaling van lenings,
This account will be used for booking loan interest accruals,Hierdie rekening sal gebruik word vir die bespreking van leningrente,
This account will be used for booking penalties levied due to delayed repayments,Hierdie rekening sal gebruik word vir die bespreking van boetes wat gehef word weens vertraagde terugbetalings,
Variant BOM,Variant BOM,
Template Item,Sjabloonitem,
Select template item,Kies sjabloonitem,
Select variant item code for the template item {0},Kies die variëteitskode vir die sjabloonitem {0},
Downtime Entry,Toegang tot stilstand,
DT-,DT-,
Workstation / Machine,Werkstasie / masjien,
Operator,Operateur,
In Mins,In Min,
Downtime Reason,Rede vir stilstand,
Stop Reason,Stop Rede,
Excessive machine set up time,Oormatige opstel van die masjien,
Unplanned machine maintenance,Onbeplande instandhouding van die masjien,
On-machine press checks,Pers-tjeks op die masjien,
Machine operator errors,Foute by masjienoperateur,
Machine malfunction,Masjienfunksie,
Electricity down,Elektrisiteit af,
Operation Row Number,Operasie ry nommer,
Operation {0} added multiple times in the work order {1},Handeling {0} is verskeie kere in die werkorde bygevoeg {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.","As daar &#39;n vinkje is, kan verskeie materiale vir een werkbestelling gebruik word. Dit is handig as een of meer tydrowende produkte vervaardig word.",
Backflush Raw Materials,Terugspoel grondstowwe,
"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.","Die voorraadinskrywing van die tipe &#39;Vervaardiging&#39; staan bekend as terugspoel. Grondstowwe wat verbruik word om klaarprodukte te vervaardig, staan bekend as terugspoel.<br><br> Wanneer u vervaardigingsinskrywings skep, word grondstofitems teruggespoel op grond van die BOM van die produksie-item. As u wil hê dat grondstofitems moet terugspoel op grond van die materiaaloordraginskrywing teen die werkorder, kan u dit onder hierdie veld instel.",
Work In Progress Warehouse,Werk aan die gang pakhuis,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Hierdie pakhuis sal outomaties opgedateer word in die werk-aan-gang pakhuis-veld van werkbestellings.,
Finished Goods Warehouse,Pakhuis vir voltooide goedere,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Hierdie pakhuis sal outomaties opgedateer word in die veld Targetpakhuis van werkbestelling.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","As dit aangevinkt is, sal die BOM-koste outomaties opgedateer word op grond van die waardasietarief / pryslyskoers / laaste aankoopprys van grondstowwe.",
Source Warehouses (Optional),Bronpakhuise (opsioneel),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Die stelsel haal die materiaal van die geselekteerde pakhuise af. As dit nie gespesifiseer word nie, sal die stelsel materiaalversoek vir aankoop skep.",
Lead Time,Loodtyd,
PAN Details,PAN Besonderhede,
Create Customer,Skep kliënt,
Invoicing,Fakturering,
Enable Auto Invoicing,Aktiveer outo-fakturering,
Send Membership Acknowledgement,Stuur erkenning vir lidmaatskap,
Send Invoice with Email,Stuur faktuur met e-pos,
Membership Print Format,Lidmaatskap se drukformaat,
Invoice Print Format,Faktuurafdrukformaat,
Revoke <Key></Key>,Herroep&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,U kan meer leer oor lidmaatskappe in die handleiding.,
ERPNext Docs,ERPN volgende Dokumente,
Regenerate Webhook Secret,Regenereer Webhook-geheim,
Generate Webhook Secret,Genereer Webhook Secret,
Copy Webhook URL,Kopieer Webhook URL,
Linked Item,Gekoppelde item,
Feedback By,Terugvoer deur,
Manufacturing Section,Vervaardigingsafdeling,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",Die kliëntnaam word standaard ingestel volgens die volledige naam wat ingevoer is. As u wil hê dat klante deur &#39;n,
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Stel die standaardpryslys op wanneer u &#39;n nuwe verkoopstransaksie skep. Itempryse word uit hierdie pryslys gehaal.,
"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.","As hierdie opsie &#39;Ja&#39; is ingestel, sal ERPNext u verhinder om &#39;n verkoopfaktuur of afleweringsnota te maak sonder om eers &#39;n bestelling te skep. Hierdie konfigurasie kan vir &#39;n bepaalde klant oorskry word deur die &#39;Laat skepping van faktuur sonder verkooporder&#39; in die kliënt-hoof aan te skakel.",
"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.","As hierdie opsie &#39;Ja&#39; is ingestel, sal ERPNext u verhinder om &#39;n verkoopfaktuur te maak sonder om eers &#39;n afleweringsnota te skep. Hierdie konfigurasie kan vir &#39;n bepaalde klant oorskry word deur die &#39;Laat skepping van verkoopfakture sonder afleweringsnota&#39; in die kliëntmeester in te skakel.",
Default Warehouse for Sales Return,Standaardpakhuis vir verkoopsopbrengste,
Default In Transit Warehouse,Verstek in pakhuis,
Enable Perpetual Inventory For Non Stock Items,Aktiveer ewigdurende voorraad vir nie-voorraaditems,
HRA Settings,HRA-instellings,
Basic Component,Basiese komponent,
HRA Component,HRA-komponent,
Arrear Component,Komponent agterstallig wees,
Please enter the company name to confirm,Voer die maatskappy se naam in om te bevestig,
Quotation Lost Reason Detail,Aanhaling Verlore Rede Detail,
Enable Variants,Aktiveer variante,
Save Quotations as Draft,Stoor kwotasies as konsep,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.JJJJ.-,
Please Select a Customer,Kies &#39;n klant,
Against Delivery Note Item,Teen afleweringsnota,
Is Non GST ,Is Nie GST nie,
Image Description,Beeldbeskrywing,
Transfer Status,Oordragstatus,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Volg hierdie aankoopbewys teen enige projek,
Please Select a Supplier,Kies &#39;n verskaffer,
Add to Transit,Voeg by vervoer,
Set Basic Rate Manually,Stel basiese tarief handmatig in,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ",Die standaardnaam word standaard ingestel volgens die ingevoerde artikelkode. As u wil hê dat items deur &#39;n,
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Stel &#39;n verstekpakhuis in vir voorraadtransaksies. Dit word in die standaardpakhuis in die artikelmeester gehaal.,
"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.","Hierdeur kan voorraaditems in negatiewe waardes vertoon word. Die gebruik van hierdie opsie hang af van u gebruiksgeval. As hierdie opsie ongemerk is, waarsku die stelsel voordat u &#39;n transaksie wat negatiewe voorraad veroorsaak, belemmer.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Kies tussen FIFO en bewegende gemiddelde waarderingsmetodes. Klik op,
 to know more about them.,om meer oor hulle te weet.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Toon &#39;Scan Barcode&#39; veld bo elke kindertabel om items maklik in te voeg.,
"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.","Serienommers vir voorraad word outomaties ingestel op grond van die items wat ingevoer word, gebaseer op eerste in eerste uit in transaksies soos aankoop- / verkoopsfakture, afleweringsnotas, ens.",
"If blank, parent Warehouse Account or company default will be considered in transactions","As dit leeg is, sal die ouerpakhuisrekening of wanbetaling by die transaksie oorweeg word",
Service Level Agreement Details,Diensvlakooreenkomsbesonderhede,
Service Level Agreement Status,Diensvlakooreenkomsstatus,
On Hold Since,Op wag sedert,
Total Hold Time,Totale tyd,
Response Details,Reaksiebesonderhede,
Average Response Time,Gemiddelde reaksietyd,
User Resolution Time,Gebruikersoplossingstyd,
SLA is on hold since {0},SLA is opgeskort sedert {0},
Pause SLA On Status,Laat wag SLA oor status,
Pause SLA On,Laat wag SLA aan,
Greetings Section,Groete Afdeling,
Greeting Title,Groetentitel,
Greeting Subtitle,Groet Ondertitel,
Youtube ID,Youtube ID,
Youtube Statistics,Youtube-statistieke,
Views,Uitsigte,
Dislikes,Hou nie van nie,
Video Settings,Video-instellings,
Enable YouTube Tracking,Aktiveer YouTube-dop,
30 mins,30 minute,
1 hr,1 uur,
6 hrs,6 uur,
Patient Progress,Pasiënt vordering,
Targetted,Gerig,
Score Obtained,Telling verkry,
Sessions,Sessies,
Average Score,Gemiddelde telling,
Select Assessment Template,Kies Assesseringsjabloon,
 out of ,uit,
Select Assessment Parameter,Kies Assesseringsparameter,
Gender: ,Geslag:,
Contact: ,Kontak:,
Total Therapy Sessions: ,Totale terapiesessies:,
Monthly Therapy Sessions: ,Maandelikse terapiesessies:,
Patient Profile,Pasiëntprofiel,
Point Of Sale,Punt van koop,
Email sent successfully.,E-pos suksesvol gestuur.,
Search by invoice id or customer name,Soek op faktuur-ID of kliëntnaam,
Invoice Status,Faktuurstatus,
Filter by invoice status,Filtreer volgens faktuurstatus,
Select item group,Kies itemgroep,
No items found. Scan barcode again.,Geen items gevind nie. Skandeer weer die strepieskode.,
"Search by customer name, phone, email.","Soek op kliënt se naam, telefoon, e-posadres.",
Enter discount percentage.,Voer afslagpersentasie in.,
Discount cannot be greater than 100%,Afslag mag nie meer as 100% wees nie,
Enter customer's email,Voer die kliënt se e-posadres in,
Enter customer's phone number,Voer die kliënt se telefoonnommer in,
Customer contact updated successfully.,Klantkontak suksesvol opgedateer.,
Item will be removed since no serial / batch no selected.,Item sal verwyder word omdat geen reeks- / groepnommer gekies is nie.,
Discount (%),Afslag (%),
You cannot submit the order without payment.,U kan nie die bestelling indien sonder betaling nie.,
You cannot submit empty order.,U kan nie &#39;n leë bestelling indien nie.,
To Be Paid,Om betaal te word,
Create POS Opening Entry,Skep POS-openingsinskrywing,
Please add Mode of payments and opening balance details.,Voeg asseblief betalingsmetode en openingsaldo-besonderhede by.,
Toggle Recent Orders,Skakel onlangse bestellings in,
Save as Draft,Stoor as konsep,
You must add atleast one item to save it as draft.,U moet minstens een item byvoeg om dit as konsep te stoor.,
There was an error saving the document.,Kon nie die dokument stoor nie.,
You must select a customer before adding an item.,U moet &#39;n klant kies voordat u &#39;n item byvoeg.,
Please Select a Company,Kies &#39;n maatskappy,
Active Leads,Aktiewe leidrade,
Please Select a Company.,Kies &#39;n maatskappy.,
BOM Operations Time,BOM-operasietyd,
BOM ID,BOM-ID,
BOM Item Code,BOM-itemkode,
Time (In Mins),Tyd (in minute),
Sub-assembly BOM Count,Ondertrek BOM Aantal,
View Type,Aansig tipe,
Total Delivered Amount,Totale afleweringsbedrag,
Downtime Analysis,Stilstandanalise,
Machine,Masjien,
Downtime (In Hours),Stilstand (binne-ure),
Employee Analytics,Werknemersanalise,
"""From date"" can not be greater than or equal to ""To date""",&quot;Vanaf datum&quot; kan nie groter as of gelyk wees aan &quot;Tot op datum&quot; nie,
Exponential Smoothing Forecasting,Eksponensiële Smoothing Voorspelling,
First Response Time for Issues,Eerste reaksie tyd vir probleme,
First Response Time for Opportunity,Eerste reaksie tyd vir geleentheid,
Depreciatied Amount,Afgeskrewe bedrag,
Period Based On,Tydperk gebaseer op,
Date Based On,Datum gebaseer op,
{0} and {1} are mandatory,{0} en {1} is verpligtend,
Consider Accounting Dimensions,Oorweeg rekeningkundige afmetings,
Reserved Quantity for Production,Gereserveerde hoeveelheid vir produksie,
Projected Quantity,Geprojekteerde hoeveelheid,
 Total Sales Amount,Totale verkoopsbedrag,
Job Card Summary,Werkkaartopsomming,
Id,Id,
Time Required (In Mins),Tyd benodig (in minute),
From Posting Date,Vanaf boekingsdatum,
To Posting Date,Na die boekingsdatum,
No records found,Geen rekords gevind,
Customer/Lead Name,Klant / hoofnaam,
Production Planning Report,Produksiebeplanningsverslag,
Order Qty,Bestel hoeveelheid,
Raw Material Code,Grondstofkode,
Raw Material Name,Grondstofnaam,
Allotted Qty,Toegekende hoeveelheid,
Expected Arrival Date,Verwagte aankomsdatum,
Arrival Quantity,Aankomshoeveelheid,
Raw Material Warehouse,Grondstofpakhuis,
Order By,Bestel volgens,
Include Sub-assembly Raw Materials,Sluit ondermateriaal grondstowwe in,
Program wise Fee Collection,Programwyse fooi-invordering,
Fees Collected,Fooie ingevorder,
Project Summary,Projekopsomming,
Total Tasks,Totale take,
Tasks Completed,Take voltooi,
Tasks Overdue,Take agterstallig,
Completion,Voltooiing,
Purchase Order Analysis,Inkooporderontleding,
From and To Dates are required.,Van en tot datums word vereis.,
To Date cannot be before From Date.,Tot datum kan nie voor vanaf datum wees nie.,
Qty to Bill,Aantal aan Bill,
Group by Purchase Order,Groepeer volgens bestelling,
 Purchase Value,Aankoopwaarde,
Total Received Amount,Totale bedrag ontvang,
Quality Inspection Summary,Opsomming van gehalte-inspeksie,
 Quoted Amount,Aantal aangehaal,
Lead Time (Days),Loodtyd (dae),
Include Expired,Sluit verval in,
Requested Items to Order and Receive,Aangevraagde items om te bestel en te ontvang,
Sales Order Analysis,Verkooporderontleding,
Amount Delivered,Bedrag afgelewer,
Delay (in Days),Vertraag (in dae),
Group by Sales Order,Groepeer volgens verkoopsorder,
 Sales Value,Verkoopswaarde,
Stock Qty vs Serial No Count,Voorraadhoeveelheid teenoor reeksnommer,
Serial No Count,Reeks Geen telling,
Work Order Summary,Werkorderopsomming,
Produce Qty,Produseer hoeveelheid,
Lead Time (in mins),Loodtyd (in minute),
Charts Based On,Kaarte gebaseer op,
YouTube Interactions,YouTube-interaksies,
Published Date,Gepubliseerde datum,
Barnch,Barnch,
Select a Company,Kies &#39;n maatskappy,
Opportunity {0} created,Geleentheid {0} geskep,
Kindly select the company first,Kies eers die maatskappy,
Please enter From Date and To Date to generate JSON,Voer die datum en datum in om JSON te genereer,
Download DATEV File,Laai DATEV-lêer af,
Numero has not set in the XML file,Numero het nie in die XML-lêer ingestel nie,
Inward Supplies(liable to reverse charge),Inwaartse toevoer (aanspreeklik vir omgekeerde heffing),
This is based on the course schedules of this Instructor,Dit is gebaseer op die kursusse van hierdie instrukteur,
Course and Assessment,Kursus en assessering,
Course {0} has been added to all the selected programs successfully.,Kursus {0} is suksesvol by al die geselekteerde programme gevoeg.,
Programs updated,Programme opgedateer,
Program and Course,Program en kursus,
{0} or {1} is mandatory,{0} of {1} is verpligtend,
Mandatory Fields,Verpligte velde,
Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} behoort nie tot die studentegroep nie {2},
Student Attendance record {0} already exists against the Student {1},Studentebywoningsrekord {0} bestaan reeds teen die student {1},
Course and Fee,Kursus en fooi,
Not eligible for the admission in this program as per Date Of Birth,Kom nie in aanmerking vir toelating tot hierdie program volgens geboortedatum nie,
Topic {0} has been added to all the selected courses successfully.,Onderwerp {0} is suksesvol by al die gekose kursusse gevoeg.,
Courses updated,Kursusse opgedateer,
{0} {1} has been added to all the selected topics successfully.,{0} {1} is suksesvol by al die geselekteerde onderwerpe gevoeg.,
Topics updated,Onderwerpe is opgedateer,
Academic Term and Program,Akademiese termyn en program,
Please remove this item and try to submit again or update the posting time.,Verwyder hierdie item en probeer weer om dit in te dien of die tyd van die plasing op te dateer.,
Failed to Authenticate the API key.,Kon nie die API-sleutel verifieer nie.,
Invalid Credentials,Ongeldige magtigingsbewyse,
URL can only be a string,URL kan slegs &#39;n string wees,
"Here is your webhook secret, this will be shown to you only once.","Hier is u webhook-geheim, dit sal net een keer aan u gewys word.",
The payment for this membership is not paid. To generate invoice fill the payment details,Die betaling vir hierdie lidmaatskap word nie betaal nie. Vul die betalingsbesonderhede in om fakture te genereer,
An invoice is already linked to this document,&#39;N Faktuur is reeds aan hierdie dokument gekoppel,
No customer linked to member {},Geen klant gekoppel aan lid nie {},
You need to set <b>Debit Account</b> in Membership Settings,U moet die <b>debietrekening</b> instel in lidmaatskapinstellings,
You need to set <b>Default Company</b> for invoicing in Membership Settings,U moet <b>Standaardmaatskappy</b> vir fakturering instel in Lidmaatskapinstellings,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,U moet <b>e-pos</b> vir <b>stuur erkenning inskakel</b> in lidmaatskapinstellings,
Error creating membership entry for {0},Kon nie lidmaatskapinskrywing vir {0} skep nie,
A customer is already linked to this Member,&#39;N Klant is reeds aan hierdie lid gekoppel,
End Date must not be lesser than Start Date,Einddatum mag nie kleiner wees as die begindatum nie,
Employee {0} already has Active Shift {1}: {2},Werknemer {0} het reeds Active Shift {1}: {2},
 from {0},vanaf {0},
 to {0},na {0},
Please set {0} for the Employee or for Department: {1},Stel {0} vir die werknemer of vir die departement in: {1},
Employee Onboarding: {0} is already for Job Applicant: {1},Werknemers aan boord: {0} is reeds vir werksaansoeker: {1},
Asset Value Analytics,Analise van batewaarde,
Category-wise Asset Value,Kategoriewysige batewaarde,
Total Assets,Totale bates,
New Assets (This Year),Nuwe bates (hierdie jaar),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Ry nr. {}: Datum van afskrywings moet nie gelyk wees aan die datum beskikbaar nie.,
Incorrect Date,Verkeerde datum,
Invalid Gross Purchase Amount,Ongeldige bruto aankoopbedrag,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Daar is aktiewe instandhouding of herstelwerk aan die bate. U moet almal voltooi voordat u die bate kanselleer.,
% Complete,% Voltooi,
Back to Course,Terug na die kursus,
Finish Topic,Voltooi onderwerp,
Mins,Min,
by,deur,
Back to,Terug na,
Enrolling...,Skryf tans in ...,
You have successfully enrolled for the program ,U het suksesvol vir die program ingeskryf,
Enrolled,Ingeskryf,
Watch Intro,Kyk na Intro,
We're here to help!,Ons is hier om te help!,
Frequently Read Articles,Lees artikels gereeld,
Please set a default company address,Stel asseblief &#39;n verstekadres vir die maatskappy in,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} is nie &#39;n geldige toestand nie! Gaan na tikfoute of voer die ISO-kode vir u staat in.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Fout het voorgekom tydens ontleding van rekeningrekeninge: maak asseblief seker dat nie twee rekeninge dieselfde naam het nie,
Plaid invalid request error,Plaid ongeldige versoekfout,
Please check your Plaid client ID and secret values,Gaan u Plaid-kliënt-ID en geheime waardes na,
Bank transaction creation error,Fout met die skep van banktransaksies,
Unit of Measurement,Eenheid van mate,
Fiscal Year {0} Does Not Exist,Fiskale jaar {0} bestaan nie,
Row # {0}: Returned Item {1} does not exist in {2} {3},Ry # {0}: Teruggestuurde item {1} bestaan nie in {2} {3},
Valuation type charges can not be marked as Inclusive,Kostes van waardasie kan nie as Inklusief gemerk word nie,
You do not have permissions to {} items in a {}.,U het nie toestemming vir {} items in &#39;n {} nie.,
Insufficient Permissions,Onvoldoende toestemmings,
You are not allowed to update as per the conditions set in {} Workflow.,U mag nie opdateer volgens die voorwaardes wat in {} Werkvloei gestel word nie.,
Expense Account Missing,Uitgawe-rekening ontbreek,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} is nie &#39;n geldige waarde vir kenmerk {1} van item {2} nie.,
Invalid Value,Ongeldige waarde,
The value {0} is already assigned to an existing Item {1}.,Die waarde {0} is reeds aan &#39;n bestaande artikel toegeken {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.",Skakel {0} in die instelling van artikelvariante in om steeds met die wysiging van hierdie kenmerkwaarde te gaan.,
Edit Not Allowed,Wysig nie toegelaat nie,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Ry # {0}: Item {1} is reeds volledig in bestelling ontvang {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},U kan geen rekeningkundige inskrywings skep of kanselleer in die geslote rekeningkundige tydperk nie {0},
POS Invoice should have {} field checked.,POS-faktuur moet die veld {} hê.,
Invalid Item,Ongeldige item,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Ry # {}: u kan nie postiewe hoeveelhede in &#39;n retoervaktuur byvoeg nie. Verwyder item {} om die opgawe te voltooi.,
The selected change account {} doesn't belongs to Company {}.,Die geselekteerde veranderingsrekening {} behoort nie aan die maatskappy nie {}.,
Atleast one invoice has to be selected.,Ten minste een faktuur moet gekies word.,
Payment methods are mandatory. Please add at least one payment method.,Betaalmetodes is verpligtend. Voeg ten minste een betaalmetode by.,
Please select a default mode of payment,Kies &#39;n standaard betaalmetode,
You can only select one mode of payment as default,U kan slegs een betaalmetode as verstek kies,
Missing Account,Rekening ontbreek,
Customers not selected.,Kliënte nie gekies nie.,
Statement of Accounts,Rekeningstaat,
Ageing Report Based On ,Verouderingsverslag gebaseer op,
Please enter distributed cost center,Voer asseblief die verspreide kostesentrum in,
Total percentage allocation for distributed cost center should be equal to 100,Die totale persentasie toekenning vir verspreide kostepunte moet gelyk wees aan 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Kan verspreide kostesentrum nie aktiveer vir &#39;n kostesentrum wat al in &#39;n ander verspreide kostesentrum toegewys is nie,
Parent Cost Center cannot be added in Distributed Cost Center,Ouer-kostepunt kan nie bygevoeg word in verspreide kostesentrum nie,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,&#39;N Verspreide kostesentrum kan nie bygevoeg word in die toekenningstabel vir verspreide kostesentrum nie.,
Cost Center with enabled distributed cost center can not be converted to group,Kostepunt met geaktiveerde verspreide kostepunt kan nie na groep omgeskakel word nie,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,"Kostesentrum wat reeds in &#39;n verspreide kostesentrum toegeken is, kan nie na groep omgeskakel word nie",
Trial Period Start date cannot be after Subscription Start Date,Begindatum vir proeftydperk kan nie na die begindatum van die intekening wees nie,
Subscription End Date must be after {0} as per the subscription plan,Einddatum vir intekeninge moet volgens die intekeningsplan na {0} wees,
Subscription End Date is mandatory to follow calendar months,Einddatum vir intekeninge is verpligtend om kalendermaande te volg,
Row #{}: POS Invoice {} is not against customer {},Ry # {}: POS-faktuur {} is nie teen kliënt nie {},
Row #{}: POS Invoice {} is not submitted yet,Ry # {}: POS-faktuur {} is nog nie ingedien nie,
Row #{}: POS Invoice {} has been {},Ry # {}: POS-faktuur {} is {},
No Supplier found for Inter Company Transactions which represents company {0},Geen verskaffer gevind vir transaksies tussen maatskappye wat die maatskappy verteenwoordig nie {0},
No Customer found for Inter Company Transactions which represents company {0},Geen kliënt gevind vir Inter Company Transactions wat die maatskappy verteenwoordig nie {0},
Invalid Period,Ongeldige tydperk,
Selected POS Opening Entry should be open.,Geselekteerde POS-inskrywings moet oop wees.,
Invalid Opening Entry,Ongeldige openingsinskrywing,
Please set a Company,Stel &#39;n maatskappy in,
"Sorry, this coupon code's validity has not started","Jammer, die geldigheid van hierdie koeponkode het nie begin nie",
"Sorry, this coupon code's validity has expired","Jammer, die geldigheid van hierdie koeponkode het verval",
"Sorry, this coupon code is no longer valid","Jammer, hierdie koeponkode is nie meer geldig nie",
For the 'Apply Rule On Other' condition the field {0} is mandatory,Vir die voorwaarde &#39;Pas reël toe op ander&#39; is die veld {0} verpligtend,
{1} Not in Stock,{1} Nie in voorraad nie,
Only {0} in Stock for item {1},Slegs {0} in voorraad vir item {1},
Please enter a coupon code,Voer &#39;n koeponkode in,
Please enter a valid coupon code,Voer &#39;n geldige koeponkode in,
Invalid Child Procedure,Ongeldige kinderprosedure,
Import Italian Supplier Invoice.,Voer Italiaanse verskaffersfakture in.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Waarderingskoers vir die artikel {0} word vereis om rekeningkundige inskrywings vir {1} {2} te doen.,
 Here are the options to proceed:,Hier is die opsies om voort 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.","As die item in hierdie inskrywing as &#39;n nulwaardasietempo-item handel, skakel u &#39;Laat nulwaardasietarief toe&#39; in die {0} Itemtabel aan.",
"If not, you can Cancel / Submit this entry ","Indien nie, kan u hierdie inskrywing kanselleer / indien",
 performing either one below:,voer een van die volgende een uit:,
Create an incoming stock transaction for the Item.,Skep &#39;n inkomende voorraadtransaksie vir die Item.,
Mention Valuation Rate in the Item master.,Noem waardasiesyfer in die artikelmeester.,
Valuation Rate Missing,Waardasiesyfer ontbreek,
Serial Nos Required,Reeksnommer benodig,
Quantity Mismatch,Hoeveelheid foutiewe,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.",Herlaai asseblief items en werk die keuselys op om voort te gaan. Kanselleer die kieslys om te staak.,
Out of Stock,Uit voorraad uit,
{0} units of Item {1} is not available.,{0} eenhede van item {1} is nie beskikbaar nie.,
Item for row {0} does not match Material Request,Item vir ry {0} stem nie ooreen met materiaalversoek nie,
Warehouse for row {0} does not match Material Request,Pakhuis vir ry {0} stem nie ooreen met die materiaalversoek nie,
Accounting Entry for Service,Rekeningkundige inskrywing vir diens,
All items have already been Invoiced/Returned,Alle items is reeds gefaktureer / teruggestuur,
All these items have already been Invoiced/Returned,Al hierdie items is reeds gefaktureer / teruggestuur,
Stock Reconciliations,Voorraadversoenings,
Merge not allowed,Saamvoeg nie toegelaat nie,
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.,"Die volgende geskrapte kenmerke bestaan in variante, maar nie in die sjabloon nie. U kan die Variante uitvee of die kenmerk (e) in die sjabloon hou.",
Variant Items,Variantitems,
Variant Attribute Error,Variantkenmerkfout,
The serial no {0} does not belong to item {1},Die serienummer {0} behoort nie tot item {1} nie,
There is no batch found against the {0}: {1},Daar is geen groep teen die {0} gevind nie: {1},
Completed Operation,Voltooide operasie,
Work Order Analysis,Werkbestellingsanalise,
Quality Inspection Analysis,Kwaliteitsinspeksie-analise,
Pending Work Order,Hangende werkbestelling,
Last Month Downtime Analysis,Analise vir stilstand van die afgelope maand,
Work Order Qty Analysis,Hoeveelheid analise van werkbestellings,
Job Card Analysis,Poskaartontleding,
Monthly Total Work Orders,Maandelikse totale werkbestellings,
Monthly Completed Work Orders,Maandelikse voltooide werkbestellings,
Ongoing Job Cards,Deurlopende werkkaarte,
Monthly Quality Inspections,Maandelikse kwaliteitsinspeksies,
(Forecast),(Vooruitskatting),
Total Demand (Past Data),Totale vraag (vorige data),
Total Forecast (Past Data),Totale voorspelling (vorige data),
Total Forecast (Future Data),Totale voorspelling (toekomstige data),
Based On Document,Gebaseer op dokument,
Based On Data ( in years ),Gebaseer op data (in jare),
Smoothing Constant,Gladdende konstante,
Please fill the Sales Orders table,Vul die tabel met bestellings in,
Sales Orders Required,Verkooporders benodig,
Please fill the Material Requests table,Vul asseblief die tabel met materiaalversoeke in,
Material Requests Required,Materiaalversoeke benodig,
Items to Manufacture are required to pull the Raw Materials associated with it.,"Items om te vervaardig is nodig om die grondstowwe wat daarmee gepaard gaan, te trek.",
Items Required,Items benodig,
Operation {0} does not belong to the work order {1},Handeling {0} behoort nie tot die werkbestelling nie {1},
Print UOM after Quantity,Druk UOM na hoeveelheid uit,
Set default {0} account for perpetual inventory for non stock items,Stel die standaard {0} -rekening vir permanente voorraad vir nie-voorraaditems,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Ry # {0}: Kinditem mag nie &#39;n produkbundel wees nie. Verwyder asseblief item {1} en stoor,
Credit limit reached for customer {0},Kredietlimiet vir kliënt {0} bereik,
Could not auto create Customer due to the following missing mandatory field(s):,Kon nie kliënt outomaties skep nie weens die volgende ontbrekende verpligte veld (e):,
Please create Customer from Lead {0}.,Skep asb. Kliënt vanuit lood {0}.,
Mandatory Missing,Verpligtend ontbreek,
From Date can not be greater than To Date.,Vanaf datum kan nie groter wees as tot op datum nie.,
Row #{0}: Please enter the result value for {1},Ry # {0}: voer die resultaatwaarde vir {1} in,
Mandatory Results,Verpligte uitslae,
Sales Invoice or Patient Encounter is required to create Lab Tests,Verkoopfaktuur of pasiëntontmoeting is nodig om laboratoriumtoetse te skep,
Insufficient Data,Onvoldoende data,
Lab Test(s) {0} created successfully,Laboratoriumtoets (e) {0} is suksesvol geskep,
Test :,Toets:,
Sample Collection {0} has been created,Voorbeeldversameling {0} is geskep,
Normal Range: ,Normale omvang:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Ry # {0}: Uitklokdatum kan nie minder wees as Inklokdatum nie,
"Missing required details, did not create Inpatient Record","Ontbrekende besonderhede ontbreek, het nie binnepasiëntrekord geskep nie",
Unbilled Invoices,Ongefaktureerde fakture,
Standard Selling Rate should be greater than zero.,Standaardverkoopprys moet groter as nul wees.,
Conversion Factor is mandatory,Omskakelingsfaktor is verpligtend,
Row #{0}: Conversion Factor is mandatory,Ry # {0}: omskakelingsfaktor is verpligtend,
Sample Quantity cannot be negative or 0,Voorbeeldhoeveelheid kan nie negatief of 0 wees nie,
Invalid Quantity,Ongeldige hoeveelheid,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Stel standaardinstellings vir kliëntegroep-, gebieds- en verkooppryslys in verkoopinstellings",
{0} on {1},{0} op {1},
{0} with {1},{0} met {1},
Appointment Confirmation Message Not Sent,Afspraakbevestigingsboodskap nie gestuur nie,
"SMS not sent, please check SMS Settings","SMS nie gestuur nie, gaan asseblief na SMS-instellings",
Healthcare Service Unit Type cannot have both {0} and {1},Gesondheidsorgdiens-tipe kan nie beide {0} en {1} hê nie,
Healthcare Service Unit Type must allow atleast one among {0} and {1},Die tipe eenheid vir gesondheidsorgdiens moet minstens een toelaat tussen {0} en {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Stel reaksietyd en resolusietyd vir prioriteit {0} in ry {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Die responstyd vir {0} prioriteit in ry {1} kan nie langer wees as die resolusietyd nie.,
{0} is not enabled in {1},{0} is nie geaktiveer in {1},
Group by Material Request,Groepeer volgens materiaalversoek,
Email Sent to Supplier {0},E-pos gestuur aan verskaffer {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.",Die toegang tot die versoek vir &#39;n kwotasie vanaf die portaal is uitgeskakel. Skakel dit in Portaalinstellings in om toegang te verleen.,
Supplier Quotation {0} Created,Kwotasie van verskaffer {0} geskep,
Valid till Date cannot be before Transaction Date,Geldige bewerkingsdatum kan nie voor transaksiedatum wees nie,
Unlink Advance Payment on Cancellation of Order,Ontkoppel vooruitbetaling by kansellasie van bestelling,
"Simple Python Expression, Example: territory != 'All Territories'","Eenvoudige Python-uitdrukking, Voorbeeld: gebied! = &#39;Alle gebiede&#39;",
Sales Contributions and Incentives,Verkoopsbydraes en aansporings,
Sourced by Supplier,Van verskaffer verkry,
Total weightage assigned should be 100%.<br>It is {0},Die totale gewigstoekenning moet 100% wees.<br> Dit is {0},
Account {0} exists in parent company {1}.,Rekening {0} bestaan in moedermaatskappy {1}.,
"To overrule this, enable '{0}' in company {1}",Skakel &#39;{0}&#39; in die maatskappy {1} in om dit te oorheers.,
Invalid condition expression,Ongeldige toestandsuitdrukking,
Please Select a Company First,Kies eers &#39;n maatskappy,
Please Select Both Company and Party Type First,Kies asseblief eers die maatskappy en die partytjie,
Provide the invoice portion in percent,Verskaf die faktuurgedeelte in persent,
Give number of days according to prior selection,Gee die aantal dae volgens voorafgaande keuse,
Email Details,E-posbesonderhede,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Kies &#39;n groet vir die ontvanger. Bv. Mnr., Me., Ens.",
Preview Email,Voorskou e-pos,
Please select a Supplier,Kies &#39;n verskaffer,
Supplier Lead Time (days),Leveringstyd (dae),
"Home, Work, etc.","Huis, werk, ens.",
Exit Interview Held On,Uitgangsonderhoud gehou,
Sets 'Target Warehouse' in each row of the Items table.,Stel &#39;Target Warehouse&#39; in elke ry van die Items-tabel.,
Sets 'Source Warehouse' in each row of the Items table.,Stel &#39;Bronpakhuis&#39; in elke ry van die Artikeltabel in.,
POS Register,POS-register,
"Can not filter based on POS Profile, if grouped by POS Profile","Kan nie gebaseer op POS-profiel filter nie, indien dit gegroepeer is volgens POS-profiel",
"Can not filter based on Customer, if grouped by Customer","Kan nie op grond van die klant filter nie, indien dit volgens die klant gegroepeer is",
"Can not filter based on Cashier, if grouped by Cashier","Kan nie filter op grond van Kassier nie, indien dit gegroepeer is volgens Kassier",
Payment Method,Betalings metode,
"Can not filter based on Payment Method, if grouped by Payment Method","Kan nie op grond van die betaalmetode filter nie, indien dit gegroepeer is volgens die betaalmetode",
Supplier Quotation Comparison,Vergelyking tussen kwotasies van verskaffers,
Price per Unit (Stock UOM),Prys per eenheid (voorraad UOM),
Group by Supplier,Groepeer volgens verskaffer,
Group by Item,Groepeer volgens item,
Remember to set {field_label}. It is required by {regulation}.,Onthou om {field_label} in te stel. Dit word deur {regulasie} vereis.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},Inskrywingsdatum kan nie voor die begindatum van die akademiese jaar wees nie {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},Inskrywingsdatum kan nie na die einddatum van die akademiese termyn {0} wees nie,
Enrollment Date cannot be before the Start Date of the Academic Term {0},Inskrywingsdatum kan nie voor die begindatum van die akademiese termyn {0} wees nie,
Future Posting Not Allowed,Toekomstige plasing word nie toegelaat nie,
"To enable Capital Work in Progress Accounting, ","Om rekeningkundige kapitaalwerk moontlik te maak,",
you must select Capital Work in Progress Account in accounts table,u moet Capital Work in Progress-rekening in die rekeningtabel kies,
You can also set default CWIP account in Company {},U kan ook die standaard CWIP-rekening instel in die maatskappy {},
The Request for Quotation can be accessed by clicking on the following button,Toegang tot die versoek vir &#39;n kwotasie is deur op die volgende knoppie te klik,
Regards,Groete,
Please click on the following button to set your new password,Klik op die volgende knoppie om u nuwe wagwoord in te stel,
Update Password,Wagwoord op te dateer,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Ry # {}: die verkoopkoers vir item {} is laer as die {}. Verkoop {} moet ten minste {} wees,
You can alternatively disable selling price validation in {} to bypass this validation.,U kan ook die validering van verkooppryse in {} deaktiveer om hierdie validering te omseil.,
Invalid Selling Price,Ongeldige verkoopprys,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adres moet aan &#39;n maatskappy gekoppel word. Voeg asseblief &#39;n ry vir Company in die skakeltabel.,
Company Not Linked,Maatskappy nie gekoppel nie,
Import Chart of Accounts from CSV / Excel files,Voer rekeningrekeninge in vanaf CSV / Excel-lêers,
Completed Qty cannot be greater than 'Qty to Manufacture',Voltooide hoeveelheid kan nie groter wees as &#39;hoeveelheid om te vervaardig&#39;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email",Ry {0}: Vir verskaffer {1} word e-posadres vereis om &#39;n e-pos te stuur,
"If enabled, the system will post accounting entries for inventory automatically","As dit geaktiveer is, sal die stelsel outomaties rekeningkundige inskrywings vir voorraad plaas",
Accounts Frozen Till Date,Rekeninge Bevrore tot op datum,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,"Rekeningkundige inskrywings word tot op hierdie datum gevries. Niemand kan inskrywings skep of wysig nie, behalwe gebruikers met die onderstaande rol",
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rol toegelaat om bevrore rekeninge op te stel en bevrore inskrywings te wysig,
Address used to determine Tax Category in transactions,Adres wat gebruik word om belastingkategorie in transaksies te bepaal,
"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 ","Die persentasie waarop u toegelaat word om meer te faktureer teen die bedrag wat u bestel. As die bestelwaarde byvoorbeeld $ 100 vir &#39;n artikel is en die toleransie op 10% gestel word, mag u tot $ 110 faktureer",
This role is allowed to submit transactions that exceed credit limits,Hierdie rol word toegelaat om transaksies in te dien wat die kredietlimiete oorskry,
"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","As &#39;Maande&#39; gekies word, word &#39;n vaste bedrag vir elke maand as uitgestelde inkomste of uitgawe geboek, ongeag die aantal dae in &#39;n maand. Dit sal oorweeg word as uitgestelde inkomste of uitgawes vir &#39;n hele maand nie bespreek word nie",
"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","As dit nie gemerk is nie, sal direkte GL-inskrywings geskep word om uitgestelde inkomste of uitgawes te bespreek",
Show Inclusive Tax in Print,Toon inklusiewe belasting in druk,
Only select this if you have set up the Cash Flow Mapper documents,Kies dit slegs as u die Cash Flow Mapper-dokumente opgestel het,
Payment Channel,Betalingskanaal,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Is &#39;n bestelling nodig vir die skep van fakture en ontvangsbewyse?,
Is Purchase Receipt Required for Purchase Invoice Creation?,Is aankoopbewys nodig vir die skep van aankoopfakture?,
Maintain Same Rate Throughout the Purchase Cycle,Handhaaf dieselfde koers gedurende die aankoopsiklus,
Allow Item To Be Added Multiple Times in a Transaction,Laat toe dat items meerdere kere bygevoeg word in &#39;n transaksie,
Suppliers,Verskaffers,
Send Emails to Suppliers,Stuur e-posse na verskaffers,
Select a Supplier,Kies &#39;n verskaffer,
Cannot mark attendance for future dates.,Kan nie bywoning vir toekomstige datums merk nie.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Wil u die bywoning bywerk?<br> Aanwesig: {0}<br> Afwesig: {1},
Mpesa Settings,Mpesa-instellings,
Initiator Name,Inisieerder Naam,
Till Number,Tot nommer,
Sandbox,Sandbak,
 Online PassKey,Aanlyn PassKey,
Security Credential,Sekuriteitsbewys,
Get Account Balance,Kry rekeningbalans,
Please set the initiator name and the security credential,Stel die naam van die inisieerder en die sekuriteitsbewys in,
Inpatient Medication Entry,Toelating tot medikasie vir binnepasiënte,
HLC-IME-.YYYY.-,HLC-IME-.JJJJ.-,
Item Code (Drug),Itemkode (dwelm),
Medication Orders,Medisyne bestellings,
Get Pending Medication Orders,Kry hangende medisyne-bestellings,
Inpatient Medication Orders,Mediese bestellings vir binnepasiënte,
Medication Warehouse,Medikasiepakhuis,
Warehouse from where medication stock should be consumed,Pakhuis vanwaar medisyne gebruik moet word,
Fetching Pending Medication Orders,Haal hangende medisyne-bestellings op,
Inpatient Medication Entry Detail,Inskrywingsdetail vir binnemedikasie,
Medication Details,Medikasiebesonderhede,
Drug Code,Dwelmkode,
Drug Name,Dwelmsnaam,
Against Inpatient Medication Order,Teen medikasiebevel vir binnepasiënte,
Against Inpatient Medication Order Entry,Tegniese bestellings vir medikasie vir binnepasiënte,
Inpatient Medication Order,Medikasiebevel vir binnepasiënte,
HLC-IMO-.YYYY.-,HLC-IMO-.JJJJ.-,
Total Orders,Totale bestellings,
Completed Orders,Voltooide bestellings,
Add Medication Orders,Voeg medisyne bestellings by,
Adding Order Entries,Bestelinskrywings byvoeg,
{0} medication orders completed,{0} medisyne-bestellings voltooi,
{0} medication order completed,{0} medisyne-bestelling voltooi,
Inpatient Medication Order Entry,Invoer vir medikasie vir binnepasiënte,
Is Order Completed,Is bestelling voltooi,
Employee Records to Be Created By,Werknemersrekords om deur te skep,
Employee records are created using the selected field,Werknemersrekords word met behulp van die geselekteerde veld geskep,
Don't send employee birthday reminders,Moenie werknemers se verjaardagaanmanings stuur nie,
Restrict Backdated Leave Applications,Beperk teruggedateerde verlofaansoeke,
Sequence ID,Volgorde ID,
Sequence Id,Volgorde Id,
Allow multiple material consumptions against a Work Order,Laat veelvuldige materiële verbruik teen &#39;n werkorder toe,
Plan time logs outside Workstation working hours,Beplan tydlêers buite werksure vir werkstasies,
Plan operations X days in advance,Beplan bedrywighede X dae voor die tyd,
Time Between Operations (Mins),Tyd tussen bewerkings (min.),
Default: 10 mins,Verstek: 10 minute,
Overproduction for Sales and Work Order,Oorproduksie vir verkope en werkbestelling,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Werk BOM-koste outomaties op via die skeduleerder, gebaseer op die nuutste waardasietarief / pryslyskoers / laaste aankoopprys van grondstowwe",
Purchase Order already created for all Sales Order items,Aankooporder wat reeds vir alle verkooporderitems gemaak is,
Select Items,Kies Items,
Against Default Supplier,Teen verstekverskaffer,
Auto close Opportunity after the no. of days mentioned above,Geleentheid outomaties sluit na die nr. van die dae hierbo genoem,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Is verkoopsorder benodig vir die skep van verkoopsfakture en afleweringsnotas?,
Is Delivery Note Required for Sales Invoice Creation?,Is afleweringsnota nodig vir die skep van verkoopsfakture?,
How often should Project and Company be updated based on Sales Transactions?,Hoe gereeld moet Projek en Maatskappy op grond van verkoopstransaksies opgedateer word?,
Allow User to Edit Price List Rate in Transactions,Laat gebruikers toe om pryslystrate in transaksies te wysig,
Allow Item to Be Added Multiple Times in a Transaction,Laat toe dat items meerdere kere bygevoeg word in &#39;n transaksie,
Allow Multiple Sales Orders Against a Customer's Purchase Order,Laat veelvuldige verkope bestellings toe teen &#39;n klant se bestelling,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Valideer verkoopprys vir artikel teen aankoopprys of waardasie,
Hide Customer's Tax ID from Sales Transactions,Versteek die belasting-ID van die klant van die verkoopstransaksies,
"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.","Die persentasie wat u mag ontvang of meer aflewer teen die hoeveelheid wat u bestel. As u byvoorbeeld 100 eenhede bestel het, en u toelae 10% is, mag u 110 eenhede ontvang.",
Action If Quality Inspection Is Not Submitted,Optrede as kwaliteitsinspeksie nie ingedien word nie,
Auto Insert Price List Rate If Missing,Voeg pryslyskoers outomaties in indien ontbreek,
Automatically Set Serial Nos Based on FIFO,Stel serienummers outomaties op grond van EIEU,
Set Qty in Transactions Based on Serial No Input,Stel hoeveelheid in transaksies op basis van reeksinvoer nie,
Raise Material Request When Stock Reaches Re-order Level,Verhoog die materiaalversoek wanneer die voorraad die herbestellingsvlak bereik,
Notify by Email on Creation of Automatic Material Request,Stel dit per e-pos in kennis oor die skep van outomatiese materiaalversoek,
Allow Material Transfer from Delivery Note to Sales Invoice,Laat materiaaloordrag toe van afleweringsnota na verkoopsfaktuur,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Laat materiaaloordrag toe van aankoopbewys na aankoopfaktuur,
Freeze Stocks Older Than (Days),Vriesvoorrade ouer as (dae),
Role Allowed to Edit Frozen Stock,Rol toegelaat om bevrore voorraad te wysig,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,"Die bedrag wat nie toegeken is nie, is groter as die bedrag wat die banktransaksie nie toeken nie",
Payment Received,Betaling ontvang,
Attendance cannot be marked outside of Academic Year {0},Bywoning kan nie buite die akademiese jaar {0} gemerk word nie,
Student is already enrolled via Course Enrollment {0},Student is reeds ingeskryf via kursusinskrywing {0},
Attendance cannot be marked for future dates.,Bywoning kan nie gemerk word vir toekomstige datums nie.,
Please add programs to enable admission application.,Voeg asseblief programme by om die aansoek om toelating moontlik te maak.,
The following employees are currently still reporting to {0}:,Die volgende werknemers meld tans nog aan by {0}:,
Please make sure the employees above report to another Active employee.,Maak asseblief seker dat die werknemers hierbo aan &#39;n ander aktiewe werknemer rapporteer.,
Cannot Relieve Employee,Kan nie werknemer ontslaan nie,
Please enter {0},Voer asseblief {0} in,
Please select another payment method. Mpesa does not support transactions in currency '{0}',Kies &#39;n ander betaalmetode. Mpesa ondersteun nie transaksies in die geldeenheid &#39;{0}&#39;,
Transaction Error,Transaksiefout,
Mpesa Express Transaction Error,Mpesa Express-transaksiefout,
"Issue detected with Mpesa configuration, check the error logs for more details","Probleem opgespoor met Mpesa-konfigurasie, kyk na die foutlêers vir meer besonderhede",
Mpesa Express Error,Mpesa Express-fout,
Account Balance Processing Error,Verwerking van rekeningbalansfout,
Please check your configuration and try again,Gaan u konfigurasie na en probeer weer,
Mpesa Account Balance Processing Error,Verwerking van Mpesa-rekeningbalansfout,
Balance Details,Balansbesonderhede,
Current Balance,Huidige balaans,
Available Balance,Beskikbare balans,
Reserved Balance,Gereserveerde balans,
Uncleared Balance,Onduidelike balans,
Payment related to {0} is not completed,Betaling wat verband hou met {0} is nie voltooi nie,
Row #{}: Item Code: {} is not available under warehouse {}.,Ry # {}: Itemkode: {} is nie beskikbaar onder pakhuis {} nie.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Ry # {}: voorraadhoeveelheid nie genoeg vir artikelkode: {} onder pakhuis {}. Beskikbare hoeveelheid {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Ry # {}: kies &#39;n reeksnommer en &#39;n bondel teenoor item: {} of verwyder dit om die transaksie te voltooi.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Ry # {}: Geen reeksnommer is gekies teenoor item nie: {}. Kies een of verwyder dit om die transaksie te voltooi.,
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Ry # {}: Geen groep gekies teenoor item nie: {}. Kies &#39;n groep of verwyder dit om die transaksie te voltooi.,
Payment amount cannot be less than or equal to 0,Betalingsbedrag kan nie kleiner as of gelyk aan 0 wees nie,
Please enter the phone number first,Voer eers die telefoonnommer in,
Row #{}: {} {} does not exist.,Ry # {}: {} {} bestaan nie.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Ry # {0}: {1} is nodig om die openingsfakture {2} te skep,
You had {} errors while creating opening invoices. Check {} for more details,Daar was {} foute tydens die skep van openingsfakture. Gaan na {} vir meer besonderhede,
Error Occured,Fout het voorgekom,
Opening Invoice Creation In Progress,Die opening van die skep van fakture aan die gang,
Creating {} out of {} {},Skep tans {} uit {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,"(Serienommer: {0}) kan nie verbruik word nie, aangesien dit gereserveer is vir die volledige bestelling {1}.",
Item {0} {1},Item {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Laaste voorraadtransaksie vir item {0} onder pakhuis {1} was op {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Voorraadtransaksies vir item {0} onder pakhuis {1} kan nie voor hierdie tyd gepos word nie.,
Posting future stock transactions are not allowed due to Immutable Ledger,"As gevolg van Onveranderlike Grootboek, word toekomstige aandeletransaksies nie toegelaat nie",
A BOM with name {0} already exists for item {1}.,&#39;N BOM met die naam {0} bestaan reeds vir item {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Het jy die item hernoem? Kontak administrateur / tegniese ondersteuning,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},Op ry # {0}: die volgorde-ID {1} mag nie kleiner wees as die vorige ryvolg-ID {2},
The {0} ({1}) must be equal to {2} ({3}),Die {0} ({1}) moet gelyk wees aan {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, voltooi die bewerking {1} voor die bewerking {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,"Kan nie verseker dat aflewering per reeksnr. Nie, aangesien artikel {0} bygevoeg word met en sonder versekering deur afleweringnr.",
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Item {0} het geen reeksnommer nie. Slegs geassosialiseerde items kan afgelewer word op grond van reeksnr,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Geen aktiewe BOM vir item {0} gevind nie. Aflewering per reeksnommer kan nie verseker word nie,
No pending medication orders found for selected criteria,Geen hangende medikasiebestellings vir geselekteerde kriteria gevind nie,
From Date cannot be after the current date.,Vanaf datum kan nie na die huidige datum wees nie.,
To Date cannot be after the current date.,To Date kan nie na die huidige datum wees nie.,
From Time cannot be after the current time.,Van tyd kan nie na die huidige tyd wees nie.,
To Time cannot be after the current time.,To Time kan nie na die huidige tyd wees nie.,
Stock Entry {0} created and ,Voorraadinskrywing {0} geskep en,
Inpatient Medication Orders updated successfully,Mediese bestellings vir binnepasiënte is suksesvol opgedateer,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Ry {0}: kan nie inskrywingsmedikasie-inskrywing skep teen die gekanselleerde bestelling vir binnepasiëntmedikasie nie {1},
Row {0}: This Medication Order is already marked as completed,Ry {0}: hierdie medisyne-bestelling is reeds as voltooi gemerk,
Quantity not available for {0} in warehouse {1},Hoeveelheid nie beskikbaar vir {0} in pakhuis {1},
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Aktiveer asseblief Laat negatiewe voorraad toe in voorraadinstellings of skep voorraadinskrywing om voort te gaan.,
No Inpatient Record found against patient {0},Geen pasiëntrekord gevind teen pasiënt nie {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Daar bestaan reeds &#39;n medikasiebevel vir binnepasiënte {0} teen pasiëntontmoeting {1}.,
Allow In Returns,Laat opbrengste toe,
Hide Unavailable Items,Versteek nie-beskikbare items,
Apply Discount on Discounted Rate,Pas afslag toe op afslag,
Therapy Plan Template,Terapieplan-sjabloon,
Fetching Template Details,Haal sjabloonbesonderhede op,
Linked Item Details,Gekoppelde itembesonderhede,
Therapy Types,Terapie tipes,
Therapy Plan Template Detail,Terapieplan sjabloonbesonderhede,
Non Conformance,Nie-ooreenstemming,
Process Owner,Proses eienaar,
Corrective Action,Korrektiewe aksie,
Preventive Action,Voorkomende aksie,
Problem,Probleem,
Responsible,Verantwoordelik,
Completion By,Voltooiing deur,
Process Owner Full Name,Proses eienaar se volle naam,
Right Index,Regte indeks,
Left Index,Linkse indeks,
Sub Procedure,Subprosedure,
Passed,Geslaag,
Print Receipt,Drukbewys,
Edit Receipt,Wysig kwitansie,
Focus on search input,Fokus op soekinsette,
Focus on Item Group filter,Fokus op Item Group filter,
Checkout Order / Submit Order / New Order,Afhandeling Bestelling / Dien Bestelling / Nuwe Bestelling in,
Add Order Discount,Bestel afslag byvoeg,
Item Code: {0} is not available under warehouse {1}.,Itemkode: {0} is nie beskikbaar onder pakhuis {1} nie.,
Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Reeksnommers nie beskikbaar vir item {0} onder pakhuis {1} nie. Probeer om die pakhuis te verander.,
Fetched only {0} available serial numbers.,Slegs {0} beskikbare reeksnommers gekry.,
Switch Between Payment Modes,Skakel tussen betaalmetodes,
Enter {0} amount.,Voer {0} bedrag in.,
You don't have enough points to redeem.,U het nie genoeg punte om af te los nie.,
You can redeem upto {0}.,U kan tot {0} gebruik.,
Enter amount to be redeemed.,Voer die bedrag in wat afgelos moet word.,
You cannot redeem more than {0}.,U kan nie meer as {0} gebruik nie.,
Open Form View,Maak vormaansig oop,
POS invoice {0} created succesfully,POS-faktuur {0} suksesvol geskep,
Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Voorraadhoeveelheid nie genoeg vir artikelkode: {0} onder pakhuis {1}. Beskikbare hoeveelheid {2}.,
Serial No: {0} has already been transacted into another POS Invoice.,Serienommer: {0} is reeds oorgedra na &#39;n ander POS-faktuur.,
Balance Serial No,Saldo Reeksnr,
Warehouse: {0} does not belong to {1},Pakhuis: {0} behoort nie tot {1},
Please select batches for batched item {0},Kies groepe vir &#39;n partytjie-item {0},
Please select quantity on row {0},Kies hoeveelheid in ry {0},
Please enter serial numbers for serialized item {0},Voer die reeksnommers in vir die reeks-item {0},
Batch {0} already selected.,Bondel {0} reeds gekies.,
Please select a warehouse to get available quantities,Kies &#39;n pakhuis om beskikbare hoeveelhede te kry,
"For transfer from source, selected quantity cannot be greater than available quantity",Vir oordrag vanaf die bron kan die gekose hoeveelheid nie groter wees as die beskikbare hoeveelheid nie,
Cannot find Item with this Barcode,Kan nie item met hierdie strepieskode vind nie,
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} is verpligtend. Miskien word valuta-rekord nie vir {1} tot {2} geskep nie,
{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} het bates wat daaraan gekoppel is, ingedien. U moet die bates kanselleer om die aankoopopbrengs te skep.",
Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Kan nie hierdie dokument kanselleer nie, want dit is gekoppel aan die ingediende bate {0}. Kanselleer dit asseblief om voort te gaan.",
Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ry # {}: Reeksnr. {} Is reeds oorgedra na &#39;n ander POS-faktuur. Kies &#39;n geldige reeksnr.,
Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ry # {}: reeksnommers. {} Is reeds in &#39;n ander POS-faktuur oorgedra. Kies &#39;n geldige reeksnr.,
Item Unavailable,Item nie beskikbaar nie,
Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Ry # {}: reeksnommer {} kan nie teruggestuur word nie, aangesien dit nie op die oorspronklike faktuur gedoen is nie {}",
Please set default Cash or Bank account in Mode of Payment {},Stel die verstek kontant- of bankrekening in die betaalmetode {},
Please set default Cash or Bank account in Mode of Payments {},Stel asseblief die standaard kontant- of bankrekening in die modus van betalings {},
Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Maak seker dat die {} rekening &#39;n balansstaatrekening is. U kan die ouerrekening in &#39;n balansrekening verander of &#39;n ander rekening kies.,
Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Maak seker dat die {} rekening &#39;n betaalbare rekening is. Verander die rekeningtipe na Betaalbaar of kies &#39;n ander rekening.,
Row {}: Expense Head changed to {} ,Ry {}: Onkostekop verander na {},
because account {} is not linked to warehouse {} ,omdat rekening {} nie aan pakhuis gekoppel is nie {},
or it is not the default inventory account,of dit is nie die standaardvoorraadrekening nie,
Expense Head Changed,Uitgawehoof verander,
because expense is booked against this account in Purchase Receipt {},omdat die onkoste teen hierdie rekening in die aankoopbewys {} bespreek word,
as no Purchase Receipt is created against Item {}. ,aangesien geen aankoopbewys teen item {} geskep word nie.,
This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Dit word gedoen om rekeningkunde te hanteer vir gevalle waar aankoopbewys na aankoopfaktuur geskep word,
Purchase Order Required for item {},Bestelling benodig vir item {},
To submit the invoice without purchase order please set {} ,Stel die {} in om die faktuur sonder &#39;n bestelling in te dien,
as {} in {},soos in {},
Mandatory Purchase Order,Verpligte bestelling,
Purchase Receipt Required for item {},Aankoopbewys benodig vir item {},
To submit the invoice without purchase receipt please set {} ,Stel die {} in om die faktuur sonder aankoopbewys in te dien.,
Mandatory Purchase Receipt,Verpligte aankoopbewys,
POS Profile {} does not belongs to company {},POS-profiel {} behoort nie tot die maatskappy nie {},
User {} is disabled. Please select valid user/cashier,Gebruiker {} is gedeaktiveer. Kies &#39;n geldige gebruiker / kassier,
Row #{}: Original Invoice {} of return invoice {} is {}. ,Ry # {}: oorspronklike faktuur {} van retourfaktuur {} is {}.,
Original invoice should be consolidated before or along with the return invoice.,Die oorspronklike faktuur moet voor of saam met die retoervaktuur gekonsolideer word.,
You can add original invoice {} manually to proceed.,U kan oorspronklike fakture {} handmatig byvoeg om voort te gaan.,
Please ensure {} account is a Balance Sheet account. ,Maak seker dat die {} rekening &#39;n balansstaatrekening is.,
You can change the parent account to a Balance Sheet account or select a different account.,U kan die ouerrekening in &#39;n balansrekening verander of &#39;n ander rekening kies.,
Please ensure {} account is a Receivable account. ,Maak seker dat die {} rekening &#39;n ontvangbare rekening is.,
Change the account type to Receivable or select a different account.,Verander die rekeningtipe na Ontvangbaar of kies &#39;n ander rekening.,
{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} kan nie gekanselleer word nie omdat die verdienste van die Lojaliteitspunte afgelos is. Kanselleer eers die {} Nee {},
already exists,bestaan alreeds,
POS Closing Entry {} against {} between selected period,POS-sluitingsinskrywing {} teen {} tussen die gekose periode,
POS Invoice is {},POS-faktuur is {},
POS Profile doesn't matches {},POS-profiel stem nie ooreen nie {},
POS Invoice is not {},POS-faktuur is nie {},
POS Invoice isn't created by user {},POS-faktuur word nie deur gebruiker {} geskep nie,
Row #{}: {},Ry # {}: {},
Invalid POS Invoices,Ongeldige POS-fakture,
Please add the account to root level Company - {},Voeg die rekening by die maatskappy se wortelvlak - {},
"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Terwyl u &#39;n rekening vir Child Company {0} skep, word die ouerrekening {1} nie gevind nie. Skep asseblief die ouerrekening in ooreenstemmende COA",
Account Not Found,Rekening nie gevind nie,
"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Terwyl u &#39;n rekening vir Child Company {0} skep, word die ouerrekening {1} as &#39;n grootboekrekening gevind.",
Please convert the parent account in corresponding child company to a group account.,Skakel asseblief die ouerrekening in die ooreenstemmende kindermaatskappy om na &#39;n groeprekening.,
Invalid Parent Account,Ongeldige ouerrekening,
"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Om dit te hernoem, is slegs toegelaat via moedermaatskappy {0}, om wanverhouding te voorkom.",
"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","As u {0} {1} hoeveelhede van die artikel {2} het, sal die skema {3} op die item toegepas word.",
"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","As u {0} {1} die waarde van item {2} het, sal die skema {3} op die item toegepas word.",
"As the field {0} is enabled, the field {1} is mandatory.","Aangesien die veld {0} geaktiveer is, is die veld {1} verpligtend.",
"As the field {0} is enabled, the value of the field {1} should be more than 1.","Aangesien die veld {0} geaktiveer is, moet die waarde van die veld {1} meer as 1 wees.",
Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Kan nie reeksnommer {0} van die artikel {1} lewer nie, aangesien dit gereserveer is vir die volledige bestelling {2}",
"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",Verkooporder {0} het &#39;n bespreking vir die artikel {1}. U kan slegs gereserveerde {1} teen {0} aflewer.,
{0} Serial No {1} cannot be delivered,{0} Reeksnr. {1} kan nie afgelewer word nie,
Row {0}: Subcontracted Item is mandatory for the raw material {1},Ry {0}: Item uit die onderkontrak is verpligtend vir die grondstof {1},
"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Aangesien daar voldoende grondstowwe is, is materiaalversoek nie nodig vir pakhuis {0} nie.",
" If you still want to proceed, please enable {0}.",Skakel {0} aan as u nog steeds wil voortgaan.,
The item referenced by {0} - {1} is already invoiced,Die item waarna verwys word deur {0} - {1} word reeds gefaktureer,
Therapy Session overlaps with {0},Terapiesessie oorvleuel met {0},
Therapy Sessions Overlapping,Terapiesessies oorvleuel,
Therapy Plans,Terapieplanne,
"Item Code, warehouse, quantity are required on row {0}","Itemkode, pakhuis, hoeveelheid word in ry {0} vereis",
Get Items from Material Requests against this Supplier,Kry items uit materiaalversoeke teen hierdie verskaffer,
Enable European Access,Aktiveer Europese toegang,
Creating Purchase Order ...,Skep tans bestelling ...,
"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.",Kies &#39;n verskaffer uit die verstekverskaffers van die onderstaande items. By seleksie sal &#39;n bestelling slegs gemaak word teen items wat tot die geselekteerde verskaffer behoort.,
Row #{}: You must select {} serial numbers for item {}.,Ry # {}: u moet {} reeksnommers vir item {} kies.,
Add Comment,Voeg kommentaar by,
More...,Meer ...,
Notes,notas,
Payment Gateway,Betaling Gateway,
Payment Gateway Name,Betaling Gateway Naam,
Payments,betalings,
Plan Name,Plan Naam,
Portal,portaal,
Scan Barcode,Skandeer strepieskode,
Some information is missing,Sommige inligting ontbreek,
Successful,Suksesvol,
Tools,gereedskap,
Use Sandbox,Gebruik Sandbox,
Busy,Besig,
Completed By,Voltooi deur,
Payment Failed,Betaling misluk,
Column {0},Kolom {0},
Field Mapping,Veldkartering,
Not Specified,Nie gespesifiseer nie,
Update Type,Opdateringstipe,
Dr,Dr,
End Time,Eindtyd,
Fetching...,Haal ...,
"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.","Dit lyk asof daar &#39;n probleem met die bediener se streepkonfigurasie is. In geval van versuim, sal die bedrag terugbetaal word na u rekening.",
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Dit lyk of iemand jou na &#39;n onvolledige URL gestuur het. Vra hulle asseblief om dit te ondersoek.,
Master,meester,
Pay,betaal,
You can also copy-paste this link in your browser,U kan hierdie skakel ook kopieer in u blaaier,
Verified By,Verified By,
Invalid naming series (. missing) for {0},Ongeldige naamreeks (. Ontbreek) vir {0},
Phone Number,Telefoon nommer,
Account SID,Rekening SID,
Global Defaults,Globale verstek,
Is Mandatory,Is verpligtend,
WhatsApp,WhatsApp,
Make a call,Maak &#39;n oproep,
Approve,goed te keur,
Reject,verwerp,
