"""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,
) for {0},) vir {0},
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ê,
A {0} exists between {1} and {2} (,&#39;N {0} bestaan tussen {1} en {2} (,
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,
Absent,afwesig,
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.,
Accrual Journal Entry for salaries from {0} to {1},Toevallingsjoernaal Inskrywing vir salarisse vanaf {0} tot {1},
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 Row,Voeg ry 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 to Details,Voeg by Besonderhede,
Add/Remove Recipients,Voeg / verwyder ontvangers,
Added,bygevoeg,
Added to details,Bygevoeg aan besonderhede,
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 Jobs,Alle Werk,
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,
Allocated Leaves,Toegewysde blare,
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,
Analytics,Analytics,
Annual Billing: {0},Jaarlikse faktuur: {0},
Annual Salary,Jaarlikse salaris,
Anonymous,Anoniem,
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),
Application period cannot be across two allocation records,Aansoekperiode kan nie oor twee toekenningsrekords wees nie,
Application period cannot be outside leave allocation period,Aansoek tydperk kan nie buite verlof toekenning tydperk,
Applied,Toegepaste,
Apply Now,Doen nou aansoek,
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,
Apprentice,vakleerling,
Approval Status,Goedkeuring Status,
Approval Status must be 'Approved' or 'Rejected',Goedkeuringsstatus moet &#39;Goedgekeur&#39; of &#39;Afgekeur&#39; wees,
Approve,goed te keur,
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),
As per your assigned Salary Structure you cannot apply for benefits,Volgens u toegewysde Salarisstruktuur kan u nie vir voordele aansoek doen nie,
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,Toewys,
Assign Salary Structure,Ken Salarisstruktuur toe,
Assign To,Toewys aan,
Assign to Employees,Ken werknemers toe,
Assigning Structures...,Strukture ken ...,
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,Bywoning,
Attendance From Date and Attendance To Date is mandatory,Bywoning vanaf datum en bywoning tot datum is verpligtend,
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 for employee {0} is already marked for this day,Bywoning vir werknemer {0} is reeds gemerk vir hierdie dag,
Attendance has been marked successfully.,Bywoning is suksesvol gemerk.,
Attendance not submitted for {0} as it is a Holiday.,Bywoning is nie vir {0} ingedien nie aangesien dit &#39;n Vakansiedag is.,
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,
Author,skrywer,
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 Leaves,Beskikbare blare,
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 Entries,Bankinskrywings,
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,Basis,
Base URL,Basis-URL,
Based On,Gebaseer op,
Based On Payment Terms,Gebaseer op betalingsvoorwaardes,
Basic,basiese,
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,
Beginner,Beginner,
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,Rekening,
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,
Birthday Reminder,Verjaardag Herinnering,
Black,Swart,
Blanket Orders from Costumers.,Kombersbestellings van klante.,
Block Invoice,Blokfaktuur,
Boms,BOMs,
Bonus Payment Date cannot be a past date,Bonus Betalingsdatum kan nie &#39;n vervaldatum wees nie,
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,
Calls,oproepe,
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 find active Leave Period,Kan nie aktiewe verlofperiode vind 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,
Casual Leave,Toevallige verlof,
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,
Claimed Amount,Eisbedrag,
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 Off,Kompenserende Off,
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 Details,Kontakbesonderhede,
Contact Number,Kontak nommer,
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,Kursus,
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 Disbursement Entry,Skep uitbetalingsinskrywings,
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 Salary Slip,Skep Salaris Slip,
Create Salary Slips,Skep Salarisstrokies,
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 Payment Entries......,Die skep van betalingsinskrywings ......,
Creating Salary Slips...,Skep Salarisstrokies ...,
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,Huidige,
Current Assets,Huidige bates,
Current BOM and New BOM can not be same,Huidige BOM en Nuwe BOM kan nie dieselfde wees nie,
Current Job Openings,Huidige werksopnames,
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,
Daily Work Summary,Daaglikse werkopsomming,
Daily Work Summary Group,Daaglikse werkopsommingsgroep,
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 is repeated,Datum word herhaal,
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,
Datetime,Datum Tyd,
Day,dag,
Debit,debiet-,
Debit ({0}),Debiet ({0}),
Debit A/C Number,Debiet-A / C-nommer,
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,
Deduction,aftrekking,
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 Status,Dokument Status,
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,
Earning,verdien,
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 A/C Number,A / C nommer van die werknemer,
Employee Advances,Werknemersvorderings,
Employee Benefits,Werknemervoordele,
Employee Grade,Werknemersgraad,
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 Referral,Werknemer verwysing,
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 relieved on {0} must be set as 'Left',Werknemer verlig op {0} moet gestel word as &#39;Links&#39;,
Employee {0} already submited an apllication {1} for the payroll period {2},Werknemer {0} het reeds &#39;n aantekening {1} ingedien vir die betaalperiode {2},
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} has no maximum benefit amount,Werknemer {0} het geen maksimum voordeelbedrag nie,
Employee {0} is not active or does not exist,Werknemer {0} is nie aktief of bestaan nie,
Employee {0} is on Leave on {1},Werknemer {0} is op verlof op {1},
Employee {0} of grade {1} have no default leave policy,Werknemer {0} van graad {1} het geen verlofverlofbeleid nie,
Employee {0} on Half day on {1},Werknemer {0} op Halwe dag op {1},
Enable,in staat te stel,
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,
End time cannot be before start time,Eindtyd kan nie voor die begintyd wees nie,
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,
Evaluation,evaluering,
"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:",
Event,gebeurtenis,
Event Location,Gebeurtenis Plek,
Event Name,Gebeurtenis Naam,
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 Claim for Vehicle Log {0},Uitgawe Eis vir Voertuiglogboek {0},
Expense Claim {0} already exists for the Vehicle Log,Uitgawe Eis {0} bestaan reeds vir die Voertuiglogboek,
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,
Fill the form and save it,Vul die vorm in en stoor dit,
Filter Employees By (Optional),Filter werknemers volgens (opsioneel),
"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,
Fiscal Year {0} not found,Fiskale jaar {0} nie gevind nie,
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,Kos,
"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 Employee,Vir Werknemer,
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 Date {0} cannot be after employee's relieving Date {1},Vanaf datum {0} kan nie na werknemer se verligting wees nie Datum {1},
From Date {0} cannot be before employee's joining Date {1},Vanaf datum {0} kan nie voor werknemer se aanvangsdatum wees nie {1},
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 date can not be less than employee's joining date,Vanaf datum kan nie minder wees as werknemer se inskrywingsdatum nie,
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},
Fuel Price,Brandstofprys,
Fuel Qty,Brandstof Aantal,
Fulfillment,vervulling,
Full,volle,
Full Name,Volle naam,
Full-time,Voltyds,
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,
Future dates not allowed,Toekomstige datums nie toegelaat nie,
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 Details From Declaration,Kry besonderhede uit verklaring,
Get Employees,Kry Werknemers,
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 Pay,Bruto besoldiging,
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,
Guest,gaste,
HR Manager,HR Bestuurder,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Day,Halwe dag,
Half Day Date is mandatory,Halfdag Datum is verpligtend,
Half Day Date should be between From Date and To Date,Halfdag Datum moet tussen Datum en Datum wees,
Half Day Date should be in between Work From Date and Work End Date,Halfdag Datum moet tussen werk van datum en werk einddatum wees,
Half Yearly,Half jaarliks,
Half day date should be in between from date and to date,Die halwe dag moet tussen die datum en die datum wees,
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,
Hello,hallo,
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,
House rent paid days overlapping with {0},Huis huur betaal dae oorvleuel met {0},
House rented dates required for exemption calculation,Huis gehuurde datums benodig vir vrystelling berekening,
House rented dates should be atleast 15 days apart,Huis gehuurde datums moet ten minste 15 dae uitmekaar wees,
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,
IFSC Code,IFSC-kode,
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,
Insert,insetsel,
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,
Interest Amount,Rente Bedrag,
Interests,Belange,
Intern,intern,
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 Description,Pos beskrywing,
Job Offer,Werksaanbod,
Job card {0} created,Werkkaart {0} geskep,
Jobs,Jobs,
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,
Language Name,Taal Naam,
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 Approval Notification,Laat Goedkeuring Kennisgewing,
Leave Blocked,Verlaat geblokkeer,
Leave Encashment,Verlaat Encashment,
Leave Management,Verlofbestuur,
Leave Status Notification,Verlofstatus kennisgewing,
Leave Type,Verlaat Tipe,
Leave Type is madatory,Verlof Tipe is madatory,
Leave Type {0} cannot be allocated since it is leave without pay,Verlof tipe {0} kan nie toegeken word nie aangesien dit verlof is sonder betaling,
Leave Type {0} cannot be carry-forwarded,Verlof tipe {0} kan nie deurstuur word nie,
Leave Type {0} is not encashable,Verlof tipe {0} is nie opsluitbaar nie,
Leave Without Pay,Los sonder betaling,
Leave and Attendance,Verlof en Bywoning,
Leave application {0} already exists against the student {1},Laat aansoek {0} bestaan reeds teen die student {1},
"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Verlof kan nie voor {0} toegeken word nie, aangesien verlofbalans reeds in die toekomstige verlofrekordrekord {1} oorgedra is.",
"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Verlof kan nie voor {0} toegepas / gekanselleer word nie, aangesien verlofbalans reeds in die toekomstige verlofrekordrekord {1} oorgedra is.",
Leave of type {0} cannot be longer than {1},Verlof van tipe {0} kan nie langer wees as {1},
Leaves,blare,
Leaves Allocated Successfully for {0},Blare suksesvol toegeken vir {0},
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,
Leaves per Year,Blare per jaar,
Ledger,grootboek,
Legal,Wettig,
Legal Expenses,Regskoste,
Letter Head,Briefhoof,
Letter Heads for print templates.,Briefhoofde vir druk sjablone.,
Level,vlak,
Liability,aanspreeklikheid,
License,lisensie,
Lifecycle,Lewens siklus,
Limit,limiet,
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,
Log,Meld,
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 Attendance,Puntbywoning,
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 Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Maksimum vrystellingsbedrag mag nie groter wees as die maksimum vrystellingsbedrag {0} van die belastingvrystellingskategorie {1},
Max benefits should be greater than zero to dispense benefits,Maksimum voordele moet groter as nul wees om voordele te verdeel,
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 amount eligible for the component {0} exceeds {1},"Die maksimum bedrag wat in aanmerking kom vir die komponent {0}, oorskry {1}",
Maximum benefit amount of component {0} exceeds {1},Maksimum voordeelbedrag van komponent {0} oorskry {1},
Maximum benefit amount of employee {0} exceeds {1},Maksimum voordeelbedrag van werknemer {0} oorskry {1},
Maximum discount for Item {0} is {1}%,Maksimum afslag vir Item {0} is {1}%,
Maximum leave allowed in the leave type {0} is {1},Maksimum verlof toegelaat in die verlof tipe {0} is {1},
Medical,Medies,
Medical Code,Mediese Kode,
Medical Code Standard,Mediese Kode Standaard,
Medical Department,Mediese Departement,
Medical Record,Mediese rekord,
Medium,medium,
Meeting,Ontmoet,
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,
Mode of payment is required to make a payment,Betaalmetode is nodig om betaling te maak,
Model,model,
Moderate Sensitivity,Matige Sensitiwiteit,
Monday,Maandag,
Monthly,maandelikse,
Monthly Distribution,Maandelikse Verspreiding,
More,meer,
More Information,Meer inligting,
More than one selection for {0} not allowed,Meer as een keuse vir {0} word nie toegelaat nie,
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,
My Account,My rekening,
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 Pay,Netto salaris,
Net Pay cannot be less than 0,Netto betaal kan nie minder as 0 wees nie,
Net Profit,Netto wins,
Net Salary Amount,Netto salarisbedrag,
Net Total,Netto Totaal,
Net pay cannot be negative,Netto salaris kan nie negatief wees nie,
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,
Newsletters,nuusbriewe,
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 Employee Found,Geen werknemer gevind nie,
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 Salary Structure assigned for Employee {0} on given date {1},Geen Salarisstruktuur toegeken vir Werknemer {0} op gegewe datum {1},
No Staffing Plans found for this Designation,Geen personeelplanne vir hierdie aanwysing gevind 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 active or default Salary Structure found for employee {0} for the given dates,Geen aktiewe of standaard Salarestruktuur vir werknemer {0} vir die gegewe datums gevind 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 more updates,Geen verdere opdaterings 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 replies from,Geen antwoorde van,
No salary slip found to submit for the above selected criteria OR salary slip already submitted,Geen salarisstrokie gevind vir die bogenoemde geselekteerde kriteria OF salarisstrokie wat reeds ingedien is 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.,
Nothing to change,Niks om te verander nie,
Notice Period,Kennis tydperk,
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 Leave Applications with status 'Approved' and 'Rejected' can be submitted,Slegs verlof aansoeke met status &#39;Goedgekeur&#39; en &#39;Afgekeur&#39; kan ingedien word,
"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 Holiday List not set for leave period {0},Opsionele vakansie lys nie vasgestel vir verlofperiode nie {0},
"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)",
Others,ander,
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,
Part-time,Deeltyds,
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,
Password,wagwoord,
Password policy for Salary Slips is not set,Wagwoordbeleid vir Salarisstrokies is nie ingestel nie,
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 Days,Betalingsdae,
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 of {0} from {1} to {2},Betaling van {0} van {1} na {2},
Payment request {0} created,Betaling Versoek {0} geskep,
Payments,betalings,
Payroll,betaalstaat,
Payroll Number,Betaalnommer,
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,
Piecework,stukwerk,
Pincode,PIN-kode,
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 add the remaining benefits {0} to any of the existing component,Voeg asseblief die oorblywende voordele {0} by enige van die bestaande komponente by,
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 confirm once you have completed your training,Bevestig asseblief as jy jou opleiding voltooi het,
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 default incoming account before creating Daily Work Summary Group,Aktiveer asseblief die standaard inkomende rekening voordat u &#39;n Daaglikse werkopsommingsgroep skep,
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 Designation,Kies asseblief Maatskappy en Aanwysing,
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 Employee,Kies asseblief Werknemer,
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 csv file,Kies asseblief &#39;n CSV-lêer,
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 prefix first,Kies asseblief voorvoegsel eerste,
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 Email Address,Stel asseblief e-pos adres in,
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 template for Leave Approval Notification in HR Settings.,Stel asb. Standaard sjabloon vir verlofgoedkeuring kennisgewing in MH-instellings in.,
Please set default template for Leave Status Notification in HR Settings.,Stel asb. Standaard sjabloon vir verlofstatus kennisgewing in MH-instellings in.,
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 Company,Stel asseblief die Maatskappy in,
Please set the Customer Address,Stel die kliënteadres in,
Please set the Date Of Joining for employee {0},Stel asseblief die datum van aansluiting vir werknemer {0},
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 the series to be used.,Stel asseblief die reeks in wat gebruik gaan word.,
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 share your feedback to the training by clicking on 'Training Feedback' and then 'New',Deel asseblief u terugvoering aan die opleiding deur op &#39;Training Feedback&#39; te klik en dan &#39;New&#39;,
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 update your status for this training event,Dateer asseblief u status op vir hierdie opleidingsgebeurtenis,
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,
Portal Settings,Portal instellings,
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,
Present,teenwoordig,
Prev,Vorige,
Preview,voorskou,
Preview Salary Slip,Preview Salary Slip,
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,
Privilege Leave,Privilege Verlof,
Probation,Proef,
Probationary Period,Proeftydperk,
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,
Property,eiendom,
Property already added,Eiendom is reeds bygevoeg,
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 Owner,Verwysings Eienaar,
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,
Region,streek,
Register,registreer,
Reject,verwerp,
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,
Replies,antwoorde,
Report,verslag,
Report Builder,Rapport Bouer,
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.,
Responsibilities,verantwoordelikhede,
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,
Role,Rol,
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}# Allocated amount {1} cannot be greater than unclaimed amount {2},Ry {0} # Toegewysde hoeveelheid {1} kan nie groter wees as onopgeëiste bedrag nie {2},
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}# Paid Amount cannot be greater than requested advance amount,Ry {0} # Betaalbedrag kan nie groter wees as gevraagde voorskotbedrag nie,
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 ID,Salaris Slip ID,
Salary Slip of employee {0} already created for this period,Salaris Slip van werknemer {0} wat reeds vir hierdie tydperk geskep is,
Salary Slip of employee {0} already created for time sheet {1},Salaris Slip van werknemer {0} reeds geskep vir tydskrif {1},
Salary Slip submitted for period from {0} to {1},Salarisstrokie ingedien vir tydperk vanaf {0} tot {1},
Salary Structure Assignment for Employee already exists,Salarisstruktuuropdrag vir Werknemer bestaan reeds,
Salary Structure Missing,Salarisstruktuur ontbreek,
Salary Structure must be submitted before submission of Tax Ememption Declaration,Salarisstruktuur moet voorgelê word voor die indiening van die belastingverklaringsverklaring,
Salary Structure not found for employee {0} and date {1},Salarisstruktuur nie gevind vir werknemer {0} en datum {1},
Salary Structure should have flexible benefit component(s) to dispense benefit amount,Salarisstruktuur moet buigsame voordeelkomponent (e) hê om die voordeelbedrag te verdeel,
"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Salaris wat reeds vir die tydperk tussen {0} en {1} verwerk is, kan die verlengde aansoekperiode nie tussen hierdie datumreeks wees nie.",
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,monster,
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,
Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Gekonfekteerde bedrag kan nie groter wees as eisbedrag in ry {0} nie.,
Sand,sand,
Saturday,Saterdag,
Saved,gered,
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,
Score must be less than or equal to 5,Die telling moet minder as of gelyk wees aan 5,
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 Property,Kies Eiendom,
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 an employee to get the employee advance.,Kies &#39;n werknemer om die werknemer vooraf te kry.,
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,
Series {0} already used in {1},Reeks {0} wat reeds in {1} gebruik word,
Service,diens,
Service Expense,Diensuitgawes,
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 Default,Stel as standaard,
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,Gestuur,
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 Employee,Wys Werknemer,
Show Open,Wys oop,
Show Opening Entries,Wys openingsinskrywings,
Show Payment Details,Wys betalingsbesonderhede,
Show Return Entries,Wys terugvoerinskrywings,
Show Salary Slip,Toon Salary Slip,
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,
Sick Leave,Siekverlof,
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}",
"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Salarisstruktuuropdrag oor te slaan vir die volgende werknemers, aangesien daar reeds rekords teen salarisstruktuur daarteen 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,
Staffing Plan {0} already exist for designation {1},Personeelplan {0} bestaan reeds vir aanwysing {1},
Standard,Standard,
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 and end dates not in a valid Payroll Period, cannot calculate {0}","Begin- en einddatums wat nie binne &#39;n geldige betaalperiode is nie, kan nie {0} bereken nie",
"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Begin en einddatum nie in &#39;n geldige betaalstaat nie, kan nie {0} bereken nie.",
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 Options,Voorraadopsies,
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,
Structures have been assigned successfully,Strukture is suksesvol toegewys,
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 Proof,Bewys indien,
Submit Salary Slip,Dien Salarisstrokie in,
Submit this Work Order for further processing.,Dien hierdie werksopdrag in vir verdere verwerking.,
Submit this to create the Employee record,Dien dit in om die Werknemers rekord te skep,
Submitting Salary Slips...,Inhandiging van salarisstrokies ...,
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,
Team Updates,Span Updates,
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,
Test,toets,
Thank you,Dankie,
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 day(s) on which you are applying for leave are holidays. You need not apply for leave.,"Die dag (en) waarop u aansoek doen om verlof, is vakansiedae. Jy hoef nie aansoek te doen vir verlof nie.",
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 are more holidays than working days this month.,Daar is meer vakansiedae as werksdae hierdie maand.,
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 no leave period in between {0} and {1},Daar is geen verlofperiode tussen {0} en {1},
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 Employee,Dit is gebaseer op die bywoning van hierdie Werknemer,
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 will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Dit sal salarisstrokies indien en toevallingsjoernaalinskrywing skep. Wil jy voortgaan?,
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 date can not be equal or less than from date,Tot op datum kan nie gelyk of minder as van datum wees nie,
To date can not be less than from date,Tot op datum kan nie minder as van datum wees nie,
To date can not greater than employee's relieving date,Tot op datum kan nie groter as werknemer se ontslagdatum nie,
"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 Absent,Totaal Afwesig,
Total Achieved,Totaal behaal,
Total Actual,Totaal Werklik,
Total Allocated Leaves,Totale toegekende blare,
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 Deduction,Totale aftrekking,
Total Invoiced Amount,Totale gefaktureerde bedrag,
Total Leaves,Totale blare,
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 Present,Totaal Aanwesig,
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 advance amount cannot be greater than total sanctioned amount,Totale voorskotbedrag kan nie groter wees as die totale sanksiebedrag 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 flexible benefit component amount {0} should not be less than max benefits {1},Die totale bedrag vir komponent van buigsame voordele {0} mag nie minder wees as die maksimum voordele nie {1},
Total hours: {0},Totale ure: {0},
Total leaves allocated is mandatory for Leave Type {0},"Totale blare wat toegeken is, is verpligtend vir Verlof Tipe {0}",
Total working hours should not be greater than max working hours {0},Totale werksure moet nie groter wees nie as maksimum werksure {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,
Traceback,Spoor terug,
Track Leads by Lead Source.,Volg leidrade deur die leidingsbron.,
Training,opleiding,
Training Event,Opleidingsgebeurtenis,
Training Events,Opleidingsgebeure,
Training Feedback,Opleiding Terugvoer,
Training Result,Opleidingsresultaat,
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,Reis,
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 DocType {0},Kan nie DocType {0} vind nie,
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 Response,Update Response,
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,
Used Leaves,Gebruikte Blare,
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 missing,Waarde ontbreek,
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",
Variable,veranderlike,
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,
Walk In,Loop in,
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: Leave application contains following block dates,Waarskuwing: Laat aansoek bevat die volgende blokdatums,
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 Listing,Webwerf aanbieding,
Website Manager,Webwerf Bestuurder,
Website Settings,Webwerf-instellings,
Wednesday,Woensdag,
Week,week,
Weekdays,weeksdae,
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 Summary for {0},Werkopsomming vir {0},
Work-in-Progress Warehouse is required before Submit,Werk-in-Progress-pakhuis word vereis voor indiening,
Workflow,Workflow,
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 approve leaves on Block Dates,Jy is nie gemagtig om bladsye op Blokdata te keur nie,
You are not authorized to set Frozen value,Jy is nie gemagtig om die bevrore waarde te stel nie,
You are not present all day(s) between compensatory leave request days,U is nie die hele dag teenwoordig tussen verlofverlofdae 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 only submit Leave Encashment for a valid encashment amount,U kan slegs Verlof-inskrywing vir &#39;n geldige invoegingsbedrag indien,
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 enought 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 be logged in to access this page,Jy moet ingeteken wees om toegang tot hierdie bladsy te kry,
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} already allocated for Employee {1} for period {2} to {3},{0} reeds toegeken vir Werknemer {1} vir periode {2} tot {3},
{0} applicable after {1} working days,{0} van toepassing na {1} werksdae,
{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 not in Optional Holiday List,{0} is nie in opsionele vakansie lys nie,
{0} is not in a valid Payroll Period,{0} is nie in &#39;n geldige betaalstaatperiode 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} must be submitted,{0} moet ingedien word,
{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}: Employee email not found, hence email not sent","{0}: Werknemer e-pos nie gevind nie, vandaar e-pos nie gestuur nie",
{0}: From {0} of type {1},{0}: Vanaf {0} van tipe {1},
{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,
Conditions,voorwaardes,
County,County,
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,
Images,beelde,
Import,invoer,
Language,Taal,
Likes,Hou,
Merge with existing,Voeg saam met bestaande,
Office,kantoor,
Orientation,geaardheid,
Parent,Ouer,
Passive,passiewe,
Payment Failed,Betaling misluk,
Percent,persent,
Permanent,permanente,
Personal,persoonlike,
Plant,plant,
Post,Post,
Postal,Postal,
Postal Code,Poskode,
Previous,vorige,
Provider,verskaffer,
Read Only,Lees net,
Recipient,ontvanger,
Reviews,resensies,
Sender,sender,
Shop,Winkel,
Subsidiary,filiaal,
There is some problem with the file url: {0},Daar is &#39;n probleem met die lêer url: {0},
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",
Error in some rows,Fout in sommige rye,
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,
Benefit,voordeel,
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.,
Shift,verskuiwing,
Show {0},Wys {0},
"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Spesiale karakters behalwe &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; En &quot;}}&quot; word nie toegelaat in die naamreekse nie {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,
Export Type,Uitvoer Tipe,
From Date,Vanaf datum,
Group By,Groepeer volgens,
Importing {0} of {1},Voer {0} van {1} in,
Invalid URL,Ongeldige URL,
Landscape,landskap,
Last Sync On,Laaste sinchroniseer op,
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,
Webhook Secret,Webhook Secret,
% Of Grand Total,% Van die totale totaal,
'employee_field_value' and 'timestamp' are required.,&#39;werknemer_veld_waarde&#39; en &#39;tydstempel&#39; word vereis.,
<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,
Allocation Expired!,Toekenning verval!,
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.,
Attendance Marked,Bywoning gemerk,
Attendance has been marked as per employee check-ins,Die bywoning is volgens die werknemers se inboeke gemerk,
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 Home,Terug huistoe,
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,
Customize,pas,
Daily,daaglikse,
Date,datum,
Date Range,Datumreeks,
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,
Edit Profile,Wysig profiel,
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,
Event Link,Gebeurtenisskakel,
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,
Expire Allocation,Toewysing verval,
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,
File Manager,Lêer bestuurder,
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,
Fuel Expense,Brandstofuitgawes,
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,
Intermediate,Intermediêre,
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,
Invite as User,Nooi as gebruiker,
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,
Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Verlof-aansoek word gekoppel aan verlof-toekennings {0}. Verlof aansoek kan nie as verlof sonder betaling opgestel word nie,
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,
Log Type is required for check-ins falling in the shift: {0}.,Logtipe is nodig vir die insae wat in die skof val: {0}.,
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,
Newsletter,nuusbrief,
No Account matched these filters: {},Geen rekening stem ooreen met hierdie filters nie: {},
No Employee found for the given employee field value. '{}': {},Geen werknemer gevind vir die gegewe werknemer se veldwaarde nie. &#39;{}&#39;: {},
No Leaves Allocated to Employee: {0} for Leave Type: {1},Geen blare word aan werknemer toegeken nie: {0} vir verloftipe: {1},
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,
Only expired allocation can be cancelled,Slegs vervalste toekenning kan gekanselleer word,
Only users with the {0} role can create backdated leave applications,Slegs gebruikers met die {0} -rol kan verouderde verloftoepassings skep,
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,
Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Wagwoordbeleid kan nie spasies of gelyktydige koppeltekens bevat nie. Die formaat sal outomaties herstruktureer word,
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 enter the designation,Voer die benaming 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
Printing,druk,
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,publiseer,
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,
Refreshing,verfrissende,
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 All,Kies Alles,
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,stel,
Set Meta Tags,Stel metatags,
Set {0} in company {1},Stel {0} in maatskappy {1},
Setup,Stel op,
Setup Wizard,Opstelassistent,
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}).,
There are no vacancies under staffing plan {0},Daar is geen vakatures onder die personeelplan {0},
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 employee already has a log with the same timestamp.{0},Hierdie werknemer het reeds &#39;n logboek met dieselfde tydstempel. {0},
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,
Timing,tydsberekening,
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.",
To date needs to be before from date,Tot op datum moet dit voor die datum wees,
Total,totale,
Total Early Exits,Totale vroeë uitgange,
Total Late Entries,Totale laat inskrywings,
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,
Training Event:,Opleidingsgeleentheid:,
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 Salary Component {0},Kan nie die salariskomponent {0} vind nie,
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,
Unmarked Attendance for days,Ongemerkte bywoning vir dae,
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 Details,Dateer besonderhede op,
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,
Vacancies cannot be lower than the current openings,Vakatures kan nie laer wees as die huidige openings nie,
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,jy,
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} Name,{0} Naam,
{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 an invalid Attendance Status.,{} is &#39;n ongeldige bywoningstatus.,
{} 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,
Bold,vet,
Center,Sentrum,
Clear,duidelik,
Comment,kommentaar,
Comments,kommentaar,
DocType,DocType,
Download,Aflaai,
Left,links,
Link,skakel,
New,nuwe,
Not Found,Nie gevind nie,
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,
Printed On,Gedruk op,
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,
User Id,Gebruikers-ID,
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 employee found,Geen werknemer 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,
Please setup Employee Naming System in Human Resource > HR Settings,Stel asseblief &#39;n naamstelsel vir werknemers in vir menslike hulpbronne&gt; HR-instellings,
Please setup numbering series for Attendance via Setup > Numbering Series,Stel nommeringreekse op vir bywoning via Setup&gt; Numbering Series,
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.,
Current Odometer Value should be greater than Last Odometer Value {0},Huidige kilometerstandwaarde moet groter wees as die laaste kilometerstandwaarde {0},
No additional expenses has been added,Geen addisionele uitgawes is bygevoeg nie,
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,
{0} already exists for employee {1} and period {2},{0} bestaan reeds vir werknemer {1} en periode {2},
Leaves Allocated,Blare toegeken,
Leaves Expired,Blare het verval,
Leave Without Pay does not match with approved {} records,Verlof sonder betaling stem nie ooreen met goedgekeurde {} rekords nie,
Income Tax Slab not set in Salary Structure Assignment: {0},Inkomstebelastingblad word nie in die opdrag van salarisstruktuur gestel nie: {0},
Income Tax Slab: {0} is disabled,Inkomstebelastingblad: {0} is uitgeskakel,
Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Inkomstebelastingblad moet van krag wees voor of op die begindatum van die betaalstaatperiode: {0},
No leave record found for employee {0} on {1},Geen verlofrekord gevind vir werknemer {0} op {1},
Row {0}: {1} is required in the expenses table to book an expense claim.,Ry {0}: {1} word in die uitgawetabel vereis om &#39;n uitgaweis te bespreek.,
Set the default account for the {0} {1},Stel die standaardrekening vir die {0} {1},
(Half Day),(Halwe dag),
Income Tax Slab,Inkomstebelastingblad,
Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Ry # {0}: kan nie bedrag of formule vir salariskomponent {1} stel met veranderlikes gebaseer op belasbare salaris nie,
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,
Repay From Salary can be selected only for term loans,Terugbetaling uit salaris kan slegs vir termynlenings gekies word,
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,
Position,posisie,
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.",
Salary Component Account,Salaris Komponentrekening,
Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Verstekbank / Kontantrekening sal outomaties opgedateer word in Salarisjoernaalinskrywing wanneer hierdie modus gekies word.,
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,oes,
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,
Result,gevolg,
Total Score,Totale 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,onderwerp,
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,
Public Transport,Publieke vervoer,
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,
Joining Date,Aansluitingsdatum,
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,
Publish on website,Publiseer op die webwerf,
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 Status,Toepassingsstatus,
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,
IN,in,
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,
Request Data,Versoek data,
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,Stappe,
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,
Remind Before,Herinner Voor,
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,
Reminded,herinner,
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,
Reference DocType,Verwysingsdokumenttipe,
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,
Additional Salary,Bykomende Salaris,
HR,HR,
HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
Salary Component,Salaris Komponent,
Overwrite Salary Structure Amount,Oorskryf Salarisstruktuurbedrag,
Deduct Full Tax on Selected Payroll Date,Trek die volle belasting af op die geselekteerde betaalstaatdatum,
Payroll Date,Betaaldatum,
Date on which this component is applied,Datum waarop hierdie komponent toegepas word,
Salary Slip,Salarisstrokie,
Salary Component Type,Salaris Komponent Tipe,
HR User,HR gebruiker,
Appointment Letter,Aanstellingsbrief,
Job Applicant,Werksaansoeker,
Appointment Date,Aanstellingsdatum,
Appointment Letter Template,Aanstellingsbriefsjabloon,
Body,liggaam,
Closing Notes,Sluitingsnotas,
Appointment Letter content,Inhoud van die aanstellingsbrief,
Appraisal,evaluering,
HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
Appraisal Template,Appraisal Template,
For Employee Name,Vir Werknemer Naam,
Goals,Doelwitte,
Total Score (Out of 5),Totale telling (uit 5),
"Any other remarks, noteworthy effort that should go in the records.","Enige ander opmerkings, noemenswaardige poging wat in die rekords moet plaasvind.",
Appraisal Goal,Evalueringsdoel,
Key Responsibility Area,Sleutelverantwoordelikheidsgebied,
Weightage (%),Gewig (%),
Score (0-5),Telling (0-5),
Score Earned,Telling verdien,
Appraisal Template Title,Appraisal Template Titel,
Appraisal Template Goal,Evalueringsjabloon doel,
KRA,KRA,
Key Performance Area,Sleutelprestasie-area,
HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
On Leave,Op verlof,
Work From Home,Werk van die huis af,
Leave Application,Los aansoek,
Attendance Date,Bywoningsdatum,
Attendance Request,Bywoningsversoek,
Late Entry,Laat ingang,
Early Exit,Vroeë uitgang,
Half Day Date,Halfdag Datum,
On Duty,Op diens,
Explanation,verduideliking,
Compensatory Leave Request,Vergoedingsverlofversoek,
Leave Allocation,Verlof toekenning,
Worked On Holiday,Op vakansie gewerk,
Work From Date,Werk vanaf datum,
Work End Date,Werk Einddatum,
Email Sent To,E-pos gestuur na,
Select Users,Kies gebruikers,
Send Emails At,Stuur e-pos aan,
Reminder,herinnering,
Daily Work Summary Group User,Daaglikse werkopsomminggroepgebruiker,
email,e-pos,
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,
Department Approver,Departement Goedkeuring,
Approver,Goedkeurder,
Required Skills,Vereiste vaardighede,
Skills,vaardighede,
Designation Skill,Aanwysingsvaardigheid,
Skill,vaardigheid,
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,
Leave Policy,Verlofbeleid,
Attendance Device ID (Biometric/RF tag ID),Bywoningstoestel-ID (biometriese / RF-etiket-ID),
Applicable Holiday List,Toepaslike Vakansielys,
Default Shift,Verstekverskuiwing,
Salary Details,Salaris Besonderhede,
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,
HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
Returned Amount,Terugbetaalde bedrag,
Claimed,beweer,
Advance Account,Voorskotrekening,
Employee Attendance Tool,Werknemersbywoningsinstrument,
Unmarked Attendance,Ongemerkte Bywoning,
Employees HTML,Werknemers HTML,
Marked Attendance,Gemerkte Bywoning,
Marked Attendance HTML,Gemerkte Bywoning HTML,
Employee Benefit Application,Werknemervoordeel Aansoek,
Max Benefits (Yearly),Maksimum Voordele (Jaarliks),
Remaining Benefits (Yearly),Resterende Voordele (Jaarliks),
Payroll Period,Loonstaat Periode,
Benefits Applied,Voordele toegepas,
Dispensed Amount (Pro-rated),Uitgestelde bedrag (Pro-gegradeerde),
Employee Benefit Application Detail,Werknemervoordeel-aansoekbesonderhede,
Earning Component,Verdien komponent,
Pay Against Benefit Claim,Betaal teen voordeel eis,
Max Benefit Amount,Maksimum Voordeelbedrag,
Employee Benefit Claim,Werknemersvoordeel-eis,
Claim Date,Eisdatum,
Benefit Type and Amount,Voordeel Tipe en Bedrag,
Claim Benefit For,Eisvoordeel vir,
Max Amount Eligible,Maksimum Bedrag,
Expense Proof,Uitgawe Bewys,
Employee Boarding Activity,Werknemervoordrag,
Activity Name,Aktiwiteit Naam,
Task Weight,Taakgewig,
Required for Employee Creation,Benodig vir die skep van werknemers,
Applicable in the case of Employee Onboarding,Toepaslik in die geval van werknemer aan boord,
Employee Checkin,Werknemer Checkin,
Log Type,Logtipe,
OUT,UIT,
Location / Device ID,Ligging / toestel-ID,
Skip Auto Attendance,Slaan motorbywoning oor,
Shift Start,Skof begin,
Shift End,Shift End,
Shift Actual Start,Skuif die werklike begin,
Shift Actual End,Wissel werklike einde,
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,
Default Salary Structure,Standaard Salarisstruktuur,
Employee Group Table,Tabel vir werknemersgroepe,
ERPNext User ID,ERPVolgende gebruikers-ID,
Employee Health Insurance,Werknemer Gesondheidsversekering,
Health Insurance Name,Gesondheidsversekeringsnaam,
Employee Incentive,Werknemers aansporing,
Incentive Amount,Aansporingsbedrag,
Employee Internal Work History,Werknemer Interne Werkgeskiedenis,
Employee Onboarding,Werknemer aan boord,
Notify users by email,Stel gebruikers per e-pos in kennis,
Employee Onboarding Template,Werknemer Aan boord Sjabloon,
Activities,aktiwiteite,
Employee Onboarding Activity,Werknemer aan boord Aktiwiteit,
Employee Other Income,Ander werknemers se inkomste,
Employee Promotion,Werknemersbevordering,
Promotion Date,Bevorderingsdatum,
Employee Promotion Details,Werknemersbevorderingsbesonderhede,
Employee Promotion Detail,Werknemersbevorderingsdetail,
Employee Property History,Werknemer Eiendomsgeskiedenis,
Employee Separation,Werknemersskeiding,
Employee Separation Template,Medewerkers skeiding sjabloon,
Exit Interview Summary,Uittreksel onderhoudsopsomming,
Employee Skill,Vaardigheid van werknemers,
Proficiency,vaardigheid,
Evaluation Date,Evalueringsdatum,
Employee Skill Map,Kaart van werknemersvaardighede,
Employee Skills,Werknemervaardighede,
Trainings,opleiding,
Employee Tax Exemption Category,Werknemersbelastingvrystellingskategorie,
Max Exemption Amount,Maksimum vrystellingsbedrag,
Employee Tax Exemption Declaration,Werknemersbelastingvrystelling Verklaring,
Declarations,verklarings,
Total Declared Amount,Totale verklaarde bedrag,
Total Exemption Amount,Totale Vrystellingsbedrag,
Employee Tax Exemption Declaration Category,Werknemersbelastingvrystelling Verklaringskategorie,
Exemption Sub Category,Vrystelling Subkategorie,
Exemption Category,Vrystellingskategorie,
Maximum Exempted Amount,Maksimum vrygestelde bedrag,
Declared Amount,Verklaarde bedrag,
Employee Tax Exemption Proof Submission,Werknemersbelastingvrystelling Bewysvoorlegging,
Submission Date,Inhandigingsdatum,
Tax Exemption Proofs,Belastingvrystellingbewyse,
Total Actual Amount,Totale werklike bedrag,
Employee Tax Exemption Proof Submission Detail,Werknemersbelastingvrystelling Bewysinligtingsbesonderhede,
Maximum Exemption Amount,Maksimum vrystellingsbedrag,
Type of Proof,Soort bewyse,
Actual Amount,Werklike bedrag,
Employee Tax Exemption Sub Category,Werknemersbelastingvrystelling Subkategorie,
Tax Exemption Category,Belastingvrystellingskategorie,
Employee Training,Opleiding van werknemers,
Training Date,Opleidingsdatum,
Employee Transfer,Werknemersoordrag,
Transfer Date,Oordragdatum,
Employee Transfer Details,Werknemersoordragbesonderhede,
Employee Transfer Detail,Werknemersoordragbesonderhede,
Re-allocate Leaves,Herlei toekennings,
Create New Employee Id,Skep nuwe werknemer-ID,
New Employee ID,Nuwe werknemer ID,
Employee Transfer Property,Werknemersoordragseiendom,
HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
Expense Taxes and Charges,Belasting en heffings,
Total Sanctioned Amount,Totale Sanctioned Amount,
Total Advance Amount,Totale voorskotbedrag,
Total Claimed Amount,Totale eisbedrag,
Total Amount Reimbursed,Totale Bedrag vergoed,
Vehicle Log,Voertuiglogboek,
Employees Email Id,Werknemers E-pos ID,
More Details,Meer besonderhede,
Expense Claim Account,Koste-eisrekening,
Expense Claim Advance,Koste Eis Voorskot,
Unclaimed amount,Onopgeëiste bedrag,
Expense Claim Detail,Koste eis Detail,
Expense Date,Uitgawe Datum,
Expense Claim Type,Koste eis Tipe,
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,
HR Settings,HR instellings,
Employee Settings,Werknemer instellings,
Retirement Age,Aftree-ouderdom,
Enter retirement age in years,Gee aftree-ouderdom in jare,
Stop Birthday Reminders,Stop verjaardag herinnerings,
Expense Approver Mandatory In Expense Claim,Uitgawe Goedkeuring Verpligte Uitgawe Eis,
Payroll Settings,Loonstaatinstellings,
Leave,Verlaat,
Max working hours against Timesheet,Maksimum werksure teen Timesheet,
Include holidays in Total no. of Working Days,Sluit vakansiedae in Totaal nr. van werksdae,
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Indien gekontroleer, Totale nommer. van werksdae sal vakansiedae insluit, en dit sal die waarde van salaris per dag verminder",
"If checked, hides and disables Rounded Total field in Salary Slips","As dit gemerk is, verberg en deaktiveer u die veld Afgeronde totaal in salarisstrokies",
The fraction of daily wages to be paid for half-day attendance,Die fraksie van die daaglikse lone wat betaal moet word vir die bywoning van &#39;n halfdag,
Email Salary Slip to Employee,E-pos Salarisstrokie aan Werknemer,
Emails salary slip to employee based on preferred email selected in Employee,E-pos salarisstrokie aan werknemer gebaseer op voorkeur e-pos gekies in Werknemer,
Encrypt Salary Slips in Emails,Enkripteer salarisstrokies in e-pos,
"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Die salarisstrokie wat aan die werknemer per e-pos gestuur word, sal met &#39;n wagwoord beskerm word, die wagwoord word gegenereer op grond van die wagwoordbeleid.",
Password Policy,Wagwoordbeleid,
<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Voorbeeld:</b> SAL- {first_name} - {date_of_birth.year} <br> Dit sal &#39;n wagwoord soos SAL-Jane-1972 genereer,
Leave Settings,Verlaat instellings,
Leave Approval Notification Template,Verlaat goedkeuringskennisgewingsjabloon,
Leave Status Notification Template,Verstek Status Notifikasie Sjabloon,
Role Allowed to Create Backdated Leave Application,Die rol wat toegelaat word om &#39;n aansoek om verouderde verlof te skep,
Leave Approver Mandatory In Leave Application,Verlaat Goedkeuring Verpligtend In Verlof Aansoek,
Show Leaves Of All Department Members In Calendar,Toon blare van alle Departementslede in die Jaarboek,
Auto Leave Encashment,Verlaat omhulsel outomaties,
Hiring Settings,Instellings huur,
Check Vacancies On Job Offer Creation,Kyk na vakatures met die skep van werksaanbiedinge,
Identification Document Type,Identifikasiedokument Tipe,
Effective from,Effektief vanaf,
Allow Tax Exemption,Laat belastingvrystelling toe,
"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","As dit aangeskakel is, sal belastingvrystellingsverklaring oorweeg word vir die berekening van inkomstebelasting.",
Standard Tax Exemption Amount,Standaard Belastingvrystellingsbedrag,
Taxable Salary Slabs,Belasbare Salarisplakkers,
Taxes and Charges on Income Tax,Belasting en heffings op inkomstebelasting,
Other Taxes and Charges,Ander belastings en heffings,
Income Tax Slab Other Charges,Inkomstebelastingblad Ander heffings,
Min Taxable Income,Min Belasbare Inkomste,
Max Taxable Income,Maksimum belasbare inkomste,
Applicant for a Job,Aansoeker vir &#39;n werk,
Accepted,aanvaar,
Job Opening,Job Opening,
Cover Letter,Dekbrief,
Resume Attachment,Hersien aanhangsel,
Job Applicant Source,Job Applikant Bron,
Applicant Email Address,Aansoeker se e-posadres,
Awaiting Response,In afwagting van antwoord,
Job Offer Terms,Werkaanbod Terme,
Select Terms and Conditions,Kies Terme en Voorwaardes,
Printing Details,Drukbesonderhede,
Job Offer Term,Job Aanbod Termyn,
Offer Term,Aanbod Termyn,
Value / Description,Waarde / beskrywing,
Description of a Job Opening,Beskrywing van &#39;n werksopening,
Job Title,Werkstitel,
Staffing Plan,Personeelplan,
Planned number of Positions,Beplande aantal posisies,
"Job profile, qualifications required etc.","Werkprofiel, kwalifikasies benodig ens.",
HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
Allocation,toekenning,
New Leaves Allocated,Nuwe blare toegeken,
Add unused leaves from previous allocations,Voeg ongebruikte blare by vorige toekennings by,
Unused leaves,Ongebruikte blare,
Total Leaves Allocated,Totale blare toegeken,
Total Leaves Encashed,Totale blare ingesluit,
Leave Period,Verlofperiode,
Carry Forwarded Leaves,Dra aanstuurblare,
Apply / Approve Leaves,Pas / keur Blare toe,
HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
Leave Balance Before Application,Verlaatbalans voor aansoek,
Total Leave Days,Totale Verlofdae,
Leave Approver Name,Verlaat Goedgekeur Naam,
Follow via Email,Volg via e-pos,
Block Holidays on important days.,Blok vakansie op belangrike dae.,
Leave Block List Name,Verlaat bloklys naam,
Applies to Company,Van toepassing op Maatskappy,
"If not checked, the list will have to be added to each Department where it has to be applied.","Indien nie gekontroleer nie, moet die lys by elke Departement gevoeg word waar dit toegepas moet word.",
Block Days,Blokdae,
Stop users from making Leave Applications on following days.,Stop gebruikers om verloftoepassings op die volgende dae te maak.,
Leave Block List Dates,Los blokkie lys datums,
Allow Users,Laat gebruikers toe,
Allow the following users to approve Leave Applications for block days.,Laat die volgende gebruikers toe om Laat aansoeke vir blokdae goed te keur.,
Leave Block List Allowed,Laat blokkie lys toegelaat,
Leave Block List Allow,Laat blokblokkering toe,
Allow User,Laat gebruiker toe,
Leave Block List Date,Laat blokkie lys datum,
Block Date,Blok Datum,
Leave Control Panel,Verlaat beheerpaneel,
Select Employees,Kies Werknemers,
Employment Type (optional),Soort indiensneming (opsioneel),
Branch (optional),Tak (opsioneel),
Department (optional),Departement (opsioneel),
Designation (optional),Benaming (opsioneel),
Employee Grade (optional),Werknemergraad (opsioneel),
Employee (optional),Werknemer (opsioneel),
Allocate Leaves,Ken blare toe,
Carry Forward,Voort te sit,
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,"Kies asseblief Carry Forward as u ook die vorige fiskale jaar se balans wil insluit, verlaat na hierdie fiskale jaar",
New Leaves Allocated (In Days),Nuwe blare toegeken (in dae),
Allocate,Ken,
Leave Balance,Verlofbalans,
Encashable days,Ontvankbare dae,
Encashment Amount,Encashment Bedrag,
Leave Ledger Entry,Verlaat Grootboekinskrywing,
Transaction Name,Naam van transaksie,
Is Carry Forward,Is vorentoe,
Is Expired,Is verval,
Is Leave Without Pay,Is Leave Without Pay,
Holiday List for Optional Leave,Vakansie Lys vir Opsionele Verlof,
Leave Allocations,Verlof toekennings,
Leave Policy Details,Verlaat beleidsbesonderhede,
Leave Policy Detail,Verlaat beleidsdetail,
Annual Allocation,Jaarlikse toekenning,
Leave Type Name,Verlaat tipe naam,
Max Leaves Allowed,Maksimum toelaatbare blare,
Applicable After (Working Days),Toepaslike Na (Werkdae),
Maximum Continuous Days Applicable,Maksimum Deurlopende Dae Toepaslik,
Is Optional Leave,Is opsionele verlof,
Allow Negative Balance,Laat Negatiewe Saldo toe,
Include holidays within leaves as leaves,Sluit vakansiedae in blare in as blare,
Is Compensatory,Is kompensatories,
Maximum Carry Forwarded Leaves,Maksimum draadjies wat deur gestuur word,
Expire Carry Forwarded Leaves (Days),Verval gestuur blare (dae),
Calculated in days,In dae bereken,
Encashment,Die betaling,
Allow Encashment,Laat Encashment toe,
Encashment Threshold Days,Encashment Drempel Dae,
Earned Leave,Verdien Verlof,
Is Earned Leave,Is Verdien Verlof,
Earned Leave Frequency,Verdienstelike verloffrekwensie,
Rounding,afronding,
Payroll Employee Detail,Betaalstaat Werknemer Detail,
Payroll Frequency,Payroll Frequency,
Fortnightly,tweeweeklikse,
Bimonthly,tweemaandelikse,
Employees,Werknemers,
Number Of Employees,Aantal werknemers,
Employee Details,Werknemersbesonderhede,
Validate Attendance,Bevestig Bywoning,
Salary Slip Based on Timesheet,Salarisstrokie gebaseer op tydsopgawe,
Select Payroll Period,Kies Payroll Periode,
Deduct Tax For Unclaimed Employee Benefits,Aftrekbelasting vir Onopgeëiste Werknemervoordele,
Deduct Tax For Unsubmitted Tax Exemption Proof,Aftrekbelasting vir nie-aangemelde belastingvrystellingbewys,
Select Payment Account to make Bank Entry,Kies Betaalrekening om Bankinskrywing te maak,
Salary Slips Created,Salarisstrokies geskep,
Salary Slips Submitted,Salarisstrokies ingedien,
Payroll Periods,Payroll Periods,
Payroll Period Date,Betaalstaat Periode Datum,
Purpose of Travel,Doel van reis,
Retention Bonus,Retensie Bonus,
Bonus Payment Date,Bonus Betalingsdatum,
Bonus Amount,Bonusbedrag,
Abbr,abbr,
Depends on Payment Days,Hang af van die betalingsdae,
Is Tax Applicable,Is Belasting van toepassing,
Variable Based On Taxable Salary,Veranderlike gebaseer op Belasbare Salaris,
Exempted from Income Tax,Vrygestel van inkomstebelasting,
Round to the Nearest Integer,Rond tot die naaste heelgetal,
Statistical Component,Statistiese komponent,
"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Indien gekies, sal die waarde wat in hierdie komponent gespesifiseer of bereken word, nie bydra tot die verdienste of aftrekkings nie. Die waarde daarvan kan egter verwys word deur ander komponente wat bygevoeg of afgetrek kan word.",
Do Not Include in Total,Moenie in totaal insluit nie,
Flexible Benefits,Buigsame Voordele,
Is Flexible Benefit,Is Buigsame Voordeel,
Max Benefit Amount (Yearly),Maksimum Voordeelbedrag (Jaarliks),
Only Tax Impact (Cannot Claim But Part of Taxable Income),"Slegs Belasting Impak (Kan nie eis nie, maar deel van Belasbare inkomste)",
Create Separate Payment Entry Against Benefit Claim,Skep &#39;n afsonderlike betaling inskrywing teen voordeel eis,
Condition and Formula,Toestand en Formule,
Amount based on formula,Bedrag gebaseer op formule,
Formula,formule,
Salary Detail,Salarisdetail,
Component,komponent,
Do not include in total,Sluit nie in totaal in nie,
Default Amount,Verstekbedrag,
Additional Amount,Bykomende bedrag,
Tax on flexible benefit,Belasting op buigsame voordeel,
Tax on additional salary,Belasting op addisionele salaris,
Salary Structure,Salarisstruktuur,
Working Days,Werksdae,
Salary Slip Timesheet,Salaris Slip Timesheet,
Total Working Hours,Totale werksure,
Hour Rate,Uurtarief,
Bank Account No.,Bankrekeningnommer,
Earning & Deduction,Verdien en aftrekking,
Earnings,verdienste,
Deductions,aftrekkings,
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,
Total in words,Totaal in woorde,
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.,
Salary Component for timesheet based payroll.,Salaris Komponent vir tydlaar-gebaseerde betaalstaat.,
Leave Encashment Amount Per Day,Verlof Encashment Bedrag per dag,
Max Benefits (Amount),Maksimum Voordele (Bedrag),
Salary breakup based on Earning and Deduction.,Salarisuitval gebaseer op verdienste en aftrekking.,
Total Earning,Totale verdienste,
Salary Structure Assignment,Salarisstruktuuropdrag,
Shift Assignment,Shift Opdrag,
Shift Type,Shift Type,
Shift Request,Verskuiwing Versoek,
Enable Auto Attendance,Aktiveer outo-bywoning,
Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Merk bywoning gebaseer op &#39;Werknemer-aanmelding&#39; vir werknemers wat aan hierdie skof toegewys is.,
Auto Attendance Settings,Instellings vir outo-bywoning,
Determine Check-in and Check-out,Bepaal die in-en uitklok,
Alternating entries as IN and OUT during the same shift,Wissel inskrywings as IN en UIT tydens dieselfde skof,
Strictly based on Log Type in Employee Checkin,Streng gebaseer op die logtipe in die werknemer-checkin,
Working Hours Calculation Based On,Berekening van werksure gebaseer op,
First Check-in and Last Check-out,Eerste inklok en laaste uitklok,
Every Valid Check-in and Check-out,Elke geldige in- en uitklok,
Begin check-in before shift start time (in minutes),Begin inklok voor die begin van die skof (in minute),
The time before the shift start time during which Employee Check-in is considered for attendance.,Die tyd voor die aanvangstyd van die skof waartydens werknemers-inklok in aanmerking kom vir die bywoning.,
Allow check-out after shift end time (in minutes),Laat uitklok toe na afloop van die skof (in minute),
Time after the end of shift during which check-out is considered for attendance.,Tyd na die beëindiging van die skof waartydens u uitklok vir die bywoning oorweeg word.,
Working Hours Threshold for Half Day,Drempel vir werksure vir halwe dag,
Working hours below which Half Day is marked. (Zero to disable),Werksure waaronder Halfdag gemerk is. (Nul om uit te skakel),
Working Hours Threshold for Absent,Drempel vir werksure vir afwesig,
Working hours below which Absent is marked. (Zero to disable),Werksure waaronder Afwesig gemerk is. (Nul om uit te skakel),
Process Attendance After,Prosesbywoning na,
Attendance will be marked automatically only after this date.,Bywoning word slegs na hierdie datum outomaties gemerk.,
Last Sync of Checkin,Laaste synchronisasie van Checkin,
Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,Laaste bekende suksesvolle sinkronisering van werknemerverslag Herstel dit slegs as u seker is dat alle logboeke vanaf al die liggings gesinkroniseer is. Moet dit asseblief nie verander as u onseker is nie.,
Grace Period Settings For Auto Attendance,Genade-periode-instellings vir motorbywoning,
Enable Entry Grace Period,Aktiveer ingangsperiode,
Late Entry Grace Period,Genade tydperk vir laat ingang,
The time after the shift start time when check-in is considered as late (in minutes).,Die tyd na die verskuiwing begin tyd wanneer die inklok as laat (in minute) beskou word.,
Enable Exit Grace Period,Aktiveer uittree-genadetydperk,
Early Exit Grace Period,Genade tydperk vir vroeë uitgang,
The time before the shift end time when check-out is considered as early (in minutes).,Die tyd voor die eindtyd van die verskuiwing wanneer die uitcheck as vroeg (in minute) beskou word.,
Skill Name,Vaardigheidsnaam,
Staffing Plan Details,Personeelplanbesonderhede,
Staffing Plan Detail,Personeelplanbesonderhede,
Total Estimated Budget,Totale geraamde begroting,
Vacancies,vakatures,
Estimated Cost Per Position,Geskatte koste per posisie,
Total Estimated Cost,Totale beraamde koste,
Current Count,Huidige telling,
Current Openings,Huidige openings,
Number Of Positions,Aantal posisies,
Taxable Salary Slab,Belasbare Salarisplak,
From Amount,Uit Bedrag,
To Amount,Om Bedrag,
Percent Deduction,Persent aftrekking,
Training Program,Opleidingsprogram,
Event Status,Gebeurtenis Status,
Has Certificate,Het sertifikaat,
Seminar,seminaar,
Theory,teorie,
Workshop,werkswinkel,
Conference,Konferensie,
Exam,eksamen,
Internet,internet,
Self-Study,Selfstudie,
Advance,bevorder,
Trainer Name,Afrigter Naam,
Trainer Email,Trainer E-pos,
Attendees,deelnemers,
Employee Emails,Werknemende e-posse,
Training Event Employee,Opleiding Event Werknemer,
Invited,Genooi,
Feedback Submitted,Terugvoer ingedien,
Optional,opsioneel,
Training Result Employee,Opleiding Resultaat Werknemer,
Travel Itinerary,Reisplan,
Travel From,Reis Van,
Travel To,Reis na,
Mode of Travel,Reismodus,
Flight,Flight,
Train,trein,
Taxi,taxi,
Rented Car,Huurde motor,
Meal Preference,Maaltydvoorkeur,
Vegetarian,Vegetariese,
Non-Vegetarian,Nie-Vegetaries,
Gluten Free,Glutenvry,
Non Diary,Nie Dagboek,
Travel Advance Required,Vereis reisvoordeel,
Departure Datetime,Vertrek Datum Tyd,
Arrival Datetime,Aankoms Datum Tyd,
Lodging Required,Akkommodasie benodig,
Preferred Area for Lodging,Voorkeurarea vir Akkommodasie,
Check-in Date,Incheckdatum,
Check-out Date,Check-out datum,
Travel Request,Reisversoek,
Travel Type,Reis Tipe,
Domestic,binnelandse,
International,internasionale,
Travel Funding,Reisbefondsing,
Require Full Funding,Vereis Volledige Befondsing,
Fully Sponsored,Volledig Sponsored,
"Partially Sponsored, Require Partial Funding","Gedeeltelik geborg, vereis gedeeltelike befondsing",
Copy of Invitation/Announcement,Afskrif van Uitnodiging / Aankondiging,
"Details of Sponsor (Name, Location)","Besonderhede van Borg (Naam, Plek)",
Identification Document Number,Identifikasienommer,
Any other details,Enige ander besonderhede,
Costing Details,Koste Besonderhede,
Costing,kos,
Event Details,Gebeurtenisbesonderhede,
Name of Organizer,Naam van die organiseerder,
Address of Organizer,Adres van organiseerder,
Travel Request Costing,Reisversoek Koste,
Expense Type,Uitgawe Tipe,
Sponsored Amount,Gekonsentreerde bedrag,
Funded Amount,Gefinansierde Bedrag,
Upload Attendance,Oplaai Bywoning,
Attendance From Date,Bywoning vanaf datum,
Attendance To Date,Bywoning tot datum,
Get Template,Kry Sjabloon,
Import Attendance,Invoer Bywoning,
Upload HTML,Laai HTML op,
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,
HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
Odometer Reading,Odometer Reading,
Current Odometer value ,Huidige afstandmeterwaarde,
last Odometer Value ,laaste kilometerstandwaarde,
Refuelling Details,Aanwending besonderhede,
Invoice Ref,Faktuur Ref,
Service Details,Diensbesonderhede,
Service Detail,Diensbesonderhede,
Vehicle Service,Voertuigdiens,
Service Item,Diens Item,
Brake Oil,Remolie,
Brake Pad,Remskoen,
Clutch Plate,Koppelplaat,
Engine Oil,Enjin olie,
Oil Change,Olieverandering,
Inspection,inspeksie,
Mileage,kilometers,
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,
Salary Slip Loan,Salaris Slip Lening,
Loan Repayment Entry,Terugbetaling van lenings,
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,
May,Mei,
June,Junie,
July,Julie,
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,
Select Transaction,Kies transaksie,
Help HTML,Help HTML,
Series List for this Transaction,Reekslys vir hierdie transaksie,
User must always select,Gebruiker moet altyd kies,
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Kontroleer dit as u die gebruiker wil dwing om &#39;n reeks te kies voordat u dit stoor. Daar sal geen standaard wees as u dit kontroleer nie.,
Update Series,Update Series,
Change the starting / current sequence number of an existing series.,Verander die begin- / huidige volgordenommer van &#39;n bestaande reeks.,
Prefix,voorvoegsel,
This is the number of the last created transaction with this prefix,Dit is die nommer van die laaste geskep transaksie met hierdie voorvoegsel,
Update Series Number,Werk reeksnommer,
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,
Bank Remittance,Bankoorbetaling,
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,
Daily Work Summary Replies,Daaglikse Werkopsomming Antwoorde,
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 Advance Summary,Werknemersvoordeelopsomming,
Employee Billing Summary,Werknemer se faktuuropsomming,
Employee Birthday,Werknemer Verjaarsdag,
Employee Information,Werknemersinligting,
Employee Leave Balance,Werknemerverlofbalans,
Employee Leave Balance Summary,Werkopsommingsaldo-opsomming,
Employees working on a holiday,Werknemers wat op vakansie werk,
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,
Monthly Attendance Sheet,Maandelikse Bywoningsblad,
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,
Salary Register,Salarisregister,
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,
Unpaid Expense Claim,Onbetaalde koste-eis,
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,
Validation Error,Validasiefout,
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},
Payment Account is mandatory,Betaalrekening is verpligtend,
"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","As dit gekontroleer word, sal die volle bedrag van die belasbare inkomste afgetrek word voordat inkomstebelasting bereken word sonder enige verklaring of bewys.",
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:,
Andaman and Nicobar Islands,Andaman- en Nicobar-eilande,
Andhra Pradesh,Andhra Pradesh,
Arunachal Pradesh,Arunachal Pradesh,
Assam,Assam,
Bihar,Bihar,
Chandigarh,Chandigarh,
Chhattisgarh,Chhattisgarh,
Dadra and Nagar Haveli,Dadra en Nagar Haveli,
Daman and Diu,Daman en Diu,
Delhi,Delhi,
Goa,Goa,
Gujarat,Gujarat,
Haryana,Haryana,
Himachal Pradesh,Himachal Pradesh,
Jammu and Kashmir,Jammu en Kasjmir,
Jharkhand,Jharkhand,
Karnataka,Karnataka,
Kerala,Kerala,
Lakshadweep Islands,Lakshadweep-eilande,
Madhya Pradesh,Madhya Pradesh,
Maharashtra,Maharashtra,
Manipur,Manipur,
Meghalaya,Meghalaya,
Mizoram,Mizoram,
Nagaland,Nagaland,
Odisha,Odisha,
Other Territory,Ander gebied,
Pondicherry,Pondicherry,
Punjab,Punjab,
Rajasthan,Rajasthan,
Sikkim,Sikkim,
Tamil Nadu,Tamil Nadu,
Telangana,Telangana,
Tripura,Tripura,
Uttar Pradesh,Uttar Pradesh,
Uttarakhand,Uttarakhand,
West Bengal,Wes-Bengale,
Is Mandatory,Is verpligtend,
Published on,Gepubliseer op,
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,
Bottom,Onder,
Top,Top,
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.-,
In Time,Betyds,
Out Time,Uittyd,
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,
PAN Number,PAN-nommer,
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,
Expired Leaves,Verlore blare,
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,
Is Recurring,Is herhalend,
HRA Exemption,HRA-vrystelling,
Monthly House Rent,Maandelikse huishuur,
Rented in Metro City,Huur in Metro City,
HRA as per Salary Structure,HRA volgens Salarisstruktuur,
Annual HRA Exemption,Jaarlikse HRA-vrystelling,
Monthly HRA Exemption,Maandelikse HRA-vrystelling,
House Rent Payment Amount,Huishuurbedrag,
Rented From Date,Verhuur vanaf datum,
Rented To Date,Tot op datum verhuur,
Monthly Eligible Amount,Maandelikse in aanmerking komende bedrag,
Total Eligible HRA Exemption,Totale in aanmerking komende HRA-vrystelling,
Validating Employee Attendance...,Validasie van werknemerbywoning ...,
Submitting Salary Slips and creating Journal Entry...,Dien salarisstrokies in en skep joernaalinskrywing ...,
Calculate Payroll Working Days Based On,Bereken werkdae op grond van,
Consider Unmarked Attendance As,Oorweeg ongemerkte bywoning as,
Fraction of Daily Salary for Half Day,Fraksie van die daaglikse salaris vir &#39;n halwe dag,
Component Type,Komponent tipe,
Provident Fund,voorsorgfonds,
Additional Provident Fund,Bykomende Voorsorgfonds,
Provident Fund Loan,Voorsorgfonds lening,
Professional Tax,Professionele belasting,
Is Income Tax Component,Is inkomstebelasting komponent,
Component properties and references ,Komponenteienskappe en verwysings,
Additional Salary ,Bykomende salaris,
Unmarked days,Ongemerkte dae,
Absent Days,Afwesige dae,
Conditions and Formula variable and example,Voorwaardes en formule veranderlike en voorbeeld,
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,
Income Tax Deductions,Inkomstebelastingaftrekkings,
Income Tax Component,Inkomstebelasting-komponent,
Income Tax Amount,Inkomstebelastingbedrag,
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,
Unmarked Days,Ongemerkte dae,
Jan,Jan.,
Feb,Feb.,
Mar,Mrt,
Apr,Apr.,
Aug,Aug.,
Sep,Sep.,
Oct,Okt.,
Nov,Nov.,
Dec,Des,
Summarized View,Samevattende aansig,
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,
Professional Tax Deductions,Professionele belastingaftrekkings,
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,
Provident Fund Deductions,Voorsieningsfondsaftrekkings,
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,
Recruitment Analytics,Werwingsanalise,
Applicant name,Aansoeker naam,
Job Offer status,Posaanbodstatus,
On Date,Op datum,
Requested Items to Order and Receive,Aangevraagde items om te bestel en te ontvang,
Salary Payments Based On Payment Mode,Salarisbetalings gebaseer op betalingsmodus,
Salary Payments via ECS,Salarisbetalings via ECS,
Account No,Rekening nommer,
IFSC,IFSC,
MICR,MICR,
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,
PF Account,PF-rekening,
PF Amount,PF bedrag,
Additional PF,Bykomende PF,
PF Loan,PF-lening,
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},
Duplicate Entry,Dubbele inskrywing,
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 select Employee first.,Kies eers Werknemer.,
Please set {0} for the Employee or for Department: {1},Stel {0} vir die werknemer of vir die departement in: {1},
To Date should be greater than From Date,Tot op datum moet groter wees as vanaf datum,
Employee Onboarding: {0} is already for Job Applicant: {1},Werknemers aan boord: {0} is reeds vir werksaansoeker: {1},
Job Offer: {0} is already for Job Applicant: {1},Posaanbod: {0} is reeds vir werksaansoeker: {1},
Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Slegs skuifversoek met die status &#39;Goedgekeur&#39; en &#39;Afgewys&#39; kan ingedien word,
Shift Assignment: {0} created for Employee: {1},Skoftoewysing: {0} geskep vir werknemer: {1},
You can not request for your Default Shift: {0},U kan nie u verstekskof aanvra nie: {0},
Only Approvers can Approve this Request.,Slegs kandidate kan hierdie versoek goedkeur.,
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,
Please set Payroll based on in Payroll settings,Stel Payroll in volgens die Payroll-instellings,
Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Bykomende salaris: {0} bestaan reeds vir salariskomponent: {1} vir periode {2} en {3},
From Date can not be greater than To Date.,Vanaf datum kan nie groter wees as tot op datum nie.,
Payroll date can not be less than employee's joining date.,Die betaalstaatdatum kan nie minder wees as die aansluitdatum van die werknemer nie.,
From date can not be less than employee's joining date.,Van datum kan nie minder wees as die aansluitdatum van die werknemer nie.,
To date can not be greater than employee's relieving date.,Tot op hede kan dit nie groter wees as die werkdag se aflosdatum nie.,
Payroll date can not be greater than employee's relieving date.,Die betaaldatum kan nie langer wees as die werkdag se aflosdatum 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,
Condition and formula,Toestand en formule,
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.,
