"""Customer Provided Item"" cannot be Purchase Item also",&quot;Item yang Dibekalkan Pelanggan&quot; tidak boleh Dibeli Perkara juga,
"""Customer Provided Item"" cannot have Valuation Rate",&quot;Item yang Dibekalkan Pelanggan&quot; tidak boleh mempunyai Kadar Penilaian,
"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","&quot;Adakah Aset Tetap&quot; tidak boleh dibiarkan, kerana rekod aset wujud terhadap item",
'Based On' and 'Group By' can not be same,'Berdasarkan Kepada' dan 'Kumpul Mengikut' tidak boleh sama,
'Days Since Last Order' must be greater than or equal to zero,&#39;Hari Sejak Pesanan Terakhir&#39; mesti lebih besar daripada atau sama dengan sifar,
'Entries' cannot be empty,&#39;Penyertaan&#39; tidak boleh kosong,
'From Date' is required,&#39;Dari Tarikh&#39; diperlukan,
'From Date' must be after 'To Date','Dari Tarikh' mesti selepas 'Sehingga',
'Has Serial No' can not be 'Yes' for non-stock item,'Punyai Nombor Siri' tidak boleh 'Ya' untuk  benda bukan stok,
'Opening',&#39;Pembukaan&#39;,
'To Case No.' cannot be less than 'From Case No.','Kepada Perkara No. ' tidak boleh kurang daripada 'Dari Perkara No.',
'To Date' is required,'Tarikh Hingga' diperlukan,
'Total',&#39;Jumlah&#39;,
'Update Stock' can not be checked because items are not delivered via {0},&#39;Update Stock&#39; tidak boleh disemak kerana perkara yang tidak dihantar melalui {0},
'Update Stock' cannot be checked for fixed asset sale,&#39;Update Stock&#39; tidak boleh diperiksa untuk jualan aset tetap,
) for {0},) untuk {0},
1 exact match.,1 padanan tepat.,
90-Above,90 Ke atas,
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Satu Kumpulan Pelanggan sudah wujud dengan nama yang sama, sila tukar nama Pelanggan atau menamakan semula Kumpulan Pelanggan",
A Default Service Level Agreement already exists.,Perjanjian Tahap Perkhidmatan Lalai telah wujud.,
A Lead requires either a person's name or an organization's name,A Lead memerlukan sama ada nama seseorang atau nama organisasi,
A customer with the same name already exists,Seorang pelanggan dengan nama yang sama sudah ada,
A question must have more than one options,Soalan mesti mempunyai lebih daripada satu pilihan,
A qustion must have at least one correct options,Kelengahan mesti mempunyai sekurang-kurangnya satu pilihan yang betul,
A {0} exists between {1} and {2} (,A {0} wujud antara {1} dan {2} (,
A4,A4,
API Endpoint,Titik Akhir API,
API Key,Kunci API,
Abbr can not be blank or space,Abbr tidak boleh kosong atau senggang,
Abbreviation already used for another company,Singkatan sudah digunakan untuk syarikat lain,
Abbreviation cannot have more than 5 characters,Singkatan tidak boleh mempunyai lebih daripada 5 aksara,
Abbreviation is mandatory,Singkatan adalah wajib,
About the Company,Mengenai Syarikat,
About your company,Mengenai syarikat anda,
Above,Di atas,
Absent,Tidak hadir,
Academic Term,Jangka akademik,
Academic Term: ,Tempoh Akademik:,
Academic Year,Tahun akademik,
Academic Year: ,Tahun akademik:,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Qty Diterima + Ditolak mestilah sama dengan kuantiti yang Diterima untuk Perkara {0},
Access Token,Token Akses,
Accessable Value,Nilai yang boleh diakses,
Account,Akaun,
Account Number,Nombor akaun,
Account Number {0} already used in account {1},Nombor Akaun {0} yang telah digunakan dalam akaun {1},
Account Pay Only,Akaun Pay Hanya,
Account Type,Jenis Akaun,
Account Type for {0} must be {1},Jenis Akaun untuk {0} mesti {1},
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Baki akaun sudah dalam Kredit, anda tidak dibenarkan untuk menetapkan 'Baki Mestilah' sebagai 'debit'",
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Baki akaun sudah dalam Debit, anda tidak dibenarkan untuk menetapkan 'Baki Mestilah' sebagai 'Kredit'",
Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Nombor akaun untuk akaun {0} tidak tersedia. <br> Sila persiapkan Carta Akaun anda dengan betul.,
Account with child nodes cannot be converted to ledger,Akaun dengan nod kanak-kanak tidak boleh ditukar ke lejar,
Account with child nodes cannot be set as ledger,Akaun dengan nod kanak-kanak tidak boleh ditetapkan sebagai lejar,
Account with existing transaction can not be converted to group.,Akaun dengan urus niaga yang sedia ada tidak boleh ditukar kepada kumpulan.,
Account with existing transaction can not be deleted,Akaun dengan urus niaga yang sedia ada tidak boleh dihapuskan,
Account with existing transaction cannot be converted to ledger,Akaun dengan urus niaga yang sedia ada tidak boleh ditukar ke lejar,
Account {0} does not belong to company: {1},Akaun {0} bukan milik syarikat: {1},
Account {0} does not belongs to company {1},Akaun {0} tidak dimiliki oleh syarikat {1},
Account {0} does not exist,Akaun {0} tidak wujud,
Account {0} does not exists,Akaun {0} tidak wujud,
Account {0} does not match with Company {1} in Mode of Account: {2},Akaun {0} tidak sepadan dengan Syarikat {1} dalam Kaedah akaun: {2},
Account {0} has been entered multiple times,Akaun {0} telah dibuat beberapa kali,
Account {0} is added in the child company {1},Akaun {0} ditambahkan dalam syarikat anak {1},
Account {0} is frozen,Akaun {0} dibekukan,
Account {0} is invalid. Account Currency must be {1},Akaun {0} tidak sah. Mata Wang Akaun mesti {1},
Account {0}: Parent account {1} can not be a ledger,Akaun {0}: akaun Induk {1} tidak boleh merupakan satu lejar,
Account {0}: Parent account {1} does not belong to company: {2},Akaun {0}: akaun Induk {1} bukan milik syarikat: {2},
Account {0}: Parent account {1} does not exist,Akaun {0}: Akaun induk {1} tidak wujud,
Account {0}: You can not assign itself as parent account,Akaun {0}: Anda tidak boleh menetapkan ia sendiri sebagai akaun induk,
Account: {0} can only be updated via Stock Transactions,Akaun: {0} hanya boleh dikemaskini melalui Urusniaga Stok,
Account: {0} with currency: {1} can not be selected,Akaun: {0} dengan mata wang: {1} tidak boleh dipilih,
Accountant,Akauntan,
Accounting,Perakaunan,
Accounting Entry for Asset,Kemasukan Perakaunan untuk Aset,
Accounting Entry for Stock,Catatan Perakaunan untuk Stok,
Accounting Entry for {0}: {1} can only be made in currency: {2},Kemasukan Perakaunan untuk {0}: {1} hanya boleh dibuat dalam mata wang: {2},
Accounting Ledger,Perakaunan Lejar,
Accounting journal entries.,Catatan jurnal perakaunan.,
Accounts,Akaun-akaun,
Accounts Manager,Pengurus Akaun-akaun,
Accounts Payable,Akaun-akaun Boleh diBayar,
Accounts Payable Summary,Ringkasan Akaun Boleh Dibayar,
Accounts Receivable,Akaun-akaun boleh terima,
Accounts Receivable Summary,Ringkasan Akaun Belum Terima,
Accounts User,pengguna Akaun-akaun,
Accounts table cannot be blank.,Jadual account tidak boleh kosong.,
Accrual Journal Entry for salaries from {0} to {1},Kemasukan Jurnal Akruan untuk gaji dari {0} hingga {1},
Accumulated Depreciation,Susut nilai terkumpul,
Accumulated Depreciation Amount,Terkumpul Jumlah Susutnilai,
Accumulated Depreciation as on,Susutnilai Terkumpul seperti pada,
Accumulated Monthly,terkumpul Bulanan,
Accumulated Values,Nilai Terkumpul,
Accumulated Values in Group Company,Nilai terkumpul dalam Kumpulan Syarikat,
Achieved ({}),Dicapai ({}),
Action,Tindakan,
Action Initialised,Tindakan Inisiatif,
Actions,Tindakan-tindakan,
Active,Aktif,
Activity Cost exists for Employee {0} against Activity Type - {1},Kos Aktiviti wujud untuk Pekerja {0} terhadap Jenis Kegiatan - {1},
Activity Cost per Employee,Kos aktiviti setiap Pekerja,
Activity Type,Jenis Kegiatan,
Actual Cost,Kos sebenar,
Actual Delivery Date,Tarikh Penghantaran Sebenar,
Actual Qty,Kuantiti Sebenar,
Actual Qty is mandatory,Kuantiti sebenar adalah wajib,
Actual Qty {0} / Waiting Qty {1},Sebenar Qty {0} / Waiting Qty {1},
Actual Qty: Quantity available in the warehouse.,Qty sebenar: Kuantiti yang tersedia di gudang.,
Actual qty in stock,Qty sebenar dalam stok,
Actual type tax cannot be included in Item rate in row {0},Jenis cukai sebenar tidak boleh dimasukkan dalam kadar Perkara berturut-turut {0},
Add,Tambah,
Add / Edit Prices,Tambah / Edit Harga,
Add All Suppliers,Tambah Semua Pembekal,
Add Comment,Tambah komen,
Add Customers,menambah Pelanggan,
Add Employees,Tambahkan Pekerja,
Add Item,Tambah Item,
Add Items,Tambah Item,
Add Leads,Tambah Memimpin,
Add Multiple Tasks,Tambah Tugasan Pelbagai,
Add Row,Tambah Row,
Add Sales Partners,Tambah Rakan Kongsi Jualan,
Add Serial No,Tambah No Serial,
Add Students,Tambahkan Pelajar,
Add Suppliers,Tambah Pembekal,
Add Time Slots,Tambah Slot Masa,
Add Timesheets,menambah Timesheets,
Add Timeslots,Tambah Timeslots,
Add Users to Marketplace,Tambah Pengguna ke Marketplace,
Add a new address,Tambah alamat baru,
Add cards or custom sections on homepage,Tambah kad atau bahagian tersuai di laman utama,
Add more items or open full form,Tambah lagi item atau bentuk penuh terbuka,
Add notes,Tambah nota,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Menambah seluruh organisasi anda sebagai pengguna anda. Anda juga boleh menambah menjemput Pelanggan untuk portal anda dengan menambah mereka dari Kenalan,
Add to Details,Tambah pada Butiran,
Add/Remove Recipients,Tambah / Buang Penerima,
Added,Ditambah,
Added to details,Ditambah pada butiran,
Added {0} users,Menambah {0} pengguna,
Additional Salary Component Exists.,Komponen Gaji Tambahan Ada.,
Address,Alamat,
Address Line 2,Alamat 2,
Address Name,alamat Nama,
Address Title,Alamat Tajuk,
Address Type,Alamat Jenis,
Administrative Expenses,Perbelanjaan pentadbiran,
Administrative Officer,Pegawai Tadbir,
Administrator,Pentadbir,
Admission,Kemasukan,
Admission and Enrollment,Kemasukan dan Pendaftaran,
Admissions for {0},Kemasukan untuk {0},
Admit,Mengaku,
Admitted,diterima Masuk,
Advance Amount,Advance Jumlah,
Advance Payments,Bayaran Pendahuluan,
Advance account currency should be same as company currency {0},Mata wang akaun terlebih dahulu harus sama dengan mata wang syarikat {0},
Advance amount cannot be greater than {0} {1},jumlah pendahuluan tidak boleh lebih besar daripada {0} {1},
Advertising,Pengiklanan,
Aerospace,Aeroangkasa,
Against,Terhadap,
Against Account,Terhadap Akaun,
Against Journal Entry {0} does not have any unmatched {1} entry,Terhadap Journal Entry {0} tidak mempunyai apa-apa yang tidak dapat ditandingi {1} masuk,
Against Journal Entry {0} is already adjusted against some other voucher,Terhadap Journal Entry {0} telah diselaraskan dengan beberapa baucar lain,
Against Supplier Invoice {0} dated {1},Terhadap Pembekal Invois {0} bertarikh {1},
Against Voucher,Terhadap Baucar,
Against Voucher Type,Terhadap Jenis Baucar,
Age,Umur,
Age (Days),Umur (Hari),
Ageing Based On,Penuaan Berasaskan,
Ageing Range 1,Range Penuaan 1,
Ageing Range 2,Range Penuaan 2,
Ageing Range 3,Range Penuaan 3,
Agriculture,Pertanian,
Agriculture (beta),Pertanian (beta),
Airline,Syarikat Penerbangan,
All Accounts,Semua Akaun,
All Addresses.,Semua Alamat.,
All Assessment Groups,Semua Kumpulan Penilaian,
All BOMs,semua boms,
All Contacts.,Semua Kenalan.,
All Customer Groups,Semua Kumpulan Pelanggan,
All Day,All Day,
All Departments,Semua Jabatan,
All Healthcare Service Units,Semua Unit Perkhidmatan Penjagaan Kesihatan,
All Item Groups,Semua Kumpulan Perkara,
All Jobs,Semua Pekerjaan,
All Products,Semua produk,
All Products or Services.,Semua Produk atau Perkhidmatan.,
All Student Admissions,Semua Kemasukan Pelajar,
All Supplier Groups,Semua Kumpulan Pembekal,
All Supplier scorecards.,Semua kad skor Pembekal.,
All Territories,Semua Wilayah,
All Warehouses,Semua Gudang,
All communications including and above this shall be moved into the new Issue,Semua komunikasi termasuk dan ke atas ini akan dipindahkan ke Isu baru,
All items have already been transferred for this Work Order.,Semua item telah dipindahkan untuk Perintah Kerja ini.,
All other ITC,Semua ITC lain,
All the mandatory Task for employee creation hasn't been done yet.,Semua tugas wajib untuk penciptaan pekerja masih belum dilakukan.,
Allocate Payment Amount,Memperuntukkan Jumlah Pembayaran,
Allocated Amount,Jumlah yang diperuntukkan,
Allocated Leaves,Daun yang diperuntukkan,
Allocating leaves...,Mengandalkan daun ...,
Already record exists for the item {0},Sudah ada rekod untuk item {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Sediakan lalai dalam profil pos {0} untuk pengguna {1}, lalai dilumpuhkan secara lalai",
Alternate Item,Perkara Ganti,
Alternative item must not be same as item code,Item alternatif tidak boleh sama dengan kod item,
Amended From,Pindaan Dari,
Amount,Jumlah,
Amount After Depreciation,Jumlah Selepas Susutnilai,
Amount of Integrated Tax,Jumlah Cukai Bersepadu,
Amount of TDS Deducted,Jumlah TDS Deducted,
Amount should not be less than zero.,Jumlah tidak boleh kurang daripada sifar.,
Amount to Bill,Jumlah untuk Rang Undang-undang,
Amount {0} {1} against {2} {3},Jumlah {0} {1} daripada {2} {3},
Amount {0} {1} deducted against {2},Jumlah {0} {1} ditolak daripada {2},
Amount {0} {1} transferred from {2} to {3},Jumlah {0} {1} dipindahkan dari {2} kepada {3},
Amount {0} {1} {2} {3},Jumlah {0} {1} {2} {3},
Amt,Amt,
"An Item Group exists with same name, please change the item name or rename the item group","Satu Kumpulan Item wujud dengan nama yang sama, sila tukar nama item atau menamakan semula kumpulan item",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Istilah akademik dengan ini &#39;Academic Year&#39; {0} dan &#39;Nama Term&#39; {1} telah wujud. Sila ubah suai entri ini dan cuba lagi.,
An error occurred during the update process,Ralat berlaku semasa proses kemas kini,
"An item exists with same name ({0}), please change the item group name or rename the item","Item wujud dengan nama yang sama ({0}), sila tukar nama kumpulan item atau menamakan semula item",
Analyst,Penganalisis,
Analytics,Analytics,
Annual Billing: {0},Billing Tahunan: {0},
Annual Salary,Gaji tahunan,
Anonymous,Anonymous,
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Rekod Belanjawan lain &#39;{0}&#39; sudah wujud terhadap {1} &#39;{2}&#39; dan akaun &#39;{3}&#39; untuk tahun fiskal {4},
Another Period Closing Entry {0} has been made after {1},Satu lagi Entry Tempoh Penutup {0} telah dibuat selepas {1},
Another Sales Person {0} exists with the same Employee id,Satu lagi Orang Jualan {0} wujud dengan id Pekerja yang sama,
Antibiotic,Antibiotik,
Apparel & Accessories,Pakaian &amp; Aksesori,
Applicable For,Terpakai Untuk,
"Applicable if the company is SpA, SApA or SRL","Berkenaan jika syarikat itu adalah SpA, SApA atau SRL",
Applicable if the company is a limited liability company,Berkenaan jika syarikat itu adalah syarikat liabiliti terhad,
Applicable if the company is an Individual or a Proprietorship,Berkenaan jika syarikat itu adalah Individu atau Tuan Rumah,
Applicant,Pemohon,
Applicant Type,Jenis Pemohon,
Application of Funds (Assets),Permohonan Dana (Aset),
Application period cannot be across two allocation records,Tempoh permohonan tidak boleh merangkumi dua rekod peruntukan,
Application period cannot be outside leave allocation period,Tempoh permohonan tidak boleh cuti di luar tempoh peruntukan,
Applied,Applied,
Apply Now,Mohon sekarang,
Appointment Confirmation,Pengesahan Pelantikan,
Appointment Duration (mins),Tempoh Pelantikan (minit),
Appointment Type,Jenis Pelantikan,
Appointment {0} and Sales Invoice {1} cancelled,Pelantikan {0} dan Invois Jualan {1} dibatalkan,
Appointments and Encounters,Pelantikan dan Pertemuan,
Appointments and Patient Encounters,Pelantikan dan Pesakit yang Menemui,
Appraisal {0} created for Employee {1} in the given date range,Penilaian {0} dicipta untuk Pekerja {1} dalam julat tarikh yang diberikan,
Apprentice,Perantis,
Approval Status,Kelulusan Status,
Approval Status must be 'Approved' or 'Rejected',Kelulusan Status mesti &#39;diluluskan&#39; atau &#39;Ditolak&#39;,
Approve,Terima,
Approving Role cannot be same as role the rule is Applicable To,Meluluskan Peranan tidak boleh sama dengan peranan peraturan adalah Terpakai Untuk,
Approving User cannot be same as user the rule is Applicable To,Meluluskan pengguna tidak boleh menjadi sama seperti pengguna peraturan adalah Terpakai Untuk,
"Apps using current key won't be able to access, are you sure?","Apl yang menggunakan kekunci semasa tidak dapat mengakses, adakah anda pasti?",
Are you sure you want to cancel this appointment?,Adakah anda pasti ingin membatalkan janji temu ini?,
Arrear,tunggakan,
As Examiner,Sebagai Pemeriksa,
As On Date,Seperti pada Tarikh,
As Supervisor,Sebagai Penyelia,
As per rules 42 & 43 of CGST Rules,Seperti peraturan 42 &amp; 43 Peraturan CGST,
As per section 17(5),Seperti pada seksyen 17 (5),
As per your assigned Salary Structure you cannot apply for benefits,"Sebagaimana Struktur Gaji yang anda berikan, anda tidak boleh memohon manfaat",
Assessment,Penilaian,
Assessment Criteria,Kriteria Penilaian,
Assessment Group,Kumpulan Penilaian,
Assessment Group: ,Kumpulan Penilaian:,
Assessment Plan,Rancangan penilaian,
Assessment Plan Name,Nama Pelan Penilaian,
Assessment Report,Laporan Penilaian,
Assessment Reports,Laporan Penilaian,
Assessment Result,Keputusan Penilaian,
Assessment Result record {0} already exists.,Rekod Keputusan Penilaian {0} sudah wujud.,
Asset,Aset,
Asset Category,Kategori Asset,
Asset Category is mandatory for Fixed Asset item,Kategori Asset adalah wajib bagi item Aset Tetap,
Asset Maintenance,Penyelenggaraan Aset,
Asset Movement,Pergerakan Aset,
Asset Movement record {0} created,rekod Pergerakan Aset {0} dicipta,
Asset Name,Nama Aset,
Asset Received But Not Billed,Aset Diterima Tetapi Tidak Dibilkan,
Asset Value Adjustment,Pelarasan Nilai Aset,
"Asset cannot be cancelled, as it is already {0}","Aset tidak boleh dibatalkan, kerana ia sudah {0}",
Asset scrapped via Journal Entry {0},Asset dimansuhkan melalui Journal Kemasukan {0},
"Asset {0} cannot be scrapped, as it is already {1}","Asset {0} tidak boleh dimansuhkan, kerana ia sudah {1}",
Asset {0} does not belong to company {1},Asset {0} bukan milik syarikat {1},
Asset {0} must be submitted,Asset {0} hendaklah dikemukakan,
Assets,Aset,
Assign,Berikan,
Assign Salary Structure,Menetapkan Struktur Gaji,
Assign To,Berikan Untuk,
Assign to Employees,Berikan kepada Pekerja,
Assigning Structures...,Menetapkan Struktur ...,
Associate,Madya,
At least one mode of payment is required for POS invoice.,Sekurang-kurangnya satu cara pembayaran adalah diperlukan untuk POS invois.,
Atleast one item should be entered with negative quantity in return document,Atleast perkara seseorang itu perlu dimasukkan dengan kuantiti negatif dalam dokumen pulangan,
Atleast one of the Selling or Buying must be selected,Atleast salah satu atau Jualan Membeli mesti dipilih,
Atleast one warehouse is mandatory,Atleast satu gudang adalah wajib,
Attach Logo,Lampirkan Logo,
Attachment,Lampiran,
Attachments,Lampiran,
Attendance,Kehadiran,
Attendance From Date and Attendance To Date is mandatory,Kehadiran Dari Tarikh dan Kehadiran Untuk Tarikh adalah wajib,
Attendance can not be marked for future dates,Kehadiran tidak boleh ditandakan untuk masa hadapan,
Attendance date can not be less than employee's joining date,Tarikh kehadirannya tidak boleh kurang daripada tarikh pendaftaran pekerja,
Attendance for employee {0} is already marked,Kehadiran bagi pekerja {0} telah ditandakan,
Attendance for employee {0} is already marked for this day,Kehadiran pekerja {0} sudah ditanda pada hari ini,
Attendance has been marked successfully.,Kehadiran telah ditandakan dengan jayanya.,
Attendance not submitted for {0} as it is a Holiday.,Kehadiran tidak dihantar untuk {0} kerana ia adalah Percutian.,
Attendance not submitted for {0} as {1} on leave.,Kehadiran tidak diserahkan untuk {0} sebagai {1} semasa cuti.,
Attribute table is mandatory,Jadual atribut adalah wajib,
Attribute {0} selected multiple times in Attributes Table,Sifat {0} dipilih beberapa kali dalam Atribut Jadual,
Author,Pengarang,
Authorized Signatory,Penandatangan yang diberi kuasa,
Auto Material Requests Generated,Permintaan bahan Auto Generated,
Auto Repeat,Auto Ulang,
Auto repeat document updated,Dokumen pengulang automatik dikemas kini,
Automotive,Automotif,
Available,Tersedia,
Available Leaves,Daun yang disediakan,
Available Qty,Terdapat Qty,
Available Selling,Jualan Sedia Ada,
Available for use date is required,Tersedia untuk tarikh penggunaan,
Available slots,Slot yang tersedia,
Available {0},Terdapat {0},
Available-for-use Date should be after purchase date,Tarikh sedia untuk digunakan hendaklah selepas tarikh pembelian,
Average Age,Purata umur,
Average Rate,Kadar purata,
Avg Daily Outgoing,Purata Harian Keluar,
Avg. Buying Price List Rate,Purata. Membeli Kadar Senarai Harga,
Avg. Selling Price List Rate,Purata. Menjual Kadar Harga Harga,
Avg. Selling Rate,Purata. Menjual Kadar,
BOM,BOM,
BOM Browser,BOM Pelayar,
BOM No,BOM Tiada,
BOM Rate,Kadar BOM,
BOM Stock Report,Laporan Stok BOM,
BOM and Manufacturing Quantity are required,BOM dan Pembuatan Kuantiti dikehendaki,
BOM does not contain any stock item,BOM tidak mengandungi apa-apa butiran saham,
BOM {0} does not belong to Item {1},BOM {0} bukan milik Perkara {1},
BOM {0} must be active,BOM {0} mesti aktif,
BOM {0} must be submitted,BOM {0} hendaklah dikemukakan,
Balance,Baki,
Balance (Dr - Cr),Baki (Dr - Cr),
Balance ({0}),Baki ({0}),
Balance Qty,Baki Kuantiti,
Balance Sheet,Kunci Kira-kira,
Balance Value,Nilai Baki,
Balance for Account {0} must always be {1},Baki untuk Akaun {0} mesti sentiasa {1},
Bank,Bank,
Bank Account,Akaun bank,
Bank Accounts,Akaun bank,
Bank Draft,Bank Draf,
Bank Entries,Bank Penyertaan,
Bank Name,Nama bank,
Bank Overdraft Account,Akaun Overdraf Bank,
Bank Reconciliation,Penyesuaian Bank,
Bank Reconciliation Statement,Penyata Penyesuaian Bank,
Bank Statement,Penyata bank,
Bank Statement Settings,Tetapan Penyata Bank,
Bank Statement balance as per General Ledger,Baki Penyata Bank seperti Lejar Am,
Bank account cannot be named as {0},Akaun bank tidak boleh dinamakan sebagai {0},
Bank/Cash transactions against party or for internal transfer,transaksi Bank / Tunai terhadap pihak atau untuk pemindahan dalaman,
Banking,Perbankan,
Banking and Payments,Perbankan dan Pembayaran,
Barcode {0} already used in Item {1},Barcode {0} telah digunakan dalam Perkara {1},
Barcode {0} is not a valid {1} code,Barcode {0} bukan kod {1} yang sah,
Base,base,
Base URL,URL Asas,
Based On,Berdasarkan,
Based On Payment Terms,Berdasarkan Terma Pembayaran,
Basic,Asas,
Batch,Batch,
Batch Entries,Penyertaan Batch,
Batch ID is mandatory,Batch ID adalah wajib,
Batch Inventory,Batch Inventori,
Batch Name,Batch Nama,
Batch No,Batch No,
Batch number is mandatory for Item {0},Nombor batch adalah wajib bagi Perkara {0},
Batch {0} of Item {1} has expired.,Batch {0} Item {1} telah tamat.,
Batch {0} of Item {1} is disabled.,Batch {0} of Item {1} dinyahdayakan.,
Batch: ,Kumpulan:,
Batches,kelompok,
Become a Seller,Menjadi Penjual,
Beginner,Permulaan,
Bill,Rang Undang-Undang,
Bill Date,Rang Undang-Undang Tarikh,
Bill No,Rang Undang-Undang No,
Bill of Materials,Rang Undang-Undang Bahan,
Bill of Materials (BOM),Rang Undang-Undang Bahan (BOM),
Billable Hours,Waktu yang boleh ditanggung,
Billed,Dibilkan,
Billed Amount,Jumlah dibilkan,
Billing,Bil,
Billing Address,Alamat Bil,
Billing Address is same as Shipping Address,Alamat Penagihan sama dengan Alamat Perkapalan,
Billing Amount,Bil Jumlah,
Billing Status,Bil Status,
Billing currency must be equal to either default company's currency or party account currency,Mata wang penagihan mestilah sama dengan mata wang syarikat atau mata wang akaun pihak ketiga,
Bills raised by Suppliers.,Rang Undang-undang yang dibangkitkan oleh Pembekal.,
Bills raised to Customers.,Bil dinaikkan kepada Pelanggan.,
Biotechnology,Bioteknologi,
Birthday Reminder,Peringatan Hari Lahir,
Black,Black,
Blanket Orders from Costumers.,Pesanan Blanket dari Costumers.,
Block Invoice,Blok Invois,
Boms,Boms,
Bonus Payment Date cannot be a past date,Tarikh Bayaran Bonus tidak boleh menjadi tarikh yang lalu,
Both Trial Period Start Date and Trial Period End Date must be set,Tarikh Mulai Tempoh Percubaan dan Tarikh Akhir Tempoh Percubaan mesti ditetapkan,
Both Warehouse must belong to same Company,Kedua-dua Gudang mestilah berada dalam Syarikat sama,
Branch,Cawangan,
Broadcasting,Penyiaran,
Brokerage,Brokerage,
Browse BOM,Browse BOM,
Budget Against,Bajet Terhadap,
Budget List,Senarai Belanjawan,
Budget Variance Report,Belanjawan Laporan Varian,
Budget cannot be assigned against Group Account {0},Bajet tidak boleh diberikan terhadap Akaun Kumpulan {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Bajet tidak boleh diberikan terhadap {0}, kerana ia bukan satu akaun Pendapatan atau Perbelanjaan",
Buildings,Bangunan,
Bundle items at time of sale.,Barangan bundle pada masa jualan.,
Business Development Manager,Pengurus Pembangunan Perniagaan,
Buy,Beli,
Buying,Membeli,
Buying Amount,Membeli Jumlah,
Buying Price List,Membeli Senarai Harga,
Buying Rate,Kadar Beli,
"Buying must be checked, if Applicable For is selected as {0}","Membeli hendaklah disemak, jika Terpakai Untuk dipilih sebagai {0}",
By {0},Dengan {0},
Bypass credit check at Sales Order ,Bypass cek kredit di Pesanan Jualan,
C-Form records,C-Borang rekod,
C-form is not applicable for Invoice: {0},C-bentuk tidak boleh digunakan untuk invois: {0},
CEO,Ketua Pegawai Eksekutif,
CESS Amount,Jumlah CESS,
CGST Amount,Jumlah CGST,
CRM,CRM,
CWIP Account,Akaun CWIP,
Calculated Bank Statement balance,Dikira-kira Penyata Bank,
Calls,Panggilan,
Campaign,Kempen,
Can be approved by {0},Boleh diluluskan oleh {0},
"Can not filter based on Account, if grouped by Account","Tidak boleh menapis di Akaun, jika dikumpulkan oleh Akaun",
"Can not filter based on Voucher No, if grouped by Voucher","Tidak boleh menapis berdasarkan Baucer Tidak, jika dikumpulkan oleh Baucar",
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Tidak dapat menandakan Rekod Rawat Pesanan yang Dibebankan, terdapat Invois yang Belum Dibayar {0}",
Can only make payment against unbilled {0},Hanya boleh membuat pembayaran terhadap belum dibilkan {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Boleh merujuk berturut-turut hanya jika jenis pertuduhan adalah &#39;Pada Row Jumlah Sebelumnya&#39; atau &#39;Sebelumnya Row Jumlah&#39;,
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Tidak boleh menukar kaedah penilaian, kerana terdapat urus niaga terhadap beberapa item yang tidak mempunyai ia kaedah penilaian sendiri",
Can't create standard criteria. Please rename the criteria,Tidak boleh membuat kriteria standard. Sila tukar nama kriteria,
Cancel,Batal,
Cancel Material Visit {0} before cancelling this Warranty Claim,Batal Bahan Melawat {0} sebelum membatalkan Waranti Tuntutan,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Batal Bahan Lawatan {0} sebelum membatalkan Lawatan Penyelenggaraan ini,
Cancel Subscription,Batal Langganan,
Cancel the journal entry {0} first,Batalkan kemasukan jurnal {0} dahulu,
Canceled,Dibatalkan,
"Cannot Submit, Employees left to mark attendance","Tidak boleh Hantar, Pekerja ditinggalkan untuk menandakan kehadiran",
Cannot be a fixed asset item as Stock Ledger is created.,Tidak boleh menjadi item aset tetap sebagai Lejar Saham dicipta.,
Cannot cancel because submitted Stock Entry {0} exists,Tidak boleh membatalkan kerana dikemukakan Saham Entry {0} wujud,
Cannot cancel transaction for Completed Work Order.,Tidak dapat membatalkan transaksi untuk Perintah Kerja yang Selesai.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Tidak dapat membatalkan {0} {1} kerana Serial No {2} tidak tergolong dalam gudang {3},
Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Tidak dapat mengubah Sifat selepas transaksi stok. Buat Item baru dan pindahan stok ke Item baru,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Tidak dapat ubah Tahun Fiskal Mula Tarikh dan Tahun Anggaran Tarikh akhir sekali Tahun Fiskal disimpan.,
Cannot change Service Stop Date for item in row {0},Tidak dapat mengubah Tarikh Henti Perkhidmatan untuk item dalam baris {0},
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Tidak boleh mengubah Variasi hartanah selepas transaksi stok. Anda perlu membuat Item baru untuk melakukan ini.,
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Tidak boleh menukar mata wang lalai syarikat itu, kerana terdapat urus niaga yang sedia ada. Transaksi mesti dibatalkan untuk menukar mata wang lalai.",
Cannot change status as student {0} is linked with student application {1},tidak boleh menukar status sebagai pelajar {0} dikaitkan dengan permohonan pelajar {1},
Cannot convert Cost Center to ledger as it has child nodes,Tidak boleh menukar PTJ ke lejar kerana ia mempunyai nod anak,
Cannot covert to Group because Account Type is selected.,Tidak boleh Covert kepada Kumpulan kerana Jenis Akaun dipilih.,
Cannot create Retention Bonus for left Employees,Tidak boleh membuat Bonus Pengekalan untuk Pekerja kiri,
Cannot create a Delivery Trip from Draft documents.,Tidak dapat membuat Lawatan Pengiriman dari dokumen Draf.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,Tidak boleh menyahaktifkan atau membatalkan BOM kerana ia dikaitkan dengan BOMs lain,
"Cannot declare as lost, because Quotation has been made.","Tidak boleh mengaku sebagai hilang, kerana Sebutharga telah dibuat.",
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Tidak boleh memotong apabila kategori adalah untuk &#39;Penilaian&#39; atau &#39;Penilaian dan Jumlah&#39;,
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Tidak dapat menolak apabila kategori adalah untuk &#39;Penilaian&#39; atau &#39;Vaulation dan Jumlah&#39;,
"Cannot delete Serial No {0}, as it is used in stock transactions","Tidak dapat memadam No Serial {0}, kerana ia digunakan dalam urus niaga saham",
Cannot enroll more than {0} students for this student group.,tidak boleh mendaftar lebih daripada {0} pelajar bagi kumpulan pelajar ini.,
Cannot find Item with this barcode,Tidak dapat mencari Item dengan kod bar ini,
Cannot find active Leave Period,Tidak dapat mencari Tempoh Cuti aktif,
Cannot produce more Item {0} than Sales Order quantity {1},Tidak boleh menghasilkan Perkara lebih {0} daripada kuantiti Sales Order {1},
Cannot promote Employee with status Left,Tidak boleh mempromosikan Pekerja dengan status Kiri,
Cannot refer row number greater than or equal to current row number for this Charge type,Tidak boleh merujuk beberapa berturut-turut lebih besar daripada atau sama dengan bilangan baris semasa untuk jenis Caj ini,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Tidak boleh pilih jenis bayaran sebagai &#39;Pada Row Jumlah Sebelumnya&#39; atau &#39;Pada Sebelumnya Row Jumlah&#39; untuk baris pertama,
Cannot set a received RFQ to No Quote,Tidak dapat menetapkan RFQ yang diterima untuk Tiada Kata Sebut,
Cannot set as Lost as Sales Order is made.,Tidak boleh ditetapkan sebagai Kalah sebagai Sales Order dibuat.,
Cannot set authorization on basis of Discount for {0},Tidak boleh menetapkan kebenaran secara Diskaun untuk {0},
Cannot set multiple Item Defaults for a company.,Tidak dapat menetapkan Berbilang Butiran Item untuk syarikat.,
Cannot set quantity less than delivered quantity,Tidak boleh menetapkan kuantiti kurang daripada jumlah yang dihantar,
Cannot set quantity less than received quantity,Tidak boleh menetapkan kuantiti kurang daripada kuantiti yang diterima,
Cannot set the field <b>{0}</b> for copying in variants,Tidak dapat menetapkan medan <b>{0}</b> untuk menyalin variasi,
Cannot transfer Employee with status Left,Tidak dapat memindahkan Pekerja dengan status Kiri,
Cannot {0} {1} {2} without any negative outstanding invoice,Tidak boleh {0} {1} {2} tanpa sebarang invois tertunggak negatif,
Capital Equipments,Peralatan Modal,
Capital Stock,Modal Saham,
Capital Work in Progress,Kerja Modal dalam Kemajuan,
Cart,Dalam Troli,
Cart is Empty,Troli kosong,
Case No(s) already in use. Try from Case No {0},Kes Tidak (s) telah digunakan. Cuba dari Case No {0},
Cash,Tunai,
Cash Flow Statement,Penyata aliran tunai,
Cash Flow from Financing,Aliran tunai daripada pembiayaan,
Cash Flow from Investing,Aliran tunai daripada Pelaburan,
Cash Flow from Operations,Aliran Tunai daripada Operasi,
Cash In Hand,Tunai Dalam Tangan,
Cash or Bank Account is mandatory for making payment entry,Tunai atau Bank Akaun adalah wajib untuk membuat catatan pembayaran,
Cashier Closing,Penutupan Tunai,
Casual Leave,Cuti Kasual,
Category,Kategori,
Category Name,Kategori Nama,
Caution,Awas,
Central Tax,Cukai Pusat,
Certification,Pensijilan,
Cess,Cess,
Change Amount,Tukar Jumlah,
Change Item Code,Tukar Kod Item,
Change Release Date,Tukar Tarikh Siaran,
Change Template Code,Tukar Kod Template,
Changing Customer Group for the selected Customer is not allowed.,Mengubah Kumpulan Pelanggan untuk Pelanggan yang dipilih tidak dibenarkan.,
Chapter,Bab,
Chapter information.,Maklumat bab.,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Penjaga jenis &#39;sebenar&#39; di baris {0} tidak boleh dimasukkan dalam Kadar Perkara,
Chargeble,Chargeble,
Charges are updated in Purchase Receipt against each item,Caj akan dikemas kini di Resit Pembelian terhadap setiap item,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Caj akan diagihkan mengikut kadar berdasarkan item qty atau amaunnya, seperti pilihan anda",
Chart Of Accounts,Carta Akaun,
Chart of Cost Centers,Carta Pusat Kos,
Check all,Memeriksa semua,
Checkout,Checkout,
Chemical,Kimia,
Cheque,Cek,
Cheque/Reference No,Cek / Rujukan,
Cheques Required,Cek diperlukan,
Cheques and Deposits incorrectly cleared,Cek dan Deposit tidak betul dibersihkan,
Child Task exists for this Task. You can not delete this Task.,Tugas Anak wujud untuk Tugas ini. Anda tidak boleh memadamkan Tugas ini.,
Child nodes can be only created under 'Group' type nodes,nod kanak-kanak hanya boleh diwujudkan di bawah nod jenis &#39;Kumpulan,
Child warehouse exists for this warehouse. You can not delete this warehouse.,Child gudang wujud untuk gudang ini. Anda tidak boleh memadam gudang ini.,
Circular Reference Error,Ralat Rujukan Pekeliling,
City,City,
City/Town,Bandar / Pekan,
Claimed Amount,Jumlah yang dituntut,
Clay,Tanah liat,
Clear filters,Penapis jernih,
Clear values,Kosongkan nilai,
Clearance Date,Clearance Tarikh,
Clearance Date not mentioned,Clearance Tarikh tidak dinyatakan,
Clearance Date updated,Clearance Tarikh update,
Client,Pelanggan,
Client ID,ID pelanggan,
Client Secret,Secret pelanggan,
Clinical Procedure,Prosedur Klinikal,
Clinical Procedure Template,Templat Prosedur Klinikal,
Close Balance Sheet and book Profit or Loss.,Kunci Kira-kira rapat dan buku Untung atau Rugi.,
Close Loan,Tutup Pinjaman,
Close the POS,Tutup POS,
Closed,Ditutup,
Closed order cannot be cancelled. Unclose to cancel.,perintah tertutup tidak boleh dibatalkan. Unclose untuk membatalkan.,
Closing (Cr),Penutup (Cr),
Closing (Dr),Penutup (Dr),
Closing (Opening + Total),Penutupan (pembukaan + jumlah),
Closing Account {0} must be of type Liability / Equity,Penutupan Akaun {0} mestilah jenis Liabiliti / Ekuiti,
Closing Balance,Baki Penutupan,
Code,Kod,
Collapse All,Tutup Semua,
Color,Warna,
Colour,Warna,
Combined invoice portion must equal 100%,Bahagian invois gabungan mesti bersamaan 100%,
Commercial,Perdagangan,
Commission,Suruhanjaya,
Commission Rate %,Kadar Suruhanjaya%,
Commission on Sales,Suruhanjaya Jualan,
Commission rate cannot be greater than 100,Kadar Suruhanjaya tidak boleh lebih besar daripada 100,
Community Forum,Komuniti Forum,
Company (not Customer or Supplier) master.,Syarikat (tidak Pelanggan atau Pembekal) induk.,
Company Abbreviation,Singkatan Syarikat,
Company Abbreviation cannot have more than 5 characters,Singkatan Syarikat tidak boleh mempunyai lebih daripada 5 aksara,
Company Name,Nama Syarikat,
Company Name cannot be Company,Nama Syarikat tidak boleh menjadi Syarikat,
Company currencies of both the companies should match for Inter Company Transactions.,Mata wang syarikat kedua-dua syarikat perlu sepadan dengan Transaksi Syarikat Antara.,
Company is manadatory for company account,Syarikat adalah pembadanan untuk akaun syarikat,
Company name not same,Nama syarikat tidak sama,
Company {0} does not exist,Syarikat {0} tidak wujud,
Compensatory Off,Pampasan Off,
Compensatory leave request days not in valid holidays,Hari permintaan cuti pampasan tidak bercuti,
Complaint,Aduan,
Completed Qty can not be greater than 'Qty to Manufacture',Siap Qty tidak boleh lebih besar daripada &#39;Kuantiti untuk Pengeluaran&#39;,
Completion Date,Tarikh Siap,
Computer,Komputer,
Condition,Keadaan,
Configure,Konfigurasikan,
Configure {0},Konfigur {0},
Confirmed orders from Customers.,Pesanan disahkan dari Pelanggan.,
Connect Amazon with ERPNext,Sambungkan Amazon dengan ERPNext,
Connect Shopify with ERPNext,Sambungkan Shopify dengan ERPNext,
Connect to Quickbooks,Sambung ke Quickbooks,
Connected to QuickBooks,Disambungkan ke QuickBooks,
Connecting to QuickBooks,Menyambung ke QuickBooks,
Consultation,Perundingan,
Consultations,Perundingan,
Consulting,Consulting,
Consumable,Guna habis,
Consumed,Digunakan,
Consumed Amount,Jumlah dimakan,
Consumed Qty,Digunakan Qty,
Consumer Products,Produk pengguna,
Contact,Hubungi,
Contact Details,Butiran Hubungi,
Contact Number,Nombor telefon,
Contact Us,Hubungi Kami,
Content,Kandungan,
Content Masters,Kandungan Sarjana,
Content Type,Jenis kandungan,
Continue Configuration,Teruskan Konfigurasi,
Contract,Kontrak,
Contract End Date must be greater than Date of Joining,Kontrak Tarikh Akhir mesti lebih besar daripada Tarikh Menyertai,
Contribution %,Sumbangan%,
Contribution Amount,Jumlah Sumbangan,
Conversion factor for default Unit of Measure must be 1 in row {0},Faktor penukaran Unit keingkaran Langkah mesti 1 berturut-turut {0},
Conversion rate cannot be 0 or 1,Kadar Penukaran tidak boleh menjadi 0 atau 1,
Convert to Group,Tukar ke Kumpulan,
Convert to Non-Group,Tukar ke Kumpulan bukan-,
Cosmetics,Kosmetik,
Cost Center,PTJ,
Cost Center Number,Nombor Pusat Kos,
Cost Center and Budgeting,Pusat Kos dan Belanjawan,
Cost Center is required in row {0} in Taxes table for type {1},PTJ diperlukan berturut-turut {0} dalam Cukai meja untuk jenis {1},
Cost Center with existing transactions can not be converted to group,PTJ dengan urus niaga yang sedia ada tidak boleh ditukar kepada kumpulan,
Cost Center with existing transactions can not be converted to ledger,PTJ dengan urus niaga yang sedia ada tidak boleh ditukar ke dalam lejar,
Cost Centers,Pusat Kos,
Cost Updated,Kos Dikemaskini,
Cost as on,Kos seperti pada,
Cost of Delivered Items,Kos Item Dihantar,
Cost of Goods Sold,Kos Barang Dijual,
Cost of Issued Items,Kos Item Dikeluarkan,
Cost of New Purchase,Kos Pembelian New,
Cost of Purchased Items,Kos Item Dibeli,
Cost of Scrapped Asset,Kos Aset Dihapuskan,
Cost of Sold Asset,Kos Aset Dijual,
Cost of various activities,Kos pelbagai aktiviti,
"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Tidak dapat mencipta Nota Kredit secara automatik, sila nyahtandakan &#39;Isu Kredit Terbitan&#39; dan serahkan lagi",
Could not generate Secret,Tidak dapat menjana Rahsia,
Could not retrieve information for {0}.,Tidak boleh mendapatkan maklumat untuk {0}.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,Tidak dapat menyelesaikan fungsi markah kriteria untuk {0}. Pastikan formula itu sah.,
Could not solve weighted score function. Make sure the formula is valid.,Tidak dapat menyelesaikan fungsi skor berwajaran. Pastikan formula itu sah.,
Could not submit some Salary Slips,Tidak dapat menghantar beberapa Slip Gaji,
"Could not update stock, invoice contains drop shipping item.","Tidak dapat kemas kini saham, invois mengandungi drop item penghantaran.",
Country wise default Address Templates,Negara lalai bijak Templat Alamat,
Course,Kursus,
Course Code: ,Kod Kursus:,
Course Enrollment {0} does not exists,Pendaftaran Kursus {0} tidak wujud,
Course Schedule,Jadual Kursus,
Course: ,Kursus:,
Cr,Cr,
Create,Buat,
Create BOM,Buat BOM,
Create Delivery Trip,Buat Lawatan Penghantaran,
Create Disbursement Entry,Buat Entri Penyewaan,
Create Employee,Buat Pekerja,
Create Employee Records,Cipta Rekod pekerja,
"Create Employee records to manage leaves, expense claims and payroll","Mencipta rekod pekerja untuk menguruskan daun, tuntutan perbelanjaan dan gaji",
Create Fee Schedule,Buat Jadual Bayaran,
Create Fees,Buat Yuran,
Create Inter Company Journal Entry,Buat Kemasukan Jurnal Syarikat Antara,
Create Invoice,Buat Invois,
Create Invoices,Buat Invois,
Create Job Card,Buat Kad Kerja,
Create Journal Entry,Buat Kemasukan Jurnal,
Create Lead,Buat Lead,
Create Leads,Buat Leads,
Create Maintenance Visit,Buat Lawatan Penyelenggaraan,
Create Material Request,Buat Permintaan Bahan,
Create Multiple,Buat Pelbagai,
Create Opening Sales and Purchase Invoices,Buat Invois Jualan dan Pembelian Terbuka,
Create Payment Entries,Buat Entri Pembayaran,
Create Payment Entry,Buat Entri Pembayaran,
Create Print Format,Buat Format Cetak,
Create Purchase Order,Buat Pesanan Pembelian,
Create Purchase Orders,Buat Pesanan Pembelian,
Create Quotation,Buat Sebut Harga,
Create Salary Slip,Membuat Slip Gaji,
Create Salary Slips,Buat Slip Gaji,
Create Sales Invoice,Buat Invois Jualan,
Create Sales Order,Buat Pesanan Jualan,
Create Sales Orders to help you plan your work and deliver on-time,Buat Pesanan Jualan untuk membantu anda merancang kerja anda dan menyampaikan tepat waktu,
Create Sample Retention Stock Entry,Buat Kemasukan Saham Penyimpanan Sampel,
Create Student,Buat Pelajar,
Create Student Batch,Buat Kumpulan Pelajar,
Create Student Groups,Cipta Kumpulan Pelajar,
Create Supplier Quotation,Buat Sebut Harga Pembekal,
Create Tax Template,Buat Templat Cukai,
Create Timesheet,Buat Timesheet,
Create User,Buat Pengguna,
Create Users,Buat Pengguna,
Create Variant,Buat Varians,
Create Variants,Buat Kelainan,
"Create and manage daily, weekly and monthly email digests.","Membuat dan menguruskan mencerna e-mel harian, mingguan dan bulanan.",
Create customer quotes,Membuat sebut harga pelanggan,
Create rules to restrict transactions based on values.,Mewujudkan kaedah-kaedah untuk menyekat transaksi berdasarkan nilai-nilai.,
Created By,Dibuat oleh,
Created {0} scorecards for {1} between: ,Dicipta {0} kad skor untuk {1} antara:,
Creating Company and Importing Chart of Accounts,Mewujudkan Carta Syarikat dan Mengimport Carta Akaun,
Creating Fees,Membuat Bayaran,
Creating Payment Entries......,Mencipta Entri Pembayaran ......,
Creating Salary Slips...,Membuat Slip Gaji ...,
Creating student groups,Mewujudkan kumpulan pelajar,
Creating {0} Invoice,Mewujudkan {0} Invois,
Credit,Kredit,
Credit ({0}),Kredit ({0}),
Credit Account,Akaun kredit,
Credit Balance,Baki kredit,
Credit Card,Kad kredit,
Credit Days cannot be a negative number,Hari Kredit tidak boleh menjadi nombor negatif,
Credit Limit,Had kredit,
Credit Note,Nota kredit,
Credit Note Amount,Jumlah kredit Nota,
Credit Note Issued,Nota Kredit Dikeluarkan,
Credit Note {0} has been created automatically,Nota Kredit {0} telah dibuat secara automatik,
Credit limit has been crossed for customer {0} ({1}/{2}),Had kredit telah dilangkau untuk pelanggan {0} ({1} / {2}),
Creditors,Pemiutang,
Criteria weights must add up to 100%,Kriteria berat mesti menambah sehingga 100%,
Crop Cycle,Kitaran Tanaman,
Crops & Lands,Tanaman &amp; Tanah,
Currency Exchange must be applicable for Buying or for Selling.,Pertukaran Mata Wang mesti terpakai untuk Beli atau Jual.,
Currency can not be changed after making entries using some other currency,Mata wang tidak boleh diubah selepas membuat masukan menggunakan beberapa mata wang lain,
Currency exchange rate master.,Mata Wang Kadar pertukaran utama.,
Currency for {0} must be {1},Mata wang untuk {0} mesti {1},
Currency is required for Price List {0},Mata wang diperlukan untuk Senarai Harga {0},
Currency of the Closing Account must be {0},Mata Wang Akaun Penutupan mestilah {0},
Currency of the price list {0} must be {1} or {2},Mata wang senarai harga {0} mestilah {1} atau {2},
Currency should be same as Price List Currency: {0},Mata wang sepatutnya sama dengan Senarai Harga Mata Wang: {0},
Current,Semasa,
Current Assets,Aset semasa,
Current BOM and New BOM can not be same,BOM semasa dan New BOM tidak boleh sama,
Current Job Openings,Lowongan Kerja Semasa,
Current Liabilities,Liabiliti Semasa,
Current Qty,Kuantiti semasa,
Current invoice {0} is missing,Invois semasa {0} hilang,
Custom HTML,Custom HTML,
Custom?,Custom?,
Customer,Pelanggan,
Customer Addresses And Contacts,Alamat Pelanggan Dan Kenalan,
Customer Contact,Pelanggan Hubungi,
Customer Database.,Pangkalan Data Pelanggan.,
Customer Group,Kumpulan Pelanggan,
Customer LPO,Pelanggan LPO,
Customer LPO No.,Pelanggan LPO No.,
Customer Name,Nama Pelanggan,
Customer POS Id,Id POS Pelanggan,
Customer Service,Khidmat Pelanggan,
Customer and Supplier,Pelanggan dan Pembekal,
Customer is required,Pelanggan dikehendaki,
Customer isn't enrolled in any Loyalty Program,Pelanggan tidak mendaftar dalam mana-mana Program Kesetiaan,
Customer required for 'Customerwise Discount',Pelanggan dikehendaki untuk &#39;Customerwise Diskaun&#39;,
Customer {0} does not belong to project {1},Pelanggan {0} bukan milik projek {1},
Customer {0} is created.,Pelanggan {0} dibuat.,
Customers in Queue,Pelanggan di Giliran,
Customize Homepage Sections,Sesuaikan Bahagian Homepage,
Customizing Forms,Borang menyesuaikan,
Daily Project Summary for {0},Ringkasan Projek Harian untuk {0},
Daily Reminders,Peringatan harian,
Daily Work Summary,Ringkasan Kerja Harian,
Daily Work Summary Group,Kumpulan Ringkasan Kerja Harian,
Data Import and Export,Data Import dan Eksport,
Data Import and Settings,Import dan Tetapan Data,
Database of potential customers.,Pangkalan data pelanggan yang berpotensi.,
Date Format,Format tarikh,
Date Of Retirement must be greater than Date of Joining,Tarikh Persaraan mesti lebih besar daripada Tarikh Menyertai,
Date is repeated,Tarikh diulang,
Date of Birth,Tarikh lahir,
Date of Birth cannot be greater than today.,Tarikh Lahir tidak boleh lebih besar daripada hari ini.,
Date of Commencement should be greater than Date of Incorporation,Tarikh Permulaan hendaklah lebih besar daripada Tarikh Penubuhan,
Date of Joining,Tarikh Menyertai,
Date of Joining must be greater than Date of Birth,Tarikh Menyertai mesti lebih besar daripada Tarikh Lahir,
Date of Transaction,Tarikh Transaksi,
Datetime,Datetime,
Day,hari,
Debit,Debit,
Debit ({0}),Debit ({0}),
Debit A/C Number,Nombor A / C Debit,
Debit Account,Akaun Debit,
Debit Note,Nota debit,
Debit Note Amount,Amaun debit Nota,
Debit Note Issued,Debit Nota Dikeluarkan,
Debit To is required,Debit Untuk diperlukan,
Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debit dan Kredit tidak sama untuk {0} # {1}. Perbezaan adalah {2}.,
Debtors,Penghutang,
Debtors ({0}),Penghutang ({0}),
Declare Lost,Isytiharkan Hilang,
Deduction,Potongan,
Default Activity Cost exists for Activity Type - {0},Kos Aktiviti lalai wujud untuk Jenis Kegiatan - {0},
Default BOM ({0}) must be active for this item or its template,BOM lalai ({0}) mesti aktif untuk item ini atau template yang,
Default BOM for {0} not found,BOM lalai untuk {0} tidak dijumpai,
Default BOM not found for Item {0} and Project {1},Lalai BOM tidak dijumpai untuk Perkara {0} dan Projek {1},
Default Letter Head,Surat Ketua Default,
Default Tax Template,Templat Cukai Lalai,
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.,Unit keingkaran Langkah untuk Perkara {0} tidak boleh diubah langsung kerana anda telah membuat beberapa transaksi (s) dengan UOM lain. Anda akan perlu untuk membuat item baru untuk menggunakan UOM Lalai yang berbeza.,
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Unit keingkaran Langkah untuk Variant &#39;{0}&#39; hendaklah sama seperti dalam Template &#39;{1}&#39;,
Default settings for buying transactions.,Tetapan lalai untuk membeli transaksi.,
Default settings for selling transactions.,Tetapan lalai untuk menjual transaksi.,
Default tax templates for sales and purchase are created.,Templat cukai lalai untuk jualan dan pembelian dicipta.,
Defaults,Lalai,
Defense,Pertahanan,
Define Project type.,Tentukan jenis Projek.,
Define budget for a financial year.,Tentukan bajet untuk tahun kewangan.,
Define various loan types,Tentukan pelbagai jenis pinjaman,
Del,Del,
Delay in payment (Days),Kelewatan dalam pembayaran (Hari),
Delete all the Transactions for this Company,Memadam semua Transaksi Syarikat ini,
Deletion is not permitted for country {0},Pemadaman tidak dibenarkan untuk negara {0},
Delivered,Dihantar,
Delivered Amount,Jumlah Dihantar,
Delivered Qty,Dihantar Qty,
Delivered: {0},Dihantar: {0},
Delivery,Penghantaran,
Delivery Date,Tarikh penghantaran,
Delivery Note,Penghantaran Nota,
Delivery Note {0} is not submitted,Penghantaran Nota {0} tidak dikemukakan,
Delivery Note {0} must not be submitted,Penghantaran Nota {0} tidak boleh dikemukakan,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Nota Penghantaran {0} hendaklah dibatalkan sebelum membatalkan Perintah Jualan ini,
Delivery Notes {0} updated,Catatan Penghantaran {0} dikemas kini,
Delivery Status,Status Penghantaran,
Delivery Trip,Lawatan Penghantaran,
Delivery warehouse required for stock item {0},Gudang penghantaran diperlukan untuk item stok {0},
Department,Jabatan,
Department Stores,Kedai Jabatan,
Depreciation,Susutnilai,
Depreciation Amount,Jumlah Susut Nilai,
Depreciation Amount during the period,Susutnilai Jumlah dalam tempoh yang,
Depreciation Date,Tarikh susutnilai,
Depreciation Eliminated due to disposal of assets,Susut nilai atau penyingkiran kerana pelupusan aset,
Depreciation Entry,Kemasukan susutnilai,
Depreciation Method,Kaedah susut nilai,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Susut Susut {0}: Tarikh Mula Susut Susut dimasukkan sebagai tarikh terakhir,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Susut Susut {0}: Nilai yang dijangkakan selepas hayat berguna mestilah lebih besar atau sama dengan {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Susut Susut {0}: Tarikh Susutnilai Seterusnya tidak boleh sebelum Tarikh Tersedia untuk Penggunaan,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Susut Susut {0}: Tarikh Susutnilai Seterusnya tidak boleh sebelum Tarikh Pembelian,
Designer,Designer,
Detailed Reason,Sebab Terperinci,
Details,Butiran,
Details of Outward Supplies and inward supplies liable to reverse charge,Butir-butir Bekalan Bekalan dan bekalan ke dalam boleh dikenakan caj balik,
Details of the operations carried out.,Butiran operasi dijalankan.,
Diagnosis,Diagnosis,
Did not find any item called {0},Tidak jumpa apa-apa perkara yang dipanggil {0},
Diff Qty,Diff Qty,
Difference Account,Akaun Perbezaan,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Akaun perbezaan mestilah akaun jenis Aset / Liabiliti, kerana ini adalah Penyesuaian Saham Masuk Pembukaan",
Difference Amount,Perbezaan Amaun,
Difference Amount must be zero,Perbezaan Jumlah mestilah sifar,
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.,UOM berbeza untuk perkara akan membawa kepada tidak betul (Jumlah) Nilai Berat Bersih. Pastikan Berat bersih setiap item adalah dalam UOM yang sama.,
Direct Expenses,Perbelanjaan Langsung,
Direct Income,Pendapatan Langsung,
Disable,Melumpuhkan,
Disabled template must not be default template,Templat kurang upaya tidak perlu menjadi templat lalai,
Disburse Loan,Mengeluarkan Pinjaman,
Disbursed,Dibelanjakan,
Disc,Cakera,
Discharge,Pelepasan,
Discount,Diskaun,
Discount Percentage can be applied either against a Price List or for all Price List.,Peratus diskaun boleh digunakan baik dengan menentang Senarai Harga atau untuk semua Senarai Harga.,
Discount must be less than 100,Diskaun mesti kurang daripada 100,
Diseases & Fertilizers,Penyakit &amp; Baja,
Dispatch,Dispatch,
Dispatch Notification,Pemberitahuan Penghantaran,
Dispatch State,Dispatch State,
Distance,Jarak jauh,
Distribution,Pengagihan,
Distributor,Pengedar,
Dividends Paid,Dividen Dibayar,
Do you really want to restore this scrapped asset?,Adakah anda benar-benar mahu memulihkan aset dilupuskan ini?,
Do you really want to scrap this asset?,Adakah anda benar-benar mahu menghapuskan aset ini?,
Do you want to notify all the customers by email?,Adakah anda ingin memberitahu semua pelanggan melalui e-mel?,
Doc Date,Tarikh Dokumen,
Doc Name,Nama Doc,
Doc Type,Doc Jenis,
Docs Search,Carian Dokumen,
Document Name,Dokumen Nama,
Document Status,Dokumen Status,
Document Type,Jenis dokumen,
Domain,Domain,
Domains,Domain,
Done,Selesai,
Donor,Donor,
Donor Type information.,Maklumat jenis Donor.,
Donor information.,Maklumat penderma.,
Download JSON,Muat turun JSON,
Draft,Draf,
Drop Ship,Drop Ship,
Drug,Dadah,
Due / Reference Date cannot be after {0},Oleh kerana / Rujukan Tarikh dan boleh dikenakan {0},
Due Date cannot be before Posting / Supplier Invoice Date,Date Due tidak boleh sebelum Tarikh Invois Penanda / Pembekal,
Due Date is mandatory,Tarikh Akhir adalah wajib,
Duplicate Entry. Please check Authorization Rule {0},Salinan Entry. Sila semak Kebenaran Peraturan {0},
Duplicate Serial No entered for Item {0},Salinan No Serial masuk untuk Perkara {0},
Duplicate customer group found in the cutomer group table,kumpulan pelanggan Duplicate dijumpai di dalam jadual kumpulan cutomer,
Duplicate entry,Entri pendua,
Duplicate item group found in the item group table,kumpulan item Duplicate dijumpai di dalam jadual kumpulan item,
Duplicate roll number for student {0},jumlah roll salinan untuk pelajar {0},
Duplicate row {0} with same {1},Salinan barisan {0} dengan sama {1},
Duplicate {0} found in the table,Duplicate {0} yang terdapat dalam jadual,
Duration in Days,Tempoh dalam Hari,
Duties and Taxes,Tugas dan Cukai,
E-Invoicing Information Missing,E-Invoicing Information Missing,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,Tetapan ERPNext,
Earliest,Terawal,
Earnest Money,Wang Earnest,
Earning,Pendapatan,
Edit,Edit,
Edit Publishing Details,Edit Butiran Penerbitan,
"Edit in full page for more options like assets, serial nos, batches etc.","Edit halaman penuh untuk lebih banyak pilihan seperti aset, nada siri, batch dll.",
Education,Pendidikan,
Either location or employee must be required,Sama ada lokasi atau pekerja mestilah diperlukan,
Either target qty or target amount is mandatory,Sama ada qty sasaran atau jumlah sasaran adalah wajib,
Either target qty or target amount is mandatory.,Qty sasaran atau sasaran jumlah sama ada adalah wajib.,
Electrical,Elektrik,
Electronic Equipments,Peralatan Elektronik,
Electronics,Elektronik,
Eligible ITC,ITC yang layak,
Email Account,Akaun e-mel,
Email Address,Alamat emel,
"Email Address must be unique, already exists for {0}","Alamat e-mel mesti menjadi unik, sudah wujud untuk {0}",
Email Digest: ,E-mel Digest:,
Email Reminders will be sent to all parties with email contacts,Pengingat E-mel akan dihantar kepada semua pihak dengan kenalan e-mel,
Email Sent,E-mel dihantar,
Email Template,Templat E-mel,
Email not found in default contact,E-mel tidak dijumpai dalam hubungan lalai,
Email sent to {0},E-mel yang dihantar kepada {0},
Employee,Pekerja,
Employee A/C Number,Nombor A / C Pekerja,
Employee Advances,Pendahuluan Pekerja,
Employee Benefits,Manfaat pekerja,
Employee Grade,Gred pekerja,
Employee ID,ID pekerja,
Employee Lifecycle,Kitar Hayat Pekerja,
Employee Name,Nama Pekerja,
Employee Promotion cannot be submitted before Promotion Date ,Promosi Pekerja tidak boleh dikemukakan sebelum Tarikh Promosi,
Employee Referral,Rujukan pekerja,
Employee Transfer cannot be submitted before Transfer Date ,Pemindahan Pekerja tidak boleh dikemukakan sebelum Tarikh Pemindahan,
Employee cannot report to himself.,Pekerja tidak boleh melaporkan kepada dirinya sendiri.,
Employee relieved on {0} must be set as 'Left',Pekerja lega pada {0} mesti ditetapkan sebagai &#39;kiri&#39;,
Employee status cannot be set to 'Left' as following employees are currently reporting to this employee:&nbsp;,Status pekerja tidak boleh ditetapkan ke &#39;Kiri&#39; kerana pekerja berikut melaporkan kepada pekerja ini:,
Employee {0} already submited an apllication {1} for the payroll period {2},Pekerja {0} telah mengemukakan apllication {1} untuk tempoh gaji {2},
Employee {0} has already applied for {1} between {2} and {3} : ,Pekerja {0} telah memohon untuk {1} antara {2} dan {3}:,
Employee {0} has no maximum benefit amount,Pekerja {0} tidak mempunyai jumlah faedah maksimum,
Employee {0} is not active or does not exist,Pekerja {0} tidak aktif atau tidak wujud,
Employee {0} is on Leave on {1},Pekerja {0} ada di Cuti di {1},
Employee {0} of grade {1} have no default leave policy,Pekerja {0} gred {1} tidak mempunyai dasar cuti lalai,
Employee {0} on Half day on {1},Pekerja {0} pada hari Half pada {1},
Enable,membolehkan,
Enable / disable currencies.,Membolehkan / melumpuhkan mata wang.,
Enabled,Membolehkan,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Mendayakan &#39;Gunakan untuk Shopping Cart&#39;, kerana Troli didayakan dan perlu ada sekurang-kurangnya satu Peraturan cukai bagi Troli Membeli-belah",
End Date,Tarikh akhir,
End Date can not be less than Start Date,Tarikh Akhir tidak boleh kurang daripada Tarikh Mula,
End Date cannot be before Start Date.,Tarikh Akhir tidak dapat sebelum Tarikh Mula.,
End Year,akhir Tahun,
End Year cannot be before Start Year,Akhir Tahun tidak boleh sebelum Start Tahun,
End on,Akhirnya,
End time cannot be before start time,Masa tamat tidak boleh sebelum waktu mula,
Ends On date cannot be before Next Contact Date.,Berakhir Pada tarikh tidak boleh sebelum Tarikh Urusan Seterusnya.,
Energy,Tenaga,
Engineer,Jurutera,
Enough Parts to Build,Bahagian Cukup untuk Membina,
Enroll,Mendaftar,
Enrolling student,pelajar yang mendaftar,
Enrolling students,Mendaftar pelajar,
Enter depreciation details,Masukkan butiran susut nilai,
Enter the Bank Guarantee Number before submittting.,Masukkan Nombor Jaminan Bank sebelum menyerahkan.,
Enter the name of the Beneficiary before submittting.,Masukkan nama Benefisiari sebelum diserahkan.,
Enter the name of the bank or lending institution before submittting.,Masukkan nama bank atau institusi pemberi pinjaman sebelum mengemukakan.,
Enter value betweeen {0} and {1},Masukkan nilai betweeen {0} dan {1},
Entertainment & Leisure,Hiburan &amp; Leisure,
Entertainment Expenses,Perbelanjaan Hiburan,
Equity,Ekuiti,
Error Log,ralat Log,
Error evaluating the criteria formula,Ralat menilai formula kriteria,
Error in formula or condition: {0},Ralat dalam formula atau keadaan: {0},
Error: Not a valid id?,Ralat: Bukan id sah?,
Estimated Cost,Anggaran kos,
Evaluation,Penilaian,
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Walaupun terdapat beberapa Peraturan Harga dengan keutamaan tertinggi, keutamaan dalaman maka berikut digunakan:",
Event,Peristiwa,
Event Location,Lokasi Acara,
Event Name,Nama event,
Exchange Gain/Loss,Exchange Keuntungan / Kerugian,
Exchange Rate Revaluation master.,Tuan penilaian semula nilai tukar.,
Exchange Rate must be same as {0} {1} ({2}),Kadar pertukaran mestilah sama dengan {0} {1} ({2}),
Excise Invoice,Cukai Invois,
Execution,Pelaksanaan,
Executive Search,Cari Eksekutif,
Expand All,Buka Semua,
Expected Delivery Date,Jangkaan Tarikh Penghantaran,
Expected Delivery Date should be after Sales Order Date,Tarikh Penghantaran Yang Diharapkan hendaklah selepas Tarikh Pesanan Jualan,
Expected End Date,Tarikh Jangkaan Tamat,
Expected Hrs,Hr,
Expected Start Date,Jangkaan Tarikh Mula,
Expense,Perbelanjaan,
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Akaun perbelanjaan / Perbezaan ({0}) mestilah akaun &#39;Keuntungan atau Kerugian&#39;,
Expense Account,Akaun Perbelanjaan,
Expense Claim,Perbelanjaan Tuntutan,
Expense Claim for Vehicle Log {0},Tuntutan Perbelanjaan untuk kenderaan Log {0},
Expense Claim {0} already exists for the Vehicle Log,Perbelanjaan Tuntutan {0} telah wujud untuk Log Kenderaan,
Expense Claims,Tuntutan Perbelanjaan,
Expense account is mandatory for item {0},Akaun perbelanjaan adalah wajib bagi item {0},
Expenses,Perbelanjaan,
Expenses Included In Asset Valuation,Perbelanjaan Termasuk dalam Penilaian Aset,
Expenses Included In Valuation,Perbelanjaan Termasuk dalam Penilaian,
Expired Batches,Batches yang telah tamat tempoh,
Expires On,Luput pada,
Expiring On,Tamat Tempoh,
Expiry (In Days),Tamat (Dalam Hari),
Explore,Explore,
Export E-Invoices,Eksport E-Invois,
Extra Large,Lebih Besar,
Extra Small,Tambahan Kecil,
Fail,Gagal,
Failed,Gagal,
Failed to create website,Gagal membuat laman web,
Failed to install presets,Gagal memasang pratetap,
Failed to login,Gagal masuk,
Failed to setup company,Gagal persediaan syarikat,
Failed to setup defaults,Gagal menetapkan lalai,
Failed to setup post company fixtures,Gagal menyediakan persediaan syarikat pos,
Fax,Fax,
Fee,Bayaran,
Fee Created,Bayaran Dibuat,
Fee Creation Failed,Penciptaan Kos Gagal,
Fee Creation Pending,Penciptaan Kos Penangguhan,
Fee Records Created - {0},Rekod Bayaran Dibuat - {0},
Feedback,Maklumbalas,
Fees,yuran,
Female,Perempuan,
Fetch Data,Ambil Data,
Fetch Subscription Updates,Mengambil Update Langganan,
Fetch exploded BOM (including sub-assemblies),Kutip BOM meletup (termasuk sub-pemasangan),
Fetching records......,Mengambil rekod ......,
Field Name,Nama Field,
Fieldname,Fieldname,
Fields,Medan,
Fill the form and save it,Isi borang dan simpannya,
Filter Employees By (Optional),Penapis Pekerja Mengikut (pilihan),
"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filter Fields Row # {0}: Nama lapangan <b>{1}</b> mestilah jenis &quot;Pautan&quot; atau &quot;MultiSelect Table&quot;,
Filter Total Zero Qty,Penapis Jumlah Zero Qty,
Finance Book,Buku Kewangan,
Financial / accounting year.,Tahun kewangan / perakaunan.,
Financial Services,Perkhidmatan kewangan,
Financial Statements,Penyata kewangan,
Financial Year,Tahun kewangan,
Finish,Selesai,
Finished Good,Selesai Baik,
Finished Good Item Code,Kod Barang Baik,
Finished Goods,Barangan Selesai,
Finished Item {0} must be entered for Manufacture type entry,Mendapat tempat Item {0} mesti dimasukkan untuk masuk jenis Pembuatan,
Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Kuantiti produk siap <b>{0}</b> dan Kuantiti <b>{1}</b> tidak boleh berbeza,
First Name,Nama Pertama,
"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Rejimen Fiskal adalah wajib, sila tetapkan rejim fiskal dalam syarikat {0}",
Fiscal Year,Tahun Anggaran,
Fiscal Year End Date should be one year after Fiscal Year Start Date,Tarikh Akhir Tahun Fiskal hendaklah satu tahun selepas Tarikh Mula Tahun Fiskal,
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Tahun Anggaran Tarikh Mula dan Tahun Anggaran Tarikh Tamat sudah ditetapkan dalam Tahun Anggaran {0},
Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Tarikh Mula Tahun Fiskal hendaklah satu tahun lebih awal daripada Tarikh Akhir Tahun Fiskal,
Fiscal Year {0} does not exist,Tahun Anggaran {0} tidak wujud,
Fiscal Year {0} is required,Tahun Fiskal {0} diperlukan,
Fiscal Year {0} not found,Tahun Anggaran {0} tidak dijumpai,
Fixed Asset,Aset tetap,
Fixed Asset Item must be a non-stock item.,Asset Item tetap perlu menjadi item tanpa saham.,
Fixed Assets,Aset tetap,
Following Material Requests have been raised automatically based on Item's re-order level,Mengikuti Permintaan Bahan telah dibangkitkan secara automatik berdasarkan pesanan semula tahap Perkara ini,
Following accounts might be selected in GST Settings:,Berikut akaun mungkin dipilih dalam Tetapan CBP:,
Following course schedules were created,Mengikuti jadual kursus dibuat,
Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Mengikut item {0} tidak ditandakan sebagai {1} item. Anda boleh mengaktifkannya sebagai {1} item dari tuan Itemnya,
Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Item berikut {0} tidak ditandakan sebagai {1} item. Anda boleh mengaktifkannya sebagai {1} item dari tuan Itemnya,
Food,Makanan,
"Food, Beverage & Tobacco","Makanan, Minuman &amp; Tembakau",
For,Untuk,
"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.","Untuk item &#39;Bundle Produk&#39;, Gudang, No Serial dan batch Tidak akan dipertimbangkan dari &#39;Packing List&#39; meja. Jika Gudang dan Batch No adalah sama untuk semua barangan pembungkusan untuk item apa-apa &#39;Bundle Produk&#39;, nilai-nilai boleh dimasukkan dalam jadual Perkara utama, nilai akan disalin ke &#39;Packing List&#39; meja.",
For Employee,Untuk Pekerja,
For Quantity (Manufactured Qty) is mandatory,Untuk Kuantiti (Dikilangkan Qty) adalah wajib,
For Supplier,Untuk pembekal,
For Warehouse,Untuk Gudang,
For Warehouse is required before Submit,Untuk Gudang diperlukan sebelum Hantar,
"For an item {0}, quantity must be negative number","Untuk item {0}, kuantiti mestilah nombor negatif",
"For an item {0}, quantity must be positive number","Untuk item {0}, kuantiti mestilah nombor positif",
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","Untuk kad kerja {0}, anda hanya boleh membuat entri jenis jenis &#39;Pemindahan Bahan untuk Pembuatan&#39;",
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Bagi barisan {0} dalam {1}. Untuk memasukkan {2} dalam kadar Perkara, baris {3} hendaklah juga disediakan",
For row {0}: Enter Planned Qty,Untuk baris {0}: Masukkan Qty yang dirancang,
"For {0}, only credit accounts can be linked against another debit entry","Untuk {0}, hanya akaun kredit boleh dikaitkan terhadap kemasukan debit lain",
"For {0}, only debit accounts can be linked against another credit entry","Untuk {0}, akaun debit hanya boleh dikaitkan dengan kemasukan kredit lain",
Form View,Lihat Borang,
Forum Activity,Aktiviti Forum,
Free item code is not selected,Kod item percuma tidak dipilih,
Freight and Forwarding Charges,Freight Forwarding dan Caj,
Frequency,kekerapan,
Friday,Jumaat,
From,Dari,
From Address 1,Dari Alamat 1,
From Address 2,Dari Alamat 2,
From Currency and To Currency cannot be same,Dari Mata Wang dan Untuk mata wang tidak boleh sama,
From Date and To Date lie in different Fiscal Year,Dari Tarikh dan Ke Tarikh terletak dalam Tahun Fiskal yang berbeza,
From Date cannot be greater than To Date,Dari Tarikh tidak boleh lebih besar daripada Dating,
From Date must be before To Date,Dari Tarikh mesti sebelum Dating,
From Date should be within the Fiscal Year. Assuming From Date = {0},Dari Tarikh harus berada dalam Tahun Fiskal. Dengan mengandaikan Dari Tarikh = {0},
From Date {0} cannot be after employee's relieving Date {1},Dari Tarikh {0} tidak boleh selepas Tarikh melegakan pekerja {1},
From Date {0} cannot be before employee's joining Date {1},Dari Tarikh {0} tidak boleh sebelum pekerja menyertai Tarikh {1},
From Datetime,Dari Datetime,
From Delivery Note,Dari Penghantaran Nota,
From Fiscal Year,Dari Tahun Fiskal,
From GSTIN,Dari GSTIN,
From Party Name,Dari Nama Parti,
From Pin Code,Daripada Kod Pin,
From Place,Dari Tempat,
From Range has to be less than To Range,Dari Range mempunyai kurang daripada Untuk Julat,
From State,Dari Negeri,
From Time,Dari masa,
From Time Should Be Less Than To Time,Dari Masa Harus Kurang Daripada Masa,
From Time cannot be greater than To Time.,Dari Masa tidak boleh lebih besar daripada ke semasa.,
"From a supplier under composition scheme, Exempt and Nil rated","Daripada pembekal di bawah skim komposisi, Pengecualian dan Nil dinilai",
From and To dates required,Dari dan kepada tarikh yang dikehendaki,
From date can not be less than employee's joining date,Dari tarikh tidak boleh kurang daripada tarikh menyertai pekerja,
From value must be less than to value in row {0},Dari nilai boleh kurang daripada nilai berturut-turut {0},
From {0} | {1} {2},Dari {0} | {1} {2},
Fuel Price,Harga Bahan Api,
Fuel Qty,Fuel Qty,
Fulfillment,Fulfillment,
Full,Penuh,
Full Name,Nama Penuh,
Full-time,Sepenuh masa,
Fully Depreciated,disusutnilai sepenuhnya,
Furnitures and Fixtures,Perabot dan Fixtures,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Akaun lanjut boleh dibuat di bawah Kumpulan, tetapi penyertaan boleh dibuat terhadap bukan Kumpulan",
Further cost centers can be made under Groups but entries can be made against non-Groups,Pusat kos lanjut boleh dibuat di bawah Kumpulan tetapi penyertaan boleh dibuat terhadap bukan Kumpulan,
Further nodes can be only created under 'Group' type nodes,Nod lagi hanya boleh diwujudkan di bawah nod jenis &#39;Kumpulan,
Future dates not allowed,Tarikh masa depan tidak dibenarkan,
GSTIN,GSTIN,
GSTR3B-Form,Borang GSTR3B,
Gain/Loss on Asset Disposal,Keuntungan / Kerugian daripada Pelupusan Aset,
Gantt Chart,Carta Gantt,
Gantt chart of all tasks.,Carta Gantt semua tugas.,
Gender,Jantina,
General,Ketua,
General Ledger,Lejar Am,
Generate Material Requests (MRP) and Work Orders.,Menjana Permintaan Bahan (MRP) dan Perintah Kerja.,
Generate Secret,Menjana Rahsia,
Get Details From Declaration,Dapatkan Butiran Dari Perisytiharan,
Get Employees,Dapatkan Pekerja,
Get Invocies,Dapatkan Invocies,
Get Invoices,Dapatkan Invois,
Get Invoices based on Filters,Dapatkan Invois berdasarkan Penapis,
Get Items from BOM,Dapatkan item dari BOM,
Get Items from Healthcare Services,Dapatkan barangan dari Perkhidmatan Penjagaan Kesihatan,
Get Items from Prescriptions,Dapatkan Item daripada Preskripsi,
Get Items from Product Bundle,Dapatkan Item daripada Fail Produk,
Get Suppliers,Dapatkan Pembekal,
Get Suppliers By,Dapatkan Pembekal Oleh,
Get Updates,Dapatkan Maklumat Terbaru,
Get customers from,Dapatkan pelanggan dari,
Get from Patient Encounter,Dapatkan dari Pesakit Pesakit,
Getting Started,Bermula,
GitHub Sync ID,ID Penyegerakan GitHub,
Global settings for all manufacturing processes.,Tetapan global untuk semua proses pembuatan.,
Go to the Desktop and start using ERPNext,Pergi ke Desktop dan mula menggunakan ERPNext,
GoCardless SEPA Mandate,Mandat SEPA GoCardless,
GoCardless payment gateway settings,Tetapan gerbang pembayaran GoCardless,
Goal and Procedure,Matlamat dan Prosedur,
Goals cannot be empty,Matlamat tidak boleh kosong,
Goods In Transit,Barangan Dalam Transit,
Goods Transferred,Barang Dipindahkan,
Goods and Services Tax (GST India),Cukai Barang dan Perkhidmatan (GST India),
Goods are already received against the outward entry {0},Barangan telah diterima terhadap entri luaran {0},
Government,Kerajaan,
Grand Total,Jumlah Besar,
Grant,Geran,
Grant Application,Permohonan Geran,
Grant Leaves,Grant Daun,
Grant information.,Berikan maklumat.,
Grocery,Barang runcit,
Gross Pay,Gaji kasar,
Gross Profit,Keuntungan kasar,
Gross Profit %,Keuntungan kasar%,
Gross Profit / Loss,Keuntungan Kasar / Rugi,
Gross Purchase Amount,Jumlah Pembelian Kasar,
Gross Purchase Amount is mandatory,Jumlah Pembelian Kasar adalah wajib,
Group by Account,Kumpulan dengan Akaun,
Group by Party,Kumpulan oleh Pihak,
Group by Voucher,Kumpulan dengan Voucher,
Group by Voucher (Consolidated),Kumpulan oleh Voucher (Disatukan),
Group node warehouse is not allowed to select for transactions,nod Kumpulan gudang tidak dibenarkan untuk memilih untuk transaksi,
Group to Non-Group,Kumpulan kepada Bukan Kumpulan,
Group your students in batches,Kumpulan pelajar anda dalam kelompok,
Groups,Kumpulan,
Guardian1 Email ID,Guardian1 ID E-mel,
Guardian1 Mobile No,Guardian1 Bimbit,
Guardian1 Name,Nama Guardian1,
Guardian2 Email ID,Guardian2 ID E-mel,
Guardian2 Mobile No,Guardian2 Bimbit,
Guardian2 Name,Nama Guardian2,
Guest,Tetamu,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Day,Hari separuh,
Half Day Date is mandatory,Tarikh Hari Setempat adalah wajib,
Half Day Date should be between From Date and To Date,Half Tarikh Hari harus antara Dari Tarikh dan To Date,
Half Day Date should be in between Work From Date and Work End Date,Tarikh Hari Separuh hendaklah di antara Kerja Dari Tarikh dan Tarikh Akhir Kerja,
Half Yearly,Setengah Tahunan,
Half day date should be in between from date and to date,Tarikh setengah hari sepatutnya berada di antara dari tarikh dan setakat ini,
Half-Yearly,Setengah tahun,
Hardware,Perkakasan,
Head of Marketing and Sales,Ketua Pemasaran dan Jualan,
Health Care,Penjagaan Kesihatan,
Healthcare,Penjagaan kesihatan,
Healthcare (beta),Kesihatan (beta),
Healthcare Practitioner,Pengamal Penjagaan Kesihatan,
Healthcare Practitioner not available on {0},Pengamal Penjagaan Kesihatan tidak boleh didapati di {0},
Healthcare Practitioner {0} not available on {1},Pengamal Penjagaan Kesihatan {0} tidak tersedia di {1},
Healthcare Service Unit,Unit Perkhidmatan Penjagaan Kesihatan,
Healthcare Service Unit Tree,Pokok Unit Perkhidmatan Penjagaan Kesihatan,
Healthcare Service Unit Type,Jenis Unit Perkhidmatan Penjagaan Kesihatan,
Healthcare Services,Perkhidmatan Penjagaan Kesihatan,
Healthcare Settings,Tetapan Kesihatan,
Hello,Hello,
Help Results for,Bantuan Keputusan untuk,
High,Tinggi,
High Sensitivity,Kepekaan Tinggi,
Hold,Pegang,
Hold Invoice,Pegang Invois,
Holiday,Holiday,
Holiday List,Senarai Holiday,
Hotel Rooms of type {0} are unavailable on {1},Hotel Bilik jenis {0} tidak tersedia di {1},
Hotels,Hotel,
Hourly,Jam,
Hours,Jam,
House rent paid days overlapping with {0},Sewa hari sewa hari bertindih dengan {0},
House rented dates required for exemption calculation,Tarikh sewa rumah yang diperlukan untuk pengiraan pengecualian,
House rented dates should be atleast 15 days apart,Tarikh sewa rumah sepatutnya tidak terpakai selama 15 hari,
How Pricing Rule is applied?,Bagaimana Harga Peraturan digunakan?,
Hub Category,Kategori Hab,
Hub Sync ID,ID Sync Hub,
Human Resource,Sumber Manusia,
Human Resources,Sumber Manusia,
IFSC Code,Kod IFSC,
IGST Amount,Jumlah IGST,
IP Address,Alamat IP,
ITC Available (whether in full op part),ITC Tersedia (sama ada dalam bahagian penuh),
ITC Reversed,ITC Dibalikkan,
Identifying Decision Makers,Mengenal pasti Pembuat Keputusan,
"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Sekiranya Auto Opt In diperiksa, pelanggan akan dipaut secara automatik dengan Program Kesetiaan yang berkenaan (di save)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Jika beberapa Peraturan Harga terus diguna pakai, pengguna diminta untuk menetapkan Keutamaan secara manual untuk menyelesaikan konflik.",
"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.","Jika Peraturan Harga yang dipilih dibuat untuk &#39;Rate&#39;, ia akan menimpa Senarai Harga. Kadar penetapan harga adalah kadar terakhir, jadi tiada lagi diskaun yang perlu dikenakan. Oleh itu, dalam urus niaga seperti Perintah Jualan, Pesanan Pembelian dan lain-lain, ia akan diambil dalam medan &#39;Rate&#39;, bukannya &#39;Bidang Senarai Harga&#39;.",
"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.","Jika dua atau lebih Peraturan Harga yang didapati berdasarkan syarat-syarat di atas, Keutamaan digunakan. Keutamaan adalah nombor antara 0 hingga 20 manakala nilai lalai adalah sifar (kosong). Jumlah yang lebih tinggi bermakna ia akan diberi keutamaan jika terdapat berbilang Peraturan Harga dengan keadaan yang sama.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Jika tamat tempoh tanpa had untuk Mata Kesetiaan, pastikan Tempoh Tamat Tempoh kosong atau 0.",
"If you have any questions, please get back to us.","Jika anda mempunyai sebarang pertanyaan, sila kembali kepada kami.",
Ignore Existing Ordered Qty,Abaikan Qty yang Dimasukkan,
Image,Image,
Image View,Lihat imej,
Import Data,Import Data,
Import Day Book Data,Data Buku Hari Import,
Import Log,Import Log,
Import Master Data,Import Master Data,
Import in Bulk,Import di Bulk,
Import of goods,Import barangan,
Import of services,Import perkhidmatan,
Importing Items and UOMs,Mengimport Item dan UOM,
Importing Parties and Addresses,Mengimport Pihak dan Alamat,
In Maintenance,Dalam Penyelenggaraan,
In Production,Dalam Pengeluaran,
In Qty,Dalam Kuantiti,
In Stock Qty,Dalam Stok Kuantiti,
In Stock: ,Dalam stok:,
In Value,Dalam Nilai,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","Dalam hal program multi-tier, Pelanggan akan ditugaskan secara automatik ke peringkat yang bersangkutan seperti yang dibelanjakannya",
Inactive,Tidak aktif,
Incentives,Insentif,
Include Default Book Entries,Sertakan Penyertaan Buku Lalai,
Include Exploded Items,Termasuk Item Meletup,
Include POS Transactions,Termasuk Transaksi POS,
Include UOM,Termasuk UOM,
Included in Gross Profit,Termasuk dalam Untung Kasar,
Income,Pendapatan,
Income Account,Akaun Pendapatan,
Income Tax,Cukai pendapatan,
Incoming,Masuk,
Incoming Rate,Kadar masuk,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Jumlah yang tidak betul Lejar Am Penyertaan dijumpai. Anda mungkin telah memilih Akaun salah dalam urus niaga.,
Increment cannot be 0,Kenaikan tidak boleh 0,
Increment for Attribute {0} cannot be 0,Kenaikan untuk Atribut {0} tidak boleh 0,
Indirect Expenses,Perbelanjaan Tidak Langsung,
Indirect Income,Pendapatan Tidak Langsung,
Individual,Individu,
Ineligible ITC,ITC tidak layak,
Initiated,Dimulakan,
Inpatient Record,Rekod Pesakit Dalam,
Insert,Insert,
Installation Note,Pemasangan Nota,
Installation Note {0} has already been submitted,Pemasangan Nota {0} telah diserahkan,
Installation date cannot be before delivery date for Item {0},Tarikh pemasangan tidak boleh sebelum tarikh penghantaran untuk Perkara {0},
Installing presets,Memasang pratetap,
Institute Abbreviation,Institut Singkatan,
Institute Name,Nama Institut,
Instructor,Pengajar,
Insufficient Stock,Saham yang tidak mencukupi,
Insurance Start date should be less than Insurance End date,Insurance Mula Tarikh harus kurang daripada tarikh Insurance End,
Integrated Tax,Cukai Bersepadu,
Inter-State Supplies,Bekalan Antara Negeri,
Interest Amount,Amaun Faedah,
Interests,minat,
Intern,Pelatih,
Internet Publishing,Penerbitan Internet,
Intra-State Supplies,Bekalan Intra-Negeri,
Introduction,Pengenalan,
Invalid Attribute,Sifat tidak sah,
Invalid Blanket Order for the selected Customer and Item,Perintah Selimut Tidak Sah untuk Pelanggan dan Item yang dipilih,
Invalid Company for Inter Company Transaction.,Syarikat Tidak Sah untuk Transaksi Syarikat Antara.,
Invalid GSTIN! A GSTIN must have 15 characters.,GSTIN tidak sah! A GSTIN mesti mempunyai 15 aksara.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,GSTIN tidak sah! 2 digit pertama GSTIN sepadan dengan nombor Negeri {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,GSTIN tidak sah! Input yang anda masukkan tidak sepadan dengan format GSTIN.,
Invalid Posting Time,Masa Penghantaran tidak sah,
Invalid attribute {0} {1},sifat yang tidak sah {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Kuantiti yang ditentukan tidak sah untuk item {0}. Kuantiti perlu lebih besar daripada 0.,
Invalid reference {0} {1},Rujukan tidak sah {0} {1},
Invalid {0},Tidak sah {0},
Invalid {0} for Inter Company Transaction.,Tidak sah {0} untuk Transaksi Syarikat Antara.,
Invalid {0}: {1},Tidak sah {0}: {1},
Inventory,Inventori,
Investment Banking,Perbankan Pelaburan,
Investments,Pelaburan,
Invoice,Invois,
Invoice Created,Invois Dicipta,
Invoice Discounting,Diskaun Invois,
Invoice Patient Registration,Pendaftaran Pesakit Invois,
Invoice Posting Date,Posting Invois Tarikh,
Invoice Type,Jenis Invois,
Invoice already created for all billing hours,Invois telah dibuat untuk semua jam pengebilan,
Invoice can't be made for zero billing hour,Invois tidak boleh dibuat untuk jam bil sifar,
Invoice {0} no longer exists,Invois {0} tidak wujud lagi,
Invoiced,Invois,
Invoiced Amount,Invois,
Invoices,Invois,
Invoices for Costumers.,Invois untuk Pelanggan.,
Inward supplies from ISD,Bekalan masuk dari ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),Bekalan dalam boleh dikenakan caj balik (selain daripada 1 &amp; 2 di atas),
Is Active,Adalah aktif,
Is Default,Adalah Default,
Is Existing Asset,Adakah Aset Sedia Ada,
Is Frozen,Adalah Beku,
Is Group,Adakah Kumpulan,
Issue,Isu,
Issue Material,Isu Bahan,
Issued,Isu,
Issues,Isu-isu,
It is needed to fetch Item Details.,Ia diperlukan untuk mengambil Butiran Item.,
Item,Perkara,
Item 1,Perkara 1,
Item 2,Perkara 2,
Item 3,Perkara 3,
Item 4,Perkara 4,
Item 5,Perkara 5,
Item Cart,barang Troli,
Item Code,Kod Item,
Item Code cannot be changed for Serial No.,Kod Item tidak boleh ditukar untuk No. Siri,
Item Code required at Row No {0},Kod Item diperlukan semasa Row Tiada {0},
Item Description,Perkara Penerangan,
Item Group,Perkara Kumpulan,
Item Group Tree,Perkara Kumpulan Tree,
Item Group not mentioned in item master for item {0},Perkara Kumpulan tidak dinyatakan dalam perkara induk untuk item {0},
Item Name,Nama barang,
Item Price added for {0} in Price List {1},Perkara Harga ditambah untuk {0} dalam senarai harga {1},
"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Harga Item muncul beberapa kali berdasarkan Senarai Harga, Pembekal / Pelanggan, Mata Wang, Item, UOM, Qty dan Tarikh.",
Item Price updated for {0} in Price List {1},Item Harga dikemaskini untuk {0} dalam Senarai Harga {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Baris Item {0}: {1} {2} tidak wujud di atas &#39;{1}&#39; jadual,
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Row Perkara Cukai {0} mesti mempunyai akaun Cukai jenis atau Pendapatan atau Perbelanjaan atau bercukai,
Item Template,Templat Perkara,
Item Variant Settings,Tetapan Variasi Item,
Item Variant {0} already exists with same attributes,Perkara Variant {0} telah wujud dengan sifat-sifat yang sama,
Item Variants,Kelainan Perkara,
Item Variants updated,Varian Item dikemas kini,
Item has variants.,Perkara mempunyai varian.,
Item must be added using 'Get Items from Purchase Receipts' button,Item mesti ditambah menggunakan &#39;Dapatkan Item daripada Pembelian Resit&#39; butang,
Item valuation rate is recalculated considering landed cost voucher amount,Perkara kadar penilaian dikira semula memandangkan jumlah baucar kos mendarat,
Item variant {0} exists with same attributes,Varian item {0} wujud dengan ciri yang sama,
Item {0} does not exist,Perkara {0} tidak wujud,
Item {0} does not exist in the system or has expired,Perkara {0} tidak wujud di dalam sistem atau telah tamat,
Item {0} has already been returned,Perkara {0} telah kembali,
Item {0} has been disabled,Perkara {0} telah dilumpuhkan,
Item {0} has reached its end of life on {1},Perkara {0} telah mencapai penghujungnya kehidupan di {1},
Item {0} ignored since it is not a stock item,Perkara {0} diabaikan kerana ia bukan satu perkara saham,
"Item {0} is a template, please select one of its variants","Perkara {0} adalah template, sila pilih salah satu daripada variannya",
Item {0} is cancelled,Perkara {0} dibatalkan,
Item {0} is disabled,Perkara {0} dilumpuhkan,
Item {0} is not a serialized Item,Perkara {0} bukan Item bersiri,
Item {0} is not a stock Item,Perkara {0} bukan Item saham,
Item {0} is not active or end of life has been reached,Perkara {0} tidak aktif atau akhir hayat telah dicapai,
Item {0} is not setup for Serial Nos. Check Item master,Perkara {0} tidak ditetapkan untuk Serial No. Semak Item induk,
Item {0} is not setup for Serial Nos. Column must be blank,Perkara {0} tidak ditetapkan untuk Serial No. Column boleh kosong,
Item {0} must be a Fixed Asset Item,Perkara {0} perlu menjadi Asset Perkara Tetap,
Item {0} must be a Sub-contracted Item,Perkara {0} mestilah Sub-kontrak Perkara,
Item {0} must be a non-stock item,Perkara {0} perlu menjadi item tanpa saham yang,
Item {0} must be a stock Item,Perkara {0} mestilah Perkara saham,
Item {0} not found,Perkara {0} tidak dijumpai,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Perkara {0} tidak dijumpai dalam &#39;Bahan Mentah Dibekalkan&#39; meja dalam Pesanan Belian {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Perkara {0}: qty Mengarahkan {1} tidak boleh kurang daripada perintah qty minimum {2} (ditakrifkan dalam Perkara).,
Item: {0} does not exist in the system,Perkara: {0} tidak wujud dalam sistem,
Items,Item,
Items Filter,Penapis Item,
Items and Pricing,Item dan Harga,
Items for Raw Material Request,Item untuk Permintaan Bahan Mentah,
Job Card,Kad Kerja,
Job Description,Penerangan mengenai Jawatan,
Job Offer,Tawaran pekerjaan,
Job card {0} created,Kad kerja {0} dibuat,
Jobs,Pekerjaan,
Join,Sertai,
Journal Entries {0} are un-linked,Jurnal Penyertaan {0} adalah un berkaitan,
Journal Entry,Jurnal Entry,
Journal Entry {0} does not have account {1} or already matched against other voucher,Jurnal Entry {0} tidak mempunyai akaun {1} atau sudah dipadankan dengan baucar lain,
Kanban Board,Lembaga Kanban,
Key Reports,Laporan Utama,
LMS Activity,Aktiviti LMS,
Lab Test,Ujian Makmal,
Lab Test Report,Laporan Ujian Makmal,
Lab Test Sample,Sampel Ujian Makmal,
Lab Test Template,Templat Ujian Lab,
Lab Test UOM,Ujian Makmal UOM,
Lab Tests and Vital Signs,Ujian Makmal dan Tanda Penting,
Lab result datetime cannot be before testing datetime,Data hasil makmal tidak boleh sebelum menguji waktu,
Lab testing datetime cannot be before collection datetime,Masa ujian makmal tidak boleh sebelum tarikh pengumpulan,
Label,Label,
Laboratory,Makmal,
Language Name,Nama bahasa,
Large,Besar,
Last Communication,Komunikasi lalu,
Last Communication Date,Tarikh Komunikasi lalu,
Last Name,Nama Akhir,
Last Order Amount,Perintah lepas Jumlah,
Last Order Date,Lepas Tarikh Perintah,
Last Purchase Price,Harga Belian Terakhir,
Last Purchase Rate,Kadar Pembelian lalu,
Latest,Terkini,
Latest price updated in all BOMs,Harga terkini dikemas kini dalam semua BOM,
Lead,Lead,
Lead Count,Lead Count,
Lead Owner,Lead Pemilik,
Lead Owner cannot be same as the Lead,Lead Pemilik tidak boleh menjadi sama seperti Lead,
Lead Time Days,Membawa Hari Masa,
Lead to Quotation,Membawa kepada Sebut Harga,
"Leads help you get business, add all your contacts and more as your leads","Leads membantu anda mendapatkan perniagaan, tambah semua kenalan anda dan lebih sebagai petunjuk anda",
Learn,Belajar,
Leave Approval Notification,Berikan Pemberitahuan Kelulusan,
Leave Blocked,Tinggalkan Disekat,
Leave Encashment,meninggalkan Penunaian,
Leave Management,Tinggalkan Pengurusan,
Leave Status Notification,Tinggalkan Pemberitahuan Status,
Leave Type,Cuti Jenis,
Leave Type is madatory,Tinggalkan Jenis adalah madatory,
Leave Type {0} cannot be allocated since it is leave without pay,Tinggalkan Jenis {0} tidak boleh diperuntukkan sejak ia meninggalkan tanpa gaji,
Leave Type {0} cannot be carry-forwarded,Tinggalkan Jenis {0} tidak boleh bawa dikemukakan,
Leave Type {0} is not encashable,Jenis Tinggalkan {0} tidak boleh encashable,
Leave Without Pay,Tinggalkan Tanpa Gaji,
Leave and Attendance,Tinggalkan dan Kehadiran,
Leave application {0} already exists against the student {1},Meninggalkan aplikasi {0} sudah wujud terhadap pelajar {1},
"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Cuti yang tidak boleh diperuntukkan sebelum {0}, sebagai baki cuti telah pun dibawa dikemukakan dalam rekod peruntukan cuti masa depan {1}",
"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Tinggalkan tidak boleh digunakan / dibatalkan sebelum {0}, sebagai baki cuti telah pun dibawa dikemukakan dalam rekod peruntukan cuti masa depan {1}",
Leave of type {0} cannot be longer than {1},Cuti jenis {0} tidak boleh lebih panjang daripada {1},
Leave the field empty to make purchase orders for all suppliers,Biarkan medan kosong untuk membuat pesanan pembelian untuk semua pembekal,
Leaves,Daun,
Leaves Allocated Successfully for {0},Meninggalkan Diperuntukkan Berjaya untuk {0},
Leaves has been granted sucessfully,Daun telah berjaya dicapai,
Leaves must be allocated in multiples of 0.5,Daun mesti diperuntukkan dalam gandaan 0.5,
Leaves per Year,Meninggalkan setiap Tahun,
Ledger,lejar,
Legal,Undang-undang,
Legal Expenses,Perbelanjaan Undang-Undang,
Letter Head,Surat Ketua,
Letter Heads for print templates.,Ketua surat untuk template cetak.,
Level,Tahap,
Liability,Liabiliti,
License,Lesen,
Lifecycle,Kitaran hidup,
Limit,Had,
Limit Crossed,had Crossed,
Link to Material Request,Pautan ke Permintaan Bahan,
List of all share transactions,Senarai semua urusniaga saham,
List of available Shareholders with folio numbers,Senarai Pemegang Saham yang tersedia dengan nombor folio,
Loading Payment System,Memuatkan Sistem Pembayaran,
Loan,Pinjaman,
Loan Amount cannot exceed Maximum Loan Amount of {0},Jumlah Pinjaman tidak boleh melebihi Jumlah Pinjaman Maksimum {0},
Loan Application,Permohonan Pinjaman,
Loan Management,Pengurusan Pinjaman,
Loan Repayment,bayaran balik pinjaman,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Tarikh Mula Pinjaman dan Tempoh Pinjaman adalah wajib untuk menyimpan Invois Discounting,
Loans (Liabilities),Pinjaman (Liabiliti),
Loans and Advances (Assets),Pinjaman dan Pendahuluan (Aset),
Local,Tempatan,
Log,Log,
Logs for maintaining sms delivery status,Log bagi mengekalkan status penghantaran sms,
Lost,Hilang,
Lost Reasons,Alasan Hilang,
Low,Rendah,
Low Sensitivity,Kepekaan Rendah,
Lower Income,Pendapatan yang lebih rendah,
Loyalty Amount,Jumlah kesetiaan,
Loyalty Point Entry,Kemasukan Point Kesetiaan,
Loyalty Points,Mata Kesetiaan,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Mata Kesetiaan akan dikira dari perbelanjaan yang telah dibelanjakan (melalui Invois Jualan), berdasarkan faktor pengumpulan yang disebutkan.",
Loyalty Points: {0},Mata Kesetiaan: {0},
Loyalty Program,Program kesetiaan,
Main,Utama,
Maintenance,Penyelenggaraan,
Maintenance Log,Log penyelenggaraan,
Maintenance Manager,Pengurus Penyelenggaraan,
Maintenance Schedule,Jadual penyelenggaraan,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Jadual penyelenggaraan tidak dihasilkan untuk semua item. Sila klik pada &#39;Menjana Jadual&#39;,
Maintenance Schedule {0} exists against {1},Jadual Penyelenggaraan {0} wujud daripada {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Jadual Penyelenggaraan {0} hendaklah dibatalkan sebelum membatalkan Perintah Jualan ini,
Maintenance Status has to be Cancelled or Completed to Submit,Status Penyelenggaraan perlu Dibatalkan atau Diselesaikan untuk Kirim,
Maintenance User,Penyelenggaraan pengguna,
Maintenance Visit,Penyelenggaraan Lawatan,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Lawatan penyelenggaraan {0} hendaklah dibatalkan sebelum membatalkan Perintah Jualan ini,
Maintenance start date can not be before delivery date for Serial No {0},Tarikh mula penyelenggaraan tidak boleh sebelum tarikh penghantaran untuk No Serial {0},
Make,Buat,
Make Payment,Buat bayaran,
Make project from a template.,Buat projek dari templat.,
Making Stock Entries,Membuat Kemasukan Stok,
Male,Lelaki,
Manage Customer Group Tree.,Menguruskan Tree Kumpulan Pelanggan.,
Manage Sales Partners.,Mengurus Jualan Partners.,
Manage Sales Person Tree.,Menguruskan Orang Jualan Tree.,
Manage Territory Tree.,Mengurus Wilayah Tree.,
Manage your orders,Menguruskan pesanan anda,
Management,Pengurusan,
Manager,Pengurus,
Managing Projects,Menguruskan Projek,
Managing Subcontracting,Urusan subkontrak,
Mandatory,Mandatori,
Mandatory field - Academic Year,medan mandatori - Academic Year,
Mandatory field - Get Students From,medan mandatori - Dapatkan Pelajar Dari,
Mandatory field - Program,medan mandatori - Program,
Manufacture,Pembuatan,
Manufacturer,Pengeluar,
Manufacturer Part Number,Pengeluar Bahagian Bilangan,
Manufacturing,Pembuatan,
Manufacturing Quantity is mandatory,Pembuatan Kuantiti adalah wajib,
Mapping,Pemetaan,
Mapping Type,Jenis pemetaan,
Mark Absent,Mark Tidak Hadir,
Mark Attendance,Tandatangan Kehadiran,
Mark Half Day,Mark Day Half,
Mark Present,Mark Hadir,
Marketing,Pemasaran,
Marketing Expenses,Perbelanjaan Pemasaran,
Marketplace,Pasaran,
Marketplace Error,Ralat Pasaran,
Masters,Sarjana,
Match Payments with Invoices,Pembayaran perlawanan dengan Invois,
Match non-linked Invoices and Payments.,Padankan Invois tidak berkaitan dan Pembayaran.,
Material,Bahan,
Material Consumption,Penggunaan Bahan,
Material Consumption is not set in Manufacturing Settings.,Penggunaan Bahan tidak ditetapkan dalam Tetapan Pembuatan.,
Material Receipt,Penerimaan Bahan,
Material Request,Permintaan Bahan,
Material Request Date,Bahan Permintaan Tarikh,
Material Request No,Permintaan bahan Tidak,
"Material Request not created, as quantity for Raw Materials already available.","Permintaan bahan tidak dibuat, kerana kuantiti Bahan Baku sudah tersedia.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Permintaan Bahan maksimum {0} boleh dibuat untuk Perkara {1} terhadap Sales Order {2},
Material Request to Purchase Order,Permintaan bahan Membeli Pesanan,
Material Request {0} is cancelled or stopped,Permintaan Bahan {0} dibatalkan atau dihentikan,
Material Request {0} submitted.,Permintaan Bahan {0} dihantar.,
Material Transfer,Pemindahan Bahan,
Material Transferred,Bahan Dipindahkan,
Material to Supplier,Bahan kepada Pembekal,
Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Jumlah Pengecualian Maksimum tidak boleh melebihi jumlah pengecualian maksimum {0} dari Kategori Pengecualian Cukai {1},
Max benefits should be greater than zero to dispense benefits,Faedah maksima harus lebih besar daripada sifar untuk memberi manfaat,
Max discount allowed for item: {0} is {1}%,Max diskaun yang dibenarkan untuk item: {0} adalah {1}%,
Max: {0},Max: {0},
Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Sampel Maksimum - {0} boleh dikekalkan untuk Batch {1} dan Item {2}.,
Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Sampel Maksimum - {0} telah dikekalkan untuk Batch {1} dan Item {2} dalam Batch {3}.,
Maximum amount eligible for the component {0} exceeds {1},Jumlah maksimum yang layak untuk komponen {0} melebihi {1},
Maximum benefit amount of component {0} exceeds {1},Jumlah faedah maksimum komponen {0} melebihi {1},
Maximum benefit amount of employee {0} exceeds {1},Jumlah faedah maksimum pekerja {0} melebihi {1},
Maximum discount for Item {0} is {1}%,Diskaun maksimum untuk Item {0} ialah {1}%,
Maximum leave allowed in the leave type {0} is {1},Cuti maksimum dibenarkan dalam cuti jenis {0} adalah {1},
Medical,Perubatan,
Medical Code,Kod Perubatan,
Medical Code Standard,Standard Kod Perubatan,
Medical Department,Jabatan Perubatan,
Medical Record,Rekod kesihatan,
Medium,Sederhana,
Meeting,Mesyuarat,
Member Activity,Aktiviti Ahli,
Member ID,ID ahli,
Member Name,Nama ahli,
Member information.,Maklumat ahli.,
Membership,Keahlian,
Membership Details,Butiran Keahlian,
Membership ID,ID Keahlian,
Membership Type,Jenis Keahlian,
Memebership Details,Butiran Memebership,
Memebership Type Details,Butiran Jenis Pemebership,
Merge,Gabung,
Merge Account,Merge Account,
Merge with Existing Account,Gabung dengan Akaun Sedia Ada,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Penggabungan hanya boleh dilakukan jika sifat berikut adalah sama dalam kedua-dua rekod. Adalah Kumpulan, Jenis Akar, Syarikat",
Message Examples,Contoh mesej,
Message Sent,Mesej dihantar,
Method,Kaedah,
Middle Income,Pendapatan Tengah,
Middle Name,Nama tengah,
Middle Name (Optional),Nama tengah (pilihan),
Min Amt can not be greater than Max Amt,Min Amt tidak boleh lebih besar daripada Max Amt,
Min Qty can not be greater than Max Qty,Min Qty tidak boleh lebih besar daripada Max Qty,
Minimum Lead Age (Days),Lead Minimum Umur (Hari),
Miscellaneous Expenses,Perbelanjaan Pelbagai,
Missing Currency Exchange Rates for {0},Hilang Mata Wang Kadar Pertukaran untuk {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Templat e-mel hilang untuk penghantaran. Sila tetapkan satu dalam Tetapan Pengiriman.,
"Missing value for Password, API Key or Shopify URL","Nilai yang hilang untuk Kata Laluan, Kunci API atau URL Shopify",
Mode of Payment,Cara Pembayaran,
Mode of Payments,Cara Pembayaran,
Mode of Transport,Mod Pengangkutan,
Mode of Transportation,Mod Pengangkutan,
Mode of payment is required to make a payment,Cara pembayaran adalah dikehendaki untuk membuat pembayaran,
Model,Model,
Moderate Sensitivity,Kepekaan Moderat,
Monday,Isnin,
Monthly,Bulanan,
Monthly Distribution,Pengagihan Bulanan,
Monthly Repayment Amount cannot be greater than Loan Amount,Jumlah Pembayaran balik bulanan tidak boleh lebih besar daripada Jumlah Pinjaman,
More,Lebih banyak,
More Information,Maklumat lanjut,
More than one selection for {0} not allowed,Lebih daripada satu pilihan untuk {0} tidak dibenarkan,
More...,More ...,
Motion Picture & Video,Motion Picture &amp; Video,
Move,langkah,
Move Item,Move Perkara,
Multi Currency,Mata Multi,
Multiple Item prices.,Harga Item berbilang.,
Multiple Loyalty Program found for the Customer. Please select manually.,Program Kesetiaan Pelbagai yang ditemui untuk Pelanggan. Sila pilih secara manual.,
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Peraturan Harga pelbagai wujud dengan kriteria yang sama, sila menyelesaikan konflik dengan memberikan keutamaan. Peraturan Harga: {0}",
Multiple Variants,Pelbagai variasi,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,tahun fiskal Pelbagai wujud untuk tarikh {0}. Sila menetapkan syarikat dalam Tahun Anggaran,
Music,Muzik,
My Account,Akaun Saya,
Name error: {0},Ralat nama: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Nama Akaun baru. Nota: Sila jangan membuat akaun untuk Pelanggan dan Pembekal,
Name or Email is mandatory,Nama atau E-mel adalah wajib,
Nature Of Supplies,Alam Bekalan,
Navigating,Melayari,
Needs Analysis,Analisis Kebutuhan,
Negative Quantity is not allowed,Kuantiti Negatif tidak dibenarkan,
Negative Valuation Rate is not allowed,Kadar Penilaian Negatif tidak dibenarkan,
Negotiation/Review,Rundingan / Semakan,
Net Asset value as on,Nilai Aset Bersih pada,
Net Cash from Financing,Tunai bersih daripada Pembiayaan,
Net Cash from Investing,Tunai bersih daripada Pelaburan,
Net Cash from Operations,Tunai bersih daripada Operasi,
Net Change in Accounts Payable,Perubahan Bersih dalam Akaun Belum Bayar,
Net Change in Accounts Receivable,Perubahan Bersih dalam Akaun Belum Terima,
Net Change in Cash,Perubahan Bersih dalam Tunai,
Net Change in Equity,Perubahan Bersih dalam Ekuiti,
Net Change in Fixed Asset,Perubahan Bersih dalam Aset Tetap,
Net Change in Inventory,Perubahan Bersih dalam Inventori,
Net ITC Available(A) - (B),ITC Bersih Tersedia (A) - (B),
Net Pay,Gaji bersih,
Net Pay cannot be less than 0,Pay bersih tidak boleh kurang daripada 0,
Net Profit,Keuntungan bersih,
Net Salary Amount,Jumlah Gaji Bersih,
Net Total,Jumlah bersih,
Net pay cannot be negative,Gaji bersih tidak boleh negatif,
New Account Name,Nama Akaun Baru,
New Address,Alamat Baru,
New BOM,New BOM,
New Batch ID (Optional),New Batch ID (Pilihan),
New Batch Qty,Batch baru Qty,
New Company,Syarikat Baru,
New Cost Center Name,New Nama PTJ,
New Customer Revenue,New Hasil Pelanggan,
New Customers,pelanggan baru,
New Department,Jabatan Baru,
New Employee,Pekerja baru,
New Location,Lokasi Baru,
New Quality Procedure,Prosedur Kualiti Baru,
New Sales Invoice,New Invois Jualan,
New Sales Person Name,Nama New Orang Sales,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,No Siri baru tidak boleh mempunyai Gudang. Gudang mesti digunakan Saham Masuk atau Resit Pembelian,
New Warehouse Name,Nama Warehouse New,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},had kredit baru adalah kurang daripada amaun tertunggak semasa untuk pelanggan. had kredit perlu atleast {0},
New task,Tugasan baru,
New {0} pricing rules are created,Peraturan {0} baru dibuat,
Newsletters,Surat Berita,
Newspaper Publishers,Akhbar Penerbit,
Next,Seterusnya,
Next Contact By cannot be same as the Lead Email Address,Seterusnya Hubungi Dengan tidak boleh menjadi sama seperti Alamat E-mel Lead,
Next Contact Date cannot be in the past,Hubungi Selepas Tarikh tidak boleh pada masa lalu,
Next Steps,Langkah seterusnya,
No Action,Tiada tindakan,
No Customers yet!,No Pelanggan lagi!,
No Data,Tiada Data,
No Delivery Note selected for Customer {},Tiada Nota Penghantaran yang dipilih untuk Pelanggan {},
No Employee Found,Tiada Pekerja Dijumpai,
No Item with Barcode {0},No Perkara dengan Barcode {0},
No Item with Serial No {0},No Perkara dengan Tiada Serial {0},
No Items available for transfer,Tiada Item yang tersedia untuk dipindahkan,
No Items selected for transfer,Tiada Item yang dipilih untuk dipindahkan,
No Items to pack,Tiada item untuk pek,
No Items with Bill of Materials to Manufacture,Tiada item dengan Bill Bahan untuk pembuatan,
No Items with Bill of Materials.,Tiada Item yang mempunyai Bil Bahan.,
No Permission,Tiada Kebenaran,
No Quote,No Quote,
No Remarks,Tidak Catatan,
No Result to submit,Tiada Keputusan untuk dihantar,
No Salary Structure assigned for Employee {0} on given date {1},Tiada Struktur Gaji yang diberikan kepada Pekerja {0} pada tarikh yang diberikan {1},
No Staffing Plans found for this Designation,Tiada Pelan Kakitangan ditemui untuk Jawatan ini,
No Student Groups created.,Tiada Kumpulan Pelajar diwujudkan.,
No Students in,No Pelajar dalam,
No Tax Withholding data found for the current Fiscal Year.,Tiada data Pegangan Cukai yang dijumpai untuk Tahun Fiskal semasa.,
No Work Orders created,Tiada Perintah Kerja dibuat,
No accounting entries for the following warehouses,Tiada catatan perakaunan bagi gudang berikut,
No active or default Salary Structure found for employee {0} for the given dates,Tiada Struktur aktif atau Gaji lalai dijumpai untuk pekerja {0} pada tarikh yang diberikan,
No contacts with email IDs found.,Tiada kenalan dengan ID e-mel dijumpai.,
No data for this period,Tiada data untuk tempoh ini,
No description given,Keterangan tidak diberikan,
No employees for the mentioned criteria,Tiada pekerja untuk kriteria yang disebutkan,
No gain or loss in the exchange rate,Tiada keuntungan atau kerugian dalam kadar pertukaran,
No items listed,Tiada perkara yang disenaraikan,
No items to be received are overdue,Tiada item yang akan diterima adalah tertunggak,
No material request created,Tiada permintaan bahan dibuat,
No more updates,Tiada lagi kemas kini,
No of Interactions,Tiada Interaksi,
No of Shares,Tiada Saham,
No pending Material Requests found to link for the given items.,Tiada Permintaan Bahan yang belum selesai dijumpai untuk dihubungkan untuk item yang diberikan.,
No products found,Tiada produk dijumpai,
No products found.,Belum ada produk found.,
No record found,Rekod tidak dijumpai,
No records found in the Invoice table,Tiada rekod yang terdapat dalam jadual Invois yang,
No records found in the Payment table,Tiada rekod yang terdapat dalam jadual Pembayaran,
No replies from,Tiada jawapan daripada,
No salary slip found to submit for the above selected criteria OR salary slip already submitted,Tiada slip gaji yang didapati mengemukakan untuk kriteria yang dipilih di atas ATAU slip gaji yang telah diserahkan,
No tasks,Tiada tugasan,
No time sheets,Tiada lembaran masa,
No values,Tiada nilai,
No {0} found for Inter Company Transactions.,Tiada {0} dijumpai untuk Transaksi Syarikat Antara.,
Non GST Inward Supplies,Bekalan Barang GST Bukan GST,
Non Profit,Keuntungan tidak,
Non Profit (beta),Bukan Untung (beta),
Non-GST outward supplies,Bekalan luar negara bukan CBP,
Non-Group to Group,Non-Group untuk Kumpulan,
None,Tiada,
None of the items have any change in quantity or value.,Tiada item mempunyai apa-apa perubahan dalam kuantiti atau nilai.,
Nos,Nos,
Not Available,Tiada Maklumat,
Not Marked,Tidak ditandakan,
Not Paid and Not Delivered,Not Paid dan Tidak Dihantar,
Not Permitted,Tidak Dibenarkan,
Not Started,Belum Bermula,
Not active,Tidak aktif,
Not allow to set alternative item for the item {0},Tidak membenarkan menetapkan item alternatif untuk item {0},
Not allowed to update stock transactions older than {0},Tidak dibenarkan untuk mengemaskini transaksi saham lebih tua daripada {0},
Not authorized to edit frozen Account {0},Tiada kebenaran untuk mengedit Akaun beku {0},
Not authroized since {0} exceeds limits,Tidak authroized sejak {0} melebihi had,
Not permitted for {0},Tidak dibenarkan untuk {0},
"Not permitted, configure Lab Test Template as required","Tidak dibenarkan, konfigurasi Templat Ujian Lab seperti yang diperlukan",
Not permitted. Please disable the Service Unit Type,Tidak dibenarkan. Sila nyahaktifkan Jenis Unit Perkhidmatan,
Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Nota: Disebabkan Tarikh / Rujukan melebihi dibenarkan hari kredit pelanggan dengan {0} hari (s),
Note: Item {0} entered multiple times,Nota: Perkara {0} memasuki beberapa kali,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Nota: Entry Bayaran tidak akan diwujudkan sejak &#39;Tunai atau Akaun Bank tidak dinyatakan,
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Nota: Sistem tidak akan memeriksa terlebih penghantaran dan lebih-tempahan untuk Perkara {0} sebagai kuantiti atau jumlah adalah 0,
Note: There is not enough leave balance for Leave Type {0},Nota: Tidak ada baki cuti yang cukup untuk Cuti Jenis {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Nota: Ini PTJ adalah Kumpulan. Tidak boleh membuat catatan perakaunan terhadap kumpulan.,
Note: {0},Nota: {0},
Notes,Nota,
Nothing is included in gross,Tiada apa-apa termasuk dalam kasar,
Nothing more to show.,Apa-apa untuk menunjukkan.,
Nothing to change,Tiada perubahan,
Notice Period,Tempoh notis,
Notify Customers via Email,Beritahu Pelanggan melalui E-mel,
Number,Nombor,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Jumlah penurunan nilai Ditempah tidak boleh lebih besar daripada Jumlah penurunan nilai,
Number of Interaction,Bilangan Interaksi,
Number of Order,Bilangan Pesanan,
"Number of new Account, it will be included in the account name as a prefix","Bilangan Akaun baru, ia akan dimasukkan ke dalam nama akaun sebagai awalan",
"Number of new Cost Center, it will be included in the cost center name as a prefix","Bilangan Pusat Kos baru, ia akan dimasukkan ke dalam nama pusat kos sebagai awalan",
Number of root accounts cannot be less than 4,Bilangan akaun root tidak boleh kurang daripada 4,
Odometer,Odometer,
Office Equipments,Peralatan Pejabat,
Office Maintenance Expenses,Perbelanjaan Penyelenggaraan,
Office Rent,Pejabat Disewa,
On Hold,Tunggu,
On Net Total,Di Net Jumlah,
One customer can be part of only single Loyalty Program.,Satu pelanggan boleh menjadi sebahagian daripada Program Kesetiaan tunggal sahaja.,
Online Auctions,Lelong Online,
Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Hanya Tinggalkan Permohonan dengan status &#39;diluluskan&#39; dan &#39;Telah&#39; boleh dikemukakan,
"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Hanya Pemohon Pelajar dengan status &quot;Diluluskan&quot; akan dipilih dalam jadual di bawah.,
Only users with {0} role can register on Marketplace,Hanya pengguna yang mempunyai peranan {0} boleh mendaftar di Marketplace,
Open BOM {0},Terbuka BOM {0},
Open Item {0},Terbuka Item {0},
Open Notifications,Pemberitahuan Terbuka,
Open Orders,Buka Pesanan,
Open a new ticket,Buka tiket baru,
Opening,Pembukaan,
Opening (Cr),Pembukaan (Cr),
Opening (Dr),Pembukaan (Dr),
Opening Accounting Balance,Perakaunan membuka Baki,
Opening Accumulated Depreciation,Membuka Susut Nilai Terkumpul,
Opening Accumulated Depreciation must be less than equal to {0},Membuka Susut Nilai Terkumpul mesti kurang dari sama dengan {0},
Opening Balance,Baki Pembukaan,
Opening Balance Equity,Pembukaan Ekuiti Baki,
Opening Date and Closing Date should be within same Fiscal Year,Tarikh dan Tarikh Tutup merasmikan perlu berada dalam sama Tahun Anggaran,
Opening Date should be before Closing Date,Tarikh pembukaan perlu sebelum Tarikh Tutup,
Opening Entry Journal,Jurnal Kemasukan Pembukaan,
Opening Invoice Creation Tool,Pembukaan Alat Penciptaan Invois,
Opening Invoice Item,Pembukaan Item Invois,
Opening Invoices,Pembukaan Invois,
Opening Invoices Summary,Ringkasan Invois Terbuka,
Opening Qty,Membuka Qty,
Opening Stock,Stok Awal,
Opening Stock Balance,Membuka Baki Saham,
Opening Value,Nilai Pembukaan,
Opening {0} Invoice created,Pembukaan {0} Invois dibuat,
Operation,Operasi,
Operation Time must be greater than 0 for Operation {0},Masa operasi mesti lebih besar daripada 0 untuk operasi {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operasi {0} lebih lama daripada mana-mana waktu kerja yang terdapat di stesen kerja {1}, memecahkan operasi ke dalam pelbagai operasi",
Operations,Operasi,
Operations cannot be left blank,Operasi tidak boleh dibiarkan kosong,
Opp Count,Opp Count,
Opp/Lead %,RRJP / Lead%,
Opportunities,Peluang,
Opportunities by lead source,Peluang dengan sumber utama,
Opportunity,Peluang,
Opportunity Amount,Jumlah Peluang,
Optional Holiday List not set for leave period {0},Senarai Percutian Pilihan tidak ditetapkan untuk tempoh cuti {0},
"Optional. Sets company's default currency, if not specified.","Pilihan. Set mata wang lalai syarikat, jika tidak dinyatakan.",
Optional. This setting will be used to filter in various transactions.,Pilihan. Tetapan ini akan digunakan untuk menapis dalam pelbagai transaksi.,
Options,Pilihan,
Order Count,Order Count,
Order Entry,Kemasukan Pesanan,
Order Value,Order Nilai,
Order rescheduled for sync,Pesanan dijadualkan semula untuk penyegerakan,
Order/Quot %,Order / Quot%,
Ordered,Mengarahkan,
Ordered Qty,Mengarahkan Qty,
"Ordered Qty: Quantity ordered for purchase, but not received.","Dikehendaki Qty: Kuantiti diperintahkan untuk pembelian, tetapi tidak diterima.",
Orders,Pesanan,
Orders released for production.,Perintah dikeluarkan untuk pengeluaran.,
Organization,organisasi,
Organization Name,Nama Pertubuhan,
Other,Lain-lain,
Other Reports,Laporan Lain,
"Other outward supplies(Nil rated,Exempted)","Bekalan luaran lain (Tiada nilai, Dikecualikan)",
Others,Lain,
Out Qty,Keluar Qty,
Out Value,Nilai Keluar,
Out of Order,Telah habis,
Outgoing,Keluar,
Outstanding,Cemerlang,
Outstanding Amount,Jumlah yang tertunggak,
Outstanding Amt,Amt Cemerlang,
Outstanding Cheques and Deposits to clear,Cek cemerlang dan Deposit untuk membersihkan,
Outstanding for {0} cannot be less than zero ({1}),Cemerlang untuk {0} tidak boleh kurang daripada sifar ({1}),
Outward taxable supplies(zero rated),Bekalan bercukai keluar (nilainya berkadar),
Overdue,Tertunggak,
Overlap in scoring between {0} and {1},Tumpuan dalam pemarkahan antara {0} dan {1},
Overlapping conditions found between:,Keadaan bertindih yang terdapat di antara:,
Owner,Pemilik,
PAN,PAN,
PO already created for all sales order items,PO telah dibuat untuk semua item pesanan jualan,
POS,POS,
POS Profile,POS Profil,
POS Profile is required to use Point-of-Sale,Profil POS dikehendaki menggunakan Point-of-Sale,
POS Profile required to make POS Entry,POS Profil dikehendaki membuat POS Entry,
POS Settings,Tetapan POS,
Packed quantity must equal quantity for Item {0} in row {1},Makan kuantiti mestilah sama dengan kuantiti untuk Perkara {0} berturut-turut {1},
Packing Slip,Slip pembungkusan,
Packing Slip(s) cancelled,Slip pembungkusan (s) dibatalkan,
Paid,Dibayar,
Paid Amount,Jumlah yang dibayar,
Paid Amount cannot be greater than total negative outstanding amount {0},Jumlah yang dibayar tidak boleh lebih besar daripada jumlah terkumpul negatif {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Amaun yang dibayar + Tulis Off Jumlah tidak boleh lebih besar daripada Jumlah Besar,
Paid and Not Delivered,Dibayar dan Tidak Dihantar,
Parameter,Parameter,
Parent Item {0} must not be a Stock Item,Ibu Bapa Perkara {0} tidak perlu menjadi item Saham,
Parents Teacher Meeting Attendance,Kehadiran Mesyuarat Guru Ibu Bapa,
Part-time,Sambilan,
Partially Depreciated,sebahagiannya telah disusutnilai,
Partially Received,Sebahagiannya Diterima,
Party,Parti,
Party Name,Nama pihak,
Party Type,Jenis Parti,
Party Type and Party is mandatory for {0} account,Jenis Parti dan Pihak wajib untuk {0} akaun,
Party Type is mandatory,Jenis Parti adalah wajib,
Party is mandatory,Parti adalah wajib,
Password,Kata laluan,
Password policy for Salary Slips is not set,Dasar kata laluan untuk Slip Gaji tidak ditetapkan,
Past Due Date,Tarikh Tamat Tempoh,
Patient,Pesakit,
Patient Appointment,Pelantikan Pesakit,
Patient Encounter,Pertemuan Pesakit,
Patient not found,Pesakit tidak dijumpai,
Pay Remaining,Bayar Baki,
Pay {0} {1},Bayar {0} {1},
Payable,Kena dibayar,
Payable Account,Akaun Belum Bayar,
Payable Amount,Jumlah yang Dibayar,
Payment,Pembayaran,
Payment Cancelled. Please check your GoCardless Account for more details,Pembayaran Dibatalkan. Sila semak Akaun GoCardless anda untuk maklumat lanjut,
Payment Confirmation,Pengesahan pembayaran,
Payment Date,Tarikh pembayaran,
Payment Days,Hari Pembayaran,
Payment Document,Dokumen Pembayaran,
Payment Due Date,Tarikh Pembayaran,
Payment Entries {0} are un-linked,Penyertaan Pembayaran {0} adalah un berkaitan,
Payment Entry,Kemasukan pembayaran,
Payment Entry already exists,Kemasukan bayaran yang sudah wujud,
Payment Entry has been modified after you pulled it. Please pull it again.,Entry pembayaran telah diubah suai selepas anda ditarik. Sila tarik lagi.,
Payment Entry is already created,Kemasukan bayaran telah membuat,
Payment Failed. Please check your GoCardless Account for more details,Pembayaran gagal. Sila semak Akaun GoCardless anda untuk maklumat lanjut,
Payment Gateway,Gateway Pembayaran,
"Payment Gateway Account not created, please create one manually.","Pembayaran Akaun Gateway tidak diciptakan, sila buat secara manual.",
Payment Gateway Name,Nama Gateway Pembayaran,
Payment Mode,Cara Pembayaran,
Payment Receipt Note,Pembayaran Penerimaan Nota,
Payment Request,Permintaan bayaran,
Payment Request for {0},Permintaan Pembayaran untuk {0},
Payment Tems,Bayaran Tem,
Payment Term,Tempoh bayaran,
Payment Terms,Terma pembayaran,
Payment Terms Template,Templat Terma Pembayaran,
Payment Terms based on conditions,Terma pembayaran berdasarkan syarat,
Payment Type,Jenis pembayaran,
"Payment Type must be one of Receive, Pay and Internal Transfer","Jenis bayaran mesti menjadi salah satu Menerima, Bayar dan Pindahan Dalaman",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Bayaran terhadap {0} {1} tidak boleh lebih besar daripada Outstanding Jumlah {2},
Payment of {0} from {1} to {2},Pembayaran {0} dari {1} ke {2},
Payment request {0} created,Permintaan pembayaran {0} dibuat,
Payments,Pembayaran,
Payroll,Payroll,
Payroll Number,Nombor Gaji,
Payroll Payable,gaji Dibayar,
Payslip,Slip gaji,
Pending Activities,Sementara menunggu Aktiviti,
Pending Amount,Sementara menunggu Jumlah,
Pending Leaves,Meninggalkan Daun,
Pending Qty,Menunggu Kuantiti,
Pending Quantity,Kuantiti Menunggu,
Pending Review,Sementara menunggu Review,
Pending activities for today,Sementara menunggu aktiviti untuk hari ini,
Pension Funds,Dana Pencen,
Percentage Allocation should be equal to 100%,Peratus Peruntukan hendaklah sama dengan 100%,
Perception Analysis,Analisis Persepsi,
Period,Tempoh,
Period Closing Entry,Kemasukan Tempoh Penutup,
Period Closing Voucher,Tempoh Baucer Tutup,
Periodicity,Jangka masa,
Personal Details,Maklumat peribadi,
Pharmaceutical,Farmasi,
Pharmaceuticals,Pharmaceuticals,
Physician,Pakar Perubatan,
Piecework,Piecework,
Pincode,Pincode,
Place Of Supply (State/UT),Place Of Supply (Negeri / UT),
Place Order,Meletakkan pesanan,
Plan Name,Nama Rancang,
Plan for maintenance visits.,Rancangan untuk lawatan penyelenggaraan.,
Planned Qty,Dirancang Kuantiti,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Dirancang Qty: Kuantiti, yang mana, Perintah Kerja telah dinaikkan, tetapi belum selesai dibuat.",
Planning,Perancangan,
Plants and Machineries,Tumbuhan dan Jentera,
Please Set Supplier Group in Buying Settings.,Sila Tetapkan Kumpulan Pembekal dalam Tetapan Beli.,
Please add a Temporary Opening account in Chart of Accounts,Sila tambah akaun Pembukaan Sementara dalam Carta Akaun,
Please add the account to root level Company - ,Sila tambah akaun ke peringkat akar umbi Syarikat -,
Please add the remaining benefits {0} to any of the existing component,Sila tambahkan faedah yang tinggal {0} kepada mana-mana komponen sedia ada,
Please check Multi Currency option to allow accounts with other currency,Sila semak pilihan mata Multi untuk membolehkan akaun dengan mata wang lain,
Please click on 'Generate Schedule',Sila klik pada &#39;Menjana Jadual&#39;,
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Sila klik pada &#39;Menjana Jadual&#39; mengambil No Serial ditambah untuk Perkara {0},
Please click on 'Generate Schedule' to get schedule,Sila klik pada &#39;Menjana Jadual&#39; untuk mendapatkan jadual,
Please confirm once you have completed your training,Sila sahkan setelah anda menyelesaikan latihan anda,
Please create purchase receipt or purchase invoice for the item {0},Sila buat resit pembelian atau pembelian invois untuk item {0},
Please define grade for Threshold 0%,Sila menentukan gred bagi Ambang 0%,
Please enable Applicable on Booking Actual Expenses,Sila aktifkan Berlaku pada Tempahan Perbelanjaan Sebenar,
Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Sila aktifkan Berkenaan pada Pesanan Pembelian dan Terlibat pada Perbelanjaan Sebenar Tempahan,
Please enable default incoming account before creating Daily Work Summary Group,Sila aktifkan akaun masuk lalai sebelum membuat Kumpulan Ringkasan Kerja Harian,
Please enable pop-ups,Sila membolehkan pop-up,
Please enter 'Is Subcontracted' as Yes or No,Sila masukkan &#39;Apakah Subkontrak&#39; seperti Ya atau Tidak,
Please enter API Consumer Key,Sila masukkan Kunci Pengguna API,
Please enter API Consumer Secret,Sila masukkan Rahsia Pengguna API,
Please enter Account for Change Amount,Sila masukkan Akaun untuk Perubahan Jumlah,
Please enter Approving Role or Approving User,Sila masukkan Meluluskan Peranan atau Meluluskan pengguna,
Please enter Cost Center,Sila masukkan PTJ,
Please enter Delivery Date,Sila masukkan Tarikh Penghantaran,
Please enter Employee Id of this sales person,Sila masukkan ID Pekerja orang jualan ini,
Please enter Expense Account,Sila masukkan Akaun Perbelanjaan,
Please enter Item Code to get Batch Number,Sila masukkan Kod Item untuk mendapatkan Nombor kumpulan,
Please enter Item Code to get batch no,Sila masukkan Kod Item untuk mendapatkan kumpulan tidak,
Please enter Item first,Sila masukkan Perkara pertama,
Please enter Maintaince Details first,Sila masukkan Maintaince Butiran pertama,
Please enter Planned Qty for Item {0} at row {1},Sila masukkan Dirancang Kuantiti untuk Perkara {0} di barisan {1},
Please enter Preferred Contact Email,Sila masukkan Preferred hubungan Email,
Please enter Production Item first,Sila masukkan Pengeluaran Perkara pertama,
Please enter Purchase Receipt first,Sila masukkan Resit Pembelian pertama,
Please enter Receipt Document,Sila masukkan Dokumen Resit,
Please enter Reference date,Sila masukkan tarikh rujukan,
Please enter Repayment Periods,Sila masukkan Tempoh Bayaran Balik,
Please enter Reqd by Date,Sila masukkan Reqd mengikut Tarikh,
Please enter Woocommerce Server URL,Sila masukkan URL Pelayan Woocommerce,
Please enter Write Off Account,Sila masukkan Tulis Off Akaun,
Please enter atleast 1 invoice in the table,Sila masukkan atleast 1 invois dalam jadual di,
Please enter company first,Sila masukkan syarikat pertama,
Please enter company name first,Sila masukkan nama syarikat pertama,
Please enter default currency in Company Master,Sila masukkan mata wang lalai dalam Syarikat Induk,
Please enter message before sending,Sila masukkan mesej sebelum menghantar,
Please enter parent cost center,Sila masukkan induk pusat kos,
Please enter quantity for Item {0},Sila masukkan kuantiti untuk Perkara {0},
Please enter relieving date.,Sila masukkan tarikh melegakan.,
Please enter repayment Amount,Sila masukkan jumlah pembayaran balik,
Please enter valid Financial Year Start and End Dates,Sila masukkan tahun kewangan yang sah Mula dan Tarikh Akhir,
Please enter valid email address,Sila masukkan alamat emel yang sah,
Please enter {0} first,Sila masukkan {0} pertama,
Please fill in all the details to generate Assessment Result.,Sila isi semua maklumat untuk menghasilkan Keputusan Penilaian.,
Please identify/create Account (Group) for type - {0},Sila kenal pasti / buat Akaun (Kumpulan) untuk jenis - {0},
Please identify/create Account (Ledger) for type - {0},Sila kenalpasti / buat Akaun (Lejar) untuk jenis - {0},
Please login as another user to register on Marketplace,Sila log masuk sebagai pengguna lain untuk mendaftar di Marketplace,
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.,Sila pastikan anda benar-benar ingin memadam semua urus niaga bagi syarikat ini. Data induk anda akan kekal kerana ia adalah. Tindakan ini tidak boleh dibuat asal.,
Please mention Basic and HRA component in Company,Sila nyatakan komponen Asas dan HRA di Syarikat,
Please mention Round Off Account in Company,Sila menyebut Akaun Off Pusingan dalam Syarikat,
Please mention Round Off Cost Center in Company,Sila menyebut Round Off PTJ dalam Syarikat,
Please mention no of visits required,Sila menyebut ada lawatan diperlukan,
Please mention the Lead Name in Lead {0},Sila nyatakan Nama Utama di Lead {0},
Please pull items from Delivery Note,Sila tarik item daripada Nota Penghantaran,
Please register the SIREN number in the company information file,Sila daftar nombor SIREN dalam fail maklumat syarikat,
Please remove this Invoice {0} from C-Form {1},Sila mengeluarkan Invois ini {0} dari C-Borang {1},
Please save the patient first,Sila simpan pesakit terlebih dahulu,
Please save the report again to rebuild or update,Sila simpan laporan sekali lagi untuk membina semula atau kemas kini,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Sila pilih Jumlah Diperuntukkan, Jenis Invois dan Nombor Invois dalam atleast satu baris",
Please select Apply Discount On,Sila pilih Memohon Diskaun Pada,
Please select BOM against item {0},Sila pilih BOM terhadap item {0},
Please select BOM for Item in Row {0},Sila pilih BOM untuk Item dalam Row {0},
Please select BOM in BOM field for Item {0},Sila pilih BOM dalam bidang BOM untuk Perkara {0},
Please select Category first,Sila pilih Kategori pertama,
Please select Charge Type first,Sila pilih Jenis Caj pertama,
Please select Company,Sila pilih Syarikat,
Please select Company and Designation,Sila pilih Syarikat dan Jawatan,
Please select Company and Party Type first,Sila pilih Syarikat dan Parti Jenis pertama,
Please select Company and Posting Date to getting entries,Sila pilih Syarikat dan Tarikh Penghantaran untuk mendapatkan entri,
Please select Company first,Sila pilih Syarikat pertama,
Please select Completion Date for Completed Asset Maintenance Log,Sila pilih Tarikh Siap untuk Log Penyelenggaraan Aset Selesai,
Please select Completion Date for Completed Repair,Sila pilih Tarikh Siap untuk Pembaikan yang Siap,
Please select Course,Sila pilih Course,
Please select Drug,Sila pilih Dadah,
Please select Employee,Sila pilih Pekerja,
Please select Existing Company for creating Chart of Accounts,Sila pilih Syarikat Sedia Ada untuk mewujudkan Carta Akaun,
Please select Healthcare Service,Sila pilih Perkhidmatan Penjagaan Kesihatan,
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle",Sila pilih Item mana &quot;Apakah Saham Perkara&quot; adalah &quot;Tidak&quot; dan &quot;Adakah Item Jualan&quot; adalah &quot;Ya&quot; dan tidak ada Bundle Produk lain,
Please select Maintenance Status as Completed or remove Completion Date,Sila pilih Status Penyelenggaraan sebagai Selesai atau keluarkan Tarikh Selesai,
Please select Party Type first,Sila pilih Jenis Parti pertama,
Please select Patient,Sila pilih Pesakit,
Please select Patient to get Lab Tests,Sila pilih Pesakit untuk mendapatkan Ujian Makmal,
Please select Posting Date before selecting Party,Sila pilih Tarikh Pengeposan sebelum memilih Parti,
Please select Posting Date first,Sila pilih Penempatan Tarikh pertama,
Please select Price List,Sila pilih Senarai Harga,
Please select Program,Sila pilih Program,
Please select Qty against item {0},Sila pilih Qty terhadap item {0},
Please select Sample Retention Warehouse in Stock Settings first,Sila pilih Gudang Retensi Contoh dalam Tetapan Stok dahulu,
Please select Start Date and End Date for Item {0},Sila pilih Mula Tarikh dan Tarikh Akhir untuk Perkara {0},
Please select Student Admission which is mandatory for the paid student applicant,Sila pilih Kemasukan Pelajar yang wajib bagi pemohon pelajar berbayar,
Please select a BOM,Sila pilih BOM,
Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Sila pilih Batch untuk Item {0}. Tidak dapat mencari kumpulan tunggal yang memenuhi keperluan ini,
Please select a Company,Sila pilih sebuah Syarikat,
Please select a batch,Sila pilih satu kelompok,
Please select a csv file,Sila pilih fail csv,
Please select a field to edit from numpad,Sila pilih medan untuk mengedit dari numpad,
Please select a table,Sila pilih jadual,
Please select a valid Date,Sila pilih Tarikh yang sah,
Please select a value for {0} quotation_to {1},Sila pilih nilai untuk {0} quotation_to {1},
Please select a warehouse,Sila pilih gudang,
Please select at least one domain.,Sila pilih sekurang-kurangnya satu domain.,
Please select correct account,Sila pilih akaun yang betul,
Please select date,Sila pilih tarikh,
Please select item code,Sila pilih kod item,
Please select month and year,Sila pilih bulan dan tahun,
Please select prefix first,Sila pilih awalan pertama,
Please select the Company,Sila pilih Syarikat,
Please select the Multiple Tier Program type for more than one collection rules.,Sila pilih jenis Program Pelbagai Tier untuk lebih daripada satu peraturan pengumpulan.,
Please select the assessment group other than 'All Assessment Groups',Sila pilih kumpulan penilaian selain daripada &#39;Semua Kumpulan Penilaian&#39;,
Please select the document type first,Sila pilih jenis dokumen pertama,
Please select weekly off day,Sila pilih hari cuti mingguan,
Please select {0},Sila pilih {0},
Please select {0} first,Sila pilih {0} pertama,
Please set 'Apply Additional Discount On',Sila menetapkan &#39;Guna Diskaun tambahan On&#39;,
Please set 'Asset Depreciation Cost Center' in Company {0},Sila set &#39;Asset Susutnilai Kos Center&#39; dalam Syarikat {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Sila menetapkan &#39;Akaun / Kerugian Keuntungan Pelupusan Aset&#39; dalam Syarikat {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Sila tetapkan Akaun dalam Gudang {0} atau Akaun Inventori Lalai di Syarikat {1},
Please set B2C Limit in GST Settings.,Sila tetapkan Had B2C dalam Tetapan GST.,
Please set Company,Sila tetapkan Syarikat,
Please set Company filter blank if Group By is 'Company',Sila tetapkan Syarikat menapis kosong jika Group By adalah &#39;Syarikat&#39;,
Please set Default Payroll Payable Account in Company {0},Sila menetapkan Payroll Akaun Belum Bayar Lalai dalam Syarikat {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Sila menetapkan Akaun berkaitan Susutnilai dalam Kategori Asset {0} atau Syarikat {1},
Please set Email Address,Sila menetapkan Alamat E-mel,
Please set GST Accounts in GST Settings,Sila tetapkan Akaun GST dalam Tetapan CBP,
Please set Hotel Room Rate on {},Sila tetapkan Kadar Bilik Hotel pada {},
Please set Number of Depreciations Booked,Sila menetapkan Bilangan penurunan nilai Ditempah,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Sila tetapkan Akaun Keuntungan / Kerugian Pertukaran di Perusahaan {0},
Please set User ID field in an Employee record to set Employee Role,Sila tetapkan ID Pengguna medan dalam rekod Pekerja untuk menetapkan Peranan Pekerja,
Please set a default Holiday List for Employee {0} or Company {1},Sila menetapkan lalai Senarai Holiday untuk pekerja {0} atau Syarikat {1},
Please set account in Warehouse {0},Sila tentukan akaun dalam Gudang {0},
Please set an active menu for Restaurant {0},Sila tetapkan menu aktif untuk Restoran {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Sila tetapkan akaun yang berkaitan dalam Kategori Pegangan Cukai {0} terhadap Syarikat {1},
Please set at least one row in the Taxes and Charges Table,Sila tetapkan sekurang-kurangnya satu baris dalam Jadual Cukai dan Caj,
Please set default Cash or Bank account in Mode of Payment {0},Sila tetapkan lalai Tunai atau akaun Bank dalam Mod Bayaran {0},
Please set default account in Salary Component {0},Sila menetapkan akaun lalai dalam Komponen Gaji {0},
Please set default customer in Restaurant Settings,Sila tetapkan pelanggan lalai dalam Tetapan Restoran,
Please set default template for Leave Approval Notification in HR Settings.,Sila tetapkan templat lalai untuk Pemberitahuan Kelulusan Cuti dalam Tetapan HR.,
Please set default template for Leave Status Notification in HR Settings.,Sila tetapkan templat lalai untuk Pemberitahuan Status Pemberitahuan dalam Tetapan HR.,
Please set default {0} in Company {1},Sila menetapkan lalai {0} dalam Syarikat {1},
Please set filter based on Item or Warehouse,Sila menetapkan penapis di Perkara atau Warehouse,
Please set leave policy for employee {0} in Employee / Grade record,Sila tetapkan dasar cuti untuk pekerja {0} dalam rekod Pekerja / Gred,
Please set recurring after saving,Sila menetapkan berulang selepas menyimpan,
Please set the Company,Sila tetapkan Syarikat,
Please set the Customer Address,Sila tetapkan Alamat Pelanggan,
Please set the Date Of Joining for employee {0},Sila menetapkan Tarikh Of Menyertai untuk pekerja {0},
Please set the Default Cost Center in {0} company.,Sila tetapkan Pusat Kos Lalai dalam {0} syarikat.,
Please set the Email ID for the Student to send the Payment Request,Sila tetapkan ID E-mel untuk Pelajar untuk menghantar Permintaan Pembayaran,
Please set the Item Code first,Sila nyatakan Kod Item terlebih dahulu,
Please set the Payment Schedule,Sila tetapkan Jadual Pembayaran,
Please set the series to be used.,Sila tetapkan siri ini untuk digunakan.,
Please set {0} for address {1},Sila tetapkan {0} untuk alamat {1},
Please setup Students under Student Groups,Sila persediaan Pelajar di bawah Kumpulan Pelajar,
Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',Sila maklumkan maklum balas anda ke latihan dengan mengklik &#39;Maklum Balas Latihan&#39; dan kemudian &#39;Baru&#39;,
Please specify Company,Sila nyatakan Syarikat,
Please specify Company to proceed,Sila nyatakan Syarikat untuk meneruskan,
Please specify a valid 'From Case No.',Sila nyatakan yang sah Dari Perkara No. &#39;,
Please specify a valid Row ID for row {0} in table {1},Sila nyatakan ID Row sah untuk barisan {0} dalam jadual {1},
Please specify at least one attribute in the Attributes table,Sila nyatakan sekurang-kurangnya satu atribut dalam jadual Atribut,
Please specify currency in Company,Sila nyatakan mata wang dalam Syarikat,
Please specify either Quantity or Valuation Rate or both,Sila nyatakan sama ada atau Kuantiti Kadar Nilaian atau kedua-duanya,
Please specify from/to range,Sila nyatakan dari / ke berkisar,
Please supply the specified items at the best possible rates,Sila membekalkan barangan tertentu pada kadar terbaik mungkin,
Please update your status for this training event,Sila kemas kini status anda untuk acara latihan ini,
Please wait 3 days before resending the reminder.,Sila tunggu 3 hari sebelum mengingatkan peringatan.,
Point of Sale,Tempat jualan,
Point-of-Sale,Tempat jualan,
Point-of-Sale Profile,Point-of-Sale Profil,
Portal,Portal,
Portal Settings,Tetapan Portal,
Possible Supplier,Pembekal mungkin,
Postal Expenses,Perbelanjaan Pos,
Posting Date,Penempatan Tarikh,
Posting Date cannot be future date,Posting Tarikh tidak boleh tarikh masa depan,
Posting Time,Penempatan Masa,
Posting date and posting time is mandatory,Menghantar tarikh dan masa untuk menghantar adalah wajib,
Posting timestamp must be after {0},Penempatan tanda waktu mesti selepas {0},
Potential opportunities for selling.,Peluang yang berpotensi untuk jualan.,
Practitioner Schedule,Jadual Pengamal,
Pre Sales,Jualan pra,
Preference,Pilihan,
Prescribed Procedures,Prosedur yang Ditetapkan,
Prescription,Preskripsi,
Prescription Dosage,Dosis Preskripsi,
Prescription Duration,Durasi Preskripsi,
Prescriptions,Resipi,
Present,Hadir,
Prev,terdahulu,
Preview,Preview,
Preview Salary Slip,Preview Slip Gaji,
Previous Financial Year is not closed,Sebelum Tahun Kewangan tidak ditutup,
Price,Harga,
Price List,Senarai harga,
Price List Currency not selected,Senarai Harga Mata Wang tidak dipilih,
Price List Rate,Senarai Harga Kadar,
Price List master.,Senarai Harga induk.,
Price List must be applicable for Buying or Selling,Senarai Harga mesti pakai untuk Membeli atau Menjual,
Price List {0} is disabled or does not exist,Senarai harga {0} dilumpuhkan atau tidak wujud,
Price or product discount slabs are required,Slab potongan harga atau produk diperlukan,
Pricing,Harga,
Pricing Rule,Peraturan Harga,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Peraturan harga mula-mula dipilih berdasarkan &#39;Guna Mengenai&#39; bidang, yang boleh menjadi Perkara, Perkara Kumpulan atau Jenama.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Peraturan Harga dibuat untuk menulis ganti Senarai Harga / menentukan peratusan diskaun, berdasarkan beberapa kriteria.",
Pricing Rule {0} is updated,Peraturan Harga {0} dikemas kini,
Pricing Rules are further filtered based on quantity.,Peraturan harga yang lagi ditapis berdasarkan kuantiti.,
Primary Address Details,Butiran Alamat Utama,
Primary Contact Details,Butiran Hubungan Utama,
Principal Amount,Jumlah Prinsipal,
Print Format,Format cetak,
Print IRS 1099 Forms,Cetak Borang IRS 1099,
Print Report Card,Cetak Kad Laporan,
Print Settings,Tetapan cetak,
Print and Stationery,Cetak dan Alat Tulis,
Print settings updated in respective print format,tetapan cetak dikemaskini dalam format cetak masing,
Print taxes with zero amount,Cetak cukai dengan jumlah sifar,
Printing and Branding,Percetakan dan Penjenamaan,
Private Equity,Ekuiti Persendirian,
Privilege Leave,Privilege Cuti,
Probation,Percubaan,
Probationary Period,Tempoh percubaan,
Procedure,Prosedur,
Process Day Book Data,Data Buku Hari Proses,
Process Master Data,Proses Master Data,
Processing Chart of Accounts and Parties,Pemprosesan Carta Akaun dan Pihak,
Processing Items and UOMs,Item Pemprosesan dan UOM,
Processing Party Addresses,Memproses Alamat Pesta,
Processing Vouchers,Baucer Pemprosesan,
Procurement,Perolehan,
Produced Qty,Dikenali Qty,
Product,Produk,
Product Bundle,Bundle Produk,
Product Search,Cari produk,
Production,Pengeluaran,
Production Item,Pengeluaran Item,
Products,Produk,
Profit and Loss,Untung dan rugi,
Profit for the year,Keuntungan untuk tahun ini,
Program,Program,
Program in the Fee Structure and Student Group {0} are different.,Program dalam Struktur Yuran dan Kumpulan Pelajar {0} adalah berbeza.,
Program {0} does not exist.,Program {0} tidak wujud.,
Program: ,Program:,
Progress % for a task cannot be more than 100.,Kemajuan% untuk tugas yang tidak boleh lebih daripada 100.,
Project Collaboration Invitation,Projek Kerjasama Jemputan,
Project Id,Id Projek,
Project Manager,Pengurus projek,
Project Name,Nama Projek,
Project Start Date,Projek Tarikh Mula,
Project Status,Status Projek,
Project Summary for {0},Ringkasan Projek untuk {0},
Project Update.,Kemas kini Projek.,
Project Value,Nilai Projek,
Project activity / task.,Aktiviti projek / tugasan.,
Project master.,Induk projek.,
Project-wise data is not available for Quotation,Data projek-bijak tidak tersedia untuk Sebutharga,
Projected,Unjuran,
Projected Qty,Dijangka Qty,
Projected Quantity Formula,Formula Kuantiti Projek,
Projects,Projek,
Property,Harta,
Property already added,Harta sudah ditambah,
Proposal Writing,Penulisan Cadangan,
Proposal/Price Quote,Cadangan Cadangan / Harga,
Prospecting,Prospek,
Provisional Profit / Loss (Credit),Sementara Untung / Rugi (Kredit),
Publications,Penerbitan,
Publish Items on Website,Terbitkan Item dalam Laman Web,
Published,Diterbitkan,
Publishing,Penerbitan,
Purchase,Pembelian,
Purchase Amount,Jumlah Pembelian,
Purchase Date,Tarikh Pembelian,
Purchase Invoice,Invois Belian,
Purchase Invoice {0} is already submitted,Membeli Invois {0} telah dikemukakan,
Purchase Manager,Pembelian Pengurus,
Purchase Master Manager,Pembelian Master Pengurus,
Purchase Order,Pesanan Pembelian,
Purchase Order Amount,Jumlah Pesanan Pembelian,
Purchase Order Amount(Company Currency),Jumlah Pesanan Pembelian (Mata Wang Syarikat),
Purchase Order Date,Tarikh Pesanan Pembelian,
Purchase Order Items not received on time,Item Pesanan Pembelian tidak diterima mengikut masa,
Purchase Order number required for Item {0},Membeli nombor Perintah diperlukan untuk Perkara {0},
Purchase Order to Payment,Membeli Perintah untuk Pembayaran,
Purchase Order {0} is not submitted,Pesanan Pembelian {0} tidak dikemukakan,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Pesanan Pembelian tidak dibenarkan untuk {0} disebabkan kedudukan kad skor {1}.,
Purchase Orders given to Suppliers.,Pesanan pembelian diberikan kepada Pembekal.,
Purchase Price List,Pembelian Senarai Harga,
Purchase Receipt,Resit Pembelian,
Purchase Receipt {0} is not submitted,Pembelian Resit {0} tidak dikemukakan,
Purchase Tax Template,Membeli Template Cukai,
Purchase User,Pembelian Pengguna,
Purchase orders help you plan and follow up on your purchases,pesanan pembelian membantu anda merancang dan mengambil tindakan susulan ke atas pembelian anda,
Purchasing,Membeli,
Purpose must be one of {0},Tujuan mestilah salah seorang daripada {0},
Qty,Qty,
Qty To Manufacture,Qty Untuk Pembuatan,
Qty Total,Jumlah Qty,
Qty for {0},Qty untuk {0},
Qualification,Kelayakan,
Quality,Kualiti,
Quality Action,Tindakan Kualiti,
Quality Goal.,Matlamat Kualiti.,
Quality Inspection,Pemeriksaan Kualiti,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Pemeriksaan Kualiti: {0} tidak diserahkan untuk item: {1} dalam baris {2},
Quality Management,Pengurusan kualiti,
Quality Meeting,Mesyuarat Berkualiti,
Quality Procedure,Prosedur Kualiti,
Quality Procedure.,Prosedur Kualiti.,
Quality Review,Kajian Kualiti,
Quantity,Kuantiti,
Quantity for Item {0} must be less than {1},Kuantiti untuk Perkara {0} mesti kurang daripada {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Kuantiti berturut-turut {0} ({1}) mestilah sama dengan kuantiti yang dikeluarkan {2},
Quantity must be less than or equal to {0},Kuantiti mesti kurang daripada atau sama dengan {0},
Quantity must not be more than {0},Kuantiti mestilah tidak lebih daripada {0},
Quantity required for Item {0} in row {1},Kuantiti yang diperlukan untuk Perkara {0} berturut-turut {1},
Quantity should be greater than 0,Kuantiti harus lebih besar daripada 0,
Quantity to Make,Kuantiti Membuat,
Quantity to Manufacture must be greater than 0.,Kuantiti untuk pembuatan mesti lebih besar daripada 0.,
Quantity to Produce,Kuantiti untuk Menghasilkan,
Quantity to Produce can not be less than Zero,Kuantiti untuk Menghasilkan tidak boleh kurang daripada Sifar,
Query Options,Pertanyaan Pilihan,
Queued for replacing the BOM. It may take a few minutes.,Beratur untuk menggantikan BOM. Ia mungkin mengambil masa beberapa minit.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,Beratur untuk mengemaskini harga terkini dalam semua Rang Undang-Undang Bahan. Ia mungkin mengambil masa beberapa minit.,
Quick Journal Entry,Pantas Journal Kemasukan,
Quot Count,quot Count,
Quot/Lead %,Quot / Lead%,
Quotation,Sebut Harga,
Quotation {0} is cancelled,Sebut Harga {0} dibatalkan,
Quotation {0} not of type {1},Sebut Harga {0} bukan jenis {1},
Quotations,Sebut Harga,
"Quotations are proposals, bids you have sent to your customers","Sebutharga cadangan, bida yang telah anda hantar kepada pelanggan anda",
Quotations received from Suppliers.,Sebut Harga yang diterima daripada Pembekal.,
Quotations: ,Sebutharga:,
Quotes to Leads or Customers.,Petikan untuk Leads atau Pelanggan.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ tidak dibenarkan untuk {0} kerana kedudukan kad skor {1},
Range,Pelbagai,
Rate,Kadar,
Rate:,Kadar:,
Rating,Rating,
Raw Material,Bahan mentah,
Raw Materials,Bahan mentah,
Raw Materials cannot be blank.,Bahan mentah tidak boleh kosong.,
Re-open,Buka semula,
Read blog,Baca blog,
Read the ERPNext Manual,Baca Manual ERPNext yang,
Reading Uploaded File,Membaca Fail yang Dimuat naik,
Real Estate,Harta Tanah,
Reason For Putting On Hold,Sebab Untuk Meletakkan Pegang,
Reason for Hold,Alasan untuk Pegang,
Reason for hold: ,Sebab untuk ditahan:,
Receipt,Resit,
Receipt document must be submitted,dokumen Resit hendaklah dikemukakan,
Receivable,Belum Terima,
Receivable Account,Akaun Belum Terima,
Received,Diterima,
Received On,Diterima Dalam,
Received Quantity,Kuantiti yang Diterima,
Received Stock Entries,Menerima Entri Saham,
Receiver List is empty. Please create Receiver List,Penerima Senarai kosong. Sila buat Penerima Senarai,
Recipients,Penerima,
Reconcile,Mendamaikan,
"Record of all communications of type email, phone, chat, visit, etc.","Rekod semua komunikasi e-mel jenis, telefon, chat, keindahan, dan lain-lain",
Records,Rekod,
Redirect URL,redirect URL,
Ref,Ref,
Ref Date,Ref Tarikh,
Reference,Rujukan,
Reference #{0} dated {1},Rujukan # {0} bertarikh {1},
Reference Date,Tarikh Rujukan,
Reference Doctype must be one of {0},Rujukan DOCTYPE mesti menjadi salah satu {0},
Reference Document,Dokumen rujukan,
Reference Document Type,Rujukan Jenis Dokumen,
Reference No & Reference Date is required for {0},Rujukan &amp; Tarikh Rujukan diperlukan untuk {0},
Reference No and Reference Date is mandatory for Bank transaction,Rujukan dan Tarikh Rujukan adalah wajib untuk transaksi Bank,
Reference No is mandatory if you entered Reference Date,Rujukan adalah wajib jika anda masukkan Tarikh Rujukan,
Reference No.,No rujukan.,
Reference Number,Nombor rujukan,
Reference Owner,rujukan Owner,
Reference Type,Jenis Rujukan,
"Reference: {0}, Item Code: {1} and Customer: {2}","Rujukan: {0}, Kod Item: {1} dan Pelanggan: {2}",
References,Rujukan,
Refresh Token,Refresh Token,
Region,Wilayah,
Register,Daftar,
Reject,Tolak,
Rejected,Ditolak,
Related,Berkaitan,
Relation with Guardian1,Berhubung dengan Guardian1,
Relation with Guardian2,Berhubung dengan Guardian2,
Release Date,Tarikh Siaran,
Reload Linked Analysis,Muat semula Analisis Berkaitan,
Remaining,Baki,
Remaining Balance,Baki yang tinggal,
Remarks,Catatan,
Reminder to update GSTIN Sent,Peringatan untuk mengemas kini GSTIN Dihantar,
Remove item if charges is not applicable to that item,Buang item jika caj tidak berkenaan dengan perkara yang,
Removed items with no change in quantity or value.,Barangan dikeluarkan dengan tiada perubahan dalam kuantiti atau nilai.,
Reopen,Buka semula,
Reorder Level,Pesanan semula Level,
Reorder Qty,Pesanan semula Qty,
Repeat Customer Revenue,Ulang Hasil Pelanggan,
Repeat Customers,Ulang Pelanggan,
Replace BOM and update latest price in all BOMs,Gantikan BOM dan kemaskini harga terbaru dalam semua BOM,
Replied,Menjawab,
Replies,Balasan,
Report,Laporan,
Report Builder,Laporan Builder,
Report Type,Jenis Laporan,
Report Type is mandatory,Jenis Laporan adalah wajib,
Reports,laporan,
Reqd By Date,Reqd Tarikh,
Reqd Qty,Reqd Qty,
Request for Quotation,Permintaan untuk sebut harga,
Request for Quotations,Tawaran Sebut Harga,
Request for Raw Materials,Permintaan Bahan Baku,
Request for purchase.,Meminta untuk pembelian.,
Request for quotation.,Permintaan untuk sebut harga.,
Requested Qty,Diminta Qty,
"Requested Qty: Quantity requested for purchase, but not ordered.","Diminta Qty: Kuantiti yang diminta untuk pembelian, tetapi tidak diperintahkan.",
Requesting Site,Meminta Tapak,
Requesting payment against {0} {1} for amount {2},Meminta pembayaran daripada {0} {1} untuk jumlah {2},
Requestor,Peminta,
Required On,Diperlukan Pada,
Required Qty,Diperlukan Qty,
Required Quantity,Kuantiti yang Diperlukan,
Reschedule,Reschedule,
Research,Penyelidikan,
Research & Development,Penyelidikan &amp; Pembangunan,
Researcher,Penyelidik,
Resend Payment Email,Hantar semula Pembayaran E-mel,
Reserve Warehouse,Warehouse Reserve,
Reserved Qty,Terpelihara Qty,
Reserved Qty for Production,Cipta Terpelihara Kuantiti untuk Pengeluaran,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Dicadangkan Qty untuk Pengeluaran: Kuantiti bahan mentah untuk membuat barangan perkilangan.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Dicadangkan Qty: Kuantiti yang dipesan untuk dijual, tetapi tidak dihantar.",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Gudang Reserved adalah wajib untuk Item {0} dalam Bahan Baku yang dibekalkan,
Reserved for manufacturing,Dikhaskan untuk pembuatan,
Reserved for sale,Dikhaskan untuk dijual,
Reserved for sub contracting,Dikhaskan untuk sub contracting,
Resistant,Tahan,
Resolve error and upload again.,Selesaikan kesilapan dan muat naik lagi.,
Responsibilities,Tanggungjawab,
Rest Of The World,Rest Of The World,
Restart Subscription,Restart Langganan,
Restaurant,Restoran,
Result Date,Tarikh keputusan,
Result already Submitted,Keputusan sudah Dihantar,
Resume,Teruskan,
Retail,Runcit,
Retail & Wholesale,Runcit &amp; Borong,
Retail Operations,Operasi Runcit,
Retained Earnings,Pendapatan tertahan,
Retention Stock Entry,Penyimpanan Stok Penyimpanan,
Retention Stock Entry already created or Sample Quantity not provided,Kemasukan Saham Penyimpanan yang telah dibuat atau Kuantiti Sampel yang tidak disediakan,
Return,Pulangan,
Return / Credit Note,Pulangan / Nota Kredit,
Return / Debit Note,Pulangan / Nota Debit,
Returns,Pulangan,
Reverse Journal Entry,Kemasukan Jurnal Terbalik,
Review Invitation Sent,Semak Jemputan Dihantar,
Review and Action,Kajian dan Tindakan,
Role,Peranan,
Rooms Booked,Bilik yang dipesan,
Root Company,Syarikat Root,
Root Type,Jenis akar,
Root Type is mandatory,Jenis akar adalah wajib,
Root cannot be edited.,Akar tidak boleh diedit.,
Root cannot have a parent cost center,Akar tidak boleh mempunyai pusat kos ibu bapa,
Round Off,Bundarkan,
Rounded Total,Bulat Jumlah,
Route,Route,
Row # {0}: ,Row # {0}:,
Row # {0}: Batch No must be same as {1} {2},Row # {0}: Batch No mestilah sama dengan {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: Tidak boleh kembali lebih daripada {1} untuk Perkara {2},
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Row # {0}: Kadar tidak boleh lebih besar daripada kadar yang digunakan dalam {1} {2},
Row # {0}: Serial No is mandatory,Row # {0}: Tiada Serial adalah wajib,
Row # {0}: Serial No {1} does not match with {2} {3},Row # {0}: No Siri {1} tidak sepadan dengan {2} {3},
Row #{0} (Payment Table): Amount must be negative,Baris # {0} (Jadual Pembayaran): Jumlah mestilah negatif,
Row #{0} (Payment Table): Amount must be positive,Baris # {0} (Jadual Pembayaran): Jumlah mestilah positif,
Row #{0}: Account {1} does not belong to company {2},Baris # {0}: Akaun {1} tidak tergolong dalam syarikat {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Row # {0}: Jumlah Diperuntukkan tidak boleh lebih besar daripada jumlah tertunggak.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Row # {0}: Asset {1} tidak boleh dikemukakan, ia sudah {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Baris # {0}: Tidak boleh menetapkan Kadar jika amaun lebih besar daripada jumlah ditaksir untuk Item {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Row # {0}: Tarikh Clearance {1} tidak boleh sebelum Tarikh Cek {2},
Row #{0}: Duplicate entry in References {1} {2},Row # {0}: salinan catatan dalam Rujukan {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Baris # {0}: Tarikh Penghantaran Yang Diharapkan tidak boleh sebelum Tarikh Pesanan Pembelian,
Row #{0}: Item added,Baris # {0}: Item ditambahkan,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Row # {0}: Journal Kemasukan {1} tidak mempunyai akaun {2} atau sudah dipadankan dengan baucar lain,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Row # {0}: Tidak dibenarkan untuk menukar pembekal sebagai Perintah Pembelian sudah wujud,
Row #{0}: Please set reorder quantity,Row # {0}: Sila menetapkan kuantiti pesanan semula,
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Sila nyatakan Serial No untuk Perkara {1},
Row #{0}: Qty increased by 1,Baris # {0}: Qty meningkat sebanyak 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Kadar mestilah sama dengan {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Baris # {0}: Jenis Dokumen Rujukan mestilah salah satu Tuntutan Perbelanjaan atau Kemasukan Jurnal,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: Rujukan Dokumen Jenis mesti menjadi salah satu Purchase Order, Invois Belian atau Kemasukan Journal",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Ditolak Qty tidak boleh dimasukkan dalam Pembelian Pulangan,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Warehouse Telah adalah wajib terhadap Perkara ditolak {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Baris # {0}: Reqd oleh Tarikh tidak boleh sebelum Tarikh Urus Niaga,
Row #{0}: Set Supplier for item {1},Row # {0}: Tetapkan Pembekal untuk item {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Baris # {0}: Status mestilah {1} untuk Diskaun Invois {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","Row # {0}: batch The {1} hanya {2} qty. Sila pilih satu lagi kumpulan yang mempunyai {3} qty ada atau berpecah baris ke dalam pelbagai baris, untuk menyampaikan / isu dari pelbagai kelompok",
Row #{0}: Timings conflicts with row {1},Row # {0}: konflik pengaturan masa dengan barisan {1},
Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} tidak boleh negatif untuk item {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Row Tiada {0}: Jumlah tidak boleh lebih besar daripada Pending Jumlah Perbelanjaan terhadap Tuntutan {1}. Sementara menunggu Amaun adalah {2},
Row {0} : Operation is required against the raw material item {1},Baris {0}: Pengendalian diperlukan terhadap item bahan mentah {1},
Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Baris {0} # Jumlah yang diperuntukkan {1} tidak boleh melebihi jumlah yang tidak dituntut {2},
Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Baris {0} # Item {1} tidak boleh dipindahkan lebih daripada {2} terhadap Pesanan Pembelian {3},
Row {0}# Paid Amount cannot be greater than requested advance amount,Baris {0} # Amaun Dibayar tidak boleh melebihi jumlah pendahuluan yang diminta,
Row {0}: Activity Type is mandatory.,Row {0}: Jenis Aktiviti adalah wajib.,
Row {0}: Advance against Customer must be credit,Row {0}: Advance terhadap Pelanggan mesti kredit,
Row {0}: Advance against Supplier must be debit,Row {0}: Advance terhadap Pembekal hendaklah mendebitkan,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Row {0}: Jumlah Peruntukan {1} mesti kurang daripada atau sama dengan jumlah Kemasukan Pembayaran {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Row {0}: Jumlah Peruntukan {1} mesti kurang daripada atau sama dengan invois Jumlah tertunggak {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Row {0}: Suatu catatan Reorder telah wujud untuk gudang ini {1},
Row {0}: Bill of Materials not found for the Item {1},Row {0}: Bill of Materials tidak dijumpai untuk Perkara {1},
Row {0}: Conversion Factor is mandatory,Row {0}: Faktor penukaran adalah wajib,
Row {0}: Cost center is required for an item {1},Baris {0}: Pusat kos diperlukan untuk item {1},
Row {0}: Credit entry can not be linked with a {1},Row {0}: kemasukan Kredit tidak boleh dikaitkan dengan {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Row {0}: Matawang BOM # {1} hendaklah sama dengan mata wang yang dipilih {2},
Row {0}: Debit entry can not be linked with a {1},Row {0}: Debit kemasukan tidak boleh dikaitkan dengan {1},
Row {0}: Depreciation Start Date is required,Baris {0}: Tarikh Permulaan Susutnilai diperlukan,
Row {0}: Enter location for the asset item {1},Baris {0}: Masukkan lokasi untuk item aset {1},
Row {0}: Exchange Rate is mandatory,Row {0}: Kadar Pertukaran adalah wajib,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Baris {0}: Nilai yang Diharapkan Selepas Kehidupan Berguna mestilah kurang daripada Jumlah Pembelian Kasar,
Row {0}: From Time and To Time is mandatory.,Row {0}: Dari Masa dan Untuk Masa adalah wajib.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Row {0}: Dari Masa dan Untuk Masa {1} adalah bertindih dengan {2},
Row {0}: From time must be less than to time,Baris {0}: Dari masa mestilah kurang dari semasa ke semasa,
Row {0}: Hours value must be greater than zero.,Row {0}: Nilai Waktu mesti lebih besar daripada sifar.,
Row {0}: Invalid reference {1},Row {0}: rujukan tidak sah {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Row {0}: Majlis / Akaun tidak sepadan dengan {1} / {2} dalam {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Row {0}: Jenis Parti dan Parti diperlukan untuk / akaun Dibayar Terima {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Row {0}: Pembayaran terhadap Jualan / Pesanan Belian perlu sentiasa ditandakan sebagai pendahuluan,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Row {0}: Sila semak &#39;Adakah Advance&#39; terhadap Akaun {1} jika ini adalah suatu catatan terlebih dahulu.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Baris {0}: Sila tetapkan pada Alasan Pengecualian Cukai dalam Cukai Jualan dan Caj,
Row {0}: Please set the Mode of Payment in Payment Schedule,Baris {0}: Sila tetapkan Mod Pembayaran dalam Jadual Pembayaran,
Row {0}: Please set the correct code on Mode of Payment {1},Baris {0}: Sila tetapkan kod yang betul pada Mod Pembayaran {1},
Row {0}: Qty is mandatory,Row {0}: Qty adalah wajib,
Row {0}: Quality Inspection rejected for item {1},Baris {0}: Pemeriksaan Kualiti ditolak untuk item {1},
Row {0}: UOM Conversion Factor is mandatory,Row {0}: Faktor Penukaran UOM adalah wajib,
Row {0}: select the workstation against the operation {1},Baris {0}: pilih stesen kerja terhadap operasi {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Baris {0}: {1} Nombor Siri diperlukan untuk Item {2}. Anda telah menyediakan {3}.,
Row {0}: {1} is required to create the Opening {2} Invoices,Baris {0}: {1} diperlukan untuk mencipta Invois Pembukaan {2},
Row {0}: {1} must be greater than 0,Baris {0}: {1} mesti lebih besar daripada 0,
Row {0}: {1} {2} does not match with {3},Row {0}: {1} {2} tidak sepadan dengan {3},
Row {0}:Start Date must be before End Date,Row {0}: Tarikh Mula mestilah sebelum Tarikh Akhir,
Rows with duplicate due dates in other rows were found: {0},Baris dengan pendua tarikh akhir pada baris lain dijumpai: {0},
Rules for adding shipping costs.,Peraturan untuk menambah kos penghantaran.,
Rules for applying pricing and discount.,Peraturan untuk menggunakan penentuan harga dan diskaun.,
S.O. No.,PP No.,
SGST Amount,Jumlah SGST,
SO Qty,SO Qty,
Safety Stock,Saham keselamatan,
Salary,Gaji,
Salary Slip ID,Slip Gaji ID,
Salary Slip of employee {0} already created for this period,Slip gaji pekerja {0} telah dicipta untuk tempoh ini,
Salary Slip of employee {0} already created for time sheet {1},Slip Gaji pekerja {0} telah dicipta untuk lembaran masa {1},
Salary Slip submitted for period from {0} to {1},Slip Gaji dihantar untuk tempoh dari {0} hingga {1},
Salary Structure Assignment for Employee already exists,Penyerahan Struktur Gaji untuk Pekerja telah wujud,
Salary Structure Missing,Struktur Gaji Hilang,
Salary Structure must be submitted before submission of Tax Ememption Declaration,Struktur gaji hendaklah dikemukakan sebelum penyerahan Deklarasi Pengecualian Cukai,
Salary Structure not found for employee {0} and date {1},Struktur Gaji tidak dijumpai untuk pekerja {0} dan tarikh {1},
Salary Structure should have flexible benefit component(s) to dispense benefit amount,Struktur gaji sepatutnya mempunyai komponen faedah yang fleksibel untuk membebankan jumlah manfaat,
"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Gaji sudah diproses untuk tempoh antara {0} dan {1}, Tinggalkan tempoh permohonan tidak boleh di antara julat tarikh ini.",
Sales,Jualan,
Sales Account,Akaun Jualan,
Sales Expenses,Perbelanjaan Jualan,
Sales Funnel,Saluran Jualan,
Sales Invoice,Invois jualan,
Sales Invoice {0} has already been submitted,Jualan Invois {0} telah diserahkan,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Jualan Invois {0} hendaklah dibatalkan sebelum membatalkan Perintah Jualan ini,
Sales Manager,Pengurus Jualan,
Sales Master Manager,Master Sales Manager,
Sales Order,Pesanan jualan,
Sales Order Item,Pesanan Jualan Perkara,
Sales Order required for Item {0},Pesanan Jualan diperlukan untuk Perkara {0},
Sales Order to Payment,Perintah Jualan kepada Pembayaran,
Sales Order {0} is not submitted,Sales Order {0} tidak dikemukakan,
Sales Order {0} is not valid,Pesanan Jualan {0} tidak sah,
Sales Order {0} is {1},Pesanan Jualan {0} ialah {1},
Sales Orders,Jualan Pesanan,
Sales Partner,Rakan Jualan,
Sales Pipeline,Pipeline jualan,
Sales Price List,Senarai Harga Jualan,
Sales Return,Jualan Pulangan,
Sales Summary,Ringkasan Jualan,
Sales Tax Template,Template Cukai Jualan,
Sales Team,Pasukan jualan,
Sales User,Jualan Pengguna,
Sales and Returns,Jualan dan Pulangan,
Sales campaigns.,Kempen jualan.,
Sales orders are not available for production,Pesanan jualan tidak tersedia untuk pengeluaran,
Salutation,Salam,
Same Company is entered more than once,Syarikat yang sama memasuki lebih daripada sekali,
Same item cannot be entered multiple times.,Item yang sama tidak boleh dimasukkan beberapa kali.,
Same supplier has been entered multiple times,pembekal yang sama telah dibuat beberapa kali,
Sample,Contoh,
Sample Collection,Pengumpulan Sampel,
Sample quantity {0} cannot be more than received quantity {1},Kuantiti sampel {0} tidak boleh melebihi kuantiti yang diterima {1},
Sanctioned,Diiktiraf,
Sanctioned Amount,Jumlah dibenarkan,
Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Amaun yang dibenarkan tidak boleh lebih besar daripada Tuntutan Jumlah dalam Row {0}.,
Sand,Pasir,
Saturday,Sabtu,
Saved,Disimpan,
Saving {0},Menyimpan {0},
Scan Barcode,Kod Bar Imbas,
Schedule,Jadual,
Schedule Admission,Jadual Kemasukan,
Schedule Course,Kursus jadual,
Schedule Date,Jadual Tarikh,
Schedule Discharge,Jadual Pelepasan,
Scheduled,Berjadual,
Scheduled Upto,Upto Berjadual,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Jadual untuk {0} tumpang tindih, adakah anda mahu meneruskan selepas melangkau slot bergelombang?",
Score cannot be greater than Maximum Score,Skor tidak boleh lebih besar daripada skor maksimum,
Score must be less than or equal to 5,Skor mesti kurang daripada atau sama dengan 5,
Scorecards,Kad skor,
Scrapped,dibatalkan,
Search,Carian,
Search Results,Keputusan Carian,
Search Sub Assemblies,Mencari Sub Dewan,
"Search by item code, serial number, batch no or barcode","Cari mengikut kod item, nombor siri, no batch atau kod bar",
"Seasonality for setting budgets, targets etc.","Bermusim untuk menetapkan belanjawan, sasaran dan lain-lain",
Secret Key,Kunci rahsia,
Secretary,Setiausaha,
Section Code,Kod Seksyen,
Secured Loans,Pinjaman Bercagar,
Securities & Commodity Exchanges,Sekuriti &amp; Bursa Komoditi,
Securities and Deposits,Sekuriti dan Deposit,
See All Articles,Lihat Semua Artikel,
See all open tickets,Lihat semua tiket terbuka,
See past orders,Lihat pesanan terdahulu,
See past quotations,Lihat petikan yang lalu,
Select,Pilih,
Select Alternate Item,Pilih Item Ganti,
Select Attribute Values,Pilih Nilai Atribut,
Select BOM,Pilih BOM,
Select BOM and Qty for Production,Pilih BOM dan Kuantiti untuk Pengeluaran,
"Select BOM, Qty and For Warehouse","Pilih BOM, Qty dan For Warehouse",
Select Batch,Pilih Batch,
Select Batch Numbers,Pilih Nombor Batch,
Select Brand...,Pilih Jenama ...,
Select Company,Pilih Syarikat,
Select Company...,Pilih Syarikat ...,
Select Customer,Pilih Pelanggan,
Select Days,Pilih Hari,
Select Default Supplier,Pilih pembekal lalai,
Select DocType,Pilih DOCTYPE,
Select Fiscal Year...,Pilih Tahun Anggaran ...,
Select Item (optional),Pilih Perkara (pilihan),
Select Items based on Delivery Date,Pilih Item berdasarkan Tarikh Penghantaran,
Select Items to Manufacture,Pilih item untuk mengeluarkan,
Select Loyalty Program,Pilih Program Kesetiaan,
Select Patient,Pilih Pesakit,
Select Possible Supplier,Pilih Pembekal Kemungkinan,
Select Property,Pilih Harta,
Select Quantity,Pilih Kuantiti,
Select Serial Numbers,Pilih nombor siri,
Select Target Warehouse,Pilih Warehouse sasaran,
Select Warehouse...,Pilih Warehouse ...,
Select an account to print in account currency,Pilih akaun untuk mencetak dalam mata wang akaun,
Select an employee to get the employee advance.,Pilih pekerja untuk mendapatkan pekerja terlebih dahulu.,
Select at least one value from each of the attributes.,Pilih sekurang-kurangnya satu nilai dari setiap atribut.,
Select change amount account,Pilih perubahan kira jumlah,
Select company first,Pilih syarikat pertama,
Select students manually for the Activity based Group,Pilih pelajar secara manual untuk Aktiviti berasaskan Kumpulan,
Select the customer or supplier.,Pilih pelanggan atau pembekal.,
Select the nature of your business.,Pilih jenis perniagaan anda.,
Select the program first,Pilih program pertama,
Select to add Serial Number.,Pilih untuk menambah Nombor Serial.,
Select your Domains,Pilih Domain anda,
Selected Price List should have buying and selling fields checked.,Senarai Harga Terpilih sepatutnya membeli dan menjual medan diperiksa.,
Sell,Jual,
Selling,Jualan,
Selling Amount,Jumlah Jualan,
Selling Price List,Senarai Harga Jualan,
Selling Rate,Kadar Jualan,
"Selling must be checked, if Applicable For is selected as {0}","Jualan hendaklah disemak, jika Terpakai Untuk dipilih sebagai {0}",
Send Grant Review Email,Hantar E-mel Semakan Hibah,
Send Now,Hantar Sekarang,
Send SMS,Hantar SMS,
Send Supplier Emails,Hantar Email Pembekal,
Send mass SMS to your contacts,Hantar SMS massa ke kenalan anda,
Sensitivity,Kepekaan,
Sent,Dihantar,
Serial #,Serial #,
Serial No and Batch,Serial No dan Batch,
Serial No is mandatory for Item {0},No siri adalah wajib bagi Perkara {0},
Serial No {0} does not belong to Batch {1},Serial No {0} tidak tergolong dalam Batch {1},
Serial No {0} does not belong to Delivery Note {1},No siri {0} bukan milik Penghantaran Nota {1},
Serial No {0} does not belong to Item {1},No siri {0} bukan milik Perkara {1},
Serial No {0} does not belong to Warehouse {1},No siri {0} bukan milik Gudang {1},
Serial No {0} does not belong to any Warehouse,No siri {0} bukan milik mana-mana Warehouse,
Serial No {0} does not exist,No siri {0} tidak wujud,
Serial No {0} has already been received,No siri {0} telah diterima,
Serial No {0} is under maintenance contract upto {1},No siri {0} adalah di bawah kontrak penyelenggaraan hamper {1},
Serial No {0} is under warranty upto {1},No siri {0} adalah di bawah jaminan hamper {1},
Serial No {0} not found,No siri {0} tidak dijumpai,
Serial No {0} not in stock,No siri {0} tidak dalam stok,
Serial No {0} quantity {1} cannot be a fraction,Serial No {0} kuantiti {1} tidak boleh menjadi sebahagian kecil,
Serial Nos Required for Serialized Item {0},Serial No Diperlukan untuk Perkara bersiri {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Nombor siri: {0} sudah dirujuk dalam Sales Invoice: {1},
Serial Numbers,Nombor Siri,
Serial Numbers in row {0} does not match with Delivery Note,Nombor siri berturut-turut {0} tidak sepadan dengan penghantaran Nota,
Serial no {0} has been already returned,Serial no {0} telah dikembalikan,
Serial number {0} entered more than once,Nombor siri {0} memasuki lebih daripada sekali,
Serialized Inventory,Inventori bersiri,
Series Updated,Siri Dikemaskini,
Series Updated Successfully,Siri Dikemaskini Berjaya,
Series is mandatory,Siri adalah wajib,
Series {0} already used in {1},Siri {0} telah digunakan dalam {1},
Service,Perkhidmatan,
Service Expense,Perbelanjaan perkhidmatan,
Service Level Agreement,Perjanjian tahap perkhidmatan,
Service Level Agreement.,Perjanjian tahap perkhidmatan.,
Service Level.,Tahap servis.,
Service Stop Date cannot be after Service End Date,Tarikh Henti Perkhidmatan tidak boleh selepas Tarikh Akhir Perkhidmatan,
Service Stop Date cannot be before Service Start Date,Tarikh Henti Perkhidmatan tidak boleh sebelum Tarikh Mula Perkhidmatan,
Services,Perkhidmatan,
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Nilai Default Tetapkan seperti Syarikat, mata wang, fiskal semasa Tahun, dan lain-lain",
Set Details,Tetapkan Butiran,
Set New Release Date,Tetapkan Tarikh Keluaran Baru,
Set Project and all Tasks to status {0}?,Tetapkan Projek dan semua Tugas ke status {0}?,
Set Status,Tetapkan Status,
Set Tax Rule for shopping cart,Menetapkan Peraturan Cukai untuk troli membeli-belah,
Set as Closed,Ditetapkan sebagai Ditutup,
Set as Completed,Tetapkan sebagai Selesai,
Set as Default,Tetapkan sebagai lalai,
Set as Lost,Ditetapkan sebagai Hilang,
Set as Open,Ditetapkan sebagai Open,
Set default inventory account for perpetual inventory,Menetapkan akaun inventori lalai untuk inventori yang berterusan,
Set this if the customer is a Public Administration company.,Tetapkan ini jika pelanggan adalah syarikat Pentadbiran Awam.,
Set {0} in asset category {1} or company {2},Tetapkan {0} dalam kategori aset {1} atau syarikat {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Menetapkan Peristiwa untuk {0}, kerana pekerja yang bertugas di bawah Persons Jualan tidak mempunyai ID Pengguna {1}",
Setting defaults,Menetapkan lalai,
Setting up Email,Menubuhkan E-mel,
Setting up Email Account,Menyediakan Akaun E-mel,
Setting up Employees,Menubuhkan Pekerja,
Setting up Taxes,Menubuhkan Cukai,
Setting up company,Menubuhkan syarikat,
Settings,Tetapan,
"Settings for online shopping cart such as shipping rules, price list etc.","Tetapan untuk troli membeli-belah dalam talian seperti peraturan perkapalan, senarai harga dan lain-lain",
Settings for website homepage,Tetapan untuk laman web laman utama,
Settings for website product listing,Tetapan untuk penyenaraian produk laman web,
Settled,Diselesaikan,
Setup Gateway accounts.,Persediaan akaun Gateway.,
Setup SMS gateway settings,Tetapan gateway Persediaan SMS,
Setup cheque dimensions for printing,dimensi Persediaan cek percetakan,
Setup default values for POS Invoices,Tetapkan nilai lalai untuk Invois POS,
Setup mode of POS (Online / Offline),Mod persediaan POS (Dalam Talian / Luar Talian),
Setup your Institute in ERPNext,Persiapkan Institut anda di ERPNext,
Share Balance,Imbangan Saham,
Share Ledger,Kongsi Ledger,
Share Management,Pengurusan Saham,
Share Transfer,Pemindahan Saham,
Share Type,Jenis Kongsi,
Shareholder,Pemegang Saham,
Ship To State,Kapal ke Negeri,
Shipments,Penghantaran,
Shipping,penghantaran,
Shipping Address,Alamat Penghantaran,
"Shipping Address does not have country, which is required for this Shipping Rule","Alamat Pengiriman tidak mempunyai negara, yang diperlukan untuk Peraturan Pengiriman ini",
Shipping rule only applicable for Buying,Peraturan penghantaran hanya terpakai untuk Membeli,
Shipping rule only applicable for Selling,Peraturan penghantaran hanya terpakai untuk Jualan,
Shopify Supplier,Pembekal Shopify,
Shopping Cart,Troli Membeli-belah,
Shopping Cart Settings,Troli membeli-belah Tetapan,
Short Name,Nama Pendek,
Shortage Qty,Kekurangan Qty,
Show Completed,Tunjukkan Selesai,
Show Cumulative Amount,Tunjukkan Jumlah Kumulatif,
Show Employee,Tunjukkan Pekerja,
Show Open,Tunjukkan terbuka,
Show Opening Entries,Tunjukkan Penyertaan Pembukaan,
Show Payment Details,Tunjukkan Butiran Pembayaran,
Show Return Entries,Tunjukkan Penyertaan Semula,
Show Salary Slip,Show Slip Gaji,
Show Variant Attributes,Tunjukkan Atribut Variasi,
Show Variants,Show Kelainan,
Show closed,Show ditutup,
Show exploded view,Tunjukkan paparan yang meletup,
Show only POS,Tunjukkan sahaja POS,
Show unclosed fiscal year's P&L balances,Tunjukkan P &amp; baki L tahun fiskal unclosed ini,
Show zero values,Menunjukkan nilai-nilai sifar,
Sick Leave,Cuti sakit,
Silt,Lumpur,
Single Variant,Varian tunggal,
Single unit of an Item.,Unit tunggal Item satu.,
"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Peruntukkan Cuti Skipping untuk pekerja berikut, sebagai Rekod Peruntukan Tinggalkan sudah wujud terhadap mereka. {0}",
"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Melangkau Struktur Gaji Penyerahhakan bagi pekerja berikut, seperti rekod Penyerahan Struktur Gaji sudah wujud terhadap mereka. {0}",
Slideshow,Slideshow,
Slots for {0} are not added to the schedule,Slot untuk {0} tidak ditambah pada jadual,
Small,Kecil,
Soap & Detergent,Sabun &amp; detergen,
Software,Perisian,
Software Developer,Perisian Pemaju,
Softwares,Softwares,
Soil compositions do not add up to 100,Komposisi tanah tidak menambah sehingga 100,
Sold,Dijual,
Some emails are invalid,Sesetengah e-mel adalah tidak sah,
Some information is missing,Beberapa maklumat yang hilang,
Something went wrong!,Sesuatu telah berlaku!,
"Sorry, Serial Nos cannot be merged","Maaf, Serial No tidak boleh digabungkan",
Source,Sumber,
Source Name,Nama Source,
Source Warehouse,Sumber Gudang,
Source and Target Location cannot be same,Lokasi Sumber dan Sasaran tidak boleh sama,
Source and target warehouse cannot be same for row {0},Sumber dan sasaran gudang tidak boleh sama berturut-turut untuk {0},
Source and target warehouse must be different,Sumber dan sasaran gudang mestilah berbeza,
Source of Funds (Liabilities),Sumber Dana (Liabiliti),
Source warehouse is mandatory for row {0},Sumber gudang adalah wajib untuk berturut-turut {0},
Specified BOM {0} does not exist for Item {1},Dinyatakan BOM {0} tidak wujud untuk Perkara {1},
Split,Split,
Split Batch,Split Batch,
Split Issue,Isu Split,
Sports,Sukan,
Staffing Plan {0} already exist for designation {1},Rancangan Kakitangan {0} sudah wujud untuk penunjukan {1},
Standard,Standard,
Standard Buying,Membeli Standard,
Standard Selling,Jualan Standard,
Standard contract terms for Sales or Purchase.,Terma kontrak standard untuk Jualan atau Beli.,
Start Date,Tarikh Mula,
Start Date of Agreement can't be greater than or equal to End Date.,Mulai Tarikh Perjanjian tidak boleh melebihi atau sama dengan Tarikh Akhir.,
Start Year,Mula Tahun,
"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Tarikh mula dan tamat tidak dalam Tempoh Penggajian yang sah, tidak dapat mengira {0}",
"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Tarikh mula dan tamat tidak dalam Tempoh Penggajian yang sah, tidak boleh mengira {0}.",
Start date should be less than end date for Item {0},Tarikh mula boleh kurang daripada tarikh akhir untuk Perkara {0},
Start date should be less than end date for task {0},Tarikh mula harus kurang dari tarikh tamat untuk tugas {0},
Start day is greater than end day in task '{0}',Hari permulaan adalah lebih besar daripada hari akhir dalam tugas &#39;{0}&#39;,
Start on,Mulakan,
State,Negeri,
State/UT Tax,Cukai Negeri / UT,
Statement of Account,Penyata akaun,
Status must be one of {0},Status mestilah salah seorang daripada {0},
Stock,Saham,
Stock Adjustment,Pelarasan Saham,
Stock Analytics,Saham Analytics,
Stock Assets,Aset Saham,
Stock Available,Saham Tersedia,
Stock Balance,Baki saham,
Stock Entries already created for Work Order ,Penyertaan Saham telah dibuat untuk Perintah Kerja,
Stock Entry,Saham Entry,
Stock Entry {0} created,Kemasukan Stock {0} dicipta,
Stock Entry {0} is not submitted,Saham Entry {0} tidak dikemukakan,
Stock Expenses,Perbelanjaan Saham,
Stock In Hand,Stock In Hand,
Stock Items,Item Saham,
Stock Ledger,Saham Lejar,
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Saham Lejar Penyertaan dan GL Penyertaan diumumkan bagi Resit Pembelian dipilih,
Stock Levels,Tahap Saham,
Stock Liabilities,Liabiliti Saham,
Stock Options,Pilihan Saham,
Stock Qty,Saham qty,
Stock Received But Not Billed,Saham Diterima Tetapi Tidak Membilkan,
Stock Reports,Laporan Saham,
Stock Summary,Ringkasan Stock,
Stock Transactions,Urusniaga saham,
Stock UOM,Saham UOM,
Stock Value,Nilai Saham,
Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Baki saham dalam batch {0} akan menjadi negatif {1} untuk Perkara {2} di Gudang {3},
Stock cannot be updated against Delivery Note {0},Saham tidak boleh dikemaskini terhadap Penghantaran Nota {0},
Stock cannot be updated against Purchase Receipt {0},Saham tidak boleh dikemas kini terhadap Pembelian Resit {0},
Stock cannot exist for Item {0} since has variants,Saham tidak boleh wujud untuk Perkara {0} kerana mempunyai varian,
Stock transactions before {0} are frozen,Transaksi saham sebelum {0} dibekukan,
Stop,Hentikan,
Stopped,Berhenti,
"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Perintah Kerja Berhenti tidak boleh dibatalkan, Unstop terlebih dahulu untuk membatalkannya",
Stores,Kedai,
Structures have been assigned successfully,Struktur telah ditugaskan dengan jayanya,
Student,Pelajar,
Student Activity,Aktiviti Pelajar,
Student Address,Alamat Pelajar,
Student Admissions,Kemasukan Pelajar,
Student Attendance,Kehadiran Pelajar,
"Student Batches help you track attendance, assessments and fees for students","Kelompok pelajar membantu anda mengesan kehadiran, penilaian dan yuran untuk pelajar",
Student Email Address,Pelajar Alamat E-mel,
Student Email ID,Pelajar Email ID,
Student Group,Kumpulan Pelajar,
Student Group Strength,Kekuatan Kumpulan Pelajar,
Student Group is already updated.,Kumpulan pelajar sudah dikemaskini.,
Student Group: ,Kumpulan Pelajar:,
Student ID,ID pelajar,
Student ID: ,ID pelajar:,
Student LMS Activity,Aktiviti LMS Pelajar,
Student Mobile No.,Pelajar Mobile No.,
Student Name,Nama pelajar,
Student Name: ,Nama pelajar:,
Student Report Card,Kad Laporan Pelajar,
Student is already enrolled.,Pelajar sudah mendaftar.,
Student {0} - {1} appears Multiple times in row {2} & {3},Pelajar {0} - {1} muncul kali Pelbagai berturut-turut {2} &amp; {3},
Student {0} does not belong to group {1},Pelajar {0} tidak tergolong dalam kumpulan {1},
Student {0} exist against student applicant {1},Pelajar {0} wujud terhadap pemohon pelajar {1},
"Students are at the heart of the system, add all your students","Pelajar di tengah-tengah sistem, menambah semua pelajar anda",
Sub Assemblies,Dewan Sub,
Sub Type,Jenis Sub,
Sub-contracting,Sub-kontrak,
Subcontract,Subkontrak,
Subject,Tertakluk,
Submit,Hantar,
Submit Proof,Hantar Bukti,
Submit Salary Slip,Hantar Slip Gaji,
Submit this Work Order for further processing.,Serahkan Perintah Kerja ini untuk pemprosesan selanjutnya.,
Submit this to create the Employee record,Hantar ini untuk mencipta rekod Kakitangan,
Submitting Salary Slips...,Mengirim Slip Gaji ...,
Subscription,Langganan,
Subscription Management,Pengurusan Langganan,
Subscriptions,Langganan,
Subtotal,jumlah kecil,
Successful,Berjaya,
Successfully Reconciled,Berjaya didamaikan,
Successfully Set Supplier,Berjaya Membekal Pembekal,
Successfully created payment entries,Berjaya membuat penyertaan bayaran,
Successfully deleted all transactions related to this company!,Berjaya memadam semua transaksi yang berkaitan dengan syarikat ini!,
Sum of Scores of Assessment Criteria needs to be {0}.,Jumlah Markah Kriteria Penilaian perlu {0}.,
Sum of points for all goals should be 100. It is {0},Jumlah mata untuk semua matlamat harus 100. Ia adalah {0},
Summary,Ringkasan,
Summary for this month and pending activities,Ringkasan untuk bulan ini dan aktiviti-aktiviti yang belum selesai,
Summary for this week and pending activities,Ringkasan untuk minggu ini dan aktiviti-aktiviti yang belum selesai,
Sunday,Ahad,
Suplier,Suplier,
Supplier,Pembekal,
Supplier Group,Kumpulan Pembekal,
Supplier Group master.,Pembekal Kumpulan pembekal.,
Supplier Id,Id Pembekal,
Supplier Invoice Date cannot be greater than Posting Date,Pembekal Invois Tarikh tidak boleh lebih besar daripada Pos Tarikh,
Supplier Invoice No,Pembekal Invois No,
Supplier Invoice No exists in Purchase Invoice {0},Pembekal Invois No wujud dalam Invois Belian {0},
Supplier Name,Nama Pembekal,
Supplier Part No,Pembekal bahagian No,
Supplier Quotation,Sebutharga Pembekal,
Supplier Scorecard,Kad skor pembekal,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Pembekal Gudang mandatori bagi sub-kontrak Pembelian Resit,
Supplier database.,Pangkalan data pembekal.,
Supplier {0} not found in {1},Pembekal {0} tidak dijumpai di {1},
Supplier(s),Pembekal (s),
Supplies made to UIN holders,Bekalan dibuat kepada pemegang UIN,
Supplies made to Unregistered Persons,Bekalan dibuat kepada Orang Tidak Diketahui,
Suppliies made to Composition Taxable Persons,Suplai yang dibuat kepada Komposisi Orang Yang Boleh Dikagumi,
Supply Type,Jenis Bekalan,
Support,Sokongan,
Support Analytics,Sokongan Analytics,
Support Settings,Tetapan Sokongan,
Support Tickets,Tiket Sokongan,
Support queries from customers.,Pertanyaan sokongan daripada pelanggan.,
Susceptible,Mudah tersinggung,
Sync has been temporarily disabled because maximum retries have been exceeded,Penyegerakan telah dilumpuhkan buat sementara waktu kerana pengambilan maksimum telah melebihi,
Syntax error in condition: {0},Kesalahan sintaks dalam keadaan: {0},
Syntax error in formula or condition: {0},Ralat sintaks dalam formula atau keadaan: {0},
System Manager,Pengurus Sistem,
TDS Rate %,Kadar TDS%,
Tap items to add them here,Ketik item untuk menambah mereka di sini,
Target,Sasaran,
Target ({}),Sasaran ({}),
Target On,Sasaran Pada,
Target Warehouse,Sasaran Gudang,
Target warehouse is mandatory for row {0},Gudang sasaran adalah wajib untuk berturut-turut {0},
Task,Petugas,
Tasks,Tugas,
Tasks have been created for managing the {0} disease (on row {1}),Tugas telah dibuat untuk mengurus penyakit {0} (pada baris {1}),
Tax,Cukai,
Tax Assets,Aset Cukai,
Tax Category,Kategori Cukai,
Tax Category for overriding tax rates.,Kategori Cukai untuk kadar cukai utama.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items",Kategori cukai telah ditukar kepada &quot;Jumlah&quot; kerana semua Item adalah barang-barang tanpa saham yang,
Tax ID,ID cukai,
Tax Id: ,ID cukai:,
Tax Rate,Kadar cukai,
Tax Rule Conflicts with {0},Konflik Peraturan Cukai dengan {0},
Tax Rule for transactions.,Peraturan cukai bagi urus niaga.,
Tax Template is mandatory.,Template cukai adalah wajib.,
Tax Withholding rates to be applied on transactions.,Kadar Pegangan Cukai yang akan dikenakan ke atas urus niaga.,
Tax template for buying transactions.,Template cukai untuk membeli transaksi.,
Tax template for item tax rates.,Templat cukai untuk kadar cukai barangan.,
Tax template for selling transactions.,Template cukai untuk menjual transaksi.,
Taxable Amount,Amaun yang dikenakan cukai,
Taxes,Cukai,
Team Updates,Pasukan Terbaru,
Technology,Teknologi,
Telecommunications,Telekomunikasi,
Telephone Expenses,Perbelanjaan Telefon,
Television,Televisyen,
Template Name,Nama template,
Template of terms or contract.,Templat istilah atau kontrak.,
Templates of supplier scorecard criteria.,Templat kriteria kad skor pembekal.,
Templates of supplier scorecard variables.,Templat pemboleh ubah kad skor pembekal.,
Templates of supplier standings.,Templat kedudukan pembekal.,
Temporarily on Hold,Buat sementara waktu,
Temporary,Sementara,
Temporary Accounts,Akaun Sementara,
Temporary Opening,Pembukaan sementara,
Terms and Conditions,Terma dan syarat,
Terms and Conditions Template,Terma dan Syarat Template,
Territory,Wilayah,
Test,Ujian,
Thank you,Terima kasih,
Thank you for your business!,Terima kasih atas urusan awak!,
The 'From Package No.' field must neither be empty nor it's value less than 1.,&#39;Dari Pakej Tidak.&#39; medan mestilah tidak kosong dan nilai itu kurang daripada 1.,
The Brand,Jenama,
The Item {0} cannot have Batch,The Perkara {0} tidak boleh mempunyai Batch,
The Loyalty Program isn't valid for the selected company,Program Kesetiaan tidak sah untuk syarikat yang dipilih,
The Payment Term at row {0} is possibly a duplicate.,Tempoh Bayaran pada baris {0} mungkin pendua.,
The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Tarikh Akhir Term tidak boleh lebih awal daripada Tarikh Mula Term. Sila betulkan tarikh dan cuba lagi.,
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.,Tarikh Akhir Term tidak boleh lewat daripada Tarikh Akhir Tahun Akademik Tahun yang istilah ini dikaitkan (Akademik Tahun {}). Sila betulkan tarikh dan cuba lagi.,
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.,Permulaan Term Tarikh tidak boleh lebih awal daripada Tarikh Tahun Permulaan Tahun Akademik mana istilah ini dikaitkan (Akademik Tahun {}). Sila betulkan tarikh dan cuba lagi.,
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Tahun Akhir Tarikh tidak boleh lebih awal daripada Tahun Tarikh Mula. Sila betulkan tarikh dan cuba lagi.,
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.,Jumlah {0} yang ditetapkan dalam permintaan pembayaran ini adalah berbeza dari jumlah anggaran semua pelan pembayaran: {1}. Pastikan ini betul sebelum menghantar dokumen.,
The day(s) on which you are applying for leave are holidays. You need not apply for leave.,Hari (s) di mana anda memohon cuti adalah cuti. Anda tidak perlu memohon cuti.,
The field From Shareholder cannot be blank,Bidang Daripada Pemegang Saham tidak boleh kosong,
The field To Shareholder cannot be blank,Bidang Kepada Pemegang Saham tidak boleh kosong,
The fields From Shareholder and To Shareholder cannot be blank,Bidang Daripada Pemegang Saham dan Kepada Pemegang Saham tidak boleh kosong,
The folio numbers are not matching,Nombor folio tidak sepadan,
The holiday on {0} is not between From Date and To Date,Cuti pada {0} bukan antara Dari Tarikh dan To Date,
The name of the institute for which you are setting up this system.,Nama institut yang mana anda menyediakan sistem ini.,
The name of your company for which you are setting up this system.,Nama syarikat anda yang mana anda menubuhkan sistem ini.,
The number of shares and the share numbers are inconsistent,Bilangan saham dan bilangan saham tidak konsisten,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Akaun gerbang pembayaran dalam pelan {0} adalah berbeza daripada akaun gerbang pembayaran dalam permintaan pembayaran ini,
The request for quotation can be accessed by clicking on the following link,Permintaan untuk sebutharga boleh diakses dengan klik pada pautan berikut,
The selected BOMs are not for the same item,The boms dipilih bukan untuk item yang sama,
The selected item cannot have Batch,Item yang dipilih tidak boleh mempunyai Batch,
The seller and the buyer cannot be the same,Penjual dan pembeli tidak boleh sama,
The shareholder does not belong to this company,Pemegang saham tidak tergolong dalam syarikat ini,
The shares already exist,Saham sudah ada,
The shares don't exist with the {0},Saham tidak wujud dengan {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","Tugas itu telah dipenuhi sebagai pekerjaan latar belakang. Sekiranya terdapat sebarang masalah dalam pemprosesan di latar belakang, sistem akan menambah komen mengenai kesilapan pada Penyelesaian Stok ini dan kembali ke peringkat Draf",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Peraturan Kemudian Harga ditapis keluar berdasarkan Pelanggan, Kumpulan Pelanggan, Wilayah, Pembekal, Jenis Pembekal, Kempen, Rakan Jualan dan lain-lain",
"There are inconsistencies between the rate, no of shares and the amount calculated","Terdapat ketidaksesuaian antara kadar, tiada saham dan jumlah yang dikira",
There are more holidays than working days this month.,Terdapat lebih daripada cuti hari bekerja bulan ini.,
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.,Terdapat beberapa faktor pengumpulan peringkat berdasarkan jumlah yang dibelanjakan. Tetapi faktor penukaran untuk penebusan akan selalu sama untuk semua tier.,
There can only be 1 Account per Company in {0} {1},Hanya akan ada 1 Akaun setiap Syarikat dalam {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""",Hanya ada satu Keadaan Peraturan Penghantaran dengan 0 atau nilai kosong untuk &quot;Untuk Nilai&quot;,
There is no leave period in between {0} and {1},Tiada tempoh cuti di antara {0} dan {1},
There is not enough leave balance for Leave Type {0},Tidak ada baki cuti yang cukup untuk Cuti Jenis {0},
There is nothing to edit.,Ada apa-apa untuk mengedit.,
There isn't any item variant for the selected item,Tidak ada varian item untuk item yang dipilih,
"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.","Nampaknya ada masalah dengan konfigurasi GoCardless pelayan. Jangan bimbang, dalam kes kegagalan, amaun akan dikembalikan ke akaun anda.",
There were errors creating Course Schedule,Terdapat kesilapan mencipta Jadual Kursus,
There were errors.,Terdapat ralat.,
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,Perkara ini adalah Template dan tidak boleh digunakan dalam urus niaga. Sifat-sifat perkara akan disalin ke atas ke dalam varian kecuali &#39;Tiada Salinan&#39; ditetapkan,
This Item is a Variant of {0} (Template).,Perkara ini adalah Variant {0} (Template).,
This Month's Summary,Ringkasan ini Bulan ini,
This Week's Summary,Ringkasan Minggu Ini,
This action will stop future billing. Are you sure you want to cancel this subscription?,Tindakan ini akan menghentikan pengebilan masa depan. Adakah anda pasti ingin membatalkan langganan ini?,
This covers all scorecards tied to this Setup,Ini merangkumi semua kad skor yang terikat pada Persediaan ini,
This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Dokumen ini melebihi had oleh {0} {1} untuk item {4}. Adakah anda membuat terhadap yang sama satu lagi {3} {2}?,
This is a root account and cannot be edited.,Ini adalah akaun akar dan tidak boleh diedit.,
This is a root customer group and cannot be edited.,Ini adalah kumpulan pelanggan akar dan tidak boleh diedit.,
This is a root department and cannot be edited.,Ini adalah jabatan root dan tidak dapat diedit.,
This is a root healthcare service unit and cannot be edited.,Ini adalah unit perkhidmatan penjagaan kesihatan akar dan tidak dapat diedit.,
This is a root item group and cannot be edited.,Ini adalah kumpulan item akar dan tidak boleh diedit.,
This is a root sales person and cannot be edited.,Ini adalah orang jualan akar dan tidak boleh diedit.,
This is a root supplier group and cannot be edited.,Ini adalah kumpulan pembekal akar dan tidak dapat diedit.,
This is a root territory and cannot be edited.,Ini adalah wilayah akar dan tidak boleh diedit.,
This is an example website auto-generated from ERPNext,Ini adalah laman contoh automatik dihasilkan daripada ERPNext,
This is based on logs against this Vehicle. See timeline below for details,Ini adalah berdasarkan kepada balak terhadap kenderaan ini. Lihat garis masa di bawah untuk maklumat,
This is based on stock movement. See {0} for details,Ini adalah berdasarkan kepada pergerakan saham. Lihat {0} untuk mendapatkan butiran,
This is based on the Time Sheets created against this project,Ini adalah berdasarkan Lembaran Masa dicipta terhadap projek ini,
This is based on the attendance of this Employee,Ini adalah berdasarkan kepada kehadiran Pekerja ini,
This is based on the attendance of this Student,Ini adalah berdasarkan kepada kehadiran Pelajar ini,
This is based on transactions against this Customer. See timeline below for details,Ini adalah berdasarkan kepada urus niaga terhadap Pelanggan ini. Lihat garis masa di bawah untuk maklumat,
This is based on transactions against this Healthcare Practitioner.,Ini berdasarkan urus niaga terhadap Pengamal Penjagaan Kesihatan ini.,
This is based on transactions against this Patient. See timeline below for details,Ini berdasarkan urus niaga terhadap Pesakit ini. Lihat garis masa di bawah untuk maklumat lanjut,
This is based on transactions against this Sales Person. See timeline below for details,Ini berdasarkan urusniaga terhadap Orang Jualan ini. Lihat garis masa di bawah untuk maklumat lanjut,
This is based on transactions against this Supplier. See timeline below for details,Ini adalah berdasarkan kepada urus niaga terhadap Pembekal ini. Lihat garis masa di bawah untuk maklumat,
This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Ini akan menghantar Slip Gaji dan membuat Penyertaan Jurnal akrual. Adakah anda mahu meneruskan?,
This {0} conflicts with {1} for {2} {3},Ini {0} konflik dengan {1} untuk {2} {3},
Time Sheet for manufacturing.,Lembaran Masa untuk pembuatan.,
Time Tracking,Tracking masa,
"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Slot masa melompat, slot {0} hingga {1} bertindih slot eksisit {2} ke {3}",
Time slots added,Slot masa ditambah,
Time(in mins),Masa (dalam minit),
Timer,Pemasa,
Timer exceeded the given hours.,Pemasa melebihi masa yang diberikan.,
Timesheet,Timesheet,
Timesheet for tasks.,Timesheet untuk tugas-tugas.,
Timesheet {0} is already completed or cancelled,Timesheet {0} sudah selesai atau dibatalkan,
Timesheets,Timesheets,
"Timesheets help keep track of time, cost and billing for activites done by your team","Timesheets membantu menjejaki masa, kos dan bil untuk kegiatan yang dilakukan oleh pasukan anda",
Titles for print templates e.g. Proforma Invoice.,Tajuk untuk template cetak seperti Proforma Invois.,
To,Untuk,
To Address 1,Untuk Alamat 1,
To Address 2,Untuk Alamat 2,
To Bill,Rang Undang-Undang,
To Date,Tarikh,
To Date cannot be before From Date,Setakat ini tidak boleh sebelum dari tarikh,
To Date cannot be less than From Date,Kepada Tarikh tidak boleh kurang dari Tarikh,
To Date must be greater than From Date,Kepada Tarikh mestilah lebih besar dari Tarikh,
To Date should be within the Fiscal Year. Assuming To Date = {0},Tarikh perlu berada dalam Tahun Fiskal. Dengan mengandaikan Untuk Tarikh = {0},
To Datetime,Untuk Datetime,
To Deliver,Untuk menyampaikan,
To Deliver and Bill,Untuk Menghantar dan Rang Undang-undang,
To Fiscal Year,Tahun Fiskal,
To GSTIN,Kepada GSTIN,
To Party Name,Kepada Nama Pihak,
To Pin Code,Untuk Kod Pin,
To Place,Ke tempat,
To Receive,Untuk menerima,
To Receive and Bill,Terima dan Rang Undang-undang,
To State,Untuk Negeri,
To Warehouse,Untuk Gudang,
To create a Payment Request reference document is required,Untuk membuat Permintaan Pembayaran dokumen rujukan diperlukan,
To date can not be equal or less than from date,Setakat ini tidak boleh sama atau kurang dari tarikh,
To date can not be less than from date,Setakat ini tidak boleh kurang dari tarikh,
To date can not greater than employee's relieving date,Setakat ini tidak boleh melebihi tarikh pelepasan pekerja,
"To filter based on Party, select Party Type first","Untuk menapis berdasarkan Parti, pilih Parti Taipkan pertama",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Untuk mendapatkan yang terbaik daripada ERPNext, kami menyarankan anda mengambil sedikit masa dan menonton video bantuan.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Untuk memasukkan cukai berturut-turut {0} dalam kadar Perkara, cukai dalam baris {1} hendaklah juga disediakan",
To make Customer based incentive schemes.,Untuk membuat skim insentif berdasarkan Pelanggan.,
"To merge, following properties must be same for both items","Untuk bergabung, sifat berikut mestilah sama bagi kedua-dua perkara",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Tidak memohon Peraturan Harga dalam transaksi tertentu, semua Peraturan Harga berkenaan perlu dimatikan.",
"To set this Fiscal Year as Default, click on 'Set as Default'","Untuk menetapkan Tahun Fiskal ini sebagai Lalai, klik pada &#39;Tetapkan sebagai lalai&#39;",
To view logs of Loyalty Points assigned to a Customer.,Untuk melihat log Mata Ganjaran yang diberikan kepada Pelanggan.,
To {0},Untuk {0},
To {0} | {1} {2},Untuk {0} | {1} {2},
Toggle Filters,Togol Filter,
Too many columns. Export the report and print it using a spreadsheet application.,Terlalu banyak tiang. Mengeksport laporan dan mencetak penggunaan aplikasi spreadsheet.,
Tools,Tools,
Total (Credit),Jumlah: (Kredit),
Total (Without Tax),Jumlah (Tanpa Cukai),
Total Absent,Jumlah Tidak hadir,
Total Achieved,Jumlah Pencapaian,
Total Actual,Jumlah Sebenar,
Total Allocated Leaves,Jumlah Dikelilingi Daun,
Total Amount,Jumlah,
Total Amount Credited,Jumlah Jumlah Dikreditkan,
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Jumlah Caj Terpakai di Purchase meja Resit Item mesti sama dengan Jumlah Cukai dan Caj,
Total Budget,Jumlah Anggaran,
Total Collected: {0},Jumlah Dikumpul: {0},
Total Commission,Jumlah Suruhanjaya,
Total Contribution Amount: {0},Jumlah Jumlah Sumbangan: {0},
Total Credit/ Debit Amount should be same as linked Journal Entry,Jumlah Jumlah Kredit / Debit mestilah sama seperti Kemasukan Jurnal yang dipautkan,
Total Debit must be equal to Total Credit. The difference is {0},Jumlah Debit mesti sama dengan Jumlah Kredit. Perbezaannya ialah {0},
Total Deduction,Jumlah Potongan,
Total Invoiced Amount,Jumlah Invois,
Total Leaves,Jumlah Daun,
Total Order Considered,Jumlah Pesanan Dianggap,
Total Order Value,Jumlah Nilai Pesanan,
Total Outgoing,Jumlah Keluar,
Total Outstanding,Jumlah yang belum dijelaskan,
Total Outstanding Amount,Jumlah Cemerlang,
Total Outstanding: {0},Jumlah yang belum dijelaskan: {0},
Total Paid Amount,Jumlah Amaun Dibayar,
Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Jumlah Amaun Pembayaran dalam Jadual Pembayaran mestilah sama dengan Jumlah Besar / Bulat,
Total Payments,Jumlah Pembayaran,
Total Present,Jumlah Hadir,
Total Qty,Jumlah Kuantiti,
Total Quantity,Kuantiti keseluruhan,
Total Revenue,Jumlah Pendapatan,
Total Student,Jumlah Pelajar,
Total Target,Jumlah Sasaran,
Total Tax,Jumlah Cukai,
Total Taxable Amount,Jumlah Cukai Yang Boleh Dibayar,
Total Taxable Value,Jumlah Nilai Kenaikan,
Total Unpaid: {0},Jumlah Belum Dibayar: {0},
Total Variance,Jumlah Varian,
Total Weightage of all Assessment Criteria must be 100%,Jumlah Wajaran semua Kriteria Penilaian mesti 100%,
Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Pendahuluan ({0}) terhadap Perintah {1} tidak boleh lebih besar daripada Jumlah Besar ({2}),
Total advance amount cannot be greater than total claimed amount,Jumlah pendahuluan tidak boleh melebihi jumlah yang dituntut,
Total advance amount cannot be greater than total sanctioned amount,Jumlah jumlah pendahuluan tidak boleh lebih besar dari jumlah jumlah yang dibenarkan,
Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Jumlah daun yang diperuntukkan adalah lebih banyak hari daripada peruntukan maksimum {0} jenis cuti untuk pekerja {1} dalam tempoh tersebut,
Total allocated leaves are more than days in the period,Jumlah daun diperuntukkan lebih daripada hari-hari dalam tempoh yang,
Total allocated percentage for sales team should be 100,Jumlah peratusan yang diperuntukkan bagi pasukan jualan harus 100,
Total cannot be zero,Jumlah tidak boleh sifar,
Total contribution percentage should be equal to 100,Jumlah peratusan sumbangan hendaklah sama dengan 100,
Total flexible benefit component amount {0} should not be less than max benefits {1},Jumlah komponen faedah fleksibel {0} tidak boleh kurang daripada faedah max {1},
Total hours: {0},Jumlah jam: {0},
Total leaves allocated is mandatory for Leave Type {0},Jumlah daun yang diperuntukkan adalah wajib untuk Jenis Tinggalkan {0},
Total weightage assigned should be 100%. It is {0},Jumlah wajaran yang diberikan harus 100%. Ia adalah {0},
Total working hours should not be greater than max working hours {0},Jumlah jam kerja tidak harus lebih besar daripada waktu kerja max {0},
Total {0} ({1}),Jumlah {0} ({1}),
"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Jumlah {0} untuk semua barangan adalah sifar, mungkin anda perlu menukar &#39;Mengedarkan Caj Berasaskan&#39;",
Total(Amt),Jumlah (Amt),
Total(Qty),Jumlah (Kuantiti),
Traceability,kebolehkesanan,
Traceback,Traceback,
Track Leads by Lead Source.,Trek Memimpin oleh Sumber Utama.,
Training,Latihan,
Training Event,Event Training,
Training Events,Peristiwa Latihan,
Training Feedback,Maklum balas latihan,
Training Result,Keputusan Latihan,
Transaction,Transaksi,
Transaction Date,Transaksi Tarikh,
Transaction Type,Jenis Transaksi,
Transaction currency must be same as Payment Gateway currency,Mata wang urus niaga mesti sama dengan mata wang Pembayaran Gateway,
Transaction not allowed against stopped Work Order {0},Urus niaga yang tidak dibenarkan terhadap berhenti Kerja Perintah {0},
Transaction reference no {0} dated {1},Rujukan transaksi tidak {0} bertarikh {1},
Transactions,Urus niaga,
Transactions can only be deleted by the creator of the Company,Urusniaga hanya boleh dihapuskan oleh pencipta Syarikat,
Transfer,Pemindahan,
Transfer Material,Pemindahan Bahan,
Transfer Type,Jenis Pemindahan,
Transfer an asset from one warehouse to another,Pemindahan aset dari satu gudang yang lain,
Transfered,Dipindahkan,
Transferred Quantity,Kuantiti Pindah,
Transport Receipt Date,Tarikh Penerimaan Pengangkutan,
Transport Receipt No,Resit Pengangkutan No,
Transportation,Pengangkutan,
Transporter ID,ID Transporter,
Transporter Name,Nama Transporter,
Travel,Perjalanan,
Travel Expenses,Perbelanjaan perjalanan,
Tree Type,Tree Jenis,
Tree of Bill of Materials,Tree Rang Undang-Undang Bahan,
Tree of Item Groups.,Pohon Kumpulan Item.,
Tree of Procedures,Pokok Prosedur,
Tree of Quality Procedures.,Pokok Prosedur Kualiti.,
Tree of financial Cost Centers.,Tree of Centers Kos kewangan.,
Tree of financial accounts.,Tree akaun kewangan.,
Treshold {0}% appears more than once,Ambang {0}% muncul lebih daripada sekali,
Trial Period End Date Cannot be before Trial Period Start Date,Tarikh Akhir Tempoh Percubaan Tidak boleh sebelum Tarikh Mula Tempoh Percubaan,
Trialling,Menguji,
Type of Business,Jenis perniagaan,
Types of activities for Time Logs,Jenis aktiviti untuk Masa Balak,
UOM,UOM,
UOM Conversion factor is required in row {0},Faktor UOM Penukaran diperlukan berturut-turut {0},
UOM coversion factor required for UOM: {0} in Item: {1},Faktor coversion UOM diperlukan untuk UOM: {0} dalam Perkara: {1},
URL,URL,
Unable to find DocType {0},Tidak dapat mencari DocType {0},
Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Tidak dapat mencari kadar pertukaran untuk {0} kepada {1} untuk tarikh kunci {2}. Sila buat rekod Penukaran Mata Wang secara manual,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Tidak dapat mencari skor bermula pada {0}. Anda perlu mempunyai skor tetap yang meliputi 0 hingga 100,
Unable to find variable: ,Tidak dapat mencari variabel:,
Unblock Invoice,Buka Invois,
Uncheck all,Nyahtanda semua,
Unclosed Fiscal Years Profit / Loss (Credit),Unclosed fiskal Tahun Keuntungan / Kerugian (Kredit),
Unit,Unit,
Unit of Measure,Unit Tindakan,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unit Langkah {0} telah memasuki lebih daripada sekali dalam Factor Penukaran Jadual,
Unknown,Tidak diketahui,
Unpaid,Belum dibayar,
Unsecured Loans,Pinjaman Tidak Bercagar,
Unsubscribe from this Email Digest,Menghentikan langganan E-Digest,
Unsubscribed,Dilanggan,
Until,Sehingga,
Unverified Webhook Data,Data Webhook yang Tidak Ditandai,
Update Account Name / Number,Kemas kini Nama / Nombor Akaun,
Update Account Number / Name,Kemas kini Nombor / Nama Akaun,
Update Cost,Update Kos,
Update Items,Kemas kini Item,
Update Print Format,Update Cetak Format,
Update Response,Kemas kini Semula,
Update bank payment dates with journals.,Update tarikh pembayaran bank dengan jurnal.,
Update in progress. It might take a while.,Kemas kini sedang dijalankan. Ia mungkin mengambil sedikit masa.,
Update rate as per last purchase,Kadar kemas kini mengikut pembelian terakhir,
Update stock must be enable for the purchase invoice {0},Kemas kini stok mesti membolehkan invois belian {0},
Updating Variants...,Mengemas kini Variasi ...,
Upload your letter head and logo. (you can edit them later).,Memuat naik kepala surat dan logo. (Anda boleh mengeditnya kemudian).,
Upper Income,Pendapatan Atas,
Use Sandbox,Penggunaan Sandbox,
Used Leaves,Daun yang digunakan,
User,Pengguna,
User ID,ID Pengguna,
User ID not set for Employee {0},ID Pengguna tidak ditetapkan untuk Pekerja {0},
User Remark,Catatan pengguna,
User has not applied rule on the invoice {0},Pengguna tidak menggunakan peraturan pada invois {0},
User {0} already exists,Pengguna {0} sudah wujud,
User {0} created,Pengguna {0} dibuat,
User {0} does not exist,Pengguna {0} tidak wujud,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Pengguna {0} tidak mempunyai profil POS lalai. Semak lalai di Row {1} untuk Pengguna ini.,
User {0} is already assigned to Employee {1},Pengguna {0} telah diberikan kepada Pekerja {1},
User {0} is already assigned to Healthcare Practitioner {1},Pengguna {0} telah diberikan kepada Pengamal Penjagaan Kesihatan {1},
Users,Pengguna,
Utility Expenses,Perbelanjaan Utiliti,
Valid From Date must be lesser than Valid Upto Date.,Sah Dari Tarikh mestilah kurang daripada Tarikh Sehingga Valid.,
Valid Till,Sah sehingga,
Valid from and valid upto fields are mandatory for the cumulative,Sah dan sah sehingga bidang yang sah adalah mandatori untuk kumulatif,
Valid from date must be less than valid upto date,Sah dari tarikh mestilah kurang dari tarikh upto yang sah,
Valid till date cannot be before transaction date,Sah sehingga tarikh tidak boleh dibuat sebelum tarikh urus niaga,
Validity,Kesahan,
Validity period of this quotation has ended.,Tempoh sah tempoh sebut harga ini telah berakhir.,
Valuation Rate,Kadar Penilaian,
Valuation Rate is mandatory if Opening Stock entered,Kadar Penilaian adalah wajib jika Stok Awal memasuki,
Valuation type charges can not marked as Inclusive,Caj jenis penilaian tidak boleh ditandakan sebagai Inclusive,
Value Or Qty,Nilai atau qty,
Value Proposition,Tawaran nilai,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Nilai untuk Sifat {0} mesti berada dalam lingkungan {1} kepada {2} dalam kenaikan {3} untuk item {4},
Value missing,Nilai hilang,
Value must be between {0} and {1},Nilai mestilah antara {0} dan {1},
"Values of exempt, nil rated and non-GST inward supplies","Nilai-nilai yang dikecualikan, tidak diberi nilai dan bekalan masuk bukan CBP",
Variable,ubah,
Variance,Varian,
Variance ({}),Perbezaan ({}),
Variant,Varian,
Variant Attributes,Atribut varian,
Variant Based On cannot be changed,Berdasarkan Varian Tidak dapat diubah,
Variant Details Report,Laporan Butiran Variasi,
Variant creation has been queued.,Penciptaan variasi telah diberikan giliran.,
Vehicle Expenses,Perbelanjaan Kenderaan,
Vehicle No,Kenderaan Tiada,
Vehicle Type,jenis kenderaan,
Vehicle/Bus Number,Kenderaan / Nombor Bas,
Venture Capital,Modal teroka,
View Chart of Accounts,Lihat Carta Akaun,
View Fees Records,Lihat Rekod Bayaran,
View Form,Lihat Borang,
View Lab Tests,Lihat Ujian Makmal,
View Leads,Lihat Leads,
View Ledger,Lihat Lejar,
View Now,Lihat Sekarang,
View a list of all the help videos,Lihat senarai semua video bantuan,
View in Cart,Lihat dalam Troli,
Visit report for maintenance call.,Lawati laporan untuk panggilan penyelenggaraan.,
Visit the forums,Lawati forum,
Vital Signs,Tanda-tanda penting,
Volunteer,Sukarelawan,
Volunteer Type information.,Maklumat Taip Sukarelawan.,
Volunteer information.,Maklumat sukarela.,
Voucher #,Baucer #,
Voucher No,Baucer Tiada,
Voucher Type,Baucer Jenis,
WIP Warehouse,WIP Gudang,
Walk In,Berjalan Dalam,
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Gudang tidak boleh dihapuskan kerana penyertaan saham lejar wujud untuk gudang ini.,
Warehouse cannot be changed for Serial No.,Gudang tidak boleh diubah untuk No. Siri,
Warehouse is mandatory,Warehouse adalah wajib,
Warehouse is mandatory for stock Item {0} in row {1},Gudang adalah wajib bagi saham Perkara {0} berturut-turut {1},
Warehouse not found in the system,Gudang tidak dijumpai di dalam sistem,
"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Gudang diperlukan di Row No {0}, sila tetapkan gudang lalai untuk item {1} untuk syarikat {2}",
Warehouse required for stock Item {0},Gudang diperlukan untuk saham Perkara {0},
Warehouse {0} can not be deleted as quantity exists for Item {1},Gudang {0} tidak boleh dihapuskan sebagai kuantiti wujud untuk Perkara {1},
Warehouse {0} does not belong to company {1},Gudang {0} bukan milik syarikat {1},
Warehouse {0} does not exist,Gudang {0} tidak wujud,
"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} tidak dikaitkan dengan mana-mana akaun, sila sebutkan akaun dalam rekod gudang atau menetapkan akaun inventori lalai dalam syarikat {1}.",
Warehouses with child nodes cannot be converted to ledger,Gudang dengan nod kanak-kanak tidak boleh ditukar ke dalam lejar,
Warehouses with existing transaction can not be converted to group.,Gudang dengan urus niaga yang sedia ada tidak boleh ditukar kepada kumpulan.,
Warehouses with existing transaction can not be converted to ledger.,Gudang dengan urus niaga yang sedia ada tidak boleh ditukar ke dalam lejar.,
Warning,Amaran,
Warning: Another {0} # {1} exists against stock entry {2},Amaran: Satu lagi {0} # {1} wujud terhadap kemasukan saham {2},
Warning: Invalid SSL certificate on attachment {0},Amaran: Sijil SSL tidak sah pada lampiran {0},
Warning: Invalid attachment {0},Amaran: Lampiran sah {0},
Warning: Leave application contains following block dates,Amaran: Tinggalkan permohonan mengandungi tarikh blok berikut,
Warning: Material Requested Qty is less than Minimum Order Qty,Amaran: Bahan Kuantiti yang diminta adalah kurang daripada Minimum Kuantiti Pesanan,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Amaran: Sales Order {0} telah wujud terhadap Perintah Pembelian Pelanggan {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Amaran: Sistem tidak akan semak overbilling sejak jumlah untuk Perkara {0} dalam {1} adalah sifar,
Warranty,jaminan,
Warranty Claim,Jaminan Tuntutan,
Warranty Claim against Serial No.,Jaminan Tuntutan terhadap No. Siri,
Website,Laman web,
Website Image should be a public file or website URL,Laman web Image perlu fail awam atau URL laman web,
Website Image {0} attached to Item {1} cannot be found,Laman web Image {0} melekat Perkara {1} tidak boleh didapati,
Website Listing,Penyenaraian Laman Web,
Website Manager,Laman Web Pengurus,
Website Settings,Tetapan laman web,
Wednesday,Rabu,
Week,minggu,
Weekdays,Harijadi,
Weekly,Mingguan,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Berat disebutkan, \ nSila menyebut &quot;Berat UOM&quot; terlalu",
Welcome email sent,Selamat datang menghantar e-mel,
Welcome to ERPNext,Selamat datang ke ERPNext,
What do you need help with?,Apa yang anda perlu membantu dengan?,
What does it do?,Apa yang ia buat?,
Where manufacturing operations are carried.,Tempat operasi pembuatan dijalankan.,
"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Semasa membuat akaun untuk Anak Syarikat {0}, akaun induk {1} tidak dijumpai. Sila buat akaun induk dalam COA yang bersesuaian",
White,White,
Wire Transfer,Wire Transfer,
WooCommerce Products,Produk WooCommerce,
Work In Progress,Kerja Dalam Kemajuan,
Work Order,Arahan kerja,
Work Order already created for all items with BOM,Perintah Kerja sudah dibuat untuk semua item dengan BOM,
Work Order cannot be raised against a Item Template,Perintah Kerja tidak boleh dibangkitkan terhadap Template Item,
Work Order has been {0},Perintah Kerja telah {0},
Work Order not created,Perintah Kerja tidak dibuat,
Work Order {0} must be cancelled before cancelling this Sales Order,Perintah Kerja {0} mesti dibatalkan sebelum membatalkan Perintah Jualan ini,
Work Order {0} must be submitted,Perintah Kerja {0} mesti dihantar,
Work Orders Created: {0},Perintah Kerja Dibuat: {0},
Work Summary for {0},Ringkasan Kerja untuk {0},
Work-in-Progress Warehouse is required before Submit,Kerja dalam Kemajuan Gudang diperlukan sebelum Hantar,
Workflow,Aliran kerja,
Working,Kerja,
Working Hours,Waktu Bekerja,
Workstation,Stesen kerja,
Workstation is closed on the following dates as per Holiday List: {0},Workstation ditutup pada tarikh-tarikh berikut seperti Senarai Holiday: {0},
Wrapping up,Mengakhiri,
Wrong Password,Salah kata laluan,
Year start date or end date is overlapping with {0}. To avoid please set company,Tahun tarikh mula atau tarikh akhir adalah bertindih dengan {0}. Untuk mengelakkan sila menetapkan syarikat,
You are not authorized to add or update entries before {0},Anda tidak dibenarkan untuk menambah atau update entri sebelum {0},
You are not authorized to approve leaves on Block Dates,Anda tiada kebenaran untuk meluluskan daun pada Tarikh Sekat,
You are not authorized to set Frozen value,Anda tiada kebenaran untuk menetapkan nilai Beku,
You are not present all day(s) between compensatory leave request days,Anda tidak hadir sepanjang hari antara hari permintaan cuti pampasan,
You can not change rate if BOM mentioned agianst any item,Anda tidak boleh mengubah kadar jika BOM disebut agianst sebarang perkara,
You can not enter current voucher in 'Against Journal Entry' column,Anda tidak boleh memasuki baucar semasa dalam &#39;Terhadap Journal Entry&#39; ruangan,
You can only have Plans with the same billing cycle in a Subscription,Anda hanya boleh mempunyai Pelan dengan kitaran pengebilan yang sama dalam Langganan,
You can only redeem max {0} points in this order.,Anda hanya boleh menebus maks {0} mata dalam urutan ini.,
You can only renew if your membership expires within 30 days,Anda hanya boleh memperbaharui sekiranya keahlian anda tamat tempoh dalam masa 30 hari,
You can only select a maximum of one option from the list of check boxes.,Anda hanya boleh memilih maksimum satu pilihan dari senarai kotak semak.,
You can only submit Leave Encashment for a valid encashment amount,Anda hanya boleh menyerahkan Tolak Encik untuk jumlah encashment yang sah,
You can't redeem Loyalty Points having more value than the Grand Total.,Anda tidak boleh menebus Mata Kesetiaan yang mempunyai nilai lebih daripada Grand Total.,
You cannot credit and debit same account at the same time,Anda tidak boleh kredit dan debit akaun sama pada masa yang sama,
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Anda tidak boleh memadam Tahun Anggaran {0}. Tahun Anggaran {0} ditetapkan sebagai piawai dalam Tetapan Global,
You cannot delete Project Type 'External',Anda tidak boleh memadam Jenis Projek &#39;Luar&#39;,
You cannot edit root node.,Anda tidak boleh mengedit nod akar.,
You cannot restart a Subscription that is not cancelled.,Anda tidak boleh memulakan semula Langganan yang tidak dibatalkan.,
You don't have enought Loyalty Points to redeem,Anda tidak mempunyai mata Kesetiaan yang cukup untuk menebusnya,
You have already assessed for the assessment criteria {}.,Anda telah pun dinilai untuk kriteria penilaian {}.,
You have already selected items from {0} {1},Anda telah memilih barangan dari {0} {1},
You have been invited to collaborate on the project: {0},Anda telah dijemput untuk bekerjasama dalam projek: {0},
You have entered duplicate items. Please rectify and try again.,Anda telah memasukkan perkara yang sama. Sila membetulkan dan cuba lagi.,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Anda perlu menjadi pengguna selain Pentadbir dengan Pengurus Sistem dan peranan Pengurus Item untuk mendaftar di Marketplace.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Anda perlu menjadi pengguna dengan Pengurus Sistem dan peranan Pengurus Item untuk menambah pengguna ke Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Anda perlu menjadi pengguna dengan Pengurus Sistem dan peranan Pengurus Item untuk mendaftar di Marketplace.,
You need to be logged in to access this page,Anda perlu log masuk untuk mengakses halaman ini,
You need to enable Shopping Cart,Anda perlu untuk membolehkan Troli,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Anda akan kehilangan rekod invois yang dijana sebelum ini. Adakah anda pasti mahu memulakan semula langganan ini?,
Your Organization,Organisasi anda,
Your cart is Empty,Troli anda kosong,
Your email address...,Alamat e-mel anda ...,
Your order is out for delivery!,Pesanan anda untuk penghantaran!,
Your tickets,Tiket anda,
ZIP Code,Poskod,
[Error],[Ralat],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Borang / Item / {0}) kehabisan stok,
`Freeze Stocks Older Than` should be smaller than %d days.,`Bekukan Stok Yang Lebih Lama Dari` hendaklah lebih kecil daripada %d hari.,
based_on,berdasarkan,
cannot be greater than 100,tidak boleh lebih besar daripada 100,
disabled user,pengguna orang kurang upaya,
"e.g. ""Build tools for builders""",contohnya &quot;Membina alat bagi pembina&quot;,
"e.g. ""Primary School"" or ""University""",contohnya &quot;Sekolah Rendah&quot; atau &quot;Universiti&quot;,
"e.g. Bank, Cash, Credit Card","contohnya Bank, Tunai, Kad Kredit",
hidden,tersembunyi,
modified,diubahsuai,
old_parent,old_parent,
on,pada,
{0} '{1}' is disabled,{0} '{1}' dinyahupayakan,
{0} '{1}' not in Fiscal Year {2},{0} '{1}' tidak dalam Tahun Kewangan {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) tidak boleh melebihi kuantiti terancang ({2}) dalam Perintah Kerja {3},
{0} - {1} is inactive student,{0} - {1} adalah pelajar aktif,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} tidak mendaftar dalam Batch {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} tidak mendaftar di Kursus {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Bajet akaun {1} daripada {2} {3} adalah {4}. Ia akan melebihi oleh {5},
{0} Digest,{0} Digest,
{0} Request for {1},{0} Permintaan untuk {1},
{0} Result submittted,Keputusan {0} diserahkan,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} nombor siri yang diperlukan untuk item {1}. Anda telah menyediakan {2}.,
{0} Student Groups created.,{0} Kumpulan Pelajar diwujudkan.,
{0} Students have been enrolled,{0} Pelajar telah didaftarkan,
{0} against Bill {1} dated {2},{0} terhadap Bil {1} bertarikh {2},
{0} against Purchase Order {1},{0} terhadap Permintaan Pembelian {1},
{0} against Sales Invoice {1},{0} terhadap Invois Jualan  {1},
{0} against Sales Order {1},{0} terhadap Permintaan Jualan {1},
{0} already allocated for Employee {1} for period {2} to {3},{0} telah diperuntukkan untuk pekerja {1} untuk tempoh {2} kepada {3},
{0} applicable after {1} working days,{0} terpakai selepas {1} hari bekerja,
{0} asset cannot be transferred,{0} aset tidak boleh dipindahkan,
{0} can not be negative,{0} tidak boleh negatif,
{0} created,{0} dihasilkan,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} pada masa ini mempunyai {1} Pembekal Kad Skor Pembekal, dan Pesanan Pembelian kepada pembekal ini perlu dikeluarkan dengan berhati-hati.",
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} pada masa ini mempunyai {1} Kedudukan Pembekal Kad Pengeluar, dan RFQ untuk pembekal ini perlu dikeluarkan dengan berhati-hati.",
{0} does not belong to Company {1},{0} bukan milik Syarikat {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} tidak mempunyai Jadual Pengamal Penjagaan Kesihatan. Tambahnya dalam tuan Pengamal Penjagaan Kesihatan,
{0} entered twice in Item Tax,{0} dimasukkan dua kali dalam Cukai Perkara,
{0} for {1},{0} untuk {1},
{0} has been submitted successfully,{0} telah berjaya diserahkan,
{0} has fee validity till {1},{0} mempunyai kesahan bayaran sehingga {1},
{0} hours,{0} jam,
{0} in row {1},{0} dalam baris {1},
{0} is blocked so this transaction cannot proceed,{0} disekat supaya transaksi ini tidak dapat diteruskan,
{0} is mandatory,{0} adalah wajib,
{0} is mandatory for Item {1},{0} adalah wajib bagi Perkara {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} adalah wajib. Mungkin rekod Pertukaran Matawang tidak dihasilkan untuk {1} hingga {2}.,
{0} is not a stock Item,{0} bukan perkara stok,
{0} is not a valid Batch Number for Item {1},{0} bukan Nombor Kumpulan sah untuk Perkara {1},
{0} is not added in the table,{0} tidak ditambah dalam jadual,
{0} is not in Optional Holiday List,{0} tidak termasuk dalam Senarai Percutian Pilihan,
{0} is not in a valid Payroll Period,{0} tidak dalam Tempoh Gaji yang sah,
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} kini Tahun Anggaran asalan. Sila muat semula browser anda untuk mengemaskini perubahan,
{0} is on hold till {1},{0} ditangguhkan sehingga {1},
{0} item found.,{0} item dijumpai.,
{0} items found.,{0} item dijumpai.,
{0} items in progress,{0} item dalam kemajuan,
{0} items produced,{0} barangan yang dihasilkan,
{0} must appear only once,{0} mesti muncul hanya sekali,
{0} must be negative in return document,{0} mesti negatif dalam dokumen pulangan,
{0} must be submitted,{0} mesti dikemukakan,
{0} not allowed to transact with {1}. Please change the Company.,{0} tidak dibenarkan berurusniaga dengan {1}. Sila tukar Syarikat.,
{0} not found for item {1},{0} tidak dijumpai untuk item {1},
{0} parameter is invalid,Parameter {0} tidak sah,
{0} payment entries can not be filtered by {1},{0} entri bayaran tidak boleh ditapis oleh {1},
{0} should be a value between 0 and 100,{0} harus bernilai antara 0 dan 100,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} unit [{1}] (# Borang / Item / {1}) yang terdapat di [{2}] (# Borang / Gudang / {2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} unit {1} diperlukan dalam {2} pada {3} {4} untuk {5} untuk melengkapkan urus niaga ini.,
{0} units of {1} needed in {2} to complete this transaction.,{0} unit {1} diperlukan dalam {2} untuk melengkapkan urus niaga ini.,
{0} valid serial nos for Item {1},{0} nombor siri sah untuk Perkara {1},
{0} variants created.,{0} varian dibuat.,
{0} {1} created,{0} {1} dicipta,
{0} {1} does not exist,{0} {1} tidak wujud,
{0} {1} does not exist.,{0} {1} tidak wujud.,
{0} {1} has been modified. Please refresh.,{0} {1} telah diubah suai. Sila muat semula.,
{0} {1} has not been submitted so the action cannot be completed,{0} {1} belum dikemukakan supaya tindakan itu tidak boleh diselesaikan,
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} dikaitkan dengan {2}, tetapi Akaun Parti adalah {3}",
{0} {1} is cancelled or closed,{0} {1} batal atau ditutup,
{0} {1} is cancelled or stopped,{0} {1} dibatalkan atau dihentikan,
{0} {1} is cancelled so the action cannot be completed,{0} {1} dibatalkan supaya tindakan itu tidak boleh diselesaikan,
{0} {1} is closed,{0} {1} adalah ditutup,
{0} {1} is disabled,{0} {1} dilumpuhkan,
{0} {1} is frozen,{0} {1} dibekukan,
{0} {1} is fully billed,{0} {1} telah dibil sepenuhnya,
{0} {1} is not active,{0} {1} tidak aktif,
{0} {1} is not associated with {2} {3},{0} {1} tidak dikaitkan dengan {2} {3},
{0} {1} is not present in the parent company,{0} {1} tidak terdapat di syarikat induk,
{0} {1} is not submitted,{0} {1} tidak diserahkan,
{0} {1} is {2},{0} {1} ialah {2},
{0} {1} must be submitted,{0} {1} mestilah diserahkan,
{0} {1} not in any active Fiscal Year.,{0} {1} tidak dalam apa-apa aktif Tahun Anggaran.,
{0} {1} status is {2},{0} {1} status adalah {2},
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &#39;Untung Rugi&#39; akaun jenis {2} tidak dibenarkan dalam Membuka Kemasukan,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Akaun {2} bukan milik Syarikat {3},
{0} {1}: Account {2} is inactive,{0} {1}: Akaun {2} tidak aktif,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Kemasukan Perakaunan untuk {2} hanya boleh dibuat dalam mata wang: {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Pusat Kos adalah wajib bagi Perkara {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}: Pusat Kos yang diperlukan untuk akaun &#39;Untung Rugi&#39; {2}. Sila menubuhkan Pusat Kos lalai untuk Syarikat.,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: PTJ {2} bukan milik Syarikat {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}: Pelanggan dikehendaki terhadap akaun Belum Terima {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Sama ada debit atau jumlah kredit diperlukan untuk {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Pembekal diperlukan terhadap akaun Dibayar {2},
{0}% Billed,{0}% Dibilkan,
{0}% Delivered,{0}% Dihantar,
"{0}: Employee email not found, hence email not sent","{0}: E-mel pekerja tidak dijumpai, maka e-mel tidak dihantar",
{0}: From {0} of type {1},{0}: Dari {0} dari jenis {1},
{0}: From {1},{0}: Dari {1},
{0}: {1} does not exists,{0}: {1} tidak wujud,
{0}: {1} not found in Invoice Details table,{0}: {1} tidak terdapat dalam jadual Butiran Invois,
{} of {},{} of {},
Chat,Chat,
Completed By,Selesai oleh,
Conditions,Syarat-syarat,
County,Daerah,
Day of Week,Hari Minggu,
"Dear System Manager,","Pengurus Sistem yang dihormati,",
Default Value,Nilai lalai,
Email Group,e-mel Group,
Email Settings,Tetapan e-mel,
Email not sent to {0} (unsubscribed / disabled),E-mel tidak dihantar kepada {0} (berhenti melanggan / kurang upaya),
Error Message,Mesej Ralat,
Fieldtype,Fieldtype,
Help Articles,bantuan Artikel,
ID,ID,
Images,Images,
Import,Import,
Language,Bahasa,
Likes,Suka,
Merge with existing,Bergabung dengan yang sedia ada,
Office,Pejabat,
Orientation,orientasi,
Passive,Pasif,
Percent,Peratus,
Permanent,tetap,
Personal,Peribadi,
Plant,Loji,
Post,Post,
Postal,Pos,
Postal Code,Poskod,
Previous,Sebelumnya,
Provider,Pembekal,
Read Only,Baca Sahaja,
Recipient,Penerima,
Reviews,Ulasan,
Sender,Penghantar,
Shop,Kedai,
Sign Up,Daftar,
Subsidiary,Anak Syarikat,
There is some problem with the file url: {0},Terdapat beberapa masalah dengan url fail: {0},
There were errors while sending email. Please try again.,Terdapat ralat semasa menghantar e-mel. Sila cuba sekali lagi.,
Values Changed,nilai Berubah,
or,atau,
Ageing Range 4,Julat Penuaan 4,
Allocated amount cannot be greater than unadjusted amount,Jumlah yang diperuntukkan tidak boleh melebihi amaun tidak dilaraskan,
Allocated amount cannot be negative,Jumlah yang diperuntukkan tidak boleh menjadi negatif,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Akaun Perbezaan mesti menjadi akaun jenis Aset / Liabiliti, kerana Penyertaan Saham ini merupakan Kemasukan Pembukaan",
Error in some rows,Ralat dalam beberapa baris,
Import Successful,Import berjaya,
Please save first,Sila simpan dahulu,
Price not found for item {0} in price list {1},Harga tidak dijumpai untuk item {0} dalam senarai harga {1},
Warehouse Type,Jenis Gudang,
'Date' is required,&#39;Tarikh&#39; diperlukan,
Benefit,Manfaat,
Budgets,Belanjawan,
Bundle Qty,Bundle Qty,
Company GSTIN,Syarikat GSTIN,
Company field is required,Bidang syarikat diperlukan,
Creating Dimensions...,Membuat Dimensi ...,
Duplicate entry against the item code {0} and manufacturer {1},Kemasukan salinan terhadap kod item {0} dan pengilang {1},
Import Chart Of Accounts from CSV / Excel files,Import Carta Akaun dari fail CSV / Excel,
Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,GSTIN tidak sah! Input yang anda masukkan tidak sepadan dengan format GSTIN untuk Penyedia Perkhidmatan OIDAR Pemegang UIN atau Bukan Pemastautin,
Invoice Grand Total,Jumlah Besar Invois,
Last carbon check date cannot be a future date,Tarikh pemeriksaan karbon terakhir tidak boleh menjadi tarikh yang akan datang,
Make Stock Entry,Buat Entri Saham,
Quality Feedback,Maklum balas Kualiti,
Quality Feedback Template,Template Maklum Balas Kualiti,
Rules for applying different promotional schemes.,Kaedah untuk memohon skim promosi yang berbeza.,
Shift,Shift,
Show {0},Tunjukkan {0},
"Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Watak Khas kecuali &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Dan &quot;}&quot; tidak dibenarkan dalam siri penamaan",
Target Details,Butiran Sasaran,
API,API,
Annual,Tahunan,
Approved,Diluluskan,
Change,Perubahan,
Contact Email,Hubungi E-mel,
Export Type,Jenis Eksport,
From Date,Dari Tarikh,
Group By,Kumpulan Oleh,
Importing {0} of {1},Mengimport {0} daripada {1},
Invalid URL,URL tidak sah,
Landscape,Landskap,
Last Sync On,Penyegerakan Terakhir,
Naming Series,Menamakan Siri,
No data to export,Tiada data untuk dieksport,
Portrait,Potret,
Print Heading,Cetak Kepala,
Show Document,Tunjukkan Dokumen,
Show Traceback,Tunjukkan Traceback,
Video,Video,
Webhook Secret,Webhook Secret,
% Of Grand Total,% Daripada jumlah keseluruhan,
'employee_field_value' and 'timestamp' are required.,&#39;employee_field_value&#39; dan &#39;cap waktu&#39; diperlukan.,
<b>Company</b> is a mandatory filter.,<b>Syarikat</b> adalah penapis mandatori.,
<b>From Date</b> is a mandatory filter.,<b>Dari Tarikh</b> adalah penapis mandatori.,
<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>Dari Masa</b> tidak boleh melebihi <b>Masa Untuk</b> {0},
<b>To Date</b> is a mandatory filter.,<b>Untuk Tarikh</b> adalah penapis mandatori.,
A new appointment has been created for you with {0},Pelantikan baru telah dibuat untuk anda dengan {0},
Account Value,Nilai Akaun,
Account is mandatory to get payment entries,Akaun adalah wajib untuk mendapatkan penyertaan pembayaran,
Account is not set for the dashboard chart {0},Akaun tidak ditetapkan untuk carta papan pemuka {0},
Account {0} does not belong to company {1},Akaun {0} bukan milik Syarikat {1},
Account {0} does not exists in the dashboard chart {1},Akaun {0} tidak wujud dalam carta papan pemuka {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Akaun: <b>{0}</b> adalah modal Kerja dalam proses dan tidak dapat dikemas kini oleh Kemasukan Jurnal,
Account: {0} is not permitted under Payment Entry,Akaun: {0} tidak dibenarkan di bawah Penyertaan Bayaran,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Dimensi Perakaunan <b>{0}</b> diperlukan untuk akaun &#39;Kunci Kira-kira&#39; {1}.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Dimensi Perakaunan <b>{0}</b> diperlukan untuk akaun &#39;Keuntungan dan Kerugian&#39; {1}.,
Accounting Masters,Perakaunan Master,
Accounting Period overlaps with {0},Tempoh Perakaunan bertindih dengan {0},
Activity,Aktiviti,
Add / Manage Email Accounts.,Tambah / Urus Akaun E-mel.,
Add Child,Tambah Anak,
Add Loan Security,Tambah Keselamatan Pinjaman,
Add Multiple,menambah Pelbagai,
Add Participants,Tambah Peserta,
Add to Featured Item,Tambah ke Item Pilihan,
Add your review,Tambah ulasan anda,
Add/Edit Coupon Conditions,Tambah / Edit Syarat Kupon,
Added to Featured Items,Ditambah pada Item Pilihan,
Added {0} ({1}),Ditambah {0} ({1}),
Address Line 1,Alamat Baris 1,
Addresses,Alamat,
Admission End Date should be greater than Admission Start Date.,Tarikh Akhir Kemasukan hendaklah lebih besar daripada Tarikh Permulaan Kemasukan.,
Against Loan,Terhadap Pinjaman,
Against Loan:,Terhadap Pinjaman:,
All,Semua,
All bank transactions have been created,Semua transaksi bank telah dibuat,
All the depreciations has been booked,Semua susut nilai telah ditempah,
Allocation Expired!,Peruntukan Tamat Tempoh!,
Allow Resetting Service Level Agreement from Support Settings.,Benarkan Perjanjian Tahap Perkhidmatan Reset dari Tetapan Sokongan.,
Amount of {0} is required for Loan closure,Jumlah {0} diperlukan untuk penutupan Pinjaman,
Amount paid cannot be zero,Jumlah yang dibayar tidak boleh menjadi sifar,
Applied Coupon Code,Kod Kupon Gunaan,
Apply Coupon Code,Guna Kod Kupon,
Appointment Booking,Tempahan Pelantikan,
"As there are existing transactions against item {0}, you can not change the value of {1}","Oleh kerana terdapat urus niaga yang sedia ada terhadap item {0}, anda tidak boleh menukar nilai {1}",
Asset Id,Id Asset,
Asset Value,Nilai Aset,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Pelarasan Nilai Aset tidak boleh diposkan sebelum tarikh pembelian Aset <b>{0}</b> .,
Asset {0} does not belongs to the custodian {1},Aset {0} tidak tergolong dalam kustodian {1},
Asset {0} does not belongs to the location {1},Aset {0} tidak tergolong dalam lokasi {1},
At least one of the Applicable Modules should be selected,Sekurang-kurangnya salah satu daripada Modul yang berkenaan harus dipilih,
Atleast one asset has to be selected.,Atleast satu aset perlu dipilih.,
Attendance Marked,Kehadiran ditandakan,
Attendance has been marked as per employee check-ins,Kehadiran telah ditandakan sebagai setiap daftar masuk pekerja,
Authentication Failed,Pengesahan gagal,
Automatic Reconciliation,Perdamaian automatik,
Available For Use Date,Tarikh Tersedia Untuk Penggunaan,
Available Stock,Stok Tersedia,
"Available quantity is {0}, you need {1}","Kuantiti yang ada ialah {0}, anda perlukan {1}",
BOM 1,BOM 1,
BOM 2,BOM 2,
BOM Comparison Tool,Alat Perbandingan BOM,
BOM recursion: {0} cannot be child of {1},Kaedah BOM: {0} tidak boleh menjadi kanak-kanak {1},
BOM recursion: {0} cannot be parent or child of {1},Kaedah BOM: {0} tidak boleh menjadi ibu bapa atau anak {1},
Back to Home,Kembali ke rumah,
Back to Messages,Kembali ke Mesej,
Bank Data mapper doesn't exist,Mapper Data Bank tidak wujud,
Bank Details,Butiran Bank,
Bank account '{0}' has been synchronized,Akaun bank &#39;{0}&#39; telah disegerakkan,
Bank account {0} already exists and could not be created again,Akaun bank {0} sudah wujud dan tidak boleh dibuat lagi,
Bank accounts added,Akaun bank ditambah,
Batch no is required for batched item {0},Batch tidak diperlukan untuk item yang dibatal {0},
Billing Date,Tarikh bil,
Billing Interval Count cannot be less than 1,Pengiraan Interval Pengebilan tidak boleh kurang daripada 1,
Blue,Blue,
Book,Buku,
Book Appointment,Pelantikan Buku,
Brand,Jenama,
Browse,Tinjau,
Call Connected,Panggilan Terhubung,
Call Disconnected,Panggilan Terputus,
Call Missed,Panggilan Terlepas,
Call Summary,Ringkasan panggilan,
Call Summary Saved,Ringkasan Panggilan Disimpan,
Cancelled,Dibatalkan,
Cannot Calculate Arrival Time as Driver Address is Missing.,Tidak Dapat Kira Masa Kedatangan Sebagai Alamat Pemandu Hilang.,
Cannot Optimize Route as Driver Address is Missing.,Tidak Dapat Mengoptimumkan Laluan sebagai Alamat Pemandu Hilang.,
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Tidak dapat menyelesaikan tugas {0} sebagai tugasnya bergantung {1} tidak selesai / dibatalkan.,
Cannot create loan until application is approved,Tidak boleh membuat pinjaman sehingga permohonan diluluskan,
Cannot find a matching Item. Please select some other value for {0}.,Tidak dapat mencari Item yang sepadan. Sila pilih beberapa nilai lain untuk {0}.,
"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Tidak boleh mengatasi Perkara {0} dalam baris {1} lebih daripada {2}. Untuk membenarkan lebihan pengebilan, sila tentukan peruntukan dalam Tetapan Akaun",
"Capacity Planning Error, planned start time can not be same as end time","Kesalahan Perancangan Kapasiti, masa permulaan yang dirancang tidak boleh sama dengan masa tamat",
Categories,Kategori,
Changes in {0},Perubahan dalam {0},
Chart,Carta,
Choose a corresponding payment,Pilih pembayaran yang sepadan,
Click on the link below to verify your email and confirm the appointment,Klik pada pautan di bawah untuk mengesahkan e-mel anda dan mengesahkan pelantikan,
Close,Tutup,
Communication,Komunikasi,
Compact Item Print,Compact Perkara Cetak,
Company,Syarikat,
Company of asset {0} and purchase document {1} doesn't matches.,Syarikat aset {0} dan dokumen pembelian {1} tidak sepadan.,
Compare BOMs for changes in Raw Materials and Operations,Bandingkan BOM untuk perubahan Bahan Baku dan Operasi,
Compare List function takes on list arguments,Bandingkan fungsi Senarai mengambil argumen senarai,
Complete,Lengkap,
Completed,Siap,
Completed Quantity,Kuantiti Siap,
Connect your Exotel Account to ERPNext and track call logs,Sambungkan Akaun Exotel anda ke ERPNext dan lacak log panggilan,
Connect your bank accounts to ERPNext,Sambungkan akaun bank anda ke ERPNext,
Contact Seller,Hubungi Penjual,
Continue,Teruskan,
Cost Center: {0} does not exist,Pusat Kos: {0} tidak wujud,
Couldn't Set Service Level Agreement {0}.,Tidak dapat Tetapkan Perjanjian Tahap Perkhidmatan {0}.,
Country,Negara,
Country Code in File does not match with country code set up in the system,Kod Negara dalam Fail tidak sepadan dengan kod negara yang ditetapkan dalam sistem,
Create New Contact,Buat Kenalan Baru,
Create New Lead,Buat Pemimpin Baru,
Create Pick List,Buat Senarai Pilih,
Create Quality Inspection for Item {0},Buat Pemeriksaan Kualiti untuk Item {0},
Creating Accounts...,Membuat Akaun ...,
Creating bank entries...,Mewujudkan penyertaan bank ...,
Creating {0},Mewujudkan {0},
Credit limit is already defined for the Company {0},Had kredit telah ditakrifkan untuk Syarikat {0},
Ctrl + Enter to submit,Ctrl + Enter untuk dihantar,
Ctrl+Enter to submit,Ctrl + Enter untuk dihantar,
Currency,Mata Wang,
Current Status,Status semasa,
Customer PO,Pelanggan PO,
Customize,Menyesuaikan,
Daily,Daily,
Date,Tarikh,
Date Range,Julat tarikh,
Date of Birth cannot be greater than Joining Date.,Tarikh Lahir tidak boleh melebihi Tarikh Bergabung.,
Dear,Dear,
Default,Default,
Define coupon codes.,Tentukan kod kupon.,
Delayed Days,Hari Kelewatan,
Delete,Padam,
Delivered Quantity,Kuantiti yang Dihantar,
Delivery Notes,Nota penghantaran,
Depreciated Amount,Jumlah Susut Nilai,
Description,Penerangan,
Designation,Jawatan,
Difference Value,Nilai Perbezaan,
Dimension Filter,Penapis Dimensi,
Disabled,Orang kurang upaya,
Disbursement and Repayment,Pengeluaran dan Pembayaran Balik,
Distance cannot be greater than 4000 kms,Jarak tidak boleh melebihi 4000 km,
Do you want to submit the material request,Adakah anda ingin mengemukakan permintaan bahan,
Doctype,DocType,
Document {0} successfully uncleared,Dokumen {0} berjaya dibersihkan,
Download Template,Muat turun Template,
Dr,Dr,
Due Date,Tarikh Akhir,
Duplicate,Salinan,
Duplicate Project with Tasks,Projek Pendua dengan Tugas,
Duplicate project has been created,Projek duplikat telah dibuat,
E-Way Bill JSON can only be generated from a submitted document,Rang Undang-undang JSON e-Way hanya boleh dihasilkan daripada dokumen yang dikemukakan,
E-Way Bill JSON can only be generated from submitted document,Bil JSON e-Way hanya boleh dihasilkan daripada dokumen yang dikemukakan,
E-Way Bill JSON cannot be generated for Sales Return as of now,Bil JSON e-Way tidak dapat dijana untuk Pulangan Jualan sehingga sekarang,
ERPNext could not find any matching payment entry,ERPNext tidak dapat mencari sebarang entri pembayaran yang sepadan,
Earliest Age,Umur terawal,
Edit Details,Edit Butiran,
Edit Profile,Sunting profil,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,Sama ada ID Transporter GST atau No Kenderaan diperlukan jika Mod Pengangkutan adalah Jalan,
Email,E-mel,
Email Campaigns,Kempen E-mel,
Employee ID is linked with another instructor,ID pekerja dikaitkan dengan instruktur lain,
Employee Tax and Benefits,Cukai dan Faedah Pekerja,
Employee is required while issuing Asset {0},Pekerja diperlukan semasa mengeluarkan Asset {0},
Employee {0} does not belongs to the company {1},Pekerja {0} tidak tergolong dalam syarikat {1},
Enable Auto Re-Order,Dayakan Perintah Semula Automatik,
End Date of Agreement can't be less than today.,Tarikh Akhir Perjanjian tidak boleh kurang dari hari ini.,
End Time,Akhir Masa,
Energy Point Leaderboard,Leaderboard Tenaga Tenaga,
Enter API key in Google Settings.,Masukkan kunci API dalam Tetapan Google.,
Enter Supplier,Masukkan Pembekal,
Enter Value,Masukkan Nilai,
Entity Type,Jenis Entiti,
Error,Ralat,
Error in Exotel incoming call,Ralat dalam panggilan masuk Exotel,
Error: {0} is mandatory field,Ralat: {0} adalah medan wajib,
Event Link,Pautan Acara,
Exception occurred while reconciling {0},Pengecualian berlaku semasa mendamaikan {0},
Expected and Discharge dates cannot be less than Admission Schedule date,Tarikh yang dijangkakan dan Discharge tidak boleh kurang daripada tarikh Jadual Kemasukan,
Expire Allocation,Tamat Tempoh Alokasi,
Expired,Tamat,
Export,Eksport,
Export not allowed. You need {0} role to export.,Eksport tidak dibenarkan. Anda perlu {0} peranan untuk eksport.,
Failed to add Domain,Gagal menambah Domain,
Fetch Items from Warehouse,Ambil Item dari Gudang,
Fetching...,Mengambil ...,
Field,Field,
File Manager,File Manager,
Filters,Penapis,
Finding linked payments,Mencari bayaran berkaitan,
Fleet Management,Pengurusan Fleet,
Following fields are mandatory to create address:,Bidang berikut adalah wajib untuk membuat alamat:,
For Month,Untuk Bulan,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Untuk item {0} pada baris {1}, kiraan nombor bersiri tidak sepadan dengan kuantiti yang dipilih",
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Untuk operasi {0}: Kuantiti ({1}) tidak boleh greter daripada kuantiti tertunda ({2}),
For quantity {0} should not be greater than work order quantity {1},Untuk kuantiti {0} tidak boleh melebihi kuantiti pesanan kerja {1},
Free item not set in the pricing rule {0},Item percuma tidak ditetapkan dalam peraturan harga {0},
From Date and To Date are Mandatory,Dari Tarikh dan Tarikh adalah Mandatori,
From employee is required while receiving Asset {0} to a target location,Daripada pekerja diperlukan semasa menerima Asset {0} ke lokasi sasaran,
Fuel Expense,Perbelanjaan Bahan Api,
Future Payment Amount,Jumlah Pembayaran Masa Depan,
Future Payment Ref,Rujukan Bayaran Masa Depan,
Future Payments,Pembayaran Masa Depan,
GST HSN Code does not exist for one or more items,Kod HSN GST tidak wujud untuk satu atau lebih item,
Generate E-Way Bill JSON,Menjana JSON E-Way JSON,
Get Items,Dapatkan Item,
Get Outstanding Documents,Dapatkan Dokumen Cemerlang,
Goal,Matlamat,
Greater Than Amount,Lebih daripada Jumlah,
Green,Green,
Group,Kumpulan,
Group By Customer,Kumpulan Oleh Pelanggan,
Group By Supplier,Kumpulan Oleh Pembekal,
Group Node,Node kumpulan,
Group Warehouses cannot be used in transactions. Please change the value of {0},Gudang Kumpulan tidak boleh digunakan dalam urus niaga. Sila tukar nilai {0},
Help,Bantuan,
Help Article,bantuan Perkara,
"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Membantu anda menyimpan jejak Kontrak berdasarkan Pembekal, Pelanggan dan Pekerja",
Helps you manage appointments with your leads,Membantu anda menguruskan pelantikan dengan petunjuk anda,
Home,Laman Utama,
IBAN is not valid,IBAN tidak sah,
Import Data from CSV / Excel files.,Import Data dari fail CSV / Excel.,
In Progress,Dalam Kemajuan,
Incoming call from {0},Panggilan masuk dari {0},
Incorrect Warehouse,Gudang yang tidak betul,
Intermediate,Intermediate,
Invalid Barcode. There is no Item attached to this barcode.,Barcode tidak sah. Tiada Item yang dilampirkan pada kod bar ini.,
Invalid credentials,Kelayakan tidak sah,
Invite as User,Jemput sebagai pengguna,
Issue Priority.,Keutamaan Terbitan.,
Issue Type.,Jenis Terbitan.,
"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.","Nampaknya terdapat masalah dengan tatarajah jalur pelayan. Sekiranya gagal, amaun akan dikembalikan ke akaun anda.",
Item Reported,Item Dilaporkan,
Item listing removed,Penyenaraian item dibuang,
Item quantity can not be zero,Kuantiti item tidak boleh menjadi sifar,
Item taxes updated,Cukai item dikemas kini,
Item {0}: {1} qty produced. ,Perkara {0}: {1} qty dihasilkan.,
Joining Date can not be greater than Leaving Date,Tarikh Bergabung tidak boleh lebih besar daripada Tarikh Meninggalkan,
Lab Test Item {0} already exist,Item Ujian Makmal {0} sudah wujud,
Last Issue,Isu terakhir,
Latest Age,Umur terkini,
Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Tinggalkan aplikasi dikaitkan dengan peruntukan cuti {0}. Cuti permohonan tidak boleh ditetapkan sebagai cuti tanpa gaji,
Leaves Taken,Daun Diambil,
Less Than Amount,Kurang Daripada Jumlah,
Liabilities,Liabiliti,
Loading...,Loading ...,
Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Jumlah Pinjaman melebihi jumlah maksimum pinjaman {0} seperti yang dicadangkan sekuriti,
Loan Applications from customers and employees.,Permohonan Pinjaman dari pelanggan dan pekerja.,
Loan Disbursement,Pengeluaran Pinjaman,
Loan Processes,Proses Pinjaman,
Loan Security,Keselamatan Pinjaman,
Loan Security Pledge,Ikrar Jaminan Pinjaman,
Loan Security Pledge Created : {0},Ikrar Jaminan Pinjaman Dibuat: {0},
Loan Security Price,Harga Sekuriti Pinjaman,
Loan Security Price overlapping with {0},Harga Sekuriti Pinjaman bertindih dengan {0},
Loan Security Unpledge,Keselamatan Pinjaman Tidak Menutup,
Loan Security Value,Nilai Jaminan Pinjaman,
Loan Type for interest and penalty rates,Jenis Pinjaman untuk kadar faedah dan penalti,
Loan amount cannot be greater than {0},Jumlah pinjaman tidak boleh melebihi {0},
Loan is mandatory,Pinjaman wajib,
Loans,Pinjaman,
Loans provided to customers and employees.,Pinjaman yang diberikan kepada pelanggan dan pekerja.,
Location,Lokasi,
Log Type is required for check-ins falling in the shift: {0}.,Jenis Log diperlukan untuk daftar masuk dalam peralihan: {0}.,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Nampaknya seseorang menghantar anda ke URL yang tidak lengkap. Sila meminta mereka untuk melihat ke dalamnya.,
Make Journal Entry,Buat Journal Entry,
Make Purchase Invoice,Buat Invois Belian,
Manufactured,Dikeluarkan,
Mark Work From Home,Tandakan Kerja Dari Rumah,
Master,Master,
Max strength cannot be less than zero.,Kekuatan maksima tidak boleh kurang daripada sifar.,
Maximum attempts for this quiz reached!,Percubaan maksimum untuk kuiz ini telah dicapai!,
Message,Mesej,
Missing Values Required,Nilai-nilai yang hilang yang diperlukan,
Mobile No,Tidak Bergerak,
Mobile Number,Nombor telefon,
Month,Bulan,
Name,Nama,
Near you,Berhampiran anda,
Net Profit/Loss,Keuntungan / Kerugian Bersih,
New Expense,Perbelanjaan Baru,
New Invoice,Invois Baru,
New Payment,Pembayaran baru,
New release date should be in the future,Tarikh pelepasan baru sepatutnya pada masa hadapan,
Newsletter,Surat berita,
No Account matched these filters: {},Tiada Akaun yang dipadankan dengan penapis ini: {},
No Employee found for the given employee field value. '{}': {},Tiada Pekerja yang didapati untuk nilai medan pekerja yang diberi. &#39;{}&#39;: {},
No Leaves Allocated to Employee: {0} for Leave Type: {1},Tiada Daun yang Dikeluarkan kepada Pekerja: {0} untuk Meninggalkan Jenis: {1},
No communication found.,Tiada komunikasi dijumpai.,
No correct answer is set for {0},Tiada jawapan yang betul ditetapkan untuk {0},
No description,Tiada deskripsi,
No issue has been raised by the caller.,Tiada masalah telah dibangkitkan oleh pemanggil.,
No items to publish,Tiada item untuk diterbitkan,
No outstanding invoices found,Tiada invois yang belum dijumpai,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Tiada invois tertunggak yang dijumpai untuk {0} {1} yang memenuhi syarat penapis yang telah anda tetapkan.,
No outstanding invoices require exchange rate revaluation,Tiada invois tertunggak yang memerlukan penilaian semula kadar pertukaran,
No reviews yet,Tiada ulasan,
No views yet,Tiada pandangan lagi,
Non stock items,Barang bukan stok,
Not Allowed,Tidak dibenarkan,
Not allowed to create accounting dimension for {0},Tidak dibenarkan membuat dimensi perakaunan untuk {0},
Not permitted. Please disable the Lab Test Template,Tidak diizinkan. Sila nyahdayakan Template Test Lab,
Note,Nota,
Notes: ,Nota:,
On Converting Opportunity,On Converting Opportunity,
On Purchase Order Submission,Pada Pesanan Pesanan Pembelian,
On Sales Order Submission,Mengenai Penghantaran Pesanan Jualan,
On Task Completion,Pada Tugasan Tugas,
On {0} Creation,Pada {0} Penciptaan,
Only .csv and .xlsx files are supported currently,Hanya fail csv dan .xlsx yang disokong pada masa ini,
Only expired allocation can be cancelled,Peruntukan yang luput sahaja boleh dibatalkan,
Only users with the {0} role can create backdated leave applications,Hanya pengguna dengan {0} peranan yang boleh membuat aplikasi cuti yang sudah dibina semula,
Open,Terbuka,
Open Contact,Buka Kenalan,
Open Lead,Buka Lead,
Opening and Closing,Pembukaan dan Penutup,
Operating Cost as per Work Order / BOM,Kos Operasi seperti Perintah Kerja / BOM,
Order Amount,Jumlah Pesanan,
Page {0} of {1},Page {0} daripada {1},
Paid amount cannot be less than {0},Jumlah yang dibayar tidak boleh kurang daripada {0},
Parent Company must be a group company,Syarikat induk mestilah syarikat kumpulan,
Passing Score value should be between 0 and 100,Melewati Nilai Markah mestilah antara 0 dan 100,
Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Dasar kata laluan tidak boleh mengandungi ruang atau tanda hubung serentak. Format akan disusun semula secara automatik,
Patient History,Sejarah Pesakit,
Pause,Jeda,
Pay,Bayar,
Payment Document Type,Jenis Dokumen Pembayaran,
Payment Name,Nama Pembayaran,
Penalty Amount,Jumlah Penalti,
Pending,Sementara menunggu,
Performance,Prestasi,
Period based On,Tempoh berasaskan,
Perpetual inventory required for the company {0} to view this report.,Persediaan kekal diperlukan untuk syarikat {0} untuk melihat laporan ini.,
Phone,Telefon,
Pick List,Pilih Senarai,
Plaid authentication error,Ralat pengesahan kotak-kotak,
Plaid public token error,Ralat token umum awam,
Plaid transactions sync error,Kesilapan transaksi sync kotak-kotak,
Please check the error log for details about the import errors,Sila periksa log ralat untuk butiran tentang ralat import,
Please click on the following link to set your new password,Sila klik pada pautan berikut untuk menetapkan kata laluan baru anda,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Sila buat <b>Pengaturan DATEV</b> untuk Syarikat <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Sila buat penyesuaian Kemasukan Jurnal untuk jumlah {0},
Please do not create more than 500 items at a time,Tolong jangan buat lebih daripada 500 item pada satu masa,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Sila masukkan <b>Akaun Perbezaan</b> atau tetapkan <b>Akaun Pelarasan Saham</b> lalai untuk syarikat {0},
Please enter GSTIN and state for the Company Address {0},Sila masukkan GSTIN dan nyatakan alamat Syarikat {0},
Please enter Item Code to get item taxes,Sila masukkan Kod Item untuk mendapatkan cukai barang,
Please enter Warehouse and Date,Sila masukkan Gudang dan Tarikh,
Please enter the designation,Sila masukkan jawatan itu,
Please login as a Marketplace User to edit this item.,Sila log masuk sebagai Pengguna Marketplace untuk mengedit item ini.,
Please login as a Marketplace User to report this item.,Sila log masuk sebagai Pengguna Pasaran untuk melaporkan perkara ini.,
Please select <b>Template Type</b> to download template,Sila pilih <b>Templat Jenis</b> untuk memuat turun templat,
Please select Applicant Type first,Sila pilih Jenis Pemohon terlebih dahulu,
Please select Customer first,Sila pilih Pelanggan terlebih dahulu,
Please select Item Code first,Sila pilih Kod Item terlebih dahulu,
Please select Loan Type for company {0},Sila pilih Jenis Pinjaman untuk syarikat {0},
Please select a Delivery Note,Sila pilih Nota Penghantaran,
Please select a Sales Person for item: {0},Sila pilih Orang Jualan untuk item: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Sila pilih kaedah pembayaran yang lain. Jalur tidak menyokong urus niaga dalam mata wang &#39;{0}&#39;,
Please select the customer.,Sila pilih pelanggan.,
Please set a Supplier against the Items to be considered in the Purchase Order.,Sila tetapkan Pembekal terhadap Item yang akan dipertimbangkan dalam Perintah Pembelian.,
Please set account heads in GST Settings for Compnay {0},Sila tetapkan kepala akaun dalam Tetapan GST untuk Compnay {0},
Please set an email id for the Lead {0},Sila tetapkan id e-mel untuk Lead {0},
Please set default UOM in Stock Settings,Sila tetapkan UOM lalai dalam Tetapan Stok,
Please set filter based on Item or Warehouse due to a large amount of entries.,Sila tetapkan penapis berdasarkan Item atau Gudang kerana sejumlah besar penyertaan.,
Please set up the Campaign Schedule in the Campaign {0},Sila sediakan Jadual Kempen dalam Kempen {0},
Please set valid GSTIN No. in Company Address for company {0},Sila nyatakan GSTIN tidak sah dalam Alamat Syarikat untuk syarikat {0},
Please set {0},Sila tetapkan {0},customer
Please setup a default bank account for company {0},Sila tetapkan akaun bank lalai untuk syarikat {0},
Please specify,Sila nyatakan,
Please specify a {0},Sila nyatakan {0},lead
Pledge Status,Status Ikrar,
Pledge Time,Masa Ikrar,
Printing,Percetakan,
Priority,Keutamaan,
Priority has been changed to {0}.,Keutamaan telah diubah menjadi {0}.,
Priority {0} has been repeated.,Keutamaan {0} telah diulang.,
Processing XML Files,Memproses Fail XML,
Profitability,Keuntungan,
Project,Projek,
Proposed Pledges are mandatory for secured Loans,Cadangan Ikrar adalah wajib bagi Pinjaman bercagar,
Provide the academic year and set the starting and ending date.,Menyediakan tahun akademik dan menetapkan tarikh permulaan dan akhir.,
Public token is missing for this bank,Token umum hilang untuk bank ini,
Publish,Menerbitkan,
Publish 1 Item,Terbitkan 1 Perkara,
Publish Items,Terbitkan Item,
Publish More Items,Terbitkan Lebih Banyak Item,
Publish Your First Items,Terbitkan Item Pertama Anda,
Publish {0} Items,Terbitkan {0} Item,
Published Items,Item yang diterbitkan,
Purchase Invoice cannot be made against an existing asset {0},Invois Pembelian tidak boleh dibuat terhadap aset sedia ada {0},
Purchase Invoices,Pembelian Invois,
Purchase Orders,Pesanan Pembelian,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Resit Pembelian tidak mempunyai sebarang item yang mengekalkan sampel adalah didayakan.,
Purchase Return,Pembelian Pulangan,
Qty of Finished Goods Item,Qty Item Barang yang Selesai,
Qty or Amount is mandatroy for loan security,Qty atau Jumlah adalah mandatroy untuk keselamatan pinjaman,
Quality Inspection required for Item {0} to submit,Pemeriksaan Kualiti diperlukan untuk Item {0} untuk dihantar,
Quantity to Manufacture,Kuantiti Pengilangan,
Quantity to Manufacture can not be zero for the operation {0},Kuantiti Pengilangan tidak boleh menjadi sifar untuk operasi {0},
Quarterly,Suku Tahunan,
Queued,Beratur,
Quick Entry,Kemasukan Pantas,
Quiz {0} does not exist,Kuiz {0} tidak wujud,
Quotation Amount,Jumlah Sebut Harga,
Rate or Discount is required for the price discount.,Kadar atau Diskaun diperlukan untuk diskaun harga.,
Reason,Sebab,
Reconcile Entries,Menyelaraskan Penyertaan,
Reconcile this account,Menyelaraskan akaun ini,
Reconciled,Berdamai,
Recruitment,Recruitment,
Red,Merah,
Refreshing,Menyegarkan,
Release date must be in the future,Tarikh pelepasan mestilah pada masa akan datang,
Relieving Date must be greater than or equal to Date of Joining,Tarikh Pelunasan mestilah lebih besar daripada atau sama dengan Tarikh Bergabung,
Rename,Nama semula,
Repayment Method is mandatory for term loans,Kaedah pembayaran balik adalah wajib untuk pinjaman berjangka,
Repayment Start Date is mandatory for term loans,Tarikh Mula Bayaran Balik adalah wajib untuk pinjaman berjangka,
Report Item,Laporkan Perkara,
Report this Item,Laporkan item ini,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Dicadangkan Qty untuk Subkontrak: Kuantiti bahan mentah untuk membuat item subkontrak.,
Reset,Reset,
Reset Service Level Agreement,Tetapkan semula Perjanjian Tahap Perkhidmatan,
Resetting Service Level Agreement.,Menetapkan Perkhidmatan Tahap Perkhidmatan.,
Return amount cannot be greater unclaimed amount,Jumlah pulangan tidak boleh melebihi jumlah yang tidak dituntut,
Review,Tinjauan,
Room,bilik,
Room Type,Jenis bilik,
Row # ,Row #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Baris # {0}: Gudang Diterima dan Gudang Pembekal tidak boleh sama,
Row #{0}: Cannot delete item {1} which has already been billed.,Baris # {0}: Tidak dapat memadamkan item {1} yang telah dibilkan.,
Row #{0}: Cannot delete item {1} which has already been delivered,Baris # {0}: Tidak dapat memadamkan item {1} yang telah dihantar,
Row #{0}: Cannot delete item {1} which has already been received,Baris # {0}: Tidak dapat memadamkan item {1} yang telah diterima,
Row #{0}: Cannot delete item {1} which has work order assigned to it.,Baris # {0}: Tidak dapat memadamkan item {1} yang mempunyai perintah kerja yang diberikan kepadanya.,
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Baris # {0}: Tidak dapat memadamkan item {1} yang diberikan kepada pesanan pembelian pelanggan.,
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Baris # {0}: Tidak boleh memilih Gudang Pembekal sementara membekalkan bahan mentah kepada subkontraktor,
Row #{0}: Cost Center {1} does not belong to company {2},Baris # {0}: Pusat Kos {1} tidak tergolong dalam syarikat {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}.,Baris # {0}: Operasi {1} tidak siap untuk {2} qty barangan siap dalam Perintah Kerja {3}. Sila kemas kini status operasi melalui Job Job {4}.,
Row #{0}: Payment document is required to complete the transaction,Baris # {0}: Dokumen pembayaran diperlukan untuk menyelesaikan transaksi,
Row #{0}: Serial No {1} does not belong to Batch {2},Baris # {0}: Siri Tidak {1} tidak tergolong dalam Batch {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Baris # {0}: Tarikh Akhir Perkhidmatan tidak boleh sebelum Tarikh Penyerahan Invois,
Row #{0}: Service Start Date cannot be greater than Service End Date,Baris # {0}: Tarikh Mula Perkhidmatan tidak boleh melebihi Tarikh Akhir Perkhidmatan,
Row #{0}: Service Start and End Date is required for deferred accounting,Baris # {0}: Tarikh Permulaan dan Tarikh Akhir diperlukan untuk perakaunan tertunda,
Row {0}: Invalid Item Tax Template for item {1},Baris {0}: Templat Cukai Perkara Tidak Sah untuk item {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Baris {0}: Kuantiti tidak tersedia untuk {4} dalam gudang {1} pada masa penyertaan entri ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Baris {0}: pengguna tidak menggunakan peraturan {1} pada item {2},
Row {0}:Sibling Date of Birth cannot be greater than today.,Baris {0}: Tarikh Tarikh Kelahiran tidak boleh lebih besar daripada hari ini.,
Row({0}): {1} is already discounted in {2},Baris ({0}): {1} telah didiskaunkan dalam {2},
Rows Added in {0},Baris Ditambah dalam {0},
Rows Removed in {0},Baris Dihapuskan dalam {0},
Sanctioned Amount limit crossed for {0} {1},Had Jumlah Sanctioned diseberang untuk {0} {1},
Sanctioned Loan Amount already exists for {0} against company {1},Amaun Pinjaman yang Dimansuhkan telah wujud untuk {0} terhadap syarikat {1},
Save,Simpan,
Save Item,Simpan Item,
Saved Items,Item yang disimpan,
Search Items ...,Item Carian ...,
Search for a payment,Cari bayaran,
Search for anything ...,Cari apa ...,
Search results for,Hasil carian untuk,
Select All,Pilih Semua,
Select Difference Account,Pilih Akaun Perbezaan,
Select a Default Priority.,Pilih Keutamaan Lalai.,
Select a Supplier from the Default Supplier List of the items below.,Pilih Pembekal dari Pembekal Lalai Senarai item di bawah.,
Select a company,Pilih sebuah syarikat,
Select finance book for the item {0} at row {1},Pilih buku pembiayaan untuk item {0} di baris {1},
Select only one Priority as Default.,Pilih Hanya satu Keutamaan sebagai Lalai.,
Seller Information,Maklumat Penjual,
Send,Hantar,
Send a message,Hantar satu mesej,
Sending,Menghantar,
Sends Mails to lead or contact based on a Campaign schedule,Menghantar Surat untuk memimpin atau menghubungi berdasarkan jadual Kempen,
Serial Number Created,Nombor Serial Dicipta,
Serial Numbers Created,Nombor Siri Dibuat,
Serial no(s) required for serialized item {0},No siri diperlukan untuk item bersiri {0},
Series,Siri,
Server Error,Ralat pelayan,
Service Level Agreement has been changed to {0}.,Perjanjian Tahap Perkhidmatan telah ditukar kepada {0}.,
Service Level Agreement was reset.,Perjanjian Tahap Perkhidmatan telah ditetapkan semula.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Perjanjian Tahap Perkhidmatan dengan Entiti Jenis {0} dan Entiti {1} sudah wujud.,
Set,Tetapkan,
Set Meta Tags,Tetapkan Tag Meta,
Set {0} in company {1},Tetapkan {0} dalam syarikat {1},
Setup,Persediaan,
Setup Wizard,Setup Wizard,
Shift Management,Pengurusan Shift,
Show Future Payments,Tunjukkan Pembayaran Masa Depan,
Show Linked Delivery Notes,Tunjukkan Nota Penghantaran yang Dihubungkan,
Show Sales Person,Tunjukkan Orang Jualan,
Show Stock Ageing Data,Tunjukkan Data Penuaan Saham,
Show Warehouse-wise Stock,Tunjukkan Saham yang bijak gudang,
Size,Saiz,
Something went wrong while evaluating the quiz.,Ada yang salah ketika menilai kuiz.,
Sr,Sr,
Start,Mula,
Start Date cannot be before the current date,Tarikh Mula tidak boleh sebelum tarikh semasa,
Start Time,Waktu Mula,
Status,Status,
Status must be Cancelled or Completed,Status mesti Dibatalkan atau Selesai,
Stock Balance Report,Laporan Imbangan Stok,
Stock Entry has been already created against this Pick List,Penyertaan Saham telah dibuat terhadap Senarai Pilih ini,
Stock Ledger ID,ID Pendaftaran Saham,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Nilai Saham ({0}) dan Baki Akaun ({1}) tidak diselaraskan untuk akaun {2} dan ia dipaut gudang.,
Stores - {0},Kedai - {0},
Student with email {0} does not exist,Pelajar dengan e-mel {0} tidak wujud,
Submit Review,Hantar Kajian,
Submitted,Dihantar,
Supplier Addresses And Contacts,Alamat Pembekal Dan Kenalan,
Synchronize this account,Segerakkan akaun ini,
Tag,Tag,
Target Location is required while receiving Asset {0} from an employee,Lokasi Sasaran diperlukan semasa menerima Asset {0} daripada pekerja,
Target Location is required while transferring Asset {0},Lokasi Sasaran diperlukan semasa memindahkan Asset {0},
Target Location or To Employee is required while receiving Asset {0},Lokasi Sasaran atau Kepada Pekerja diperlukan semasa menerima Asset {0},
Task's {0} End Date cannot be after Project's End Date.,Tarikh Tamat {0} Tugas tidak boleh selepas Tarikh Tamat Projek.,
Task's {0} Start Date cannot be after Project's End Date.,Tarikh Mula {0} Tugas tidak boleh dilakukan selepas Tarikh Akhir Projek.,
Tax Account not specified for Shopify Tax {0},Akaun Cukai tidak ditentukan untuk Shopify Tax {0},
Tax Total,Jumlah Cukai,
Template,Template,
The Campaign '{0}' already exists for the {1} '{2}',Kempen &#39;{0}&#39; sudah wujud untuk {1} &#39;{2}&#39;,
The difference between from time and To Time must be a multiple of Appointment,Perbezaan antara masa dan To Time mestilah berganda Pelantikan,
The field Asset Account cannot be blank,Akaun Aset medan tidak boleh kosong,
The field Equity/Liability Account cannot be blank,Akaun Ekuiti / Liabiliti lapangan tidak boleh kosong,
The following serial numbers were created: <br><br> {0},Nombor bersiri berikut telah dibuat: <br><br> {0},
The parent account {0} does not exists in the uploaded template,Akaun induk {0} tidak wujud dalam templat yang dimuat naik,
The question cannot be duplicate,Persoalannya tidak boleh diduplikasi,
The selected payment entry should be linked with a creditor bank transaction,Kemasukan pembayaran terpilih hendaklah dikaitkan dengan transaksi bank pemiutang,
The selected payment entry should be linked with a debtor bank transaction,Kemasukan pembayaran yang dipilih harus dikaitkan dengan transaksi bank penghutang,
The total allocated amount ({0}) is greated than the paid amount ({1}).,Amaun yang diperuntukkan ({0}) adalah greget daripada amaun yang dibayar ({1}).,
There are no vacancies under staffing plan {0},Tiada kekosongan di bawah pelan kakitangan {0},
This Service Level Agreement is specific to Customer {0},Perjanjian Tahap Perkhidmatan ini khusus kepada Pelanggan {0},
This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Tindakan ini akan menyahpautkan akaun ini dari sebarang perkhidmatan luaran yang mengintegrasikan ERPNext dengan akaun bank anda. Ia tidak dapat dibatalkan. Adakah awak pasti ?,
This bank account is already synchronized,Akaun bank ini telah disegerakkan,
This bank transaction is already fully reconciled,Urus niaga bank ini telah diselaraskan sepenuhnya,
This employee already has a log with the same timestamp.{0},Pekerja ini sudah mempunyai log dengan timestamp yang sama. {0},
This page keeps track of items you want to buy from sellers.,Halaman ini menjejaki item yang anda ingin beli daripada penjual.,
This page keeps track of your items in which buyers have showed some interest.,Halaman ini menjejaki item anda di mana pembeli menunjukkan minat.,
Thursday,Khamis,
Timing,Masa,
Title,Tajuk,
"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Untuk membenarkan pengebilan, kemas kini &quot;Lebihan Elaun Penagihan&quot; dalam Tetapan Akaun atau Item.",
"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Untuk membenarkan penerimaan / penghantaran, kemas kini &quot;Lebih Elaun Resit / Penghantaran&quot; dalam Tetapan Stok atau Item.",
To date needs to be before from date,Setakat ini perlu sebelum dari tarikh,
Total,Jumlah,
Total Early Exits,Jumlah Keluar Awal,
Total Late Entries,Jumlah Penyertaan Lewat,
Total Payment Request amount cannot be greater than {0} amount,Jumlah Permintaan Bayaran keseluruhan tidak boleh melebihi jumlah {0},
Total payments amount can't be greater than {},Jumlah bayaran total tidak boleh melebihi {},
Totals,Jumlah,
Training Event:,Acara Latihan:,
Transactions already retreived from the statement,Urus niaga telah diambil dari kenyataan itu,
Transfer Material to Supplier,Pemindahan Bahan kepada Pembekal,
Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Nombor dan Tarikh Resit Pengangkutan adalah wajib bagi Mod Pengangkutan yang anda pilih,
Tuesday,Selasa,
Type,Jenis,
Unable to find Salary Component {0},Tidak dapat mencari Komponen Gaji {0},
Unable to find the time slot in the next {0} days for the operation {1}.,Tidak dapat mencari slot masa dalam {0} hari berikutnya untuk operasi {1}.,
Unable to update remote activity,Tidak dapat mengemas kini aktiviti terpencil,
Unknown Caller,Pemanggil tidak diketahui,
Unlink external integrations,Nyahpautkan integrasi luaran,
Unmarked Attendance for days,Kehadiran yang tidak ditanda selama beberapa hari,
Unpublish Item,Tidak mengeluarkan item,
Unreconciled,Tidak dirahsiakan,
Unsupported GST Category for E-Way Bill JSON generation,Kategori GST tidak disokong untuk generasi e-Way Bill JSON,
Update,Update,
Update Details,Butiran Kemas kini,
Update Taxes for Items,Kemas kini Cukai untuk Item,
"Upload a bank statement, link or reconcile a bank account","Muat naik penyata bank, pautan atau mendamaikan akaun bank",
Upload a statement,Muat naik kenyataan,
Use a name that is different from previous project name,Gunakan nama yang berbeza dari nama projek sebelumnya,
User {0} is disabled,Pengguna {0} adalah orang kurang upaya,
Users and Permissions,Pengguna dan Kebenaran,
Vacancies cannot be lower than the current openings,Kekosongan tidak boleh lebih rendah daripada bukaan semasa,
Valid From Time must be lesser than Valid Upto Time.,Sah dari Masa mesti kurang daripada Sah Sehingga Masa.,
Valuation Rate required for Item {0} at row {1},Kadar Penilaian diperlukan untuk Item {0} pada baris {1},
Values Out Of Sync,Nilai Out Of Sync,
Vehicle Type is required if Mode of Transport is Road,Jenis Kenderaan diperlukan jika Mod Pengangkutan adalah Jalan,
Vendor Name,Nama Penjual,
Verify Email,Mengesahkan E-mel,
View,Lihat,
View all issues from {0},Lihat semua isu dari {0},
View call log,Lihat log panggilan,
Warehouse,Gudang,
Warehouse not found against the account {0},Gudang tidak ditemui terhadap akaun {0},
Welcome to {0},Selamat datang ke {0},
Why do think this Item should be removed?,Mengapa berfikir Perkara ini harus dialih keluar?,
Work Order {0}: Job Card not found for the operation {1},Perintah Kerja {0}: Kad Kerja tidak dijumpai untuk operasi {1},
Workday {0} has been repeated.,Hari kerja {0} telah diulang.,
XML Files Processed,Fail XML Diproses,
Year,Tahun,
Yearly,Setiap tahun,
You,Anda,
You are not allowed to enroll for this course,Anda tidak dibenarkan mendaftar untuk kursus ini,
You are not enrolled in program {0},Anda tidak mendaftar dalam program {0},
You can Feature upto 8 items.,Anda boleh menampilkan sehingga 8 item.,
You can also copy-paste this link in your browser,Anda juga boleh copy-paste pautan ini dalam pelayar anda,
You can publish upto 200 items.,Anda boleh menyiarkan sehingga 200 item.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,Anda perlu mendayakan semula semula secara automatik dalam Tetapan Stok untuk mengekalkan tahap pesanan semula.,
You must be a registered supplier to generate e-Way Bill,Anda mesti menjadi pembekal berdaftar untuk menjana e-Way Bill,
You need to login as a Marketplace User before you can add any reviews.,Anda perlu log masuk sebagai Pengguna Pasaran sebelum anda boleh menambah sebarang ulasan.,
Your Featured Items,Item Pilihan Anda,
Your Items,Item Anda,
Your Profile,Profil anda,
Your rating:,Pendapat anda:,
and,dan,
e-Way Bill already exists for this document,Bil e-Way sudah wujud untuk dokumen ini,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Kupon yang digunakan adalah {1}. Kuantiti dibiarkan habis,
{0} Name,{0} Nama,
{0} Operations: {1},{0} Operasi: {1},
{0} bank transaction(s) created,{0} transaksi bank dibuat,
{0} bank transaction(s) created and {1} errors,{0} transaksi bank dibuat dan {1} kesilapan,
{0} can not be greater than {1},{0} tidak boleh melebihi {1},
{0} conversations,Perbualan {0},
{0} is not a company bank account,{0} bukan akaun bank syarikat,
{0} is not a group node. Please select a group node as parent cost center,{0} bukan nod kumpulan. Sila pilih kumpulan kumpulan sebagai pusat kos ibu bapa,
{0} is not the default supplier for any items.,{0} bukan pembekal lalai untuk sebarang item.,
{0} is required,{0} diperlukan,
{0}: {1} must be less than {2},{0}: {1} mesti kurang daripada {2},
{} is an invalid Attendance Status.,{} adalah Status Kehadiran yang tidak sah.,
{} is required to generate E-Way Bill JSON,{} diperlukan untuk menjana E-Way Bill JSON,
"Invalid lost reason {0}, please create a new lost reason","Sebab yang tidak sah {0}, sila buat sebab yang baru hilang",
Profit This Year,Keuntungan Tahun Ini,
Total Expense,Perbelanjaan Jumlah,
Total Expense This Year,Jumlah Perbelanjaan Tahun Ini,
Total Income,Jumlah pendapatan,
Total Income This Year,Jumlah Pendapatan Tahun Ini,
Barcode,Barcode,
Bold,Bold,
Center,Pusat,
Clear,Jelas,
Comment,Komen,
Comments,Comments,
DocType,DocType,
Download,Muat turun,
Left,Kiri,
Link,Pautan,
New,Baru,
Not Found,Not Found,
Print,Cetak,
Reference Name,Nama Rujukan,
Refresh,Muat semula,
Success,Kejayaan,
Time,Masa,
Value,Nilai,
Actual,Sebenarnya,
Add to Cart,Dalam Troli,
Days Since Last Order,Hari Sejak Perintah Terakhir,
In Stock,In Stock,
Loan Amount is mandatory,Amaun Pinjaman adalah wajib,
Mode Of Payment,Cara Pembayaran,
No students Found,Tiada pelajar yang dijumpai,
Not in Stock,Tidak dalam Saham,
Please select a Customer,Sila pilih Pelanggan,
Printed On,Printed On,
Received From,Pemberian,
Sales Person,Orang Jualan,
To date cannot be before From date,Setakat ini tidak boleh sebelum dari tarikh,
Write Off,Tulis Off,
{0} Created,{0} dihasilkan,
Email Id,ID e-mel,
No,Tiada,
Reference Doctype,Rujukan DOCTYPE,
User Id,ID Pengguna,
Yes,Ya,
Actual ,Sebenar,
Add to cart,Dalam Troli,
Budget,Bajet,
Chart Of Accounts Importer,Carta Pengimport Akaun,
Chart of Accounts,Carta Akaun,
Customer database.,Pangkalan data pelanggan.,
Days Since Last order,Sejak hari Perintah lepas,
Download as JSON,Muat turun sebagai JSON,
End date can not be less than start date,Tarikh akhir tidak boleh kurang daripada tarikh mula,
For Default Supplier (Optional),Untuk pembekal lalai (pilihan),
From date cannot be greater than To date,Dari Tarikh tidak boleh lebih besar daripada Dating,
Get items from,Mendapatkan barangan dari,
Group by,Group By,
In stock,Dalam stok,
Item name,Nama Item,
Loan amount is mandatory,Amaun Pinjaman adalah wajib,
Minimum Qty,Qty Minimum,
More details,Maklumat lanjut,
Nature of Supplies,Alam Bekalan,
No Items found.,Tiada item dijumpai.,
No employee found,Tiada pekerja didapati,
No students found,Tiada pelajar Terdapat,
Not in stock,Tidak dalam Stok,
Not permitted,Tidak diizinkan,
Open Issues ,Isu terbuka,
Open Projects ,Projek Terbuka,
Open To Do ,Terbuka To Do,
Operation Id,Id Operasi,
Partially ordered,sebahagiannya Tertib,
Please select company first,Sila pilih Syarikat terlebih dahulu,
Please select patient,Sila pilih pesakit,
Printed On ,Dicetak pada,
Projected qty,Dijangka Qty,
Sales person,Orang jualan,
Serial No {0} Created,No siri {0} dicipta,
Source Location is required for the Asset {0},Lokasi Sumber diperlukan untuk aset {0},
Tax Id,ID cukai,
To Time,Untuk Masa,
To date cannot be before from date,Untuk Tarikh tidak boleh sebelum Dari Tarikh,
Total Taxable value,Jumlah Nilai Kenaikan,
Upcoming Calendar Events ,Akan Datang Kalendar Acara,
Value or Qty,Nilai atau Qty,
Variance ,Perbezaan,
Variant of,Varian Daripada,
Write off,Tulis off,
hours,Jam,
received from,Pemberian,
to,Untuk,
Cards,Kad,
Percentage,peratus,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Gagal menetapkan lalai untuk negara {0}. Sila hubungi support@erpnext.com,
Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Baris # {0}: Item {1} bukan Item Serialized / Batched. Ia tidak boleh mempunyai No / No Serial Tidak terhadapnya.,
Please set {0},Sila set {0},
Please set {0},Sila tetapkan {0},supplier
Draft,Draf,"docstatus,=,0"
Cancelled,Dibatalkan,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Sila persediaan Sistem Penamaan Pengajar dalam Pendidikan&gt; Tetapan Pendidikan,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Sila tetapkan Siri Penamaan untuk {0} melalui Persediaan&gt; Tetapan&gt; Penamaan Siri,
UOM Conversion factor ({0} -> {1}) not found for item: {2},Faktor penukaran UOM ({0} -&gt; {1}) tidak ditemui untuk item: {2},
Item Code > Item Group > Brand,Kod Item&gt; Kumpulan Item&gt; Jenama,
Customer > Customer Group > Territory,Pelanggan&gt; Kumpulan Pelanggan&gt; Wilayah,
Supplier > Supplier Type,Pembekal&gt; Jenis Pembekal,
Please setup Employee Naming System in Human Resource > HR Settings,Sila persediaan Sistem Penamaan Pekerja dalam Sumber Manusia&gt; Tetapan HR,
Please setup numbering series for Attendance via Setup > Numbering Series,Sila persediaan siri penomboran untuk Kehadiran melalui Persediaan&gt; Penomboran Siri,
The value of {0} differs between Items {1} and {2},Nilai {0} berbeza antara Item {1} dan {2},
Auto Fetch,Pengambilan Auto,
Fetch Serial Numbers based on FIFO,Ambil Nombor Siri berdasarkan FIFO,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Perbekalan bercukai luar (selain dari nilai sifar, tidak dinilai dan dikecualikan)",
"To allow different rates, disable the {0} checkbox in {1}.","Untuk membenarkan kadar yang berbeza, nonaktifkan {0} kotak centang di {1}.",
Current Odometer Value should be greater than Last Odometer Value {0},Nilai Odometer Semasa harus lebih besar daripada Nilai Odometer Terakhir {0},
No additional expenses has been added,Tidak ada perbelanjaan tambahan yang ditambahkan,
Asset{} {assets_link} created for {},Aset {} {aset_link} dibuat untuk {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Baris {}: Siri Penamaan Aset adalah wajib untuk pembuatan automatik untuk item {},
Assets not created for {0}. You will have to create asset manually.,Aset tidak dibuat untuk {0}. Anda perlu membuat aset secara manual.,
{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} mempunyai catatan perakaunan dalam mata wang {2} untuk syarikat {3}. Sila pilih akaun belum terima atau hutang dengan mata wang {2}.,
Invalid Account,Akaun tidak sah,
Purchase Order Required,Pesanan Pembelian Diperlukan,
Purchase Receipt Required,Resit pembelian Diperlukan,
Account Missing,Akaun Tiada,
Requested,Diminta,
Partially Paid,Dibayar Sebahagian,
Invalid Account Currency,Mata Wang Akaun Tidak Sah,
"Row {0}: The item {1}, quantity must be positive number","Baris {0}: Item {1}, kuantiti mestilah nombor positif",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Sila tetapkan {0} untuk Item Batch {1}, yang digunakan untuk menetapkan {2} pada Kirim.",
Expiry Date Mandatory,Tarikh Luput Wajib,
Variant Item,Item Varian,
BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} dan BOM 2 {1} tidak boleh sama,
Note: Item {0} added multiple times,Catatan: Item {0} ditambahkan berkali-kali,
YouTube,Youtube,
Vimeo,Vimeo,
Publish Date,Tarikh Terbitkan,
Duration,Tempoh,
Advanced Settings,Tetapan lanjutan,
Path,Jalan,
Components,komponen,
Verified By,Disahkan oleh,
Invalid naming series (. missing) for {0},Siri penamaan tidak sah (. Hilang) untuk {0},
Filter Based On,Tapisan Berdasarkan,
Reqd by date,Perlu tarikh,
Manufacturer Part Number <b>{0}</b> is invalid,Nombor Bahagian Pengilang <b>{0}</b> tidak sah,
Invalid Part Number,Nombor Bahagian Tidak Sah,
Select atleast one Social Media from Share on.,Pilih sekurang-kurangnya satu Media Sosial dari Share on.,
Invalid Scheduled Time,Masa Berjadual Tidak Sah,
Length Must be less than 280.,Panjang mestilah kurang daripada 280.,
Error while POSTING {0},Ralat semasa MENGHANTAR {0},
"Session not valid, Do you want to login?","Sesi tidak sah, Adakah anda mahu log masuk?",
Session Active,Sesi Aktif,
Session Not Active. Save doc to login.,Sesi Tidak Aktif. Simpan dokumen untuk log masuk.,
Error! Failed to get request token.,Ralat! Gagal mendapatkan token permintaan.,
Invalid {0} or {1},Tidak sah {0} atau {1},
Error! Failed to get access token.,Ralat! Gagal mendapatkan token akses.,
Invalid Consumer Key or Consumer Secret Key,Kunci Pengguna atau Kunci Rahsia Pengguna Tidak Sah,
Your Session will be expire in ,Sesi anda akan tamat pada,
 days.,hari-hari.,
Session is expired. Save doc to login.,Sesi tamat. Simpan dokumen untuk log masuk.,
Error While Uploading Image,Ralat Semasa Memuat Naik Gambar,
You Didn't have permission to access this API,Anda Tidak mempunyai kebenaran untuk mengakses API ini,
Valid Upto date cannot be before Valid From date,Tarikh Upto Sah tidak boleh sebelum tarikh Sah Daripada,
Valid From date not in Fiscal Year {0},Tarikh sah dari tarikh bukan tahun fiskal {0},
Valid Upto date not in Fiscal Year {0},Tarikh Upto yang sah tidak pada Tahun Fiskal {0},
Group Roll No,Roll Kumpulan No,
Maintain Same Rate Throughout Sales Cycle,Mengekalkan Kadar Sama Sepanjang Kitaran Jualan,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Baris {1}: Kuantiti ({0}) tidak boleh menjadi pecahan. Untuk membenarkan ini, lumpuhkan &#39;{2}&#39; di UOM {3}.",
Must be Whole Number,Mesti Nombor Seluruh,
Please setup Razorpay Plan ID,Sila siapkan ID Pelan Razorpay,
Contact Creation Failed,Penciptaan Kenalan Gagal,
{0} already exists for employee {1} and period {2},{0} sudah ada untuk pekerja {1} dan tempoh {2},
Leaves Allocated,Daun diperuntukkan,
Leaves Expired,Daun Tamat Tempoh,
Leave Without Pay does not match with approved {} records,Cuti Tanpa Bayar tidak sepadan dengan rekod {} yang diluluskan,
Income Tax Slab not set in Salary Structure Assignment: {0},Slab Cukai Pendapatan tidak ditetapkan dalam Tugasan Struktur Gaji: {0},
Income Tax Slab: {0} is disabled,Slab Cukai Pendapatan: {0} dilumpuhkan,
Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Slab Cukai Pendapatan mesti berkuatkuasa pada atau sebelum Tarikh Mula Tempoh Penggajian: {0},
No leave record found for employee {0} on {1},Tiada catatan cuti dijumpai untuk pekerja {0} pada {1},
Row {0}: {1} is required in the expenses table to book an expense claim.,Baris {0}: {1} diperlukan dalam jadual perbelanjaan untuk menempah tuntutan perbelanjaan.,
Set the default account for the {0} {1},Tetapkan akaun lalai untuk {0} {1},
(Half Day),(Setengah hari),
Income Tax Slab,Slab Cukai Pendapatan,
Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Baris # {0}: Tidak dapat menetapkan jumlah atau formula untuk Gaji Komponen {1} dengan Pembolehubah Berdasarkan Gaji Cukai,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Baris # {}: {} dari {} mestilah {}. Sila ubah akaun atau pilih akaun lain.,
Row #{}: Please asign task to a member.,Baris # {}: Tugaskan tugas kepada ahli.,
Process Failed,Proses Gagal,
Tally Migration Error,Kesalahan Penghijrahan Tally,
Please set Warehouse in Woocommerce Settings,Sila tetapkan Gudang dalam Tetapan Woocommerce,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Baris {0}: Gudang Pengiriman ({1}) dan Gudang Pelanggan ({2}) tidak boleh sama,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Baris {0}: Tarikh Akhir pada jadual Syarat Pembayaran tidak boleh sebelum Tarikh Pengeposan,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Tidak dapat mencari {} untuk item {}. Sila tetapkan yang sama di Item Master atau Tetapan Stok.,
Row #{0}: The batch {1} has already expired.,Baris # {0}: Kumpulan {1} telah pun tamat.,
Start Year and End Year are mandatory,Tahun Awal dan Tahun Akhir adalah wajib,
GL Entry,GL Entry,
Cannot allocate more than {0} against payment term {1},Tidak dapat memperuntukkan lebih daripada {0} untuk jangka masa pembayaran {1},
The root account {0} must be a group,Akaun root {0} mestilah kumpulan,
Shipping rule not applicable for country {0} in Shipping Address,Peraturan penghantaran tidak berlaku untuk negara {0} di Alamat Pengiriman,
Get Payments from,Dapatkan Pembayaran dari,
Set Shipping Address or Billing Address,Tetapkan Alamat Penghantaran atau Alamat Pengebilan,
Consultation Setup,Persediaan Perundingan,
Fee Validity,Kesahan Fee,
Laboratory Setup,Persediaan Makmal,
Dosage Form,Borang Dos,
Records and History,Rekod dan Sejarah,
Patient Medical Record,Rekod Perubatan Pesakit,
Rehabilitation,Pemulihan,
Exercise Type,Jenis Latihan,
Exercise Difficulty Level,Tahap Kesukaran Latihan,
Therapy Type,Jenis Terapi,
Therapy Plan,Pelan Terapi,
Therapy Session,Sesi Terapi,
Motor Assessment Scale,Skala Penilaian Motor,
[Important] [ERPNext] Auto Reorder Errors,[Penting] [ERPNTeks] Ralat Penyusunan Semula Auto,
"Regards,","Salam,",
The following {0} were created: {1},Berikut ini {0} dibuat: {1},
Work Orders,Pesanan Kerja,
The {0} {1} created sucessfully,{0} {1} berjaya dibuat,
Work Order cannot be created for following reason: <br> {0},Perintah Kerja tidak dapat dibuat kerana alasan berikut:<br> {0},
Add items in the Item Locations table,Tambahkan item dalam jadual Lokasi Item,
Update Current Stock,Kemas kini Stok Semasa,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Retain Sample berdasarkan kumpulan, sila periksa Has Batch No untuk mengekalkan sampel item",
Empty,Kosong,
Currently no stock available in any warehouse,Buat masa ini stok tidak ada di gudang mana pun,
BOM Qty,BOM Kuantiti,
Time logs are required for {0} {1},Log masa diperlukan untuk {0} {1},
Total Completed Qty,Jumlah Selesai Qty,
Qty to Manufacture,Qty Untuk Pembuatan,
Repay From Salary can be selected only for term loans,Bayaran Balik Dari Gaji boleh dipilih hanya untuk pinjaman berjangka,
No valid Loan Security Price found for {0},Tidak dijumpai Harga Keselamatan Pinjaman yang sah untuk {0},
Loan Account and Payment Account cannot be same,Akaun Pinjaman dan Akaun Pembayaran tidak boleh sama,
Loan Security Pledge can only be created for secured loans,Pinjaman Keselamatan Pinjaman hanya boleh dibuat untuk pinjaman bercagar,
Social Media Campaigns,Kempen Media Sosial,
From Date can not be greater than To Date,Dari Tarikh tidak boleh lebih besar daripada Tarikh,
Please set a Customer linked to the Patient,Sila tetapkan Pelanggan yang dihubungkan dengan Pesakit,
Customer Not Found,Pelanggan Tidak Dijumpai,
Please Configure Clinical Procedure Consumable Item in ,Sila Konfigurasikan Prosedur Klinikal Item Boleh Digunakan di,
Missing Configuration,Tiada Konfigurasi,
Out Patient Consulting Charge Item,Perkara Caj Konsultasi Pesakit,
Inpatient Visit Charge Item,Item Cuti Lawatan Pesakit Dalam,
OP Consulting Charge,Caj Perundingan OP,
Inpatient Visit Charge,Cuti Lawatan Pesakit Dalam,
Appointment Status,Status Temujanji,
Test: ,Ujian:,
Collection Details: ,Butiran Koleksi:,
{0} out of {1},{0} daripada {1},
Select Therapy Type,Pilih Jenis Terapi,
{0} sessions completed,{0} sesi selesai,
{0} session completed,{0} sesi selesai,
 out of {0},daripada {0},
Therapy Sessions,Sesi Terapi,
Add Exercise Step,Tambah Langkah Latihan,
Edit Exercise Step,Edit Langkah Latihan,
Patient Appointments,Temujanji Pesakit,
Item with Item Code {0} already exists,Item dengan Kod Item {0} sudah ada,
Registration Fee cannot be negative or zero,Bayaran Pendaftaran tidak boleh negatif atau sifar,
Configure a service Item for {0},Konfigurasikan Item perkhidmatan untuk {0},
Temperature: ,Suhu:,
Pulse: ,Nadi:,
Respiratory Rate: ,Kadar respirasi:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,Nota:,
Check Availability,Semak ketersediaan,
Please select Patient first,Sila pilih Pesakit terlebih dahulu,
Please select a Mode of Payment first,Sila pilih Kaedah Pembayaran terlebih dahulu,
Please set the Paid Amount first,Sila tetapkan Jumlah Dibayar terlebih dahulu,
Not Therapies Prescribed,Tidak Terapi yang Ditetapkan,
There are no Therapies prescribed for Patient {0},Tidak ada Terapi yang ditetapkan untuk Pesakit {0},
Appointment date and Healthcare Practitioner are Mandatory,Tarikh janji temu dan Pengamal Kesihatan adalah Wajib,
No Prescribed Procedures found for the selected Patient,Tidak dijumpai Prosedur yang Ditetapkan untuk Pesakit terpilih,
Please select a Patient first,Sila pilih Pesakit terlebih dahulu,
There are no procedure prescribed for ,Tidak ada prosedur yang ditetapkan untuk,
Prescribed Therapies,Terapi yang ditetapkan,
Appointment overlaps with ,Temujanji bertindih dengan,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} mempunyai janji temu yang dijadualkan dengan {1} pada {2} mempunyai {3} minit.,
Appointments Overlapping,Temujanji Bertindih,
Consulting Charges: {0},Caj Perundingan: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Temujanji Dibatalkan. Sila semak dan batalkan invois {0},
Appointment Cancelled.,Temujanji Dibatalkan.,
Fee Validity {0} updated.,Kesahan Yuran {0} dikemas kini.,
Practitioner Schedule Not Found,Jadual Pengamal Tidak Dijumpai,
{0} is on a Half day Leave on {1},{0} Cuti Separuh hari pada {1},
{0} is on Leave on {1},{0} cuti pada {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} tidak mempunyai Jadual Pengamal Kesihatan. Tambahkannya dalam Pengamal Kesihatan,
Healthcare Service Units,Unit Perkhidmatan Penjagaan Kesihatan,
Complete and Consume,Lengkap dan Makan,
Complete {0} and Consume Stock?,Lengkapkan {0} dan Gunakan Stok?,
Complete {0}?,Selesaikan {0}?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Kuantiti stok untuk memulakan Prosedur tidak tersedia di Gudang {0}. Adakah anda ingin merakam Entri Saham?,
{0} as on {1},{0} seperti pada {1},
Clinical Procedure ({0}):,Prosedur Klinikal ({0}):,
Please set Customer in Patient {0},Sila tetapkan Pelanggan dalam Pesakit {0},
Item {0} is not active,Item {0} tidak aktif,
Therapy Plan {0} created successfully.,Pelan Terapi {0} berjaya dibuat.,
Symptoms: ,Gejala:,
No Symptoms,Tanpa Gejala,
Diagnosis: ,Diagnosis:,
No Diagnosis,Tiada Diagnosis,
Drug(s) Prescribed.,Dadah yang diresepkan.,
Test(s) Prescribed.,Ujian yang ditetapkan.,
Procedure(s) Prescribed.,Prosedur yang ditetapkan.,
Counts Completed: {0},Kiraan Selesai: {0},
Patient Assessment,Penilaian Pesakit,
Assessments,Penilaian,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Kepala (atau kumpulan) terhadap yang Penyertaan Perakaunan dibuat dan baki dikekalkan.,
Account Name,Nama Akaun,
Inter Company Account,Akaun Syarikat Antara,
Parent Account,Akaun Ibu Bapa,
Setting Account Type helps in selecting this Account in transactions.,Menetapkan Jenis Akaun membantu dalam memilih Akaun ini dalam urus niaga.,
Chargeable,Boleh dikenakan cukai,
Rate at which this tax is applied,Kadar yang cukai ini dikenakan,
Frozen,Beku,
"If the account is frozen, entries are allowed to restricted users.","Jika akaun dibekukan, entri dibenarkan pengguna terhad.",
Balance must be,Baki mestilah,
Lft,Lft,
Rgt,Rgt,
Old Parent,Old Ibu Bapa,
Include in gross,Termasuk dalam kasar,
Auditor,Audit,
Accounting Dimension,Dimensi Perakaunan,
Dimension Name,Nama Dimensi,
Dimension Defaults,Lalai Dimensi,
Accounting Dimension Detail,Perincian Dimensi Perakaunan,
Default Dimension,Dimensi lalai,
Mandatory For Balance Sheet,Lembaran Imbangan Mandatori,
Mandatory For Profit and Loss Account,Mandatori Untuk Akaun Untung dan Rugi,
Accounting Period,Tempoh Perakaunan,
Period Name,Nama Tempoh,
Closed Documents,Dokumen Tertutup,
Accounts Settings,Tetapan Akaun-akaun,
Settings for Accounts,Tetapan untuk Akaun,
Make Accounting Entry For Every Stock Movement,Buat Perakaunan Entry Untuk Setiap Pergerakan Saham,
"If enabled, the system will post accounting entries for inventory automatically.","Jika diaktifkan, sistem akan menghantar entri perakaunan untuk inventori secara automatik.",
Accounts Frozen Upto,Akaun-akaun Dibekukan Sehingga,
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Catatan Perakaunan dibekukan sehingga tarikh ini, tiada siapa boleh melakukan / mengubah suai kemasukan kecuali yang berperanan seperti di bawah.",
Role Allowed to Set Frozen Accounts & Edit Frozen Entries,Peranan Dibenarkan untuk Set Akaun Frozen &amp; Frozen Edit Entri,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Pengguna dengan peranan ini dibenarkan untuk menetapkan akaun beku dan mencipta / mengubahsuai entri perakaunan terhadap akaun beku,
Determine Address Tax Category From,Tentukan Kategori Cukai Alamat Dari,
Address used to determine Tax Category in transactions.,Alamat yang digunakan untuk menentukan Kategori Cukai dalam transaksi.,
Over Billing Allowance (%),Lebih Elaun Penagihan (%),
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.,Peratusan anda dibenarkan untuk membilkan lebih banyak daripada jumlah yang diperintahkan. Sebagai contoh: Jika nilai pesanan adalah $ 100 untuk item dan toleransi ditetapkan sebanyak 10% maka anda dibenarkan untuk membiayai $ 110.,
Credit Controller,Pengawal Kredit,
Role that is allowed to submit transactions that exceed credit limits set.,Peranan yang dibenarkan menghantar transaksi yang melebihi had kredit ditetapkan.,
Check Supplier Invoice Number Uniqueness,Semak Pembekal Invois Nombor Keunikan,
Make Payment via Journal Entry,Buat Pembayaran melalui Journal Kemasukan,
Unlink Payment on Cancellation of Invoice,Nyahpaut Pembayaran Pembatalan Invois,
Unlink Advance Payment on Cancelation of Order,Unlink Payment Advance pada Pembatalan Pesanan,
Book Asset Depreciation Entry Automatically,Buku Asset Kemasukan Susutnilai secara automatik,
Automatically Add Taxes and Charges from Item Tax Template,Secara automatik menambah Cukai dan Caj dari Templat Cukai Item,
Automatically Fetch Payment Terms,Termakan Pembayaran Secara Secara Automatik,
Show Inclusive Tax In Print,Tunjukkan Cukai Dalam Cetakan Termasuk,
Show Payment Schedule in Print,Tunjukkan Jadual Pembayaran dalam Cetak,
Currency Exchange Settings,Tetapan Pertukaran Mata Wang,
Allow Stale Exchange Rates,Benarkan Kadar Pertukaran Stale,
Stale Days,Hari Stale,
Report Settings,Laporkan Tetapan,
Use Custom Cash Flow Format,Gunakan Format Aliran Tunai Kastam,
Only select if you have setup Cash Flow Mapper documents,Hanya pilih jika anda mempunyai dokumen persediaan Aliran Tunai,
Allowed To Transact With,Dibenarkan untuk Berurusan Dengan,
SWIFT number,Nombor SWIFT,
Branch Code,Kod Cawangan,
Address and Contact,Alamat dan Perhubungan,
Address HTML,Alamat HTML,
Contact HTML,Hubungi HTML,
Data Import Configuration,Konfigurasi Import Data,
Bank Transaction Mapping,Pemetaan Transaksi Bank,
Plaid Access Token,Token Akses Plaid,
Company Account,Akaun Syarikat,
Account Subtype,Subjenis Akaun,
Is Default Account,Adakah Akaun Lalai,
Is Company Account,Adakah Akaun Syarikat,
Party Details,Butiran Parti,
Account Details,Butiran Akaun,
IBAN,IBAN,
Bank Account No,Akaun Bank No,
Integration Details,Butiran Integrasi,
Integration ID,ID Integrasi,
Last Integration Date,Tarikh Integrasi Terakhir,
Change this date manually to setup the next synchronization start date,Ubah tarikh ini secara manual untuk menetapkan tarikh permulaan penyegerakan seterusnya,
Mask,Topeng,
Bank Account Subtype,Subjenis Akaun Bank,
Bank Account Type,Jenis Akaun Bank,
Bank Guarantee,Jaminan bank,
Bank Guarantee Type,Jenis Jaminan Bank,
Receiving,Menerima,
Providing,Menyediakan,
Reference Document Name,Nama Dokumen Rujukan,
Validity in Days,Kesahan di Days,
Bank Account Info,Maklumat Akaun Bank,
Clauses and Conditions,Fasal dan Syarat,
Other Details,Butiran-butiran yang lain,
Bank Guarantee Number,Bank Nombor Jaminan,
Name of Beneficiary,Nama Penerima,
Margin Money,Wang Margin,
Charges Incurred,Caj Ditanggung,
Fixed Deposit Number,Nombor Deposit Tetap,
Account Currency,Mata Wang Akaun,
Select the Bank Account to reconcile.,Pilih Akaun Bank untuk mendamaikan.,
Include Reconciled Entries,Termasuk Penyertaan berdamai,
Get Payment Entries,Dapatkan Penyertaan Pembayaran,
Payment Entries,Penyertaan pembayaran,
Update Clearance Date,Update Clearance Tarikh,
Bank Reconciliation Detail,Detail Penyesuaian Bank,
Cheque Number,Nombor Cek,
Cheque Date,Cek Tarikh,
Statement Header Mapping,Pemetaan Tajuk Pernyataan,
Statement Headers,Pengepala Pernyataan,
Transaction Data Mapping,Pemetaan Data Transaksi,
Mapped Items,Item yang dipadatkan,
Bank Statement Settings Item,Item Tetapan Pernyataan Bank,
Mapped Header,Mapped Header,
Bank Header,Header Bank,
Bank Statement Transaction Entry,Penyertaan Transaksi Penyata Bank,
Bank Transaction Entries,Penyertaan Transaksi Bank,
New Transactions,Transaksi Baru,
Match Transaction to Invoices,Urus Transaksi ke Invois,
Create New Payment/Journal Entry,Buat Entri Baru / Kemasukan Jurnal,
Submit/Reconcile Payments,Hantar / Rekonsiliasi Pembayaran,
Matching Invoices,Pencocokan Invois,
Payment Invoice Items,Item Invois Pembayaran,
Reconciled Transactions,Urus Niaga yang dirunding,
Bank Statement Transaction Invoice Item,Item Invois Transaksi Penyata Bank,
Payment Description,Penerangan Bayaran,
Invoice Date,Tarikh invois,
invoice,invois,
Bank Statement Transaction Payment Item,Item Pembayaran Transaksi Penyata Bank,
outstanding_amount,Jumlah tertunggak,
Payment Reference,Rujukan pembayaran,
Bank Statement Transaction Settings Item,Item Tetapan Urus Niaga Penyata Bank,
Bank Data,Data Bank,
Mapped Data Type,Jenis Data Dipetakan,
Mapped Data,Data Mapping,
Bank Transaction,Transaksi Bank,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,ID transaksi,
Unallocated Amount,Jumlah yang tidak diperuntukkan,
Field in Bank Transaction,Bidang Urus Niaga Bank,
Column in Bank File,Lajur dalam Fail Bank,
Bank Transaction Payments,Pembayaran Transaksi Bank,
Control Action,Kawalan Tindakan,
Applicable on Material Request,Terpakai pada Permintaan Bahan,
Action if Annual Budget Exceeded on MR,Tindakan jika Bajet Tahunan Melebihi MR,
Warn,Beri amaran,
Ignore,Abaikan,
Action if Accumulated Monthly Budget Exceeded on MR,Tindakan jika Bajet Bulanan Terkumpul Melebihi MR,
Applicable on Purchase Order,Terpakai pada Perintah Pembelian,
Action if Annual Budget Exceeded on PO,Tindakan jika Bajet Tahunan Melebihi PO,
Action if Accumulated Monthly Budget Exceeded on PO,Tindakan jika Bajet Bulanan Terkumpul Melebihi PO,
Applicable on booking actual expenses,Terpakai pada tempahan perbelanjaan sebenar,
Action if Annual Budget Exceeded on Actual,Tindakan jika Bajet Tahunan Melebihi pada Sebenarnya,
Action if Accumulated Monthly Budget Exceeded on Actual,Tindakan jika Bajet Bulanan Terkumpul Melebihi pada Sebenarnya,
Budget Accounts,Akaun belanjawan,
Budget Account,anggaran Akaun,
Budget Amount,Amaun belanjawan,
C-Form,C-Borang,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-Borang No,
Received Date,Tarikh terima,
Quarter,Suku,
I,Saya,
II,II,
III,III,
IV,IV,
C-Form Invoice Detail,Detail C-Borang Invois,
Invoice No,Tiada invois,
Cash Flow Mapper,Mapper Flow Cash,
Section Name,Nama Bahagian,
Section Header,Pengepala Seksyen,
Section Leader,Bahagian Pemimpin,
e.g Adjustments for:,contohnya Pelarasan untuk:,
Section Subtotal,Subtotal Seksyen,
Section Footer,Seksyen Footer,
Position,Jawatan,
Cash Flow Mapping,Pemetaan Aliran Tunai,
Select Maximum Of 1,Pilih Maksimum 1,
Is Finance Cost,Adakah Kos Kewangan,
Is Working Capital,Adakah Modal Kerja,
Is Finance Cost Adjustment,Adalah Pelarasan Kos Kewangan,
Is Income Tax Liability,Kewajipan Cukai Pendapatan,
Is Income Tax Expense,Adakah Perbelanjaan Cukai Pendapatan,
Cash Flow Mapping Accounts,Akaun Pemetaan Aliran Tunai,
account,Akaun,
Cash Flow Mapping Template,Templat Pemetaan Aliran Tunai,
Cash Flow Mapping Template Details,Butiran Templat Pemetaan Aliran Tunai,
POS-CLO-,POS-CLO-,
Custody,Penjagaan,
Net Amount,Jumlah Bersih,
Cashier Closing Payments,Bayaran Penutupan Tunai,
Chart of Accounts Importer,Carta Pengimport Akaun,
Import Chart of Accounts from a csv file,Import Carta Akaun dari fail csv,
Attach custom Chart of Accounts file,Lampirkan carta Khas fail Akaun,
Chart Preview,Pratonton Carta,
Chart Tree,Tree Chart,
Cheque Print Template,Cek Cetak Template,
Has Print Format,Mempunyai Format Cetak,
Primary Settings,Tetapan utama,
Cheque Size,Saiz Cek,
Regular,biasa,
Starting position from top edge,kedudukan dari tepi atas Bermula,
Cheque Width,Lebar Cek,
Cheque Height,Cek Tinggi,
Scanned Cheque,diimbas Cek,
Is Account Payable,Adakah Akaun Belum Bayar,
Distance from top edge,Jarak dari tepi atas,
Distance from left edge,Jarak dari tepi kiri,
Message to show,Mesej untuk menunjukkan,
Date Settings,tarikh Tetapan,
Starting location from left edge,Bermula lokasi dari tepi kiri,
Payer Settings,Tetapan pembayar,
Width of amount in word,Lebar amaun dalam perkataan,
Line spacing for amount in words,jarak baris untuk jumlah dalam perkataan,
Amount In Figure,Jumlah Dalam Rajah,
Signatory Position,Jawatan penandatangan,
Closed Document,Dokumen Tertutup,
Track separate Income and Expense for product verticals or divisions.,Jejaki Pendapatan berasingan dan Perbelanjaan untuk menegak produk atau bahagian.,
Cost Center Name,Kos Nama Pusat,
Parent Cost Center,Kos Pusat Ibu Bapa,
lft,LFT,
rgt,Rgt,
Coupon Code,Kod Kupon,
Coupon Name,Nama Kupon,
"e.g. ""Summer Holiday 2019 Offer 20""",contohnya &quot;Summer Holiday 2019 Offer 20&quot;,
Coupon Type,Jenis Kupon,
Promotional,Promosi,
Gift Card,Kad Hadiah,
unique e.g. SAVE20  To be used to get discount,unik misalnya SAVE20 Untuk digunakan untuk mendapatkan diskaun,
Validity and Usage,Kesahan dan Penggunaan,
Valid From,Sah dari,
Valid Upto,Upto Sah,
Maximum Use,Penggunaan maksimum,
Used,Digunakan,
Coupon Description,Penerangan Kupon,
Discounted Invoice,Invois Diskaun,
Debit to,Debit ke,
Exchange Rate Revaluation,Penilaian Semula Kadar Pertukaran,
Get Entries,Dapatkan penyertaan,
Exchange Rate Revaluation Account,Akaun Penilaian Semula Kadar Pertukaran,
Total Gain/Loss,Jumlah Keuntungan / Kerugian,
Balance In Account Currency,Baki Dalam Mata Wang Akaun,
Current Exchange Rate,Kadar Pertukaran Semasa,
Balance In Base Currency,Baki Dalam Mata Wang Asas,
New Exchange Rate,Kadar Pertukaran Baru,
New Balance In Base Currency,New Balance In Currency Base,
Gain/Loss,Keuntungan / Kerugian,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Tahun Fiskal ** mewakili Tahun Kewangan. Semua kemasukan perakaunan dan transaksi utama yang lain dijejak terhadap Tahun Fiskal ** **.,
Year Name,Nama Tahun,
"For e.g. 2012, 2012-13","Untuk contoh: 2012, 2012-13",
Year Start Date,Tahun Tarikh Mula,
Year End Date,Tahun Tarikh Akhir,
Companies,Syarikat,
Auto Created,Dicipta Auto,
Stock User,Saham pengguna,
Fiscal Year Company,Tahun Anggaran Syarikat,
Debit Amount,Jumlah Debit,
Credit Amount,Jumlah Kredit,
Debit Amount in Account Currency,Jumlah debit dalam Mata Wang Akaun,
Credit Amount in Account Currency,Jumlah Kredit dalam Mata Wang Akaun,
Voucher Detail No,Detail baucar Tiada,
Is Opening,Adalah Membuka,
Is Advance,Adalah Advance,
To Rename,Untuk Namakan semula,
GST Account,Akaun GST,
CGST Account,Akaun CGST,
SGST Account,Akaun SGST,
IGST Account,Akaun IGST,
CESS Account,Akaun CESS,
Loan Start Date,Tarikh Mula Pinjaman,
Loan Period (Days),Tempoh Pinjaman (Hari),
Loan End Date,Tarikh Akhir Pinjaman,
Bank Charges,Caj bank,
Short Term Loan Account,Akaun Pinjaman Jangka Pendek,
Bank Charges Account,Akaun Caj Bank,
Accounts Receivable Credit Account,Akaun Kredit Belum Terima Akaun,
Accounts Receivable Discounted Account,Akaun Diskaun Piutang Akaun,
Accounts Receivable Unpaid Account,Akaun Belum Dibayar Akaun Belum Dibayar,
Item Tax Template,Templat Cukai Item,
Tax Rates,Kadar cukai,
Item Tax Template Detail,Detail Templat Cukai Item,
Entry Type,Jenis Kemasukan,
Inter Company Journal Entry,Kemasukan Jurnal Syarikat Antara,
Bank Entry,Bank Entry,
Cash Entry,Entry Tunai,
Credit Card Entry,Entry Kad Kredit,
Contra Entry,Contra Entry,
Excise Entry,Eksais Entry,
Write Off Entry,Tulis Off Entry,
Opening Entry,Entry pembukaan,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Catatan Perakaunan,
Total Debit,Jumlah Debit,
Total Credit,Jumlah Kredit,
Difference (Dr - Cr),Perbezaan (Dr - Cr),
Make Difference Entry,Membawa Perubahan Entry,
Total Amount Currency,Jumlah Mata Wang,
Total Amount in Words,Jumlah Amaun dalam Perkataan,
Remark,Catatan,
Paid Loan,Pinjaman Berbayar,
Inter Company Journal Entry Reference,Rujukan Kemasukan Jurnal Syarikat Antara,
Write Off Based On,Tulis Off Based On,
Get Outstanding Invoices,Dapatkan Invois Cemerlang,
Write Off Amount,Hapus kira Jumlah,
Printing Settings,Tetapan Percetakan,
Pay To / Recd From,Bayar Untuk / Recd Dari,
Payment Order,Perintah Pembayaran,
Subscription Section,Seksyen Subskrip,
Journal Entry Account,Akaun Entry jurnal,
Account Balance,Baki Akaun,
Party Balance,Baki pihak,
Accounting Dimensions,Dimensi Perakaunan,
If Income or Expense,Jika Pendapatan atau Perbelanjaan,
Exchange Rate,Kadar pertukaran,
Debit in Company Currency,Debit dalam Syarikat Mata Wang,
Credit in Company Currency,Kredit dalam Mata Wang Syarikat,
Payroll Entry,Kemasukan Payroll,
Employee Advance,Advance Pekerja,
Reference Due Date,Tarikh Disebabkan Rujukan,
Loyalty Program Tier,Tahap Program Kesetiaan,
Redeem Against,Penebusan Terhad,
Expiry Date,Tarikh Luput,
Loyalty Point Entry Redemption,Penamatan Penyertaan Point Kesetiaan,
Redemption Date,Tarikh Penebusan,
Redeemed Points,Mata yang ditebus,
Loyalty Program Name,Nama Program Kesetiaan,
Loyalty Program Type,Jenis Program Kesetiaan,
Single Tier Program,Program Tahap Tunggal,
Multiple Tier Program,Pelbagai Tier Program,
Customer Territory,Kawasan Pelanggan,
Auto Opt In (For all customers),Opt Masuk Auto (Untuk semua pelanggan),
Collection Tier,Tier Koleksi,
Collection Rules,Peraturan Pengumpulan,
Redemption,Penebusan,
Conversion Factor,Faktor penukaran,
1 Loyalty Points = How much base currency?,1 Mata Kesetiaan = Berapa banyak mata wang asas?,
Expiry Duration (in days),Tempoh tamat tempoh (dalam hari),
Help Section,Bantuan Bahagian,
Loyalty Program Help,Bantuan Program Kesetiaan,
Loyalty Program Collection,Koleksi Program Kesetiaan,
Tier Name,Nama Tier,
Minimum Total Spent,Jumlah Jumlah Minimum,
Collection Factor (=1 LP),Faktor Pengumpulan (= 1 LP),
For how much spent = 1 Loyalty Point,Untuk berapa banyak yang dibelanjakan = 1 Mata Kesetiaan,
Mode of Payment Account,Cara Pembayaran Akaun,
Default Account,Akaun Default,
Default account will be automatically updated in POS Invoice when this mode is selected.,Akaun lalai akan dikemas kini secara automatik dalam Invoice POS apabila mod ini dipilih.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Pengagihan Bulanan ** membantu anda mengedarkan Bajet / sasaran seluruh bulan jika anda mempunyai bermusim dalam perniagaan anda.,
Distribution Name,Nama pengedaran,
Name of the Monthly Distribution,Nama Pembahagian Bulanan,
Monthly Distribution Percentages,Peratusan Taburan Bulanan,
Monthly Distribution Percentage,Taburan Peratus Bulanan,
Percentage Allocation,Peratus Peruntukan,
Create Missing Party,Buat Parti Hilang,
Create missing customer or supplier.,Buat pelanggan atau pembekal yang hilang.,
Opening Invoice Creation Tool Item,Membuka Item Penciptaan Alat Invois,
Temporary Opening Account,Akaun Pembukaan sementara,
Party Account,Akaun Pihak,
Type of Payment,Jenis Pembayaran,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Menerima,
Internal Transfer,Pindahan dalaman,
Payment Order Status,Status Pesanan Pembayaran,
Payment Ordered,Bayaran Pesanan,
Payment From / To,Pembayaran Dari / Ke,
Company Bank Account,Akaun Bank Syarikat,
Party Bank Account,Akaun Bank Parti,
Account Paid From,Akaun Dibayar Dari,
Account Paid To,Akaun Dibayar Kepada,
Paid Amount (Company Currency),Jumlah yang dibayar (Syarikat Mata Wang),
Received Amount,Pendapatan daripada,
Received Amount (Company Currency),Pendapatan daripada (Syarikat Mata Wang),
Get Outstanding Invoice,Dapatkan Invois Cemerlang,
Payment References,Rujukan pembayaran,
Writeoff,Hapus kira,
Total Allocated Amount,Jumlah Diperuntukkan,
Total Allocated Amount (Company Currency),Jumlah Peruntukan (Syarikat Mata Wang),
Set Exchange Gain / Loss,Set Exchange Keuntungan / Kerugian,
Difference Amount (Company Currency),Perbezaan Jumlah (Syarikat Mata Wang),
Write Off Difference Amount,Tulis Off Jumlah Perbezaan,
Deductions or Loss,Potongan atau Kehilangan,
Payment Deductions or Loss,Potongan bayaran atau Kehilangan,
Cheque/Reference Date,Cek Tarikh / Rujukan,
Payment Entry Deduction,Pembayaran Potongan Kemasukan,
Payment Entry Reference,Pembayaran Rujukan Kemasukan,
Allocated,Diperuntukkan,
Payment Gateway Account,Akaun Gateway Pembayaran,
Payment Account,Akaun Pembayaran,
Default Payment Request Message,Lalai Permintaan Bayaran Mesej,
PMO-,PMO-,
Payment Order Type,Jenis Pesanan Pembayaran,
Payment Order Reference,Rujukan Pesanan Pembayaran,
Bank Account Details,Maklumat akaun bank,
Payment Reconciliation,Penyesuaian bayaran,
Receivable / Payable Account,Belum Terima / Akaun Belum Bayar,
Bank / Cash Account,Akaun Bank / Tunai,
From Invoice Date,Dari Invois Tarikh,
To Invoice Date,Untuk invois Tarikh,
Minimum Invoice Amount,Amaun Invois Minimum,
Maximum Invoice Amount,Amaun Invois maksimum,
System will fetch all the entries if limit value is zero.,Sistem akan mengambil semua entri jika nilai had adalah sifar.,
Get Unreconciled Entries,Dapatkan belum disatukan Penyertaan,
Unreconciled Payment Details,Butiran Pembayaran yang belum disatukan,
Invoice/Journal Entry Details,Invois / Journal Entry Details,
Payment Reconciliation Invoice,Bayaran Penyesuaian Invois,
Invoice Number,Nombor invois,
Payment Reconciliation Payment,Penyesuaian Pembayaran Pembayaran,
Reference Row,rujukan Row,
Allocated amount,Jumlah yang diperuntukkan,
Payment Request Type,Jenis Permintaan Pembayaran,
Outward,Keluar,
Inward,Masuk ke dalam,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,butiran transaksi,
Amount in customer's currency,Amaun dalam mata wang pelanggan,
Is a Subscription,Adakah Langganan,
Transaction Currency,transaksi mata Wang,
Subscription Plans,Pelan Langganan,
SWIFT Number,Nombor SWIFT,
Recipient Message And Payment Details,Penerima Mesej Dan Butiran Pembayaran,
Make Sales Invoice,Buat Jualan Invois,
Mute Email,Senyapkan E-mel,
payment_url,payment_url,
Payment Gateway Details,Pembayaran Gateway Butiran,
Payment Schedule,Jadual pembayaran,
Invoice Portion,Bahagian Invois,
Payment Amount,Jumlah Bayaran,
Payment Term Name,Nama Terma Pembayaran,
Due Date Based On,Berdasarkan Tarikh Dikenakan,
Day(s) after invoice date,Hari selepas tarikh invois,
Day(s) after the end of the invoice month,Hari selepas akhir bulan invois,
Month(s) after the end of the invoice month,Bulan (s) selepas akhir bulan invois,
Credit Days,Hari Kredit,
Credit Months,Bulan Kredit,
Allocate Payment Based On Payment Terms,Peruntukkan Pembayaran Berdasarkan Syarat Pembayaran,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Sekiranya kotak centang ini dicentang, jumlah pembayaran akan dibahagi dan dialokasikan mengikut jumlah dalam jadual pembayaran terhadap setiap jangka waktu pembayaran",
Payment Terms Template Detail,Butiran Templat Terma Pembayaran,
Closing Fiscal Year,Penutup Tahun Anggaran,
Closing Account Head,Penutup Kepala Akaun,
"The account head under Liability or Equity, in which Profit/Loss will be booked","Ketua akaun di bawah Liabiliti atau Ekuiti, di mana Keuntungan / Kerugian akan ditempah",
POS Customer Group,POS Kumpulan Pelanggan,
POS Field,POS Field,
POS Item Group,POS Item Kumpulan,
[Select],[Pilih],
Company Address,Alamat syarikat,
Update Stock,Update Saham,
Ignore Pricing Rule,Abaikan Peraturan Harga,
Applicable for Users,Berkenaan Pengguna,
Sales Invoice Payment,Invois Jualan Pembayaran,
Item Groups,Kumpulan item,
Only show Items from these Item Groups,Hanya tunjukkan Item dari Kumpulan Item ini,
Customer Groups,Kumpulan Pelanggan,
Only show Customer of these Customer Groups,Hanya tunjukkan Pelanggan Kumpulan Pelanggan ini,
Write Off Account,Tulis Off Akaun,
Write Off Cost Center,Tulis Off PTJ,
Account for Change Amount,Akaun untuk Perubahan Jumlah,
Taxes and Charges,Cukai dan Caj,
Apply Discount On,Memohon Diskaun Pada,
POS Profile User,POS Profil Pengguna,
Apply On,Memohon Pada,
Price or Product Discount,Diskaun Harga atau Produk,
Apply Rule On Item Code,Memohon Peraturan Mengenai Kod Perkara,
Apply Rule On Item Group,Memohon Peraturan Pada Kumpulan Perkara,
Apply Rule On Brand,Memohon Peraturan Mengenai Jenama,
Mixed Conditions,Syarat Campuran,
Conditions will be applied on all the selected items combined. ,Syarat akan digunakan pada semua item yang dipilih digabungkan.,
Is Cumulative,Adakah Kumulatif,
Coupon Code Based,Kod Kupon Berdasarkan,
Discount on Other Item,Diskaun pada Item Lain,
Apply Rule On Other,Memohon Peraturan Di Lain-lain,
Party Information,Maklumat Parti,
Quantity and Amount,Kuantiti dan Jumlah,
Min Qty,Min Qty,
Max Qty,Max Qty,
Min Amt,Min Amt,
Max Amt,Max Amt,
Period Settings,Tetapan Tempoh,
Margin,margin,
Margin Type,Jenis margin,
Margin Rate or Amount,Kadar margin atau Amaun,
Price Discount Scheme,Skim diskaun harga,
Rate or Discount,Kadar atau Diskaun,
Discount Percentage,Peratus diskaun,
Discount Amount,Jumlah diskaun,
For Price List,Untuk Senarai Harga,
Product Discount Scheme,Skim diskaun produk,
Same Item,Perkara yang sama,
Free Item,Perkara percuma,
Threshold for Suggestion,Ambang Cadangan,
System will notify to increase or decrease quantity or amount ,Sistem akan memberitahu untuk meningkatkan atau mengurangkan kuantiti atau jumlah,
"Higher the number, higher the priority","Lebih tinggi nombor tersebut, lebih tinggi keutamaan",
Apply Multiple Pricing Rules,Terapkan Peraturan Harga Pelbagai,
Apply Discount on Rate,Terapkan Diskaun pada Kadar,
Validate Applied Rule,Mengesahkan Peraturan Terapan,
Rule Description,Perihalan Peraturan,
Pricing Rule Help,Peraturan Harga Bantuan,
Promotional Scheme Id,Id Skim Promosi,
Promotional Scheme,Skim Promosi,
Pricing Rule Brand,Jenama Peraturan Harga,
Pricing Rule Detail,Detail Peraturan Harga,
Child Docname,Docname anak,
Rule Applied,Peraturan digunapakai,
Pricing Rule Item Code,Kod Item Peraturan Harga,
Pricing Rule Item Group,Kumpulan Item Peraturan Harga,
Price Discount Slabs,Slab Diskaun Harga,
Promotional Scheme Price Discount,Diskaun Harga Skim Promosi,
Product Discount Slabs,Slab Diskaun Produk,
Promotional Scheme Product Discount,Diskaun Produk Skim Promosi,
Min Amount,Jumlah Min,
Max Amount,Jumlah maksimum,
Discount Type,Jenis Diskaun,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Kategori Pemotongan Cukai,
Edit Posting Date and Time,Edit Tarikh Posting dan Masa,
Is Paid,Adakah dibayar,
Is Return (Debit Note),Adakah Pulangan (Nota Debit),
Apply Tax Withholding Amount,Memohon Jumlah Pegangan Cukai,
Accounting Dimensions ,Dimensi Perakaunan,
Supplier Invoice Details,Pembekal Butiran Invois,
Supplier Invoice Date,Pembekal Invois Tarikh,
Return Against Purchase Invoice,Kembali Terhadap Invois Belian,
Select Supplier Address,Pilih Alamat Pembekal,
Contact Person,Dihubungi,
Select Shipping Address,Pilih Alamat Penghantaran,
Currency and Price List,Mata wang dan Senarai Harga,
Price List Currency,Senarai Harga Mata Wang,
Price List Exchange Rate,Senarai Harga Kadar Pertukaran,
Set Accepted Warehouse,Tetapkan Gudang yang Diterima,
Rejected Warehouse,Gudang Ditolak,
Warehouse where you are maintaining stock of rejected items,Gudang di mana anda mengekalkan stok barangan ditolak,
Raw Materials Supplied,Bahan mentah yang dibekalkan,
Supplier Warehouse,Gudang Pembekal,
Pricing Rules,Kaedah Harga,
Supplied Items,Item dibekalkan,
Total (Company Currency),Jumlah (Syarikat mata wang),
Net Total (Company Currency),Jumlah bersih (Syarikat mata wang),
Total Net Weight,Jumlah Berat Bersih,
Shipping Rule,Peraturan Penghantaran,
Purchase Taxes and Charges Template,Membeli Cukai dan Caj Template,
Purchase Taxes and Charges,Membeli Cukai dan Caj,
Tax Breakup,Breakup cukai,
Taxes and Charges Calculation,Cukai dan Caj Pengiraan,
Taxes and Charges Added (Company Currency),Cukai dan Caj Ditambah (Syarikat mata wang),
Taxes and Charges Deducted (Company Currency),Cukai dan Caj Dipotong (Syarikat mata wang),
Total Taxes and Charges (Company Currency),Jumlah Cukai dan Caj (Mata Wang Syarikat),
Taxes and Charges Added,Cukai dan Caj Tambahan,
Taxes and Charges Deducted,Cukai dan Caj Dipotong,
Total Taxes and Charges,Jumlah Cukai dan Caj,
Additional Discount,Diskaun tambahan,
Apply Additional Discount On,Memohon Diskaun tambahan On,
Additional Discount Amount (Company Currency),Jumlah Diskaun tambahan (Mata Wang Syarikat),
Additional Discount Percentage,Peratus Potongan Tambahan,
Additional Discount Amount,Amaun Diskaun Tambahan,
Grand Total (Company Currency),Jumlah Besar (Syarikat mata wang),
Rounding Adjustment (Company Currency),Pelarasan Membulat (Mata Wang Syarikat),
Rounded Total (Company Currency),Bulat Jumlah (Syarikat mata wang),
In Words (Company Currency),Dalam Perkataan (Syarikat mata wang),
Rounding Adjustment,Pelarasan Membulat,
In Words,Dalam Perkataan,
Total Advance,Jumlah Advance,
Disable Rounded Total,Melumpuhkan Bulat Jumlah,
Cash/Bank Account,Akaun Tunai / Bank,
Write Off Amount (Company Currency),Tulis Off Jumlah (Syarikat Mata Wang),
Set Advances and Allocate (FIFO),Tetapkan Pendahuluan dan Alokasi (FIFO),
Get Advances Paid,Mendapatkan Pendahuluan Dibayar,
Advances,Pendahuluan,
Terms,Syarat,
Terms and Conditions1,Terma dan Conditions1,
Group same items,Kumpulan barangan yang sama,
Print Language,Cetak Bahasa,
"Once set, this invoice will be on hold till the set date","Setelah ditetapkan, invois ini akan ditangguhkan sehingga tarikh ditetapkan",
Credit To,Kredit Untuk,
Party Account Currency,Akaun Pihak Mata Wang,
Against Expense Account,Terhadap Akaun Perbelanjaan,
Inter Company Invoice Reference,Rujukan Invois Syarikat Inter,
Is Internal Supplier,Pembekal Dalaman,
Start date of current invoice's period,Tarikh tempoh invois semasa memulakan,
End date of current invoice's period,Tarikh akhir tempoh invois semasa,
Update Auto Repeat Reference,Kemas kini Rujukan Ulang Auto,
Purchase Invoice Advance,Membeli Advance Invois,
Purchase Invoice Item,Membeli Invois Perkara,
Quantity and Rate,Kuantiti dan Kadar,
Received Qty,Diterima Qty,
Accepted Qty,Diterima Qty,
Rejected Qty,Telah Qty,
UOM Conversion Factor,Faktor Penukaran UOM,
Discount on Price List Rate (%),Diskaun Senarai Harga Kadar (%),
Price List Rate (Company Currency),Senarai Harga Kadar (Syarikat mata wang),
Rate ,Kadar,
Rate (Company Currency),Kadar (Syarikat mata wang),
Amount (Company Currency),Jumlah (Syarikat mata wang),
Is Free Item,Adakah Item Percuma,
Net Rate,Kadar bersih,
Net Rate (Company Currency),Kadar bersih (Syarikat mata wang),
Net Amount (Company Currency),Jumlah Bersih (Syarikat mata wang),
Item Tax Amount Included in Value,Amaun Cukai Perkara Termasuk dalam Nilai,
Landed Cost Voucher Amount,Kos mendarat Baucer Jumlah,
Raw Materials Supplied Cost,Kos Bahan mentah yang dibekalkan,
Accepted Warehouse,Gudang Diterima,
Serial No,No siri,
Rejected Serial No,Tiada Serial Ditolak,
Expense Head,Perbelanjaan Ketua,
Is Fixed Asset,Adakah Aset Tetap,
Asset Location,Lokasi Aset,
Deferred Expense,Perbelanjaan Tertunda,
Deferred Expense Account,Akaun Perbelanjaan Tertangguh,
Service Stop Date,Tarikh Henti Perkhidmatan,
Enable Deferred Expense,Mengaktifkan Perbelanjaan Tertunda,
Service Start Date,Tarikh Mula Perkhidmatan,
Service End Date,Tarikh Akhir Perkhidmatan,
Allow Zero Valuation Rate,Benarkan Kadar Penilaian Zero,
Item Tax Rate,Perkara Kadar Cukai,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Cukai terperinci jadual diambil dari ruang induk sebagai rentetan dan disimpan di dalam bidang ini. Digunakan untuk Cukai dan Caj,
Purchase Order Item,Pesanan Pembelian Item,
Purchase Receipt Detail,Detail Resit Pembelian,
Item Weight Details,Butiran Butiran Butiran,
Weight Per Unit,Berat Per Unit,
Total Weight,Berat keseluruhan,
Weight UOM,Berat UOM,
Page Break,Page Break,
Consider Tax or Charge for,Pertimbangkan Cukai atau Caj,
Valuation and Total,Penilaian dan Jumlah,
Valuation,Penilaian,
Add or Deduct,Tambah atau Memotong,
Deduct,Memotong,
On Previous Row Amount,Pada Row Jumlah Sebelumnya,
On Previous Row Total,Pada Sebelumnya Row Jumlah,
On Item Quantity,Pada Kuantiti Item,
Reference Row #,Rujukan Row #,
Is this Tax included in Basic Rate?,Cukai ini adalah termasuk dalam Kadar Asas?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Jika disemak, jumlah cukai yang akan dianggap sebagai sudah termasuk dalam Kadar Cetak / Print Amaun",
Account Head,Kepala Akaun,
Tax Amount After Discount Amount,Amaun Cukai Selepas Jumlah Diskaun,
Item Wise Tax Detail ,Butiran Cukai Bijaksana Item,
"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.","Template cukai standard yang boleh diguna pakai untuk semua Transaksi Pembelian. Templat ini boleh mengandungi senarai kepala cukai dan juga kepala perbelanjaan lain seperti &quot;Penghantaran&quot;, &quot;Insurans&quot;, &quot;Pengendalian&quot; dan lain-lain #### Nota Kadar cukai anda tentukan di sini akan menjadi kadar cukai standard untuk semua ** Item * *. Jika terdapat Item ** ** yang mempunyai kadar yang berbeza, mereka perlu ditambah dalam ** Item Cukai ** meja dalam ** ** Item induk. #### Keterangan Kolum 1. Pengiraan Jenis: - Ini boleh menjadi pada ** ** Jumlah bersih (iaitu jumlah jumlah asas). - ** Pada Row Sebelumnya Jumlah / Jumlah ** (untuk cukai atau caj terkumpul). Jika anda memilih pilihan ini, cukai yang akan digunakan sebagai peratusan daripada baris sebelumnya (dalam jadual cukai) amaun atau jumlah. - ** ** Sebenar (seperti yang dinyatakan). 2. Ketua Akaun: The lejar Akaun di mana cukai ini akan ditempah 3. Kos Center: Jika cukai / caj adalah pendapatan (seperti penghantaran) atau perbelanjaan perlu ditempah terhadap PTJ. 4. Keterangan: Keterangan cukai (yang akan dicetak dalam invois / sebut harga). 5. Kadar: Kadar Cukai. 6. Jumlah: Jumlah Cukai. 7. Jumlah: Jumlah terkumpul sehingga hal ini. 8. Masukkan Row: Jika berdasarkan &quot;Row Sebelumnya Jumlah&quot; anda boleh pilih nombor barisan yang akan diambil sebagai asas untuk pengiraan ini (default adalah berturut-turut sebelumnya). 9. Pertimbangkan Cukai atau Caj: Dalam bahagian ini, anda boleh menentukan jika cukai / caj adalah hanya untuk penilaian (bukan sebahagian daripada jumlah) atau hanya untuk jumlah (tidak menambah nilai kepada item) atau kedua-duanya. 10. Tambah atau Tolak: Adakah anda ingin menambah atau memotong cukai.",
Salary Component Account,Akaun Komponen Gaji,
Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Lalai akaun Bank / Tunai akan secara automatik dikemaskini dalam Gaji Journal Kemasukan apabila mod ini dipilih.,
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Termasuk Bayaran (POS),
Offline POS Name,Offline Nama POS,
Is Return (Credit Note),Adakah Pulangan (Nota Kredit),
Return Against Sales Invoice,Kembali Terhadap Jualan Invois,
Update Billed Amount in Sales Order,Kemas Kini Amaun Dibilor dalam Perintah Jualan,
Customer PO Details,Maklumat Pelanggan Details,
Customer's Purchase Order,Pesanan Pelanggan,
Customer's Purchase Order Date,Pesanan Belian Tarikh Pelanggan,
Customer Address,Alamat Pelanggan,
Shipping Address Name,Alamat Penghantaran Nama,
Company Address Name,Alamat Syarikat Nama,
Rate at which Customer Currency is converted to customer's base currency,Kadar di mana mata wang Pelanggan ditukar kepada mata wang asas pelanggan,
Rate at which Price list currency is converted to customer's base currency,Kadar di mana Senarai harga mata wang ditukar kepada mata wang asas pelanggan,
Set Source Warehouse,Tetapkan Gudang Sumber,
Packing List,Senarai Pembungkusan,
Packed Items,Makan Item,
Product Bundle Help,Produk Bantuan Bundle,
Time Sheet List,Masa Senarai Lembaran,
Time Sheets,Lembaran masa,
Total Billing Amount,Jumlah Bil,
Sales Taxes and Charges Template,Jualan Cukai dan Caj Template,
Sales Taxes and Charges,Jualan Cukai dan Caj,
Loyalty Points Redemption,Penebusan Mata Kesetiaan,
Redeem Loyalty Points,Tebus Mata Kesetiaan,
Redemption Account,Akaun Penebusan,
Redemption Cost Center,Pusat Kos Penebusan,
In Words will be visible once you save the Sales Invoice.,Dalam Perkataan akan dapat dilihat selepas anda menyimpan Invois Jualan.,
Allocate Advances Automatically (FIFO),Alokasikan Pendahuluan secara automatik (FIFO),
Get Advances Received,Mendapatkan Pendahuluan Diterima,
Base Change Amount (Company Currency),Tukar Jumlah Asas (Syarikat Mata Wang),
Write Off Outstanding Amount,Tulis Off Cemerlang Jumlah,
Terms and Conditions Details,Terma dan Syarat Butiran,
Is Internal Customer,Adakah Pelanggan Dalaman,
Is Discounted,Diskaun,
Unpaid and Discounted,Tidak dibayar dan Diskaun,
Overdue and Discounted,Tertunggak dan Diskaun,
Accounting Details,Maklumat Perakaunan,
Debit To,Debit Untuk,
Is Opening Entry,Apakah Membuka Entry,
C-Form Applicable,C-Borang Berkaitan,
Commission Rate (%),Kadar komisen (%),
Sales Team1,Team1 Jualan,
Against Income Account,Terhadap Akaun Pendapatan,
Sales Invoice Advance,Jualan Invois Advance,
Advance amount,Advance Jumlah,
Sales Invoice Item,Perkara Invois Jualan,
Customer's Item Code,Kod Item Pelanggan,
Brand Name,Nama jenama,
Qty as per Stock UOM,Qty seperti Saham UOM,
Discount and Margin,Diskaun dan Margin,
Rate With Margin,Kadar Dengan Margin,
Discount (%) on Price List Rate with Margin,Diskaun (%) dalam Senarai Harga Kadar dengan Margin,
Rate With Margin (Company Currency),Kadar Dengan Margin (Mata Wang Syarikat),
Delivered By Supplier,Dihantar Oleh Pembekal,
Deferred Revenue,Pendapatan Tertunda,
Deferred Revenue Account,Akaun Hasil Tertunda,
Enable Deferred Revenue,Membolehkan Pendapatan Ditangguhkan,
Stock Details,Stok,
Customer Warehouse (Optional),Warehouse pelanggan (Pilihan),
Available Batch Qty at Warehouse,Batch didapati Qty di Gudang,
Available Qty at Warehouse,Kuantiti didapati di Gudang,
Delivery Note Item,Penghantaran Nota Perkara,
Base Amount (Company Currency),Base Jumlah (Syarikat Mata Wang),
Sales Invoice Timesheet,Invois Jualan Timesheet,
Time Sheet,Lembaran masa,
Billing Hours,Waktu Billing,
Timesheet Detail,Detail Timesheet,
Tax Amount After Discount Amount (Company Currency),Amaun Cukai Selepas Jumlah Diskaun (Syarikat mata wang),
Item Wise Tax Detail,Perkara Bijaksana Cukai 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.","Template cukai standard yang boleh diguna pakai untuk semua Transaksi Jualan. Templat ini boleh mengandungi senarai kepala cukai dan juga lain kepala perbelanjaan / pendapatan seperti &quot;Penghantaran&quot;, &quot;Insurans&quot;, &quot;Pengendalian&quot; dan lain-lain #### Nota Kadar cukai anda tentukan di sini akan menjadi kadar cukai standard untuk semua ** Item **. Jika terdapat Item ** ** yang mempunyai kadar yang berbeza, mereka perlu ditambah dalam ** Item Cukai ** meja dalam ** ** Item induk. #### Keterangan Kolum 1. Pengiraan Jenis: - Ini boleh menjadi pada ** ** Jumlah bersih (iaitu jumlah jumlah asas). - ** Pada Row Sebelumnya Jumlah / Jumlah ** (untuk cukai atau caj terkumpul). Jika anda memilih pilihan ini, cukai yang akan digunakan sebagai peratusan daripada baris sebelumnya (dalam jadual cukai) amaun atau jumlah. - ** ** Sebenar (seperti yang dinyatakan). 2. Ketua Akaun: The lejar Akaun di mana cukai ini akan ditempah 3. Kos Center: Jika cukai / caj adalah pendapatan (seperti penghantaran) atau perbelanjaan perlu ditempah terhadap PTJ. 4. Keterangan: Keterangan cukai (yang akan dicetak dalam invois / sebut harga). 5. Kadar: Kadar Cukai. 6. Jumlah: Jumlah Cukai. 7. Jumlah: Jumlah terkumpul sehingga hal ini. 8. Masukkan Row: Jika berdasarkan &quot;Row Sebelumnya Jumlah&quot; anda boleh pilih nombor barisan yang akan diambil sebagai asas untuk pengiraan ini (default adalah berturut-turut sebelumnya). 9. Cukai ini termasuk dalam Kadar Asas ?: Jika anda mendaftar ini, ia bermakna bahawa cukai ini tidak akan ditunjukkan di bawah meja item, tetapi akan dimasukkan ke dalam Kadar Asas dalam jadual item utama anda. Ini berguna jika anda ingin memberikan harga yang rata (termasuk semua cukai) harga kepada pelanggan.",
* Will be calculated in the transaction.,* Akan dikira dalam urus niaga.,
From No,Daripada No,
To No,Tidak,
Is Company,Adakah Syarikat,
Current State,Keadaan sekarang,
Purchased,Dibeli,
From Shareholder,Dari Pemegang Saham,
From Folio No,Daripada Folio No,
To Shareholder,Kepada Pemegang Saham,
To Folio No,Kepada Folio No,
Equity/Liability Account,Akaun Ekuiti / Liabiliti,
Asset Account,Akaun Aset,
(including),(termasuk),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio no.,
Address and Contacts,Alamat dan Kenalan,
Contact List,Senarai kenalan,
Hidden list maintaining the list of contacts linked to Shareholder,Senarai tersembunyi yang mengekalkan senarai kenalan yang dipautkan kepada Pemegang Saham,
Specify conditions to calculate shipping amount,Menentukan syarat-syarat untuk mengira jumlah penghantaran,
Shipping Rule Label,Peraturan Penghantaran Label,
example: Next Day Shipping,contoh: Penghantaran Hari Seterusnya,
Shipping Rule Type,Jenis Peraturan Penghantaran,
Shipping Account,Akaun Penghantaran,
Calculate Based On,Kira Based On,
Fixed,Tetap,
Net Weight,Berat Bersih,
Shipping Amount,Penghantaran Jumlah,
Shipping Rule Conditions,Penghantaran Peraturan Syarat,
Restrict to Countries,Hadkan kepada Negara,
Valid for Countries,Sah untuk Negara,
Shipping Rule Condition,Penghantaran Keadaan Peraturan,
A condition for a Shipping Rule,Satu syarat untuk Peraturan Penghantaran,
From Value,Dari Nilai,
To Value,Untuk Nilai,
Shipping Rule Country,Kaedah Penghantaran Negara,
Subscription Period,Tempoh Langganan,
Subscription Start Date,Tarikh Mula Langganan,
Cancelation Date,Tarikh Pembatalan,
Trial Period Start Date,Tarikh Mulai Percubaan,
Trial Period End Date,Tarikh Akhir Tempoh Percubaan,
Current Invoice Start Date,Tarikh Mula Invois Semasa,
Current Invoice End Date,Tarikh Tamat Invois Semasa,
Days Until Due,Hari Sehingga Hutang,
Number of days that the subscriber has to pay invoices generated by this subscription,Bilangan hari yang pelanggan perlu membayar invois yang dihasilkan oleh langganan ini,
Cancel At End Of Period,Batalkan Pada Akhir Tempoh,
Generate Invoice At Beginning Of Period,Buatkan Invois Pada Permulaan Tempoh,
Plans,Rancangan,
Discounts,Diskaun,
Additional DIscount Percentage,Peratus Diskaun tambahan,
Additional DIscount Amount,Jumlah Diskaun tambahan,
Subscription Invoice,Invois Langganan,
Subscription Plan,Pelan Langganan,
Cost,Kos,
Billing Interval,Selang Pengebilan,
Billing Interval Count,Count Interval Pengebilan,
"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","Bilangan selang untuk medan jarak contohnya jika Selang ialah &#39;Hari&#39; dan Pengiraan Interval Pengebilan ialah 3, invois akan dihasilkan setiap 3 hari",
Payment Plan,Pelan Pembayaran,
Subscription Plan Detail,Detail Pelan Langganan,
Plan,Rancang,
Subscription Settings,Tetapan Langganan,
Grace Period,Tempoh penangguhan,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Bilangan hari selepas tarikh invois telah berlalu sebelum membatalkan langganan atau menandakan langganan sebagai belum dibayar,
Prorate,Prorate,
Tax Rule,Peraturan Cukai,
Tax Type,Jenis Cukai,
Use for Shopping Cart,Gunakan untuk Troli,
Billing City,Bandar Bil,
Billing County,County Billing,
Billing State,Negeri Bil,
Billing Zipcode,Kod Zip Penagihan,
Billing Country,Bil Negara,
Shipping City,Penghantaran Bandar,
Shipping County,Penghantaran County,
Shipping State,Negeri Penghantaran,
Shipping Zipcode,Kod Zip Perkapalan,
Shipping Country,Penghantaran Negara,
Tax Withholding Account,Akaun Pegangan Cukai,
Tax Withholding Rates,Kadar Pegangan Cukai,
Rates,Kadar,
Tax Withholding Rate,Kadar Pegangan Cukai,
Single Transaction Threshold,Ambang Transaksi Single,
Cumulative Transaction Threshold,Ambang Transaksi Kumulatif,
Agriculture Analysis Criteria,Kriteria Analisis Pertanian,
Linked Doctype,Doctype Linked,
Water Analysis,Analisis Air,
Soil Analysis,Analisis Tanah,
Plant Analysis,Analisis Tanaman,
Fertilizer,Baja,
Soil Texture,Tekstur Tanah,
Weather,Cuaca,
Agriculture Manager,Pengurus Pertanian,
Agriculture User,Pengguna Pertanian,
Agriculture Task,Petugas Pertanian,
Task Name,Petugas Nama,
Start Day,Mula Hari,
End Day,Hari Akhir,
Holiday Management,Pengurusan Percutian,
Ignore holidays,Abaikan cuti,
Previous Business Day,Hari Perniagaan Sebelumnya,
Next Business Day,Hari Perniagaan Seterusnya,
Urgent,Segera,
Crop,Potong,
Crop Name,Nama Tanaman,
Scientific Name,Nama saintifik,
"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.. ","Anda boleh menentukan semua tugas yang perlu dilakukan untuk tanaman ini di sini. Bidang hari digunakan untuk menyebut hari di mana tugas perlu dijalankan, 1 adalah hari pertama, dan lain-lain ..",
Crop Spacing,Spread Tanaman,
Crop Spacing UOM,Spek Tanaman UOM,
Row Spacing,Barisan Baris,
Row Spacing UOM,Spasi Baris UOM,
Perennial,Perennial,
Biennial,Dua tahun,
Planting UOM,Menanam UOM,
Planting Area,Kawasan Penanaman,
Yield UOM,Hasil UOM,
Materials Required,Bahan yang diperlukan,
Produced Items,Item yang dihasilkan,
Produce,Menghasilkan,
Byproducts,Byproducts,
Linked Location,Lokasi Berkaitan,
A link to all the Locations in which the Crop is growing,Pautan ke semua Lokasi di mana Tanaman semakin berkembang,
This will be day 1 of the crop cycle,Ini akan menjadi hari 1 kitaran tanaman,
ISO 8601 standard,Standard ISO 8601,
Cycle Type,Jenis Kitaran,
Less than a year,Kurang dari setahun,
The minimum length between each plant in the field for optimum growth,Panjang minimum antara setiap loji di lapangan untuk pertumbuhan optimum,
The minimum distance between rows of plants for optimum growth,Jarak minimum antara barisan tumbuhan untuk pertumbuhan optimum,
Detected Diseases,Penyakit yang Dikesan,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Senarai penyakit yang dikesan di lapangan. Apabila dipilih, ia akan menambah senarai tugasan secara automatik untuk menangani penyakit ini",
Detected Disease,Penyakit yang Dikesan,
LInked Analysis,Analisis Berfikir,
Disease,Penyakit,
Tasks Created,Tugas Dibuat,
Common Name,Nama yang selalu digunakan,
Treatment Task,Tugas Rawatan,
Treatment Period,Tempoh Rawatan,
Fertilizer Name,Nama Baja,
Density (if liquid),Ketumpatan (jika cecair),
Fertilizer Contents,Kandungan Pupuk,
Fertilizer Content,Kandungan Baja,
Linked Plant Analysis,Analisis Loji Terkait,
Linked Soil Analysis,Analisis Tanah yang Berkaitan,
Linked Soil Texture,Tekstur tanah yang berkaitan,
Collection Datetime,Tarikh Dataran,
Laboratory Testing Datetime,Ujian Laboratorium Datetime,
Result Datetime,Hasil Datetime,
Plant Analysis Criterias,Kriterias Analisis Tanaman,
Plant Analysis Criteria,Kriteria Analisis Loji,
Minimum Permissible Value,Nilai Minimum yang Dibenarkan,
Maximum Permissible Value,Nilai maksimum yang dibenarkan,
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,Kriterias Analisis Tanah,
Soil Analysis Criteria,Kriteria Analisis Tanah,
Soil Type,Jenis Tanah,
Loamy Sand,Loamy Sand,
Sandy Loam,Sandy Loam,
Loam,Loam,
Silt Loam,Silt Loam,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Loam Clay Loam,
Sandy Clay,Sandy Clay,
Silty Clay,Silty Clay,
Clay Composition (%),Komposisi tanah liat (%),
Sand Composition (%),Komposisi pasir (%),
Silt Composition (%),Komposisi lumpur (%),
Ternary Plot,Plot Ternary,
Soil Texture Criteria,Kriteria Tekanan Tanah,
Type of Sample,Jenis Sampel,
Container,Container,
Origin,Asal,
Collection Temperature ,Suhu Pengumpulan,
Storage Temperature,Suhu Penyimpanan,
Appearance,Rupa,
Person Responsible,Orang yang bertanggungjawab,
Water Analysis Criteria,Kriteria Analisis Air,
Weather Parameter,Parameter Cuaca,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Pemilik Aset,
Asset Owner Company,Syarikat Pemilik Aset,
Custodian,Kustodian,
Disposal Date,Tarikh pelupusan,
Journal Entry for Scrap,Kemasukan Jurnal untuk Scrap,
Available-for-use Date,Tarikh sedia untuk digunakan,
Calculate Depreciation,Hitung Susut nilai,
Allow Monthly Depreciation,Benarkan Susut Nilai Bulanan,
Number of Depreciations Booked,Jumlah penurunan nilai Ditempah,
Finance Books,Buku Kewangan,
Straight Line,Garis lurus,
Double Declining Balance,Baki Penurunan Double,
Manual,manual,
Value After Depreciation,Nilai Selepas Susutnilai,
Total Number of Depreciations,Jumlah penurunan nilai,
Frequency of Depreciation (Months),Kekerapan Susutnilai (Bulan),
Next Depreciation Date,Selepas Tarikh Susutnilai,
Depreciation Schedule,Jadual susutnilai,
Depreciation Schedules,Jadual susutnilai,
Insurance details,Maklumat insurans,
Policy number,Nombor polisi,
Insurer,Penanggung insurans,
Insured value,Nilai yang diinsuranskan,
Insurance Start Date,Tarikh Mula Insurans,
Insurance End Date,Tarikh Akhir Insurans,
Comprehensive Insurance,Insurans Komprehensif,
Maintenance Required,Penyelenggaraan Diperlukan,
Check if Asset requires Preventive Maintenance or Calibration,Periksa sama ada Asset memerlukan Penyelenggaraan Pencegahan atau Penentukuran,
Booked Fixed Asset,Pemeteraian Aset Tetap,
Purchase Receipt Amount,Jumlah Resit Pembelian,
Default Finance Book,Buku Kewangan Lalai,
Quality Manager,Pengurus Kualiti,
Asset Category Name,Asset Kategori Nama,
Depreciation Options,Pilihan Susut nilai,
Enable Capital Work in Progress Accounting,Membolehkan Kerja Modal dalam Perakaunan Kemajuan,
Finance Book Detail,Detail Buku Kewangan,
Asset Category Account,Akaun Kategori Asset,
Fixed Asset Account,Akaun Aset Tetap,
Accumulated Depreciation Account,Akaun Susut Nilai Terkumpul,
Depreciation Expense Account,Akaun Susut Perbelanjaan,
Capital Work In Progress Account,Kerja Modal Dalam Akaun Kemajuan,
Asset Finance Book,Buku Kewangan Aset,
Written Down Value,Nilai Tertulis,
Expected Value After Useful Life,Nilai dijangka After Life Berguna,
Rate of Depreciation,Kadar Susut Nilai,
In Percentage,Dalam Peratusan,
Maintenance Team,Pasukan Penyelenggaraan,
Maintenance Manager Name,Nama Pengurus Penyelenggaraan,
Maintenance Tasks,Tugas Penyelenggaraan,
Manufacturing User,Pembuatan pengguna,
Asset Maintenance Log,Log Penyelenggaraan Aset,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Jenis Penyelenggaraan,
Maintenance Status,Penyelenggaraan Status,
Planned,Dirancang,
Has Certificate ,Mempunyai Sijil,
Certificate,Sijil,
Actions performed,Tindakan dilakukan,
Asset Maintenance Task,Tugas Penyelenggaraan Aset,
Maintenance Task,Tugas Penyelenggaraan,
Preventive Maintenance,Penyelenggaraan pencegahan,
Calibration,Penentukuran,
2 Yearly,2 Tahunan,
Certificate Required,Sijil Diperlukan,
Assign to Name,Tugaskan ke Nama,
Next Due Date,Tarikh Akhir Seterusnya,
Last Completion Date,Tarikh Penyempurnaan Terakhir,
Asset Maintenance Team,Pasukan Penyelenggaraan Aset,
Maintenance Team Name,Nama Pasukan Penyelenggaraan,
Maintenance Team Members,Ahli Pasukan Penyelenggaraan,
Purpose,Tujuan,
Stock Manager,Pengurus saham,
Asset Movement Item,Item Pergerakan Aset,
Source Location,Lokasi Sumber,
From Employee,Dari Pekerja,
Target Location,Lokasi Sasaran,
To Employee,Kepada Pekerja,
Asset Repair,Pembaikan aset,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Tarikh Kegagalan,
Assign To Name,Berikan Nama,
Repair Status,Status Pembaikan,
Error Description,Ralat Penerangan,
Downtime,Waktu turun,
Repair Cost,Kos Pembaikan,
Manufacturing Manager,Pembuatan Pengurus,
Current Asset Value,Nilai Aset Semasa,
New Asset Value,Nilai Aset Baru,
Make Depreciation Entry,Buat Entry Susutnilai,
Finance Book Id,Id Buku Kewangan,
Location Name,Nama lokasi,
Parent Location,Lokasi Ibu Bapa,
Is Container,Adakah Container,
Check if it is a hydroponic unit,Semak sama ada unit hidroponik,
Location Details,Butiran Lokasi,
Latitude,Latitud,
Longitude,Longitud,
Area,Kawasan,
Area UOM,Kawasan UOM,
Tree Details,Tree Butiran,
Maintenance Team Member,Ahli Pasukan Penyelenggaraan,
Team Member,Ahli pasukan,
Maintenance Role,Peranan Penyelenggaraan,
Buying Settings,Tetapan Membeli,
Settings for Buying Module,Tetapan untuk Membeli Modul,
Supplier Naming By,Pembekal Menamakan Dengan,
Default Supplier Group,Kumpulan Pembekal Lalai,
Default Buying Price List,Default Senarai Membeli Harga,
Maintain same rate throughout purchase cycle,Mengekalkan kadar yang sama sepanjang kitaran pembelian,
Allow Item to be added multiple times in a transaction,Benarkan Perkara yang akan ditambah beberapa kali dalam urus niaga,
Backflush Raw Materials of Subcontract Based On,Bahan Binaan Backflush Subkontrak Berdasarkan Pada,
Material Transferred for Subcontract,Bahan yang Dipindahkan untuk Subkontrak,
Over Transfer Allowance (%),Lebih Elaun Pemindahan (%),
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.,Peratusan anda dibenarkan untuk memindahkan lebih banyak daripada kuantiti yang diperintahkan. Sebagai contoh: Jika anda telah memesan 100 unit. dan Elaun anda adalah 10% maka anda dibenarkan memindahkan 110 unit.,
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Dapatkan Item daripada Permintaan terbuka bahan,
Fetch items based on Default Supplier.,Ambil item berdasarkan Pembekal Lalai.,
Required By,Diperlukan oleh,
Order Confirmation No,Pengesahan Pesanan No,
Order Confirmation Date,Tarikh Pengesahan Pesanan,
Customer Mobile No,Pelanggan Bimbit,
Customer Contact Email,Pelanggan Hubungi E-mel,
Set Target Warehouse,Tetapkan Gudang Sasaran,
Sets 'Warehouse' in each row of the Items table.,Menetapkan &#39;Gudang&#39; di setiap baris jadual Item.,
Supply Raw Materials,Bekalan Bahan Mentah,
Purchase Order Pricing Rule,Peraturan Harga Pesanan Pembelian,
Set Reserve Warehouse,Tetapkan Gudang Rizab,
In Words will be visible once you save the Purchase Order.,Dalam Perkataan akan dapat dilihat selepas anda menyimpan Pesanan Belian.,
Advance Paid,Advance Dibayar,
Tracking,Penjejakan,
% Billed,% Dibilkan,
% Received,% Diterima,
Ref SQ,Ref SQ,
Inter Company Order Reference,Rujukan Pesanan Antara Syarikat,
Supplier Part Number,Pembekal Bahagian Nombor,
Billed Amt,Billed AMT,
Warehouse and Reference,Gudang dan Rujukan,
To be delivered to customer,Yang akan dihantar kepada pelanggan,
Material Request Item,Bahan Permintaan Item,
Supplier Quotation Item,Pembekal Sebutharga Item,
Against Blanket Order,Terhadap Perintah Selimut,
Blanket Order,Perintah Selimut,
Blanket Order Rate,Kadar Perintah Selimut,
Returned Qty,Kembali Kuantiti,
Purchase Order Item Supplied,Pesanan Pembelian Item Dibekalkan,
BOM Detail No,Detail BOM Tiada,
Stock Uom,Saham UOM,
Raw Material Item Code,Bahan mentah Item Code,
Supplied Qty,Dibekalkan Qty,
Purchase Receipt Item Supplied,Resit Pembelian Item Dibekalkan,
Current Stock,Saham Semasa,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Bagi pembekal individu,
Supplier Detail,Detail pembekal,
Link to Material Requests,Pautan ke Permintaan Bahan,
Message for Supplier,Mesej untuk Pembekal,
Request for Quotation Item,Sebut Harga Item,
Required Date,Tarikh Diperlukan,
Request for Quotation Supplier,Sebut Harga Pembekal,
Send Email,Hantar E-mel,
Quote Status,Status Petikan,
Download PDF,Download PDF,
Supplier of Goods or Services.,Pembekal Barangan atau Perkhidmatan.,
Name and Type,Nama dan Jenis,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Akaun Bank Default,
Is Transporter,Adakah Transporter,
Represents Company,Merupakan Syarikat,
Supplier Type,Jenis Pembekal,
Allow Purchase Invoice Creation Without Purchase Order,Benarkan Pembuatan Invois Pembelian Tanpa Pesanan Pembelian,
Allow Purchase Invoice Creation Without Purchase Receipt,Benarkan Pembuatan Invois Pembelian Tanpa Resit Pembelian,
Warn RFQs,Amaran RFQs,
Warn POs,Amaran PO,
Prevent RFQs,Cegah RFQs,
Prevent POs,Mencegah PO,
Billing Currency,Bil Mata Wang,
Default Payment Terms Template,Templat Terma Pembayaran Lalai,
Block Supplier,Pembekal Blok,
Hold Type,Tahan Jenis,
Leave blank if the Supplier is blocked indefinitely,Biarkan kosong jika Pembekal disekat selama-lamanya,
Default Payable Accounts,Default Akaun Belum Bayar,
Mention if non-standard payable account,Menyebut jika tidak standard akaun yang perlu dibayar,
Default Tax Withholding Config,Config Holding Tax Default,
Supplier Details,Butiran Pembekal,
Statutory info and other general information about your Supplier,Maklumat berkanun dan maklumat umum lain mengenai pembekal anda,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Alamat Pembekal,
Link to material requests,Link kepada permintaan bahan,
Rounding Adjustment (Company Currency,Pelarasan Membulat (Mata Wang Syarikat,
Auto Repeat Section,Seksyen Ulang Auto,
Is Subcontracted,Apakah Subkontrak,
Lead Time in days,Masa utama dalam hari,
Supplier Score,Skor Pembekal,
Indicator Color,Warna Petunjuk,
Evaluation Period,Tempoh Penilaian,
Per Week,Seminggu,
Per Month,Sebulan,
Per Year,Setiap tahun,
Scoring Setup,Persediaan Pemarkahan,
Weighting Function,Fungsi Berat,
"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","Pemboleh ubah kad skor boleh digunakan, dan juga: {total_score} (jumlah skor dari tempoh itu), {period_number} (bilangan tempoh hingga ke hari sekarang)",
Scoring Standings,Kedudukan Markah,
Criteria Setup,Persediaan Kriteria,
Load All Criteria,Muatkan Semua Kriteria,
Scoring Criteria,Kriteria Pemarkahan,
Scorecard Actions,Tindakan Kad Scorecard,
Warn for new Request for Quotations,Amalkan Permintaan untuk Sebut Harga baru,
Warn for new Purchase Orders,Amalkan pesanan baru,
Notify Supplier,Maklumkan Pembekal,
Notify Employee,Memberitahu Pekerja,
Supplier Scorecard Criteria,Kriteria Kad Skor Pembekal,
Criteria Name,Nama Kriteria,
Max Score,Markah Maks,
Criteria Formula,Formula Kriteria,
Criteria Weight,Kriteria Berat,
Supplier Scorecard Period,Tempoh Kad Scorecard Pembekal,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Markah Skor,
Calculations,Pengiraan,
Criteria,Kriteria,
Variables,Pembolehubah,
Supplier Scorecard Setup,Persediaan Kad Scorecard Pembekal,
Supplier Scorecard Scoring Criteria,Kriteria Pencari Skor Pembekal,
Score,Rata,
Supplier Scorecard Scoring Standing,Supplier Scorecard Scoring Standing,
Standing Name,Nama Berdiri,
Purple,Ungu,
Yellow,Kuning,
Orange,Jingga,
Min Grade,Gred Min,
Max Grade,Gred Maks,
Warn Purchase Orders,Perhatian Pesanan Pembelian,
Prevent Purchase Orders,Cegah Pesanan Pembelian,
Employee ,Pekerja,
Supplier Scorecard Scoring Variable,Pembekal Skor Kad Pembekal Pembekal,
Variable Name,Nama Variabel,
Parameter Name,Nama Parameter,
Supplier Scorecard Standing,Pembekal kad skor pembekal,
Notify Other,Beritahu Yang Lain,
Supplier Scorecard Variable,Pembolehubah Kad Skor Pembekal,
Call Log,Log panggilan,
Received By,Diterima oleh,
Caller Information,Maklumat Pemanggil,
Contact Name,Nama Kenalan,
Lead ,Memimpin,
Lead Name,Nama Lead,
Ringing,Ringing,
Missed,Tidak dijawab,
Call Duration in seconds,Tempoh panggilan dalam saat,
Recording URL,Rakaman URL,
Communication Medium,Komunikasi Sederhana,
Communication Medium Type,Jenis Sederhana Komunikasi,
Voice,Suara,
Catch All,Tangkap Semua,
"If there is no assigned timeslot, then communication will be handled by this group","Jika tidak ada timeslot yang ditetapkan, maka komunikasi akan dikendalikan oleh kumpulan ini",
Timeslots,Timeslots,
Communication Medium Timeslot,Komunikasi Timeslot Sederhana,
Employee Group,Kumpulan Pekerja,
Appointment,Pelantikan,
Scheduled Time,Masa yang telah dijadualkan,
Unverified,Tidak dapat disahkan,
Customer Details,Butiran Pelanggan,
Phone Number,Nombor telefon,
Skype ID,ID Skype,
Linked Documents,Dokumen Berkaitan,
Appointment With,Pelantikan Dengan,
Calendar Event,Acara Kalendar,
Appointment Booking Settings,Tetapan Tempahan Pelantikan,
Enable Appointment Scheduling,Dayakan Penjadualan Pelantikan,
Agent Details,Butiran Agen,
Availability Of Slots,Ketersediaan Slot,
Number of Concurrent Appointments,Bilangan Pelantikan Bersamaan,
Agents,Ejen,
Appointment Details,Butiran Pelantikan,
Appointment Duration (In Minutes),Tempoh Pelantikan (Dalam Menit),
Notify Via Email,Beritahu Melalui E-mel,
Notify customer and agent via email on the day of the appointment.,Beritahu pelanggan dan ejen melalui e-mel pada hari pelantikan.,
Number of days appointments can be booked in advance,Bilangan pelantikan hari boleh ditempah terlebih dahulu,
Success Settings,Tetapan Kejayaan,
Success Redirect URL,URL Redirect Kejayaan,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Biarkan kosong untuk rumah. Ini adalah relatif terhadap URL tapak, contohnya &quot;kira&quot; akan mengarahkan semula ke &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Slot Tempahan Pelantikan,
Day Of Week,Hari dalam seminggu,
From Time ,Dari Masa,
Campaign Email Schedule,Jadual E-mel Kempen,
Send After (days),Hantar Selepas (hari),
Signed,Ditandatangani,
Party User,Pengguna Parti,
Unsigned,Unsigned,
Fulfilment Status,Status Penyempurnaan,
N/A,N / A,
Unfulfilled,Tidak dipenuhi,
Partially Fulfilled,Sebahagian Sepenuhnya,
Fulfilled,Diisi,
Lapsed,Lapsed,
Contract Period,Tempoh kontrak,
Signee Details,Butiran Signee,
Signee,Signee,
Signed On,Ditandatangani,
Contract Details,Butiran Kontrak,
Contract Template,Templat Kontrak,
Contract Terms,Terma Kontrak,
Fulfilment Details,Butiran Penyempurnaan,
Requires Fulfilment,Memerlukan Pemenuhan,
Fulfilment Deadline,Tarikh akhir penyempurnaan,
Fulfilment Terms,Terma Sepenuh,
Contract Fulfilment Checklist,Senarai Semak Pengalaman Kontrak,
Requirement,Keperluan,
Contract Terms and Conditions,Terma dan Syarat Kontrak,
Fulfilment Terms and Conditions,Terma dan Syarat Pemenuhan,
Contract Template Fulfilment Terms,Terma Pemenuhan Template Kontrak,
Email Campaign,Kempen E-mel,
Email Campaign For ,Kempen E-mel Untuk,
Lead is an Organization,Lead adalah Organisasi,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Nama Orang,
Lost Quotation,hilang Sebutharga,
Interested,Berminat,
Converted,Ditukar,
Do Not Contact,Jangan Hubungi,
From Customer,Daripada Pelanggan,
Campaign Name,Nama Kempen,
Follow Up,Mengikuti,
Next Contact By,Hubungi Seterusnya By,
Next Contact Date,Hubungi Seterusnya Tarikh,
Ends On,Berakhir Pada,
Address & Contact,Alamat,
Mobile No.,No. Telefon,
Lead Type,Jenis Lead,
Channel Partner,Rakan Channel,
Consultant,Perunding,
Market Segment,Segmen pasaran,
Industry,Industri,
Request Type,Jenis Permintaan,
Product Enquiry,Pertanyaan Produk,
Request for Information,Permintaan Maklumat,
Suggestions,Cadangan,
Blog Subscriber,Blog Pelanggan,
LinkedIn Settings,Tetapan LinkedIn,
Company ID,ID Syarikat,
OAuth Credentials,Kelayakan OAuth,
Consumer Key,Kunci Pengguna,
Consumer Secret,Rahsia Pengguna,
User Details,Maklumat Pengguna,
Person URN,Orang URN,
Session Status,Status Sesi,
Lost Reason Detail,Detil Sebab Hilang,
Opportunity Lost Reason,Peluang Hilang Peluang,
Potential Sales Deal,Deal Potensi Jualan,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Peluang Daripada,
Customer / Lead Name,Pelanggan / Nama Lead,
Opportunity Type,Jenis Peluang,
Converted By,Diubah oleh,
Sales Stage,Peringkat Jualan,
Lost Reason,Hilang Akal,
Expected Closing Date,Tarikh Tutup Dijangkakan,
To Discuss,Bincang,
With Items,Dengan Item,
Probability (%),Kebarangkalian (%),
Contact Info,Maklumat perhubungan,
Customer / Lead Address,Pelanggan / Lead Alamat,
Contact Mobile No,Hubungi Mobile No,
Enter name of campaign if source of enquiry is campaign,Masukkan nama kempen jika sumber siasatan adalah kempen,
Opportunity Date,Peluang Tarikh,
Opportunity Item,Peluang Perkara,
Basic Rate,Kadar asas,
Stage Name,Nama pentas,
Social Media Post,Catatan Media Sosial,
Post Status,Status Pengeposan,
Posted,Dihantar,
Share On,Kongsikan,
Twitter,Twitter,
LinkedIn,LinkedIn,
Twitter Post Id,Id Catatan Twitter,
LinkedIn Post Id,Id Catatan LinkedIn,
Tweet,Tweet,
Twitter Settings,Tetapan Twitter,
API Secret Key,Kunci Rahsia API,
Term Name,Nama jangka,
Term Start Date,Term Tarikh Mula,
Term End Date,Term Tarikh Tamat,
Academics User,akademik Pengguna,
Academic Year Name,Nama Akademik Tahun,
Article,Artikel,
LMS User,Pengguna LMS,
Assessment Criteria Group,Kriteria Penilaian Kumpulan,
Assessment Group Name,Nama Kumpulan Penilaian,
Parent Assessment Group,Persatuan Ibu Bapa Penilaian,
Assessment Name,Nama penilaian,
Grading Scale,Skala penggredan,
Examiner,pemeriksa,
Examiner Name,Nama pemeriksa,
Supervisor,penyelia,
Supervisor Name,Nama penyelia,
Evaluate,Evaluasi,
Maximum Assessment Score,Maksimum Skor Penilaian,
Assessment Plan Criteria,Kriteria Penilaian Pelan,
Maximum Score,Skor maksimum,
Result,Keputusan,
Total Score,Jumlah markah,
Grade,gred,
Assessment Result Detail,Penilaian Keputusan terperinci,
Assessment Result Tool,Penilaian Keputusan Tool,
Result HTML,keputusan HTML,
Content Activity,Aktiviti Kandungan,
Last Activity ,Aktiviti Terakhir,
Content Question,Soalan Kandungan,
Question Link,Pautan Soalan,
Course Name,Nama kursus,
Topics,Topik,
Hero Image,Imej Hero,
Default Grading Scale,Skala Penggredan lalai,
Education Manager,Pengurus Pendidikan,
Course Activity,Aktiviti Kursus,
Course Enrollment,Pendaftaran Kursus,
Activity Date,Tarikh Aktiviti,
Course Assessment Criteria,Kriteria Penilaian Kursus,
Weightage,Wajaran,
Course Content,Kandungan kursus,
Quiz,Kuiz,
Program Enrollment,program Pendaftaran,
Enrollment Date,Tarikh pendaftaran,
Instructor Name,pengajar Nama,
EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
Course Scheduling Tool,Kursus Alat Penjadualan,
Course Start Date,Kursus Tarikh Mula,
To TIme,Untuk Masa,
Course End Date,Kursus Tarikh Akhir,
Course Topic,Topik Kursus,
Topic,Topic,
Topic Name,Topic Nama,
Education Settings,Tetapan Pendidikan,
Current Academic Year,Semasa Tahun Akademik,
Current Academic Term,Jangka Akademik Semasa,
Attendance Freeze Date,Kehadiran Freeze Tarikh,
Validate Batch for Students in Student Group,Mengesahkan Batch untuk Pelajar dalam Kumpulan Pelajar,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Untuk Kumpulan Pelajar Batch berasaskan, Batch Pelajar akan disahkan bagi tiap-tiap pelajar daripada Program Pendaftaran.",
Validate Enrolled Course for Students in Student Group,Mengesahkan supply Kursus Pelajar dalam Kumpulan Pelajar,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Untuk Kumpulan Pelajar berdasarkan, Kursus yang akan disahkan bagi tiap-tiap Pelajar daripada Kursus mendaftar dalam Program Pendaftaran.",
Make Academic Term Mandatory,Buat Mandat Berlaku Akademik,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Sekiranya diaktifkan, Tempoh Akademik bidang akan Dikenakan dalam Alat Pendaftaran Program.",
Skip User creation for new Student,Langkau pembuatan Pengguna untuk Pelajar baru,
"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.","Secara lalai, Pengguna baru dibuat untuk setiap Pelajar baru. Sekiranya diaktifkan, tidak ada Pengguna baru yang akan dibuat semasa Pelajar baru dibuat.",
Instructor Records to be created by,Rekod Pengajar akan diwujudkan oleh,
Employee Number,Bilangan pekerja,
Fee Category,Bayaran Kategori,
Fee Component,Komponen Bayaran,
Fees Category,yuran Kategori,
Fee Schedule,Jadual Bayaran,
Fee Structure,Struktur Bayaran,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Status Penciptaan Fee,
In Process,Dalam Proses,
Send Payment Request Email,Hantar E-mel Permintaan Pembayaran,
Student Category,Kategori pelajar,
Fee Breakup for each student,Breakout Fee untuk setiap pelajar,
Total Amount per Student,Jumlah Amaun setiap Pelajar,
Institution,institusi,
Fee Schedule Program,Program Jadual Bayaran,
Student Batch,Batch pelajar,
Total Students,Jumlah Pelajar,
Fee Schedule Student Group,Jadual Pelajar Jadual Pelajar,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Termasuk Pembayaran,
Send Payment Request,Hantar Permintaan Bayaran,
Student Details,Butiran Pelajar,
Student Email,E-mel Pelajar,
Grading Scale Name,Grading Nama Skala,
Grading Scale Intervals,Selang Grading Skala,
Intervals,selang,
Grading Scale Interval,Grading Skala Interval,
Grade Code,Kod gred,
Threshold,ambang,
Grade Description,gred Penerangan,
Guardian,Guardian,
Guardian Name,Nama Guardian,
Alternate Number,Nombor Ganti,
Occupation,Pekerjaan,
Work Address,kerja Alamat,
Guardian Of ,Guardian Of,
Students,pelajar,
Guardian Interests,Guardian minat,
Guardian Interest,Guardian Faedah,
Interest,Faedah,
Guardian Student,Guardian Pelajar,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Log Pengajar,
Other details,Butiran lain,
Option,Pilihan,
Is Correct,Betul,
Program Name,Nama program,
Program Abbreviation,Singkatan program,
Courses,kursus,
Is Published,Telah Diterbitkan,
Allow Self Enroll,Benarkan Diri Sendiri,
Is Featured,Disediakan,
Intro Video,Video Pengenalan,
Program Course,Kursus program,
School House,School House,
Boarding Student,Boarding Pelajar,
Check this if the Student is residing at the Institute's Hostel.,Semak ini jika Pelajar itu yang menetap di Institut Hostel.,
Walking,berjalan,
Institute's Bus,Bas Institute,
Public Transport,Pengangkutan awam,
Self-Driving Vehicle,Self-Driving Kenderaan,
Pick/Drop by Guardian,Pick / Drop oleh Guardian,
Enrolled courses,kursus mendaftar,
Program Enrollment Course,Kursus Program Pendaftaran,
Program Enrollment Fee,Program Bayaran Pendaftaran,
Program Enrollment Tool,Program Pendaftaran Tool,
Get Students From,Dapatkan Pelajar Dari,
Student Applicant,Pemohon pelajar,
Get Students,Dapatkan Pelajar,
Enrollment Details,Butiran Pendaftaran,
New Program,Program baru,
New Student Batch,Batch Pelajar Baru,
Enroll Students,Daftarkan Pelajar,
New Academic Year,New Akademik Tahun,
New Academic Term,Terma Akademik Baru,
Program Enrollment Tool Student,Program Pendaftaran Tool Pelajar,
Student Batch Name,Pelajar Batch Nama,
Program Fee,Yuran program,
Question,Soalan,
Single Correct Answer,Jawapan yang betul,
Multiple Correct Answer,Berbilang Jawapan yang Betul,
Quiz Configuration,Konfigurasi Kuiz,
Passing Score,Markah lulus,
Score out of 100,Skor daripada 100,
Max Attempts,Percubaan Max,
Enter 0 to waive limit,Masukkan 0 untuk mengetepikan had,
Grading Basis,Asas Penggredan,
Latest Highest Score,Skor Tertinggi Terkini,
Latest Attempt,Percubaan terkini,
Quiz Activity,Aktiviti Kuiz,
Enrollment,Pendaftaran,
Pass,Pas,
Quiz Question,Soalan Kuiz,
Quiz Result,Keputusan Kuiz,
Selected Option,Pilihan Terpilih,
Correct,Betul,
Wrong,Salah,
Room Name,Nama bilik,
Room Number,Nombor bilik,
Seating Capacity,Kapasiti Tempat Duduk,
House Name,Nama rumah,
EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
Student Mobile Number,Pelajar Nombor Telefon,
Joining Date,menyertai Tarikh,
Blood Group,Kumpulan Darah,
A+,A +,
A-,A-,
B+,B +,
B-,B-,
O+,O +,
O-,O-,
AB+,AB +,
AB-,AB,
Nationality,Warganegara,
Home Address,Alamat rumah,
Guardian Details,Guardian Butiran,
Guardians,penjaga,
Sibling Details,Maklumat adik-beradik,
Siblings,Adik-beradik,
Exit,Keluar,
Date of Leaving,Tarikh Meninggalkan,
Leaving Certificate Number,Meninggalkan Nombor Sijil,
Reason For Leaving,Alasan untuk pergi,
Student Admission,Kemasukan pelajar,
Admission Start Date,Kemasukan Tarikh Mula,
Admission End Date,Kemasukan Tarikh Tamat,
Publish on website,Menerbitkan di laman web,
Eligibility and Details,Kelayakan dan Butiran,
Student Admission Program,Program Kemasukan Pelajar,
Minimum Age,Umur minimum,
Maximum Age,Umur Maksimum,
Application Fee,Bayaran permohonan,
Naming Series (for Student Applicant),Penamaan Series (untuk Pelajar Pemohon),
LMS Only,LMS sahaja,
EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
Application Status,Status permohonan,
Application Date,Tarikh permohonan,
Student Attendance Tool,Alat Kehadiran Pelajar,
Group Based On,Berdasarkan Kumpulan,
Students HTML,pelajar HTML,
Group Based on,Pada Based Group,
Student Group Name,Nama Kumpulan Pelajar,
Max Strength,Max Kekuatan,
Set 0 for no limit,Hanya 0 untuk tiada had,
Instructors,pengajar,
Student Group Creation Tool,Pelajar Kumpulan Tool Creation,
Leave blank if you make students groups per year,Biarkan kosong jika anda membuat kumpulan pelajar setahun,
Get Courses,Dapatkan Kursus,
Separate course based Group for every Batch,Berasingan Kumpulan berdasarkan kursus untuk setiap Batch,
Leave unchecked if you don't want to consider batch while making course based groups. ,Biarkan tak bertanda jika anda tidak mahu mempertimbangkan kumpulan semasa membuat kumpulan kursus berasaskan.,
Student Group Creation Tool Course,Kursus Kumpulan Pelajar Creation Tool,
Course Code,Kod kursus,
Student Group Instructor,Pengajar Kumpulan Pelajar,
Student Group Student,Pelajar Kumpulan Pelajar,
Group Roll Number,Kumpulan Nombor Roll,
Student Guardian,Guardian pelajar,
Relation,Perhubungan,
Mother,ibu,
Father,Bapa,
Student Language,Bahasa pelajar,
Student Leave Application,Pelajar Permohonan Cuti,
Mark as Present,Tanda sebagai Sekarang,
Student Log,Log pelajar,
Academic,akademik,
Achievement,Pencapaian,
Student Report Generation Tool,Alat Generasi Laporan Pelajar,
Include All Assessment Group,Termasuk Semua Kumpulan Penilaian,
Show Marks,Tunjukkan Tanda,
Add letterhead,Tambah Letterhead,
Print Section,Seksyen Cetak,
Total Parents Teacher Meeting,Mesyuarat Guru Ibu Jumlah,
Attended by Parents,Dihadiri oleh Ibu Bapa,
Assessment Terms,Terma Penilaian,
Student Sibling,Adik-beradik pelajar,
Studying in Same Institute,Belajar di Institut Sama,
NO,TIADA,
YES,YA,
Student Siblings,Adik-beradik pelajar,
Topic Content,Kandungan Topik,
Amazon MWS Settings,Tetapan MWS Amazon,
ERPNext Integrations,Integrasi ERPNext,
Enable Amazon,Dayakan Amazon,
MWS Credentials,Kredensial MWS,
Seller ID,ID Penjual,
AWS Access Key ID,ID kunci akses AWS,
MWS Auth Token,MWS Auth Token,
Market Place ID,ID Tempat Pasar,
AE,AE,
AU,AU,
BR,BR,
CA,CA,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
IN,DALAM,
JP,JP,
IT,IT,
MX,MX,
UK,UK,
US,AS,
Customer Type,Jenis Pelanggan,
Market Place Account Group,Kumpulan Akaun Tempat Pasaran,
After Date,Selepas Tarikh,
Amazon will synch data updated after this date,Amazon akan menyegerakkan data dikemas kini selepas tarikh ini,
Sync Taxes and Charges,Segerakkan Cukai dan Caj,
Get financial breakup of Taxes and charges data by Amazon ,Dapatkan pecahan kewangan Cukai dan caj data oleh Amazon,
Sync Products,Segerakkan Produk,
Always sync your products from Amazon MWS before synching the Orders details,Sentiasa segerakkan produk anda dari Amazon MWS sebelum menyelaraskan butiran Pesanan,
Sync Orders,Pesanan Segerak,
Click this button to pull your Sales Order data from Amazon MWS.,Klik butang ini untuk menarik data Pesanan Jualan anda dari Amazon MWS.,
Enable Scheduled Sync,Dayakan Penyegerakan Berjadual,
Check this to enable a scheduled Daily synchronization routine via scheduler,Semak ini untuk membolehkan rutin penyegerakan harian dijadualkan melalui penjadual,
Max Retry Limit,Batas Semula Maksima,
Exotel Settings,Tetapan Exotel,
Account SID,SID Akaun,
API Token,Token API,
GoCardless Mandate,Mandat GoCardless,
Mandate,Mandat,
GoCardless Customer,Pelanggan GoCardless,
GoCardless Settings,Tetapan GoCardless,
Webhooks Secret,Rahsia Webhooks,
Plaid Settings,Tetapan Plaid,
Synchronize all accounts every hour,Segerakkan semua akaun setiap jam,
Plaid Client ID,ID Pelanggan Plaid,
Plaid Secret,Rahsia Plaid,
Plaid Environment,Persekitaran Plaid,
sandbox,kotak pasir,
development,pembangunan,
production,pengeluaran,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Tetapan Aplikasi,
Token Endpoint,Token Endpoint,
Scope,Skop,
Authorization Settings,Tetapan Kebenaran,
Authorization Endpoint,Endpoint Kebenaran,
Authorization URL,URL Kebenaran,
Quickbooks Company ID,ID Syarikat Buku Cepat,
Company Settings,Tetapan Syarikat,
Default Shipping Account,Akaun Penghantaran Terhad,
Default Warehouse,Gudang Default,
Default Cost Center,Kos Pusat Default,
Undeposited Funds Account,Akaun Dana Undeposited,
Shopify Log,Log Shopify,
Request Data,Meminta Data,
Shopify Settings,Shopify Settings,
status html,html status,
Enable Shopify,Dayakan Shopify,
App Type,Jenis Apl,
Last Sync Datetime,Datetime Sync Terakhir,
Shop URL,Kedai URL,
eg: frappe.myshopify.com,contohnya: frappe.myshopify.com,
Shared secret,Rahsia dikongsi,
Webhooks Details,Butiran Webhooks,
Webhooks,Webhooks,
Customer Settings,Tetapan Pelanggan,
Default Customer,Pelanggan Lalai,
Customer Group will set to selected group while syncing customers from Shopify,Kumpulan Pelanggan akan ditetapkan kepada kumpulan terpilih semasa menyegerakkan pelanggan dari Shopify,
For Company,Bagi Syarikat,
Cash Account will used for Sales Invoice creation,Akaun Tunai akan digunakan untuk penciptaan Jualan Invois,
Update Price from Shopify To ERPNext Price List,Kemas kini Harga dari Shopify ke ERPNext List Price,
Default Warehouse to to create Sales Order and Delivery Note,Gudang Asal untuk membuat Perintah Jualan dan Penghantaran,
Sales Order Series,Siri Perintah Jualan,
Import Delivery Notes from Shopify on Shipment,Import Nota Penghantaran dari Shopify pada Penghantaran,
Delivery Note Series,Siri Nota Penghantaran,
Import Sales Invoice from Shopify if Payment is marked,Import Invois Jualan dari Shopify jika Pembayaran ditandakan,
Sales Invoice Series,Siri Invois Jualan,
Shopify Tax Account,Shopify Akaun Cukai,
Shopify Tax/Shipping Title,Shopify Tax / Title Penghantaran,
ERPNext Account,Akaun ERPNext,
Shopify Webhook Detail,Shopify Webhook Detail,
Webhook ID,ID Webhook,
Tally Migration,Penghijrahan Tally,
Master Data,Data induk,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Data yang dieksport dari Tally yang terdiri daripada Carta Akaun, Pelanggan, Pembekal, Alamat, Item dan UOM",
Is Master Data Processed,Adakah Data Master Diproses,
Is Master Data Imported,Adakah Data Master Diimport,
Tally Creditors Account,Akaun Tally Creditors,
Creditors Account set in Tally,Akaun Pemiutang ditetapkan dalam Tally,
Tally Debtors Account,Akaun Tally Debtors,
Debtors Account set in Tally,Akaun Penghutang ditetapkan dalam Tally,
Tally Company,Syarikat Tally,
Company Name as per Imported Tally Data,Nama Syarikat mengikut Data Penghitungan yang Diimport,
Default UOM,UOM lalai,
UOM in case unspecified in imported data,UOM sekiranya tidak dinyatakan dalam data yang diimport,
ERPNext Company,Syarikat ERPNext,
Your Company set in ERPNext,Syarikat anda ditetapkan dalam ERPNext,
Processed Files,Fail Diproses,
Parties,Pihak-pihak,
UOMs,UOMs,
Vouchers,Baucer,
Round Off Account,Bundarkan Akaun,
Day Book Data,Data Buku Hari,
Day Book Data exported from Tally that consists of all historic transactions,Data Buku Hari yang dieksport dari Tally yang terdiri daripada semua transaksi bersejarah,
Is Day Book Data Processed,Adakah Data Buku Hari Diproses,
Is Day Book Data Imported,Adakah Data Buku Hari Diimport,
Woocommerce Settings,Tetapan Woocommerce,
Enable Sync,Dayakan Segerak,
Woocommerce Server URL,URL Pelayan Woocommerce,
Secret,Rahsia,
API consumer key,Kunci pengguna API,
API consumer secret,Rahsia pengguna API,
Tax Account,Akaun Cukai,
Freight and Forwarding Account,Akaun Pengangkut dan Pengiriman,
Creation User,Pengguna Penciptaan,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Pengguna yang akan digunakan untuk membuat Pelanggan, Item dan Pesanan Jualan. Pengguna ini harus mempunyai kebenaran yang berkaitan.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Gudang ini akan digunakan untuk membuat Pesanan Jualan. Gundukan sandaran adalah &quot;Kedai&quot;.,
"The fallback series is ""SO-WOO-"".",Siri sandaran adalah &quot;SO-WOO-&quot;.,
This company will be used to create Sales Orders.,Syarikat ini akan digunakan untuk membuat Pesanan Jualan.,
Delivery After (Days),Penghantaran Selepas (Hari),
This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Ini adalah offset lalai (hari) untuk Tarikh Penghantaran di Pesanan Jualan. Offset sandaran adalah 7 hari dari tarikh penempatan pesanan.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Inilah UOM lalai yang digunakan untuk item dan pesanan Jualan. UOM fallback adalah &quot;Nos&quot;.,
Endpoints,Titik akhir,
Endpoint,Titik akhir,
Antibiotic Name,Nama antibiotik,
Healthcare Administrator,Pentadbir Kesihatan,
Laboratory User,Pengguna Makmal,
Is Inpatient,Adalah Pesakit Dalam,
Default Duration (In Minutes),Tempoh Lalai (Dalam Minit),
Body Part,Bahagian badan,
Body Part Link,Pautan Bahagian Badan,
HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
Procedure Template,Templat Prosedur,
Procedure Prescription,Preskripsi Prosedur,
Service Unit,Unit Perkhidmatan,
Consumables,Makanan yang boleh dimakan,
Consume Stock,Ambil Saham,
Invoice Consumables Separately,Consumable Invoice Secara Berasingan,
Consumption Invoiced,Penggunaan Diinvois,
Consumable Total Amount,Jumlah Jumlah Boleh Digunakan,
Consumption Details,Perincian Penggunaan,
Nursing User,Pengguna Kejururawatan,
Clinical Procedure Item,Perkara Prosedur Klinikal,
Invoice Separately as Consumables,Invois secara berasingan sebagai Konsumu,
Transfer Qty,Pemindahan Qty,
Actual Qty (at source/target),Kuantiti sebenar (pada sumber / sasaran),
Is Billable,Boleh ditebus,
Allow Stock Consumption,Benarkan Penggunaan Stok,
Sample UOM,Contoh UOM,
Collection Details,Butiran Koleksi,
Change In Item,Tukar Item,
Codification Table,Jadual Pengkodan,
Complaints,Aduan,
Dosage Strength,Kekuatan Dos,
Strength,Kekuatan,
Drug Prescription,Preskripsi Dadah,
Drug Name / Description,Nama / Keterangan Dadah,
Dosage,Dos,
Dosage by Time Interval,Dos oleh selang masa,
Interval,Selang,
Interval UOM,Selang UOM,
Hour,Jam,
Update Schedule,Kemas kini Jadual,
Exercise,Senaman,
Difficulty Level,Tahap Kesukaran,
Counts Target,Mengira Sasaran,
Counts Completed,Kiraan Selesai,
Assistance Level,Tahap Bantuan,
Active Assist,Bantuan Aktif,
Exercise Name,Nama Latihan,
Body Parts,Bahagian badan,
Exercise Instructions,Arahan Latihan,
Exercise Video,Video Latihan,
Exercise Steps,Langkah Latihan,
Steps,Langkah-langkah,
Steps Table,Jadual Langkah,
Exercise Type Step,Langkah Jenis Latihan,
Max number of visit,Bilangan lawatan maksimum,
Visited yet,Dikunjungi lagi,
Reference Appointments,Temujanji Rujukan,
Valid till,Sah sehingga,
Fee Validity Reference,Rujukan Kesahan Yuran,
Basic Details,Perincian Asas,
HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
Mobile,Mobile,
Phone (R),Telefon (R),
Phone (Office),Telefon (Pejabat),
Employee and User Details,Maklumat Pekerja dan Pengguna,
Hospital,Hospital,
Appointments,Pelantikan,
Practitioner Schedules,Jadual Pengamal,
Charges,Caj,
Out Patient Consulting Charge,Bayaran Perundingan Pesakit Luar,
Default Currency,Mata wang lalai,
Healthcare Schedule Time Slot,Jadual Penjagaan Kesihatan Slot Masa,
Parent Service Unit,Unit Perkhidmatan Ibu Bapa,
Service Unit Type,Jenis Unit Perkhidmatan,
Allow Appointments,Benarkan Pelantikan,
Allow Overlap,Beri tumpang tindih,
Inpatient Occupancy,Pendudukan Pesakit Dalam,
Occupancy Status,Status Penghunian,
Vacant,Kosong,
Occupied,Diduduki,
Item Details,Butiran Item,
UOM Conversion in Hours,UOM Penukaran dalam jam,
Rate / UOM,Kadar / UOM,
Change in Item,Ubah Dalam Perkara,
Out Patient Settings,Daripada Seting Pesakit,
Patient Name By,Nama Pesakit Mengikut,
Patient Name,Nama Pesakit,
Link Customer to Patient,Pautkan Pelanggan dengan Pesakit,
"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.","Sekiranya disemak, pelanggan akan dibuat, dipetakan kepada Pesakit. Invois Pesakit akan dibuat terhadap Pelanggan ini. Anda juga boleh memilih Pelanggan sedia ada semasa membuat Pesakit.",
Default Medical Code Standard,Standard Kod Perubatan Default,
Collect Fee for Patient Registration,Kumpulkan Bayaran Pendaftaran Pesakit,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Memeriksa ini akan membuat Pesakit baru dengan status Orang Kurang Upaya secara lalai dan hanya akan diaktifkan setelah membuat bayaran Yuran Pendaftaran.,
Registration Fee,Yuran pendaftaran,
Automate Appointment Invoicing,Invois Pelantikan Automatik,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Urus Pelantikan Invois mengemukakan dan membatalkan secara automatik untuk Encounter Pesakit,
Enable Free Follow-ups,Dayakan Susulan Percuma,
Number of Patient Encounters in Valid Days,Bilangan Pertemuan Pesakit dalam Hari Sah,
The number of free follow ups (Patient Encounters in valid days) allowed,Jumlah tindak lanjut percuma (Pertemuan Pesakit dalam hari yang sah) yang dibenarkan,
Valid Number of Days,Bilangan hari yang sah,
Time period (Valid number of days) for free consultations,Tempoh masa (bilangan hari yang sah) untuk rundingan percuma,
Default Healthcare Service Items,Item Perkhidmatan Penjagaan Kesihatan Lalai,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Anda boleh mengkonfigurasi Item lalai untuk bayaran konsultasi penagihan, item penggunaan prosedur dan lawatan pesakit dalam",
Clinical Procedure Consumable Item,Prosedur Klinikal,
Default Accounts,Akaun Lalai,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Akaun pendapatan lalai akan digunakan jika tidak ditetapkan dalam Pengamal Penjagaan Kesihatan untuk menempah caj Pelantikan.,
Default receivable accounts to be used to book Appointment charges.,Akaun belum terima lalai yang akan digunakan untuk menempah caj janji temu.,
Out Patient SMS Alerts,Keluar daripada Pesakit SMS Pesakit,
Patient Registration,Pendaftaran Pesakit,
Registration Message,Mesej Pendaftaran,
Confirmation Message,Mesej Pengesahan,
Avoid Confirmation,Elakkan Pengesahan,
Do not confirm if appointment is created for the same day,Jangan mengesahkan jika pelantikan dibuat untuk hari yang sama,
Appointment Reminder,Peringatan Pelantikan,
Reminder Message,Mesej Peringatan,
Remind Before,Ingatkan Sebelum,
Laboratory Settings,Tetapan Makmal,
Create Lab Test(s) on Sales Invoice Submission,Buat Ujian Makmal pada Penyerahan Invois Jualan,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Memeriksa ini akan membuat Ujian Makmal yang dinyatakan dalam Invois Jualan semasa dihantar.,
Create Sample Collection document for Lab Test,Buat dokumen Pengumpulan Sampel untuk Ujian Makmal,
Checking this will create a Sample Collection document  every time you create a Lab Test,Memeriksa ini akan membuat dokumen Koleksi Sampel setiap kali anda membuat Ujian Makmal,
Employee name and designation in print,Nama dan jawatan pekerja yang dicetak,
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.,Periksa ini jika anda mahu Nama dan Jawatan Pekerja yang berkaitan dengan Pengguna yang menyerahkan dokumen itu akan dicetak dalam Laporan Ujian Makmal.,
Do not print or email Lab Tests without Approval,Jangan mencetak atau menghantar e-mel Ujian Makmal tanpa Kelulusan,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,Memeriksa ini akan menyekat pencetakan dan e-mel dokumen Ujian Makmal melainkan mereka mempunyai status seperti yang Diluluskan.,
Custom Signature in Print,Tandatangan Tersuai dalam Cetak,
Laboratory SMS Alerts,Makmal SMS makmal,
Result Printed Message,Hasil Mesej Bercetak,
Result Emailed Message,Keputusan Mesej E-mel,
Check In,Daftar masuk,
Check Out,Semak Keluar,
HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
A Positive,A Positif,
A Negative,A Negatif,
AB Positive,AB Positif,
AB Negative,AB Negatif,
B Positive,B Positif,
B Negative,B Negatif,
O Positive,O Positif,
O Negative,O Negatif,
Date of birth,Tarikh Lahir,
Admission Scheduled,Kemasukan Dijadualkan,
Discharge Scheduled,Pelepasan Dijadualkan,
Discharged,Dibuang,
Admission Schedule Date,Tarikh Jadual Kemasukan,
Admitted Datetime,Diterima Datetime,
Expected Discharge,Pelepasan yang Diharapkan,
Discharge Date,Tarikh Pelepasan,
Lab Prescription,Preskripsi Lab,
Lab Test Name,Nama Ujian Makmal,
Test Created,Uji Dibuat,
Submitted Date,Tarikh Dihantar,
Approved Date,Tarikh Diluluskan,
Sample ID,ID sampel,
Lab Technician,Juruteknik makmal,
Report Preference,Laporkan Keutamaan,
Test Name,Nama Ujian,
Test Template,Templat Ujian,
Test Group,Kumpulan Ujian,
Custom Result,Keputusan Tersuai,
LabTest Approver,Penyertaan LabTest,
Add Test,Tambah Ujian,
Normal Range,Julat Normal,
Result Format,Format Keputusan,
Single,Single,
Compound,Kompaun,
Descriptive,Deskriptif,
Grouped,Dikelompokkan,
No Result,Tiada Keputusan,
This value is updated in the Default Sales Price List.,Nilai ini dikemas kini dalam Senarai Harga Jualan Lalai.,
Lab Routine,Rutin Lab,
Result Value,Nilai Hasil,
Require Result Value,Memerlukan Nilai Hasil,
Normal Test Template,Templat Ujian Normal,
Patient Demographics,Demografi Pesakit,
HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
Middle Name (optional),Nama Tengah (Pilihan),
Inpatient Status,Status Rawat Inap,
"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.","Sekiranya &quot;Pautkan Pelanggan ke Pasien&quot; diperiksa di Tetapan Penjagaan Kesihatan dan Pelanggan yang ada tidak dipilih maka, Pelanggan akan dibuat untuk Pasien ini untuk merekam transaksi dalam modul Akaun.",
Personal and Social History,Sejarah Peribadi dan Sosial,
Marital Status,Status Perkahwinan,
Married,Berkahwin,
Divorced,Bercerai,
Widow,Janda,
Patient Relation,Hubungan Pesakit,
"Allergies, Medical and Surgical History","Alahan, Sejarah Perubatan dan Pembedahan",
Allergies,Alahan,
Medication,Ubat,
Medical History,Sejarah perubatan,
Surgical History,Sejarah Pembedahan,
Risk Factors,Faktor-faktor risiko,
Occupational Hazards and Environmental Factors,Bencana dan Faktor Alam Sekitar,
Other Risk Factors,Faktor Risiko Lain,
Patient Details,Maklumat Pesakit,
Additional information regarding the patient,Maklumat tambahan mengenai pesakit,
HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
Patient Age,Umur pesakit,
Get Prescribed Clinical Procedures,Dapatkan Prosedur Klinikal yang Ditetapkan,
Therapy,Terapi,
Get Prescribed Therapies,Dapatkan Terapi yang Ditetapkan,
Appointment Datetime,Jangka Masa Pelantikan,
Duration (In Minutes),Tempoh (Dalam Minit),
Reference Sales Invoice,Invois Jualan Rujukan,
More Info,Banyak Lagi Maklumat,
Referring Practitioner,Merujuk Pengamal,
Reminded,Diingatkan,
HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
Assessment Template,Templat Pentaksiran,
Assessment Datetime,Datetime Pentaksiran,
Assessment Description,Penerangan Pentaksiran,
Assessment Sheet,Lembaran Penilaian,
Total Score Obtained,Jumlah Markah Diperolehi,
Scale Min,Skala Min,
Scale Max,Skala Maks,
Patient Assessment Detail,Perincian Penilaian Pesakit,
Assessment Parameter,Parameter Penilaian,
Patient Assessment Parameter,Parameter Penilaian Pesakit,
Patient Assessment Sheet,Lembaran Penilaian Pesakit,
Patient Assessment Template,Templat Penilaian Pesakit,
Assessment Parameters,Parameter Penilaian,
Parameters,Parameter,
Assessment Scale,Skala Penilaian,
Scale Minimum,Skala Minimum,
Scale Maximum,Skala Maksimum,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Tarikh Pertemuan,
Encounter Time,Masa Pertemuan,
Encounter Impression,Impresi Encounter,
Symptoms,Gejala,
In print,Dalam percetakan,
Medical Coding,Pengkodan Perubatan,
Procedures,Prosedur,
Therapies,Terapi,
Review Details,Butiran Butiran,
Patient Encounter Diagnosis,Diagnosis Pertemuan Pesakit,
Patient Encounter Symptom,Simptom Perjumpaan Pesakit,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Attach Medical Record,Lampirkan Rekod Perubatan,
Reference DocType,Jenis Dokumen Rujukan,
Spouse,Pasangan suami isteri,
Family,Keluarga,
Schedule Details,Butiran Jadual,
Schedule Name,Nama Jadual,
Time Slots,Slot Masa,
Practitioner Service Unit Schedule,Jadual Unit Perkhidmatan Praktisi,
Procedure Name,Nama Prosedur,
Appointment Booked,Pelantikan dipohon,
Procedure Created,Prosedur Dibuat,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Dikumpulkan Oleh,
Particulars,Butiran,
Result Component,Komponen Hasil,
HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
Therapy Plan Details,Perincian Pelan Terapi,
Total Sessions,Jumlah Sesi,
Total Sessions Completed,Jumlah Sesi Selesai,
Therapy Plan Detail,Perincian Pelan Terapi,
No of Sessions,Bil Sesi,
Sessions Completed,Sesi Selesai,
Tele,Televisyen,
Exercises,Latihan,
Therapy For,Terapi Untuk,
Add Exercises,Tambah Latihan,
Body Temperature,Suhu Badan,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),Kehadiran demam (temp&gt; 38.5 ° C / 101.3 ° F atau temp tetap&gt; 38 ° C / 100.4 ° F),
Heart Rate / Pulse,Kadar Jantung / Pulse,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Kadar denyut orang dewasa adalah antara 50 hingga 80 denyutan seminit.,
Respiratory rate,Kadar pernafasan,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Julat rujukan normal untuk orang dewasa ialah 16-20 nafas / minit (RCP 2012),
Tongue,Lidah,
Coated,Bersalut,
Very Coated,Sangat Bersalut,
Normal,Normal,
Furry,Berbulu,
Cuts,Cuts,
Abdomen,Abdomen,
Bloated,Kembung,
Fluid,Cecair,
Constipated,Sembelit,
Reflexes,Refleks,
Hyper,Hyper,
Very Hyper,Sangat Hyper,
One Sided,Satu sisi,
Blood Pressure (systolic),Tekanan Darah (sistolik),
Blood Pressure (diastolic),Tekanan Darah (diastolik),
Blood Pressure,Tekanan darah,
"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Tekanan darah normal pada orang dewasa adalah kira-kira 120 mmHg sistolik, dan 80 mmHg diastolik, disingkat &quot;120/80 mmHg&quot;",
Nutrition Values,Nilai pemakanan,
Height (In Meter),Ketinggian (dalam meter),
Weight (In Kilogram),Berat (Dalam Kilogram),
BMI,BMI,
Hotel Room,Bilik hotel,
Hotel Room Type,Jenis Bilik Hotel,
Capacity,Kapasiti,
Extra Bed Capacity,Kapasiti Katil Tambahan,
Hotel Manager,Pengurus Hotel,
Hotel Room Amenity,Kemudahan Bilik Hotel,
Billable,Dapat ditaksir,
Hotel Room Package,Pakej Bilik Hotel,
Amenities,Kemudahan,
Hotel Room Pricing,Harga Bilik Hotel,
Hotel Room Pricing Item,Item Harga Bilik Hotel,
Hotel Room Pricing Package,Pakej Harga Bilik Hotel,
Hotel Room Reservation,Tempahan Bilik Hotel,
Guest Name,Nama tetamu,
Late Checkin,Checkin lewat,
Booked,Telah dipetik,
Hotel Reservation User,Pengguna Tempahan Hotel,
Hotel Room Reservation Item,Tempahan Bilik Bilik Hotel,
Hotel Settings,Tetapan Hotel,
Default Taxes and Charges,Cukai lalai dan Caj,
Default Invoice Naming Series,Siri Penamaan Invois lalai,
Additional Salary,Gaji tambahan,
HR,HR,
HR-ADS-.YY.-.MM.-,HR-ADS -YY .-. MM.-,
Salary Component,Komponen gaji,
Overwrite Salary Structure Amount,Timpa Jumlah Struktur Gaji,
Deduct Full Tax on Selected Payroll Date,Potong Cukai Penuh pada Tarikh Penggajian Terpilih,
Payroll Date,Tarikh Gaji,
Date on which this component is applied,Tarikh di mana komponen ini digunakan,
Salary Slip,Slip Gaji,
Salary Component Type,Jenis Komponen Gaji,
HR User,HR pengguna,
Appointment Letter,Surat temujanji,
Job Applicant,Kerja Pemohon,
Applicant Name,Nama pemohon,
Appointment Date,Tarikh Pelantikan,
Appointment Letter Template,Templat Surat Pelantikan,
Body,Badan,
Closing Notes,Nota Penutupan,
Appointment Letter content,Kandungan Surat Pelantikan,
Appraisal,Penilaian,
HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
Appraisal Template,Templat Penilaian,
For Employee Name,Nama Pekerja,
Goals,Matlamat,
Calculate Total Score,Kira Jumlah Skor,
Total Score (Out of 5),Jumlah Skor (Daripada 5),
"Any other remarks, noteworthy effort that should go in the records.","Sebarang kenyataan lain, usaha perlu diberi perhatian yang sepatutnya pergi dalam rekod.",
Appraisal Goal,Penilaian Matlamat,
Key Responsibility Area,Kawasan Tanggungjawab Utama,
Weightage (%),Wajaran (%),
Score (0-5),Score (0-5),
Score Earned,Skor Diperoleh,
Appraisal Template Title,Penilaian Templat Tajuk,
Appraisal Template Goal,Templat Penilaian Matlamat,
KRA,KRA,
Key Performance Area,Kawasan Prestasi Utama,
HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
On Leave,Bercuti,
Work From Home,Bekerja dari rumah,
Leave Application,Cuti Permohonan,
Attendance Date,Kehadiran Tarikh,
Attendance Request,Permintaan Kehadiran,
Late Entry,Entri lewat,
Early Exit,Keluar awal,
Half Day Date,Half Day Tarikh,
On Duty,On Duty,
Explanation,Penjelasan,
Compensatory Leave Request,Permintaan Cuti Pampasan,
Leave Allocation,Tinggalkan Peruntukan,
Worked On Holiday,Bekerja Semasa Percutian,
Work From Date,Kerja dari tarikh,
Work End Date,Tarikh Akhir Kerja,
Email Sent To,Email dihantar kepada,
Select Users,Pilih Pengguna,
Send Emails At,Menghantar e-mel di,
Reminder,Peringatan,
Daily Work Summary Group User,Pengguna Kumpulan Ringkasan Kerja Harian,
email,e-mel,
Parent Department,Jabatan Induk,
Leave Block List,Tinggalkan Sekat Senarai,
Days for which Holidays are blocked for this department.,Hari yang mana Holidays disekat untuk jabatan ini.,
Leave Approver,Tinggalkan Pelulus,
Expense Approver,Perbelanjaan Pelulus,
Department Approver,Pengendali Jabatan,
Approver,Pelulus,
Required Skills,Kemahiran yang Diperlukan,
Skills,Kemahiran,
Designation Skill,Kemahiran Penetapan,
Skill,Kemahiran,
Driver,Pemandu,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,Digantung,
Transporter,Pengangkut,
Applicable for external driver,Berkenaan pemandu luaran,
Cellphone Number,Nombor telefon bimbit,
License Details,Butiran Lesen,
License Number,Nombor lesen,
Issuing Date,Tarikh Pengeluaran,
Driving License Categories,Kategori Lesen Memandu,
Driving License Category,Kategori Lesen Memandu,
Fleet Manager,Pengurus Fleet,
Driver licence class,Kelas lesen memandu,
HR-EMP-,HR-EMP-,
Employment Type,Jenis pekerjaan,
Emergency Contact,Hubungi Kecemasan,
Emergency Contact Name,Nama Kenalan Kecemasan,
Emergency Phone,Telefon Kecemasan,
ERPNext User,Pengguna ERPNext,
"System User (login) ID. If set, it will become default for all HR forms.","Sistem Pengguna (log masuk) ID. Jika ditetapkan, ia akan menjadi lalai untuk semua bentuk HR.",
Create User Permission,Buat Kebenaran Pengguna,
This will restrict user access to other employee records,Ini akan menyekat akses pengguna ke rekod pekerja lain,
Joining Details,Bersama Butiran,
Offer Date,Tawaran Tarikh,
Confirmation Date,Pengesahan Tarikh,
Contract End Date,Kontrak Tarikh akhir,
Notice (days),Notis (hari),
Date Of Retirement,Tarikh Persaraan,
Department and Grade,Jabatan dan Gred,
Reports to,Laporan kepada,
Attendance and Leave Details,Kehadiran dan Butiran Cuti,
Leave Policy,Tinggalkan Polisi,
Attendance Device ID (Biometric/RF tag ID),ID Peranti Kehadiran (ID tag biometrik / RF),
Applicable Holiday List,Senarai Holiday berkenaan,
Default Shift,Shift lalai,
Salary Details,Butiran Gaji,
Salary Mode,Mod Gaji,
Bank A/C No.,Bank A / C No.,
Health Insurance,Insuran kesihatan,
Health Insurance Provider,Pembekal Insurans Kesihatan,
Health Insurance No,Insurans Kesihatan No,
Prefered Email,diinginkan Email,
Personal Email,E-mel peribadi,
Permanent Address Is,Alamat Tetap Adakah,
Rented,Disewa,
Owned,Milik,
Permanent Address,Alamat Tetap,
Prefered Contact Email,Diinginkan hubungan Email,
Company Email,Syarikat E-mel,
Provide Email Address registered in company,Menyediakan Alamat E-mel berdaftar dalam syarikat,
Current Address Is,Alamat semasa,
Current Address,Alamat Semasa,
Personal Bio,Bio Peribadi,
Bio / Cover Letter,Surat Bio / Cover,
Short biography for website and other publications.,Biografi ringkas untuk laman web dan penerbitan lain.,
Passport Number,Nombor Pasport,
Date of Issue,Tarikh Keluaran,
Place of Issue,Tempat Dikeluarkan,
Widowed,Janda,
Family Background,Latar Belakang Keluarga,
"Here you can maintain family details like name and occupation of parent, spouse and children","Di sini anda boleh mengekalkan butiran keluarga seperti nama dan pekerjaan ibu bapa, suami atau isteri dan anak-anak",
Health Details,Kesihatan Butiran,
"Here you can maintain height, weight, allergies, medical concerns etc","Di sini anda boleh mengekalkan ketinggian, berat badan, alahan, masalah kesihatan dan lain-lain",
Educational Qualification,Kelayakan pendidikan,
Previous Work Experience,Pengalaman Kerja Sebelumnya,
External Work History,Luar Sejarah Kerja,
History In Company,Sejarah Dalam Syarikat,
Internal Work History,Sejarah Kerja Dalaman,
Resignation Letter Date,Peletakan jawatan Surat Tarikh,
Relieving Date,Melegakan Tarikh,
Reason for Leaving,Sebab Berhenti,
Leave Encashed?,Cuti ditunaikan?,
Encashment Date,Penunaian Tarikh,
Exit Interview Details,Butiran Keluar Temuduga,
Held On,Diadakan Pada,
Reason for Resignation,Sebab Peletakan jawatan,
Better Prospects,Prospek yang lebih baik,
Health Concerns,Kebimbangan Kesihatan,
New Workplace,New Tempat Kerja,
HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
Returned Amount,Jumlah yang dikembalikan,
Claimed,Dikenakan,
Advance Account,Akaun Advance,
Employee Attendance Tool,Pekerja Tool Kehadiran,
Unmarked Attendance,Kehadiran yang dinyahtandakan,
Employees HTML,pekerja HTML,
Marked Attendance,Kehadiran ketara,
Marked Attendance HTML,Kehadiran ketara HTML,
Employee Benefit Application,Permohonan Manfaat Pekerja,
Max Benefits (Yearly),Faedah Max (Tahunan),
Remaining Benefits (Yearly),Manfaat Remeh (Tahunan),
Payroll Period,Tempoh Gaji,
Benefits Applied,Faedah yang Dipohon,
Dispensed Amount (Pro-rated),Jumlah yang diberikan (Pro-rated),
Employee Benefit Application Detail,Maklumat Permohonan Manfaat Pekerja,
Earning Component,Komponen Pendapatan,
Pay Against Benefit Claim,Bayar Tuntutan Manfaat Terhad,
Max Benefit Amount,Jumlah Faedah Maksima,
Employee Benefit Claim,Tuntutan Manfaat Pekerja,
Claim Date,Tarikh Tuntutan,
Benefit Type and Amount,Jenis dan Amaun Manfaat,
Claim Benefit For,Manfaat Tuntutan Untuk,
Max Amount Eligible,Jumlah Maksimum Layak,
Expense Proof,Bukti Perbelanjaan,
Employee Boarding Activity,Aktiviti Perjawatan Kakitangan,
Activity Name,Nama Aktiviti,
Task Weight,tugas Berat,
Required for Employee Creation,Diperlukan untuk Penciptaan Pekerja,
Applicable in the case of Employee Onboarding,Berkenaan dalam hal Pengangkut Pekerja,
Employee Checkin,Pemeriksa Pekerja,
Log Type,Jenis Log,
OUT,KELUAR,
Location / Device ID,ID Lokasi / Peranti,
Skip Auto Attendance,Langkau Kehadiran Auto,
Shift Start,Shift Start,
Shift End,Shift End,
Shift Actual Start,Shift Actual Start,
Shift Actual End,Shift Tamat Akhir,
Employee Education,Pendidikan Pekerja,
School/University,Sekolah / Universiti,
Graduate,Siswazah,
Post Graduate,Siswazah,
Under Graduate,Di bawah Siswazah,
Year of Passing,Tahun Pemergian,
Class / Percentage,Kelas / Peratus,
Major/Optional Subjects,Subjek utama / Pilihan,
Employee External Work History,Luar pekerja Sejarah Kerja,
Total Experience,Jumlah Pengalaman,
Default Leave Policy,Dasar Cuti Lalai,
Default Salary Structure,Struktur Gaji Default,
Employee Group Table,Jadual Kumpulan Pekerja,
ERPNext User ID,ID pengguna ERPNext,
Employee Health Insurance,Insurans Kesihatan Pekerja,
Health Insurance Name,Nama Insurans Kesihatan,
Employee Incentive,Insentif Pekerja,
Incentive Amount,Jumlah Insentif,
Employee Internal Work History,Pekerja Dalam Sejarah Kerja,
Employee Onboarding,Onboarding Pekerja,
Notify users by email,Beritahu pengguna melalui e-mel,
Employee Onboarding Template,Template Onboarding Pekerja,
Activities,Aktiviti,
Employee Onboarding Activity,Aktiviti Onboarding Pekerja,
Employee Other Income,Pendapatan Lain Pekerja,
Employee Promotion,Promosi Pekerja,
Promotion Date,Tarikh Promosi,
Employee Promotion Details,Butiran Promosi Pekerja,
Employee Promotion Detail,Butiran Promosi Pekerja,
Employee Property History,Sejarah Harta Pekerja,
Employee Separation,Pemisahan Pekerja,
Employee Separation Template,Templat Pemisahan Pekerja,
Exit Interview Summary,Keluar daripada Ringkasan Temuduga,
Employee Skill,Kemahiran Pekerja,
Proficiency,Kemahiran,
Evaluation Date,Tarikh Penilaian,
Employee Skill Map,Peta Kemahiran Pekerja,
Employee Skills,Kemahiran Kakitangan,
Trainings,Latihan,
Employee Tax Exemption Category,Kategori Pengecualian Cukai Pekerja,
Max Exemption Amount,Jumlah Pengecualian Maksima,
Employee Tax Exemption Declaration,Pengisytiharan Pengecualian Cukai Pekerja,
Declarations,Deklarasi,
Total Declared Amount,Jumlah Jumlah Yang Diisytiharkan,
Total Exemption Amount,Jumlah Jumlah Pengecualian,
Employee Tax Exemption Declaration Category,Kategori Pengisytiharan Pengecualian Cukai Pekerja,
Exemption Sub Category,Kategori Sub Pengecualian,
Exemption Category,Kategori Pengecualian,
Maximum Exempted Amount,Jumlah Dikecualikan Maksimum,
Declared Amount,Jumlah yang diisytiharkan,
Employee Tax Exemption Proof Submission,Pengeluaran Bukti Pengecualian Cukai Pekerja,
Submission Date,Tarikh menghantar,
Tax Exemption Proofs,Bukti Pengecualian Cukai,
Total Actual Amount,Jumlah Jumlah Sebenar,
Employee Tax Exemption Proof Submission Detail,Butiran Penyerahan Bukti Pengecualian Cukai Pekerja,
Maximum Exemption Amount,Jumlah Pengecualian Maksimum,
Type of Proof,Jenis Bukti,
Actual Amount,Jumlah sebenar,
Employee Tax Exemption Sub Category,Subkategori Pengecualian Cukai Pekerja,
Tax Exemption Category,Kategori Pengecualian Cukai,
Employee Training,Latihan Pekerja,
Training Date,Tarikh Latihan,
Employee Transfer,Pemindahan Pekerja,
Transfer Date,Tarikh Pemindahan,
Employee Transfer Details,Butiran Transfer Pekerja,
Employee Transfer Detail,Maklumat Pemindahan Pekerja,
Re-allocate Leaves,Alihkan semula Daun,
Create New Employee Id,Buat Id Pekerja Baru,
New Employee ID,ID Kakitangan Baru,
Employee Transfer Property,Harta Pemindahan Pekerja,
HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
Expense Taxes and Charges,Cukai dan Caj Perbelanjaan,
Total Sanctioned Amount,Jumlah Diiktiraf,
Total Advance Amount,Jumlah Jumlah Pendahuluan,
Total Claimed Amount,Jumlah Jumlah Tuntutan,
Total Amount Reimbursed,Jumlah dibayar balik,
Vehicle Log,kenderaan Log,
Employees Email Id,Id Pekerja E-mel,
More Details,Maklumat lanjut,
Expense Claim Account,Akaun Perbelanjaan Tuntutan,
Expense Claim Advance,Pendahuluan Tuntutan Perbelanjaan,
Unclaimed amount,Jumlah tidak dituntut,
Expense Claim Detail,Perbelanjaan Tuntutan Detail,
Expense Date,Perbelanjaan Tarikh,
Expense Claim Type,Perbelanjaan Jenis Tuntutan,
Holiday List Name,Nama Senarai Holiday,
Total Holidays,Jumlah Cuti,
Add Weekly Holidays,Tambah Cuti Mingguan,
Weekly Off,Mingguan Off,
Add to Holidays,Tambah ke Cuti,
Holidays,Cuti,
Clear Table,Jadual jelas,
HR Settings,Tetapan HR,
Employee Settings,Tetapan pekerja,
Retirement Age,Umur persaraan,
Enter retirement age in years,Masukkan umur persaraan pada tahun-tahun,
Employee Records to be created by,Rekod Pekerja akan diwujudkan oleh,
Employee record is created using selected field. ,Rekod pekerja dicipta menggunakan bidang dipilih.,
Stop Birthday Reminders,Stop Hari Lahir Peringatan,
Don't send Employee Birthday Reminders,Jangan hantar Pekerja Hari Lahir Peringatan,
Expense Approver Mandatory In Expense Claim,Pendakwa Perbelanjaan Mandatori Dalam Tuntutan Perbelanjaan,
Payroll Settings,Tetapan Gaji,
Leave,Tinggalkan,
Max working hours against Timesheet,Max jam bekerja terhadap Timesheet,
Include holidays in Total no. of Working Days,Termasuk bercuti di Jumlah no. Hari Kerja,
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Jika disemak, Jumlah no. Hari Kerja termasuk cuti, dan ini akan mengurangkan nilai Gaji Setiap Hari",
"If checked, hides and disables Rounded Total field in Salary Slips","Jika disemak, menyembunyikan dan melumpuhkan bidang Bulat Total dalam Gaji Slip",
The fraction of daily wages to be paid for half-day attendance,Sebahagian daripada gaji harian yang harus dibayar untuk kehadiran setengah hari,
Email Salary Slip to Employee,Email Slip Gaji kepada Pekerja,
Emails salary slip to employee based on preferred email selected in Employee,slip e-mel gaji kepada pekerja berdasarkan e-mel pilihan yang dipilih di pekerja,
Encrypt Salary Slips in Emails,Sulitkan Slip Gaji dalam E-mel,
"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Slip gaji yang diemail kepada pekerja akan dilindungi kata laluan, kata laluan akan dihasilkan berdasarkan dasar kata laluan.",
Password Policy,Dasar Kata Laluan,
<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Contoh:</b> SAL- {first_name} - {date_of_birth.year} <br> Ini akan menghasilkan kata laluan seperti SAL-Jane-1972,
Leave Settings,Tinggalkan Tetapan,
Leave Approval Notification Template,Tinggalkan Templat Pemberitahuan Kelulusan,
Leave Status Notification Template,Tinggalkan Templat Pemberitahuan Status,
Role Allowed to Create Backdated Leave Application,Peranan Dibenarkan Buat Permohonan Cuti Backdated,
Leave Approver Mandatory In Leave Application,Tinggalkan Permohonan Mandat Masuk Pendahuluan,
Show Leaves Of All Department Members In Calendar,Tunjukkan Daun Semua Ahli Jabatan Dalam Kalendar,
Auto Leave Encashment,Auto Encashment Tinggalkan,
Restrict Backdated Leave Application,Mengehadkan Permohonan Cuti Backdated,
Hiring Settings,Menyusun Tetapan,
Check Vacancies On Job Offer Creation,Semak Kekosongan Mengenai Penciptaan Tawaran Kerja,
Identification Document Type,Jenis Dokumen Pengenalan,
Effective from,Berkuat kuasa dari,
Allow Tax Exemption,Benarkan Pengecualian Cukai,
"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Sekiranya diaktifkan, Pernyataan Pengecualian Cukai akan dipertimbangkan untuk pengiraan cukai pendapatan.",
Standard Tax Exemption Amount,Jumlah Pengecualian Cukai Standard,
Taxable Salary Slabs,Slab Gaji Cukai,
Taxes and Charges on Income Tax,Cukai dan Caj ke atas Cukai Pendapatan,
Other Taxes and Charges,Cukai dan Caj Lain,
Income Tax Slab Other Charges,Slab Cukai Pendapatan Caj Lain-lain,
Min Taxable Income,Pendapatan Cukai Min,
Max Taxable Income,Pendapatan Cukai Maksimum,
Applicant for a Job,Pemohon untuk pekerjaan yang,
Accepted,Diterima,
Job Opening,Lowongan,
Cover Letter,Cover Letter,
Resume Attachment,resume Lampiran,
Job Applicant Source,Sumber Pemohon Kerja,
Applicant Email Address,Alamat E-mel Pemohon,
Awaiting Response,Menunggu Response,
Job Offer Terms,Syarat Tawaran Kerja,
Select Terms and Conditions,Pilih Terma dan Syarat,
Printing Details,Percetakan Butiran,
Job Offer Term,Tempoh Tawaran Kerja,
Offer Term,Tawaran Jangka,
Value / Description,Nilai / Penerangan,
Description of a Job Opening,Keterangan yang Lowongan,
Job Title,Tajuk Kerja,
Staffing Plan,Pelan Kakitangan,
Planned number of Positions,Bilangan Jawatan yang dirancang,
"Job profile, qualifications required etc.","Profil kerja, kelayakan yang diperlukan dan lain-lain",
HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
Allocation,Peruntukan,
New Leaves Allocated,Daun baru Diperuntukkan,
Add unused leaves from previous allocations,Tambahkan daun yang tidak digunakan dari peruntukan sebelum,
Unused leaves,Daun yang tidak digunakan,
Total Leaves Allocated,Jumlah Daun Diperuntukkan,
Total Leaves Encashed,Jumlah Daun Beracun,
Leave Period,Tempoh Cuti,
Carry Forwarded Leaves,Bawa Daun dikirim semula,
Apply / Approve Leaves,Sapukan / Meluluskan Daun,
HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
Leave Balance Before Application,Tinggalkan Baki Sebelum Permohonan,
Total Leave Days,Jumlah Hari Cuti,
Leave Approver Name,Tinggalkan nama Pelulus,
Follow via Email,Ikut melalui E-mel,
Block Holidays on important days.,Sekat Cuti pada hari-hari penting.,
Leave Block List Name,Tinggalkan Nama Sekat Senarai,
Applies to Company,Terpakai kepada Syarikat,
"If not checked, the list will have to be added to each Department where it has to be applied.","Jika tidak disemak, senarai itu perlu ditambah kepada setiap Jabatan di mana ia perlu digunakan.",
Block Days,Hari blok,
Stop users from making Leave Applications on following days.,Menghentikan pengguna daripada membuat Permohonan Cuti pada hari-hari berikut.,
Leave Block List Dates,Tinggalkan Tarikh Sekat Senarai,
Allow Users,Benarkan Pengguna,
Allow the following users to approve Leave Applications for block days.,Membenarkan pengguna berikut untuk meluluskan Permohonan Cuti untuk hari blok.,
Leave Block List Allowed,Tinggalkan Sekat Senarai Dibenarkan,
Leave Block List Allow,Tinggalkan Sekat Senarai Benarkan,
Allow User,Benarkan pengguna,
Leave Block List Date,Tinggalkan Sekat Senarai Tarikh,
Block Date,Sekat Tarikh,
Leave Control Panel,Tinggalkan Panel Kawalan,
Select Employees,Pilih Pekerja,
Employment Type (optional),Jenis Pekerjaan (pilihan),
Branch (optional),Cawangan (pilihan),
Department (optional),Jabatan (pilihan),
Designation (optional),Jawatan (pilihan),
Employee Grade (optional),Gred pekerja (pilihan),
Employee (optional),Pekerja (opsyen),
Allocate Leaves,Alihkan Daun,
Carry Forward,Carry Forward,
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Sila pilih Carry Forward jika anda juga mahu termasuk baki tahun fiskal yang lalu daun untuk tahun fiskal ini,
New Leaves Allocated (In Days),Daun baru Diperuntukkan (Dalam Hari),
Allocate,Memperuntukkan,
Leave Balance,Tinggalkan Baki,
Encashable days,Hari-hari yang boleh ditanggalkan,
Encashment Amount,Jumlah Encasment,
Leave Ledger Entry,Meninggalkan Entry Lejar,
Transaction Name,Nama Transaksi,
Is Carry Forward,Apakah Carry Forward,
Is Expired,Sudah tamat,
Is Leave Without Pay,Apakah Tinggalkan Tanpa Gaji,
Holiday List for Optional Leave,Senarai Percutian untuk Cuti Opsional,
Leave Allocations,Tinggalkan Alokasi,
Leave Policy Details,Tinggalkan Butiran Dasar,
Leave Policy Detail,Tinggalkan Butiran Dasar,
Annual Allocation,Peruntukan Tahunan,
Leave Type Name,Tinggalkan Nama Jenis,
Max Leaves Allowed,Daun Maks Dibenarkan,
Applicable After (Working Days),Berkenaan Selepas (Hari Kerja),
Maximum Continuous Days Applicable,Hari Berterusan Maksimum Berkenaan,
Is Optional Leave,Adakah Cuti Opsional,
Allow Negative Balance,Benarkan Baki negatif,
Include holidays within leaves as leaves,Termasuk cuti dalam daun daun,
Is Compensatory,Adakah Pampasan,
Maximum Carry Forwarded Leaves,Daun yang Dikeluarkan Maksimum,
Expire Carry Forwarded Leaves (Days),Tamat Tempoh Meninggalkan Daun Dikenali (Hari),
Calculated in days,Dikira dalam hari,
Encashment,Encsment,
Allow Encashment,Benarkan Encasmasi,
Encashment Threshold Days,Hari Penimbasan Ambang,
Earned Leave,Caj Perolehan,
Is Earned Leave,Dibeli Cuti,
Earned Leave Frequency,Frekuensi Cuti Earned,
Rounding,Pusingan,
Payroll Employee Detail,Butiran Pekerja Penggajian,
Payroll Frequency,Kekerapan Payroll,
Fortnightly,setiap dua minggu,
Bimonthly,dua bulan sekali,
Employees,pekerja,
Number Of Employees,Bilangan Pekerja,
Employee Details,Butiran Pekerja,
Validate Attendance,Mengesahkan Kehadiran,
Salary Slip Based on Timesheet,Slip Gaji Berdasarkan Timesheet,
Select Payroll Period,Pilih Tempoh Payroll,
Deduct Tax For Unclaimed Employee Benefits,Cukai Potongan Bagi Manfaat Pekerja yang Tidak Dituntut,
Deduct Tax For Unsubmitted Tax Exemption Proof,Cukai Potongan Bagi Bukti Pengecualian Cukai Tidak Dimasukkan,
Select Payment Account to make Bank Entry,Pilih Akaun Pembayaran untuk membuat Bank Kemasukan,
Salary Slips Created,Slip Gaji Dibuat,
Salary Slips Submitted,Slip Gaji Dihantar,
Payroll Periods,Tempoh gaji,
Payroll Period Date,Tarikh Tempoh Gaji,
Purpose of Travel,Tujuan perjalanan,
Retention Bonus,Bonus Pengekalan,
Bonus Payment Date,Tarikh Pembayaran Bonus,
Bonus Amount,Jumlah Bonus,
Abbr,Abbr,
Depends on Payment Days,Bergantung pada Hari Bayaran,
Is Tax Applicable,Adakah Cukai Berkenaan,
Variable Based On Taxable Salary,Variabel Berdasarkan Gaji Boleh Dituntut,
Exempted from Income Tax,Dikecualikan dari Cukai Pendapatan,
Round to the Nearest Integer,Pusingan ke Integer Hampir,
Statistical Component,Komponen statistik,
"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. ","Jika dipilih, nilai yang ditentukan atau dikira dalam komponen ini tidak akan menyumbang kepada pendapatan atau potongan. Walau bagaimanapun, ia nilai yang boleh dirujuk oleh komponen lain yang boleh ditambah atau ditolak.",
Do Not Include in Total,Jangan Sertakan Secara Keseluruhan,
Flexible Benefits,Manfaat Fleksibel,
Is Flexible Benefit,Adakah Faedah Fleksibel,
Max Benefit Amount (Yearly),Jumlah Faedah Maksimum (Tahunan),
Only Tax Impact (Cannot Claim But Part of Taxable Income),Hanya Impak Cukai (Tidak Boleh Tuntut Tetapi Sebahagian Pendapatan Boleh Dituntut),
Create Separate Payment Entry Against Benefit Claim,Buat Entri Pembayaran Terhad Mengatasi Tuntutan Manfaat,
Condition and Formula,Keadaan dan Formula,
Amount based on formula,Jumlah berdasarkan formula,
Formula,formula,
Salary Detail,Detail gaji,
Component,komponen,
Do not include in total,Tidak termasuk dalam jumlah,
Default Amount,Jumlah Default,
Additional Amount,Jumlah Tambahan,
Tax on flexible benefit,Cukai ke atas faedah yang fleksibel,
Tax on additional salary,Cukai ke atas gaji tambahan,
Salary Structure,Struktur gaji,
Working Days,Hari Bekerja,
Salary Slip Timesheet,Slip Gaji Timesheet,
Total Working Hours,Jumlah Jam Kerja,
Hour Rate,Kadar jam,
Bank Account No.,No. Akaun Bank,
Earning & Deduction,Pendapatan &amp; Potongan,
Earnings,Pendapatan,
Deductions,Potongan,
Loan repayment,Pembayaran balik pinjaman,
Employee Loan,Pinjaman pekerja,
Total Principal Amount,Jumlah Jumlah Prinsipal,
Total Interest Amount,Jumlah Jumlah Faedah,
Total Loan Repayment,Jumlah Bayaran Balik Pinjaman,
net pay info,maklumat gaji bersih,
Gross Pay - Total Deduction - Loan Repayment,Pay kasar - Jumlah Potongan - Bayaran Balik Pinjaman,
Total in words,Jumlah dalam perkataan,
Net Pay (in words) will be visible once you save the Salary Slip.,Gaji bersih (dengan perkataan) akan dapat dilihat selepas anda menyimpan Slip Gaji.,
Salary Component for timesheet based payroll.,Komponen gaji untuk gaji berdasarkan timesheet.,
Leave Encashment Amount Per Day,Tinggalkan Encasment Amaun Setiap Hari,
Max Benefits (Amount),Faedah Max (Amaun),
Salary breakup based on Earning and Deduction.,Perpecahan gaji berdasarkan Pendapatan dan Potongan.,
Total Earning,Jumlah Pendapatan,
Salary Structure Assignment,Penugasan Struktur Gaji,
Shift Assignment,Tugasan Shift,
Shift Type,Jenis Shift,
Shift Request,Permintaan Shift,
Enable Auto Attendance,Dayakan Auto Kehadiran,
Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Kehadiran markah berdasarkan &#39;Pemeriksaan Pekerja&#39; untuk Pekerja yang ditugaskan untuk peralihan ini.,
Auto Attendance Settings,Tetapan Kehadiran Auto,
Determine Check-in and Check-out,Tentukan daftar masuk dan daftar keluar,
Alternating entries as IN and OUT during the same shift,Penyertaan berganti seperti IN dan OUT semasa peralihan yang sama,
Strictly based on Log Type in Employee Checkin,Ketat berdasarkan Jenis Log dalam Checkin Pekerja,
Working Hours Calculation Based On,Pengiraan Jam Kerja Berdasarkan,
First Check-in and Last Check-out,Daftar Masuk Pertama dan Daftar Keluar Terakhir,
Every Valid Check-in and Check-out,Setiap Daftar Masuk Sah dan Daftar Keluar,
Begin check-in before shift start time (in minutes),Mulakan masuk sebelum masa mula peralihan (dalam minit),
The time before the shift start time during which Employee Check-in is considered for attendance.,Masa sebelum waktu mula peralihan semasa Pemeriksaan Kakitangan dianggap untuk kehadiran.,
Allow check-out after shift end time (in minutes),Izinkan daftar keluar selepas masa akhir perpindahan (dalam minit),
Time after the end of shift during which check-out is considered for attendance.,Masa selepas tamat peralihan semasa daftar keluar dianggap untuk kehadiran.,
Working Hours Threshold for Half Day,Ambang Waktu Kerja untuk Hari Setengah,
Working hours below which Half Day is marked. (Zero to disable),Waktu kerja di bawah yang Separuh Hari ditandakan. (Sifar untuk mematikan),
Working Hours Threshold for Absent,Ambang Waktu Bekerja untuk Absen,
Working hours below which Absent is marked. (Zero to disable),Waktu kerja di bawah yang Absen ditandakan. (Sifar untuk mematikan),
Process Attendance After,Kehadiran Proses Selepas,
Attendance will be marked automatically only after this date.,Kehadiran akan ditandakan secara automatik hanya selepas tarikh ini.,
Last Sync of Checkin,Penyegerakan Semula Terakhir,
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.,Sinkronisasi Terakhir Pemeriksaan Pekerja yang terakhir diketahui. Tetapkan semula ini hanya jika anda pasti bahawa semua Log diselaraskan dari semua lokasi. Tolong jangan ubah suai ini sekiranya anda tidak pasti.,
Grace Period Settings For Auto Attendance,Pengaturan Tempoh Grace untuk Kehadiran Auto,
Enable Entry Grace Period,Dayakan Tempoh Pemberian Kemasukan,
Late Entry Grace Period,Tempoh Grace Late Entry,
The time after the shift start time when check-in is considered as late (in minutes).,Masa selepas masa mula peralihan apabila daftar masuk dianggap lewat (dalam minit).,
Enable Exit Grace Period,Dayakan Tempoh Keluar Grace,
Early Exit Grace Period,Jangka Masa Keluar Awal,
The time before the shift end time when check-out is considered as early (in minutes).,Masa sebelum masa akhir perpindahan semasa daftar keluar dianggap awal (dalam minit).,
Skill Name,Nama kemahiran,
Staffing Plan Details,Butiran Rancangan Pengambilan Kakitangan,
Staffing Plan Detail,Detail Pelan Kakitangan,
Total Estimated Budget,Jumlah Anggaran Anggaran,
Vacancies,Kekosongan,
Estimated Cost Per Position,Anggaran Kos Setiap Posisi,
Total Estimated Cost,Jumlah Anggaran Kos,
Current Count,Bilangan Semasa,
Current Openings,Terbuka semasa,
Number Of Positions,Bilangan Jawatan,
Taxable Salary Slab,Slab Gaji Cukai,
From Amount,Daripada Jumlah,
To Amount,Kepada Jumlah,
Percent Deduction,Potongan Percukaian,
Training Program,Program Latihan,
Event Status,Status event,
Has Certificate,Mempunyai Sijil,
Seminar,Seminar,
Theory,teori,
Workshop,bengkel,
Conference,persidangan,
Exam,peperiksaan,
Internet,Internet,
Self-Study,Belajar sendiri,
Advance,Advance,
Trainer Name,Nama Trainer,
Trainer Email,Trainer Email,
Attendees,hadirin,
Employee Emails,E-mel Pekerja,
Training Event Employee,Training Event pekerja,
Invited,dijemput,
Feedback Submitted,Maklumbalas Dihantar,
Optional,Pilihan,
Training Result Employee,Keputusan Latihan Pekerja,
Travel Itinerary,Perjalanan Perjalanan,
Travel From,Perjalanan Dari,
Travel To,Mengembara ke,
Mode of Travel,Mod Perjalanan,
Flight,Penerbangan,
Train,Melatih,
Taxi,Teksi,
Rented Car,Kereta yang disewa,
Meal Preference,Pilihan Makanan,
Vegetarian,Vegetarian,
Non-Vegetarian,Bukan vegetarian,
Gluten Free,Bebas gluten,
Non Diary,Bukan Diari,
Travel Advance Required,Pelancongan Perjalanan Diperlukan,
Departure Datetime,Tarikh Berlepas,
Arrival Datetime,Tarikh Dataran Ketibaan,
Lodging Required,Penginapan Diperlukan,
Preferred Area for Lodging,Kawasan Pilihan untuk Penginapan,
Check-in Date,Tarikh daftar masuk,
Check-out Date,Tarikh Keluar,
Travel Request,Permintaan Perjalanan,
Travel Type,Jenis Perjalanan,
Domestic,Domestik,
International,Antarabangsa,
Travel Funding,Pembiayaan Perjalanan,
Require Full Funding,Memerlukan Pembiayaan Penuh,
Fully Sponsored,Penuh Disokong,
"Partially Sponsored, Require Partial Funding","Sebahagian ditaja, Memerlukan Pembiayaan Separa",
Copy of Invitation/Announcement,Salinan Jemputan / Pengumuman,
"Details of Sponsor (Name, Location)","Butiran Penaja (Nama, Lokasi)",
Identification Document Number,Nombor Dokumen Pengenalan,
Any other details,Sebarang butiran lain,
Costing Details,Butiran Kos,
Costing,Berharga,
Event Details,Butiran Acara,
Name of Organizer,Nama Penganjur,
Address of Organizer,Alamat Penganjur,
Travel Request Costing,Kos Permintaan Perjalanan,
Expense Type,Jenis Belanja,
Sponsored Amount,Jumlah yang ditaja,
Funded Amount,Amaun Dibiayai,
Upload Attendance,Naik Kehadiran,
Attendance From Date,Kehadiran Dari Tarikh,
Attendance To Date,Kehadiran Untuk Tarikh,
Get Template,Dapatkan Template,
Import Attendance,Import Kehadiran,
Upload HTML,Naik HTML,
Vehicle,kenderaan,
License Plate,Plate lesen,
Odometer Value (Last),Nilai Odometer (Akhir),
Acquisition Date,perolehan Tarikh,
Chassis No,Chassis Tiada,
Vehicle Value,Nilai kenderaan,
Insurance Details,Butiran Insurance,
Insurance Company,Syarikat insurans,
Policy No,Polisi Tiada,
Additional Details,maklumat tambahan,
Fuel Type,Jenis bahan api,
Petrol,petrol,
Diesel,diesel,
Natural Gas,Gas asli,
Electric,Electric,
Fuel UOM,Fuel UOM,
Last Carbon Check,Carbon lalu Daftar,
Wheels,Wheels,
Doors,Doors,
HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
Odometer Reading,Reading odometer,
Current Odometer value ,Nilai semasa odometer,
last Odometer Value ,Nilai Odometer lepas,
Refuelling Details,Refuelling Butiran,
Invoice Ref,invois Ref,
Service Details,Maklumat perkhidmatan,
Service Detail,Detail perkhidmatan,
Vehicle Service,Perkhidmatan kenderaan,
Service Item,perkhidmatan Item,
Brake Oil,Brek Minyak,
Brake Pad,Alas brek,
Clutch Plate,Plate Clutch,
Engine Oil,Minyak enjin,
Oil Change,Tukar minyak,
Inspection,pemeriksaan,
Mileage,Jarak tempuh,
Hub Tracked Item,Item yang Diacak Hub,
Hub Node,Hub Nod,
Image List,Senarai Imej,
Item Manager,Perkara Pengurus,
Hub User,Pengguna Hub,
Hub Password,Kata Laluan Hub,
Hub Users,Pengguna Hub,
Marketplace Settings,Tetapan Pasaran,
Disable Marketplace,Lumpuhkan Pasaran,
Marketplace URL (to hide and update label),URL Pasaran (untuk menyembunyikan dan mengemas kini label),
Registered,Berdaftar,
Sync in Progress,Segerakkan dalam Kemajuan,
Hub Seller Name,Nama Penjual Hab,
Custom Data,Data Tersuai,
Member,Ahli,
Partially Disbursed,sebahagiannya Dikeluarkan,
Loan Closure Requested,Penutupan Pinjaman yang Diminta,
Repay From Salary,Membayar balik dari Gaji,
Loan Details,Butiran pinjaman,
Loan Type,Jenis pinjaman,
Loan Amount,Jumlah pinjaman,
Is Secured Loan,Adakah Pinjaman Terjamin,
Rate of Interest (%) / Year,Kadar faedah (%) / Tahun,
Disbursement Date,Tarikh pembayaran,
Disbursed Amount,Jumlah yang Dibelanjakan,
Is Term Loan,Adakah Pinjaman Berjangka,
Repayment Method,Kaedah Bayaran Balik,
Repay Fixed Amount per Period,Membayar balik Jumlah tetap setiap Tempoh,
Repay Over Number of Periods,Membayar balik Over Bilangan Tempoh,
Repayment Period in Months,Tempoh pembayaran balik dalam Bulan,
Monthly Repayment Amount,Jumlah Bayaran Balik Bulanan,
Repayment Start Date,Tarikh Mula Pembayaran Balik,
Loan Security Details,Butiran Keselamatan Pinjaman,
Maximum Loan Value,Nilai Pinjaman Maksimum,
Account Info,Maklumat akaun,
Loan Account,Akaun Pinjaman,
Interest Income Account,Akaun Pendapatan Faedah,
Penalty Income Account,Akaun Pendapatan Penalti,
Repayment Schedule,Jadual Pembayaran Balik,
Total Payable Amount,Jumlah Dibayar,
Total Principal Paid,Jumlah Prinsipal Dibayar,
Total Interest Payable,Jumlah Faedah yang Perlu Dibayar,
Total Amount Paid,Jumlah Amaun Dibayar,
Loan Manager,Pengurus Pinjaman,
Loan Info,Maklumat pinjaman,
Rate of Interest,Kadar faedah,
Proposed Pledges,Cadangan Ikrar,
Maximum Loan Amount,Jumlah Pinjaman maksimum,
Repayment Info,Maklumat pembayaran balik,
Total Payable Interest,Jumlah Faedah yang Perlu Dibayar,
Against Loan ,Melawan Pinjaman,
Loan Interest Accrual,Akruan Faedah Pinjaman,
Amounts,Jumlah,
Pending Principal Amount,Jumlah Prinsipal yang belum selesai,
Payable Principal Amount,Jumlah Prinsipal yang Dibayar,
Paid Principal Amount,Amaun Prinsipal yang Dibayar,
Paid Interest Amount,Jumlah Faedah Dibayar,
Process Loan Interest Accrual,Memproses Accrual Interest Loan,
Repayment Schedule Name,Nama Jadual Pembayaran Balik,
Regular Payment,Pembayaran tetap,
Loan Closure,Penutupan Pinjaman,
Payment Details,Butiran Pembayaran,
Interest Payable,Faedah yang Dibayar,
Amount Paid,Amaun Dibayar,
Principal Amount Paid,Jumlah Prinsipal Dibayar,
Repayment Details,Butiran Bayaran Balik,
Loan Repayment Detail,Perincian Bayaran Balik Pinjaman,
Loan Security Name,Nama Sekuriti Pinjaman,
Unit Of Measure,Unit ukuran,
Loan Security Code,Kod Keselamatan Pinjaman,
Loan Security Type,Jenis Keselamatan Pinjaman,
Haircut %,Potongan rambut%,
Loan  Details,Butiran Pinjaman,
Unpledged,Tidak terpadam,
Pledged,Dicagar,
Partially Pledged,Sebahagian yang dijanjikan,
Securities,Sekuriti,
Total Security Value,Jumlah Nilai Keselamatan,
Loan Security Shortfall,Kekurangan Keselamatan Pinjaman,
Loan ,Pinjaman,
Shortfall Time,Masa Berkurangan,
America/New_York,Amerika / New_York,
Shortfall Amount,Jumlah Kekurangan,
Security Value ,Nilai Keselamatan,
Process Loan Security Shortfall,Proses Kekurangan Keselamatan Pinjaman Proses,
Loan To Value Ratio,Nisbah Pinjaman kepada Nilai,
Unpledge Time,Masa Unpledge,
Loan Name,Nama Loan,
Rate of Interest (%) Yearly,Kadar faedah (%) tahunan,
Penalty Interest Rate (%) Per Day,Kadar Faedah Penalti (%) Sehari,
Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Kadar Faedah Penalti dikenakan ke atas jumlah faedah yang tertunggak setiap hari sekiranya pembayaran balik ditangguhkan,
Grace Period in Days,Tempoh Grace dalam Hari,
No. of days from due date until which penalty won't be charged in case of delay in loan repayment,Jumlah hari dari tarikh akhir sehingga penalti tidak akan dikenakan sekiranya berlaku kelewatan pembayaran pinjaman,
Pledge,Ikrar,
Post Haircut Amount,Jumlah Potongan Rambut,
Process Type,Jenis Proses,
Update Time,Kemas kini Masa,
Proposed Pledge,Cadangan Ikrar,
Total Payment,Jumlah Bayaran,
Balance Loan Amount,Jumlah Baki Pinjaman,
Is Accrued,Telah terakru,
Salary Slip Loan,Pinjaman Slip Gaji,
Loan Repayment Entry,Kemasukan Bayaran Balik Pinjaman,
Sanctioned Loan Amount,Amaun Pinjaman Yang Dituntut,
Sanctioned Amount Limit,Had jumlah yang disyorkan,
Unpledge,Tidak melengkapkan,
Haircut,Potongan rambut,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Menjana Jadual,
Schedules,Jadual,
Maintenance Schedule Detail,Jadual Penyelenggaraan Terperinci,
Scheduled Date,Tarikh yang dijadualkan,
Actual Date,Tarikh sebenar,
Maintenance Schedule Item,Item Jadual Penyelenggaraan,
Random,Secara rawak,
No of Visits,Jumlah Lawatan,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Tarikh Penyelenggaraan,
Maintenance Time,Masa penyelenggaraan,
Completion Status,Siap Status,
Partially Completed,Sebahagiannya telah lengkap,
Fully Completed,Siap Sepenuhnya,
Unscheduled,Tidak Berjadual,
Breakdown,Pecahan,
Purposes,Tujuan,
Customer Feedback,Maklum Balas Pelanggan,
Maintenance Visit Purpose,Penyelenggaraan Lawatan Tujuan,
Work Done,Kerja Selesai,
Against Document No,Terhadap Dokumen No,
Against Document Detail No,Terhadap Detail Dokumen No,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Perintah Jenis,
Blanket Order Item,Item Pesanan Selimut,
Ordered Quantity,Mengarahkan Kuantiti,
Item to be manufactured or repacked,Perkara yang perlu dibuat atau dibungkus semula,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Kuantiti item diperolehi selepas pembuatan / pembungkusan semula daripada kuantiti diberi bahan mentah,
Set rate of sub-assembly item based on BOM,Tetapkan kadar item sub-assembly berdasarkan BOM,
Allow Alternative Item,Benarkan Item Alternatif,
Item UOM,Perkara UOM,
Conversion Rate,Kadar penukaran,
Rate Of Materials Based On,Kadar Bahan Based On,
With Operations,Dengan Operasi,
Manage cost of operations,Menguruskan kos operasi,
Transfer Material Against,Pemindahan Bahan Terhadap,
Routing,Routing,
Materials,Bahan,
Quality Inspection Required,Pemeriksaan Kualiti Diperlukan,
Quality Inspection Template,Templat Pemeriksaan Kualiti,
Scrap,Scrap,
Scrap Items,Item Scrap,
Operating Cost,Kos operasi,
Raw Material Cost,Kos bahan mentah,
Scrap Material Cost,Kos Scrap Material,
Operating Cost (Company Currency),Kos operasi (Syarikat Mata Wang),
Raw Material Cost (Company Currency),Kos Bahan Mentah (Mata Wang Syarikat),
Scrap Material Cost(Company Currency),Kos Scrap bahan (Syarikat Mata Wang),
Total Cost,Jumlah Kos,
Total Cost (Company Currency),Jumlah Kos (Mata Wang Syarikat),
Materials Required (Exploded),Bahan yang diperlukan (Meletup),
Exploded Items,Item meletup,
Show in Website,Tunjukkan di Laman Web,
Item Image (if not slideshow),Perkara imej (jika tidak menayang),
Thumbnail,Thumbnail,
Website Specifications,Laman Web Spesifikasi,
Show Items,persembahan Item,
Show Operations,Show Operasi,
Website Description,Laman Web Penerangan,
BOM Explosion Item,Letupan BOM Perkara,
Qty Consumed Per Unit,Kuantiti Digunakan Seunit,
Include Item In Manufacturing,Termasuk Item Dalam Pembuatan,
BOM Item,BOM Perkara,
Item operation,Operasi item,
Rate & Amount,Kadar &amp; Amaun,
Basic Rate (Company Currency),Kadar asas (Syarikat mata wang),
Scrap %,Scrap%,
Original Item,Item Asal,
BOM Operation,BOM Operasi,
Operation Time ,Masa Operasi,
In minutes,Dalam beberapa minit,
Batch Size,Saiz kumpulan,
Base Hour Rate(Company Currency),Kadar Jam Base (Syarikat Mata Wang),
Operating Cost(Company Currency),Kos operasi (Syarikat Mata Wang),
BOM Scrap Item,BOM Scrap Item,
Basic Amount (Company Currency),Jumlah Asas (Syarikat Mata Wang),
BOM Update Tool,Alat Kemaskini BOM,
"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.","Gantikan BOM tertentu dalam semua BOM lain di mana ia digunakan. Ia akan menggantikan pautan lama BOM, kos kemas kini dan menaikkan semula jadual &quot;BOM Explosion Item&quot; seperti BOM baru. Ia juga mengemas kini harga terkini dalam semua BOM.",
Replace BOM,Gantikan BOM,
Current BOM,BOM semasa,
The BOM which will be replaced,The BOM yang akan digantikan,
The new BOM after replacement,The BOM baru selepas penggantian,
Replace,Ganti,
Update latest price in all BOMs,Kemas kini harga terkini dalam semua BOM,
BOM Website Item,BOM laman Perkara,
BOM Website Operation,BOM Operasi laman web,
Operation Time,Masa Operasi,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Butiran masa,
Time Logs,Time Logs,
Total Time in Mins,Jumlah Masa dalam Mins,
Operation ID,ID Operasi,
Transferred Qty,Dipindahkan Qty,
Job Started,Kerja bermula,
Started Time,Masa Bermula,
Current Time,Masa Semasa,
Job Card Item,Item Kad Kerja,
Job Card Time Log,Log Masa Kad Kerja,
Time In Mins,Time In Mins,
Completed Qty,Siap Qty,
Manufacturing Settings,Tetapan Pembuatan,
Raw Materials Consumption,Penggunaan Bahan Mentah,
Allow Multiple Material Consumption,Benarkan Penggunaan Bahan Pelbagai,
Allow multiple Material Consumption against a Work Order,Benarkan pelbagai Penggunaan Bahan terhadap Perintah Kerja,
Backflush Raw Materials Based On,Backflush Bahan Mentah Based On,
Material Transferred for Manufacture,Bahan Dipindahkan untuk Pembuatan,
Capacity Planning,Perancangan Kapasiti,
Disable Capacity Planning,Lumpuhkan Perancangan Kapasiti,
Allow Overtime,Benarkan kerja lebih masa,
Plan time logs outside Workstation Working Hours.,Rancang log masa di luar Waktu Workstation Kerja.,
Allow Production on Holidays,Benarkan Pengeluaran pada Cuti,
Capacity Planning For (Days),Perancangan Keupayaan (Hari),
Try planning operations for X days in advance.,Cuba merancang operasi untuk hari X terlebih dahulu.,
Time Between Operations (in mins),Masa Antara Operasi (dalam minit),
Default 10 mins,Default 10 minit,
Default Warehouses for Production,Gudang Default untuk Pengeluaran,
Default Work In Progress Warehouse,Kerja Lalai Dalam Kemajuan Warehouse,
Default Finished Goods Warehouse,Barangan lalai Mendapat Warehouse,
Default Scrap Warehouse,Warehouse Scrap Default,
Over Production for Sales and Work Order,Lebih Pengeluaran untuk Jualan dan Perintah Kerja,
Overproduction Percentage For Sales Order,Peratus Overproduction untuk Perintah Jualan,
Overproduction Percentage For Work Order,Peratus Overproduction untuk Perintah Kerja,
Other Settings,Tetapan lain,
Update BOM Cost Automatically,Kemas kini BOM Kos secara automatik,
"Update BOM cost automatically via Scheduler, based on latest valuation rate / price list rate / last purchase rate of raw materials.","Perbarui kos BOM secara automatik melalui Penjadual, berdasarkan kadar penilaian terkini / harga senarai harga / kadar pembelian terakhir bahan mentah.",
Material Request Plan Item,Item Pelan Permintaan Bahan,
Material Request Type,Permintaan Jenis Bahan,
Material Issue,Isu Bahan,
Customer Provided,Pelanggan yang disediakan,
Minimum Order Quantity,Kuantiti Pesanan Minima,
Default Workstation,Workstation Default,
Production Plan,Pelan Pengeluaran,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Mendapatkan barangan dari,
Get Sales Orders,Dapatkan Perintah Jualan,
Material Request Detail,Detail Permintaan Bahan,
Get Material Request,Dapatkan Permintaan Bahan,
Material Requests,Permintaan bahan,
Get Items For Work Order,Dapatkan Item Untuk Perintah Kerja,
Material Request Planning,Perancangan Permintaan Bahan,
Include Non Stock Items,Sertakan Item Bukan Saham,
Include Subcontracted Items,Termasuk Item Subkontrak,
Ignore Existing Projected Quantity,Abaikan Kuantiti yang Diharapkan yang Sedia Ada,
"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>.","Untuk mengetahui lebih lanjut mengenai kuantiti yang diunjurkan, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">klik di sini</a> .",
Download Required Materials,Muat turun Bahan Yang Diperlukan,
Get Raw Materials For Production,Dapatkan Bahan Baku untuk Pengeluaran,
Total Planned Qty,Jumlah Qty Yang Dirancang,
Total Produced Qty,Jumlah Dihasilkan Qty,
Material Requested,Bahan yang diminta,
Production Plan Item,Rancangan Pengeluaran Item,
Make Work Order for Sub Assembly Items,Buat Perintah Kerja untuk Barangan Sub Assembly,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Jika didayakan, sistem akan membuat perintah kerja untuk barang-barang yang meletup terhadap BOM yang tersedia.",
Planned Start Date,Dirancang Tarikh Mula,
Quantity and Description,Kuantiti dan Penerangan,
material_request_item,material_request_item,
Product Bundle Item,Produk Bundle Item,
Production Plan Material Request,Pengeluaran Pelan Bahan Permintaan,
Production Plan Sales Order,Rancangan Pengeluaran Jualan Pesanan,
Sales Order Date,Pesanan Jualan Tarikh,
Routing Name,Nama Penghalaan,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Perkara Untuk Pembuatan,
Material Transferred for Manufacturing,Bahan Dipindahkan untuk Pembuatan,
Manufactured Qty,Dikilangkan Qty,
Use Multi-Level BOM,Gunakan Multi-Level BOM,
Plan material for sub-assemblies,Bahan rancangan untuk sub-pemasangan,
Skip Material Transfer to WIP Warehouse,Langkau Pemindahan Bahan ke Gudang WIP,
Check if material transfer entry is not required,Periksa sama ada kemasukan pemindahan bahan tidak diperlukan,
Backflush Raw Materials From Work-in-Progress Warehouse,Bahan baku backflush dari gudang kerja yang sedang berjalan,
Update Consumed Material Cost In Project,Kemas kini Kos Bahan Terutu dalam Projek,
Warehouses,Gudang,
This is a location where raw materials are available.,Ini adalah lokasi di mana bahan mentah tersedia.,
Work-in-Progress Warehouse,Kerja dalam Kemajuan Gudang,
This is a location where operations are executed.,Ini adalah lokasi di mana operasi dijalankan.,
This is a location where final product stored.,Ini adalah lokasi di mana produk akhir disimpan.,
Scrap Warehouse,Scrap Warehouse,
This is a location where scraped materials are stored.,Ini adalah lokasi di mana bahan-bahan yang dikikis disimpan.,
Required Items,Item yang diperlukan,
Actual Start Date,Tarikh Mula Sebenar,
Planned End Date,Dirancang Tarikh Akhir,
Actual End Date,Tarikh Akhir Sebenar,
Operation Cost,Operasi Kos,
Planned Operating Cost,Dirancang Kos Operasi,
Actual Operating Cost,Kos Sebenar Operasi,
Additional Operating Cost,Tambahan Kos Operasi,
Total Operating Cost,Jumlah Kos Operasi,
Manufacture against Material Request,Mengeluarkan terhadap Permintaan Bahan,
Work Order Item,Item Pesanan Kerja,
Available Qty at Source Warehouse,Ada Qty di Source Warehouse,
Available Qty at WIP Warehouse,Ada Qty di WIP Warehouse,
Work Order Operation,Operasi Perintah Kerja,
Operation Description,Operasi Penerangan,
Operation completed for how many finished goods?,Operasi siap untuk berapa banyak barangan siap?,
Work in Progress,Kerja Dalam Kemajuan,
Estimated Time and Cost,Anggaran Masa dan Kos,
Planned Start Time,Dirancang Mula Masa,
Planned End Time,Dirancang Akhir Masa,
in Minutes,Dalam beberapa minit,
Actual Time and Cost,Masa sebenar dan Kos,
Actual Start Time,Masa Mula Sebenar,
Actual End Time,Waktu Tamat Sebenar,
Updated via 'Time Log',Dikemaskini melalui &#39;Time Log&#39;,
Actual Operation Time,Masa Sebenar Operasi,
in Minutes\nUpdated via 'Time Log',dalam minit dikemaskini melalui &#39;Time Log&#39;,
(Hour Rate / 60) * Actual Operation Time,(Kadar sejam / 60) * Masa Operasi Sebenar,
Workstation Name,Nama stesen kerja,
Production Capacity,Kapasiti Pengeluaran,
Operating Costs,Kos operasi,
Electricity Cost,Kos Elektrik,
per hour,sejam,
Consumable Cost,Kos guna habis,
Rent Cost,Kos sewa,
Wages,Upah,
Wages per hour,Upah sejam,
Net Hour Rate,Kadar Hour bersih,
Workstation Working Hour,Workstation Jam Kerja,
Certification Application,Permohonan Persijilan,
Name of Applicant,Nama pemohon,
Certification Status,Status Persijilan,
Yet to appear,Namun untuk muncul,
Certified,Disahkan,
Not Certified,Tidak disahkan,
USD,Dolar Amerika,
INR,INR,
Certified Consultant,Perunding Bersertifikat,
Name of Consultant,Nama Perunding,
Certification Validity,Kesahan Sijil,
Discuss ID,Bincangkan ID,
GitHub ID,ID GitHub,
Non Profit Manager,Pengurus Bukan Untung,
Chapter Head,Kepala Bab,
Meetup Embed HTML,Meetup Embed HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,cuti / bab_name meninggalkan kosong secara automatik selepas menyimpan bab.,
Chapter Members,Ahli Bab,
Members,Ahli,
Chapter Member,Ahli Bab,
Website URL,URL laman web,
Leave Reason,Tinggalkan Sebab,
Donor Name,Nama Donor,
Donor Type,Jenis Donor,
Withdrawn,Ditarik balik,
Grant Application Details ,Butiran Permohonan Grant,
Grant Description,Pemberian Geran,
Requested Amount,Amaun yang Diminta,
Has any past Grant Record,Mempunyai Rekod Geran yang lalu,
Show on Website,Tunjukkan di Laman Web,
Assessment  Mark (Out of 10),Penilaian Penilaian (Daripada 10),
Assessment  Manager,Pengurus Penilaian,
Email Notification Sent,Pemberitahuan E-mel Dihantar,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Keahlian Tarikh Luput,
Razorpay Details,Butiran Razorpay,
Subscription ID,ID Langganan,
Customer ID,ID pelanggan,
Subscription Activated,Langganan Diaktifkan,
Subscription Start ,Permulaan Langganan,
Subscription End,Tamat Langganan,
Non Profit Member,Ahli Bukan Untung,
Membership Status,Status Keahlian,
Member Since,Ahli sejak,
Payment ID,ID Pembayaran,
Membership Settings,Tetapan Keahlian,
Enable RazorPay For Memberships,Dayakan RazorPay Untuk Keahlian,
RazorPay Settings,Tetapan RazorPay,
Billing Cycle,Kitaran Bil,
Billing Frequency,Kekerapan Bil,
"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.","Bilangan kitaran penagihan yang mana pelanggan harus dikenakan. Sebagai contoh, jika pelanggan membeli keahlian 1 tahun yang harus ditagih setiap bulan, nilai ini harus 12.",
Razorpay Plan ID,ID Pelan Razorpay,
Volunteer Name,Nama Sukarelawan,
Volunteer Type,Jenis Sukarelawan,
Availability and Skills,Ketersediaan dan Kemahiran,
Availability,Ketersediaan,
Weekends,Hujung minggu,
Availability Timeslot,Timeslot Ketersediaan,
Morning,Pagi,
Afternoon,Petang,
Evening,Petang,
Anytime,Bila masa,
Volunteer Skills,Kemahiran Sukarelawan,
Volunteer Skill,Skuad Sukarelawan,
Homepage,Homepage,
Hero Section Based On,Seksyen Hero Berdasarkan Pada,
Homepage Section,Seksyen Homepage,
Hero Section,Seksyen Hero,
Tag Line,Line tag,
Company Tagline for website homepage,Syarikat Tagline untuk laman web laman utama,
Company Description for website homepage,Penerangan Syarikat untuk laman web laman utama,
Homepage Slideshow,Tayangan Slaid Halaman Utama,
"URL for ""All Products""",URL untuk &quot;Semua Produk&quot;,
Products to be shown on website homepage,Produk yang akan dipaparkan pada laman web utama,
Homepage Featured Product,Homepage produk yang ditampilkan,
route,laluan,
Section Based On,Seksyen Berdasarkan,
Section Cards,Kad Seksyen,
Number of Columns,Bilangan Lajur,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Bilangan lajur untuk bahagian ini. 3 kad akan ditunjukkan setiap baris jika anda memilih 3 tiang.,
Section HTML,Seksyen HTML,
Use this field to render any custom HTML in the section.,Gunakan medan ini untuk memberikan HTML tersuai dalam bahagian.,
Section Order,Seksyen Pesanan,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Perintah di mana bahagian akan muncul. 0 adalah yang pertama, 1 adalah kedua dan sebagainya.",
Homepage Section Card,Kad Seksyen Laman Utama,
Subtitle,Sarikata,
Products Settings,produk Tetapan,
Home Page is Products,Laman Utama Produk adalah,
"If checked, the Home page will be the default Item Group for the website","Jika disemak, page Utama akan menjadi lalai Item Kumpulan untuk laman web",
Show Availability Status,Tunjukkan Status Ketersediaan,
Product Page,Halaman Produk,
Products per Page,Produk setiap halaman,
Enable Field Filters,Dayakan Penapis Field,
Item Fields,Bidang Perkara,
Enable Attribute Filters,Membolehkan Penapis Atribut,
Attributes,Sifat-sifat,
Hide Variants,Sembunyikan Variasi,
Website Attribute,Atribut Laman Web,
Attribute,Atribut,
Website Filter Field,Bidang Penapis Laman Web,
Activity Cost,Kos Aktiviti,
Billing Rate,Kadar bil,
Costing Rate,Kadar berharga,
title,tajuk,
Projects User,Projek pengguna,
Default Costing Rate,Kadar Kos lalai,
Default Billing Rate,Kadar Bil lalai,
Dependent Task,Petugas bergantung,
Project Type,Jenis Projek,
% Complete Method,% Kaedah Lengkap,
Task Completion,Petugas Siap,
Task Progress,Task Progress,
% Completed,% Selesai,
From Template,Daripada Templat,
Project will be accessible on the website to these users,Projek akan boleh diakses di laman web untuk pengguna ini,
Copied From,disalin Dari,
Start and End Dates,Tarikh mula dan tamat,
Actual Time (in Hours),Masa Sebenar (dalam Jam),
Costing and Billing,Kos dan Billing,
Total Costing Amount (via Timesheets),Jumlah Kos Jumlah (melalui Timesheet),
Total Expense Claim (via Expense Claims),Jumlah Tuntutan Perbelanjaan (melalui Tuntutan Perbelanjaan),
Total Purchase Cost (via Purchase Invoice),Jumlah Kos Pembelian (melalui Invois Belian),
Total Sales Amount (via Sales Order),Jumlah Jumlah Jualan (melalui Perintah Jualan),
Total Billable Amount (via Timesheets),Jumlah Jumlah Yang Boleh Dibayar (melalui Timesheet),
Total Billed Amount (via Sales Invoices),Jumlah Amaun Dibilkan (melalui Invois Jualan),
Total Consumed Material Cost  (via Stock Entry),Jumlah Kos Bahan Terutu (melalui Entry Saham),
Gross Margin,Margin kasar,
Gross Margin %,Margin kasar%,
Monitor Progress,Memantau Kemajuan,
Collect Progress,Kumpulkan Kemajuan,
Frequency To Collect Progress,Kekerapan untuk Mengumpul Kemajuan,
Twice Daily,Dua kali sehari,
First Email,E-mel Pertama,
Second Email,E-mel Kedua,
Time to send,Masa untuk dihantar,
Day to Send,Hari Hantar,
Message will be sent to the users to get their status on the Project,Mesej akan dihantar kepada pengguna untuk mendapatkan status mereka di Projek,
Projects Manager,Projek Pengurus,
Project Template,Templat Projek,
Project Template Task,Tugas Templat Projek,
Begin On (Days),Mulakan Pada (Hari),
Duration (Days),Tempoh (Hari),
Project Update,Kemas kini Projek,
Project User,projek Pengguna,
View attachments,Lihat lampiran,
Projects Settings,Tetapan Projek,
Ignore Workstation Time Overlap,Abaikan Masa Tumpuan Workstation,
Ignore User Time Overlap,Abaikan Masa Bertindih Pengguna,
Ignore Employee Time Overlap,Abaikan Peralihan Masa Pekerja,
Weight,Berat,
Parent Task,Tugas Ibu Bapa,
Timeline,Garis masa,
Expected Time (in hours),Jangkaan Masa (dalam jam),
% Progress,% Kemajuan,
Is Milestone,adalah Milestone,
Task Description,Penerangan Petugas,
Dependencies,Kebergantungan,
Dependent Tasks,Tugasan yang bergantung,
Depends on Tasks,Bergantung kepada Tugas,
Actual Start Date (via Time Sheet),Tarikh Mula Sebenar (melalui Lembaran Time),
Actual Time (in hours),Masa sebenar (dalam jam),
Actual End Date (via Time Sheet),Sebenar Tarikh Akhir (melalui Lembaran Time),
Total Costing Amount (via Time Sheet),Jumlah Kos Jumlah (melalui Lembaran Time),
Total Expense Claim (via Expense Claim),Jumlah Tuntutan Perbelanjaan (melalui Perbelanjaan Tuntutan),
Total Billing Amount (via Time Sheet),Jumlah Bil (melalui Lembaran Time),
Review Date,Tarikh Semakan,
Closing Date,Tarikh Tutup,
Task Depends On,Petugas Bergantung Pada,
Task Type,Jenis Petugas,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Detail pekerja,
Billing Details,Billing Details,
Total Billable Hours,Jumlah jam kerja yang dibayar,
Total Billed Hours,Jumlah Jam Diiktiraf,
Total Costing Amount,Jumlah Kos,
Total Billable Amount,Jumlah ditaksir,
Total Billed Amount,Jumlah Diiktiraf,
% Amount Billed,% Jumlah Dibilkan,
Hrs,Hrs,
Costing Amount,Jumlah berharga,
Corrective/Preventive,Pembetulan / Pencegahan,
Corrective,Pembetulan,
Preventive,Pencegahan,
Resolution,Resolusi,
Resolutions,Resolusi,
Quality Action Resolution,Resolusi Tindakan Kualiti,
Quality Feedback Parameter,Parameter Maklum Balas Kualiti,
Quality Feedback Template Parameter,Parameter Templat Maklum Balas Kualiti,
Quality Goal,Matlamat Kualiti,
Monitoring Frequency,Kekerapan Pemantauan,
Weekday,Hari minggu,
January-April-July-October,Januari-April-Julai-Oktober,
Revision and Revised On,Semakan dan Semakan semula,
Revision,Ulang kaji,
Revised On,Disemak semula,
Objectives,Objektif,
Quality Goal Objective,Objektif Kualiti Matlamat,
Objective,Objektif,
Agenda,Agenda,
Minutes,Minit,
Quality Meeting Agenda,Agenda Mesyuarat Kualiti,
Quality Meeting Minutes,Minit Mesyuarat Kualiti,
Minute,Saat,
Parent Procedure,Prosedur Ibu Bapa,
Processes,Proses,
Quality Procedure Process,Proses Prosedur Kualiti,
Process Description,Penerangan proses,
Child Procedure,Prosedur Kanak-kanak,
Link existing Quality Procedure.,Pautan Prosedur Kualiti yang sedia ada.,
Additional Information,Maklumat tambahan,
Quality Review Objective,Objektif Kajian Kualiti,
DATEV Settings,Tetapan DATEV,
Regional,Regional,
Consultant ID,ID Perunding,
GST HSN Code,GST Kod HSN,
HSN Code,Kod HSN,
GST Settings,Tetapan GST,
GST Summary,Ringkasan GST,
GSTIN Email Sent On,GSTIN Penghantaran Email On,
GST Accounts,Akaun GST,
B2C Limit,Had B2C,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Tetapkan Nilai Invois untuk B2C. B2CL dan B2CS dikira berdasarkan nilai invois ini.,
GSTR 3B Report,Laporan GSTR 3B,
January,Januari,
February,Februari,
March,Mac,
April,April,
May,Boleh,
June,Jun,
July,Julai,
August,Ogos,
September,September,
October,Oktober,
November,November,
December,Disember,
JSON Output,JSON Output,
Invoices with no Place Of Supply,Invois tanpa Tempat Pembekalan,
Import Supplier Invoice,Invois Pembekal Import,
Invoice Series,Siri Invois,
Upload XML Invoices,Muat Invois XML,
Zip File,Fail Zip,
Import Invoices,Import Invois,
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 pada butang Import Invois apabila fail zip telah dilampirkan pada dokumen. Sebarang kesilapan yang berkaitan dengan pemprosesan akan ditunjukkan dalam Log Ralat.,
Lower Deduction Certificate,Perakuan Potongan Bawah,
Certificate Details,Butiran Sijil,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194I,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,Perakuan No.,
Deductee Details,Butiran Pemotong,
PAN No,PAN No.,
Validity Details,Butiran Kesahan,
Rate Of TDS As Per Certificate,Kadar TDS Mengikut Sijil,
Certificate Limit,Had Sijil,
Invoice Series Prefix,Awalan Siri Invois,
Active Menu,Menu Aktif,
Restaurant Menu,Menu Restoran,
Price List (Auto created),Senarai harga (dicipta secara automatik),
Restaurant Manager,Pengurus restoran,
Restaurant Menu Item,Menu Menu Restoran,
Restaurant Order Entry,Kemasukan Pesanan Restoran,
Restaurant Table,Jadual Restoran,
Click Enter To Add,Klik Masukkan Ke Tambah,
Last Sales Invoice,Invois Jualan Terakhir,
Current Order,Perintah Semasa,
Restaurant Order Entry Item,Item Masuk Kemasukan Restoran,
Served,Berkhidmat,
Restaurant Reservation,Tempahan Restoran,
Waitlisted,Ditandati,
No Show,Tidak Tunjukkan,
No of People,Tidak ada Orang,
Reservation Time,Masa Tempahan,
Reservation End Time,Waktu Tamat Tempahan,
No of Seats,Tiada tempat duduk,
Minimum Seating,Tempat Duduk Minimum,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Simpan Track Kempen Jualan. Jejaki Leads, Sebut Harga, Pesanan Jualan dan lain-lain daripada kempen untuk mengukur Pulangan atas Pelaburan.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Jadual Kempen,
Buyer of Goods and Services.,Pembeli Barang dan Perkhidmatan.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Akaun Bank Syarikat lalai,
From Lead,Dari Lead,
Account Manager,Pengurus akaun,
Allow Sales Invoice Creation Without Sales Order,Benarkan Pembuatan Invois Jualan Tanpa Pesanan Jualan,
Allow Sales Invoice Creation Without Delivery Note,Benarkan Pembuatan Invois Jualan Tanpa Nota Penghantaran,
Default Price List,Senarai Harga Default,
Primary Address and Contact Detail,Alamat Utama dan Butiran Kenalan,
"Select, to make the customer searchable with these fields","Pilih, untuk membuat pelanggan dicari dengan medan ini",
Customer Primary Contact,Hubungi Utama Utama Pelanggan,
"Reselect, if the chosen contact is edited after save","Pilih semula, jika kenalan yang dipilih diedit selepas disimpan",
Customer Primary Address,Alamat Utama Pelanggan,
"Reselect, if the chosen address is edited after save","Pilih semula, jika alamat yang dipilih disunting selepas menyimpan",
Primary Address,Alamat Utama,
Mention if non-standard receivable account,Sebut jika akaun belum terima tidak standard,
Credit Limit and Payment Terms,Terma dan Syarat Pembayaran,
Additional information regarding the customer.,Maklumat tambahan mengenai pelanggan.,
Sales Partner and Commission,Rakan Jualan dan Suruhanjaya,
Commission Rate,Kadar komisen,
Sales Team Details,Butiran Pasukan Jualan,
Customer POS id,Id POS pelanggan,
Customer Credit Limit,Had Kredit Pelanggan,
Bypass Credit Limit Check at Sales Order,Bypass cek had kredit pada Perintah Jualan,
Industry Type,Jenis industri,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Tarikh pemasangan,
Installation Time,Masa pemasangan,
Installation Note Item,Pemasangan Nota Perkara,
Installed Qty,Dipasang Qty,
Lead Source,Lead Source,
Period Start Date,Tarikh Permulaan Tempoh,
Period End Date,Tarikh Akhir Tempoh,
Cashier,Juruwang,
Difference,Beza,
Modes of Payment,Mod Pembayaran,
Linked Invoices,Invois Berkaitan,
POS Closing Voucher Details,Butiran Baucar Penutupan POS,
Collected Amount,Jumlah Dikumpul,
Expected Amount,Amaun Yang Diharapkan,
POS Closing Voucher Invoices,Invois Baucar Penutupan POS,
Quantity of Items,Kuantiti Item,
"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","Kumpulan agregat Item ** ** kepada yang lain Item ** **. Ini berguna jika anda bundling Item ** ** tertentu ke dalam satu pakej dan anda mengekalkan saham daripada ** Item dibungkus ** dan tidak agregat ** Item **. Pakej ** ** Item akan mempunyai &quot;Adakah Saham Perkara&quot; sebagai &quot;Tidak&quot; dan &quot;Adakah Item Jualan&quot; sebagai &quot;Ya&quot;. Untuk Contoh: Jika anda jual Komputer riba dan Ransel secara berasingan dan mempunyai harga istimewa jika pelanggan membeli kedua-duanya, maka Laptop + Backpack akan menjadi baru Perkara Bundle Produk. Nota: BOM = Bill of Materials",
Parent Item,Perkara Ibu Bapa,
List items that form the package.,Senarai item yang membentuk pakej.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Sebutharga Untuk,
Rate at which customer's currency is converted to company's base currency,Kadar di mana pelanggan mata wang ditukar kepada mata wang asas syarikat,
Rate at which Price list currency is converted to company's base currency,Kadar di mana Senarai harga mata wang ditukar kepada mata wang asas syarikat,
Additional Discount and Coupon Code,Diskaun Tambahan dan Kod Kupon,
Referral Sales Partner,Rakan Jualan Rujukan,
In Words will be visible once you save the Quotation.,Dalam Perkataan akan dapat dilihat selepas anda menyimpan Sebut Harga tersebut.,
Term Details,Butiran jangka,
Quotation Item,Sebut Harga Item,
Against Doctype,Terhadap DOCTYPE,
Against Docname,Terhadap Docname,
Additional Notes,Nota tambahan,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Langkau Nota Penghantaran,
In Words will be visible once you save the Sales Order.,Dalam Perkataan akan dapat dilihat selepas anda menyimpan Perintah Jualan.,
Track this Sales Order against any Project,Jejaki Pesanan Jualan ini terhadap mana-mana Projek,
Billing and Delivery Status,Bil dan Status Penghantaran,
Not Delivered,Tidak Dihantar,
Fully Delivered,Dihantar sepenuhnya,
Partly Delivered,Sebahagiannya Dihantar,
Not Applicable,Tidak Berkenaan,
%  Delivered,% Dihantar,
% of materials delivered against this Sales Order,% bahan-bahan yang dihantar untuk Pesanan Jualan ini,
% of materials billed against this Sales Order,% bahan-bahan yang dibilkan terhadap Pesanan Jualan ini,
Not Billed,Tidak Membilkan,
Fully Billed,Membilkan sepenuhnya,
Partly Billed,Sebahagiannya Membilkan,
Ensure Delivery Based on Produced Serial No,Memastikan Penyampaian Berdasarkan Siri Terbitan No,
Supplier delivers to Customer,Pembekal menyampaikan kepada Pelanggan,
Delivery Warehouse,Gudang Penghantaran,
Planned Quantity,Dirancang Kuantiti,
For Production,Untuk Pengeluaran,
Work Order Qty,Perintah Kerja Qty,
Produced Quantity,Dihasilkan Kuantiti,
Used for Production Plan,Digunakan untuk Rancangan Pengeluaran,
Sales Partner Type,Jenis Rakan Kongsi Jualan,
Contact No.,Hubungi No.,
Contribution (%),Sumbangan (%),
Contribution to Net Total,Sumbangan kepada Jumlah Bersih,
Selling Settings,Menjual Tetapan,
Settings for Selling Module,Tetapan untuk Menjual Modul,
Customer Naming By,Menamakan Dengan Pelanggan,
Campaign Naming By,Menamakan Kempen Dengan,
Default Customer Group,Default Pelanggan Kumpulan,
Default Territory,Wilayah Default,
Close Opportunity After Days,Tutup Peluang Selepas Hari,
Auto close Opportunity after 15 days,Auto Peluang dekat selepas 15 hari,
Default Quotation Validity Days,Hari Kesahan Sebutharga Lalai,
Sales Update Frequency,Kekerapan Kemas Kini Jualan,
How often should project and company be updated based on Sales Transactions.,Berapa kerapkah projek dan syarikat dikemas kini berdasarkan Transaksi Jualan?,
Each Transaction,Setiap Transaksi,
Allow user to edit Price List Rate in transactions,Membolehkan pengguna untuk mengedit Senarai Harga Kadar dalam urus niaga,
Allow multiple Sales Orders against a Customer's Purchase Order,Membenarkan pelbagai Pesanan Jualan terhadap Perintah Pembelian yang Pelanggan,
Validate Selling Price for Item against Purchase Rate or Valuation Rate,Mengesahkan Harga Jualan bagi Item terhadap Kadar Pembelian atau Kadar Penilaian,
Hide Customer's Tax Id from Sales Transactions,Menyembunyikan Id Cukai Pelanggan dari Transaksi Jualan,
SMS Center,SMS Center,
Send To,Hantar Kepada,
All Contact,Semua Contact,
All Customer Contact,Semua Hubungi Pelanggan,
All Supplier Contact,Semua Pembekal Contact,
All Sales Partner Contact,Semua Jualan Rakan Hubungi,
All Lead (Open),Semua Lead (Terbuka),
All Employee (Active),Semua Pekerja (Aktif),
All Sales Person,Semua Orang Jualan,
Create Receiver List,Cipta Senarai Penerima,
Receiver List,Penerima Senarai,
Messages greater than 160 characters will be split into multiple messages,Mesej yang lebih besar daripada 160 aksara akan berpecah kepada berbilang mesej,
Total Characters,Jumlah Watak,
Total Message(s),Jumlah Mesej (s),
Authorization Control,Kawalan Kuasa,
Authorization Rule,Peraturan kebenaran,
Average Discount,Diskaun Purata,
Customerwise Discount,Customerwise Diskaun,
Itemwise Discount,Itemwise Diskaun,
Customer or Item,Pelanggan atau Perkara,
Customer / Item Name,Pelanggan / Nama Item,
Authorized Value,Nilai yang diberi kuasa,
Applicable To (Role),Terpakai Untuk (Peranan),
Applicable To (Employee),Terpakai Untuk (Pekerja),
Applicable To (User),Terpakai Untuk (pengguna),
Applicable To (Designation),Terpakai Untuk (Jawatan),
Approving Role (above authorized value),Meluluskan Peranan (di atas nilai yang diberi kuasa),
Approving User  (above authorized value),Meluluskan pengguna (di atas nilai yang diberi kuasa),
Brand Defaults,Default Jenama,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Undang-undang Entiti / Anak Syarikat dengan Carta berasingan Akaun milik Pertubuhan.,
Change Abbreviation,Perubahan Singkatan,
Parent Company,Syarikat induk,
Default Values,Nilai lalai,
Default Holiday List,Default Senarai Holiday,
Default Selling Terms,Syarat Jualan Default,
Default Buying Terms,Syarat Pembelian Lalai,
Create Chart Of Accounts Based On,Buat carta akaun Based On,
Standard Template,Template standard,
Existing Company,Syarikat Sedia Ada,
Chart Of Accounts Template,Carta Of Akaun Template,
Existing Company ,Syarikat yang sedia ada,
Date of Establishment,tarikh ditubuhkan,
Sales Settings,Tetapan Jualan,
Monthly Sales Target,Sasaran Jualan Bulanan,
Sales Monthly History,Sejarah Bulanan Jualan,
Transactions Annual History,Transaksi Sejarah Tahunan,
Total Monthly Sales,Jumlah Jualan Bulanan,
Default Cash Account,Akaun Tunai Default,
Default Receivable Account,Default Akaun Belum Terima,
Round Off Cost Center,Bundarkan PTJ,
Discount Allowed Account,Diskaun Akaun Dibenarkan,
Discount Received Account,Diskaun Diskaun Akaun,
Exchange Gain / Loss Account,Exchange Gain Akaun / Kerugian,
Unrealized Exchange Gain/Loss Account,Akaun Untung Rugi / Rugi yang belum direalisasikan,
Allow Account Creation Against Child Company,Benarkan Penciptaan Akaun Terhadap Syarikat Kanak-Kanak,
Default Payable Account,Default Akaun Belum Bayar,
Default Employee Advance Account,Akaun Advance Pekerja Awal,
Default Cost of Goods Sold Account,Kos Default Akaun Barangan Dijual,
Default Income Account,Akaun Pendapatan Default,
Default Deferred Revenue Account,Akaun Hasil Tertunda lalai,
Default Deferred Expense Account,Akaun Perbelanjaan Tertunda lalai,
Default Payroll Payable Account,Lalai Payroll Akaun Kena Bayar,
Default Expense Claim Payable Account,Tuntutan Hutang Tuntutan Dibayar Akaun,
Stock Settings,Tetapan saham,
Enable Perpetual Inventory,Membolehkan Inventori kekal,
Default Inventory Account,Akaun Inventori lalai,
Stock Adjustment Account,Akaun Pelarasan saham,
Fixed Asset Depreciation Settings,Aset Tetap Tetapan Susutnilai,
Series for Asset Depreciation Entry (Journal Entry),Siri untuk Entri Penyusutan Aset (Kemasukan Jurnal),
Gain/Loss Account on Asset Disposal,Akaun Keuntungan / Kerugian daripada Pelupusan Aset,
Asset Depreciation Cost Center,Aset Pusat Susutnilai Kos,
Budget Detail,Detail bajet,
Exception Budget Approver Role,Peranan Pendekatan Anggaran Pengecualian,
Company Info,Maklumat Syarikat,
For reference only.,Untuk Rujukan Sahaja.,
Company Logo,Logo syarikat,
Date of Incorporation,Tarikh diperbadankan,
Date of Commencement,Tarikh permulaan,
Phone No,Telefon No,
Company Description,Penerangan Syarikat,
Registration Details,Butiran Pendaftaran,
Company registration numbers for your reference. Tax numbers etc.,Nombor pendaftaran syarikat untuk rujukan anda. Nombor cukai dan lain-lain,
Delete Company Transactions,Padam Transaksi Syarikat,
Currency Exchange,Pertukaran mata wang,
Specify Exchange Rate to convert one currency into another,Nyatakan Kadar Pertukaran untuk menukar satu matawang kepada yang lain,
From Currency,Dari Mata Wang,
To Currency,Untuk Mata Wang,
For Buying,Untuk Membeli,
For Selling,Untuk Jualan,
Customer Group Name,Nama Kumpulan Pelanggan,
Parent Customer Group,Ibu Bapa Kumpulan Pelanggan,
Only leaf nodes are allowed in transaction,Hanya nod daun dibenarkan dalam urus niaga,
Mention if non-standard receivable account applicable,Sebut jika akaun belum terima tidak standard yang diguna pakai,
Credit Limits,Had Kredit,
Email Digest,E-mel Digest,
Send regular summary reports via Email.,Hantar laporan ringkasan tetap melalui E-mel.,
Email Digest Settings,E-mel Tetapan Digest,
How frequently?,Berapa kerap?,
Next email will be sent on:,E-mel seterusnya akan dihantar pada:,
Note: Email will not be sent to disabled users,Nota: Email tidak akan dihantar kepada pengguna kurang upaya,
Profit & Loss,Untung rugi,
New Income,Pendapatan New,
New Expenses,Perbelanjaan baru,
Annual Income,Pendapatan tahunan,
Annual Expenses,Perbelanjaan tahunan,
Bank Balance,Baki Bank,
Bank Credit Balance,Baki Kredit Bank,
Receivables,Penghutang,
Payables,Pemiutang,
Sales Orders to Bill,Pesanan Jualan kepada Rang Undang-Undang,
Purchase Orders to Bill,Pesanan Belian kepada Rang Undang-Undang,
New Sales Orders,New Jualan Pesanan,
New Purchase Orders,Pesanan Pembelian baru,
Sales Orders to Deliver,Pesanan Jualan untuk Dihantar,
Purchase Orders to Receive,Pesanan Pembelian untuk Menerima,
New Purchase Invoice,Invois Pembelian Baru,
New Quotations,Sebut Harga baru,
Open Quotations,Buka Sebut Harga,
Open Issues,Isu terbuka,
Open Projects,Buka Projek,
Purchase Orders Items Overdue,Item pesanan pembelian tertunggak,
Upcoming Calendar Events,Acara Kalendar Akan Datang,
Open To Do,Terbuka Untuk Dilakukan,
Add Quote,Tambah Quote,
Global Defaults,Lalai Global,
Default Company,Syarikat Default,
Current Fiscal Year,Fiskal Tahun Semasa,
Default Distance Unit,Unit Jarak Jauh,
Hide Currency Symbol,Menyembunyikan Simbol mata wang,
Do not show any symbol like $ etc next to currencies.,Tidak menunjukkan apa-apa simbol seperti $ dsb sebelah mata wang.,
"If disable, 'Rounded Total' field will not be visible in any transaction","Jika kurang upaya, bidang &#39;Bulat Jumlah&#39; tidak akan dapat dilihat dalam mana-mana transaksi",
Disable In Words,Matikan Dalam Perkataan,
"If disable, 'In Words' field will not be visible in any transaction","Jika melumpuhkan, &#39;Dalam Perkataan&#39; bidang tidak akan dapat dilihat dalam mana-mana transaksi",
Item Classification,Item Klasifikasi,
General Settings,Tetapan umum,
Item Group Name,Perkara Kumpulan Nama,
Parent Item Group,Ibu Bapa Item Kumpulan,
Item Group Defaults,Default Kumpulan Item,
Item Tax,Perkara Cukai,
Check this if you want to show in website,Semak ini jika anda mahu untuk menunjukkan di laman web,
Show this slideshow at the top of the page,Menunjukkan tayangan gambar ini di bahagian atas halaman,
HTML / Banner that will show on the top of product list.,HTML / Banner yang akan muncul di bahagian atas senarai produk.,
Set prefix for numbering series on your transactions,Terletak awalan untuk penomboran siri transaksi anda,
Setup Series,Persediaan Siri,
Select Transaction,Pilih Transaksi,
Help HTML,Bantuan HTML,
Series List for this Transaction,Senarai Siri bagi Urusniaga ini,
User must always select,Pengguna perlu sentiasa pilih,
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Semak ini jika anda mahu untuk memaksa pengguna untuk memilih siri sebelum menyimpan. Tidak akan ada lalai jika anda mendaftar ini.,
Update Series,Update Siri,
Change the starting / current sequence number of an existing series.,Menukar nombor yang bermula / semasa urutan siri yang sedia ada.,
Prefix,Awalan,
Current Value,Nilai semasa,
This is the number of the last created transaction with this prefix,Ini ialah bilangan transaksi terakhir yang dibuat dengan awalan ini,
Update Series Number,Update Siri Nombor,
Quotation Lost Reason,Sebut Harga Hilang Akal,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Seorang pengedar pihak ketiga / peniaga / ejen / kenalan / penjual semula yang menjual produk syarikat untuk komisen.,
Sales Partner Name,Nama Rakan Jualan,
Partner Type,Rakan Jenis,
Address & Contacts,Alamat Kenalan,
Address Desc,Alamat Deskripsi,
Contact Desc,Hubungi Deskripsi,
Sales Partner Target,Jualan Rakan Sasaran,
Targets,Sasaran,
Show In Website,Show Dalam Laman Web,
Referral Code,Kod rujukan,
To Track inbound purchase,Untuk menjejaki pembelian masuk,
Logo,Logo,
Partner website,laman web rakan kongsi,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Semua Transaksi Jualan boleh tagged terhadap pelbagai ** Jualan Orang ** supaya anda boleh menetapkan dan memantau sasaran.,
Name and Employee ID,Nama dan ID Pekerja,
Sales Person Name,Orang Jualan Nama,
Parent Sales Person,Orang Ibu Bapa Jualan,
Select company name first.,Pilih nama syarikat pertama.,
Sales Person Targets,Sasaran Orang Jualan,
Set targets Item Group-wise for this Sales Person.,Sasaran yang ditetapkan Perkara Kumpulan-bijak untuk Orang Jualan ini.,
Supplier Group Name,Nama Kumpulan Pembekal,
Parent Supplier Group,Kumpulan Pembekal Ibu Bapa,
Target Detail,Detail Sasaran,
Target Qty,Sasaran Qty,
Target  Amount,Sasaran Jumlah,
Target Distribution,Pengagihan Sasaran,
"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.","Terma dan Syarat Standard yang boleh ditambah untuk Jualan dan Pembelian. Contoh: 1. Kesahan tawaran itu. 1. Terma Pembayaran (Dalam Advance, Mengenai Kredit, bahagian pendahuluan dan lain-lain). 1. Apakah tambahan (atau perlu dibayar oleh Pelanggan). 1. Keselamatan amaran / penggunaan. 1. Waranti jika ada. 1. Kembali Polisi. 1. Syarat-syarat penghantaran, jika berkenaan. 1. Cara-cara menangani pertikaian, tanggung rugi, kerugian, dan lain-lain 1. Alamat dan Contact Syarikat anda.",
Applicable Modules,Modul yang berkenaan,
Terms and Conditions Help,Terma dan Syarat Bantuan,
Classification of Customers by region,Pengelasan Pelanggan mengikut wilayah,
Territory Name,Wilayah Nama,
Parent Territory,Wilayah Ibu Bapa,
Territory Manager,Pengurus Wilayah,
For reference,Untuk rujukan,
Territory Targets,Sasaran Wilayah,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Perkara Set Kumpulan segi belanjawan di Wilayah ini. Juga boleh bermusim dengan menetapkan Pengedaran.,
UOM Name,Nama UOM,
Check this to disallow fractions. (for Nos),Semak ini untuk tidak membenarkan pecahan. (Untuk Nos),
Website Item Group,Laman Web Perkara Kumpulan,
Cross Listing of Item in multiple groups,Penyenaraian rentas Item dalam pelbagai kumpulan,
Default settings for Shopping Cart,Tetapan lalai untuk Troli Beli Belah,
Enable Shopping Cart,Membolehkan Troli,
Display Settings,Tetapan Paparan,
Show Public Attachments,Tunjuk Lampiran Awam,
Show Price,Tunjukkan Harga,
Show Stock Availability,Tunjukkan Ketersediaan Saham,
Show Contact Us Button,Tunjukkan Butang Hubungi Kami,
Show Stock Quantity,Tunjukkan Kuantiti Stok,
Show Apply Coupon Code,Paparkan Memohon Kod Kupon,
Allow items not in stock to be added to cart,Benarkan item yang tidak ada dalam stok untuk dimasukkan ke dalam troli,
Prices will not be shown if Price List is not set,Harga tidak akan dipaparkan jika Senarai Harga tidak ditetapkan,
Quotation Series,Sebutharga Siri,
Checkout Settings,Tetapan Checkout,
Enable Checkout,membolehkan Checkout,
Payment Success Url,Pembayaran URL Kejayaan,
After payment completion redirect user to selected page.,Setelah selesai pembayaran mengarahkan pengguna ke halaman yang dipilih.,
Batch Details,Butiran Kumpulan,
Batch ID,ID Batch,
image,imej,
Parent Batch,Batch ibubapa,
Manufacturing Date,Tarikh Pembuatan,
Batch Quantity,Kuantiti Kumpulan,
Batch UOM,Kumpulan UOM,
Source Document Type,Source Jenis Dokumen,
Source Document Name,Source Document Nama,
Batch Description,Batch Penerangan,
Bin,Bin,
Reserved Quantity,Cipta Terpelihara Kuantiti,
Actual Quantity,Kuantiti sebenar,
Requested Quantity,diminta Kuantiti,
Reserved Qty for sub contract,Dicadangkan Qty untuk sub kontrak,
Moving Average Rate,Bergerak Kadar Purata,
FCFS Rate,Kadar FCFS,
Customs Tariff Number,Kastam Nombor Tarif,
Tariff Number,Nombor tarif,
Delivery To,Penghantaran Untuk,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,Tempat kembalinya,
Issue Credit Note,Nota Kredit Terbitan,
Return Against Delivery Note,Kembali Terhadap Penghantaran Nota,
Customer's Purchase Order No,Pelanggan Pesanan Pembelian No,
Billing Address Name,Bil Nama Alamat,
Required only for sample item.,Diperlukan hanya untuk item sampel.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Jika anda telah mencipta satu template standard dalam Jualan Cukai dan Caj Template, pilih satu dan klik pada butang di bawah.",
In Words will be visible once you save the Delivery Note.,Dalam Perkataan akan dapat dilihat selepas anda menyimpan Nota Penghantaran.,
In Words (Export) will be visible once you save the Delivery Note.,Dalam Perkataan (Eksport) akan dapat dilihat selepas anda menyimpan Nota Penghantaran.,
Transporter Info,Maklumat Transporter,
Driver Name,Nama Pemandu,
Track this Delivery Note against any Project,Jejaki Penghantaran Nota ini terhadap mana-mana Projek,
Inter Company Reference,Rujukan Syarikat Antara,
Print Without Amount,Cetak Tanpa Jumlah,
% Installed,% Dipasang,
% of materials delivered against this Delivery Note,% bahan-bahan yang dihantar untuk Nota Penghantaran ini,
Installation Status,Pemasangan Status,
Excise Page Number,Eksais Bilangan Halaman,
Instructions,Arahan,
From Warehouse,Dari Gudang,
Against Sales Order,Terhadap Perintah Jualan,
Against Sales Order Item,Terhadap Sales Order Item,
Against Sales Invoice,Terhadap Invois Jualan,
Against Sales Invoice Item,Terhadap Jualan Invois Perkara,
Available Batch Qty at From Warehouse,Disediakan Kuantiti Batch di Dari Gudang,
Available Qty at From Warehouse,Kuantiti Boleh didapati di Dari Gudang,
Delivery Settings,Tetapan Penghantaran,
Dispatch Settings,Tetapan Pengiriman,
Dispatch Notification Template,Templat Pemberitahuan Penghantaran,
Dispatch Notification Attachment,Lampiran Pemberitahuan Penghantaran,
Leave blank to use the standard Delivery Note format,Biarkan kosong untuk menggunakan format Nota Penghantaran standard,
Send with Attachment,Hantar dengan Lampiran,
Delay between Delivery Stops,Kelewatan antara Penghantaran Penghantaran,
Delivery Stop,Stop Penghantaran,
Lock,Kunci,
Visited,Dikunjungi,
Order Information,Maklumat Pesanan,
Contact Information,Maklumat perhubungan,
Email sent to,E-mel Dihantar Untuk,
Dispatch Information,Maklumat Penghantaran,
Estimated Arrival,jangkaan ketibaan,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Pemberitahuan E-mel Awal Dihantar,
Delivery Details,Penghantaran Details,
Driver Email,E-mel Pemandu,
Driver Address,Alamat Pemandu,
Total Estimated Distance,Jumlah Anggaran,
Distance UOM,Jarak UOM,
Departure Time,Masa berlepas,
Delivery Stops,Hentikan Penghantaran,
Calculate Estimated Arrival Times,Kira Anggaran Masa Kedatangan,
Use Google Maps Direction API to calculate estimated arrival times,Gunakan API Arah Arah Google untuk mengira anggaran masa ketibaan,
Optimize Route,Mengoptimumkan laluan,
Use Google Maps Direction API to optimize route,Gunakan API Arah Arah Google untuk mengoptimumkan laluan,
In Transit,Dalam Transit,
Fulfillment User,Pengguna Sepenuh,
"A Product or a Service that is bought, sold or kept in stock.","Satu Produk atau Perkhidmatan yang dibeli, dijual atau disimpan dalam stok.",
STO-ITEM-.YYYY.-,STO-ITEM-.YYYY.-,
Variant Of,Varian Dari,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Jika item adalah variasi yang lain item maka penerangan, gambar, harga, cukai dan lain-lain akan ditetapkan dari template melainkan jika dinyatakan secara jelas",
Is Item from Hub,Adakah Item dari Hub,
Default Unit of Measure,Unit keingkaran Langkah,
Maintain Stock,Mengekalkan Stok,
Standard Selling Rate,Kadar Jualan Standard,
Auto Create Assets on Purchase,Auto Create Assets on Purchase,
Asset Naming Series,Siri Penamaan Aset,
Over Delivery/Receipt Allowance (%),Lebih Elaun / Elaun Resit (%),
Barcodes,Barcode,
Shelf Life In Days,Shelf Life In Days,
End of Life,Akhir Hayat,
Default Material Request Type,Lalai Bahan Jenis Permintaan,
Valuation Method,Kaedah Penilaian,
FIFO,FIFO,
Moving Average,Purata bergerak,
Warranty Period (in days),Tempoh jaminan (dalam hari),
Auto re-order,Auto semula perintah,
Reorder level based on Warehouse,Tahap pesanan semula berdasarkan Warehouse,
Will also apply for variants unless overrridden,Juga akan memohon varian kecuali overrridden,
Units of Measure,Unit ukuran,
Will also apply for variants,Juga akan memohon varian,
Serial Nos and Batches,Serial Nos dan Kelompok,
Has Batch No,Mempunyai Batch No,
Automatically Create New Batch,Secara automatik Buat Batch New,
Batch Number Series,Siri Nombor Kumpulan,
"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.","Contoh: ABCD. #####. Jika siri ditetapkan dan No Batch tidak disebutkan dalam urus niaga, maka nombor batch automatik akan dibuat berdasarkan siri ini. Sekiranya anda sentiasa ingin menyatakan secara terperinci Batch No untuk item ini, biarkan kosong ini. Nota: tetapan ini akan diberi keutamaan di atas Prefix Prefix Prefix dalam Tetapan Stok.",
Has Expiry Date,Telah Tarikh Luput,
Retain Sample,Kekalkan Sampel,
Max Sample Quantity,Kuantiti Sampel Maksima,
Maximum sample quantity that can be retained,Kuantiti maksimum sampel yang dapat dikekalkan,
Has Serial No,Mempunyai No Siri,
Serial Number Series,Nombor Siri Siri,
"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.","Contoh:. ABCD ##### Jika siri ditetapkan dan No Serial tidak disebut dalam urus niaga, nombor siri maka automatik akan diwujudkan berdasarkan siri ini. Jika anda sentiasa mahu dengan jelas menyebut Serial No untuk item ini. kosongkan ini.",
Variants,Kelainan,
Has Variants,Mempunyai Kelainan,
"If this item has variants, then it cannot be selected in sales orders etc.","Jika perkara ini mempunyai varian, maka ia tidak boleh dipilih dalam pesanan jualan dan lain-lain",
Variant Based On,Based On Variant,
Item Attribute,Perkara Sifat,
"Sales, Purchase, Accounting Defaults","Jualan, Pembelian, Default Perakaunan",
Item Defaults,Default Item,
"Purchase, Replenishment Details","Pembelian, Butiran Penambahan",
Is Purchase Item,Adalah Pembelian Item,
Default Purchase Unit of Measure,Unit Pembelian Lalai Ukuran,
Minimum Order Qty,Minimum Kuantiti Pesanan,
Minimum quantity should be as per Stock UOM,Kuantiti minimum harus seperti Saham UOM,
Average time taken by the supplier to deliver,Purata masa yang diambil oleh pembekal untuk menyampaikan,
Is Customer Provided Item,Adakah Pelanggan disediakan Perkara,
Delivered by Supplier (Drop Ship),Dihantar oleh Pembekal (Drop Ship),
Supplier Items,Item Pembekal,
Foreign Trade Details,Maklumat Perdagangan Luar Negeri,
Country of Origin,Negara asal,
Sales Details,Jualan Butiran,
Default Sales Unit of Measure,Unit Jualan Kesilapan,
Is Sales Item,Adalah Item Jualan,
Max Discount (%),Max Diskaun (%),
No of Months,Tiada Bulan,
Customer Items,Item Pelanggan,
Inspection Criteria,Kriteria Pemeriksaan,
Inspection Required before Purchase,Pemeriksaan yang diperlukan sebelum Pembelian,
Inspection Required before Delivery,Pemeriksaan yang diperlukan sebelum penghantaran,
Default BOM,BOM Default,
Supply Raw Materials for Purchase,Bahan mentah untuk bekalan Pembelian,
If subcontracted to a vendor,Jika subkontrak kepada vendor,
Customer Code,Kod Pelanggan,
Default Item Manufacturer,Pengilang Barang Lalai,
Default Manufacturer Part No,Bahagian Pengeluar Lalai No.,
Show in Website (Variant),Show di Laman web (Variant),
Items with higher weightage will be shown higher,Item dengan wajaran yang lebih tinggi akan ditunjukkan tinggi,
Show a slideshow at the top of the page,Menunjukkan tayangan slaid di bahagian atas halaman,
Website Image,Imej Laman Web,
Website Warehouse,Laman Web Gudang,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Menunjukkan &quot;Pada Saham&quot; atau &quot;Tidak dalam Saham&quot; berdasarkan saham yang terdapat di gudang ini.,
Website Item Groups,Kumpulan Website Perkara,
List this Item in multiple groups on the website.,Senarai Item ini dalam pelbagai kumpulan di laman web.,
Copy From Item Group,Salinan Dari Perkara Kumpulan,
Website Content,Kandungan Laman Web,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Anda boleh menggunakan markup Bootstrap 4 yang sah dalam medan ini. Ia akan ditunjukkan pada Halaman Item anda.,
Total Projected Qty,Jumlah unjuran Qty,
Hub Publishing Details,Butiran Penerbitan Hab,
Publish in Hub,Menyiarkan dalam Hab,
Publish Item to hub.erpnext.com,Terbitkan Perkara untuk hub.erpnext.com,
Hub Category to Publish,Kategori Hub untuk Terbitkan,
Hub Warehouse,Gudang Hub,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Terbitkan &quot;Dalam Stok&quot; atau &quot;Tidak Ada Stok&quot; di Hab berdasarkan stok yang terdapat di gudang ini.,
Synced With Hub,Segerakkan Dengan Hub,
Item Alternative,Alternatif Perkara,
Alternative Item Code,Kod Item Alternatif,
Two-way,Dua hala,
Alternative Item Name,Nama Item Alternatif,
Attribute Name,Atribut Nama,
Numeric Values,Nilai-nilai berangka,
From Range,Dari Range,
Increment,Kenaikan,
To Range,Untuk Julat,
Item Attribute Values,Nilai Perkara Sifat,
Item Attribute Value,Perkara Atribut Nilai,
Attribute Value,Atribut Nilai,
Abbreviation,Singkatan,
"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""","Ini akan dilampirkan Kod Item bagi varian. Sebagai contoh, jika anda adalah singkatan &quot;SM&quot;, dan kod item adalah &quot;T-SHIRT&quot;, kod item varian akan &quot;T-SHIRT-SM&quot;",
Item Barcode,Item Barcode,
Barcode Type,Jenis Barcode,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Item Pelanggan Detail,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Untuk kemudahan pelanggan, kod-kod ini boleh digunakan dalam format cetak seperti Invois dan Nota Penghantaran",
Ref Code,Ref Kod,
Item Default,Default Item,
Purchase Defaults,Pembelian Lalai,
Default Buying Cost Center,Default Membeli Kos Pusat,
Default Supplier,Pembekal Default,
Default Expense Account,Akaun Perbelanjaan Default,
Sales Defaults,Default Jualan,
Default Selling Cost Center,Default Jualan Kos Pusat,
Item Manufacturer,Perkara Manufacturer,
Item Price,Perkara Harga,
Packing Unit,Unit Pembungkusan,
Quantity  that must be bought or sold per UOM,Kuantiti yang mesti dibeli atau dijual setiap UOM,
Item Quality Inspection Parameter,Perkara Kualiti Pemeriksaan Parameter,
Acceptance Criteria,Kriteria Penerimaan,
Item Reorder,Perkara Reorder,
Check in (group),Daftar-masuk (kumpulan),
Request for,Minta,
Re-order Level,Re-Order Level,
Re-order Qty,Re-Order Qty,
Item Supplier,Perkara Pembekal,
Item Variant,Perkara Varian,
Item Variant Attribute,Perkara Variant Sifat,
Do not update variants on save,Jangan mengemas kini variasi semasa menyimpan,
Fields will be copied over only at time of creation.,Bidang akan disalin hanya pada waktu penciptaan.,
Allow Rename Attribute Value,Benarkan Namakan Nilai Atribut,
Rename Attribute Value in Item Attribute.,Namakan semula Nilai Atribut dalam Atribut Item.,
Copy Fields to Variant,Salin Medan ke Varians,
Item Website Specification,Spesifikasi Item Laman Web,
Table for Item that will be shown in Web Site,Jadual untuk Perkara yang akan dipaparkan dalam Laman Web,
Landed Cost Item,Tanah Kos Item,
Receipt Document Type,Resit Jenis Dokumen,
Receipt Document,Dokumen penerimaan,
Applicable Charges,Caj yang dikenakan,
Purchase Receipt Item,Pembelian Penerimaan Perkara,
Landed Cost Purchase Receipt,Kos mendarat Pembelian Resit,
Landed Cost Taxes and Charges,Cukai Tanah Kos dan Caj,
Landed Cost Voucher,Baucer Kos mendarat,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Resit Pembelian,
Purchase Receipt Items,Item Resit Pembelian,
Get Items From Purchase Receipts,Dapatkan Item Dari Pembelian Terimaan,
Distribute Charges Based On,Mengedarkan Caj Berasaskan,
Landed Cost Help,Tanah Kos Bantuan,
Manufacturers used in Items,Pengeluar yang digunakan dalam Perkara,
Limited to 12 characters,Terhad kepada 12 aksara,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Set Warehouse,Tetapkan Gudang,
Sets 'For Warehouse' in each row of the Items table.,Tetapkan &#39;Untuk Gudang&#39; di setiap baris jadual Item.,
Requested For,Diminta Untuk,
Partially Ordered,Diperintahkan Sebahagian,
Transferred,dipindahkan,
% Ordered,% Mengarahkan,
Terms and Conditions Content,Terma dan Syarat Kandungan,
Quantity and Warehouse,Kuantiti dan Gudang,
Lead Time Date,Lead Tarikh Masa,
Min Order Qty,Min Order Qty,
Packed Item,Makan Perkara,
To Warehouse (Optional),Untuk Gudang (pilihan),
Actual Batch Quantity,Kuantiti Batch sebenar,
Prevdoc DocType,Prevdoc DOCTYPE,
Parent Detail docname,Detail Ibu Bapa docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Menjana slip pembungkusan untuk pakej yang akan dihantar. Digunakan untuk memberitahu jumlah pakej, kandungan pakej dan berat.",
Indicates that the package is a part of this delivery (Only Draft),Menunjukkan bahawa pakej itu adalah sebahagian daripada penghantaran ini (Hanya Draf),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Dari Pakej No.,
Identification of the package for the delivery (for print),Pengenalan pakej untuk penghantaran (untuk cetak),
To Package No.,Untuk Pakej No.,
If more than one package of the same type (for print),Jika lebih daripada satu bungkusan dari jenis yang sama (untuk cetak),
Package Weight Details,Pakej Berat Butiran,
The net weight of this package. (calculated automatically as sum of net weight of items),Berat bersih pakej ini. (Dikira secara automatik sebagai jumlah berat bersih item),
Net Weight UOM,Berat UOM bersih,
Gross Weight,Berat kasar,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Berat kasar pakej. Biasanya berat bersih + pembungkusan berat badan yang ketara. (Untuk cetak),
Gross Weight UOM,Berat kasar UOM,
Packing Slip Item,Pembungkusan Slip Perkara,
DN Detail,Detail DN,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Pemindahan Bahan untuk Pembuatan,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Qty bahan mentah akan diputuskan berdasarkan qty Item Barang Selesai,
Parent Warehouse,Warehouse Ibu Bapa,
Items under this warehouse will be suggested,Item di bawah gudang ini akan dicadangkan,
Get Item Locations,Dapatkan Lokasi Item,
Item Locations,Lokasi Item,
Pick List Item,Pilih Senarai Item,
Picked Qty,Dikenali Qty,
Price List Master,Senarai Harga Master,
Price List Name,Senarai Harga Nama,
Price Not UOM Dependent,Harga tidak bergantung kepada UOM,
Applicable for Countries,Digunakan untuk Negara,
Price List Country,Senarai harga Negara,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Nota Penghantaran Pembekal,
Time at which materials were received,Masa di mana bahan-bahan yang telah diterima,
Return Against Purchase Receipt,Kembali Terhadap Resit Pembelian,
Rate at which supplier's currency is converted to company's base currency,Kadar di mana pembekal mata wang ditukar kepada mata wang asas syarikat,
Sets 'Accepted Warehouse' in each row of the items table.,Menetapkan &#39;Gudang yang Diterima&#39; di setiap baris jadual item.,
Sets 'Rejected Warehouse' in each row of the items table.,Menetapkan &#39;Gudang Ditolak&#39; di setiap baris jadual item.,
Raw Materials Consumed,Bahan Mentah Digunakan,
Get Current Stock,Dapatkan Saham Semasa,
Consumed Items,Barang yang Digunakan,
Add / Edit Taxes and Charges,Tambah / Edit Cukai dan Caj,
Auto Repeat Detail,Butiran Ulang Auto,
Transporter Details,Butiran Transporter,
Vehicle Number,Bilangan Kenderaan,
Vehicle Date,Kenderaan Tarikh,
Received and Accepted,Diterima dan Diterima,
Accepted Quantity,Kuantiti Diterima,
Rejected Quantity,Ditolak Kuantiti,
Accepted Qty as per Stock UOM,Diterima Kuantiti mengikut Stok UOM,
Sample Quantity,Contoh Kuantiti,
Rate and Amount,Kadar dan Jumlah,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Laporan Tarikh,
Inspection Type,Jenis Pemeriksaan,
Item Serial No,Item No Serial,
Sample Size,Saiz Sampel,
Inspected By,Diperiksa oleh,
Readings,Bacaan,
Quality Inspection Reading,Kualiti Pemeriksaan Reading,
Reading 1,Membaca 1,
Reading 2,Membaca 2,
Reading 3,Membaca 3,
Reading 4,Membaca 4,
Reading 5,Membaca 5,
Reading 6,Membaca 6,
Reading 7,Membaca 7,
Reading 8,Membaca 8,
Reading 9,Membaca 9,
Reading 10,Membaca 10,
Quality Inspection Template Name,Nama Templat Pemeriksaan Kualiti,
Quick Stock Balance,Baki Stok Pantas,
Available Quantity,Kuantiti yang ada,
Distinct unit of an Item,Unit yang berbeza Perkara yang,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Gudang hanya boleh ditukar melalui Saham Entry / Penghantaran Nota / Resit Pembelian,
Purchase / Manufacture Details,Pembelian / Butiran Pembuatan,
Creation Document Type,Penciptaan Dokumen Jenis,
Creation Document No,Penciptaan Dokumen No,
Creation Date,Tarikh penciptaan,
Creation Time,Penciptaan Masa,
Asset Details,Butiran Aset,
Asset Status,Status Aset,
Delivery Document Type,Penghantaran Dokumen Jenis,
Delivery Document No,Penghantaran Dokumen No,
Delivery Time,Masa penghantaran,
Invoice Details,Butiran invois,
Warranty / AMC Details,Waranti / AMC Butiran,
Warranty Expiry Date,Waranti Tarikh Luput,
AMC Expiry Date,AMC Tarikh Tamat,
Under Warranty,Di bawah Waranti,
Out of Warranty,Daripada Waranti,
Under AMC,Di bawah AMC,
Out of AMC,Daripada AMC,
Warranty Period (Days),Tempoh Waranti (Hari),
Serial No Details,Serial No Butiran,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Jenis Kemasukan Saham,
Stock Entry (Outward GIT),Kemasukan Saham (Outward GIT),
Material Consumption for Manufacture,Penggunaan Bahan untuk Pembuatan,
Repack,Membungkus semula,
Send to Subcontractor,Hantar ke Subkontraktor,
Delivery Note No,Penghantaran Nota Tiada,
Sales Invoice No,Jualan Invois No,
Purchase Receipt No,Resit Pembelian No,
Inspection Required,Pemeriksaan Diperlukan,
From BOM,Dari BOM,
For Quantity,Untuk Kuantiti,
As per Stock UOM,Seperti Saham UOM,
Including items for sub assemblies,Termasuk perkara untuk sub perhimpunan,
Default Source Warehouse,Default Sumber Gudang,
Source Warehouse Address,Alamat Gudang Sumber,
Default Target Warehouse,Default Gudang Sasaran,
Target Warehouse Address,Alamat Gudang Sasaran,
Update Rate and Availability,Kadar Update dan Ketersediaan,
Total Incoming Value,Jumlah Nilai masuk,
Total Outgoing Value,Jumlah Nilai Keluar,
Total Value Difference (Out - In),Jumlah Perbezaan Nilai (Out - Dalam),
Additional Costs,Kos Tambahan,
Total Additional Costs,Jumlah Kos Tambahan,
Customer or Supplier Details,Pelanggan atau pembekal dan,
Per Transferred,Per Pindahkan,
Stock Entry Detail,Detail saham Entry,
Basic Rate (as per Stock UOM),Kadar asas (seperti Stock UOM),
Basic Amount,Jumlah Asas,
Additional Cost,Kos tambahan,
Serial No / Batch,Serial No / batch,
BOM No. for a Finished Good Item,BOM No. untuk Perkara Baik Selesai,
Material Request used to make this Stock Entry,Permintaan bahan yang digunakan untuk membuat ini Entry Saham,
Subcontracted Item,Item Subkontrak,
Against Stock Entry,Terhadap Penyertaan Saham,
Stock Entry Child,Anak Masuk Saham,
PO Supplied Item,Item yang Dibekalkan PO,
Reference Purchase Receipt,Resit Pembelian Rujukan,
Stock Ledger Entry,Saham Lejar Entry,
Outgoing Rate,Kadar keluar,
Actual Qty After Transaction,Kuantiti Sebenar Selepas Transaksi,
Stock Value Difference,Nilai saham Perbezaan,
Stock Queue (FIFO),Saham Queue (FIFO),
Is Cancelled,Apakah Dibatalkan,
Stock Reconciliation,Saham Penyesuaian,
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.,Alat ini membantu anda untuk mengemas kini atau yang menetapkan kuantiti dan penilaian stok sistem. Ia biasanya digunakan untuk menyegerakkan nilai sistem dan apa yang benar-benar wujud di gudang anda.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Penyesuaian JSON,
Stock Reconciliation Item,Saham Penyesuaian Perkara,
Before reconciliation,Sebelum perdamaian,
Current Serial No,Serial semasa No,
Current Valuation Rate,Kadar Penilaian semasa,
Current Amount,Jumlah Semasa,
Quantity Difference,kuantiti Perbezaan,
Amount Difference,jumlah Perbezaan,
Item Naming By,Perkara Menamakan Dengan,
Default Item Group,Default Perkara Kumpulan,
Default Stock UOM,Default Saham UOM,
Sample Retention Warehouse,Gudang Retensi Sampel,
Default Valuation Method,Kaedah Penilaian Default,
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.,Peratus anda dibenarkan untuk menerima atau menyampaikan lebih daripada kuantiti yang ditempah. Sebagai contoh: Jika anda telah menempah 100 unit. dan Elaun anda adalah 10% maka anda dibenarkan untuk menerima 110 unit.,
Action if Quality inspection is not submitted,Tindakan jika pemeriksaan kualiti tidak diserahkan,
Show Barcode Field,Show Barcode Field,
Convert Item Description to Clean HTML,Tukar Penerangan Penerangan untuk HTML Bersih,
Auto insert Price List rate if missing,Masukkan Auto Kadar Senarai Harga jika hilang,
Allow Negative Stock,Benarkan Saham Negatif,
Automatically Set Serial Nos based on FIFO,Set Siri Nos secara automatik berdasarkan FIFO,
Set Qty in Transactions based on Serial No Input,Tetapkan Qty dalam Transaksi berdasarkan Serial No Input,
Auto Material Request,Bahan Auto Permintaan,
Raise Material Request when stock reaches re-order level,Meningkatkan Bahan Permintaan apabila saham mencapai tahap semula perintah-,
Notify by Email on creation of automatic Material Request,Memberitahu melalui e-mel pada penciptaan Permintaan Bahan automatik,
Inter Warehouse Transfer Settings,Tetapan Pemindahan Antara Gudang,
Allow Material Transfer From Delivery Note and Sales Invoice,Benarkan Pemindahan Bahan Dari Nota Penghantaran dan Invois Jualan,
Allow Material Transfer From Purchase Receipt and Purchase Invoice,Benarkan Pemindahan Bahan Dari Resit Pembelian dan Invois Pembelian,
Freeze Stock Entries,Freeze Saham Penyertaan,
Stock Frozen Upto,Saham beku Upto,
Freeze Stocks Older Than [Days],Stok Freeze Lama Than [Hari],
Role Allowed to edit frozen stock,Peranan dibenarkan untuk mengedit saham beku,
Batch Identification,Pengenalan Batch,
Use Naming Series,Gunakan Siri Penamaan,
Naming Series Prefix,Naming Prefix Prefix,
UOM Category,UOM Kategori,
UOM Conversion Detail,Detail UOM Penukaran,
Variant Field,Varian Field,
A logical Warehouse against which stock entries are made.,Satu Gudang maya di mana kemasukkan stok dibuat.,
Warehouse Detail,Detail Gudang,
Warehouse Name,Nama Gudang,
Warehouse Contact Info,Gudang info,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Dibangkitkan Oleh (E-mel),
Issue Type,Jenis Isu,
Issue Split From,Terbitan Terbitan Dari,
Service Level,Tahap servis,
Response By,Tanggapan Oleh,
Response By Variance,Tanggapan Mengikut Varians,
Ongoing,Sedang berjalan,
Resolution By,Resolusi Oleh,
Resolution By Variance,Resolusi Mengikut Perbezaan,
Service Level Agreement Creation,Penciptaan Perjanjian Tahap Perkhidmatan,
First Responded On,Pertama Dijawab Pada,
Resolution Details,Resolusi Butiran,
Opening Date,Tarikh pembukaan,
Opening Time,Masa Pembukaan,
Resolution Date,Resolusi Tarikh,
Via Customer Portal,Melalui Portal Pelanggan,
Support Team,Pasukan Sokongan,
Issue Priority,Keutamaan Terbitan,
Service Day,Hari Perkhidmatan,
Workday,Hari kerja,
Default Priority,Keutamaan lalai,
Priorities,Keutamaan,
Support Hours,Waktu sokongan,
Support and Resolution,Sokongan dan Resolusi,
Default Service Level Agreement,Perjanjian Tahap Perkhidmatan Default,
Entity,Entiti,
Agreement Details,Butiran Perjanjian,
Response and Resolution Time,Masa Respon dan Resolusi,
Service Level Priority,Keutamaan Tahap Perkhidmatan,
Resolution Time,Masa Resolusi,
Support Search Source,Sumber Carian Sokongan,
Source Type,Jenis sumber,
Query Route String,Laluan Laluan Permintaan,
Search Term Param Name,Cari Term Nama Param,
Response Options,Pilihan Response,
Response Result Key Path,Laluan Kunci Hasil Tindak Balas,
Post Route String,Laluan Laluan Pos,
Post Route Key List,Senarai Kunci Laluan Pos,
Post Title Key,Kunci Tajuk Utama,
Post Description Key,Post Penerangan Key,
Link Options,Pilihan Pautan,
Source DocType,DocType Sumber,
Result Title Field,Tajuk Tajuk Hasil,
Result Preview Field,Bidaan Pratonton Hasil,
Result Route Field,Bidang Laluan Hasil,
Service Level Agreements,Perjanjian Tahap Perkhidmatan,
Track Service Level Agreement,Perjanjian Tahap Perkhidmatan Track,
Allow Resetting Service Level Agreement,Benarkan Perjanjian Tahap Perkhidmatan Semula,
Close Issue After Days,Tutup Isu Selepas Hari,
Auto close Issue after 7 days,Auto Issue dekat selepas 7 hari,
Support Portal,Portal Sokongan,
Get Started Sections,Memulakan Bahagian,
Show Latest Forum Posts,Tunjukkan Forum Forum Terkini,
Forum Posts,Forum Posts,
Forum URL,URL Forum,
Get Latest Query,Dapatkan Permintaan Terkini,
Response Key List,Senarai Utama Response,
Post Route Key,Kunci Laluan Pos,
Search APIs,API Carian,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Isu Tarikh,
Item and Warranty Details,Perkara dan Jaminan Maklumat,
Warranty / AMC Status,Waranti / AMC Status,
Resolved By,Diselesaikan oleh,
Service Address,Alamat Perkhidmatan,
If different than customer address,Jika berbeza daripada alamat pelanggan,
Raised By,Dibangkitkan Oleh,
From Company,Daripada Syarikat,
Rename Tool,Nama semula Tool,
Utilities,Utiliti,
Type of document to rename.,Jenis dokumen untuk menamakan semula.,
File to Rename,Fail untuk Namakan semula,
"Attach .csv file with two columns, one for the old name and one for the new name","Lampirkan fail csv dengan dua lajur, satu untuk nama lama dan satu untuk nama baru",
Rename Log,Log menamakan semula,
SMS Log,SMS Log,
Sender Name,Nama Pengirim,
Sent On,Dihantar Pada,
No of Requested SMS,Jumlah SMS yang diminta,
Requested Numbers,Nombor diminta,
No of Sent SMS,Bilangan SMS dihantar,
Sent To,Dihantar Kepada,
Absent Student Report,Tidak hadir Laporan Pelajar,
Assessment Plan Status,Status Pelan Penilaian,
Asset Depreciation Ledger,Asset Susutnilai Ledger,
Asset Depreciations and Balances,Penurunan nilai aset dan Baki,
Available Stock for Packing Items,Saham tersedia untuk Item Pembungkusan,
Bank Clearance Summary,Bank Clearance Ringkasan,
Bank Remittance,Penghantaran Bank,
Batch Item Expiry Status,Batch Perkara Status luput,
Batch-Wise Balance History,Batch Bijaksana Baki Sejarah,
BOM Explorer,BOM Explorer,
BOM Search,BOM Search,
BOM Stock Calculated,BOM Stock Calculated,
BOM Variance Report,Laporan Variasi BOM,
Campaign Efficiency,Kecekapan kempen,
Cash Flow,Aliran tunai,
Completed Work Orders,Perintah Kerja yang telah selesai,
To Produce,Hasilkan,
Produced,Dihasilkan,
Consolidated Financial Statement,Penyata Kewangan Disatukan,
Course wise Assessment Report,Laporan Penilaian Kursus bijak,
Customer Acquisition and Loyalty,Perolehan Pelanggan dan Kesetiaan,
Customer Credit Balance,Baki Pelanggan Kredit,
Customer Ledger Summary,Ringkasan Ledger Pelanggan,
Customer-wise Item Price,Harga item pelanggan-bijak,
Customers Without Any Sales Transactions,Pelanggan Tanpa Urus Niaga Jualan,
Daily Timesheet Summary,Ringkasan Timesheet harian,
Daily Work Summary Replies,Balasan Ringkasan Kerja Harian,
DATEV,DATEV,
Delayed Item Report,Laporan Perkara Tertangguh,
Delayed Order Report,Laporan Pesanan yang lewat,
Delivered Items To Be Billed,Item Dihantar dikenakan caj,
Delivery Note Trends,Trend Penghantaran Nota,
Electronic Invoice Register,Daftar Invois Elektronik,
Employee Advance Summary,Ringkasan Majikan Pekerja,
Employee Billing Summary,Ringkasan Bil Pengambilan Pekerja,
Employee Birthday,Pekerja Hari Lahir,
Employee Information,Maklumat Kakitangan,
Employee Leave Balance,Pekerja Cuti Baki,
Employee Leave Balance Summary,Ringkasan Baki Cuti Pekerja,
Employees working on a holiday,Kakitangan yang bekerja pada hari cuti,
Eway Bill,Eway Bill,
Expiring Memberships,Keahlian yang akan tamat tempoh,
Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
Final Assessment Grades,Gred Penilaian Akhir,
Fixed Asset Register,Daftar Aset Tetap,
Gross and Net Profit Report,Laporan Keuntungan Kasar dan Bersih,
GST Itemised Purchase Register,GST Terperinci Pembelian Daftar,
GST Itemised Sales Register,GST Terperinci Sales Daftar,
GST Purchase Register,GST Pembelian Daftar,
GST Sales Register,GST Sales Daftar,
GSTR-1,GSTR-1,
GSTR-2,GSTR-2,
Hotel Room Occupancy,Penghunian Bilik Hotel,
HSN-wise-summary of outward supplies,Ringkasan ringkasan HSN bekalan luar,
Inactive Customers,Pelanggan aktif,
Inactive Sales Items,Item Jualan Tidak Aktif,
IRS 1099,IRS 1099,
Issued Items Against Work Order,Item Terbitan Terhadap Perintah Kerja,
Projected Quantity as Source,Kuantiti Unjuran sebagai Sumber,
Item Balance (Simple),Baki Item (Mudah),
Item Price Stock,Harga Harga Saham,
Item Prices,Harga Item,
Item Shortage Report,Perkara Kekurangan Laporan,
Item Variant Details,Butiran Varian Item,
Item-wise Price List Rate,Senarai Harga Kadar Perkara-bijak,
Item-wise Purchase History,Perkara-bijak Pembelian Sejarah,
Item-wise Purchase Register,Perkara-bijak Pembelian Daftar,
Item-wise Sales History,Perkara-bijak Sejarah Jualan,
Item-wise Sales Register,Perkara-bijak Jualan Daftar,
Items To Be Requested,Item Akan Diminta,
Reserved,Cipta Terpelihara,
Itemwise Recommended Reorder Level,Itemwise lawatan Reorder Level,
Lead Details,Butiran Lead,
Lead Owner Efficiency,Lead Owner Kecekapan,
Loan Repayment and Closure,Bayaran Balik dan Penutupan Pinjaman,
Loan Security Status,Status Keselamatan Pinjaman,
Lost Opportunity,Kesempatan Hilang,
Maintenance Schedules,Jadual Penyelenggaraan,
Material Requests for which Supplier Quotations are not created,Permintaan bahan yang mana Sebutharga Pembekal tidak dicipta,
Monthly Attendance Sheet,Lembaran Kehadiran Bulanan,
Open Work Orders,Perintah Kerja Terbuka,
Qty to Deliver,Qty untuk Menyampaikan,
Patient Appointment Analytics,Analisis Temujanji Pesakit,
Payment Period Based On Invoice Date,Tempoh Pembayaran Berasaskan Tarikh Invois,
Pending SO Items For Purchase Request,Sementara menunggu SO Item Untuk Pembelian Permintaan,
Procurement Tracker,Tracker Perolehan,
Product Bundle Balance,Baki Bundle Produk,
Production Analytics,Analytics pengeluaran,
Profit and Loss Statement,Penyata Untung dan Rugi,
Profitability Analysis,Analisis keuntungan,
Project Billing Summary,Ringkasan Pengebilan Projek,
Project wise Stock Tracking,Penjejakan Stok yang bijak,
Project wise Stock Tracking ,Projek Landasan Saham bijak,
Prospects Engaged But Not Converted,Prospek Terlibat Tetapi Tidak Ditukar,
Purchase Analytics,Analytics Pembelian,
Purchase Invoice Trends,Membeli Trend Invois,
Qty to Receive,Qty untuk Menerima,
Received Qty Amount,Menerima Jumlah Qty,
Billed Qty,Dibilkan Qty,
Purchase Order Trends,Membeli Trend Pesanan,
Purchase Receipt Trends,Trend Resit Pembelian,
Purchase Register,Pembelian Daftar,
Quotation Trends,Trend Sebut Harga,
Quoted Item Comparison,Perkara dipetik Perbandingan,
Received Items To Be Billed,Barangan yang diterima dikenakan caj,
Qty to Order,Qty Aturan,
Requested Items To Be Transferred,Item yang diminta Akan Dipindahkan,
Qty to Transfer,Qty untuk Pemindahan,
Salary Register,gaji Daftar,
Sales Analytics,Jualan Analytics,
Sales Invoice Trends,Sales Trend Invois,
Sales Order Trends,Trend Pesanan Jualan,
Sales Partner Commission Summary,Ringkasan Suruhanjaya Rakan Kongsi Jualan,
Sales Partner Target Variance based on Item Group,Variasi Target Rakan Kongsi Jualan berdasarkan Kumpulan Item,
Sales Partner Transaction Summary,Ringkasan Transaksi Mitra Jualan,
Sales Partners Commission,Pasangan Jualan Suruhanjaya,
Invoiced Amount (Exclusive Tax),Amaun yang Diinvois (Cukai Eksklusif),
Average Commission Rate,Purata Kadar Suruhanjaya,
Sales Payment Summary,Ringkasan Pembayaran Jualan,
Sales Person Commission Summary,Ringkasan Suruhanjaya Orang Jualan,
Sales Person Target Variance Based On Item Group,Penjualan Individu Penjualan Berdasarkan Berdasarkan Kumpulan Item,
Sales Person-wise Transaction Summary,Jualan Orang-bijak Transaksi Ringkasan,
Sales Register,Jualan Daftar,
Serial No Service Contract Expiry,Serial No Kontrak Perkhidmatan tamat,
Serial No Status,Serial No Status,
Serial No Warranty Expiry,Serial Tiada Jaminan tamat,
Stock Ageing,Saham Penuaan,
Stock and Account Value Comparison,Perbandingan Nilai Saham dan Akaun,
Stock Projected Qty,Saham Unjuran Qty,
Student and Guardian Contact Details,Pelajar dan Guardian Butiran Hubungi,
Student Batch-Wise Attendance,Batch Bijaksana Pelajar Kehadiran,
Student Fee Collection,Bayaran Collection Pelajar,
Student Monthly Attendance Sheet,Pelajar Lembaran Kehadiran Bulanan,
Subcontracted Item To Be Received,Item Subkontrak yang Diterima,
Subcontracted Raw Materials To Be Transferred,Bahan Binaan Subkontrak Dipindahkan,
Supplier Ledger Summary,Ringkasan Ledger Pembekal,
Supplier-Wise Sales Analytics,Pembekal Bijaksana Jualan Analytics,
Support Hour Distribution,Pengagihan Jam Sokongan,
TDS Computation Summary,Ringkasan Pengiraan TDS,
TDS Payable Monthly,TDS Dibayar Bulanan,
Territory Target Variance Based On Item Group,Variasi Sasaran Wilayah Berdasarkan Kumpulan Item,
Territory-wise Sales,Jualan Wilayah-bijak,
Total Stock Summary,Ringkasan Jumlah Saham,
Trial Balance,Imbangan Duga,
Trial Balance (Simple),Baki Percubaan (Mudah),
Trial Balance for Party,Baki percubaan untuk Parti,
Unpaid Expense Claim,Tidak dibayar Perbelanjaan Tuntutan,
Warehouse wise Item Balance Age and Value,Gudang bijaksana Item Baki Umur dan Nilai,
Work Order Stock Report,Laporan Saham Pesanan Kerja,
Work Orders in Progress,Perintah Kerja dalam Kemajuan,
Validation Error,Ralat Pengesahan,
Automatically Process Deferred Accounting Entry,Memproses Penyertaan Perakaunan yang Ditangguhkan Secara Automatik,
Bank Clearance,Pelepasan Bank,
Bank Clearance Detail,Perincian Pelepasan Bank,
Update Cost Center Name / Number,Kemas kini Nama / Nombor Pusat Kos,
Journal Entry Template,Templat Kemasukan Jurnal,
Template Title,Tajuk Templat,
Journal Entry Type,Jenis Kemasukan Jurnal,
Journal Entry Template Account,Akaun Templat Kemasukan Jurnal,
Process Deferred Accounting,Proses Perakaunan Tertunda,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Entri manual tidak boleh dibuat! Lumpuhkan kemasukan automatik untuk perakaunan tertunda dalam tetapan akaun dan cuba lagi,
End date cannot be before start date,Tarikh akhir tidak boleh sebelum tarikh mula,
Total Counts Targeted,Jumlah Kiraan yang Disasarkan,
Total Counts Completed,Jumlah Jumlah Selesai,
Counts Targeted: {0},Kiraan yang Disasarkan: {0},
Payment Account is mandatory,Akaun Pembayaran adalah wajib,
"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Sekiranya diperiksa, jumlah penuh akan dikurangkan dari pendapatan bercukai sebelum mengira cukai pendapatan tanpa pengakuan atau penyerahan bukti.",
Disbursement Details,Butiran Pembayaran,
Material Request Warehouse,Gudang Permintaan Bahan,
Select warehouse for material requests,Pilih gudang untuk permintaan bahan,
Transfer Materials For Warehouse {0},Pindahkan Bahan Untuk Gudang {0},
Production Plan Material Request Warehouse,Gudang Permintaan Bahan Rancangan Pengeluaran,
Set From Warehouse,Set Dari Gudang,
Source Warehouse (Material Transfer),Gudang Sumber (Pemindahan Bahan),
Sets 'Source Warehouse' in each row of the items table.,Tetapkan &#39;Source Warehouse&#39; di setiap baris jadual item.,
Sets 'Target Warehouse' in each row of the items table.,Tetapkan &#39;Target Warehouse&#39; di setiap baris jadual item.,
Show Cancelled Entries,Tunjukkan Entri yang Dibatalkan,
Backdated Stock Entry,Kemasukan Stok Terakhir,
Row #{}: Currency of {} - {} doesn't matches company currency.,Baris # {}: Mata wang {} - {} tidak sepadan dengan mata wang syarikat.,
{} Assets created for {},{} Aset dibuat untuk {},
{0} Number {1} is already used in {2} {3},{0} Nombor {1} sudah digunakan di {2} {3},
Update Bank Clearance Dates,Kemas kini Tarikh Pelunasan Bank,
Healthcare Practitioner: ,Pengamal Kesihatan:,
Lab Test Conducted: ,Ujian Makmal Dijalankan:,
Lab Test Event: ,Acara Ujian Makmal:,
Lab Test Result: ,Keputusan Ujian Makmal:,
Clinical Procedure conducted: ,Prosedur Klinikal yang dijalankan:,
Therapy Session Charges: {0},Caj Sesi Terapi: {0},
Therapy: ,Terapi:,
Therapy Plan: ,Pelan Terapi:,
Total Counts Targeted: ,Jumlah Kiraan yang Disasarkan:,
Total Counts Completed: ,Jumlah Kiraan Selesai:,
Andaman and Nicobar Islands,Kepulauan Andaman dan Nicobar,
Andhra Pradesh,Andhra Pradesh,
Arunachal Pradesh,Arunachal Pradesh,
Assam,Assam,
Bihar,Bihar,
Chandigarh,Chandigarh,
Chhattisgarh,Chhattisgarh,
Dadra and Nagar Haveli,Dadra dan Nagar Haveli,
Daman and Diu,Daman dan Diu,
Delhi,Delhi,
Goa,Goa,
Gujarat,Gujarat,
Haryana,Haryana,
Himachal Pradesh,Himachal Pradesh,
Jammu and Kashmir,Jammu dan Kashmir,
Jharkhand,Jharkhand,
Karnataka,Karnataka,
Kerala,Kerala,
Lakshadweep Islands,Kepulauan Lakshadweep,
Madhya Pradesh,Madhya Pradesh,
Maharashtra,Maharashtra,
Manipur,Manipur,
Meghalaya,Meghalaya,
Mizoram,Mizoram,
Nagaland,Nagaland,
Odisha,Odisha,
Other Territory,Wilayah Lain,
Pondicherry,Pondicherry,
Punjab,Punjab,
Rajasthan,Rajasthan,
Sikkim,Sikkim,
Tamil Nadu,Bahasa Tamil Nadu,
Telangana,Telangana,
Tripura,Tripura,
Uttar Pradesh,Uttar Pradesh,
Uttarakhand,Uttarakhand,
West Bengal,Bengal Barat,
Is Mandatory,Adakah Wajib,
Published on,Diterbitkan pada,
Service Received But Not Billed,Perkhidmatan Diterima Tetapi Tidak Ditagih,
Deferred Accounting Settings,Tetapan Perakaunan Tertunda,
Book Deferred Entries Based On,Tempah Penyertaan Ditangguhkan Berdasarkan,
"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.","Sekiranya &quot;Bulan&quot; dipilih, jumlah tetap akan dicatatkan sebagai hasil atau perbelanjaan tertunda untuk setiap bulan tanpa mengira bilangan hari dalam sebulan. Akan diprorata jika pendapatan atau perbelanjaan tertunda tidak ditempah selama sebulan.",
Days,Hari-hari,
Months,Sebulan,
Book Deferred Entries Via Journal Entry,Tempah Entri Ditangguhkan Melalui Kemasukan Jurnal,
If this is unchecked direct GL Entries will be created to book Deferred Revenue/Expense,"Sekiranya ini tidak dicentang, Penyertaan GL langsung akan dibuat untuk menempah Hasil / Perbelanjaan Ditangguhkan",
Submit Journal Entries,Hantar Entri Jurnal,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Sekiranya ini tidak dicentang, Entri Jurnal akan disimpan dalam keadaan Draf dan perlu dihantar secara manual",
Enable Distributed Cost Center,Dayakan Pusat Kos Teragih,
Distributed Cost Center,Pusat Kos Teragih,
Dunning,Menari,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Hari Terlambat,
Dunning Type,Jenis Dunning,
Dunning Fee,Bayaran Dunning,
Dunning Amount,Jumlah Dunning,
Resolved,Diselesaikan,
Unresolved,Tidak dapat diselesaikan,
Printing Setting,Tetapan Percetakan,
Body Text,Teks Badan,
Closing Text,Teks Penutup,
Resolve,Selesaikan,
Dunning Letter Text,Teks Surat Dunning,
Is Default Language,Adakah Bahasa Lalai,
Letter or Email Body Text,Teks Badan Surat atau E-mel,
Letter or Email Closing Text,Teks Penutup Surat atau E-mel,
Body and Closing Text Help,Bantuan Teks Badan dan Penutup,
Overdue Interval,Selang Tertunda,
Dunning Letter,Surat Dunning,
"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.","Bahagian ini membolehkan pengguna menetapkan teks Badan dan Penutup Surat Dunning untuk Jenis Dunning berdasarkan bahasa, yang dapat digunakan dalam Cetakan.",
Reference Detail No,Butiran Rujukan No.,
Custom Remarks,Ucapan Adat,
Please select a Company first.,Sila pilih Syarikat terlebih dahulu.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Baris # {0}: Jenis Dokumen Rujukan mestilah salah satu Pesanan Jualan, Invois Jualan, Entri Jurnal atau Dunning",
POS Closing Entry,Penyertaan Penutup POS,
POS Opening Entry,Penyertaan Pembukaan POS,
POS Transactions,Transaksi POS,
POS Closing Entry Detail,Butiran Penyertaan Penutup POS,
Opening Amount,Jumlah Pembukaan,
Closing Amount,Jumlah Penutupan,
POS Closing Entry Taxes,POS Penutupan Cukai Masuk,
POS Invoice,Invois POS,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Invois Jualan Gabungan,
Return Against POS Invoice,Kembali Terhadap Invois POS,
Consolidated,Disatukan,
POS Invoice Item,Item Invois POS,
POS Invoice Merge Log,Log Gabungan Invois POS,
POS Invoices,Invois POS,
Consolidated Credit Note,Nota Kredit Gabungan,
POS Invoice Reference,Rujukan Invois POS,
Set Posting Date,Tetapkan Tarikh Pengeposan,
Opening Balance Details,Perincian Baki Pembukaan,
POS Opening Entry Detail,Butiran Penyertaan Pembukaan POS,
POS Payment Method,Kaedah Pembayaran POS,
Payment Methods,cara bayaran,
Process Statement Of Accounts,Proses Penyata Akaun,
General Ledger Filters,Penapis Buku Besar,
Customers,Pelanggan,
Select Customers By,Pilih Pelanggan Oleh,
Fetch Customers,Ambil Pelanggan,
Send To Primary Contact,Hantar Ke Kenalan Utama,
Print Preferences,Pilihan Cetakan,
Include Ageing Summary,Sertakan Ringkasan Penuaan,
Enable Auto Email,Dayakan E-mel Auto,
Filter Duration (Months),Tempoh Penapis (Bulan),
CC To,CC Ke,
Help Text,Teks Bantuan,
Emails Queued,E-mel Beratur,
Process Statement Of Accounts Customer,Proses Penyata Pelanggan Akaun,
Billing Email,E-mel Pengebilan,
Primary Contact Email,E-mel Hubungan Utama,
PSOA Cost Center,Pusat Kos PSOA,
PSOA Project,Projek PSOA,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Pembekal GSTIN,
Place of Supply,Tempat Pembekalan,
Select Billing Address,Pilih Alamat Pengebilan,
GST Details,Butiran GST,
GST Category,Kategori GST,
Registered Regular,Berdaftar Biasa,
Registered Composition,Komposisi Berdaftar,
Unregistered,Tidak berdaftar,
SEZ,SEZ,
Overseas,Luar Negara,
UIN Holders,Pemegang UIN,
With Payment of Tax,Dengan Pembayaran Cukai,
Without Payment of Tax,Tanpa Pembayaran Cukai,
Invoice Copy,Salinan Invois,
Original for Recipient,Asli untuk Penerima,
Duplicate for Transporter,Pendua untuk Pengangkut,
Duplicate for Supplier,Pendua untuk Pembekal,
Triplicate for Supplier,Rangkap Tiga untuk Pembekal,
Reverse Charge,Cas Terbalik,
Y,Y,
N,N,
E-commerce GSTIN,GSTIN E-dagang,
Reason For Issuing document,Sebab Mengeluarkan dokumen,
01-Sales Return,01-Pulangan Jualan,
02-Post Sale Discount,Potongan Jualan 02-Pos,
03-Deficiency in services,03-Kekurangan dalam perkhidmatan,
04-Correction in Invoice,04-Pembetulan dalam Invois,
05-Change in POS,05-Perubahan POS,
06-Finalization of Provisional assessment,06-Memuktamadkan penilaian Sementara,
07-Others,07-Lain-lain,
Eligibility For ITC,Kelayakan Untuk ITC,
Input Service Distributor,Pengedar Perkhidmatan Input,
Import Of Service,Import Perkhidmatan,
Import Of Capital Goods,Import Barangan Modal,
Ineligible,Tidak memenuhi syarat,
All Other ITC,Semua ITC Lain,
Availed ITC Integrated Tax,Cukai Bersepadu ITC,
Availed ITC Central Tax,Cukai Pusat ITC,
Availed ITC State/UT Tax,Cukai Negeri / UT ITC,
Availed ITC Cess,Berhenti ITC Cess,
Is Nil Rated or Exempted,Nihil Dinilai atau Dikecualikan,
Is Non GST,Bukan GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,Bil E-Way No.,
Is Consolidated,Adakah Disatukan,
Billing Address GSTIN,Alamat Bil GSTIN,
Customer GSTIN,Pelanggan GSTIN,
GST Transporter ID,ID Pengangkut GST,
Distance (in km),Jarak (dalam km),
Road,Jalan raya,
Air,Udara,
Rail,Keretapi,
Ship,Kapal,
GST Vehicle Type,Jenis Kenderaan GST,
Over Dimensional Cargo (ODC),Kargo Lebih Dimensi (ODC),
Consumer,Pengguna,
Deemed Export,Dianggap Eksport,
Port Code,Kod Pelabuhan,
 Shipping Bill Number,Nombor Bil Penghantaran,
Shipping Bill Date,Tarikh Bil Penghantaran,
Subscription End Date,Tarikh Akhir Langganan,
Follow Calendar Months,Ikuti Kalendar Bulan,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Sekiranya ini diperiksa, invois baru seterusnya akan dibuat pada bulan kalendar dan tarikh permulaan suku tanpa mengira tarikh mula invois semasa",
Generate New Invoices Past Due Date,Jana Invois Baru Tarikh Akhir Tamat,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,Invois baru akan dihasilkan mengikut jadual walaupun invois semasa belum dibayar atau tarikh akhir,
Document Type ,jenis dokumen,
Subscription Price Based On,Harga Langganan Berdasarkan,
Fixed Rate,Kadar tetap,
Based On Price List,Berdasarkan Senarai Harga,
Monthly Rate,Kadar Bulanan,
Cancel Subscription After Grace Period,Batalkan Langganan Selepas Tempoh Rahmat,
Source State,Negeri Sumber,
Is Inter State,Adakah Antara Negeri,
Purchase Details,Butiran Pembelian,
Depreciation Posting Date,Tarikh Catatan Susut Nilai,
Purchase Order Required for Purchase Invoice & Receipt Creation,Perintah Pembelian Diperlukan untuk Pembuatan Invois &amp; Pembuatan Resit,
Purchase Receipt Required for Purchase Invoice Creation,Resit Pembelian Diperlukan untuk Pembuatan Invois Pembelian,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Secara lalai, Nama Pembekal ditetapkan mengikut Nama Pembekal yang dimasukkan. Sekiranya anda mahu Pembekal diberi nama oleh a",
 choose the 'Naming Series' option.,pilih pilihan &#39;Naming Series&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga lalai semasa membuat transaksi Pembelian baru. Harga barang akan diambil dari Daftar Harga ini.,
"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.","Sekiranya pilihan ini dikonfigurasikan &#39;Ya&#39;, ERPNext akan menghalang anda membuat Invoice Pembelian atau Resit tanpa membuat Pesanan Pembelian terlebih dahulu. Konfigurasi ini boleh diganti untuk pembekal tertentu dengan mengaktifkan kotak centang &#39;Benarkan Pembuatan Invois Pembayaran Tanpa Pesanan Pembelian&#39; di master Pembekal.",
"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.","Sekiranya pilihan ini dikonfigurasi &#39;Ya&#39;, ERPNext akan menghalang anda membuat Invoice Pembelian tanpa membuat Resit Pembelian terlebih dahulu. Konfigurasi ini boleh diganti untuk pembekal tertentu dengan mengaktifkan kotak centang &#39;Benarkan Pembuatan Invois Pembayaran Tanpa Resit Pembelian&#39; di induk Pembekal.",
Quantity & Stock,Kuantiti &amp; Stok,
Call Details,Maklumat Panggilan,
Authorised By,Disahkan Oleh,
Signee (Company),Penandatangan (Syarikat),
Signed By (Company),Ditandatangani oleh (Syarikat),
First Response Time,Masa Respons Pertama,
Request For Quotation,Permintaan untuk sebut harga,
Opportunity Lost Reason Detail,Peluang Hilang Sebab Peluang,
Access Token Secret,Akses Rahsia Token,
Add to Topics,Tambah ke Topik,
...Adding Article to Topics,... Menambah Artikel ke Topik,
Add Article to Topics,Tambahkan Artikel ke Topik,
This article is already added to the existing topics,Artikel ini sudah ditambah ke topik yang ada,
Add to Programs,Tambah ke Program,
Programs,Program,
...Adding Course to Programs,... Menambah Kursus ke Program,
Add Course to Programs,Tambah Kursus ke Program,
This course is already added to the existing programs,Kursus ini sudah ditambah ke program yang ada,
Learning Management System Settings,Tetapan Sistem Pengurusan Pembelajaran,
Enable Learning Management System,Aktifkan Sistem Pengurusan Pembelajaran,
Learning Management System Title,Tajuk Sistem Pengurusan Pembelajaran,
...Adding Quiz to Topics,... Menambah Kuiz ke Topik,
Add Quiz to Topics,Tambah Kuiz ke Topik,
This quiz is already added to the existing topics,Kuiz ini sudah ditambah ke topik yang ada,
Enable Admission Application,Aktifkan Permohonan Kemasukan,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Menandakan kehadiran,
Add Guardians to Email Group,Tambahkan Penjaga ke Kumpulan E-mel,
Attendance Based On,Kehadiran Berdasarkan,
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,Tandakan ini untuk menandakan pelajar itu hadir sekiranya pelajar tidak menghadiri institut untuk mengambil bahagian atau mewakili institusi dalam apa jua keadaan.,
Add to Courses,Tambah ke Kursus,
...Adding Topic to Courses,... Menambah Topik ke Kursus,
Add Topic to Courses,Tambah Topik ke Kursus,
This topic is already added to the existing courses,Topik ini sudah ditambah ke kursus yang ada,
"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","Sekiranya Shopify tidak memiliki pelanggan dalam pesanan, maka semasa menyinkronkan pesanan, sistem akan mempertimbangkan pelanggan lalai untuk pesanan",
The accounts are set by the system automatically but do confirm these defaults,Akaun ditetapkan oleh sistem secara automatik tetapi mengesahkan lalai ini,
Default Round Off Account,Akaun Pusingan Lalai,
Failed Import Log,Log Import gagal,
Fixed Error Log,Memperbaiki Log Ralat,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Syarikat {0} sudah wujud. Meneruskan akan menimpa Syarikat dan Carta Akaun,
Meta Data,Data Meta,
Unresolve,Tidak dapat diselesaikan,
Create Document,Buat Dokumen,
Mark as unresolved,Tandakan sebagai tidak dapat diselesaikan,
TaxJar Settings,Tetapan TaxJar,
Sandbox Mode,Mod Kotak Pasir,
Enable Tax Calculation,Dayakan Pengiraan Cukai,
Create TaxJar Transaction,Buat Transaksi TaxJar,
Credentials,Kelayakan,
Live API Key,Kunci API Langsung,
Sandbox API Key,Kunci API Kotak Pasir,
Configuration,Konfigurasi,
Tax Account Head,Ketua Akaun Cukai,
Shipping Account Head,Ketua Akaun Penghantaran,
Practitioner Name,Nama Pengamal,
Enter a name for the Clinical Procedure Template,Masukkan nama untuk Templat Prosedur Klinikal,
Set the Item Code which will be used for billing the Clinical Procedure.,Tetapkan Kod Item yang akan digunakan untuk penagihan Prosedur Klinikal.,
Select an Item Group for the Clinical Procedure Item.,Pilih Kumpulan Item untuk Item Prosedur Klinikal.,
Clinical Procedure Rate,Kadar Prosedur Klinikal,
Check this if the Clinical Procedure is billable and also set the rate.,Periksa ini jika Prosedur Klinikal boleh dikenakan dan tetapkan juga kadarnya.,
Check this if the Clinical Procedure utilises consumables. Click ,Periksa ini jika Prosedur Klinikal menggunakan bahan habis pakai. Klik,
 to know more,untuk mengetahui lebih lanjut,
"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.","Anda juga boleh menetapkan Jabatan Perubatan untuk templat. Setelah menyimpan dokumen, Item akan dibuat secara automatik untuk menagih Prosedur Klinikal ini. Anda kemudian boleh menggunakan templat ini semasa membuat Prosedur Klinikal untuk Pesakit. Templat menjimatkan anda daripada mengisi data berlebihan setiap masa. Anda juga boleh membuat templat untuk operasi lain seperti Ujian Makmal, Sesi Terapi, dll.",
Descriptive Test Result,Keputusan Ujian Deskriptif,
Allow Blank,Benarkan Kosong,
Descriptive Test Template,Templat Ujian Deskriptif,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Sekiranya anda ingin mengesan operasi Penggajian dan HRMS lain untuk Praktikoner, buat Pekerja dan pautkannya di sini.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Tetapkan Jadual Pengamal yang baru anda buat. Ini akan digunakan semasa membuat tempahan.,
Create a service item for Out Patient Consulting.,Buat item perkhidmatan untuk Out Patient Consulting.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Sekiranya Pengamal Kesihatan ini bekerja di Jabatan Pesakit Dalam, buat item perkhidmatan untuk Lawatan Pesakit Dalam.",
Set the Out Patient Consulting Charge for this Practitioner.,Tetapkan Bayaran Perundingan Pesakit Luar untuk Pengamal ini.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Sekiranya Pengamal Kesihatan ini juga bekerja di Jabatan Pesakit Dalam, tetapkan caj lawatan pesakit dalam untuk Pengamal ini.",
"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.","Sekiranya diperiksa, pelanggan akan dibuat untuk setiap Pesakit. Invois Pesakit akan dibuat terhadap Pelanggan ini. Anda juga boleh memilih Pelanggan yang ada semasa membuat Pesakit. Medan ini diperiksa secara lalai.",
Collect Registration Fee,Kumpulkan Yuran Pendaftaran,
"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.","Sekiranya kemudahan Penjagaan Kesihatan anda membayar pendaftaran Pesakit, anda boleh menyemaknya dan menetapkan Yuran Pendaftaran di bidang di bawah. Memeriksa ini akan membuat Pesakit baru dengan status Orang Kurang Upaya secara lalai dan hanya akan diaktifkan setelah membuat bayaran Yuran Pendaftaran.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Memeriksa ini akan membuat Invois Jualan secara automatik setiap kali janji temu dibuat untuk Pesakit.,
Healthcare Service Items,Item Perkhidmatan Penjagaan Kesihatan,
"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 ","Anda boleh membuat item perkhidmatan untuk Caj Lawatan Rawat Inap dan menetapkannya di sini. Begitu juga, anda boleh menyediakan Item Perkhidmatan Penjagaan Kesihatan yang lain untuk penagihan di bahagian ini. Klik",
Set up default Accounts for the Healthcare Facility,Sediakan Akaun lalai untuk Kemudahan Penjagaan Kesihatan,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Sekiranya anda ingin mengatasi tetapan akaun lalai dan mengkonfigurasi akaun Pendapatan dan Terima untuk Penjagaan Kesihatan, anda boleh melakukannya di sini.",
Out Patient SMS alerts,Makluman SMS Pesakit Keluar,
"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 ","Sekiranya anda ingin menghantar amaran SMS pada Pendaftaran Pesakit, anda boleh mengaktifkan pilihan ini. Sebagai contoh, anda boleh menetapkan amaran SMS pesakit untuk fungsi lain di bahagian ini. Klik",
Admission Order Details,Maklumat Perintah Kemasukan,
Admission Ordered For,Kemasukan Dipesan Untuk,
Expected Length of Stay,Jangka Masa Menginap,
Admission Service Unit Type,Jenis Unit Perkhidmatan Kemasukan,
Healthcare Practitioner (Primary),Pengamal Kesihatan (Primer),
Healthcare Practitioner (Secondary),Pengamal Kesihatan (Menengah),
Admission Instruction,Arahan Kemasukan,
Chief Complaint,Aduan Ketua,
Medications,Ubat-ubatan,
Investigations,Penyiasatan,
Discharge Detials,Penolakan Pelepasan,
Discharge Ordered Date,Tarikh Pesanan Pelepasan,
Discharge Instructions,Arahan Pelepasan,
Follow Up Date,Tarikh Susulan,
Discharge Notes,Nota Pelupusan,
Processing Inpatient Discharge,Memproses Pelepasan Pesakit Dalam,
Processing Patient Admission,Memproses Kemasukan Pesakit,
Check-in time cannot be greater than the current time,Waktu daftar masuk tidak boleh lebih besar daripada waktu semasa,
Process Transfer,Pemindahan Proses,
HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
Expected Result Date,Tarikh Hasil yang Dijangka,
Expected Result Time,Masa Hasil yang Dijangkakan,
Printed on,Dicetak pada,
Requesting Practitioner,Memohon Pengamal,
Requesting Department,Memohon Jabatan,
Employee (Lab Technician),Pekerja (Juruteknik Makmal),
Lab Technician Name,Nama Juruteknik Makmal,
Lab Technician Designation,Penetapan Juruteknik Makmal,
Compound Test Result,Keputusan Ujian Kompaun,
Organism Test Result,Keputusan Ujian Organisma,
Sensitivity Test Result,Keputusan Ujian Sensitiviti,
Worksheet Print,Cetakan Lembaran Kerja,
Worksheet Instructions,Arahan Lembaran Kerja,
Result Legend Print,Hasil Cetakan Legenda,
Print Position,Kedudukan Cetakan,
Bottom,Bawah,
Top,Atas,
Both,Kedua-duanya,
Result Legend,Hasil Legenda,
Lab Tests,Ujian Makmal,
No Lab Tests found for the Patient {0},Tiada Ujian Makmal dijumpai untuk Pesakit {0},
"Did not send SMS, missing patient mobile number or message content.","Tidak menghantar SMS, nombor telefon bimbit pesakit atau kandungan mesej yang hilang.",
No Lab Tests created,Tiada Ujian Makmal dibuat,
Creating Lab Tests...,Membuat Ujian Makmal ...,
Lab Test Group Template,Templat Kumpulan Ujian Makmal,
Add New Line,Tambah Baris Baru,
Secondary UOM,UOM sekunder,
"<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>Tunggal</b> : Hasil yang memerlukan hanya satu input.<br> <b>Kompaun</b> : Hasil yang memerlukan pelbagai input peristiwa.<br> <b>Deskriptif</b> : Ujian yang mempunyai pelbagai komponen hasil dengan kemasukan hasil manual.<br> <b>Dikumpulkan</b> : Templat ujian yang merupakan sekumpulan templat ujian lain.<br> <b>Tiada Hasil</b> : Ujian tanpa hasil, boleh dipesan dan ditagih tetapi Ujian Makmal tidak akan dibuat. cth. Sub Ujian untuk keputusan Berkumpulan",
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Sekiranya tidak dicentang, item tersebut tidak akan tersedia dalam Invois Jualan untuk penagihan tetapi boleh digunakan dalam pembuatan ujian kumpulan.",
Description ,Penerangan,
Descriptive Test,Ujian Deskriptif,
Group Tests,Ujian Berkumpulan,
Instructions to be printed on the worksheet,Arahan untuk dicetak pada lembaran kerja,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.","Maklumat untuk menafsirkan laporan ujian dengan mudah, akan dicetak sebagai sebahagian daripada hasil Ujian Makmal.",
Normal Test Result,Keputusan Ujian Biasa,
Secondary UOM Result,Keputusan UOM Menengah,
Italic,Miring,
Underline,Garis bawah,
Organism,Organisma,
Organism Test Item,Item Ujian Organisma,
Colony Population,Penduduk Jajahan,
Colony UOM,Jajahan UOM,
Tobacco Consumption (Past),Penggunaan Tembakau (Masa Lalu),
Tobacco Consumption (Present),Penggunaan Tembakau (Sekarang),
Alcohol Consumption (Past),Penggunaan Alkohol (Dahulu),
Alcohol Consumption (Present),Penggunaan Alkohol (Sekarang),
Billing Item,Item Bil,
Medical Codes,Kod Perubatan,
Clinical Procedures,Prosedur Klinikal,
Order Admission,Kemasukan Pesanan,
Scheduling Patient Admission,Menjadualkan Kemasukan Pesakit,
Order Discharge,Pelepasan Pesanan,
Sample Details,Butiran Contoh,
Collected On,Dikumpulkan Pada,
No. of prints,Bilangan cetakan,
Number of prints required for labelling the samples,Bilangan cetakan yang diperlukan untuk pelabelan sampel,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
In Time,Dalam masa,
Out Time,Masa Keluar,
Payroll Cost Center,Pusat Kos Gaji,
Approvers,Meluluskan,
The first Approver in the list will be set as the default Approver.,Pelulus pertama dalam senarai akan ditetapkan sebagai Pelulus lalai.,
Shift Request Approver,Kelulusan Permintaan Shift,
PAN Number,Nombor PAN,
Provident Fund Account,Akaun Kumpulan Wang Simpanan,
MICR Code,Kod MICR,
Repay unclaimed amount from salary,Bayar balik jumlah yang tidak dituntut dari gaji,
Deduction from salary,Potongan gaji,
Expired Leaves,Daun Tamat Tempoh,
Reference No,No rujukan,
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.,Peratusan potongan rambut adalah peratusan perbezaan antara nilai pasaran dari Pinjaman Keselamatan dan nilai yang diberikan kepada Pinjaman Keselamatan tersebut ketika digunakan sebagai jaminan untuk pinjaman tersebut.,
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 ,Loan To Value Ratio menyatakan nisbah jumlah pinjaman dengan nilai cagaran yang dijanjikan. Kekurangan jaminan pinjaman akan dicetuskan jika ini jatuh di bawah nilai yang ditentukan untuk sebarang pinjaman,
If this is not checked the loan by default will be considered as a Demand Loan,"Sekiranya ini tidak diperiksa, pinjaman secara lalai akan dianggap sebagai Permintaan Pinjaman",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Akaun ini digunakan untuk membuat pembayaran pinjaman dari peminjam dan juga mengeluarkan pinjaman kepada peminjam,
This account is capital account which is used to allocate capital for loan disbursal account ,Akaun ini adalah akaun modal yang digunakan untuk memperuntukkan modal untuk akaun pengeluaran pinjaman,
This account will be used for booking loan interest accruals,Akaun ini akan digunakan untuk membuat tempahan faedah pinjaman,
This account will be used for booking penalties levied due to delayed repayments,Akaun ini akan digunakan untuk menempah denda yang dikenakan kerana pembayaran yang tertangguh,
Variant BOM,Variasi BOM,
Template Item,Item Templat,
Select template item,Pilih item templat,
Select variant item code for the template item {0},Pilih kod item varian untuk item templat {0},
Downtime Entry,Kemasukan Waktu Henti,
DT-,DT-,
Workstation / Machine,Stesen Kerja / Mesin,
Operator,Pengendali,
In Mins,Dalam Min,
Downtime Reason,Sebab Waktu Henti,
Stop Reason,Hentikan Sebab,
Excessive machine set up time,Masa penyediaan mesin yang berlebihan,
Unplanned machine maintenance,Penyelenggaraan mesin yang tidak dirancang,
On-machine press checks,Pemeriksaan akhbar di mesin,
Machine operator errors,Kesalahan pengendali mesin,
Machine malfunction,Kerosakan mesin,
Electricity down,Tenaga elektrik turun,
Operation Row Number,Nombor Baris Operasi,
Operation {0} added multiple times in the work order {1},Operasi {0} ditambahkan berkali-kali dalam urutan kerja {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.","Sekiranya dicentang, banyak bahan boleh digunakan untuk satu Pesanan Kerja. Ini berguna sekiranya satu atau lebih produk yang memakan masa dihasilkan.",
Backflush Raw Materials,Bahan Baku Backflush,
"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.","Entri Stok jenis &#39;Pembuatan&#39; dikenali sebagai backflush. Bahan mentah yang digunakan untuk pembuatan barang jadi dikenali sebagai backflushing.<br><br> Semasa membuat Entry Pembuatan, item bahan mentah ditolak berdasarkan BOM item pengeluaran. Sekiranya anda mahu item bahan mentah dikembalikan berdasarkan entri Pemindahan Bahan yang dibuat berdasarkan Perintah Kerja itu, maka anda boleh menetapkannya di bawah bidang ini.",
Work In Progress Warehouse,Gudang Bekerja Dalam Progres,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Gudang ini akan dikemas kini secara automatik di bidang Work In Progress Warehouse dari Perintah Kerja.,
Finished Goods Warehouse,Gudang Barang Selesai,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Gudang ini akan dikemas kini secara automatik di bidang Target Warehouse dari Work Order.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Sekiranya ditandakan, kos BOM akan dikemas kini secara automatik berdasarkan Kadar Penilaian / Harga Senarai Harga / kadar pembelian bahan mentah terakhir.",
Source Warehouses (Optional),Gudang Sumber (Pilihan),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Sistem akan mengambil bahan dari gudang terpilih. Sekiranya tidak dinyatakan, sistem akan membuat permintaan material untuk pembelian.",
Lead Time,Masa Memimpin,
PAN Details,Perincian PAN,
Create Customer,Buat Pelanggan,
Invoicing,Penginvoisan,
Enable Auto Invoicing,Dayakan Penginvoisan Automatik,
Send Membership Acknowledgement,Hantar Pengakuan Keahlian,
Send Invoice with Email,Hantar Invois dengan E-mel,
Membership Print Format,Format Cetakan Keahlian,
Invoice Print Format,Format Cetakan Invois,
Revoke <Key></Key>,Membatalkan&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,Anda boleh mengetahui lebih lanjut mengenai keahlian dalam manual.,
ERPNext Docs,Dokumen ERPNext,
Regenerate Webhook Secret,Buat semula Rahsia Webhook,
Generate Webhook Secret,Jana Rahsia Webhook,
Copy Webhook URL,Salin URL Webhook,
Linked Item,Item Terpaut,
Is Recurring,Berulang,
HRA Exemption,Pengecualian HRA,
Monthly House Rent,Sewa Rumah Bulanan,
Rented in Metro City,Disewa di Metro City,
HRA as per Salary Structure,HRA mengikut Struktur Gaji,
Annual HRA Exemption,Pengecualian HRA Tahunan,
Monthly HRA Exemption,Pengecualian HRA Bulanan,
House Rent Payment Amount,Jumlah Bayaran Sewa Rumah,
Rented From Date,Disewa Dari Tarikh,
Rented To Date,Disewa Sehingga Kini,
Monthly Eligible Amount,Jumlah Layak Bulanan,
Total Eligible HRA Exemption,Jumlah Pengecualian HRA yang Layak,
Validating Employee Attendance...,Mengesahkan Kehadiran Pekerja ...,
Submitting Salary Slips and creating Journal Entry...,Mengemukakan Slip Gaji dan membuat Entri Jurnal ...,
Calculate Payroll Working Days Based On,Hitung Hari Kerja Gaji Berdasarkan,
Consider Unmarked Attendance As,Pertimbangkan Kehadiran Tidak Ditanda Sebagai,
Fraction of Daily Salary for Half Day,Pecahan Gaji Harian untuk Separuh Hari,
Component Type,Jenis Komponen,
Provident Fund,kumpulan Wang Simpanan,
Additional Provident Fund,Kumpulan Wang Simpanan Tambahan,
Provident Fund Loan,Pinjaman Kumpulan Wang Simpanan,
Professional Tax,Cukai Profesional,
Is Income Tax Component,Adakah Komponen Cukai Pendapatan,
Component properties and references ,Sifat dan rujukan komponen,
Additional Salary ,Gaji Tambahan,
Condtion and formula,Ketetapan dan formula,
Unmarked days,Hari tanpa tanda,
Absent Days,Hari yang tidak hadir,
Conditions and Formula variable and example,Keadaan dan pemboleh ubah Formula dan contoh,
Feedback By,Maklum Balas Oleh,
MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
Manufacturing Section,Bahagian Pembuatan,
Sales Order Required for Sales Invoice & Delivery Note Creation,Perintah Jualan Diperlukan untuk Pembuatan Invois Penjualan &amp; Penghantaran Nota Penghantaran,
Delivery Note Required for Sales Invoice Creation,Nota Penghantaran Diperlukan untuk Pembuatan Invois Jualan,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Secara lalai, Nama Pelanggan ditetapkan sesuai dengan Nama Penuh yang dimasukkan. Sekiranya anda mahu Pelanggan diberi nama oleh a",
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga lalai semasa membuat transaksi Jualan baru. Harga barang akan diambil dari Daftar Harga ini.,
"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.","Sekiranya pilihan ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah anda membuat Invois Jualan atau Nota Penghantaran tanpa membuat Pesanan Jualan terlebih dahulu. Konfigurasi ini dapat diganti untuk Pelanggan tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Invois Penjualan Tanpa Pesanan Penjualan&#39; di master Pelanggan.",
"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.","Sekiranya pilihan ini dikonfigurasikan &#39;Ya&#39;, ERPNext akan menghalang anda membuat Invois Jualan tanpa membuat Catatan Penghantaran terlebih dahulu. Konfigurasi ini dapat diganti untuk Pelanggan tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Invois Penjualan Tanpa Catatan Penghantaran&#39; di master Pelanggan.",
Default Warehouse for Sales Return,Gudang Lalai untuk Pulangan Jualan,
Default In Transit Warehouse,Lalai Di Gudang Transit,
Enable Perpetual Inventory For Non Stock Items,Aktifkan Inventori Kekal Untuk Item Bukan Stok,
HRA Settings,Tetapan HRA,
Basic Component,Komponen Asas,
HRA Component,Komponen HRA,
Arrear Component,Komponen Tunggakan,
Please enter the company name to confirm,Sila masukkan nama syarikat untuk mengesahkan,
Quotation Lost Reason Detail,Perincian Sebab Hilang Sebutharga,
Enable Variants,Dayakan Varian,
Save Quotations as Draft,Simpan Sebutharga sebagai Draf,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Sila Pilih Pelanggan,
Against Delivery Note Item,Terhadap Item Nota Penghantaran,
Is Non GST ,Bukan GST,
Image Description,Penerangan Gambar,
Transfer Status,Status Pemindahan,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Jejaki Resit Pembelian ini terhadap Projek mana pun,
Please Select a Supplier,Sila Pilih Pembekal,
Add to Transit,Tambah ke Transit,
Set Basic Rate Manually,Tetapkan Kadar Asas Secara Manual,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Secara lalai, Nama Item ditetapkan mengikut Kod Item yang dimasukkan. Sekiranya anda mahu Item dinamakan oleh a",
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Tetapkan Gudang Lalai untuk Transaksi Inventori. Ini akan dibawa ke Gudang Lalai di induk Item.,
"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.","Ini akan membolehkan item stok dipaparkan dalam nilai negatif. Menggunakan pilihan ini bergantung pada kes penggunaan anda. Dengan pilihan ini tidak dicentang, sistem memberi amaran sebelum menghalang transaksi yang menyebabkan stok negatif.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Pilih antara FIFO dan Kaedah Penilaian Purata Bergerak. Klik,
 to know more about them.,untuk mengetahui lebih lanjut mengenai mereka.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Tunjukkan bidang &#39;Imbas Kod Bar&#39; di atas setiap jadual kanak-kanak untuk memasukkan Item dengan mudah.,
"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.","Nombor siri untuk stok akan ditetapkan secara automatik berdasarkan Item yang dimasukkan berdasarkan pertama dalam transaksi pertama seperti Invois Pembelian / Jualan, Nota Penghantaran, dll.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Sekiranya kosong, Akaun Gudang induk atau lalai syarikat akan dipertimbangkan dalam urus niaga",
Service Level Agreement Details,Maklumat Perjanjian Tahap Perkhidmatan,
Service Level Agreement Status,Status Perjanjian Tahap Perkhidmatan,
On Hold Since,Ditahan Sejak,
Total Hold Time,Jumlah Masa Tahan,
Response Details,Butiran Respons,
Average Response Time,Masa Respons Purata,
User Resolution Time,Masa Resolusi Pengguna,
SLA is on hold since {0},SLA ditangguhkan sejak {0},
Pause SLA On Status,Jeda SLA On Status,
Pause SLA On,Jeda SLA Hidup,
Greetings Section,Bahagian Salam,
Greeting Title,Tajuk Ucapan,
Greeting Subtitle,Sari Kata Salam,
Youtube ID,ID Youtube,
Youtube Statistics,Statistik Youtube,
Views,Pandangan,
Dislikes,Tidak suka,
Video Settings,Tetapan Video,
Enable YouTube Tracking,Dayakan Penjejakan YouTube,
30 mins,30 minit,
1 hr,1 jam,
6 hrs,6 jam,
Patient Progress,Kemajuan Pesakit,
Targetted,Sasaran,
Score Obtained,Markah Diperolehi,
Sessions,Sesi,
Average Score,Skor Purata,
Select Assessment Template,Pilih Templat Penilaian,
 out of ,daripada,
Select Assessment Parameter,Pilih Parameter Penilaian,
Gender: ,Jantina:,
Contact: ,Hubungi:,
Total Therapy Sessions: ,Jumlah Sesi Terapi:,
Monthly Therapy Sessions: ,Sesi Terapi Bulanan:,
Patient Profile,Profil Pesakit,
Point Of Sale,Tempat jualan,
Email sent successfully.,E-mel berjaya dihantar.,
Search by invoice id or customer name,Cari mengikut id invois atau nama pelanggan,
Invoice Status,Status Invois,
Filter by invoice status,Tapis mengikut status invois,
Select item group,Pilih kumpulan item,
No items found. Scan barcode again.,Item tidak dijumpai. Imbas kembali kod bar.,
"Search by customer name, phone, email.","Cari mengikut nama pelanggan, telefon, e-mel.",
Enter discount percentage.,Masukkan peratusan diskaun.,
Discount cannot be greater than 100%,Diskaun tidak boleh melebihi 100%,
Enter customer's email,Masukkan e-mel pelanggan,
Enter customer's phone number,Masukkan nombor telefon pelanggan,
Customer contact updated successfully.,Kenalan pelanggan berjaya dikemas kini.,
Item will be removed since no serial / batch no selected.,Item akan dikeluarkan kerana tiada siri / kumpulan tidak dipilih.,
Discount (%),Diskaun (%),
You cannot submit the order without payment.,Anda tidak boleh menghantar pesanan tanpa pembayaran.,
You cannot submit empty order.,Anda tidak boleh menghantar pesanan kosong.,
To Be Paid,Untuk Dibayar,
Create POS Opening Entry,Buat Entri Pembukaan POS,
Please add Mode of payments and opening balance details.,Sila tambah kaedah pembayaran dan butiran baki pembukaan.,
Toggle Recent Orders,Togol Pesanan Terkini,
Save as Draft,Menyimpan sebagai draf,
You must add atleast one item to save it as draft.,Anda mesti menambahkan sekurang-kurangnya satu item untuk menyimpannya sebagai draf.,
There was an error saving the document.,Terdapat ralat semasa menyimpan dokumen.,
You must select a customer before adding an item.,Anda mesti memilih pelanggan sebelum menambahkan item.,
Please Select a Company,Sila Pilih Syarikat,
Active Leads,Petunjuk Aktif,
Please Select a Company.,Sila Pilih Syarikat.,
BOM Operations Time,Masa Operasi BOM,
BOM ID,ID BOM,
BOM Item Code,Kod Item BOM,
Time (In Mins),Masa (Dalam Mins),
Sub-assembly BOM Count,Kiraan BOM sub-pemasangan,
View Type,Jenis Lihat,
Total Delivered Amount,Jumlah yang dihantar,
Downtime Analysis,Analisis Waktu Henti,
Machine,Mesin,
Downtime (In Hours),Waktu Henti (Dalam Jam),
Employee Analytics,Analisis Pekerja,
"""From date"" can not be greater than or equal to ""To date""",&quot;Dari tarikh&quot; tidak boleh lebih besar dari atau sama dengan &quot;Sehingga kini&quot;,
Exponential Smoothing Forecasting,Ramalan Pelicinan Eksponensial,
First Response Time for Issues,Masa Respons Pertama untuk Isu,
First Response Time for Opportunity,Masa Respons Pertama untuk Peluang,
Depreciatied Amount,Jumlah Susut Nilai,
Period Based On,Tempoh Berdasarkan,
Date Based On,Tarikh Berdasarkan,
{0} and {1} are mandatory,{0} dan {1} adalah wajib,
Consider Accounting Dimensions,Pertimbangkan Dimensi Perakaunan,
Income Tax Deductions,Potongan Cukai Pendapatan,
Income Tax Component,Komponen Cukai Pendapatan,
Income Tax Amount,Amaun Cukai Pendapatan,
Reserved Quantity for Production,Kuantiti Terpelihara untuk Pengeluaran,
Projected Quantity,Kuantiti yang diunjurkan,
 Total Sales Amount,Jumlah Jualan,
Job Card Summary,Ringkasan Kad Kerja,
Id,ID,
Time Required (In Mins),Masa yang Diperlukan (Dalam Mins),
From Posting Date,Dari Tarikh Pengeposan,
To Posting Date,Ke Tarikh Pengeposan,
No records found,Tiada rekod dijumpai,
Customer/Lead Name,Nama Pelanggan / Utama,
Unmarked Days,Hari Tanpa Tanda,
Jan,Jan,
Feb,Feb.,
Mar,Mac,
Apr,Apr.,
Aug,Ogos,
Sep,Sep,
Oct,Okt.,
Nov,Nov,
Dec,Dis,
Summarized View,Ringkasan Pandangan,
Production Planning Report,Laporan Perancangan Pengeluaran,
Order Qty,Pesan Kuantiti,
Raw Material Code,Kod Bahan Mentah,
Raw Material Name,Nama Bahan Mentah,
Allotted Qty,Kuantiti yang diperuntukkan,
Expected Arrival Date,Tarikh Ketibaan Dijangka,
Arrival Quantity,Kuantiti Ketibaan,
Raw Material Warehouse,Gudang Bahan Mentah,
Order By,Perintah oleh,
Include Sub-assembly Raw Materials,Sertakan Bahan Baku Sub-pemasangan,
Professional Tax Deductions,Potongan Cukai Profesional,
Program wise Fee Collection,Koleksi Yuran Program,
Fees Collected,Yuran Dikumpulkan,
Project Summary,Ringkasan Projek,
Total Tasks,Jumlah Tugas,
Tasks Completed,Tugas Selesai,
Tasks Overdue,Tugas Tertunggak,
Completion,Selesai,
Provident Fund Deductions,Potongan Dana Provident,
Purchase Order Analysis,Analisis Pesanan Pembelian,
From and To Dates are required.,Dari dan hingga tarikh diperlukan.,
To Date cannot be before From Date.,Hingga Tarikh tidak boleh sebelum Dari Tarikh.,
Qty to Bill,Kuantiti untuk Bil,
Group by Purchase Order,Kumpulan mengikut Pesanan Pembelian,
 Purchase Value,Nilai Pembelian,
Total Received Amount,Jumlah yang Diterima,
Quality Inspection Summary,Ringkasan Pemeriksaan Kualiti,
 Quoted Amount,Jumlah Dipetik,
Lead Time (Days),Masa Lead (Hari),
Include Expired,Sertakan Tamat Tempoh,
Recruitment Analytics,Analisis Pengambilan,
Applicant name,Nama pemohon,
Job Offer status,Status Tawaran Kerja,
On Date,Pada tarikh,
Requested Items to Order and Receive,Item yang Diminta untuk Memesan dan Menerima,
Salary Payments Based On Payment Mode,Pembayaran Gaji Berdasarkan Kaedah Pembayaran,
Salary Payments via ECS,Pembayaran Gaji melalui ECS,
Account No,Nombor akaun,
IFSC,IFSC,
MICR,MICR,
Sales Order Analysis,Analisis Pesanan Jualan,
Amount Delivered,Jumlah Dihantar,
Delay (in Days),Kelewatan (dalam Hari),
Group by Sales Order,Kumpulan mengikut Pesanan Jualan,
 Sales Value,Nilai Jualan,
Stock Qty vs Serial No Count,Kuantiti Stok vs Jumlah Kira,
Serial No Count,Tiada Kiraan Bersiri,
Work Order Summary,Ringkasan Pesanan Kerja,
Produce Qty,Menghasilkan Kuantiti,
Lead Time (in mins),Lead Time (dalam minit),
Charts Based On,Carta Berdasarkan,
YouTube Interactions,Interaksi YouTube,
Published Date,Tarikh Terbitan,
Barnch,Barnch,
Select a Company,Pilih Syarikat,
Opportunity {0} created,Peluang {0} dibuat,
Kindly select the company first,Pilih syarikat terlebih dahulu,
Please enter From Date and To Date to generate JSON,Sila masukkan Dari Tarikh dan Hingga Tarikh untuk menghasilkan JSON,
PF Account,Akaun PF,
PF Amount,Jumlah PF,
Additional PF,PF tambahan,
PF Loan,Pinjaman PF,
Download DATEV File,Muat turun Fail DATEV,
Numero has not set in the XML file,Numero belum ditetapkan dalam fail XML,
Inward Supplies(liable to reverse charge),Bekalan Masuk (dikenakan cas balik),
This is based on the course schedules of this Instructor,Ini berdasarkan jadual kursus Pengajar ini,
Course and Assessment,Kursus dan Penilaian,
Course {0} has been added to all the selected programs successfully.,Kursus {0} telah berjaya ditambahkan ke semua program yang dipilih.,
Programs updated,Program dikemas kini,
Program and Course,Program dan Kursus,
{0} or {1} is mandatory,{0} atau {1} adalah wajib,
Mandatory Fields,Bidang Wajib,
Student {0}: {1} does not belong to Student Group {2},Pelajar {0}: {1} tidak tergolong dalam Kumpulan Pelajar {2},
Student Attendance record {0} already exists against the Student {1},Rekod Kehadiran Pelajar {0} sudah ada terhadap Pelajar {1},
Duplicate Entry,Pendua Pendua,
Course and Fee,Kursus dan Yuran,
Not eligible for the admission in this program as per Date Of Birth,Tidak layak untuk masuk dalam program ini mengikut Tarikh Lahir,
Topic {0} has been added to all the selected courses successfully.,Topik {0} telah berjaya ditambahkan ke semua kursus yang dipilih.,
Courses updated,Kursus dikemas kini,
{0} {1} has been added to all the selected topics successfully.,{0} {1} telah berjaya ditambahkan ke semua topik yang dipilih.,
Topics updated,Topik dikemas kini,
Academic Term and Program,Istilah dan Program Akademik,
Last Stock Transaction for item {0} was on {1}.,Transaksi Stok Terakhir untuk item {0} pada {1}.,
Stock Transactions for Item {0} cannot be posted before this time.,Transaksi Saham untuk Item {0} tidak dapat diposkan sebelum waktu ini.,
Please remove this item and try to submit again or update the posting time.,Sila keluarkan item ini dan cuba hantarkan sekali lagi atau kemas kini masa pengeposan.,
Failed to Authenticate the API key.,Gagal mengesahkan kunci API.,
Invalid Credentials,Kelayakan Tidak Sah,
URL can only be a string,URL hanya boleh menjadi rentetan,
"Here is your webhook secret, this will be shown to you only once.","Inilah rahsia webhook anda, ini akan ditunjukkan kepada anda sekali sahaja.",
The payment for this membership is not paid. To generate invoice fill the payment details,"Bayaran untuk keahlian ini tidak dibayar. Untuk menghasilkan invois, isi maklumat pembayaran",
An invoice is already linked to this document,Invois sudah dipautkan ke dokumen ini,
No customer linked to member {},Tidak ada pelanggan yang dihubungkan dengan ahli {},
You need to set <b>Debit Account</b> in Membership Settings,Anda perlu menetapkan <b>Akaun Debit</b> dalam Tetapan Keahlian,
You need to set <b>Default Company</b> for invoicing in Membership Settings,Anda perlu menetapkan <b>Syarikat Lalai</b> untuk membuat invois dalam Tetapan Keahlian,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Anda perlu mengaktifkan <b>Kirim E-mel Pengakuan</b> dalam Tetapan Keahlian,
Error creating membership entry for {0},Ralat semasa membuat entri keahlian untuk {0},
A customer is already linked to this Member,Pelanggan sudah dihubungkan dengan Ahli ini,
End Date must not be lesser than Start Date,Tarikh Akhir tidak boleh kurang daripada Tarikh Mula,
Employee {0} already has Active Shift {1}: {2},Pekerja {0} sudah mempunyai Shift Aktif {1}: {2},
 from {0},dari {0},
 to {0},ke {0},
Please select Employee first.,Sila pilih Pekerja terlebih dahulu.,
Please set {0} for the Employee or for Department: {1},Sila tetapkan {0} untuk Pekerja atau untuk Jabatan: {1},
To Date should be greater than From Date,Sehingga Tarikh hendaklah lebih besar daripada Dari Tarikh,
Employee Onboarding: {0} is already for Job Applicant: {1},Pekerja Onboarding: {0} sudah untuk Pemohon Pekerjaan: {1},
Job Offer: {0} is already for Job Applicant: {1},Tawaran Pekerjaan: {0} sudah ada untuk Pemohon Pekerjaan: {1},
Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Hanya Permintaan Shift dengan status &#39;Diluluskan&#39; dan &#39;Ditolak&#39; yang dapat dikirimkan,
Shift Assignment: {0} created for Employee: {1},Tugasan Shift: {0} dibuat untuk Pekerja: {1},
You can not request for your Default Shift: {0},Anda tidak boleh meminta Peralihan Lalai: {0},
Only Approvers can Approve this Request.,Hanya Pelulus yang dapat Meluluskan Permintaan ini,
Asset Value Analytics,Analisis Nilai Aset,
Category-wise Asset Value,Nilai Aset mengikut kategori,
Total Assets,Jumlah aset,
New Assets (This Year),Aset Baru (Tahun Ini),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Baris # {}: Tarikh Pengeposan Susutnilai tidak boleh sama dengan Tarikh Tersedia untuk Digunakan.,
Incorrect Date,Tarikh Tidak Betul,
Invalid Gross Purchase Amount,Amaun Pembelian Kasar Tidak Sah,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Terdapat penyelenggaraan atau pembaikan aktif terhadap aset tersebut. Anda mesti melengkapkan semuanya sebelum membatalkan aset.,
% Complete,% Lengkap,
Back to Course,Kembali ke Kursus,
Finish Topic,Topik Selesai,
Mins,Min,
by,oleh,
Back to,Kembali kepada,
Enrolling...,Mendaftar ...,
You have successfully enrolled for the program ,Anda berjaya mendaftar untuk program ini,
Enrolled,Mendaftar,
Watch Intro,Tonton Pengenalan,
We're here to help!,Kami sedia membantu!,
Frequently Read Articles,Kerap Membaca Artikel,
Please set a default company address,Sila tetapkan alamat syarikat lalai,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} bukan keadaan yang sah! Periksa kesalahan ketik atau masukkan kod ISO untuk negeri anda.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Ralat berlaku semasa menghuraikan Carta Akaun: Pastikan tidak ada dua akaun yang mempunyai nama yang sama,
Plaid invalid request error,Kesalahan permintaan kotak-kotak tidak sah,
Please check your Plaid client ID and secret values,Sila periksa ID pelanggan Plaid dan nilai rahsia anda,
Bank transaction creation error,Kesalahan penciptaan transaksi bank,
Unit of Measurement,Unit Pengukuran,
Row #{}: Selling rate for item {} is lower than its {}. Selling rate should be atleast {},Baris # {}: Kadar penjualan item {} lebih rendah daripada {}. Harga jualan mestilah sekurang-kurangnya {},
Fiscal Year {0} Does Not Exist,Tahun Fiskal {0} Tidak Ada,
Row # {0}: Returned Item {1} does not exist in {2} {3},Baris # {0}: Item yang Dikembalikan {1} tidak ada di {2} {3},
Valuation type charges can not be marked as Inclusive,Caj jenis penilaian tidak boleh ditandakan sebagai Inklusif,
You do not have permissions to {} items in a {}.,Anda tidak mempunyai izin untuk {} item dalam {}.,
Insufficient Permissions,Kebenaran Tidak mencukupi,
You are not allowed to update as per the conditions set in {} Workflow.,Anda tidak diizinkan untuk mengemas kini sesuai dengan syarat yang ditetapkan dalam {} Alur Kerja.,
Expense Account Missing,Akaun Perbelanjaan Tiada,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} bukan Nilai yang sah untuk Atribut {1} Item {2}.,
Invalid Value,Nilai Tidak Sah,
The value {0} is already assigned to an existing Item {1}.,Nilai {0} sudah ditetapkan untuk Item yang ada {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Untuk masih meneruskan pengeditan Nilai Atribut ini, aktifkan {0} dalam Tetapan Varian Item.",
Edit Not Allowed,Edit Tidak Dibolehkan,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Baris # {0}: Item {1} sudah diterima sepenuhnya dalam Pesanan Pembelian {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Anda tidak boleh membuat atau membatalkan penyertaan perakaunan dalam Tempoh Perakaunan tertutup {0},
POS Invoice should have {} field checked.,Faktur POS semestinya {} bidang diperiksa.,
Invalid Item,Item Tidak Sah,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Baris # {}: Anda tidak boleh menambahkan jumlah pasif dalam invois pulangan. Sila keluarkan item {} untuk menyelesaikan pengembalian.,
The selected change account {} doesn't belongs to Company {}.,Akaun perubahan yang dipilih {} bukan milik Syarikat {}.,
Atleast one invoice has to be selected.,Sekurang-kurangnya satu invois mesti dipilih.,
Payment methods are mandatory. Please add at least one payment method.,Kaedah pembayaran adalah wajib. Sila tambah sekurang-kurangnya satu kaedah pembayaran.,
Please select a default mode of payment,Sila pilih kaedah pembayaran lalai,
You can only select one mode of payment as default,Anda hanya boleh memilih satu kaedah pembayaran sebagai lalai,
Missing Account,Akaun Tiada,
Customers not selected.,Pelanggan tidak terpilih.,
Statement of Accounts,Penyata Akaun,
Ageing Report Based On ,Laporan Penuaan Berdasarkan,
Please enter distributed cost center,Sila masukkan pusat kos yang diedarkan,
Total percentage allocation for distributed cost center should be equal to 100,Jumlah peruntukan peratusan untuk pusat kos yang diedarkan hendaklah sama dengan 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Tidak dapat mengaktifkan Pusat Kos Teragih untuk Pusat Kos yang telah diperuntukkan di Pusat Kos Teragih yang lain,
Parent Cost Center cannot be added in Distributed Cost Center,Pusat Kos Ibu Bapa tidak dapat ditambahkan di Pusat Kos Teragih,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Pusat Kos Teragih tidak dapat ditambahkan dalam jadual peruntukan Pusat Kos Teragih.,
Cost Center with enabled distributed cost center can not be converted to group,Pusat Kos dengan pusat kos diedarkan yang diaktifkan tidak dapat ditukar kepada kumpulan,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Pusat Kos Sudah Diagihkan di Pusat Kos Teragih tidak dapat ditukar kepada kumpulan,
Trial Period Start date cannot be after Subscription Start Date,Tarikh Mula Tempoh Percubaan tidak boleh selepas Tarikh Mula Langganan,
Subscription End Date must be after {0} as per the subscription plan,Tarikh Akhir Langganan mestilah selepas {0} mengikut rancangan langganan,
Subscription End Date is mandatory to follow calendar months,Tarikh Akhir Langganan wajib diikuti bulan kalendar,
Row #{}: POS Invoice {} is not against customer {},Baris # {}: POS Invoice {} tidak bertentangan dengan pelanggan {},
Row #{}: POS Invoice {} is not submitted yet,Baris # {}: Faktur POS {} belum dihantar,
Row #{}: POS Invoice {} has been {},Baris # {}: Faktur POS {} telah {},
No Supplier found for Inter Company Transactions which represents company {0},Tidak ditemukan Pembekal untuk Transaksi Antara Syarikat yang mewakili syarikat {0},
No Customer found for Inter Company Transactions which represents company {0},Tidak dijumpai Pelanggan untuk Transaksi Antara Syarikat yang mewakili syarikat {0},
Invalid Period,Tempoh Tidak Sah,
Selected POS Opening Entry should be open.,Entri Pembukaan POS yang dipilih hendaklah dibuka.,
Invalid Opening Entry,Penyertaan Pembukaan Tidak Sah,
Please set a Company,Sila tentukan Syarikat,
"Sorry, this coupon code's validity has not started","Maaf, kesahihan kod kupon ini belum bermula",
"Sorry, this coupon code's validity has expired","Maaf, kesahihan kod kupon ini telah tamat",
"Sorry, this coupon code is no longer valid","Maaf, kod kupon ini tidak lagi sah",
For the 'Apply Rule On Other' condition the field {0} is mandatory,"Untuk syarat &#39;Terapkan Peraturan Pada Lain&#39;, bidang {0} adalah wajib",
{1} Not in Stock,{1} Tidak Ada Stok,
Only {0} in Stock for item {1},Hanya Stok {0} untuk item {1},
Please enter a coupon code,Sila masukkan kod kupon,
Please enter a valid coupon code,Sila masukkan kod kupon yang sah,
Invalid Child Procedure,Prosedur Anak Tidak Sah,
Import Italian Supplier Invoice.,Import Invois Pembekal Itali.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","Nilai Penilaian untuk Item {0}, diperlukan untuk membuat catatan perakaunan untuk {1} {2}.",
 Here are the options to proceed:,Berikut adalah pilihan untuk meneruskan:,
"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.","Sekiranya item tersebut bertransaksi sebagai item Kadar Penilaian Sifar dalam entri ini, sila aktifkan &#39;Benarkan Kadar Penilaian Sifar&#39; dalam {0} jadual Item.",
"If not, you can Cancel / Submit this entry ","Sekiranya tidak, anda boleh Batalkan / Hantar entri ini",
 performing either one below:,melakukan salah satu di bawah:,
Create an incoming stock transaction for the Item.,Buat transaksi saham masuk untuk Item.,
Mention Valuation Rate in the Item master.,Sebutkan Nilai Penilaian dalam item Item.,
Valuation Rate Missing,Kadar Penilaian Hilang,
Serial Nos Required,Nombor Siri Diperlukan,
Quantity Mismatch,Ketidakcocokan Kuantiti,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Sila Kembalikan Item dan Kemas kini Daftar Pilih untuk meneruskan. Untuk menghentikan, batalkan Senarai Pilih.",
Out of Stock,Kehabisan Stok,
{0} units of Item {1} is not available.,{0} unit Item {1} tidak tersedia.,
Item for row {0} does not match Material Request,Item untuk baris {0} tidak sepadan dengan Permintaan Bahan,
Warehouse for row {0} does not match Material Request,Gudang untuk baris {0} tidak sepadan dengan Permintaan Bahan,
Accounting Entry for Service,Kemasukan Perakaunan untuk Perkhidmatan,
All items have already been Invoiced/Returned,Semua item telah diinvois / dikembalikan,
All these items have already been Invoiced/Returned,Semua item ini telah diinvois / dikembalikan,
Stock Reconciliations,Rekonsiliasi Saham,
Merge not allowed,Gabungan tidak dibenarkan,
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.,Atribut yang dihapus berikut terdapat dalam Varian tetapi tidak dalam Templat. Anda boleh memadam Varian atau menyimpan atribut dalam templat.,
Variant Items,Item Bervariasi,
Variant Attribute Error,Ralat Atribut Varian,
The serial no {0} does not belong to item {1},No siri {0} bukan milik item {1},
There is no batch found against the {0}: {1},Tidak ada kumpulan yang ditemukan terhadap {0}: {1},
Completed Operation,Selesai Operasi,
Work Order Analysis,Analisis Pesanan Kerja,
Quality Inspection Analysis,Analisis Pemeriksaan Kualiti,
Pending Work Order,Perintah Kerja Belum Selesai,
Last Month Downtime Analysis,Analisis Waktu Henti Bulan Lalu,
Work Order Qty Analysis,Analisis Kuantiti Pesanan Kerja,
Job Card Analysis,Analisis Kad Pekerjaan,
Monthly Total Work Orders,Jumlah Pesanan Kerja Bulanan,
Monthly Completed Work Orders,Pesanan Kerja Selesai Bulanan,
Ongoing Job Cards,Kad Kerja yang sedang berlangsung,
Monthly Quality Inspections,Pemeriksaan Kualiti Bulanan,
(Forecast),(Ramalan),
Total Demand (Past Data),Jumlah Permintaan (Data Lalu),
Total Forecast (Past Data),Jumlah Ramalan (Data Lalu),
Total Forecast (Future Data),Jumlah Ramalan (Data Masa Depan),
Based On Document,Berdasarkan Dokumen,
Based On Data ( in years ),Berdasarkan Data (dalam tahun),
Smoothing Constant,Melicinkan Pemalar,
Please fill the Sales Orders table,Sila isi jadual Pesanan Jualan,
Sales Orders Required,Perintah Jualan Diperlukan,
Please fill the Material Requests table,Sila isi jadual Permintaan Bahan,
Material Requests Required,Permintaan Bahan Diperlukan,
Items to Manufacture are required to pull the Raw Materials associated with it.,Item untuk Pembuatan diperlukan untuk menarik Bahan Baku yang berkaitan dengannya.,
Items Required,Item Diperlukan,
Operation {0} does not belong to the work order {1},Operasi {0} bukan milik perintah kerja {1},
Print UOM after Quantity,Cetak UOM selepas Kuantiti,
Set default {0} account for perpetual inventory for non stock items,Tetapkan akaun {0} lalai untuk inventori berterusan untuk item bukan stok,
Loan Security {0} added multiple times,Pinjaman Keselamatan {0} ditambahkan berkali-kali,
Loan Securities with different LTV ratio cannot be pledged against one loan,Sekuriti Pinjaman dengan nisbah LTV yang berbeza tidak boleh dijaminkan dengan satu pinjaman,
Qty or Amount is mandatory for loan security!,Kuantiti atau Jumlah adalah wajib untuk keselamatan pinjaman!,
Only submittted unpledge requests can be approved,Hanya permintaan unpledge yang dihantar dapat disetujui,
Interest Amount or Principal Amount is mandatory,Jumlah Faedah atau Amaun adalah wajib,
Disbursed Amount cannot be greater than {0},Jumlah yang dikeluarkan tidak boleh lebih besar daripada {0},
Row {0}: Loan Security {1} added multiple times,Baris {0}: Keselamatan Pinjaman {1} ditambahkan berkali-kali,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Baris # {0}: Item Anak tidak boleh menjadi Kumpulan Produk. Sila keluarkan Item {1} dan Simpan,
Credit limit reached for customer {0},Had kredit dicapai untuk pelanggan {0},
Could not auto create Customer due to the following missing mandatory field(s):,Tidak dapat membuat Pelanggan secara automatik kerana bidang wajib berikut tidak ada:,
Please create Customer from Lead {0}.,Sila buat Pelanggan dari Lead {0}.,
Mandatory Missing,Wajib Hilang,
Please set Payroll based on in Payroll settings,Sila tetapkan Payroll berdasarkan dalam tetapan Payroll,
Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Gaji Tambahan: {0} sudah ada untuk Komponen Gaji: {1} untuk tempoh {2} dan {3},
From Date can not be greater than To Date.,Dari Tarikh tidak boleh lebih besar daripada Tarikh.,
Payroll date can not be less than employee's joining date.,Tarikh gaji tidak boleh kurang dari tarikh penyertaan pekerja.,
From date can not be less than employee's joining date.,Dari tarikh tidak boleh kurang dari tarikh penyertaan pekerja.,
To date can not be greater than employee's relieving date.,Sehingga kini tidak boleh lebih besar daripada tarikh melegakan pekerja.,
Payroll date can not be greater than employee's relieving date.,Tarikh gaji tidak boleh lebih besar daripada tarikh pelepasan pekerja.,
Row #{0}: Please enter the result value for {1},Baris # {0}: Masukkan nilai hasil untuk {1},
Mandatory Results,Keputusan Wajib,
Sales Invoice or Patient Encounter is required to create Lab Tests,Invois Jualan atau Perjumpaan Pesakit diperlukan untuk membuat Ujian Makmal,
Insufficient Data,Data tidak mencukupi,
Lab Test(s) {0} created successfully,Ujian Makmal {0} berjaya dibuat,
Test :,Ujian:,
Sample Collection {0} has been created,Koleksi Sampel {0} telah dibuat,
Normal Range: ,Julat Biasa:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Baris # {0}: Waktu keluar Checkout tidak boleh kurang daripada waktu masuk Check In,
"Missing required details, did not create Inpatient Record","Tiada butiran yang diperlukan, tidak membuat Rekod Pesakit Dalam",
Unbilled Invoices,Invois yang tidak ditagih,
Standard Selling Rate should be greater than zero.,Kadar Jual Piawai harus lebih besar daripada sifar.,
Conversion Factor is mandatory,Faktor Penukaran adalah wajib,
Row #{0}: Conversion Factor is mandatory,Baris # {0}: Faktor Penukaran adalah wajib,
Sample Quantity cannot be negative or 0,Kuantiti Sampel tidak boleh negatif atau 0,
Invalid Quantity,Kuantiti Tidak Sah,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Sila tetapkan lalai untuk Kumpulan Pelanggan, Wilayah dan Senarai Harga Jual dalam Tetapan Jual",
{0} on {1},{0} pada {1},
{0} with {1},{0} dengan {1},
Appointment Confirmation Message Not Sent,Mesej Pengesahan Janji Temu Tidak Dihantar,
"SMS not sent, please check SMS Settings","SMS tidak dihantar, sila periksa Tetapan SMS",
Healthcare Service Unit Type cannot have both {0} and {1},Jenis Unit Perkhidmatan Kesihatan tidak boleh mempunyai kedua-dua {0} dan {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Jenis Unit Perkhidmatan Kesihatan mesti membenarkan sekurang-kurangnya satu antara {0} dan {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Tetapkan Masa Respons dan Masa Penyelesaian untuk Keutamaan {0} berturut-turut {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Masa Respons untuk {0} keutamaan dalam baris {1} tidak boleh lebih besar daripada Waktu Penyelesaian.,
{0} is not enabled in {1},{0} tidak diaktifkan di {1},
Group by Material Request,Kumpulkan mengikut Permintaan Bahan,
"Row {0}: For Supplier {0}, Email Address is Required to Send Email","Baris {0}: Untuk Pembekal {0}, Alamat E-mel Diperlukan untuk Menghantar E-mel",
Email Sent to Supplier {0},E-mel Dihantar ke Pembekal {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Akses untuk Meminta Sebutharga Dari Portal Dinyahdayakan. Untuk Membolehkan Akses, Aktifkannya dalam Tetapan Portal.",
Supplier Quotation {0} Created,Sebut Harga Pembekal {0} Dibuat,
Valid till Date cannot be before Transaction Date,Sah sehingga Tarikh tidak boleh sebelum Tarikh Transaksi,
