"""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 All Suppliers,Voeg alle verskaffers 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 a received RFQ to No Quote,Kan nie &#39;n RFQ vir geen kwotasie opstel 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 Accounts,Grafiek van rekeninge,
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,
Completed Qty can not be greater than 'Qty to Manufacture',Voltooide hoeveelheid kan nie groter wees as &#39;Hoeveelheid om te vervaardig&#39; nie,
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 status cannot be set to 'Left' as following employees are currently reporting to this employee:&nbsp;,"Werknemerstatus kan nie op &#39;Links&#39; gestel word nie, aangesien die volgende werknemers tans aan hierdie werknemer rapporteer:",
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},
Leave the field empty to make purchase orders for all suppliers,Los die veld leeg om bestellings vir alle verskaffers te maak,
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 Quote,Geen kwotasie 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,
PO already created for all sales order items,Pos reeds geskep vir alle verkope bestellingsitems,
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 Party Type first,Kies asseblief eers Maatskappy- en Partytipe,
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} is required to create the Opening {2} Invoices,Ry {0}: {1} is nodig om die openings {2} fakture te skep,
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 Supplier Emails,Stuur verskaffer e-pos,
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 request for quotation can be accessed by clicking on the following link,Die versoek om kwotasie kan verkry word deur op die volgende skakel te kliek,
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} 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 {},
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,
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},
Import Chart Of Accounts from CSV / Excel files,Voer rekeningkaart uit CSV / Excel-lêers in,
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,
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 ...,
Creating {0},Skep {0},
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 click on the following link to set your new password,Klik asseblief op die volgende skakel om u nuwe wagwoord te stel,
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 Supplier from the Default Supplier List of the items below.,Kies &#39;n verskaffer uit die standaardverskafferlys van die onderstaande items.,
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 Importer,Invoerder van rekeningrekeninge,
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,
"If enabled, the system will post accounting entries for inventory automatically.","Indien geaktiveer, sal die stelsel outomaties rekeningkundige inskrywings vir voorraad plaas.",
Accounts Frozen Upto,Rekeninge Bevrore Upto,
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Rekeningkundige inskrywing wat tot op hierdie datum gevries is, kan niemand toelaat / verander nie, behalwe die rol wat hieronder gespesifiseer word.",
Role Allowed to Set Frozen Accounts & Edit Frozen Entries,Rol toegelaat om bevrore rekeninge in te stel en Bevrore Inskrywings te wysig,
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,
Address used to determine Tax Category in transactions.,Adres wat gebruik word om belastingkategorie in transaksies te bepaal.,
Over Billing Allowance (%),Toelae oor fakturering (%),
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 for $110.,"Persentasie waarop u toegelaat word om meer te betaal teen die bestelde bedrag. Byvoorbeeld: As die bestelwaarde $ 100 is vir &#39;n artikel en die verdraagsaamheid as 10% is, kan u $ 110 faktureer.",
Credit Controller,Kredietbeheerder,
Role that is allowed to submit transactions that exceed credit limits set.,Rol wat toegelaat word om transaksies voor te lê wat groter is as kredietlimiete.,
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 Inclusive Tax In Print,Wys Inklusiewe Belasting In Druk,
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,
Only select if you have setup Cash Flow Mapper documents,Kies slegs as u instellings vir kontantvloeimappers opstel,
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,
[Select],[Kies],
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,
Maintain same rate throughout purchase cycle,Handhaaf dieselfde koers deur die hele aankoopsiklus,
Allow Item to be added multiple times in a transaction,Laat item toe om verskeie kere in &#39;n transaksie te voeg,
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,
Supplier Detail,Verskaffer Detail,
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,
Exit Interview Details,Afhanklike onderhoudsbesonderhede,
Held On,Aangehou,
Reason for Resignation,Rede vir bedanking,
Better Prospects,Beter vooruitsigte,
Health Concerns,Gesondheid Kommer,
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,
Employee Records to be created by,Werknemersrekords wat geskep moet word deur,
Employee record is created using selected field. ,Werknemer rekord is geskep met behulp van geselekteerde veld.,
Stop Birthday Reminders,Stop verjaardag herinnerings,
Don't send Employee Birthday Reminders,Moenie Werknemer Verjaarsdag Herinnerings stuur nie,
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,
Restrict Backdated Leave Application,Beperk aansoeke vir die verouderde verlof,
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,
Allow multiple Material Consumption against a Work Order,Laat veelvuldige materiaalverbruik toe teen &#39;n werkorder,
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,
Plan time logs outside Workstation Working Hours.,Beplan tydstamme buite werkstasie werksure.,
Allow Production on Holidays,Laat produksie toe op vakansie,
Capacity Planning For (Days),Kapasiteitsbeplanning vir (Dae),
Try planning operations for X days in advance.,Probeer beplanningsaktiwiteite vir X dae van vooraf.,
Time Between Operations (in mins),Tyd tussen bedrywighede (in mins),
Default 10 mins,Verstek 10 minute,
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,
Over Production for Sales and Work Order,Oorproduksie vir verkoops- en werkbestelling,
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,
"Update BOM cost automatically via Scheduler, based on latest valuation rate / price list rate / last purchase rate of raw materials.","Werk BOM koste outomaties via Scheduler, gebaseer op die jongste waarderings koers / prys lys koers / laaste aankoop koers van grondstowwe.",
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,
Auto close Opportunity after 15 days,Vakansie sluit geleentheid na 15 dae,
Default Quotation Validity Days,Standaard Kwotasie Geldigheidsdae,
Sales Update Frequency,Verkope Update Frekwensie,
How often should project and company be updated based on Sales Transactions.,Hoe gereeld moet projek en maatskappy opgedateer word gebaseer op verkoops transaksies.,
Each Transaction,Elke transaksie,
Allow user to edit Price List Rate in transactions,Laat gebruiker toe om Pryslyskoers te wysig in transaksies,
Allow multiple Sales Orders against a Customer's Purchase Order,Laat meerdere verkope bestellings toe teen &#39;n kliënt se aankoopbestelling,
Validate Selling Price for Item against Purchase Rate or Valuation Rate,Valideer Verkoopprys vir Item teen Aankoopprys of Waardasietarief,
Hide Customer's Tax Id from Sales Transactions,Versteek Kliënt se Belasting-ID van Verkoopstransaksies,
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.-,
Set Warehouse,Stel pakhuis,
Sets 'For Warehouse' in each row of the Items table.,Stel &#39;Vir pakhuis&#39; in elke ry van die Artikeltabel in.,
Requested For,Gevra vir,
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,
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.,"Persentasie wat u mag ontvang of meer lewer teen die hoeveelheid bestel. Byvoorbeeld: As jy 100 eenhede bestel het. en u toelae is 10%, dan mag u 110 eenhede ontvang.",
Action if Quality inspection is not submitted,Optrede indien kwaliteitsinspeksie nie ingedien word nie,
Show Barcode Field,Toon strepieskode veld,
Convert Item Description to Clean HTML,Omskep itembeskrywing om HTML skoon te maak,
Auto insert Price List rate if missing,Voer outomaties pryslys in indien dit ontbreek,
Allow Negative Stock,Laat negatiewe voorraad toe,
Automatically Set Serial Nos based on FIFO,Stel Serial Nos outomaties gebaseer op FIFO,
Set Qty in Transactions based on Serial No Input,Stel aantal in Transaksies gebaseer op Serial No Input,
Auto Material Request,Auto Materiaal Versoek,
Raise Material Request when stock reaches re-order level,Verhoog Materiaal Versoek wanneer voorraad bereik herbestellingsvlak bereik,
Notify by Email on creation of automatic Material Request,Stel per e-pos in kennis van die skepping van outomatiese materiaalversoek,
Inter Warehouse Transfer Settings,Inter Warehouse-oordraginstellings,
Allow Material Transfer From Delivery Note and Sales Invoice,Laat materiaaloordrag toe vanaf afleweringsnota en verkoopsfaktuur,
Allow Material Transfer From Purchase Receipt and Purchase Invoice,Laat materiaaloordrag toe vanaf aankoopbewys en aankoopfaktuur,
Freeze Stock Entries,Vries Voorraadinskrywings,
Stock Frozen Upto,Voorraad Bevrore Upto,
Freeze Stocks Older Than [Days],Vries Voorrade Ouer As [Dae],
Role Allowed to edit frozen stock,Rol Toegestaan om gevriesde voorraad te wysig,
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,
Set From Warehouse,Stel vanaf pakhuis,
Source Warehouse (Material Transfer),Bronpakhuis (materiaaloordrag),
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,
"If ""Months"" is selected then fixed amount will be booked as deferred revenue or expense for each month irrespective of number of days in a month. Will be prorated if deferred revenue or expense is not booked for an entire month.","As &#39;Maande&#39; gekies word, word die 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.",
Days,Dae,
Months,Maande,
Book Deferred Entries Via Journal Entry,Boek uitgestelde inskrywings via joernaalinskrywing,
If this is unchecked direct GL Entries will be created to book Deferred Revenue/Expense,"As dit nie gemerk is nie, sal GL-inskrywings geskep word om uitgestelde inkomste / uitgawes te bespreek",
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,
Purchase Order Required for Purchase Invoice & Receipt Creation,Bestelling benodig vir aankoop van fakture en ontvangsbewyse,
Purchase Receipt Required for Purchase Invoice Creation,Aankoopbewys benodig vir die skep van aankoopfakture,
"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,
Condtion and formula,Kondisie en formule,
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,
Sales Order Required for Sales Invoice & Delivery Note Creation,Verkooporder benodig vir die maak van fakture en afleweringsnotas,
Delivery Note Required for Sales Invoice Creation,Afleweringsnota benodig vir die skep van verkoopsfakture,
"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,
Last Stock Transaction for item {0} was on {1}.,Laaste voorraadtransaksie vir item {0} was op {1}.,
Stock Transactions for Item {0} cannot be posted before this time.,Voorraadtransaksies vir item {0} kan nie voor hierdie tyd gepos word nie.,
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,
Row #{}: Selling rate for item {} is lower than its {}. Selling rate should be atleast {},Ry # {}: die verkoopkoers vir item {} is laer as die {}. Verkoopprys moet ten minste {} wees,
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,
"Row {0}: For Supplier {0}, Email Address is Required to Send Email",Ry {0}: Vir verskaffer {0} word e-posadres vereis om e-pos te stuur,
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,
