"""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 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,
Annual Billing: {0},Billing Tahunan: {0},
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,
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 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,
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 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 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,
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 / 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:",
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 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,
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,
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,
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,
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,
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,
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,
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,
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,
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)",
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,
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,
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 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 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 {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,
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 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,
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 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 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,
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,
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 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 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 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,
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 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,
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 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,
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,
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,
Working,Kerja,
Working Hours,Waktu Bekerja,
Workstation,Stesen kerja,
Workstation is closed on the following dates as per Holiday List: {0},Workstation ditutup pada tarikh-tarikh berikut seperti Senarai Holiday: {0},
Wrapping up,Mengakhiri,
Wrong Password,Salah kata laluan,
Year start date or end date is overlapping with {0}. To avoid please set company,Tahun tarikh mula atau tarikh akhir adalah bertindih dengan {0}. Untuk mengelakkan sila menetapkan syarikat,
You are not authorized to add or update entries before {0},Anda tidak dibenarkan untuk menambah atau update entri sebelum {0},
You are not authorized to set Frozen value,Anda tiada kebenaran untuk menetapkan nilai Beku,
You can not change rate if BOM mentioned agianst any item,Anda tidak boleh mengubah kadar jika BOM disebut agianst sebarang perkara,
You can not enter current voucher in 'Against Journal Entry' column,Anda tidak boleh memasuki baucar semasa dalam &#39;Terhadap Journal Entry&#39; ruangan,
You can only have Plans with the same billing cycle in a Subscription,Anda hanya boleh mempunyai Pelan dengan kitaran pengebilan yang sama dalam Langganan,
You can only redeem max {0} points in this order.,Anda hanya boleh menebus maks {0} mata dalam urutan ini.,
You can only renew if your membership expires within 30 days,Anda hanya boleh memperbaharui sekiranya keahlian anda tamat tempoh dalam masa 30 hari,
You can only select a maximum of one option from the list of check boxes.,Anda hanya boleh memilih maksimum satu pilihan dari senarai kotak semak.,
You can't redeem Loyalty Points having more value than the Grand Total.,Anda tidak boleh menebus Mata Kesetiaan yang mempunyai nilai lebih daripada Grand Total.,
You cannot credit and debit same account at the same time,Anda tidak boleh kredit dan debit akaun sama pada masa yang sama,
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Anda tidak boleh memadam Tahun Anggaran {0}. Tahun Anggaran {0} ditetapkan sebagai piawai dalam Tetapan Global,
You cannot delete Project Type 'External',Anda tidak boleh memadam Jenis Projek &#39;Luar&#39;,
You cannot edit root node.,Anda tidak boleh mengedit nod akar.,
You cannot restart a Subscription that is not cancelled.,Anda tidak boleh memulakan semula Langganan yang tidak dibatalkan.,
You don't have enough Loyalty Points to redeem,Anda tidak mempunyai mata Kesetiaan yang cukup untuk menebusnya,
You have already assessed for the assessment criteria {}.,Anda telah pun dinilai untuk kriteria penilaian {}.,
You have already selected items from {0} {1},Anda telah memilih barangan dari {0} {1},
You have been invited to collaborate on the project: {0},Anda telah dijemput untuk bekerjasama dalam projek: {0},
You have entered duplicate items. Please rectify and try again.,Anda telah memasukkan perkara yang sama. Sila membetulkan dan cuba lagi.,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Anda perlu menjadi pengguna selain Pentadbir dengan Pengurus Sistem dan peranan Pengurus Item untuk mendaftar di Marketplace.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Anda perlu menjadi pengguna dengan Pengurus Sistem dan peranan Pengurus Item untuk menambah pengguna ke Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Anda perlu menjadi pengguna dengan Pengurus Sistem dan peranan Pengurus Item untuk mendaftar di Marketplace.,
You need to 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,
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,
Import,Import,
Language,Bahasa,
Likes,Suka,
Merge with existing,Bergabung dengan yang sedia ada,
Orientation,orientasi,
Parent,Ibu Bapa,
Payment Failed,pembayaran Gagal,
Personal,Peribadi,
Post,Post,
Postal Code,Poskod,
Provider,Pembekal,
Read Only,Baca Sahaja,
Recipient,Penerima,
Reviews,Ulasan,
Sender,Penghantar,
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},
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,
From Date,Dari Tarikh,
Group By,Kumpulan Oleh,
Invalid URL,URL tidak sah,
Landscape,Landskap,
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,
% 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 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,
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,
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,
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,
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,
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
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 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,
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 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 Meta Tags,Tetapkan Tag Meta,
Set {0} in company {1},Tetapkan {0} dalam syarikat {1},
Setup,Persediaan,
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 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 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} 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,
Clear,Jelas,
Comments,Comments,
DocType,DocType,
Download,Muat turun,
Left,Kiri,
Link,Pautan,
New,Baru,
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,
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,
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 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 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,
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,
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 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,
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,
Update Series,Update Siri,
Change the starting / current sequence number of an existing series.,Menukar nombor yang bermula / semasa urutan siri yang sedia ada.,
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,
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:,
Is Mandatory,Adakah Wajib,
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,
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,
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,
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 {}.,
Add Comment,Tambah komen,
More...,More ...,
Notes,Nota,
Payment Gateway,Gateway Pembayaran,
Payment Gateway Name,Nama Gateway Pembayaran,
Payments,Pembayaran,
Plan Name,Nama Rancang,
Portal,Portal,
Scan Barcode,Kod Bar Imbas,
Some information is missing,Beberapa maklumat yang hilang,
Successful,Berjaya,
Tools,Tools,
Use Sandbox,Penggunaan Sandbox,
Busy,Sibuk,
Completed By,Selesai oleh,
Payment Failed,pembayaran Gagal,
Column {0},Lajur {0},
Field Mapping,Pemetaan Lapangan,
Not Specified,Tidak ditentukan,
Update Type,Jenis Kemas Kini,
Dr,Dr,
End Time,Akhir Masa,
Fetching...,Mengambil ...,
"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.",
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.,
Master,Master,
Pay,Bayar,
You can also copy-paste this link in your browser,Anda juga boleh copy-paste pautan ini dalam pelayar anda,
Verified By,Disahkan oleh,
Invalid naming series (. missing) for {0},Siri penamaan tidak sah (. Hilang) untuk {0},
Phone Number,Nombor telefon,
Account SID,SID Akaun,
Global Defaults,Lalai Global,
Is Mandatory,Adakah Wajib,
WhatsApp,WhatsApp,
Make a call,Buat panggilan,
Approve,Terima,
Reject,Tolak,
