"""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 enought Loyalty Points to redeem,Anda tidak mempunyai mata Kesetiaan yang cukup untuk menebusnya,
You have already assessed for the assessment criteria {}.,Anda telah pun dinilai untuk kriteria penilaian {}.,
You have already selected items from {0} {1},Anda telah memilih barangan dari {0} {1},
You have been invited to collaborate on the project: {0},Anda telah dijemput untuk bekerjasama dalam projek: {0},
You have entered duplicate items. Please rectify and try again.,Anda telah memasukkan perkara yang sama. Sila membetulkan dan cuba lagi.,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Anda perlu menjadi pengguna selain Pentadbir dengan Pengurus Sistem dan peranan Pengurus Item untuk mendaftar di Marketplace.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Anda perlu menjadi pengguna dengan Pengurus Sistem dan peranan Pengurus Item untuk menambah pengguna ke Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Anda perlu menjadi pengguna dengan Pengurus Sistem dan peranan Pengurus Item untuk mendaftar di Marketplace.,
You need to be logged in to access this page,Anda perlu log masuk untuk mengakses halaman ini,
You need to enable Shopping Cart,Anda perlu untuk membolehkan Troli,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Anda akan kehilangan rekod invois yang dijana sebelum ini. Adakah anda pasti mahu memulakan semula langganan ini?,
Your Organization,Organisasi anda,
Your cart is Empty,Troli anda kosong,
Your email address...,Alamat e-mel anda ...,
Your order is out for delivery!,Pesanan anda untuk penghantaran!,
Your tickets,Tiket anda,
ZIP Code,Poskod,
[Error],[Ralat],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Borang / Item / {0}) kehabisan stok,
`Freeze Stocks Older Than` should be smaller than %d days.,`Bekukan Stok Yang Lebih Lama Dari` hendaklah lebih kecil daripada %d hari.,
based_on,berdasarkan,
cannot be greater than 100,tidak boleh lebih besar daripada 100,
disabled user,pengguna orang kurang upaya,
"e.g. ""Build tools for builders""",contohnya &quot;Membina alat bagi pembina&quot;,
"e.g. ""Primary School"" or ""University""",contohnya &quot;Sekolah Rendah&quot; atau &quot;Universiti&quot;,
"e.g. Bank, Cash, Credit Card","contohnya Bank, Tunai, Kad Kredit",
hidden,tersembunyi,
modified,diubahsuai,
old_parent,old_parent,
on,pada,
{0} '{1}' is disabled,{0} '{1}' dinyahupayakan,
{0} '{1}' not in Fiscal Year {2},{0} '{1}' tidak dalam Tahun Kewangan {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) tidak boleh melebihi kuantiti terancang ({2}) dalam Perintah Kerja {3},
{0} - {1} is inactive student,{0} - {1} adalah pelajar aktif,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} tidak mendaftar dalam Batch {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} tidak mendaftar di Kursus {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Bajet akaun {1} daripada {2} {3} adalah {4}. Ia akan melebihi oleh {5},
{0} Digest,{0} Digest,
{0} Request for {1},{0} Permintaan untuk {1},
{0} Result submittted,Keputusan {0} diserahkan,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} nombor siri yang diperlukan untuk item {1}. Anda telah menyediakan {2}.,
{0} Student Groups created.,{0} Kumpulan Pelajar diwujudkan.,
{0} Students have been enrolled,{0} Pelajar telah didaftarkan,
{0} against Bill {1} dated {2},{0} terhadap Bil {1} bertarikh {2},
{0} against Purchase Order {1},{0} terhadap Permintaan Pembelian {1},
{0} against Sales Invoice {1},{0} terhadap Invois Jualan  {1},
{0} against Sales Order {1},{0} terhadap Permintaan Jualan {1},
{0} 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 {}.,
