"""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,
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,
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,
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.,
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 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/Remove Recipients,Tambah / Buang Penerima,
Added,Ditambah,
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 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,
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},
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,
Application of Funds (Assets),Permohonan Dana (Aset),
Applied,Applied,
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,
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),
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 To,Berikan Untuk,
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 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 has been marked successfully.,Kehadiran telah ditandakan dengan jayanya.,
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 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 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,
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,
Black,Black,
Blanket Orders from Costumers.,Pesanan Blanket dari Costumers.,
Block Invoice,Blok Invois,
Boms,Boms,
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,
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 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 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,
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 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,
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 leave request days not in valid holidays,Hari permintaan cuti pampasan tidak bercuti,
Complaint,Aduan,
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 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 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 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 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 {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 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 Assets,Aset semasa,
Current BOM and New BOM can not be same,BOM semasa dan New BOM tidak boleh sama,
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,
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 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 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,
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 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,
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 Advances,Pendahuluan 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 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 {0} has already applied for {1} between {2} and {3} : ,Pekerja {0} telah memohon untuk {1} antara {2} dan {3}:,
Employee {0} of grade {1} have no default leave policy,Pekerja {0} gred {1} tidak mempunyai dasar cuti lalai,
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,
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,
"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,
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 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,
"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,
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, 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 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",
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 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 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},
Fulfillment,Fulfillment,
Full,Penuh,
Full Name,Nama Penuh,
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,
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 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 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,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Yearly,Setengah Tahunan,
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,
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,
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,
Interests,minat,
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 card {0} created,Kad kerja {0} dibuat,
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 Management,Tinggalkan Pengurusan,
Leave and Attendance,Tinggalkan dan Kehadiran,
Leave application {0} already exists against the student {1},Meninggalkan aplikasi {0} sudah wujud terhadap pelajar {1},
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,
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,
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 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 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 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 discount for Item {0} is {1}%,Diskaun maksimum untuk Item {0} ialah {1}%,
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,
Model,Model,
Moderate Sensitivity,Kepekaan Moderat,
Monday,Isnin,
Monthly,Bulanan,
Monthly Distribution,Pengagihan Bulanan,
More,Lebih banyak,
More Information,Maklumat lanjut,
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 Profit,Keuntungan bersih,
Net Total,Jumlah bersih,
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 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 Remarks,Tidak Catatan,
No Result to submit,Tiada Keputusan untuk dihantar,
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 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 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 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.,
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 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. 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,
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,
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,
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,
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 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 request {0} created,Permintaan pembayaran {0} dibuat,
Payments,Pembayaran,
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,
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 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 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 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 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 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 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 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 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 {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 Customer Address,Sila tetapkan Alamat Pelanggan,
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 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 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,
Prev,terdahulu,
Preview,Preview,
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,
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,
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,
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,
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,
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.,
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,
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}# 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}: 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} 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 submitted for period from {0} to {1},Slip Gaji dihantar untuk tempoh dari {0} hingga {1},
Salary Structure must be submitted before submission of Tax Ememption Declaration,Struktur gaji hendaklah dikemukakan sebelum penyerahan Deklarasi Pengecualian Cukai,
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,
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,
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 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 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 mass SMS to your contacts,Hantar SMS massa ke kenalan anda,
Sensitivity,Kepekaan,
Sent,Dihantar,
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 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 Open,Tunjukkan terbuka,
Show Opening Entries,Tunjukkan Penyertaan Pembukaan,
Show Payment Details,Tunjukkan Butiran Pembayaran,
Show Return Entries,Tunjukkan Penyertaan Semula,
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,
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}",
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,
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 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 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,
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 this Work Order for further processing.,Serahkan Perintah Kerja ini untuk pemprosesan selanjutnya.,
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,
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 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 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 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 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 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 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 {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 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 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 Invoiced Amount,Jumlah Invois,
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 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 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 hours: {0},Jumlah jam: {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.,
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 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 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 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",
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,
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: 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 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.,
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-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 set Frozen value,Anda tiada kebenaran untuk menetapkan nilai Beku,
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'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 enough 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} 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 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} 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} 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}: 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 {},
Assigned To,Ditugaskan Untuk,
Chat,Chat,
Completed By,Selesai oleh,
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,
Parent,Ibu Bapa,
Passive,Pasif,
Payment Failed,pembayaran Gagal,
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,
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",
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,
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},
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.,
Show {0},Tunjukkan {0},
"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Watak Khas kecuali &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; Dan &quot;}}&quot; tidak dibenarkan dalam siri penamaan {0}",
Target Details,Butiran Sasaran,
{0} already has a Parent Procedure {1}.,{0} sudah mempunyai Tatacara Ibu Bapa {1}.,
API,API,
Annual,Tahunan,
Change,Perubahan,
Contact Email,Hubungi E-mel,
Export Type,Jenis Eksport,
From Date,Dari Tarikh,
Group By,Kumpulan Oleh,
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,
Scheduler Inactive,Penjadual tidak aktif,
Scheduler is inactive. Cannot import data.,Penjadual tidak aktif. Tidak dapat mengimport data.,
Show Document,Tunjukkan Dokumen,
Show Traceback,Tunjukkan Traceback,
Video,Video,
Webhook Secret,Webhook Secret,
% Of Grand Total,% Daripada jumlah keseluruhan,
<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 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 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.,
All,Semua,
All bank transactions have been created,Semua transaksi bank telah dibuat,
All the depreciations has been booked,Semua susut nilai telah ditempah,
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,
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.,
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 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 ...,
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 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,
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,
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,
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,
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,
Leaves Taken,Daun Diambil,
Less Than Amount,Kurang Daripada Jumlah,
Liabilities,Liabiliti,
Loading...,Loading ...,
Loan Applications from customers and employees.,Permohonan Pinjaman dari pelanggan dan pekerja.,
Loan Processes,Proses Pinjaman,
Loan Type for interest and penalty rates,Jenis Pinjaman untuk kadar faedah dan penalti,
Loans,Pinjaman,
Loans provided to customers and employees.,Pinjaman yang diberikan kepada pelanggan dan pekerja.,
Location,Lokasi,
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 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,
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,
Patient History,Sejarah Pesakit,
Pause,Jeda,
Pay,Bayar,
Payment Document Type,Jenis Dokumen Pembayaran,
Payment Name,Nama Pembayaran,
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 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 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 Customer first,Sila pilih Pelanggan terlebih dahulu,
Please select Item Code first,Sila pilih Kod Item terlebih dahulu,
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
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,
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,
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,
Rename Not Allowed,Namakan semula Tidak Dibenarkan,
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},
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 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}).,
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 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,
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.",
Total,Jumlah,
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,
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 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,
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,
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 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,
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,
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,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,
Group by,Group By,
In stock,Dalam stok,
Item name,Nama Item,
Minimum Qty,Qty Minimum,
More details,Maklumat lanjut,
Nature of Supplies,Alam Bekalan,
No Items found.,Tiada item dijumpai.,
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,
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}.",
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,
Leaves Expired,Daun Tamat Tempoh,
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,
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,
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,
Over Billing Allowance (%),Lebih Elaun Penagihan (%),
Credit Controller,Pengawal Kredit,
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,
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 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,
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,
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.",
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,
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,
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,
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,
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,
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 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,
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,
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,
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,
HR,HR,
Date on which this component is applied,Tarikh di mana komponen ini digunakan,
Salary Slip,Slip Gaji,
HR User,HR pengguna,
Job Applicant,Kerja Pemohon,
Body,Badan,
Appraisal Template,Templat Penilaian,
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,
Required Skills,Kemahiran yang Diperlukan,
Skills,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,
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 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,
New Workplace,New Tempat Kerja,
Returned Amount,Jumlah yang dikembalikan,
Advance Account,Akaun Advance,
Benefits Applied,Faedah yang Dipohon,
Benefit Type and Amount,Jenis dan Amaun Manfaat,
Task Weight,tugas Berat,
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,
Employee Group Table,Jadual Kumpulan Pekerja,
ERPNext User ID,ID pengguna ERPNext,
Employee Internal Work History,Pekerja Dalam Sejarah Kerja,
Activities,Aktiviti,
Employee Onboarding Activity,Aktiviti Onboarding Pekerja,
Employee Promotion Detail,Butiran Promosi Pekerja,
Employee Transfer Property,Harta Pemindahan Pekerja,
Unclaimed amount,Jumlah tidak dituntut,
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,
Retirement Age,Umur persaraan,
Enter retirement age in years,Masukkan umur persaraan pada tahun-tahun,
Stop Birthday Reminders,Stop Hari Lahir Peringatan,
Leave Settings,Tinggalkan Tetapan,
Accepted,Diterima,
Printing Details,Percetakan Butiran,
Job Title,Tajuk Kerja,
Allocation,Peruntukan,
Select Employees,Pilih Pekerja,
Allocate,Memperuntukkan,
Max Leaves Allowed,Daun Maks Dibenarkan,
Maximum Continuous Days Applicable,Hari Berterusan Maksimum Berkenaan,
Select Payroll Period,Pilih Tempoh Payroll,
Abbr,Abbr,
Condition and Formula,Keadaan dan Formula,
Total Working Hours,Jumlah Jam Kerja,
Hour Rate,Kadar jam,
Bank Account No.,No. Akaun Bank,
Earning & Deduction,Pendapatan &amp; 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,
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.,
Staffing Plan Details,Butiran Rancangan Pengambilan Kakitangan,
Optional,Pilihan,
Costing,Berharga,
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,
last Odometer Value ,Nilai Odometer lepas,
Service Detail,Detail perkhidmatan,
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,
Repay From Salary,Membayar balik dari Gaji,
Regular Payment,Pembayaran tetap,
Loan Closure,Penutupan Pinjaman,
Rate of Interest (%) Yearly,Kadar faedah (%) tahunan,
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,
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,
Allow Production on Holidays,Benarkan Pengeluaran pada Cuti,
Capacity Planning For (Days),Perancangan Keupayaan (Hari),
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,
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,
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 (via Timesheet),Masa Sebenar (dalam Jam),
Costing and Billing,Kos dan Billing,
Total Costing Amount (via Timesheet),Jumlah Kos Jumlah (melalui Timesheet),
Total Expense Claim (via Expense Claim),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 Timesheet),Jumlah Jumlah Yang Boleh Dibayar (melalui Timesheet),
Total Billed Amount (via Sales Invoice),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 Timesheet),Tarikh Mula Sebenar (melalui Lembaran Time),
Actual Time in Hours (via Timesheet),Masa sebenar (dalam jam),
Actual End Date (via Timesheet),Sebenar Tarikh Akhir (melalui Lembaran Time),
Total Expense Claim (via Expense Claim),Jumlah Tuntutan Perbelanjaan (melalui Perbelanjaan Tuntutan),
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,
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,
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,
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,
Default Quotation Validity Days,Hari Kesahan Sebutharga Lalai,
Sales Update Frequency,Kekerapan Kemas Kini Jualan,
Each Transaction,Setiap Transaksi,
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,
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.-,
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,
Show Barcode Field,Show Barcode Field,
Convert Item Description to Clean HTML,Tukar Penerangan Penerangan untuk HTML Bersih,
Allow Negative Stock,Benarkan Saham Negatif,
Automatically Set Serial Nos based on FIFO,Set Siri Nos secara automatik berdasarkan FIFO,
Auto Material Request,Bahan Auto Permintaan,
Inter Warehouse Transfer Settings,Tetapan Pemindahan Antara Gudang,
Freeze Stock Entries,Freeze Saham Penyertaan,
Stock Frozen Upto,Saham beku Upto,
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,
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,
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 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,
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,
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,
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,
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,
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,
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},
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,
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,
Days,Hari-hari,
Months,Sebulan,
Book Deferred Entries Via Journal Entry,Tempah Entri Ditangguhkan Melalui Kemasukan Jurnal,
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,
"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.-,
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,
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,
Feedback By,Maklum Balas Oleh,
Manufacturing Section,Bahagian Pembuatan,
"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,
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,
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,
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,
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,
Requested Items to Order and Receive,Item yang Diminta untuk Memesan dan Menerima,
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,
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},
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,
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 set {0} for the Employee or for Department: {1},Sila tetapkan {0} untuk Pekerja atau untuk Jabatan: {1},
Employee Onboarding: {0} is already for Job Applicant: {1},Pekerja Onboarding: {0} sudah untuk Pemohon Pekerjaan: {1},
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,
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,
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,
From Date can not be greater than To Date.,Dari Tarikh tidak boleh lebih besar daripada Tarikh.,
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,
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,
Unlink Advance Payment on Cancellation of Order,Nyahpaut Bayaran Pendahuluan pada Pembatalan Pesanan,
"Simple Python Expression, Example: territory != 'All Territories'","Ungkapan Python Ringkas, Contoh: wilayah! = &#39;Semua Wilayah&#39;",
Sales Contributions and Incentives,Sumbangan dan Insentif Jualan,
Sourced by Supplier,Diperolehi oleh Pembekal,
Total weightage assigned should be 100%.<br>It is {0},Jumlah berat yang diberikan mestilah 100%.<br> Ia adalah {0},
Account {0} exists in parent company {1}.,Akaun {0} wujud di syarikat induk {1}.,
"To overrule this, enable '{0}' in company {1}","Untuk mengatasi perkara ini, aktifkan &#39;{0}&#39; di syarikat {1}",
Invalid condition expression,Ungkapan keadaan tidak sah,
Please Select a Company First,Sila Pilih Syarikat Pertama,
Please Select Both Company and Party Type First,Sila Pilih Kedua-dua Jenis Syarikat dan Pesta Pertama,
Provide the invoice portion in percent,Berikan bahagian invois dalam bentuk peratus,
Give number of days according to prior selection,Berikan bilangan hari mengikut pilihan sebelumnya,
Email Details,Maklumat E-mel,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Pilih ucapan untuk penerima. Cth Mr., Ms., dll.",
Preview Email,Pratonton E-mel,
Please select a Supplier,Sila pilih Pembekal,
Supplier Lead Time (days),Masa Lead Pembekal (hari),
"Home, Work, etc.","Rumah, Kerja, dll.",
Exit Interview Held On,Temu Duga Keluar Diadakan,
Sets 'Target Warehouse' in each row of the Items table.,Tetapkan &#39;Target Warehouse&#39; di setiap baris jadual Item.,
Sets 'Source Warehouse' in each row of the Items table.,Tetapkan &#39;Source Warehouse&#39; di setiap baris jadual Item.,
POS Register,Daftar POS,
"Can not filter based on POS Profile, if grouped by POS Profile","Tidak dapat menapis berdasarkan Profil POS, jika dikelompokkan berdasarkan Profil POS",
"Can not filter based on Customer, if grouped by Customer","Tidak dapat menapis berdasarkan Pelanggan, jika dikelompokkan oleh Pelanggan",
"Can not filter based on Cashier, if grouped by Cashier","Tidak dapat menapis berdasarkan Juruwang, jika dikelompokkan mengikut Juruwang",
Payment Method,Kaedah Pembayaran,
"Can not filter based on Payment Method, if grouped by Payment Method","Tidak dapat menapis berdasarkan Kaedah Pembayaran, jika dikelompokkan berdasarkan Kaedah Pembayaran",
Supplier Quotation Comparison,Perbandingan Sebut Harga Pembekal,
Price per Unit (Stock UOM),Harga seunit (Stok UOM),
Group by Supplier,Kumpulan mengikut Pembekal,
Group by Item,Kumpulan mengikut Item,
Remember to set {field_label}. It is required by {regulation}.,Ingatlah untuk menetapkan {field_label}. Ia diharuskan oleh {peraturan}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},Tarikh Pendaftaran tidak boleh sebelum Tarikh Mula Tahun Akademik {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},Tarikh Pendaftaran tidak boleh selepas Tarikh Akhir Tempoh Akademik {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},Tarikh Pendaftaran tidak boleh sebelum Tarikh Mula Istilah Akademik {0},
Future Posting Not Allowed,Pengeposan Masa Depan Tidak Dibolehkan,
"To enable Capital Work in Progress Accounting, ","Untuk membolehkan Kerja Modal dalam Perakaunan Progress,",
you must select Capital Work in Progress Account in accounts table,anda mesti memilih Capital Work in Progress Account dalam jadual akaun,
You can also set default CWIP account in Company {},Anda juga boleh menetapkan akaun CWIP lalai di Syarikat {},
The Request for Quotation can be accessed by clicking on the following button,Permintaan Sebutharga dapat diakses dengan mengklik butang berikut,
Regards,Salam,
Please click on the following button to set your new password,Klik pada butang berikut untuk menetapkan kata laluan baru anda,
Update Password,Kemas kini Kata Laluan,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Baris # {}: Kadar penjualan item {} lebih rendah daripada {}. Menjual {} harus sekurang-kurangnya {},
You can alternatively disable selling price validation in {} to bypass this validation.,Anda juga boleh mematikan pengesahan harga jualan di {} untuk memintas pengesahan ini.,
Invalid Selling Price,Harga Jual Tidak Sah,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,Alamat perlu dihubungkan ke Syarikat. Sila tambah baris untuk Syarikat dalam jadual Pautan.,
Company Not Linked,Syarikat Tidak Berkaitan,
Import Chart of Accounts from CSV / Excel files,Import Carta Akaun dari fail CSV / Excel,
Completed Qty cannot be greater than 'Qty to Manufacture',Kuantiti yang diselesaikan tidak boleh lebih besar daripada &#39;Kuantiti untuk Pembuatan&#39;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email","Baris {0}: Untuk Pembekal {1}, Alamat E-mel Diperlukan untuk menghantar e-mel",
"If enabled, the system will post accounting entries for inventory automatically","Sekiranya diaktifkan, sistem akan menghantar entri perakaunan untuk inventori secara automatik",
Accounts Frozen Till Date,Akaun Tarikh Beku,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Penyertaan perakaunan dibekukan sehingga tarikh ini. Tidak ada yang dapat membuat atau mengubah entri kecuali pengguna dengan peranan yang dinyatakan di bawah,
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Peranan Dibolehkan untuk Menetapkan Akaun Beku dan Mengedit Entri Beku,
Address used to determine Tax Category in transactions,Alamat yang digunakan untuk menentukan Kategori Pajak dalam transaksi,
"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Peratusan yang anda dibenarkan untuk menagih lebih banyak daripada jumlah yang dipesan. Sebagai contoh, jika nilai pesanan adalah $ 100 untuk item dan toleransi ditetapkan sebagai 10%, maka anda dibenarkan membayar sehingga $ 110",
This role is allowed to submit transactions that exceed credit limits,Peranan ini dibenarkan untuk menghantar transaksi yang melebihi had kredit,
"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Sekiranya &quot;Bulan&quot; dipilih, jumlah tetap akan dicatatkan sebagai hasil atau perbelanjaan tertunda untuk setiap bulan tanpa mengira jumlah hari dalam sebulan. Ia akan diprorata jika pendapatan atau perbelanjaan tertunda tidak ditempah selama satu bulan",
"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Sekiranya ini tidak dicentang, entri GL langsung akan dibuat untuk menempah hasil atau perbelanjaan tertunda",
Show Inclusive Tax in Print,Tunjukkan Cukai Termasuk dalam Cetakan,
Only select this if you have set up the Cash Flow Mapper documents,Pilih ini hanya jika anda telah menyediakan dokumen Cash Flow Mapper,
Payment Channel,Saluran Pembayaran,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Adakah Pesanan Pembelian Diperlukan untuk Pembuatan Invois &amp; Pembuatan Resit?,
Is Purchase Receipt Required for Purchase Invoice Creation?,Adakah Resit Pembelian Diperlukan untuk Pembuatan Invois Pembelian?,
Maintain Same Rate Throughout the Purchase Cycle,Kekalkan Kadar Yang Sama Sepanjang Kitaran Pembelian,
Allow Item To Be Added Multiple Times in a Transaction,Benarkan Item Ditambah Berkali-kali dalam Transaksi,
Suppliers,Pembekal,
Send Emails to Suppliers,Hantar E-mel kepada Pembekal,
Select a Supplier,Pilih Pembekal,
Cannot mark attendance for future dates.,Tidak dapat menandakan kehadiran untuk tarikh yang akan datang.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Adakah anda ingin mengemas kini kehadiran?<br> Hadir: {0}<br> Tidak hadir: {1},
Mpesa Settings,Tetapan Mpesa,
Initiator Name,Nama Pemula,
Till Number,Hingga Nombor,
Sandbox,Kotak pasir,
 Online PassKey,PassKey dalam talian,
Security Credential,Kelayakan Keselamatan,
Get Account Balance,Dapatkan Baki Akaun,
Please set the initiator name and the security credential,Sila tetapkan nama pemula dan bukti keselamatan,
Inpatient Medication Entry,Kemasukan Ubat Pesakit Dalam,
HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
Item Code (Drug),Kod Item (Dadah),
Medication Orders,Perintah Ubat,
Get Pending Medication Orders,Dapatkan Pesanan Perubatan Belum Selesai,
Inpatient Medication Orders,Perintah Ubat Pesakit Dalam,
Medication Warehouse,Gudang Ubat,
Warehouse from where medication stock should be consumed,Gudang dari mana stok ubat harus dimakan,
Fetching Pending Medication Orders,Mengambil Pesanan Perubatan yang Belum Selesai,
Inpatient Medication Entry Detail,Butiran Kemasukan Ubat Pesakit Dalam,
Medication Details,Butiran Ubat,
Drug Code,Kod Dadah,
Drug Name,Nama Dadah,
Against Inpatient Medication Order,Terhadap Perintah Ubat Pesakit Dalam,
Against Inpatient Medication Order Entry,Terhadap Kemasukan Perintah Ubat Pesakit Dalam,
Inpatient Medication Order,Perintah Ubat Pesakit Dalam,
HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
Total Orders,Jumlah Pesanan,
Completed Orders,Pesanan Selesai,
Add Medication Orders,Tambah Pesanan Ubat,
Adding Order Entries,Menambah Entri Pesanan,
{0} medication orders completed,{0} pesanan ubat selesai,
{0} medication order completed,{0} pesanan ubat selesai,
Inpatient Medication Order Entry,Kemasukan Pesanan Pesakit Ubat Pesakit,
Is Order Completed,Adakah Pesanan Selesai,
Employee Records to Be Created By,Rekod Pekerja yang Akan Dibuat Oleh,
Employee records are created using the selected field,Rekod pekerja dibuat menggunakan bidang yang dipilih,
Don't send employee birthday reminders,Jangan hantar peringatan hari lahir pekerja,
Restrict Backdated Leave Applications,Hadkan Permohonan Cuti Tertunda,
Sequence ID,ID urutan,
Sequence Id,Id Urutan,
Allow multiple material consumptions against a Work Order,Benarkan penggunaan banyak bahan berbanding Perintah Kerja,
Plan time logs outside Workstation working hours,Rancang log masa di luar waktu kerja Stesen Kerja,
Plan operations X days in advance,Rancang operasi X hari lebih awal,
Time Between Operations (Mins),Masa Antara Operasi (Min),
Default: 10 mins,Lalai: 10 minit,
Overproduction for Sales and Work Order,Pengeluaran berlebihan untuk Jualan dan Pesanan Kerja,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Kemas kini kos BOM secara automatik melalui penjadual, berdasarkan Kadar Penilaian / Harga Senarai Harga terkini / Kadar Pembelian Terakhir bahan mentah",
Purchase Order already created for all Sales Order items,Pesanan Pembelian sudah dibuat untuk semua item Pesanan Jualan,
Select Items,Pilih Item,
Against Default Supplier,Terhadap Pembekal Lalai,
Auto close Opportunity after the no. of days mentioned above,Peluang tutup automatik selepas no. hari yang dinyatakan di atas,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Adakah Perintah Jualan Diperlukan untuk Membuat Invois Jualan &amp; Pembuatan Catatan Penghantaran?,
Is Delivery Note Required for Sales Invoice Creation?,Adakah Nota Penghantaran Diperlukan untuk Pembuatan Invois Jualan?,
How often should Project and Company be updated based on Sales Transactions?,Berapa kerapkah Projek dan Syarikat mesti dikemas kini berdasarkan Transaksi Jualan?,
Allow User to Edit Price List Rate in Transactions,Benarkan Pengguna Mengedit Kadar Senarai Harga dalam Transaksi,
Allow Item to Be Added Multiple Times in a Transaction,Benarkan Item Ditambah Berkali-kali dalam Transaksi,
Allow Multiple Sales Orders Against a Customer's Purchase Order,Benarkan Pelbagai Pesanan Penjualan Berbanding Pesanan Pembelian Pelanggan,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Sahkan Harga Jual untuk Item Terhadap Kadar Pembelian atau Kadar Penilaian,
Hide Customer's Tax ID from Sales Transactions,Sembunyikan ID Cukai Pelanggan dari Transaksi Jualan,
"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Peratusan yang anda dibenarkan untuk menerima atau menyampaikan lebih banyak berbanding kuantiti yang dipesan. Sebagai contoh, jika anda telah memesan 100 unit, dan Elaun anda adalah 10%, maka anda dibenarkan menerima 110 unit.",
Action If Quality Inspection Is Not Submitted,Tindakan Sekiranya Pemeriksaan Kualiti Tidak Dihantar,
Auto Insert Price List Rate If Missing,Kadar Senarai Harga Sisipkan Auto Sekiranya Hilang,
Automatically Set Serial Nos Based on FIFO,Secara automatik Tetapkan Nombor Serial Berdasarkan FIFO,
Set Qty in Transactions Based on Serial No Input,Tetapkan Kuantiti dalam Transaksi Berdasarkan Siri Tanpa Input,
Raise Material Request When Stock Reaches Re-order Level,Tingkatkan Permintaan Bahan Apabila Stok Mencapai Tahap Pesanan Semula,
Notify by Email on Creation of Automatic Material Request,Maklumkan melalui E-mel mengenai Pembuatan Permintaan Bahan Automatik,
Allow Material Transfer from Delivery Note to Sales Invoice,Benarkan Pemindahan Bahan dari Nota Penghantaran ke Invois Jualan,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Benarkan Pemindahan Bahan dari Resit Pembelian ke Invois Pembelian,
Freeze Stocks Older Than (Days),Bekukan Stok Lebih Lama Daripada (Hari),
Role Allowed to Edit Frozen Stock,Peranan Dibolehkan Mengedit Stok Beku,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Jumlah Entri Pembayaran yang tidak diperuntukkan {0} lebih besar daripada jumlah Transaksi Bank yang tidak diperuntukkan,
Payment Received,Bayaran yang diterima,
Attendance cannot be marked outside of Academic Year {0},Kehadiran tidak dapat ditandakan di luar Tahun Akademik {0},
Student is already enrolled via Course Enrollment {0},Pelajar sudah mendaftar melalui Pendaftaran Kursus {0},
Attendance cannot be marked for future dates.,Kehadiran tidak dapat ditandakan untuk tarikh yang akan datang.,
Please add programs to enable admission application.,Sila tambahkan program untuk membolehkan permohonan kemasukan.,
The following employees are currently still reporting to {0}:,Pekerja berikut masih melaporkan kepada {0}:,
Please make sure the employees above report to another Active employee.,Pastikan pekerja di atas melaporkan kepada pekerja Aktif yang lain.,
Cannot Relieve Employee,Tidak Dapat Melepaskan Pekerja,
Please enter {0},Sila masukkan {0},
Please select another payment method. Mpesa does not support transactions in currency '{0}',Sila pilih kaedah pembayaran lain. Mpesa tidak menyokong transaksi dalam mata wang &#39;{0}&#39;,
Transaction Error,Ralat Transaksi,
Mpesa Express Transaction Error,Ralat Transaksi Mpesa Express,
"Issue detected with Mpesa configuration, check the error logs for more details","Masalah dikesan dengan konfigurasi Mpesa, periksa log ralat untuk maklumat lebih lanjut",
Mpesa Express Error,Ralat Mpesa Express,
Account Balance Processing Error,Ralat Pemprosesan Baki Akaun,
Please check your configuration and try again,Sila periksa konfigurasi anda dan cuba lagi,
Mpesa Account Balance Processing Error,Ralat Pemprosesan Baki Akaun Mpesa,
Balance Details,Butiran Imbangan,
Current Balance,Baki terkini,
Available Balance,Baki yang ada,
Reserved Balance,Baki Terpelihara,
Uncleared Balance,Imbangan Tidak Jelas,
Payment related to {0} is not completed,Pembayaran yang berkaitan dengan {0} belum selesai,
Row #{}: Item Code: {} is not available under warehouse {}.,Baris # {}: Kod Item: {} tidak tersedia di gudang {}.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Baris # {}: Kuantiti stok tidak mencukupi untuk Kod Item: {} di bawah gudang {}. Kuantiti yang ada {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Baris # {}: Pilih no siri dan kumpulan berdasarkan item: {} atau keluarkan untuk menyelesaikan transaksi.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Baris # {}: Tidak ada nombor siri yang dipilih terhadap item: {}. Sila pilih satu atau alih keluar untuk menyelesaikan transaksi.,
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Baris # {}: Tidak ada kumpulan yang dipilih terhadap item: {}. Pilih kumpulan atau keluarkan untuk menyelesaikan transaksi.,
Payment amount cannot be less than or equal to 0,Jumlah pembayaran tidak boleh kurang dari atau sama dengan 0,
Please enter the phone number first,Sila masukkan nombor telefon terlebih dahulu,
Row #{}: {} {} does not exist.,Baris # {}: {} {} tidak wujud.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Baris # {0}: {1} diperlukan untuk membuat Invois {2} Pembukaan,
You had {} errors while creating opening invoices. Check {} for more details,Anda mengalami {} ralat semasa membuat invois pembukaan. Lihat {} untuk maklumat lebih lanjut,
Error Occured,Berlaku Ralat,
Opening Invoice Creation In Progress,Pembukaan Invois Pembukaan Sedang Berlangsung,
Creating {} out of {} {},Membuat {} daripada {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(No Siri: {0}) tidak dapat digunakan kerana ia digunakan untuk memenuhi Pesanan Jualan {1},
Item {0} {1},Item {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Transaksi Stok Terakhir untuk item {0} di bawah gudang {1} adalah pada {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Transaksi Saham untuk Item {0} di bawah gudang {1} tidak dapat diposkan sebelum waktu ini.,
Posting future stock transactions are not allowed due to Immutable Ledger,Mengeposkan urus niaga saham masa depan tidak dibenarkan kerana Lejar Tidak Berubah,
A BOM with name {0} already exists for item {1}.,BOM dengan nama {0} sudah ada untuk item {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Adakah anda menamakan semula item tersebut? Sila hubungi sokongan Pentadbir / Teknikal,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},Pada baris # {0}: id urutan {1} tidak boleh kurang daripada id urutan baris sebelumnya {2},
The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) mestilah sama dengan {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, selesaikan operasi {1} sebelum operasi {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Tidak dapat memastikan penghantaran melalui Siri No. kerana Item {0} ditambahkan dengan dan tanpa Memastikan Penghantaran melalui Siri No.,
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Item {0} tidak mempunyai No. Serial. Hanya item yang bersiri yang boleh dihantar berdasarkan No Siri,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Tidak dijumpai BOM aktif untuk item {0}. Penghantaran melalui No Siri tidak dapat dipastikan,
No pending medication orders found for selected criteria,Tidak ada pesanan ubat yang menunggu keputusan untuk kriteria yang dipilih,
From Date cannot be after the current date.,Dari Tarikh tidak boleh selepas tarikh semasa.,
To Date cannot be after the current date.,Hingga kini tidak boleh selepas tarikh semasa.,
From Time cannot be after the current time.,Dari Masa tidak boleh mengikut waktu semasa.,
To Time cannot be after the current time.,Ke Masa tidak boleh mengikut waktu semasa.,
Stock Entry {0} created and ,Entri Stok {0} dibuat dan,
Inpatient Medication Orders updated successfully,Perintah Pengubatan Pesakit Dalam berjaya dikemas kini,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Baris {0}: Tidak dapat membuat Entri Ubat Rawat Inap terhadap Perintah Ubat Pesakit Dalam yang dibatalkan {1},
Row {0}: This Medication Order is already marked as completed,Baris {0}: Perintah Ubat ini sudah ditandakan sebagai selesai,
Quantity not available for {0} in warehouse {1},Kuantiti tidak tersedia untuk {0} di gudang {1},
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Sila aktifkan Benarkan Stok Negatif dalam Tetapan Stok atau buat Entri Saham untuk meneruskan.,
No Inpatient Record found against patient {0},Tiada Rekod Pesakit Dalam ditemui terhadap pesakit {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Perintah Pengubatan Pesakit Dalam {0} terhadap Perjumpaan Pesakit {1} sudah ada.,
Allow In Returns,Benarkan Dalam Pulangan,
Hide Unavailable Items,Sembunyikan Item yang Tidak Tersedia,
Apply Discount on Discounted Rate,Terapkan Potongan dengan Harga Diskaun,
Therapy Plan Template,Templat Rancangan Terapi,
Fetching Template Details,Mengambil Butiran Templat,
Linked Item Details,Butiran Item Terpaut,
Therapy Types,Jenis Terapi,
Therapy Plan Template Detail,Perincian Templat Pelan Terapi,
Non Conformance,Ketidakpatuhan,
Process Owner,Pemilik proses,
Corrective Action,Tindakan pembetulan,
Preventive Action,Tindakan pencegahan,
Problem,Masalah,
Responsible,Bertanggungjawab,
Completion By,Penyelesaian Oleh,
Process Owner Full Name,Nama Penuh Pemilik Proses,
Right Index,Indeks Kanan,
Left Index,Indeks Kiri,
Sub Procedure,Sub Prosedur,
Passed,Lulus,
Print Receipt,Cetakan Resit,
Edit Receipt,Edit Resit,
Focus on search input,Fokus pada input carian,
Focus on Item Group filter,Fokus pada penapis Kumpulan Item,
Checkout Order / Submit Order / New Order,Pesanan Checkout / Hantar Pesanan / Pesanan Baru,
Add Order Discount,Tambah Potongan Pesanan,
Item Code: {0} is not available under warehouse {1}.,Kod Item: {0} tidak tersedia di gudang {1}.,
Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Nombor siri tidak tersedia untuk Item {0} di bawah gudang {1}. Sila tukar gudang.,
Fetched only {0} available serial numbers.,Hanya mengambil {0} nombor siri yang tersedia.,
Switch Between Payment Modes,Tukar Antara Kaedah Pembayaran,
Enter {0} amount.,Masukkan jumlah {0}.,
You don't have enough points to redeem.,Anda tidak mempunyai mata yang mencukupi untuk ditebus.,
You can redeem upto {0}.,Anda boleh menebus sehingga {0}.,
Enter amount to be redeemed.,Masukkan jumlah yang akan ditebus.,
You cannot redeem more than {0}.,Anda tidak boleh menebus lebih daripada {0}.,
Open Form View,Buka Paparan Borang,
POS invoice {0} created succesfully,Invois POS {0} dibuat dengan berjaya,
Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Kuantiti stok tidak mencukupi untuk Kod Item: {0} di bawah gudang {1}. Kuantiti yang ada {2}.,
Serial No: {0} has already been transacted into another POS Invoice.,No Siri: {0} telah ditransaksikan ke Invois POS yang lain.,
Balance Serial No,Nombor Siri Baki,
Warehouse: {0} does not belong to {1},Gudang: {0} bukan milik {1},
Please select batches for batched item {0},Pilih kumpulan untuk item kumpulan {0},
Please select quantity on row {0},Sila pilih kuantiti pada baris {0},
Please enter serial numbers for serialized item {0},Sila masukkan nombor siri untuk item bersiri {0},
Batch {0} already selected.,Kumpulan {0} sudah dipilih.,
Please select a warehouse to get available quantities,Pilih gudang untuk mendapatkan jumlah yang ada,
"For transfer from source, selected quantity cannot be greater than available quantity","Untuk pemindahan dari sumber, kuantiti yang dipilih tidak boleh lebih besar daripada kuantiti yang ada",
Cannot find Item with this Barcode,Tidak dapat mencari Item dengan Barcode ini,
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} adalah wajib. Mungkin rekod Pertukaran Mata Wang tidak dibuat untuk {1} hingga {2},
{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} telah menyerahkan aset yang dikaitkan dengannya. Anda perlu membatalkan aset untuk membuat pulangan pembelian.,
Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Tidak dapat membatalkan dokumen ini kerana dihubungkan dengan aset yang dihantar {0}. Sila batalkan untuk meneruskan.,
Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: No. Siri {} telah ditransaksikan ke Invois POS yang lain. Sila pilih no siri yang sah.,
Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: Nombor Siri. {} Telah ditransaksikan ke Invois POS yang lain. Sila pilih no siri yang sah.,
Item Unavailable,Item tidak tersedia,
Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Baris # {}: No Siri {} tidak dapat dikembalikan kerana tidak ditransaksikan dalam invois asal {},
Please set default Cash or Bank account in Mode of Payment {},Tetapkan akaun Tunai atau Bank lalai dalam Cara Pembayaran {},
Please set default Cash or Bank account in Mode of Payments {},Tetapkan akaun Tunai atau Bank lalai dalam Mod Pembayaran {},
Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Pastikan {} akaun adalah akaun Lembaran Imbangan. Anda boleh menukar akaun induk ke akaun Lembaran Imbangan atau memilih akaun lain.,
Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Pastikan {} akaun adalah akaun Boleh Bayar. Tukar jenis akaun menjadi Hutang atau pilih akaun lain.,
Row {}: Expense Head changed to {} ,Baris {}: Kepala Beban ditukar menjadi {},
because account {} is not linked to warehouse {} ,kerana akaun {} tidak dihubungkan ke gudang {},
or it is not the default inventory account,atau itu bukan akaun inventori lalai,
Expense Head Changed,Kepala Perbelanjaan Berubah,
because expense is booked against this account in Purchase Receipt {},kerana perbelanjaan dicatatkan ke akaun ini dalam Resit Pembelian {},
as no Purchase Receipt is created against Item {}. ,kerana tidak ada Resit Pembelian yang dibuat terhadap Item {}.,
This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Ini dilakukan untuk menangani perakaunan kes apabila Resit Pembelian dibuat setelah Invoice Pembelian,
Purchase Order Required for item {},Pesanan Pembelian Diperlukan untuk item {},
To submit the invoice without purchase order please set {} ,"Untuk menghantar invois tanpa pesanan pembelian, sila tetapkan {}",
as {} in {},seperti dalam {},
Mandatory Purchase Order,Perintah Pembelian Wajib,
Purchase Receipt Required for item {},Resit Pembelian Diperlukan untuk item {},
To submit the invoice without purchase receipt please set {} ,"Untuk menghantar invois tanpa resit pembelian, tetapkan {}",
Mandatory Purchase Receipt,Resit Pembelian Wajib,
POS Profile {} does not belongs to company {},Profil POS {} bukan milik syarikat {},
User {} is disabled. Please select valid user/cashier,Pengguna {} dilumpuhkan. Sila pilih pengguna / juruwang yang sah,
Row #{}: Original Invoice {} of return invoice {} is {}. ,Baris # {}: Faktur asal {} invois pengembalian {} adalah {}.,
Original invoice should be consolidated before or along with the return invoice.,Invois asal harus digabungkan sebelum atau bersama dengan invois pengembalian.,
You can add original invoice {} manually to proceed.,Anda boleh menambahkan invois asal {} secara manual untuk meneruskan.,
Please ensure {} account is a Balance Sheet account. ,Pastikan {} akaun adalah akaun Lembaran Imbangan.,
You can change the parent account to a Balance Sheet account or select a different account.,Anda boleh menukar akaun induk ke akaun Lembaran Imbangan atau memilih akaun lain.,
Please ensure {} account is a Receivable account. ,Pastikan {} akaun adalah akaun Belum Terima.,
Change the account type to Receivable or select a different account.,Tukar jenis akaun menjadi Belum Terima atau pilih akaun lain.,
{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} tidak dapat dibatalkan kerana Mata Kesetiaan yang diperoleh telah ditebus. Batalkan dahulu {} Tidak {},
already exists,sudah wujud,
POS Closing Entry {} against {} between selected period,POS Penutupan Entri {} terhadap {} antara tempoh yang dipilih,
POS Invoice is {},Invois POS ialah {},
POS Profile doesn't matches {},Profil POS tidak sepadan {},
POS Invoice is not {},Invois POS bukan {},
POS Invoice isn't created by user {},POS Invoice tidak dibuat oleh pengguna {},
Row #{}: {},Baris # {}: {},
Invalid POS Invoices,Invois POS tidak sah,
Please add the account to root level Company - {},Sila tambah akaun ke Syarikat peringkat akar - {},
"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Semasa membuat akaun untuk Syarikat Anak {0}, akaun induk {1} tidak dijumpai. Sila buat akaun induk dalam COA yang sesuai",
Account Not Found,Akaun tidak dijumpai,
"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Semasa membuat akaun untuk Syarikat Anak {0}, akaun induk {1} dijumpai sebagai akaun lejar.",
Please convert the parent account in corresponding child company to a group account.,Tukarkan akaun induk di syarikat anak yang sesuai ke akaun kumpulan.,
Invalid Parent Account,Akaun Ibu Bapa Tidak Sah,
"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Menamakan semula hanya dibenarkan melalui syarikat induk {0}, untuk mengelakkan ketidakcocokan.",
"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Sekiranya anda {0} {1} kuantiti item {2}, skema {3} akan diterapkan pada item tersebut.",
"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Sekiranya anda {0} {1} item bernilai {2}, skema {3} akan digunakan pada item tersebut.",
"As the field {0} is enabled, the field {1} is mandatory.","Oleh kerana medan {0} diaktifkan, medan {1} adalah wajib.",
"As the field {0} is enabled, the value of the field {1} should be more than 1.","Oleh kerana medan {0} diaktifkan, nilai medan {1} harus lebih dari 1.",
Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Tidak dapat mengirimkan No Siri {0} item {1} kerana ia diperuntukkan untuk memenuhi Pesanan Jualan {2},
"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Pesanan Penjualan {0} mempunyai tempahan untuk item tersebut {1}, Anda hanya dapat mengirimkan pesanan yang dipesan {1} terhadap {0}.",
{0} Serial No {1} cannot be delivered,{0} No Siri {1} tidak dapat dihantar,
Row {0}: Subcontracted Item is mandatory for the raw material {1},Baris {0}: Item Subkontrak adalah wajib untuk bahan mentah {1},
"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Oleh kerana terdapat banyak bahan mentah, Permintaan Bahan tidak diperlukan untuk Gudang {0}.",
" If you still want to proceed, please enable {0}.","Sekiranya anda masih mahu meneruskan, sila aktifkan {0}.",
The item referenced by {0} - {1} is already invoiced,Item yang dirujuk oleh {0} - {1} sudah dibuat invois,
Therapy Session overlaps with {0},Sesi Terapi bertindih dengan {0},
Therapy Sessions Overlapping,Sesi Terapi Bertindih,
Therapy Plans,Rancangan Terapi,
"Item Code, warehouse, quantity are required on row {0}","Kod Item, gudang, kuantiti diperlukan pada baris {0}",
Get Items from Material Requests against this Supplier,Dapatkan Item dari Permintaan Bahan terhadap Pembekal ini,
Enable European Access,Dayakan Akses Eropah,
Creating Purchase Order ...,Membuat Pesanan Pembelian ...,
"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Pilih Pembekal dari Pembekal Lalai item di bawah. Pada pilihan, Pesanan Pembelian akan dibuat terhadap barang-barang milik Pembekal terpilih sahaja.",
Row #{}: You must select {} serial numbers for item {}.,Baris # {}: Anda mesti memilih {} nombor siri untuk item {}.,
