"""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 overrridden,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,
