"""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,
Applicant,aansoeker,
Applicant Type,Aansoeker Tipe,
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 Item with this barcode,Kan geen item met hierdie strepieskode vind 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 By,Gemaak deur,
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,
Form View,Form View,
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 Amount cannot exceed Maximum Loan Amount of {0},Lening Bedrag kan nie Maksimum Lening Bedrag van {0},
Loan Application,Leningsaansoek,
Loan Management,Leningbestuur,
Loan Repayment,Lening Terugbetaling,
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,
Monthly Repayment Amount cannot be greater than Loan Amount,Maandelikse Terugbetalingsbedrag kan nie groter wees as Leningbedrag nie,
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,
Payable Amount,Betaalbare bedrag,
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 Date,Betaaldatum,
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 Repayment Periods,Voer asseblief terugbetalingsperiodes 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 repayment Amount,Voer asseblief terugbetalingsbedrag 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,
Principal Amount,Hoofbedrag,
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,Beperkte bedrag,
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 #,Serie #,
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.,
"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Terwyl u rekening vir kindermaatskappy {0} skep, word ouerrekening {1} nie gevind nie. Skep asseblief die ouerrekening in die ooreenstemmende COA",
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,
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,
Sign Up,Teken aan,
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","Spesiale karakters behalwe &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; En &quot;}&quot; word nie toegelaat in die naamreekse nie",
Target Details,Teikenbesonderhede,
API,API,
Annual,jaarlikse,
Approved,goedgekeur,
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 belong to company {1},Rekening {0} behoort nie aan die maatskappy {1},
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 Loan Security,Voeg leningsekuriteit 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.,
Against Loan,Teen lening,
Against Loan:,Teen lening:,
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,
Amount paid cannot be zero,Bedrag betaal kan nie nul wees nie,
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 create loan until application is approved,Kan nie &#39;n lening maak totdat die aansoek goedgekeur is 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 Amount exceeds maximum loan amount of {0} as per proposed securities,Leningsbedrag oorskry die maksimum leningsbedrag van {0} volgens voorgestelde sekuriteite,
Loan Applications from customers and employees.,Leningsaansoeke van kliënte en werknemers.,
Loan Disbursement,Leninguitbetaling,
Loan Processes,Leningsprosesse,
Loan Security,Leningsekuriteit,
Loan Security Pledge,Veiligheidsbelofte vir lenings,
Loan Security Pledge Created : {0},Veiligheidsbelofte vir lenings geskep: {0},
Loan Security Price,Leningsprys,
Loan Security Price overlapping with {0},Lening-sekuriteitsprys wat met {0} oorvleuel,
Loan Security Unpledge,Uitleen van sekuriteitslenings,
Loan Security Value,Leningsekuriteitswaarde,
Loan Type for interest and penalty rates,Tipe lening vir rente en boetes,
Loan amount cannot be greater than {0},Leningsbedrag kan nie groter wees as {0},
Loan is mandatory,Lening is verpligtend,
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,
Penalty Amount,Strafbedrag,
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 Applicant Type first,Kies eers die aansoeker tipe,
Please select Customer first,Kies eers kliënt,
Please select Item Code first,Kies eers die itemkode,
Please select Loan Type for company {0},Kies leningstipe vir maatskappy {0},
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
Pledge Status,Belofte status,
Pledge Time,Beloftetyd,
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,
Proposed Pledges are mandatory for secured Loans,Voorgestelde pandjies is verpligtend vir versekerde lenings,
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,
Qty or Amount is mandatroy for loan security,Aantal of Bedrag is verpligtend vir leningsekuriteit,
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,
Repayment Method is mandatory for term loans,Terugbetalingsmetode is verpligtend vir termynlenings,
Repayment Start Date is mandatory for term loans,Aanvangsdatum vir terugbetaling is verpligtend vir termynlenings,
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},
Sanctioned Amount limit crossed for {0} {1},Die goedgekeurde hoeveelheid limiete is gekruis vir {0} {1},
Sanctioned Loan Amount already exists for {0} against company {1},Bestaande leningsbedrag bestaan reeds vir {0} teen maatskappy {1},
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,
Valid From Time must be lesser than Valid Upto Time.,Geldig vanaf tyd moet kleiner wees as geldig tot tyd.,
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,
Loan Amount is mandatory,Leningsbedrag is verpligtend,
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,
Get items from,Kry items van,
Group by,Groep By,
In stock,In voorraad,
Item name,Item naam,
Loan amount is mandatory,Leningsbedrag is verpligtend,
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,
No valid Loan Security Price found for {0},Geen geldige sekuriteitsprys vir lenings gevind vir {0},
Loan Account and Payment Account cannot be same,Leningrekening en betaalrekening kan nie dieselfde wees nie,
Loan Security Pledge can only be created for secured loans,Leningversekeringsbelofte kan slegs vir veilige lenings aangegaan 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,
Applicant Name,Aansoeker Naam,
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,
Member,lid,
Partially Disbursed,Gedeeltelik uitbetaal,
Loan Closure Requested,Leningsluiting gevra,
Repay From Salary,Terugbetaal van Salaris,
Loan Details,Leningsbesonderhede,
Loan Type,Lening Tipe,
Loan Amount,Leningsbedrag,
Is Secured Loan,Is versekerde lening,
Rate of Interest (%) / Year,Rentekoers (%) / Jaar,
Disbursement Date,Uitbetalingsdatum,
Disbursed Amount,Uitbetaalde bedrag,
Is Term Loan,Is termynlening,
Repayment Method,Terugbetaling Metode,
Repay Fixed Amount per Period,Herstel vaste bedrag per Periode,
Repay Over Number of Periods,Terugbetaling oor aantal periodes,
Repayment Period in Months,Terugbetalingsperiode in maande,
Monthly Repayment Amount,Maandelikse Terugbetalingsbedrag,
Repayment Start Date,Terugbetaling Begin Datum,
Loan Security Details,Leningsekuriteitsbesonderhede,
Maximum Loan Value,Maksimum leningswaarde,
Account Info,Rekeninginligting,
Loan Account,Leningsrekening,
Interest Income Account,Rente Inkomsterekening,
Penalty Income Account,Boete-inkomsterekening,
Repayment Schedule,Terugbetalingskedule,
Total Payable Amount,Totale betaalbare bedrag,
Total Principal Paid,Totale hoofbetaal,
Total Interest Payable,Totale rente betaalbaar,
Total Amount Paid,Totale bedrag betaal,
Loan Manager,Leningsbestuurder,
Loan Info,Leningsinligting,
Rate of Interest,Rentekoers,
Proposed Pledges,Voorgestelde beloftes,
Maximum Loan Amount,Maksimum leningsbedrag,
Repayment Info,Terugbetalingsinligting,
Total Payable Interest,Totale betaalbare rente,
Against Loan ,Teen lening,
Loan Interest Accrual,Toeval van lenings,
Amounts,bedrae,
Pending Principal Amount,Hangende hoofbedrag,
Payable Principal Amount,Hoofbedrag betaalbaar,
Paid Principal Amount,Betaalde hoofbedrag,
Paid Interest Amount,Betaalde rente bedrag,
Process Loan Interest Accrual,Verwerking van lening rente,
Repayment Schedule Name,Terugbetalingskedule Naam,
Regular Payment,Gereelde betaling,
Loan Closure,Leningsluiting,
Payment Details,Betaling besonderhede,
Interest Payable,Rente betaalbaar,
Amount Paid,Bedrag betaal,
Principal Amount Paid,Hoofbedrag betaal,
Repayment Details,Terugbetalingsbesonderhede,
Loan Repayment Detail,Terugbetaling van lening,
Loan Security Name,Leningsekuriteitsnaam,
Unit Of Measure,Maateenheid,
Loan Security Code,Leningsekuriteitskode,
Loan Security Type,Tipe lenings,
Haircut %,Haarknip%,
Loan  Details,Leningsbesonderhede,
Unpledged,Unpledged,
Pledged,belowe,
Partially Pledged,Gedeeltelik belowe,
Securities,sekuriteite,
Total Security Value,Totale sekuriteitswaarde,
Loan Security Shortfall,Tekort aan leningsekuriteit,
Loan ,lening,
Shortfall Time,Tekort tyd,
America/New_York,Amerika / New_York,
Shortfall Amount,Tekortbedrag,
Security Value ,Sekuriteitswaarde,
Process Loan Security Shortfall,Verwerk leningsekuriteit,
Loan To Value Ratio,Lening tot Waardeverhouding,
Unpledge Time,Unpedge-tyd,
Loan Name,Lening Naam,
Rate of Interest (%) Yearly,Rentekoers (%) Jaarliks,
Penalty Interest Rate (%) Per Day,Boete rentekoers (%) per dag,
Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Boete word op &#39;n daaglikse basis op die hangende rentebedrag gehef in geval van uitgestelde terugbetaling,
Grace Period in Days,Genade tydperk in dae,
No. of days from due date until which penalty won't be charged in case of delay in loan repayment,Aantal dae vanaf die vervaldatum totdat die boete nie gehef sal word in geval van vertraging in die terugbetaling van die lening nie,
Pledge,belofte,
Post Haircut Amount,Bedrag na kapsel,
Process Type,Proses tipe,
Update Time,Opdateringstyd,
Proposed Pledge,Voorgestelde belofte,
Total Payment,Totale betaling,
Balance Loan Amount,Saldo Lening Bedrag,
Is Accrued,Opgeloop,
Salary Slip Loan,Salaris Slip Lening,
Loan Repayment Entry,Terugbetaling van lenings,
Sanctioned Loan Amount,Goedgekeurde leningsbedrag,
Sanctioned Amount Limit,Sanktiewe Bedraglimiet,
Unpledge,Unpledge,
Haircut,haarsny,
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),Werklike tyd (in ure),
Costing and Billing,Koste en faktuur,
Total Costing Amount (via Timesheets),Totale kosteberekening (via tydskrifte),
Total Expense Claim (via Expense Claims),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 Timesheets),Totale Rekeninge Bedrag (via Tydstate),
Total Billed Amount (via Sales Invoices),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 Time Sheet),Werklike Aanvangsdatum (via Tydblad),
Actual Time (in hours),Werklike tyd (in ure),
Actual End Date (via Time Sheet),Werklike Einddatum (via Tydblad),
Total Costing Amount (via Time Sheet),Totale kosteberekening (via tydblad),
Total Expense Claim (via Expense Claim),Totale koste-eis (via koste-eis),
Total Billing Amount (via Time Sheet),Totale faktuurbedrag (via tydblad),
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,
January-April-July-October,Januarie-April-Julie-Oktober,
Revision and Revised On,Hersiening en hersien op,
Revision,hersiening,
Revised On,Hersien op,
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,
Child Procedure,Kinderprosedure,
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,
Current Value,Huidige waarde,
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,
Loan Repayment and Closure,Terugbetaling en sluiting van lenings,
Loan Security Status,Leningsekuriteitstatus,
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,
Quoted Item Comparison,Genoteerde Item Vergelyking,
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.",
Disbursement Details,Uitbetalingsbesonderhede,
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,
Reference No,Verwysingsnommer,
Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,Kapselpersentasie is die persentasieverskil tussen die markwaarde van die Leningsekuriteit en die waarde wat aan die Leningsekuriteit toegeskryf word wanneer dit as waarborg vir daardie lening gebruik word.,
Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,Lening-tot-waarde-verhouding druk die verhouding tussen die leningsbedrag en die waarde van die verpande sekuriteit uit. &#39;N Tekort aan leningsekuriteit sal veroorsaak word as dit onder die gespesifiseerde waarde vir &#39;n lening val,
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,
MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
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,
Loan Security {0} added multiple times,Leningsekuriteit {0} is verskeie kere bygevoeg,
Loan Securities with different LTV ratio cannot be pledged against one loan,Leningsekuriteite met verskillende LTV-verhoudings kan nie teen een lening verpand word nie,
Qty or Amount is mandatory for loan security!,Aantal of bedrag is verpligtend vir leningsekuriteit!,
Only submittted unpledge requests can be approved,Slegs ingediende onversekeringsversoeke kan goedgekeur word,
Interest Amount or Principal Amount is mandatory,Rentebedrag of hoofbedrag is verpligtend,
Disbursed Amount cannot be greater than {0},Uitbetaalde bedrag mag nie groter as {0} wees nie,
Row {0}: Loan Security {1} added multiple times,Ry {0}: Leningsekuriteit {1} is verskeie kere bygevoeg,
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 #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ry # {}: reeksnommer {}. {} is reeds oorgedra na &#39;n ander POS-faktuur. Kies &#39;n geldige reeksnr.,
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}.,
