"""Customer Provided Item"" cannot be Purchase Item also",&quot;Item yang Dibekalkan Pelanggan&quot; tidak boleh Dibeli Perkara juga,
"""Customer Provided Item"" cannot have Valuation Rate",&quot;Item yang Dibekalkan Pelanggan&quot; tidak boleh mempunyai Kadar Penilaian,
"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","&quot;Adakah Aset Tetap&quot; tidak boleh dibiarkan, kerana rekod aset wujud terhadap item",
'Based On' and 'Group By' can not be same,'Berdasarkan Kepada' dan 'Kumpul Mengikut' tidak boleh sama,
'Days Since Last Order' must be greater than or equal to zero,&#39;Hari Sejak Pesanan Terakhir&#39; mesti lebih besar daripada atau sama dengan sifar,
'Entries' cannot be empty,&#39;Penyertaan&#39; tidak boleh kosong,
'From Date' is required,&#39;Dari Tarikh&#39; diperlukan,
'From Date' must be after 'To Date','Dari Tarikh' mesti selepas 'Sehingga',
'Has Serial No' can not be 'Yes' for non-stock item,'Punyai Nombor Siri' tidak boleh 'Ya' untuk  benda bukan stok,
'Opening',&#39;Pembukaan&#39;,
'To Case No.' cannot be less than 'From Case No.','Kepada Perkara No. ' tidak boleh kurang daripada 'Dari Perkara No.',
'To Date' is required,'Tarikh Hingga' diperlukan,
'Total',&#39;Jumlah&#39;,
'Update Stock' can not be checked because items are not delivered via {0},&#39;Update Stock&#39; tidak boleh disemak kerana perkara yang tidak dihantar melalui {0},
'Update Stock' cannot be checked for fixed asset sale,&#39;Update Stock&#39; tidak boleh diperiksa untuk jualan aset tetap,
) for {0},) untuk {0},
1 exact match.,1 padanan tepat.,
90-Above,90 Ke atas,
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Satu Kumpulan Pelanggan sudah wujud dengan nama yang sama, sila tukar nama Pelanggan atau menamakan semula Kumpulan Pelanggan",
A Default Service Level Agreement already exists.,Perjanjian Tahap Perkhidmatan Lalai telah wujud.,
A Lead requires either a person's name or an organization's name,A Lead memerlukan sama ada nama seseorang atau nama organisasi,
A customer with the same name already exists,Seorang pelanggan dengan nama yang sama sudah ada,
A question must have more than one options,Soalan mesti mempunyai lebih daripada satu pilihan,
A qustion must have at least one correct options,Kelengahan mesti mempunyai sekurang-kurangnya satu pilihan yang betul,
A {0} exists between {1} and {2} (,A {0} wujud antara {1} dan {2} (,
A4,A4,
API Endpoint,Titik Akhir API,
API Key,Kunci API,
Abbr can not be blank or space,Abbr tidak boleh kosong atau senggang,
Abbreviation already used for another company,Singkatan sudah digunakan untuk syarikat lain,
Abbreviation cannot have more than 5 characters,Singkatan tidak boleh mempunyai lebih daripada 5 aksara,
Abbreviation is mandatory,Singkatan adalah wajib,
About the Company,Mengenai Syarikat,
About your company,Mengenai syarikat anda,
Above,Di atas,
Absent,Tidak hadir,
Academic Term,Jangka akademik,
Academic Term: ,Tempoh Akademik:,
Academic Year,Tahun akademik,
Academic Year: ,Tahun akademik:,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Qty Diterima + Ditolak mestilah sama dengan kuantiti yang Diterima untuk Perkara {0},
Access Token,Token Akses,
Accessable Value,Nilai yang boleh diakses,
Account,Akaun,
Account Number,Nombor akaun,
Account Number {0} already used in account {1},Nombor Akaun {0} yang telah digunakan dalam akaun {1},
Account Pay Only,Akaun Pay Hanya,
Account Type,Jenis Akaun,
Account Type for {0} must be {1},Jenis Akaun untuk {0} mesti {1},
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Baki akaun sudah dalam Kredit, anda tidak dibenarkan untuk menetapkan 'Baki Mestilah' sebagai 'debit'",
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Baki akaun sudah dalam Debit, anda tidak dibenarkan untuk menetapkan 'Baki Mestilah' sebagai 'Kredit'",
Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Nombor akaun untuk akaun {0} tidak tersedia. <br> Sila persiapkan Carta Akaun anda dengan betul.,
Account with child nodes cannot be converted to ledger,Akaun dengan nod kanak-kanak tidak boleh ditukar ke lejar,
Account with child nodes cannot be set as ledger,Akaun dengan nod kanak-kanak tidak boleh ditetapkan sebagai lejar,
Account with existing transaction can not be converted to group.,Akaun dengan urus niaga yang sedia ada tidak boleh ditukar kepada kumpulan.,
Account with existing transaction can not be deleted,Akaun dengan urus niaga yang sedia ada tidak boleh dihapuskan,
Account with existing transaction cannot be converted to ledger,Akaun dengan urus niaga yang sedia ada tidak boleh ditukar ke lejar,
Account {0} does not belong to company: {1},Akaun {0} bukan milik syarikat: {1},
Account {0} does not belongs to company {1},Akaun {0} tidak dimiliki oleh syarikat {1},
Account {0} does not exist,Akaun {0} tidak wujud,
Account {0} does not exists,Akaun {0} tidak wujud,
Account {0} does not match with Company {1} in Mode of Account: {2},Akaun {0} tidak sepadan dengan Syarikat {1} dalam Kaedah akaun: {2},
Account {0} has been entered multiple times,Akaun {0} telah dibuat beberapa kali,
Account {0} is added in the child company {1},Akaun {0} ditambahkan dalam syarikat anak {1},
Account {0} is frozen,Akaun {0} dibekukan,
Account {0} is invalid. Account Currency must be {1},Akaun {0} tidak sah. Mata Wang Akaun mesti {1},
Account {0}: Parent account {1} can not be a ledger,Akaun {0}: akaun Induk {1} tidak boleh merupakan satu lejar,
Account {0}: Parent account {1} does not belong to company: {2},Akaun {0}: akaun Induk {1} bukan milik syarikat: {2},
Account {0}: Parent account {1} does not exist,Akaun {0}: Akaun induk {1} tidak wujud,
Account {0}: You can not assign itself as parent account,Akaun {0}: Anda tidak boleh menetapkan ia sendiri sebagai akaun induk,
Account: {0} can only be updated via Stock Transactions,Akaun: {0} hanya boleh dikemaskini melalui Urusniaga Stok,
Account: {0} with currency: {1} can not be selected,Akaun: {0} dengan mata wang: {1} tidak boleh dipilih,
Accountant,Akauntan,
Accounting,Perakaunan,
Accounting Entry for Asset,Kemasukan Perakaunan untuk Aset,
Accounting Entry for Stock,Catatan Perakaunan untuk Stok,
Accounting Entry for {0}: {1} can only be made in currency: {2},Kemasukan Perakaunan untuk {0}: {1} hanya boleh dibuat dalam mata wang: {2},
Accounting Ledger,Perakaunan Lejar,
Accounting journal entries.,Catatan jurnal perakaunan.,
Accounts,Akaun-akaun,
Accounts Manager,Pengurus Akaun-akaun,
Accounts Payable,Akaun-akaun Boleh diBayar,
Accounts Payable Summary,Ringkasan Akaun Boleh Dibayar,
Accounts Receivable,Akaun-akaun boleh terima,
Accounts Receivable Summary,Ringkasan Akaun Belum Terima,
Accounts User,pengguna Akaun-akaun,
Accounts table cannot be blank.,Jadual account tidak boleh kosong.,
Accrual Journal Entry for salaries from {0} to {1},Kemasukan Jurnal Akruan untuk gaji dari {0} hingga {1},
Accumulated Depreciation,Susut nilai terkumpul,
Accumulated Depreciation Amount,Terkumpul Jumlah Susutnilai,
Accumulated Depreciation as on,Susutnilai Terkumpul seperti pada,
Accumulated Monthly,terkumpul Bulanan,
Accumulated Values,Nilai Terkumpul,
Accumulated Values in Group Company,Nilai terkumpul dalam Kumpulan Syarikat,
Achieved ({}),Dicapai ({}),
Action,Tindakan,
Action Initialised,Tindakan Inisiatif,
Actions,Tindakan-tindakan,
Active,Aktif,
Activity Cost exists for Employee {0} against Activity Type - {1},Kos Aktiviti wujud untuk Pekerja {0} terhadap Jenis Kegiatan - {1},
Activity Cost per Employee,Kos aktiviti setiap Pekerja,
Activity Type,Jenis Kegiatan,
Actual Cost,Kos sebenar,
Actual Delivery Date,Tarikh Penghantaran Sebenar,
Actual Qty,Kuantiti Sebenar,
Actual Qty is mandatory,Kuantiti sebenar adalah wajib,
Actual Qty {0} / Waiting Qty {1},Sebenar Qty {0} / Waiting Qty {1},
Actual Qty: Quantity available in the warehouse.,Qty sebenar: Kuantiti yang tersedia di gudang.,
Actual qty in stock,Qty sebenar dalam stok,
Actual type tax cannot be included in Item rate in row {0},Jenis cukai sebenar tidak boleh dimasukkan dalam kadar Perkara berturut-turut {0},
Add,Tambah,
Add / Edit Prices,Tambah / Edit Harga,
Add All Suppliers,Tambah Semua Pembekal,
Add Comment,Tambah komen,
Add Customers,menambah Pelanggan,
Add Employees,Tambahkan Pekerja,
Add Item,Tambah Item,
Add Items,Tambah Item,
Add Leads,Tambah Memimpin,
Add Multiple Tasks,Tambah Tugasan Pelbagai,
Add Row,Tambah Row,
Add Sales Partners,Tambah Rakan Kongsi Jualan,
Add Serial No,Tambah No Serial,
Add Students,Tambahkan Pelajar,
Add Suppliers,Tambah Pembekal,
Add Time Slots,Tambah Slot Masa,
Add Timesheets,menambah Timesheets,
Add Timeslots,Tambah Timeslots,
Add Users to Marketplace,Tambah Pengguna ke Marketplace,
Add a new address,Tambah alamat baru,
Add cards or custom sections on homepage,Tambah kad atau bahagian tersuai di laman utama,
Add more items or open full form,Tambah lagi item atau bentuk penuh terbuka,
Add notes,Tambah nota,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Menambah seluruh organisasi anda sebagai pengguna anda. Anda juga boleh menambah menjemput Pelanggan untuk portal anda dengan menambah mereka dari Kenalan,
Add to Details,Tambah pada Butiran,
Add/Remove Recipients,Tambah / Buang Penerima,
Added,Ditambah,
Added to details,Ditambah pada butiran,
Added {0} users,Menambah {0} pengguna,
Additional Salary Component Exists.,Komponen Gaji Tambahan Ada.,
Address,Alamat,
Address Line 2,Alamat 2,
Address Name,alamat Nama,
Address Title,Alamat Tajuk,
Address Type,Alamat Jenis,
Administrative Expenses,Perbelanjaan pentadbiran,
Administrative Officer,Pegawai Tadbir,
Administrator,Pentadbir,
Admission,Kemasukan,
Admission and Enrollment,Kemasukan dan Pendaftaran,
Admissions for {0},Kemasukan untuk {0},
Admit,Mengaku,
Admitted,diterima Masuk,
Advance Amount,Advance Jumlah,
Advance Payments,Bayaran Pendahuluan,
Advance account currency should be same as company currency {0},Mata wang akaun terlebih dahulu harus sama dengan mata wang syarikat {0},
Advance amount cannot be greater than {0} {1},jumlah pendahuluan tidak boleh lebih besar daripada {0} {1},
Advertising,Pengiklanan,
Aerospace,Aeroangkasa,
Against,Terhadap,
Against Account,Terhadap Akaun,
Against Journal Entry {0} does not have any unmatched {1} entry,Terhadap Journal Entry {0} tidak mempunyai apa-apa yang tidak dapat ditandingi {1} masuk,
Against Journal Entry {0} is already adjusted against some other voucher,Terhadap Journal Entry {0} telah diselaraskan dengan beberapa baucar lain,
Against Supplier Invoice {0} dated {1},Terhadap Pembekal Invois {0} bertarikh {1},
Against Voucher,Terhadap Baucar,
Against Voucher Type,Terhadap Jenis Baucar,
Age,Umur,
Age (Days),Umur (Hari),
Ageing Based On,Penuaan Berasaskan,
Ageing Range 1,Range Penuaan 1,
Ageing Range 2,Range Penuaan 2,
Ageing Range 3,Range Penuaan 3,
Agriculture,Pertanian,
Agriculture (beta),Pertanian (beta),
Airline,Syarikat Penerbangan,
All Accounts,Semua Akaun,
All Addresses.,Semua Alamat.,
All Assessment Groups,Semua Kumpulan Penilaian,
All BOMs,semua boms,
All Contacts.,Semua Kenalan.,
All Customer Groups,Semua Kumpulan Pelanggan,
All Day,All Day,
All Departments,Semua Jabatan,
All Healthcare Service Units,Semua Unit Perkhidmatan Penjagaan Kesihatan,
All Item Groups,Semua Kumpulan Perkara,
All Jobs,Semua Pekerjaan,
All Products,Semua produk,
All Products or Services.,Semua Produk atau Perkhidmatan.,
All Student Admissions,Semua Kemasukan Pelajar,
All Supplier Groups,Semua Kumpulan Pembekal,
All Supplier scorecards.,Semua kad skor Pembekal.,
All Territories,Semua Wilayah,
All Warehouses,Semua Gudang,
All communications including and above this shall be moved into the new Issue,Semua komunikasi termasuk dan ke atas ini akan dipindahkan ke Isu baru,
All items have already been transferred for this Work Order.,Semua item telah dipindahkan untuk Perintah Kerja ini.,
All other ITC,Semua ITC lain,
All the mandatory Task for employee creation hasn't been done yet.,Semua tugas wajib untuk penciptaan pekerja masih belum dilakukan.,
Allocate Payment Amount,Memperuntukkan Jumlah Pembayaran,
Allocated Amount,Jumlah yang diperuntukkan,
Allocated Leaves,Daun yang diperuntukkan,
Allocating leaves...,Mengandalkan daun ...,
Already record exists for the item {0},Sudah ada rekod untuk item {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Sediakan lalai dalam profil pos {0} untuk pengguna {1}, lalai dilumpuhkan secara lalai",
Alternate Item,Perkara Ganti,
Alternative item must not be same as item code,Item alternatif tidak boleh sama dengan kod item,
Amended From,Pindaan Dari,
Amount,Jumlah,
Amount After Depreciation,Jumlah Selepas Susutnilai,
Amount of Integrated Tax,Jumlah Cukai Bersepadu,
Amount of TDS Deducted,Jumlah TDS Deducted,
Amount should not be less than zero.,Jumlah tidak boleh kurang daripada sifar.,
Amount to Bill,Jumlah untuk Rang Undang-undang,
Amount {0} {1} against {2} {3},Jumlah {0} {1} daripada {2} {3},
Amount {0} {1} deducted against {2},Jumlah {0} {1} ditolak daripada {2},
Amount {0} {1} transferred from {2} to {3},Jumlah {0} {1} dipindahkan dari {2} kepada {3},
Amount {0} {1} {2} {3},Jumlah {0} {1} {2} {3},
Amt,Amt,
"An Item Group exists with same name, please change the item name or rename the item group","Satu Kumpulan Item wujud dengan nama yang sama, sila tukar nama item atau menamakan semula kumpulan item",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Istilah akademik dengan ini &#39;Academic Year&#39; {0} dan &#39;Nama Term&#39; {1} telah wujud. Sila ubah suai entri ini dan cuba lagi.,
An error occurred during the update process,Ralat berlaku semasa proses kemas kini,
"An item exists with same name ({0}), please change the item group name or rename the item","Item wujud dengan nama yang sama ({0}), sila tukar nama kumpulan item atau menamakan semula item",
Analyst,Penganalisis,
Analytics,Analytics,
Annual Billing: {0},Billing Tahunan: {0},
Annual Salary,Gaji tahunan,
Anonymous,Anonymous,
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Rekod Belanjawan lain &#39;{0}&#39; sudah wujud terhadap {1} &#39;{2}&#39; dan akaun &#39;{3}&#39; untuk tahun fiskal {4},
Another Period Closing Entry {0} has been made after {1},Satu lagi Entry Tempoh Penutup {0} telah dibuat selepas {1},
Another Sales Person {0} exists with the same Employee id,Satu lagi Orang Jualan {0} wujud dengan id Pekerja yang sama,
Antibiotic,Antibiotik,
Apparel & Accessories,Pakaian &amp; Aksesori,
Applicable For,Terpakai Untuk,
"Applicable if the company is SpA, SApA or SRL","Berkenaan jika syarikat itu adalah SpA, SApA atau SRL",
Applicable if the company is a limited liability company,Berkenaan jika syarikat itu adalah syarikat liabiliti terhad,
Applicable if the company is an Individual or a Proprietorship,Berkenaan jika syarikat itu adalah Individu atau Tuan Rumah,
Applicant,Pemohon,
Applicant Type,Jenis Pemohon,
Application of Funds (Assets),Permohonan Dana (Aset),
Application period cannot be across two allocation records,Tempoh permohonan tidak boleh merangkumi dua rekod peruntukan,
Application period cannot be outside leave allocation period,Tempoh permohonan tidak boleh cuti di luar tempoh peruntukan,
Applied,Applied,
Apply Now,Mohon sekarang,
Appointment Confirmation,Pengesahan Pelantikan,
Appointment Duration (mins),Tempoh Pelantikan (minit),
Appointment Type,Jenis Pelantikan,
Appointment {0} and Sales Invoice {1} cancelled,Pelantikan {0} dan Invois Jualan {1} dibatalkan,
Appointments and Encounters,Pelantikan dan Pertemuan,
Appointments and Patient Encounters,Pelantikan dan Pesakit yang Menemui,
Appraisal {0} created for Employee {1} in the given date range,Penilaian {0} dicipta untuk Pekerja {1} dalam julat tarikh yang diberikan,
Apprentice,Perantis,
Approval Status,Kelulusan Status,
Approval Status must be 'Approved' or 'Rejected',Kelulusan Status mesti &#39;diluluskan&#39; atau &#39;Ditolak&#39;,
Approve,Terima,
Approving Role cannot be same as role the rule is Applicable To,Meluluskan Peranan tidak boleh sama dengan peranan peraturan adalah Terpakai Untuk,
Approving User cannot be same as user the rule is Applicable To,Meluluskan pengguna tidak boleh menjadi sama seperti pengguna peraturan adalah Terpakai Untuk,
"Apps using current key won't be able to access, are you sure?","Apl yang menggunakan kekunci semasa tidak dapat mengakses, adakah anda pasti?",
Are you sure you want to cancel this appointment?,Adakah anda pasti ingin membatalkan janji temu ini?,
Arrear,tunggakan,
As Examiner,Sebagai Pemeriksa,
As On Date,Seperti pada Tarikh,
As Supervisor,Sebagai Penyelia,
As per rules 42 & 43 of CGST Rules,Seperti peraturan 42 &amp; 43 Peraturan CGST,
As per section 17(5),Seperti pada seksyen 17 (5),
As per your assigned Salary Structure you cannot apply for benefits,"Sebagaimana Struktur Gaji yang anda berikan, anda tidak boleh memohon manfaat",
Assessment,Penilaian,
Assessment Criteria,Kriteria Penilaian,
Assessment Group,Kumpulan Penilaian,
Assessment Group: ,Kumpulan Penilaian:,
Assessment Plan,Rancangan penilaian,
Assessment Plan Name,Nama Pelan Penilaian,
Assessment Report,Laporan Penilaian,
Assessment Reports,Laporan Penilaian,
Assessment Result,Keputusan Penilaian,
Assessment Result record {0} already exists.,Rekod Keputusan Penilaian {0} sudah wujud.,
Asset,Aset,
Asset Category,Kategori Asset,
Asset Category is mandatory for Fixed Asset item,Kategori Asset adalah wajib bagi item Aset Tetap,
Asset Maintenance,Penyelenggaraan Aset,
Asset Movement,Pergerakan Aset,
Asset Movement record {0} created,rekod Pergerakan Aset {0} dicipta,
Asset Name,Nama Aset,
Asset Received But Not Billed,Aset Diterima Tetapi Tidak Dibilkan,
Asset Value Adjustment,Pelarasan Nilai Aset,
"Asset cannot be cancelled, as it is already {0}","Aset tidak boleh dibatalkan, kerana ia sudah {0}",
Asset scrapped via Journal Entry {0},Asset dimansuhkan melalui Journal Kemasukan {0},
"Asset {0} cannot be scrapped, as it is already {1}","Asset {0} tidak boleh dimansuhkan, kerana ia sudah {1}",
Asset {0} does not belong to company {1},Asset {0} bukan milik syarikat {1},
Asset {0} must be submitted,Asset {0} hendaklah dikemukakan,
Assets,Aset,
Assign,Berikan,
Assign Salary Structure,Menetapkan Struktur Gaji,
Assign To,Berikan Untuk,
Assign to Employees,Berikan kepada Pekerja,
Assigning Structures...,Menetapkan Struktur ...,
Associate,Madya,
At least one mode of payment is required for POS invoice.,Sekurang-kurangnya satu cara pembayaran adalah diperlukan untuk POS invois.,
Atleast one item should be entered with negative quantity in return document,Atleast perkara seseorang itu perlu dimasukkan dengan kuantiti negatif dalam dokumen pulangan,
Atleast one of the Selling or Buying must be selected,Atleast salah satu atau Jualan Membeli mesti dipilih,
Atleast one warehouse is mandatory,Atleast satu gudang adalah wajib,
Attach Logo,Lampirkan Logo,
Attachment,Lampiran,
Attachments,Lampiran,
Attendance,Kehadiran,
Attendance From Date and Attendance To Date is mandatory,Kehadiran Dari Tarikh dan Kehadiran Untuk Tarikh adalah wajib,
Attendance can not be marked for future dates,Kehadiran tidak boleh ditandakan untuk masa hadapan,
Attendance date can not be less than employee's joining date,Tarikh kehadirannya tidak boleh kurang daripada tarikh pendaftaran pekerja,
Attendance for employee {0} is already marked,Kehadiran bagi pekerja {0} telah ditandakan,
Attendance for employee {0} is already marked for this day,Kehadiran pekerja {0} sudah ditanda pada hari ini,
Attendance has been marked successfully.,Kehadiran telah ditandakan dengan jayanya.,
Attendance not submitted for {0} as it is a Holiday.,Kehadiran tidak dihantar untuk {0} kerana ia adalah Percutian.,
Attendance not submitted for {0} as {1} on leave.,Kehadiran tidak diserahkan untuk {0} sebagai {1} semasa cuti.,
Attribute table is mandatory,Jadual atribut adalah wajib,
Attribute {0} selected multiple times in Attributes Table,Sifat {0} dipilih beberapa kali dalam Atribut Jadual,
Author,Pengarang,
Authorized Signatory,Penandatangan yang diberi kuasa,
Auto Material Requests Generated,Permintaan bahan Auto Generated,
Auto Repeat,Auto Ulang,
Auto repeat document updated,Dokumen pengulang automatik dikemas kini,
Automotive,Automotif,
Available,Tersedia,
Available Leaves,Daun yang disediakan,
Available Qty,Terdapat Qty,
Available Selling,Jualan Sedia Ada,
Available for use date is required,Tersedia untuk tarikh penggunaan,
Available slots,Slot yang tersedia,
Available {0},Terdapat {0},
Available-for-use Date should be after purchase date,Tarikh sedia untuk digunakan hendaklah selepas tarikh pembelian,
Average Age,Purata umur,
Average Rate,Kadar purata,
Avg Daily Outgoing,Purata Harian Keluar,
Avg. Buying Price List Rate,Purata. Membeli Kadar Senarai Harga,
Avg. Selling Price List Rate,Purata. Menjual Kadar Harga Harga,
Avg. Selling Rate,Purata. Menjual Kadar,
BOM,BOM,
BOM Browser,BOM Pelayar,
BOM No,BOM Tiada,
BOM Rate,Kadar BOM,
BOM Stock Report,Laporan Stok BOM,
BOM and Manufacturing Quantity are required,BOM dan Pembuatan Kuantiti dikehendaki,
BOM does not contain any stock item,BOM tidak mengandungi apa-apa butiran saham,
BOM {0} does not belong to Item {1},BOM {0} bukan milik Perkara {1},
BOM {0} must be active,BOM {0} mesti aktif,
BOM {0} must be submitted,BOM {0} hendaklah dikemukakan,
Balance,Baki,
Balance (Dr - Cr),Baki (Dr - Cr),
Balance ({0}),Baki ({0}),
Balance Qty,Baki Kuantiti,
Balance Sheet,Kunci Kira-kira,
Balance Value,Nilai Baki,
Balance for Account {0} must always be {1},Baki untuk Akaun {0} mesti sentiasa {1},
Bank,Bank,
Bank Account,Akaun bank,
Bank Accounts,Akaun bank,
Bank Draft,Bank Draf,
Bank Entries,Bank Penyertaan,
Bank Name,Nama bank,
Bank Overdraft Account,Akaun Overdraf Bank,
Bank Reconciliation,Penyesuaian Bank,
Bank Reconciliation Statement,Penyata Penyesuaian Bank,
Bank Statement,Penyata bank,
Bank Statement Settings,Tetapan Penyata Bank,
Bank Statement balance as per General Ledger,Baki Penyata Bank seperti Lejar Am,
Bank account cannot be named as {0},Akaun bank tidak boleh dinamakan sebagai {0},
Bank/Cash transactions against party or for internal transfer,transaksi Bank / Tunai terhadap pihak atau untuk pemindahan dalaman,
Banking,Perbankan,
Banking and Payments,Perbankan dan Pembayaran,
Barcode {0} already used in Item {1},Barcode {0} telah digunakan dalam Perkara {1},
Barcode {0} is not a valid {1} code,Barcode {0} bukan kod {1} yang sah,
Base,base,
Base URL,URL Asas,
Based On,Berdasarkan,
Based On Payment Terms,Berdasarkan Terma Pembayaran,
Basic,Asas,
Batch,Batch,
Batch Entries,Penyertaan Batch,
Batch ID is mandatory,Batch ID adalah wajib,
Batch Inventory,Batch Inventori,
Batch Name,Batch Nama,
Batch No,Batch No,
Batch number is mandatory for Item {0},Nombor batch adalah wajib bagi Perkara {0},
Batch {0} of Item {1} has expired.,Batch {0} Item {1} telah tamat.,
Batch {0} of Item {1} is disabled.,Batch {0} of Item {1} dinyahdayakan.,
Batch: ,Kumpulan:,
Batches,kelompok,
Become a Seller,Menjadi Penjual,
Beginner,Permulaan,
Bill,Rang Undang-Undang,
Bill Date,Rang Undang-Undang Tarikh,
Bill No,Rang Undang-Undang No,
Bill of Materials,Rang Undang-Undang Bahan,
Bill of Materials (BOM),Rang Undang-Undang Bahan (BOM),
Billable Hours,Waktu yang boleh ditanggung,
Billed,Dibilkan,
Billed Amount,Jumlah dibilkan,
Billing,Bil,
Billing Address,Alamat Bil,
Billing Address is same as Shipping Address,Alamat Penagihan sama dengan Alamat Perkapalan,
Billing Amount,Bil Jumlah,
Billing Status,Bil Status,
Billing currency must be equal to either default company's currency or party account currency,Mata wang penagihan mestilah sama dengan mata wang syarikat atau mata wang akaun pihak ketiga,
Bills raised by Suppliers.,Rang Undang-undang yang dibangkitkan oleh Pembekal.,
Bills raised to Customers.,Bil dinaikkan kepada Pelanggan.,
Biotechnology,Bioteknologi,
Birthday Reminder,Peringatan Hari Lahir,
Black,Black,
Blanket Orders from Costumers.,Pesanan Blanket dari Costumers.,
Block Invoice,Blok Invois,
Boms,Boms,
Bonus Payment Date cannot be a past date,Tarikh Bayaran Bonus tidak boleh menjadi tarikh yang lalu,
Both Trial Period Start Date and Trial Period End Date must be set,Tarikh Mulai Tempoh Percubaan dan Tarikh Akhir Tempoh Percubaan mesti ditetapkan,
Both Warehouse must belong to same Company,Kedua-dua Gudang mestilah berada dalam Syarikat sama,
Branch,Cawangan,
Broadcasting,Penyiaran,
Brokerage,Brokerage,
Browse BOM,Browse BOM,
Budget Against,Bajet Terhadap,
Budget List,Senarai Belanjawan,
Budget Variance Report,Belanjawan Laporan Varian,
Budget cannot be assigned against Group Account {0},Bajet tidak boleh diberikan terhadap Akaun Kumpulan {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Bajet tidak boleh diberikan terhadap {0}, kerana ia bukan satu akaun Pendapatan atau Perbelanjaan",
Buildings,Bangunan,
Bundle items at time of sale.,Barangan bundle pada masa jualan.,
Business Development Manager,Pengurus Pembangunan Perniagaan,
Buy,Beli,
Buying,Membeli,
Buying Amount,Membeli Jumlah,
Buying Price List,Membeli Senarai Harga,
Buying Rate,Kadar Beli,
"Buying must be checked, if Applicable For is selected as {0}","Membeli hendaklah disemak, jika Terpakai Untuk dipilih sebagai {0}",
By {0},Dengan {0},
Bypass credit check at Sales Order ,Bypass cek kredit di Pesanan Jualan,
C-Form records,C-Borang rekod,
C-form is not applicable for Invoice: {0},C-bentuk tidak boleh digunakan untuk invois: {0},
CEO,Ketua Pegawai Eksekutif,
CESS Amount,Jumlah CESS,
CGST Amount,Jumlah CGST,
CRM,CRM,
CWIP Account,Akaun CWIP,
Calculated Bank Statement balance,Dikira-kira Penyata Bank,
Calls,Panggilan,
Campaign,Kempen,
Can be approved by {0},Boleh diluluskan oleh {0},
"Can not filter based on Account, if grouped by Account","Tidak boleh menapis di Akaun, jika dikumpulkan oleh Akaun",
"Can not filter based on Voucher No, if grouped by Voucher","Tidak boleh menapis berdasarkan Baucer Tidak, jika dikumpulkan oleh Baucar",
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Tidak dapat menandakan Rekod Rawat Pesanan yang Dibebankan, terdapat Invois yang Belum Dibayar {0}",
Can only make payment against unbilled {0},Hanya boleh membuat pembayaran terhadap belum dibilkan {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Boleh merujuk berturut-turut hanya jika jenis pertuduhan adalah &#39;Pada Row Jumlah Sebelumnya&#39; atau &#39;Sebelumnya Row Jumlah&#39;,
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Tidak boleh menukar kaedah penilaian, kerana terdapat urus niaga terhadap beberapa item yang tidak mempunyai ia kaedah penilaian sendiri",
Can't create standard criteria. Please rename the criteria,Tidak boleh membuat kriteria standard. Sila tukar nama kriteria,
Cancel,Batal,
Cancel Material Visit {0} before cancelling this Warranty Claim,Batal Bahan Melawat {0} sebelum membatalkan Waranti Tuntutan,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Batal Bahan Lawatan {0} sebelum membatalkan Lawatan Penyelenggaraan ini,
Cancel Subscription,Batal Langganan,
Cancel the journal entry {0} first,Batalkan kemasukan jurnal {0} dahulu,
Canceled,Dibatalkan,
"Cannot Submit, Employees left to mark attendance","Tidak boleh Hantar, Pekerja ditinggalkan untuk menandakan kehadiran",
Cannot be a fixed asset item as Stock Ledger is created.,Tidak boleh menjadi item aset tetap sebagai Lejar Saham dicipta.,
Cannot cancel because submitted Stock Entry {0} exists,Tidak boleh membatalkan kerana dikemukakan Saham Entry {0} wujud,
Cannot cancel transaction for Completed Work Order.,Tidak dapat membatalkan transaksi untuk Perintah Kerja yang Selesai.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Tidak dapat membatalkan {0} {1} kerana Serial No {2} tidak tergolong dalam gudang {3},
Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Tidak dapat mengubah Sifat selepas transaksi stok. Buat Item baru dan pindahan stok ke Item baru,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Tidak dapat ubah Tahun Fiskal Mula Tarikh dan Tahun Anggaran Tarikh akhir sekali Tahun Fiskal disimpan.,
Cannot change Service Stop Date for item in row {0},Tidak dapat mengubah Tarikh Henti Perkhidmatan untuk item dalam baris {0},
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Tidak boleh mengubah Variasi hartanah selepas transaksi stok. Anda perlu membuat Item baru untuk melakukan ini.,
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Tidak boleh menukar mata wang lalai syarikat itu, kerana terdapat urus niaga yang sedia ada. Transaksi mesti dibatalkan untuk menukar mata wang lalai.",
Cannot change status as student {0} is linked with student application {1},tidak boleh menukar status sebagai pelajar {0} dikaitkan dengan permohonan pelajar {1},
Cannot convert Cost Center to ledger as it has child nodes,Tidak boleh menukar PTJ ke lejar kerana ia mempunyai nod anak,
Cannot covert to Group because Account Type is selected.,Tidak boleh Covert kepada Kumpulan kerana Jenis Akaun dipilih.,
Cannot create Retention Bonus for left Employees,Tidak boleh membuat Bonus Pengekalan untuk Pekerja kiri,
Cannot create a Delivery Trip from Draft documents.,Tidak dapat membuat Lawatan Pengiriman dari dokumen Draf.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,Tidak boleh menyahaktifkan atau membatalkan BOM kerana ia dikaitkan dengan BOMs lain,
"Cannot declare as lost, because Quotation has been made.","Tidak boleh mengaku sebagai hilang, kerana Sebutharga telah dibuat.",
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Tidak boleh memotong apabila kategori adalah untuk &#39;Penilaian&#39; atau &#39;Penilaian dan Jumlah&#39;,
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Tidak dapat menolak apabila kategori adalah untuk &#39;Penilaian&#39; atau &#39;Vaulation dan Jumlah&#39;,
"Cannot delete Serial No {0}, as it is used in stock transactions","Tidak dapat memadam No Serial {0}, kerana ia digunakan dalam urus niaga saham",
Cannot enroll more than {0} students for this student group.,tidak boleh mendaftar lebih daripada {0} pelajar bagi kumpulan pelajar ini.,
Cannot find Item with this barcode,Tidak dapat mencari Item dengan kod bar ini,
Cannot find active Leave Period,Tidak dapat mencari Tempoh Cuti aktif,
Cannot produce more Item {0} than Sales Order quantity {1},Tidak boleh menghasilkan Perkara lebih {0} daripada kuantiti Sales Order {1},
Cannot promote Employee with status Left,Tidak boleh mempromosikan Pekerja dengan status Kiri,
Cannot refer row number greater than or equal to current row number for this Charge type,Tidak boleh merujuk beberapa berturut-turut lebih besar daripada atau sama dengan bilangan baris semasa untuk jenis Caj ini,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Tidak boleh pilih jenis bayaran sebagai &#39;Pada Row Jumlah Sebelumnya&#39; atau &#39;Pada Sebelumnya Row Jumlah&#39; untuk baris pertama,
Cannot set a received RFQ to No Quote,Tidak dapat menetapkan RFQ yang diterima untuk Tiada Kata Sebut,
Cannot set as Lost as Sales Order is made.,Tidak boleh ditetapkan sebagai Kalah sebagai Sales Order dibuat.,
Cannot set authorization on basis of Discount for {0},Tidak boleh menetapkan kebenaran secara Diskaun untuk {0},
Cannot set multiple Item Defaults for a company.,Tidak dapat menetapkan Berbilang Butiran Item untuk syarikat.,
Cannot set quantity less than delivered quantity,Tidak boleh menetapkan kuantiti kurang daripada jumlah yang dihantar,
Cannot set quantity less than received quantity,Tidak boleh menetapkan kuantiti kurang daripada kuantiti yang diterima,
Cannot set the field <b>{0}</b> for copying in variants,Tidak dapat menetapkan medan <b>{0}</b> untuk menyalin variasi,
Cannot transfer Employee with status Left,Tidak dapat memindahkan Pekerja dengan status Kiri,
Cannot {0} {1} {2} without any negative outstanding invoice,Tidak boleh {0} {1} {2} tanpa sebarang invois tertunggak negatif,
Capital Equipments,Peralatan Modal,
Capital Stock,Modal Saham,
Capital Work in Progress,Kerja Modal dalam Kemajuan,
Cart,Dalam Troli,
Cart is Empty,Troli kosong,
Case No(s) already in use. Try from Case No {0},Kes Tidak (s) telah digunakan. Cuba dari Case No {0},
Cash,Tunai,
Cash Flow Statement,Penyata aliran tunai,
Cash Flow from Financing,Aliran tunai daripada pembiayaan,
Cash Flow from Investing,Aliran tunai daripada Pelaburan,
Cash Flow from Operations,Aliran Tunai daripada Operasi,
Cash In Hand,Tunai Dalam Tangan,
Cash or Bank Account is mandatory for making payment entry,Tunai atau Bank Akaun adalah wajib untuk membuat catatan pembayaran,
Cashier Closing,Penutupan Tunai,
Casual Leave,Cuti Kasual,
Category,Kategori,
Category Name,Kategori Nama,
Caution,Awas,
Central Tax,Cukai Pusat,
Certification,Pensijilan,
Cess,Cess,
Change Amount,Tukar Jumlah,
Change Item Code,Tukar Kod Item,
Change Release Date,Tukar Tarikh Siaran,
Change Template Code,Tukar Kod Template,
Changing Customer Group for the selected Customer is not allowed.,Mengubah Kumpulan Pelanggan untuk Pelanggan yang dipilih tidak dibenarkan.,
Chapter,Bab,
Chapter information.,Maklumat bab.,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Penjaga jenis &#39;sebenar&#39; di baris {0} tidak boleh dimasukkan dalam Kadar Perkara,
Chargeble,Chargeble,
Charges are updated in Purchase Receipt against each item,Caj akan dikemas kini di Resit Pembelian terhadap setiap item,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Caj akan diagihkan mengikut kadar berdasarkan item qty atau amaunnya, seperti pilihan anda",
Chart of Cost Centers,Carta Pusat Kos,
Check all,Memeriksa semua,
Checkout,Checkout,
Chemical,Kimia,
Cheque,Cek,
Cheque/Reference No,Cek / Rujukan,
Cheques Required,Cek diperlukan,
Cheques and Deposits incorrectly cleared,Cek dan Deposit tidak betul dibersihkan,
Child Task exists for this Task. You can not delete this Task.,Tugas Anak wujud untuk Tugas ini. Anda tidak boleh memadamkan Tugas ini.,
Child nodes can be only created under 'Group' type nodes,nod kanak-kanak hanya boleh diwujudkan di bawah nod jenis &#39;Kumpulan,
Child warehouse exists for this warehouse. You can not delete this warehouse.,Child gudang wujud untuk gudang ini. Anda tidak boleh memadam gudang ini.,
Circular Reference Error,Ralat Rujukan Pekeliling,
City,City,
City/Town,Bandar / Pekan,
Claimed Amount,Jumlah yang dituntut,
Clay,Tanah liat,
Clear filters,Penapis jernih,
Clear values,Kosongkan nilai,
Clearance Date,Clearance Tarikh,
Clearance Date not mentioned,Clearance Tarikh tidak dinyatakan,
Clearance Date updated,Clearance Tarikh update,
Client,Pelanggan,
Client ID,ID pelanggan,
Client Secret,Secret pelanggan,
Clinical Procedure,Prosedur Klinikal,
Clinical Procedure Template,Templat Prosedur Klinikal,
Close Balance Sheet and book Profit or Loss.,Kunci Kira-kira rapat dan buku Untung atau Rugi.,
Close Loan,Tutup Pinjaman,
Close the POS,Tutup POS,
Closed,Ditutup,
Closed order cannot be cancelled. Unclose to cancel.,perintah tertutup tidak boleh dibatalkan. Unclose untuk membatalkan.,
Closing (Cr),Penutup (Cr),
Closing (Dr),Penutup (Dr),
Closing (Opening + Total),Penutupan (pembukaan + jumlah),
Closing Account {0} must be of type Liability / Equity,Penutupan Akaun {0} mestilah jenis Liabiliti / Ekuiti,
Closing Balance,Baki Penutupan,
Code,Kod,
Collapse All,Tutup Semua,
Color,Warna,
Colour,Warna,
Combined invoice portion must equal 100%,Bahagian invois gabungan mesti bersamaan 100%,
Commercial,Perdagangan,
Commission,Suruhanjaya,
Commission Rate %,Kadar Suruhanjaya%,
Commission on Sales,Suruhanjaya Jualan,
Commission rate cannot be greater than 100,Kadar Suruhanjaya tidak boleh lebih besar daripada 100,
Community Forum,Komuniti Forum,
Company (not Customer or Supplier) master.,Syarikat (tidak Pelanggan atau Pembekal) induk.,
Company Abbreviation,Singkatan Syarikat,
Company Abbreviation cannot have more than 5 characters,Singkatan Syarikat tidak boleh mempunyai lebih daripada 5 aksara,
Company Name,Nama Syarikat,
Company Name cannot be Company,Nama Syarikat tidak boleh menjadi Syarikat,
Company currencies of both the companies should match for Inter Company Transactions.,Mata wang syarikat kedua-dua syarikat perlu sepadan dengan Transaksi Syarikat Antara.,
Company is manadatory for company account,Syarikat adalah pembadanan untuk akaun syarikat,
Company name not same,Nama syarikat tidak sama,
Company {0} does not exist,Syarikat {0} tidak wujud,
Compensatory Off,Pampasan Off,
Compensatory leave request days not in valid holidays,Hari permintaan cuti pampasan tidak bercuti,
Complaint,Aduan,
Completion Date,Tarikh Siap,
Computer,Komputer,
Condition,Keadaan,
Configure,Konfigurasikan,
Configure {0},Konfigur {0},
Confirmed orders from Customers.,Pesanan disahkan dari Pelanggan.,
Connect Amazon with ERPNext,Sambungkan Amazon dengan ERPNext,
Connect Shopify with ERPNext,Sambungkan Shopify dengan ERPNext,
Connect to Quickbooks,Sambung ke Quickbooks,
Connected to QuickBooks,Disambungkan ke QuickBooks,
Connecting to QuickBooks,Menyambung ke QuickBooks,
Consultation,Perundingan,
Consultations,Perundingan,
Consulting,Consulting,
Consumable,Guna habis,
Consumed,Digunakan,
Consumed Amount,Jumlah dimakan,
Consumed Qty,Digunakan Qty,
Consumer Products,Produk pengguna,
Contact,Hubungi,
Contact Details,Butiran Hubungi,
Contact Number,Nombor telefon,
Contact Us,Hubungi Kami,
Content,Kandungan,
Content Masters,Kandungan Sarjana,
Content Type,Jenis kandungan,
Continue Configuration,Teruskan Konfigurasi,
Contract,Kontrak,
Contract End Date must be greater than Date of Joining,Kontrak Tarikh Akhir mesti lebih besar daripada Tarikh Menyertai,
Contribution %,Sumbangan%,
Contribution Amount,Jumlah Sumbangan,
Conversion factor for default Unit of Measure must be 1 in row {0},Faktor penukaran Unit keingkaran Langkah mesti 1 berturut-turut {0},
Conversion rate cannot be 0 or 1,Kadar Penukaran tidak boleh menjadi 0 atau 1,
Convert to Group,Tukar ke Kumpulan,
Convert to Non-Group,Tukar ke Kumpulan bukan-,
Cosmetics,Kosmetik,
Cost Center,PTJ,
Cost Center Number,Nombor Pusat Kos,
Cost Center and Budgeting,Pusat Kos dan Belanjawan,
Cost Center is required in row {0} in Taxes table for type {1},PTJ diperlukan berturut-turut {0} dalam Cukai meja untuk jenis {1},
Cost Center with existing transactions can not be converted to group,PTJ dengan urus niaga yang sedia ada tidak boleh ditukar kepada kumpulan,
Cost Center with existing transactions can not be converted to ledger,PTJ dengan urus niaga yang sedia ada tidak boleh ditukar ke dalam lejar,
Cost Centers,Pusat Kos,
Cost Updated,Kos Dikemaskini,
Cost as on,Kos seperti pada,
Cost of Delivered Items,Kos Item Dihantar,
Cost of Goods Sold,Kos Barang Dijual,
Cost of Issued Items,Kos Item Dikeluarkan,
Cost of New Purchase,Kos Pembelian New,
Cost of Purchased Items,Kos Item Dibeli,
Cost of Scrapped Asset,Kos Aset Dihapuskan,
Cost of Sold Asset,Kos Aset Dijual,
Cost of various activities,Kos pelbagai aktiviti,
"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Tidak dapat mencipta Nota Kredit secara automatik, sila nyahtandakan &#39;Isu Kredit Terbitan&#39; dan serahkan lagi",
Could not generate Secret,Tidak dapat menjana Rahsia,
Could not retrieve information for {0}.,Tidak boleh mendapatkan maklumat untuk {0}.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,Tidak dapat menyelesaikan fungsi markah kriteria untuk {0}. Pastikan formula itu sah.,
Could not solve weighted score function. Make sure the formula is valid.,Tidak dapat menyelesaikan fungsi skor berwajaran. Pastikan formula itu sah.,
Could not submit some Salary Slips,Tidak dapat menghantar beberapa Slip Gaji,
"Could not update stock, invoice contains drop shipping item.","Tidak dapat kemas kini saham, invois mengandungi drop item penghantaran.",
Country wise default Address Templates,Negara lalai bijak Templat Alamat,
Course,Kursus,
Course Code: ,Kod Kursus:,
Course Enrollment {0} does not exists,Pendaftaran Kursus {0} tidak wujud,
Course Schedule,Jadual Kursus,
Course: ,Kursus:,
Cr,Cr,
Create,Buat,
Create BOM,Buat BOM,
Create Delivery Trip,Buat Lawatan Penghantaran,
Create Disbursement Entry,Buat Entri Penyewaan,
Create Employee,Buat Pekerja,
Create Employee Records,Cipta Rekod pekerja,
"Create Employee records to manage leaves, expense claims and payroll","Mencipta rekod pekerja untuk menguruskan daun, tuntutan perbelanjaan dan gaji",
Create Fee Schedule,Buat Jadual Bayaran,
Create Fees,Buat Yuran,
Create Inter Company Journal Entry,Buat Kemasukan Jurnal Syarikat Antara,
Create Invoice,Buat Invois,
Create Invoices,Buat Invois,
Create Job Card,Buat Kad Kerja,
Create Journal Entry,Buat Kemasukan Jurnal,
Create Lead,Buat Lead,
Create Leads,Buat Leads,
Create Maintenance Visit,Buat Lawatan Penyelenggaraan,
Create Material Request,Buat Permintaan Bahan,
Create Multiple,Buat Pelbagai,
Create Opening Sales and Purchase Invoices,Buat Invois Jualan dan Pembelian Terbuka,
Create Payment Entries,Buat Entri Pembayaran,
Create Payment Entry,Buat Entri Pembayaran,
Create Print Format,Buat Format Cetak,
Create Purchase Order,Buat Pesanan Pembelian,
Create Purchase Orders,Buat Pesanan Pembelian,
Create Quotation,Buat Sebut Harga,
Create Salary Slip,Membuat Slip Gaji,
Create Salary Slips,Buat Slip Gaji,
Create Sales Invoice,Buat Invois Jualan,
Create Sales Order,Buat Pesanan Jualan,
Create Sales Orders to help you plan your work and deliver on-time,Buat Pesanan Jualan untuk membantu anda merancang kerja anda dan menyampaikan tepat waktu,
Create Sample Retention Stock Entry,Buat Kemasukan Saham Penyimpanan Sampel,
Create Student,Buat Pelajar,
Create Student Batch,Buat Kumpulan Pelajar,
Create Student Groups,Cipta Kumpulan Pelajar,
Create Supplier Quotation,Buat Sebut Harga Pembekal,
Create Tax Template,Buat Templat Cukai,
Create Timesheet,Buat Timesheet,
Create User,Buat Pengguna,
Create Users,Buat Pengguna,
Create Variant,Buat Varians,
Create Variants,Buat Kelainan,
"Create and manage daily, weekly and monthly email digests.","Membuat dan menguruskan mencerna e-mel harian, mingguan dan bulanan.",
Create customer quotes,Membuat sebut harga pelanggan,
Create rules to restrict transactions based on values.,Mewujudkan kaedah-kaedah untuk menyekat transaksi berdasarkan nilai-nilai.,
Created By,Dibuat oleh,
Created {0} scorecards for {1} between: ,Dicipta {0} kad skor untuk {1} antara:,
Creating Company and Importing Chart of Accounts,Mewujudkan Carta Syarikat dan Mengimport Carta Akaun,
Creating Fees,Membuat Bayaran,
Creating Payment Entries......,Mencipta Entri Pembayaran ......,
Creating Salary Slips...,Membuat Slip Gaji ...,
Creating student groups,Mewujudkan kumpulan pelajar,
Creating {0} Invoice,Mewujudkan {0} Invois,
Credit,Kredit,
Credit ({0}),Kredit ({0}),
Credit Account,Akaun kredit,
Credit Balance,Baki kredit,
Credit Card,Kad kredit,
Credit Days cannot be a negative number,Hari Kredit tidak boleh menjadi nombor negatif,
Credit Limit,Had kredit,
Credit Note,Nota kredit,
Credit Note Amount,Jumlah kredit Nota,
Credit Note Issued,Nota Kredit Dikeluarkan,
Credit Note {0} has been created automatically,Nota Kredit {0} telah dibuat secara automatik,
Credit limit has been crossed for customer {0} ({1}/{2}),Had kredit telah dilangkau untuk pelanggan {0} ({1} / {2}),
Creditors,Pemiutang,
Criteria weights must add up to 100%,Kriteria berat mesti menambah sehingga 100%,
Crop Cycle,Kitaran Tanaman,
Crops & Lands,Tanaman &amp; Tanah,
Currency Exchange must be applicable for Buying or for Selling.,Pertukaran Mata Wang mesti terpakai untuk Beli atau Jual.,
Currency can not be changed after making entries using some other currency,Mata wang tidak boleh diubah selepas membuat masukan menggunakan beberapa mata wang lain,
Currency exchange rate master.,Mata Wang Kadar pertukaran utama.,
Currency for {0} must be {1},Mata wang untuk {0} mesti {1},
Currency is required for Price List {0},Mata wang diperlukan untuk Senarai Harga {0},
Currency of the Closing Account must be {0},Mata Wang Akaun Penutupan mestilah {0},
Currency of the price list {0} must be {1} or {2},Mata wang senarai harga {0} mestilah {1} atau {2},
Currency should be same as Price List Currency: {0},Mata wang sepatutnya sama dengan Senarai Harga Mata Wang: {0},
Current,Semasa,
Current Assets,Aset semasa,
Current BOM and New BOM can not be same,BOM semasa dan New BOM tidak boleh sama,
Current Job Openings,Lowongan Kerja Semasa,
Current Liabilities,Liabiliti Semasa,
Current Qty,Kuantiti semasa,
Current invoice {0} is missing,Invois semasa {0} hilang,
Custom HTML,Custom HTML,
Custom?,Custom?,
Customer,Pelanggan,
Customer Addresses And Contacts,Alamat Pelanggan Dan Kenalan,
Customer Contact,Pelanggan Hubungi,
Customer Database.,Pangkalan Data Pelanggan.,
Customer Group,Kumpulan Pelanggan,
Customer LPO,Pelanggan LPO,
Customer LPO No.,Pelanggan LPO No.,
Customer Name,Nama Pelanggan,
Customer POS Id,Id POS Pelanggan,
Customer Service,Khidmat Pelanggan,
Customer and Supplier,Pelanggan dan Pembekal,
Customer is required,Pelanggan dikehendaki,
Customer isn't enrolled in any Loyalty Program,Pelanggan tidak mendaftar dalam mana-mana Program Kesetiaan,
Customer required for 'Customerwise Discount',Pelanggan dikehendaki untuk &#39;Customerwise Diskaun&#39;,
Customer {0} does not belong to project {1},Pelanggan {0} bukan milik projek {1},
Customer {0} is created.,Pelanggan {0} dibuat.,
Customers in Queue,Pelanggan di Giliran,
Customize Homepage Sections,Sesuaikan Bahagian Homepage,
Customizing Forms,Borang menyesuaikan,
Daily Project Summary for {0},Ringkasan Projek Harian untuk {0},
Daily Reminders,Peringatan harian,
Daily Work Summary,Ringkasan Kerja Harian,
Daily Work Summary Group,Kumpulan Ringkasan Kerja Harian,
Data Import and Export,Data Import dan Eksport,
Data Import and Settings,Import dan Tetapan Data,
Database of potential customers.,Pangkalan data pelanggan yang berpotensi.,
Date Format,Format tarikh,
Date Of Retirement must be greater than Date of Joining,Tarikh Persaraan mesti lebih besar daripada Tarikh Menyertai,
Date is repeated,Tarikh diulang,
Date of Birth,Tarikh lahir,
Date of Birth cannot be greater than today.,Tarikh Lahir tidak boleh lebih besar daripada hari ini.,
Date of Commencement should be greater than Date of Incorporation,Tarikh Permulaan hendaklah lebih besar daripada Tarikh Penubuhan,
Date of Joining,Tarikh Menyertai,
Date of Joining must be greater than Date of Birth,Tarikh Menyertai mesti lebih besar daripada Tarikh Lahir,
Date of Transaction,Tarikh Transaksi,
Datetime,Datetime,
Day,hari,
Debit,Debit,
Debit ({0}),Debit ({0}),
Debit A/C Number,Nombor A / C Debit,
Debit Account,Akaun Debit,
Debit Note,Nota debit,
Debit Note Amount,Amaun debit Nota,
Debit Note Issued,Debit Nota Dikeluarkan,
Debit To is required,Debit Untuk diperlukan,
Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debit dan Kredit tidak sama untuk {0} # {1}. Perbezaan adalah {2}.,
Debtors,Penghutang,
Debtors ({0}),Penghutang ({0}),
Declare Lost,Isytiharkan Hilang,
Deduction,Potongan,
Default Activity Cost exists for Activity Type - {0},Kos Aktiviti lalai wujud untuk Jenis Kegiatan - {0},
Default BOM ({0}) must be active for this item or its template,BOM lalai ({0}) mesti aktif untuk item ini atau template yang,
Default BOM for {0} not found,BOM lalai untuk {0} tidak dijumpai,
Default BOM not found for Item {0} and Project {1},Lalai BOM tidak dijumpai untuk Perkara {0} dan Projek {1},
Default Letter Head,Surat Ketua Default,
Default Tax Template,Templat Cukai Lalai,
Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,Unit keingkaran Langkah untuk Perkara {0} tidak boleh diubah langsung kerana anda telah membuat beberapa transaksi (s) dengan UOM lain. Anda akan perlu untuk membuat item baru untuk menggunakan UOM Lalai yang berbeza.,
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Unit keingkaran Langkah untuk Variant &#39;{0}&#39; hendaklah sama seperti dalam Template &#39;{1}&#39;,
Default settings for buying transactions.,Tetapan lalai untuk membeli transaksi.,
Default settings for selling transactions.,Tetapan lalai untuk menjual transaksi.,
Default tax templates for sales and purchase are created.,Templat cukai lalai untuk jualan dan pembelian dicipta.,
Defaults,Lalai,
Defense,Pertahanan,
Define Project type.,Tentukan jenis Projek.,
Define budget for a financial year.,Tentukan bajet untuk tahun kewangan.,
Define various loan types,Tentukan pelbagai jenis pinjaman,
Del,Del,
Delay in payment (Days),Kelewatan dalam pembayaran (Hari),
Delete all the Transactions for this Company,Memadam semua Transaksi Syarikat ini,
Deletion is not permitted for country {0},Pemadaman tidak dibenarkan untuk negara {0},
Delivered,Dihantar,
Delivered Amount,Jumlah Dihantar,
Delivered Qty,Dihantar Qty,
Delivered: {0},Dihantar: {0},
Delivery,Penghantaran,
Delivery Date,Tarikh penghantaran,
Delivery Note,Penghantaran Nota,
Delivery Note {0} is not submitted,Penghantaran Nota {0} tidak dikemukakan,
Delivery Note {0} must not be submitted,Penghantaran Nota {0} tidak boleh dikemukakan,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Nota Penghantaran {0} hendaklah dibatalkan sebelum membatalkan Perintah Jualan ini,
Delivery Notes {0} updated,Catatan Penghantaran {0} dikemas kini,
Delivery Status,Status Penghantaran,
Delivery Trip,Lawatan Penghantaran,
Delivery warehouse required for stock item {0},Gudang penghantaran diperlukan untuk item stok {0},
Department,Jabatan,
Department Stores,Kedai Jabatan,
Depreciation,Susutnilai,
Depreciation Amount,Jumlah Susut Nilai,
Depreciation Amount during the period,Susutnilai Jumlah dalam tempoh yang,
Depreciation Date,Tarikh susutnilai,
Depreciation Eliminated due to disposal of assets,Susut nilai atau penyingkiran kerana pelupusan aset,
Depreciation Entry,Kemasukan susutnilai,
Depreciation Method,Kaedah susut nilai,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Susut Susut {0}: Tarikh Mula Susut Susut dimasukkan sebagai tarikh terakhir,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Susut Susut {0}: Nilai yang dijangkakan selepas hayat berguna mestilah lebih besar atau sama dengan {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Susut Susut {0}: Tarikh Susutnilai Seterusnya tidak boleh sebelum Tarikh Tersedia untuk Penggunaan,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Susut Susut {0}: Tarikh Susutnilai Seterusnya tidak boleh sebelum Tarikh Pembelian,
Designer,Designer,
Detailed Reason,Sebab Terperinci,
Details,Butiran,
Details of Outward Supplies and inward supplies liable to reverse charge,Butir-butir Bekalan Bekalan dan bekalan ke dalam boleh dikenakan caj balik,
Details of the operations carried out.,Butiran operasi dijalankan.,
Diagnosis,Diagnosis,
Did not find any item called {0},Tidak jumpa apa-apa perkara yang dipanggil {0},
Diff Qty,Diff Qty,
Difference Account,Akaun Perbezaan,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Akaun perbezaan mestilah akaun jenis Aset / Liabiliti, kerana ini adalah Penyesuaian Saham Masuk Pembukaan",
Difference Amount,Perbezaan Amaun,
Difference Amount must be zero,Perbezaan Jumlah mestilah sifar,
Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,UOM berbeza untuk perkara akan membawa kepada tidak betul (Jumlah) Nilai Berat Bersih. Pastikan Berat bersih setiap item adalah dalam UOM yang sama.,
Direct Expenses,Perbelanjaan Langsung,
Direct Income,Pendapatan Langsung,
Disable,Melumpuhkan,
Disabled template must not be default template,Templat kurang upaya tidak perlu menjadi templat lalai,
Disburse Loan,Mengeluarkan Pinjaman,
Disbursed,Dibelanjakan,
Disc,Cakera,
Discharge,Pelepasan,
Discount,Diskaun,
Discount Percentage can be applied either against a Price List or for all Price List.,Peratus diskaun boleh digunakan baik dengan menentang Senarai Harga atau untuk semua Senarai Harga.,
Discount must be less than 100,Diskaun mesti kurang daripada 100,
Diseases & Fertilizers,Penyakit &amp; Baja,
Dispatch,Dispatch,
Dispatch Notification,Pemberitahuan Penghantaran,
Dispatch State,Dispatch State,
Distance,Jarak jauh,
Distribution,Pengagihan,
Distributor,Pengedar,
Dividends Paid,Dividen Dibayar,
Do you really want to restore this scrapped asset?,Adakah anda benar-benar mahu memulihkan aset dilupuskan ini?,
Do you really want to scrap this asset?,Adakah anda benar-benar mahu menghapuskan aset ini?,
Do you want to notify all the customers by email?,Adakah anda ingin memberitahu semua pelanggan melalui e-mel?,
Doc Date,Tarikh Dokumen,
Doc Name,Nama Doc,
Doc Type,Doc Jenis,
Docs Search,Carian Dokumen,
Document Name,Dokumen Nama,
Document Status,Dokumen Status,
Document Type,Jenis dokumen,
Domain,Domain,
Domains,Domain,
Done,Selesai,
Donor,Donor,
Donor Type information.,Maklumat jenis Donor.,
Donor information.,Maklumat penderma.,
Download JSON,Muat turun JSON,
Draft,Draf,
Drop Ship,Drop Ship,
Drug,Dadah,
Due / Reference Date cannot be after {0},Oleh kerana / Rujukan Tarikh dan boleh dikenakan {0},
Due Date cannot be before Posting / Supplier Invoice Date,Date Due tidak boleh sebelum Tarikh Invois Penanda / Pembekal,
Due Date is mandatory,Tarikh Akhir adalah wajib,
Duplicate Entry. Please check Authorization Rule {0},Salinan Entry. Sila semak Kebenaran Peraturan {0},
Duplicate Serial No entered for Item {0},Salinan No Serial masuk untuk Perkara {0},
Duplicate customer group found in the cutomer group table,kumpulan pelanggan Duplicate dijumpai di dalam jadual kumpulan cutomer,
Duplicate entry,Entri pendua,
Duplicate item group found in the item group table,kumpulan item Duplicate dijumpai di dalam jadual kumpulan item,
Duplicate roll number for student {0},jumlah roll salinan untuk pelajar {0},
Duplicate row {0} with same {1},Salinan barisan {0} dengan sama {1},
Duplicate {0} found in the table,Duplicate {0} yang terdapat dalam jadual,
Duration in Days,Tempoh dalam Hari,
Duties and Taxes,Tugas dan Cukai,
E-Invoicing Information Missing,E-Invoicing Information Missing,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,Tetapan ERPNext,
Earliest,Terawal,
Earnest Money,Wang Earnest,
Earning,Pendapatan,
Edit,Edit,
Edit Publishing Details,Edit Butiran Penerbitan,
"Edit in full page for more options like assets, serial nos, batches etc.","Edit halaman penuh untuk lebih banyak pilihan seperti aset, nada siri, batch dll.",
Education,Pendidikan,
Either location or employee must be required,Sama ada lokasi atau pekerja mestilah diperlukan,
Either target qty or target amount is mandatory,Sama ada qty sasaran atau jumlah sasaran adalah wajib,
Either target qty or target amount is mandatory.,Qty sasaran atau sasaran jumlah sama ada adalah wajib.,
Electrical,Elektrik,
Electronic Equipments,Peralatan Elektronik,
Electronics,Elektronik,
Eligible ITC,ITC yang layak,
Email Account,Akaun e-mel,
Email Address,Alamat emel,
"Email Address must be unique, already exists for {0}","Alamat e-mel mesti menjadi unik, sudah wujud untuk {0}",
Email Digest: ,E-mel Digest:,
Email Reminders will be sent to all parties with email contacts,Pengingat E-mel akan dihantar kepada semua pihak dengan kenalan e-mel,
Email Sent,E-mel dihantar,
Email Template,Templat E-mel,
Email not found in default contact,E-mel tidak dijumpai dalam hubungan lalai,
Email sent to {0},E-mel yang dihantar kepada {0},
Employee,Pekerja,
Employee A/C Number,Nombor A / C Pekerja,
Employee Advances,Pendahuluan Pekerja,
Employee Benefits,Manfaat pekerja,
Employee Grade,Gred pekerja,
Employee ID,ID pekerja,
Employee Lifecycle,Kitar Hayat Pekerja,
Employee Name,Nama Pekerja,
Employee Promotion cannot be submitted before Promotion Date ,Promosi Pekerja tidak boleh dikemukakan sebelum Tarikh Promosi,
Employee Referral,Rujukan pekerja,
Employee Transfer cannot be submitted before Transfer Date ,Pemindahan Pekerja tidak boleh dikemukakan sebelum Tarikh Pemindahan,
Employee cannot report to himself.,Pekerja tidak boleh melaporkan kepada dirinya sendiri.,
Employee relieved on {0} must be set as 'Left',Pekerja lega pada {0} mesti ditetapkan sebagai &#39;kiri&#39;,
Employee status cannot be set to 'Left' as following employees are currently reporting to this employee:&nbsp;,Status pekerja tidak boleh ditetapkan ke &#39;Kiri&#39; kerana pekerja berikut melaporkan kepada pekerja ini:,
Employee {0} already submited an apllication {1} for the payroll period {2},Pekerja {0} telah mengemukakan apllication {1} untuk tempoh gaji {2},
Employee {0} has already applied for {1} between {2} and {3} : ,Pekerja {0} telah memohon untuk {1} antara {2} dan {3}:,
Employee {0} has no maximum benefit amount,Pekerja {0} tidak mempunyai jumlah faedah maksimum,
Employee {0} is not active or does not exist,Pekerja {0} tidak aktif atau tidak wujud,
Employee {0} is on Leave on {1},Pekerja {0} ada di Cuti di {1},
Employee {0} of grade {1} have no default leave policy,Pekerja {0} gred {1} tidak mempunyai dasar cuti lalai,
Employee {0} on Half day on {1},Pekerja {0} pada hari Half pada {1},
Enable,membolehkan,
Enable / disable currencies.,Membolehkan / melumpuhkan mata wang.,
Enabled,Membolehkan,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Mendayakan &#39;Gunakan untuk Shopping Cart&#39;, kerana Troli didayakan dan perlu ada sekurang-kurangnya satu Peraturan cukai bagi Troli Membeli-belah",
End Date,Tarikh akhir,
End Date can not be less than Start Date,Tarikh Akhir tidak boleh kurang daripada Tarikh Mula,
End Date cannot be before Start Date.,Tarikh Akhir tidak dapat sebelum Tarikh Mula.,
End Year,akhir Tahun,
End Year cannot be before Start Year,Akhir Tahun tidak boleh sebelum Start Tahun,
End on,Akhirnya,
End time cannot be before start time,Masa tamat tidak boleh sebelum waktu mula,
Ends On date cannot be before Next Contact Date.,Berakhir Pada tarikh tidak boleh sebelum Tarikh Urusan Seterusnya.,
Energy,Tenaga,
Engineer,Jurutera,
Enough Parts to Build,Bahagian Cukup untuk Membina,
Enroll,Mendaftar,
Enrolling student,pelajar yang mendaftar,
Enrolling students,Mendaftar pelajar,
Enter depreciation details,Masukkan butiran susut nilai,
Enter the Bank Guarantee Number before submittting.,Masukkan Nombor Jaminan Bank sebelum menyerahkan.,
Enter the name of the Beneficiary before submittting.,Masukkan nama Benefisiari sebelum diserahkan.,
Enter the name of the bank or lending institution before submittting.,Masukkan nama bank atau institusi pemberi pinjaman sebelum mengemukakan.,
Enter value betweeen {0} and {1},Masukkan nilai betweeen {0} dan {1},
Entertainment & Leisure,Hiburan &amp; Leisure,
Entertainment Expenses,Perbelanjaan Hiburan,
Equity,Ekuiti,
Error Log,ralat Log,
Error evaluating the criteria formula,Ralat menilai formula kriteria,
Error in formula or condition: {0},Ralat dalam formula atau keadaan: {0},
Error: Not a valid id?,Ralat: Bukan id sah?,
Estimated Cost,Anggaran kos,
Evaluation,Penilaian,
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Walaupun terdapat beberapa Peraturan Harga dengan keutamaan tertinggi, keutamaan dalaman maka berikut digunakan:",
Event,Peristiwa,
Event Location,Lokasi Acara,
Event Name,Nama event,
Exchange Gain/Loss,Exchange Keuntungan / Kerugian,
Exchange Rate Revaluation master.,Tuan penilaian semula nilai tukar.,
Exchange Rate must be same as {0} {1} ({2}),Kadar pertukaran mestilah sama dengan {0} {1} ({2}),
Excise Invoice,Cukai Invois,
Execution,Pelaksanaan,
Executive Search,Cari Eksekutif,
Expand All,Buka Semua,
Expected Delivery Date,Jangkaan Tarikh Penghantaran,
Expected Delivery Date should be after Sales Order Date,Tarikh Penghantaran Yang Diharapkan hendaklah selepas Tarikh Pesanan Jualan,
Expected End Date,Tarikh Jangkaan Tamat,
Expected Hrs,Hr,
Expected Start Date,Jangkaan Tarikh Mula,
Expense,Perbelanjaan,
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Akaun perbelanjaan / Perbezaan ({0}) mestilah akaun &#39;Keuntungan atau Kerugian&#39;,
Expense Account,Akaun Perbelanjaan,
Expense Claim,Perbelanjaan Tuntutan,
Expense Claim for Vehicle Log {0},Tuntutan Perbelanjaan untuk kenderaan Log {0},
Expense Claim {0} already exists for the Vehicle Log,Perbelanjaan Tuntutan {0} telah wujud untuk Log Kenderaan,
Expense Claims,Tuntutan Perbelanjaan,
Expense account is mandatory for item {0},Akaun perbelanjaan adalah wajib bagi item {0},
Expenses,Perbelanjaan,
Expenses Included In Asset Valuation,Perbelanjaan Termasuk dalam Penilaian Aset,
Expenses Included In Valuation,Perbelanjaan Termasuk dalam Penilaian,
Expired Batches,Batches yang telah tamat tempoh,
Expires On,Luput pada,
Expiring On,Tamat Tempoh,
Expiry (In Days),Tamat (Dalam Hari),
Explore,Explore,
Export E-Invoices,Eksport E-Invois,
Extra Large,Lebih Besar,
Extra Small,Tambahan Kecil,
Fail,Gagal,
Failed,Gagal,
Failed to create website,Gagal membuat laman web,
Failed to install presets,Gagal memasang pratetap,
Failed to login,Gagal masuk,
Failed to setup company,Gagal persediaan syarikat,
Failed to setup defaults,Gagal menetapkan lalai,
Failed to setup post company fixtures,Gagal menyediakan persediaan syarikat pos,
Fax,Fax,
Fee,Bayaran,
Fee Created,Bayaran Dibuat,
Fee Creation Failed,Penciptaan Kos Gagal,
Fee Creation Pending,Penciptaan Kos Penangguhan,
Fee Records Created - {0},Rekod Bayaran Dibuat - {0},
Feedback,Maklumbalas,
Fees,yuran,
Female,Perempuan,
Fetch Data,Ambil Data,
Fetch Subscription Updates,Mengambil Update Langganan,
Fetch exploded BOM (including sub-assemblies),Kutip BOM meletup (termasuk sub-pemasangan),
Fetching records......,Mengambil rekod ......,
Field Name,Nama Field,
Fieldname,Fieldname,
Fields,Medan,
Fill the form and save it,Isi borang dan simpannya,
Filter Employees By (Optional),Penapis Pekerja Mengikut (pilihan),
"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filter Fields Row # {0}: Nama lapangan <b>{1}</b> mestilah jenis &quot;Pautan&quot; atau &quot;MultiSelect Table&quot;,
Filter Total Zero Qty,Penapis Jumlah Zero Qty,
Finance Book,Buku Kewangan,
Financial / accounting year.,Tahun kewangan / perakaunan.,
Financial Services,Perkhidmatan kewangan,
Financial Statements,Penyata kewangan,
Financial Year,Tahun kewangan,
Finish,Selesai,
Finished Good,Selesai Baik,
Finished Good Item Code,Kod Barang Baik,
Finished Goods,Barangan Selesai,
Finished Item {0} must be entered for Manufacture type entry,Mendapat tempat Item {0} mesti dimasukkan untuk masuk jenis Pembuatan,
Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Kuantiti produk siap <b>{0}</b> dan Kuantiti <b>{1}</b> tidak boleh berbeza,
First Name,Nama Pertama,
"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Rejimen Fiskal adalah wajib, sila tetapkan rejim fiskal dalam syarikat {0}",
Fiscal Year,Tahun Anggaran,
Fiscal Year End Date should be one year after Fiscal Year Start Date,Tarikh Akhir Tahun Fiskal hendaklah satu tahun selepas Tarikh Mula Tahun Fiskal,
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Tahun Anggaran Tarikh Mula dan Tahun Anggaran Tarikh Tamat sudah ditetapkan dalam Tahun Anggaran {0},
Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Tarikh Mula Tahun Fiskal hendaklah satu tahun lebih awal daripada Tarikh Akhir Tahun Fiskal,
Fiscal Year {0} does not exist,Tahun Anggaran {0} tidak wujud,
Fiscal Year {0} is required,Tahun Fiskal {0} diperlukan,
Fiscal Year {0} not found,Tahun Anggaran {0} tidak dijumpai,
Fixed Asset,Aset tetap,
Fixed Asset Item must be a non-stock item.,Asset Item tetap perlu menjadi item tanpa saham.,
Fixed Assets,Aset tetap,
Following Material Requests have been raised automatically based on Item's re-order level,Mengikuti Permintaan Bahan telah dibangkitkan secara automatik berdasarkan pesanan semula tahap Perkara ini,
Following accounts might be selected in GST Settings:,Berikut akaun mungkin dipilih dalam Tetapan CBP:,
Following course schedules were created,Mengikuti jadual kursus dibuat,
Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Mengikut item {0} tidak ditandakan sebagai {1} item. Anda boleh mengaktifkannya sebagai {1} item dari tuan Itemnya,
Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Item berikut {0} tidak ditandakan sebagai {1} item. Anda boleh mengaktifkannya sebagai {1} item dari tuan Itemnya,
Food,Makanan,
"Food, Beverage & Tobacco","Makanan, Minuman &amp; Tembakau",
For,Untuk,
"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Untuk item &#39;Bundle Produk&#39;, Gudang, No Serial dan batch Tidak akan dipertimbangkan dari &#39;Packing List&#39; meja. Jika Gudang dan Batch No adalah sama untuk semua barangan pembungkusan untuk item apa-apa &#39;Bundle Produk&#39;, nilai-nilai boleh dimasukkan dalam jadual Perkara utama, nilai akan disalin ke &#39;Packing List&#39; meja.",
For Employee,Untuk Pekerja,
For Quantity (Manufactured Qty) is mandatory,Untuk Kuantiti (Dikilangkan Qty) adalah wajib,
For Supplier,Untuk pembekal,
For Warehouse,Untuk Gudang,
For Warehouse is required before Submit,Untuk Gudang diperlukan sebelum Hantar,
"For an item {0}, quantity must be negative number","Untuk item {0}, kuantiti mestilah nombor negatif",
"For an item {0}, quantity must be positive number","Untuk item {0}, kuantiti mestilah nombor positif",
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","Untuk kad kerja {0}, anda hanya boleh membuat entri jenis jenis &#39;Pemindahan Bahan untuk Pembuatan&#39;",
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Bagi barisan {0} dalam {1}. Untuk memasukkan {2} dalam kadar Perkara, baris {3} hendaklah juga disediakan",
For row {0}: Enter Planned Qty,Untuk baris {0}: Masukkan Qty yang dirancang,
"For {0}, only credit accounts can be linked against another debit entry","Untuk {0}, hanya akaun kredit boleh dikaitkan terhadap kemasukan debit lain",
"For {0}, only debit accounts can be linked against another credit entry","Untuk {0}, akaun debit hanya boleh dikaitkan dengan kemasukan kredit lain",
Form View,Lihat Borang,
Forum Activity,Aktiviti Forum,
Free item code is not selected,Kod item percuma tidak dipilih,
Freight and Forwarding Charges,Freight Forwarding dan Caj,
Frequency,kekerapan,
Friday,Jumaat,
From,Dari,
From Address 1,Dari Alamat 1,
From Address 2,Dari Alamat 2,
From Currency and To Currency cannot be same,Dari Mata Wang dan Untuk mata wang tidak boleh sama,
From Date and To Date lie in different Fiscal Year,Dari Tarikh dan Ke Tarikh terletak dalam Tahun Fiskal yang berbeza,
From Date cannot be greater than To Date,Dari Tarikh tidak boleh lebih besar daripada Dating,
From Date must be before To Date,Dari Tarikh mesti sebelum Dating,
From Date should be within the Fiscal Year. Assuming From Date = {0},Dari Tarikh harus berada dalam Tahun Fiskal. Dengan mengandaikan Dari Tarikh = {0},
From Date {0} cannot be after employee's relieving Date {1},Dari Tarikh {0} tidak boleh selepas Tarikh melegakan pekerja {1},
From Date {0} cannot be before employee's joining Date {1},Dari Tarikh {0} tidak boleh sebelum pekerja menyertai Tarikh {1},
From Datetime,Dari Datetime,
From Delivery Note,Dari Penghantaran Nota,
From Fiscal Year,Dari Tahun Fiskal,
From GSTIN,Dari GSTIN,
From Party Name,Dari Nama Parti,
From Pin Code,Daripada Kod Pin,
From Place,Dari Tempat,
From Range has to be less than To Range,Dari Range mempunyai kurang daripada Untuk Julat,
From State,Dari Negeri,
From Time,Dari masa,
From Time Should Be Less Than To Time,Dari Masa Harus Kurang Daripada Masa,
From Time cannot be greater than To Time.,Dari Masa tidak boleh lebih besar daripada ke semasa.,
"From a supplier under composition scheme, Exempt and Nil rated","Daripada pembekal di bawah skim komposisi, Pengecualian dan Nil dinilai",
From and To dates required,Dari dan kepada tarikh yang dikehendaki,
From date can not be less than employee's joining date,Dari tarikh tidak boleh kurang daripada tarikh menyertai pekerja,
From value must be less than to value in row {0},Dari nilai boleh kurang daripada nilai berturut-turut {0},
From {0} | {1} {2},Dari {0} | {1} {2},
Fuel Price,Harga Bahan Api,
Fuel Qty,Fuel Qty,
Fulfillment,Fulfillment,
Full,Penuh,
Full Name,Nama Penuh,
Full-time,Sepenuh masa,
Fully Depreciated,disusutnilai sepenuhnya,
Furnitures and Fixtures,Perabot dan Fixtures,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Akaun lanjut boleh dibuat di bawah Kumpulan, tetapi penyertaan boleh dibuat terhadap bukan Kumpulan",
Further cost centers can be made under Groups but entries can be made against non-Groups,Pusat kos lanjut boleh dibuat di bawah Kumpulan tetapi penyertaan boleh dibuat terhadap bukan Kumpulan,
Further nodes can be only created under 'Group' type nodes,Nod lagi hanya boleh diwujudkan di bawah nod jenis &#39;Kumpulan,
Future dates not allowed,Tarikh masa depan tidak dibenarkan,
GSTIN,GSTIN,
GSTR3B-Form,Borang GSTR3B,
Gain/Loss on Asset Disposal,Keuntungan / Kerugian daripada Pelupusan Aset,
Gantt Chart,Carta Gantt,
Gantt chart of all tasks.,Carta Gantt semua tugas.,
Gender,Jantina,
General,Ketua,
General Ledger,Lejar Am,
Generate Material Requests (MRP) and Work Orders.,Menjana Permintaan Bahan (MRP) dan Perintah Kerja.,
Generate Secret,Menjana Rahsia,
Get Details From Declaration,Dapatkan Butiran Dari Perisytiharan,
Get Employees,Dapatkan Pekerja,
Get Invocies,Dapatkan Invocies,
Get Invoices,Dapatkan Invois,
Get Invoices based on Filters,Dapatkan Invois berdasarkan Penapis,
Get Items from BOM,Dapatkan item dari BOM,
Get Items from Healthcare Services,Dapatkan barangan dari Perkhidmatan Penjagaan Kesihatan,
Get Items from Prescriptions,Dapatkan Item daripada Preskripsi,
Get Items from Product Bundle,Dapatkan Item daripada Fail Produk,
Get Suppliers,Dapatkan Pembekal,
Get Suppliers By,Dapatkan Pembekal Oleh,
Get Updates,Dapatkan Maklumat Terbaru,
Get customers from,Dapatkan pelanggan dari,
Get from Patient Encounter,Dapatkan dari Pesakit Pesakit,
Getting Started,Bermula,
GitHub Sync ID,ID Penyegerakan GitHub,
Global settings for all manufacturing processes.,Tetapan global untuk semua proses pembuatan.,
Go to the Desktop and start using ERPNext,Pergi ke Desktop dan mula menggunakan ERPNext,
GoCardless SEPA Mandate,Mandat SEPA GoCardless,
GoCardless payment gateway settings,Tetapan gerbang pembayaran GoCardless,
Goal and Procedure,Matlamat dan Prosedur,
Goals cannot be empty,Matlamat tidak boleh kosong,
Goods In Transit,Barangan Dalam Transit,
Goods Transferred,Barang Dipindahkan,
Goods and Services Tax (GST India),Cukai Barang dan Perkhidmatan (GST India),
Goods are already received against the outward entry {0},Barangan telah diterima terhadap entri luaran {0},
Government,Kerajaan,
Grand Total,Jumlah Besar,
Grant,Geran,
Grant Application,Permohonan Geran,
Grant Leaves,Grant Daun,
Grant information.,Berikan maklumat.,
Grocery,Barang runcit,
Gross Pay,Gaji kasar,
Gross Profit,Keuntungan kasar,
Gross Profit %,Keuntungan kasar%,
Gross Profit / Loss,Keuntungan Kasar / Rugi,
Gross Purchase Amount,Jumlah Pembelian Kasar,
Gross Purchase Amount is mandatory,Jumlah Pembelian Kasar adalah wajib,
Group by Account,Kumpulan dengan Akaun,
Group by Party,Kumpulan oleh Pihak,
Group by Voucher,Kumpulan dengan Voucher,
Group by Voucher (Consolidated),Kumpulan oleh Voucher (Disatukan),
Group node warehouse is not allowed to select for transactions,nod Kumpulan gudang tidak dibenarkan untuk memilih untuk transaksi,
Group to Non-Group,Kumpulan kepada Bukan Kumpulan,
Group your students in batches,Kumpulan pelajar anda dalam kelompok,
Groups,Kumpulan,
Guardian1 Email ID,Guardian1 ID E-mel,
Guardian1 Mobile No,Guardian1 Bimbit,
Guardian1 Name,Nama Guardian1,
Guardian2 Email ID,Guardian2 ID E-mel,
Guardian2 Mobile No,Guardian2 Bimbit,
Guardian2 Name,Nama Guardian2,
Guest,Tetamu,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Day,Hari separuh,
Half Day Date is mandatory,Tarikh Hari Setempat adalah wajib,
Half Day Date should be between From Date and To Date,Half Tarikh Hari harus antara Dari Tarikh dan To Date,
Half Day Date should be in between Work From Date and Work End Date,Tarikh Hari Separuh hendaklah di antara Kerja Dari Tarikh dan Tarikh Akhir Kerja,
Half Yearly,Setengah Tahunan,
Half day date should be in between from date and to date,Tarikh setengah hari sepatutnya berada di antara dari tarikh dan setakat ini,
Half-Yearly,Setengah tahun,
Hardware,Perkakasan,
Head of Marketing and Sales,Ketua Pemasaran dan Jualan,
Health Care,Penjagaan Kesihatan,
Healthcare,Penjagaan kesihatan,
Healthcare (beta),Kesihatan (beta),
Healthcare Practitioner,Pengamal Penjagaan Kesihatan,
Healthcare Practitioner not available on {0},Pengamal Penjagaan Kesihatan tidak boleh didapati di {0},
Healthcare Practitioner {0} not available on {1},Pengamal Penjagaan Kesihatan {0} tidak tersedia di {1},
Healthcare Service Unit,Unit Perkhidmatan Penjagaan Kesihatan,
Healthcare Service Unit Tree,Pokok Unit Perkhidmatan Penjagaan Kesihatan,
Healthcare Service Unit Type,Jenis Unit Perkhidmatan Penjagaan Kesihatan,
Healthcare Services,Perkhidmatan Penjagaan Kesihatan,
Healthcare Settings,Tetapan Kesihatan,
Hello,Hello,
Help Results for,Bantuan Keputusan untuk,
High,Tinggi,
High Sensitivity,Kepekaan Tinggi,
Hold,Pegang,
Hold Invoice,Pegang Invois,
Holiday,Holiday,
Holiday List,Senarai Holiday,
Hotel Rooms of type {0} are unavailable on {1},Hotel Bilik jenis {0} tidak tersedia di {1},
Hotels,Hotel,
Hourly,Jam,
Hours,Jam,
House rent paid days overlapping with {0},Sewa hari sewa hari bertindih dengan {0},
House rented dates required for exemption calculation,Tarikh sewa rumah yang diperlukan untuk pengiraan pengecualian,
House rented dates should be atleast 15 days apart,Tarikh sewa rumah sepatutnya tidak terpakai selama 15 hari,
How Pricing Rule is applied?,Bagaimana Harga Peraturan digunakan?,
Hub Category,Kategori Hab,
Hub Sync ID,ID Sync Hub,
Human Resource,Sumber Manusia,
Human Resources,Sumber Manusia,
IFSC Code,Kod IFSC,
IGST Amount,Jumlah IGST,
IP Address,Alamat IP,
ITC Available (whether in full op part),ITC Tersedia (sama ada dalam bahagian penuh),
ITC Reversed,ITC Dibalikkan,
Identifying Decision Makers,Mengenal pasti Pembuat Keputusan,
"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Sekiranya Auto Opt In diperiksa, pelanggan akan dipaut secara automatik dengan Program Kesetiaan yang berkenaan (di save)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Jika beberapa Peraturan Harga terus diguna pakai, pengguna diminta untuk menetapkan Keutamaan secara manual untuk menyelesaikan konflik.",
"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Jika Peraturan Harga yang dipilih dibuat untuk &#39;Rate&#39;, ia akan menimpa Senarai Harga. Kadar penetapan harga adalah kadar terakhir, jadi tiada lagi diskaun yang perlu dikenakan. Oleh itu, dalam urus niaga seperti Perintah Jualan, Pesanan Pembelian dan lain-lain, ia akan diambil dalam medan &#39;Rate&#39;, bukannya &#39;Bidang Senarai Harga&#39;.",
"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Jika dua atau lebih Peraturan Harga yang didapati berdasarkan syarat-syarat di atas, Keutamaan digunakan. Keutamaan adalah nombor antara 0 hingga 20 manakala nilai lalai adalah sifar (kosong). Jumlah yang lebih tinggi bermakna ia akan diberi keutamaan jika terdapat berbilang Peraturan Harga dengan keadaan yang sama.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Jika tamat tempoh tanpa had untuk Mata Kesetiaan, pastikan Tempoh Tamat Tempoh kosong atau 0.",
"If you have any questions, please get back to us.","Jika anda mempunyai sebarang pertanyaan, sila kembali kepada kami.",
Ignore Existing Ordered Qty,Abaikan Qty yang Dimasukkan,
Image,Image,
Image View,Lihat imej,
Import Data,Import Data,
Import Day Book Data,Data Buku Hari Import,
Import Log,Import Log,
Import Master Data,Import Master Data,
Import in Bulk,Import di Bulk,
Import of goods,Import barangan,
Import of services,Import perkhidmatan,
Importing Items and UOMs,Mengimport Item dan UOM,
Importing Parties and Addresses,Mengimport Pihak dan Alamat,
In Maintenance,Dalam Penyelenggaraan,
In Production,Dalam Pengeluaran,
In Qty,Dalam Kuantiti,
In Stock Qty,Dalam Stok Kuantiti,
In Stock: ,Dalam stok:,
In Value,Dalam Nilai,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","Dalam hal program multi-tier, Pelanggan akan ditugaskan secara automatik ke peringkat yang bersangkutan seperti yang dibelanjakannya",
Inactive,Tidak aktif,
Incentives,Insentif,
Include Default Book Entries,Sertakan Penyertaan Buku Lalai,
Include Exploded Items,Termasuk Item Meletup,
Include POS Transactions,Termasuk Transaksi POS,
Include UOM,Termasuk UOM,
Included in Gross Profit,Termasuk dalam Untung Kasar,
Income,Pendapatan,
Income Account,Akaun Pendapatan,
Income Tax,Cukai pendapatan,
Incoming,Masuk,
Incoming Rate,Kadar masuk,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Jumlah yang tidak betul Lejar Am Penyertaan dijumpai. Anda mungkin telah memilih Akaun salah dalam urus niaga.,
Increment cannot be 0,Kenaikan tidak boleh 0,
Increment for Attribute {0} cannot be 0,Kenaikan untuk Atribut {0} tidak boleh 0,
Indirect Expenses,Perbelanjaan Tidak Langsung,
Indirect Income,Pendapatan Tidak Langsung,
Individual,Individu,
Ineligible ITC,ITC tidak layak,
Initiated,Dimulakan,
Inpatient Record,Rekod Pesakit Dalam,
Insert,Insert,
Installation Note,Pemasangan Nota,
Installation Note {0} has already been submitted,Pemasangan Nota {0} telah diserahkan,
Installation date cannot be before delivery date for Item {0},Tarikh pemasangan tidak boleh sebelum tarikh penghantaran untuk Perkara {0},
Installing presets,Memasang pratetap,
Institute Abbreviation,Institut Singkatan,
Institute Name,Nama Institut,
Instructor,Pengajar,
Insufficient Stock,Saham yang tidak mencukupi,
Insurance Start date should be less than Insurance End date,Insurance Mula Tarikh harus kurang daripada tarikh Insurance End,
Integrated Tax,Cukai Bersepadu,
Inter-State Supplies,Bekalan Antara Negeri,
Interest Amount,Amaun Faedah,
Interests,minat,
Intern,Pelatih,
Internet Publishing,Penerbitan Internet,
Intra-State Supplies,Bekalan Intra-Negeri,
Introduction,Pengenalan,
Invalid Attribute,Sifat tidak sah,
Invalid Blanket Order for the selected Customer and Item,Perintah Selimut Tidak Sah untuk Pelanggan dan Item yang dipilih,
Invalid Company for Inter Company Transaction.,Syarikat Tidak Sah untuk Transaksi Syarikat Antara.,
Invalid GSTIN! A GSTIN must have 15 characters.,GSTIN tidak sah! A GSTIN mesti mempunyai 15 aksara.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,GSTIN tidak sah! 2 digit pertama GSTIN sepadan dengan nombor Negeri {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,GSTIN tidak sah! Input yang anda masukkan tidak sepadan dengan format GSTIN.,
Invalid Posting Time,Masa Penghantaran tidak sah,
Invalid attribute {0} {1},sifat yang tidak sah {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Kuantiti yang ditentukan tidak sah untuk item {0}. Kuantiti perlu lebih besar daripada 0.,
Invalid reference {0} {1},Rujukan tidak sah {0} {1},
Invalid {0},Tidak sah {0},
Invalid {0} for Inter Company Transaction.,Tidak sah {0} untuk Transaksi Syarikat Antara.,
Invalid {0}: {1},Tidak sah {0}: {1},
Inventory,Inventori,
Investment Banking,Perbankan Pelaburan,
Investments,Pelaburan,
Invoice,Invois,
Invoice Created,Invois Dicipta,
Invoice Discounting,Diskaun Invois,
Invoice Patient Registration,Pendaftaran Pesakit Invois,
Invoice Posting Date,Posting Invois Tarikh,
Invoice Type,Jenis Invois,
Invoice already created for all billing hours,Invois telah dibuat untuk semua jam pengebilan,
Invoice can't be made for zero billing hour,Invois tidak boleh dibuat untuk jam bil sifar,
Invoice {0} no longer exists,Invois {0} tidak wujud lagi,
Invoiced,Invois,
Invoiced Amount,Invois,
Invoices,Invois,
Invoices for Costumers.,Invois untuk Pelanggan.,
Inward supplies from ISD,Bekalan masuk dari ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),Bekalan dalam boleh dikenakan caj balik (selain daripada 1 &amp; 2 di atas),
Is Active,Adalah aktif,
Is Default,Adalah Default,
Is Existing Asset,Adakah Aset Sedia Ada,
Is Frozen,Adalah Beku,
Is Group,Adakah Kumpulan,
Issue,Isu,
Issue Material,Isu Bahan,
Issued,Isu,
Issues,Isu-isu,
It is needed to fetch Item Details.,Ia diperlukan untuk mengambil Butiran Item.,
Item,Perkara,
Item 1,Perkara 1,
Item 2,Perkara 2,
Item 3,Perkara 3,
Item 4,Perkara 4,
Item 5,Perkara 5,
Item Cart,barang Troli,
Item Code,Kod Item,
Item Code cannot be changed for Serial No.,Kod Item tidak boleh ditukar untuk No. Siri,
Item Code required at Row No {0},Kod Item diperlukan semasa Row Tiada {0},
Item Description,Perkara Penerangan,
Item Group,Perkara Kumpulan,
Item Group Tree,Perkara Kumpulan Tree,
Item Group not mentioned in item master for item {0},Perkara Kumpulan tidak dinyatakan dalam perkara induk untuk item {0},
Item Name,Nama barang,
Item Price added for {0} in Price List {1},Perkara Harga ditambah untuk {0} dalam senarai harga {1},
"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Harga Item muncul beberapa kali berdasarkan Senarai Harga, Pembekal / Pelanggan, Mata Wang, Item, UOM, Qty dan Tarikh.",
Item Price updated for {0} in Price List {1},Item Harga dikemaskini untuk {0} dalam Senarai Harga {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Baris Item {0}: {1} {2} tidak wujud di atas &#39;{1}&#39; jadual,
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Row Perkara Cukai {0} mesti mempunyai akaun Cukai jenis atau Pendapatan atau Perbelanjaan atau bercukai,
Item Template,Templat Perkara,
Item Variant Settings,Tetapan Variasi Item,
Item Variant {0} already exists with same attributes,Perkara Variant {0} telah wujud dengan sifat-sifat yang sama,
Item Variants,Kelainan Perkara,
Item Variants updated,Varian Item dikemas kini,
Item has variants.,Perkara mempunyai varian.,
Item must be added using 'Get Items from Purchase Receipts' button,Item mesti ditambah menggunakan &#39;Dapatkan Item daripada Pembelian Resit&#39; butang,
Item valuation rate is recalculated considering landed cost voucher amount,Perkara kadar penilaian dikira semula memandangkan jumlah baucar kos mendarat,
Item variant {0} exists with same attributes,Varian item {0} wujud dengan ciri yang sama,
Item {0} does not exist,Perkara {0} tidak wujud,
Item {0} does not exist in the system or has expired,Perkara {0} tidak wujud di dalam sistem atau telah tamat,
Item {0} has already been returned,Perkara {0} telah kembali,
Item {0} has been disabled,Perkara {0} telah dilumpuhkan,
Item {0} has reached its end of life on {1},Perkara {0} telah mencapai penghujungnya kehidupan di {1},
Item {0} ignored since it is not a stock item,Perkara {0} diabaikan kerana ia bukan satu perkara saham,
"Item {0} is a template, please select one of its variants","Perkara {0} adalah template, sila pilih salah satu daripada variannya",
Item {0} is cancelled,Perkara {0} dibatalkan,
Item {0} is disabled,Perkara {0} dilumpuhkan,
Item {0} is not a serialized Item,Perkara {0} bukan Item bersiri,
Item {0} is not a stock Item,Perkara {0} bukan Item saham,
Item {0} is not active or end of life has been reached,Perkara {0} tidak aktif atau akhir hayat telah dicapai,
Item {0} is not setup for Serial Nos. Check Item master,Perkara {0} tidak ditetapkan untuk Serial No. Semak Item induk,
Item {0} is not setup for Serial Nos. Column must be blank,Perkara {0} tidak ditetapkan untuk Serial No. Column boleh kosong,
Item {0} must be a Fixed Asset Item,Perkara {0} perlu menjadi Asset Perkara Tetap,
Item {0} must be a Sub-contracted Item,Perkara {0} mestilah Sub-kontrak Perkara,
Item {0} must be a non-stock item,Perkara {0} perlu menjadi item tanpa saham yang,
Item {0} must be a stock Item,Perkara {0} mestilah Perkara saham,
Item {0} not found,Perkara {0} tidak dijumpai,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Perkara {0} tidak dijumpai dalam &#39;Bahan Mentah Dibekalkan&#39; meja dalam Pesanan Belian {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Perkara {0}: qty Mengarahkan {1} tidak boleh kurang daripada perintah qty minimum {2} (ditakrifkan dalam Perkara).,
Item: {0} does not exist in the system,Perkara: {0} tidak wujud dalam sistem,
Items,Item,
Items Filter,Penapis Item,
Items and Pricing,Item dan Harga,
Items for Raw Material Request,Item untuk Permintaan Bahan Mentah,
Job Card,Kad Kerja,
Job Description,Penerangan mengenai Jawatan,
Job Offer,Tawaran pekerjaan,
Job card {0} created,Kad kerja {0} dibuat,
Jobs,Pekerjaan,
Join,Sertai,
Journal Entries {0} are un-linked,Jurnal Penyertaan {0} adalah un berkaitan,
Journal Entry,Jurnal Entry,
Journal Entry {0} does not have account {1} or already matched against other voucher,Jurnal Entry {0} tidak mempunyai akaun {1} atau sudah dipadankan dengan baucar lain,
Kanban Board,Lembaga Kanban,
Key Reports,Laporan Utama,
LMS Activity,Aktiviti LMS,
Lab Test,Ujian Makmal,
Lab Test Report,Laporan Ujian Makmal,
Lab Test Sample,Sampel Ujian Makmal,
Lab Test Template,Templat Ujian Lab,
Lab Test UOM,Ujian Makmal UOM,
Lab Tests and Vital Signs,Ujian Makmal dan Tanda Penting,
Lab result datetime cannot be before testing datetime,Data hasil makmal tidak boleh sebelum menguji waktu,
Lab testing datetime cannot be before collection datetime,Masa ujian makmal tidak boleh sebelum tarikh pengumpulan,
Label,Label,
Laboratory,Makmal,
Language Name,Nama bahasa,
Large,Besar,
Last Communication,Komunikasi lalu,
Last Communication Date,Tarikh Komunikasi lalu,
Last Name,Nama Akhir,
Last Order Amount,Perintah lepas Jumlah,
Last Order Date,Lepas Tarikh Perintah,
Last Purchase Price,Harga Belian Terakhir,
Last Purchase Rate,Kadar Pembelian lalu,
Latest,Terkini,
Latest price updated in all BOMs,Harga terkini dikemas kini dalam semua BOM,
Lead,Lead,
Lead Count,Lead Count,
Lead Owner,Lead Pemilik,
Lead Owner cannot be same as the Lead,Lead Pemilik tidak boleh menjadi sama seperti Lead,
Lead Time Days,Membawa Hari Masa,
Lead to Quotation,Membawa kepada Sebut Harga,
"Leads help you get business, add all your contacts and more as your leads","Leads membantu anda mendapatkan perniagaan, tambah semua kenalan anda dan lebih sebagai petunjuk anda",
Learn,Belajar,
Leave Approval Notification,Berikan Pemberitahuan Kelulusan,
Leave Blocked,Tinggalkan Disekat,
Leave Encashment,meninggalkan Penunaian,
Leave Management,Tinggalkan Pengurusan,
Leave Status Notification,Tinggalkan Pemberitahuan Status,
Leave Type,Cuti Jenis,
Leave Type is madatory,Tinggalkan Jenis adalah madatory,
Leave Type {0} cannot be allocated since it is leave without pay,Tinggalkan Jenis {0} tidak boleh diperuntukkan sejak ia meninggalkan tanpa gaji,
Leave Type {0} cannot be carry-forwarded,Tinggalkan Jenis {0} tidak boleh bawa dikemukakan,
Leave Type {0} is not encashable,Jenis Tinggalkan {0} tidak boleh encashable,
Leave Without Pay,Tinggalkan Tanpa Gaji,
Leave and Attendance,Tinggalkan dan Kehadiran,
Leave application {0} already exists against the student {1},Meninggalkan aplikasi {0} sudah wujud terhadap pelajar {1},
"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Cuti yang tidak boleh diperuntukkan sebelum {0}, sebagai baki cuti telah pun dibawa dikemukakan dalam rekod peruntukan cuti masa depan {1}",
"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Tinggalkan tidak boleh digunakan / dibatalkan sebelum {0}, sebagai baki cuti telah pun dibawa dikemukakan dalam rekod peruntukan cuti masa depan {1}",
Leave of type {0} cannot be longer than {1},Cuti jenis {0} tidak boleh lebih panjang daripada {1},
Leave the field empty to make purchase orders for all suppliers,Biarkan medan kosong untuk membuat pesanan pembelian untuk semua pembekal,
Leaves,Daun,
Leaves Allocated Successfully for {0},Meninggalkan Diperuntukkan Berjaya untuk {0},
Leaves has been granted sucessfully,Daun telah berjaya dicapai,
Leaves must be allocated in multiples of 0.5,Daun mesti diperuntukkan dalam gandaan 0.5,
Leaves per Year,Meninggalkan setiap Tahun,
Ledger,lejar,
Legal,Undang-undang,
Legal Expenses,Perbelanjaan Undang-Undang,
Letter Head,Surat Ketua,
Letter Heads for print templates.,Ketua surat untuk template cetak.,
Level,Tahap,
Liability,Liabiliti,
License,Lesen,
Lifecycle,Kitaran hidup,
Limit,Had,
Limit Crossed,had Crossed,
Link to Material Request,Pautan ke Permintaan Bahan,
List of all share transactions,Senarai semua urusniaga saham,
List of available Shareholders with folio numbers,Senarai Pemegang Saham yang tersedia dengan nombor folio,
Loading Payment System,Memuatkan Sistem Pembayaran,
Loan,Pinjaman,
Loan Amount cannot exceed Maximum Loan Amount of {0},Jumlah Pinjaman tidak boleh melebihi Jumlah Pinjaman Maksimum {0},
Loan Application,Permohonan Pinjaman,
Loan Management,Pengurusan Pinjaman,
Loan Repayment,bayaran balik pinjaman,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Tarikh Mula Pinjaman dan Tempoh Pinjaman adalah wajib untuk menyimpan Invois Discounting,
Loans (Liabilities),Pinjaman (Liabiliti),
Loans and Advances (Assets),Pinjaman dan Pendahuluan (Aset),
Local,Tempatan,
Log,Log,
Logs for maintaining sms delivery status,Log bagi mengekalkan status penghantaran sms,
Lost,Hilang,
Lost Reasons,Alasan Hilang,
Low,Rendah,
Low Sensitivity,Kepekaan Rendah,
Lower Income,Pendapatan yang lebih rendah,
Loyalty Amount,Jumlah kesetiaan,
Loyalty Point Entry,Kemasukan Point Kesetiaan,
Loyalty Points,Mata Kesetiaan,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Mata Kesetiaan akan dikira dari perbelanjaan yang telah dibelanjakan (melalui Invois Jualan), berdasarkan faktor pengumpulan yang disebutkan.",
Loyalty Points: {0},Mata Kesetiaan: {0},
Loyalty Program,Program kesetiaan,
Main,Utama,
Maintenance,Penyelenggaraan,
Maintenance Log,Log penyelenggaraan,
Maintenance Manager,Pengurus Penyelenggaraan,
Maintenance Schedule,Jadual penyelenggaraan,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Jadual penyelenggaraan tidak dihasilkan untuk semua item. Sila klik pada &#39;Menjana Jadual&#39;,
Maintenance Schedule {0} exists against {1},Jadual Penyelenggaraan {0} wujud daripada {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Jadual Penyelenggaraan {0} hendaklah dibatalkan sebelum membatalkan Perintah Jualan ini,
Maintenance Status has to be Cancelled or Completed to Submit,Status Penyelenggaraan perlu Dibatalkan atau Diselesaikan untuk Kirim,
Maintenance User,Penyelenggaraan pengguna,
Maintenance Visit,Penyelenggaraan Lawatan,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Lawatan penyelenggaraan {0} hendaklah dibatalkan sebelum membatalkan Perintah Jualan ini,
Maintenance start date can not be before delivery date for Serial No {0},Tarikh mula penyelenggaraan tidak boleh sebelum tarikh penghantaran untuk No Serial {0},
Make,Buat,
Make Payment,Buat bayaran,
Make project from a template.,Buat projek dari templat.,
Making Stock Entries,Membuat Kemasukan Stok,
Male,Lelaki,
Manage Customer Group Tree.,Menguruskan Tree Kumpulan Pelanggan.,
Manage Sales Partners.,Mengurus Jualan Partners.,
Manage Sales Person Tree.,Menguruskan Orang Jualan Tree.,
Manage Territory Tree.,Mengurus Wilayah Tree.,
Manage your orders,Menguruskan pesanan anda,
Management,Pengurusan,
Manager,Pengurus,
Managing Projects,Menguruskan Projek,
Managing Subcontracting,Urusan subkontrak,
Mandatory,Mandatori,
Mandatory field - Academic Year,medan mandatori - Academic Year,
Mandatory field - Get Students From,medan mandatori - Dapatkan Pelajar Dari,
Mandatory field - Program,medan mandatori - Program,
Manufacture,Pembuatan,
Manufacturer,Pengeluar,
Manufacturer Part Number,Pengeluar Bahagian Bilangan,
Manufacturing,Pembuatan,
Manufacturing Quantity is mandatory,Pembuatan Kuantiti adalah wajib,
Mapping,Pemetaan,
Mapping Type,Jenis pemetaan,
Mark Absent,Mark Tidak Hadir,
Mark Attendance,Tandatangan Kehadiran,
Mark Half Day,Mark Day Half,
Mark Present,Mark Hadir,
Marketing,Pemasaran,
Marketing Expenses,Perbelanjaan Pemasaran,
Marketplace,Pasaran,
Marketplace Error,Ralat Pasaran,
Masters,Sarjana,
Match Payments with Invoices,Pembayaran perlawanan dengan Invois,
Match non-linked Invoices and Payments.,Padankan Invois tidak berkaitan dan Pembayaran.,
Material,Bahan,
Material Consumption,Penggunaan Bahan,
Material Consumption is not set in Manufacturing Settings.,Penggunaan Bahan tidak ditetapkan dalam Tetapan Pembuatan.,
Material Receipt,Penerimaan Bahan,
Material Request,Permintaan Bahan,
Material Request Date,Bahan Permintaan Tarikh,
Material Request No,Permintaan bahan Tidak,
"Material Request not created, as quantity for Raw Materials already available.","Permintaan bahan tidak dibuat, kerana kuantiti Bahan Baku sudah tersedia.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Permintaan Bahan maksimum {0} boleh dibuat untuk Perkara {1} terhadap Sales Order {2},
Material Request to Purchase Order,Permintaan bahan Membeli Pesanan,
Material Request {0} is cancelled or stopped,Permintaan Bahan {0} dibatalkan atau dihentikan,
Material Request {0} submitted.,Permintaan Bahan {0} dihantar.,
Material Transfer,Pemindahan Bahan,
Material Transferred,Bahan Dipindahkan,
Material to Supplier,Bahan kepada Pembekal,
Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Jumlah Pengecualian Maksimum tidak boleh melebihi jumlah pengecualian maksimum {0} dari Kategori Pengecualian Cukai {1},
Max benefits should be greater than zero to dispense benefits,Faedah maksima harus lebih besar daripada sifar untuk memberi manfaat,
Max discount allowed for item: {0} is {1}%,Max diskaun yang dibenarkan untuk item: {0} adalah {1}%,
Max: {0},Max: {0},
Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Sampel Maksimum - {0} boleh dikekalkan untuk Batch {1} dan Item {2}.,
Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Sampel Maksimum - {0} telah dikekalkan untuk Batch {1} dan Item {2} dalam Batch {3}.,
Maximum amount eligible for the component {0} exceeds {1},Jumlah maksimum yang layak untuk komponen {0} melebihi {1},
Maximum benefit amount of component {0} exceeds {1},Jumlah faedah maksimum komponen {0} melebihi {1},
Maximum benefit amount of employee {0} exceeds {1},Jumlah faedah maksimum pekerja {0} melebihi {1},
Maximum discount for Item {0} is {1}%,Diskaun maksimum untuk Item {0} ialah {1}%,
Maximum leave allowed in the leave type {0} is {1},Cuti maksimum dibenarkan dalam cuti jenis {0} adalah {1},
Medical,Perubatan,
Medical Code,Kod Perubatan,
Medical Code Standard,Standard Kod Perubatan,
Medical Department,Jabatan Perubatan,
Medical Record,Rekod kesihatan,
Medium,Sederhana,
Meeting,Mesyuarat,
Member Activity,Aktiviti Ahli,
Member ID,ID ahli,
Member Name,Nama ahli,
Member information.,Maklumat ahli.,
Membership,Keahlian,
Membership Details,Butiran Keahlian,
Membership ID,ID Keahlian,
Membership Type,Jenis Keahlian,
Memebership Details,Butiran Memebership,
Memebership Type Details,Butiran Jenis Pemebership,
Merge,Gabung,
Merge Account,Merge Account,
Merge with Existing Account,Gabung dengan Akaun Sedia Ada,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Penggabungan hanya boleh dilakukan jika sifat berikut adalah sama dalam kedua-dua rekod. Adalah Kumpulan, Jenis Akar, Syarikat",
Message Examples,Contoh mesej,
Message Sent,Mesej dihantar,
Method,Kaedah,
Middle Income,Pendapatan Tengah,
Middle Name,Nama tengah,
Middle Name (Optional),Nama tengah (pilihan),
Min Amt can not be greater than Max Amt,Min Amt tidak boleh lebih besar daripada Max Amt,
Min Qty can not be greater than Max Qty,Min Qty tidak boleh lebih besar daripada Max Qty,
Minimum Lead Age (Days),Lead Minimum Umur (Hari),
Miscellaneous Expenses,Perbelanjaan Pelbagai,
Missing Currency Exchange Rates for {0},Hilang Mata Wang Kadar Pertukaran untuk {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Templat e-mel hilang untuk penghantaran. Sila tetapkan satu dalam Tetapan Pengiriman.,
"Missing value for Password, API Key or Shopify URL","Nilai yang hilang untuk Kata Laluan, Kunci API atau URL Shopify",
Mode of Payment,Cara Pembayaran,
Mode of Payments,Cara Pembayaran,
Mode of Transport,Mod Pengangkutan,
Mode of Transportation,Mod Pengangkutan,
Mode of payment is required to make a payment,Cara pembayaran adalah dikehendaki untuk membuat pembayaran,
Model,Model,
Moderate Sensitivity,Kepekaan Moderat,
Monday,Isnin,
Monthly,Bulanan,
Monthly Distribution,Pengagihan Bulanan,
Monthly Repayment Amount cannot be greater than Loan Amount,Jumlah Pembayaran balik bulanan tidak boleh lebih besar daripada Jumlah Pinjaman,
More,Lebih banyak,
More Information,Maklumat lanjut,
More than one selection for {0} not allowed,Lebih daripada satu pilihan untuk {0} tidak dibenarkan,
More...,More ...,
Motion Picture & Video,Motion Picture &amp; Video,
Move,langkah,
Move Item,Move Perkara,
Multi Currency,Mata Multi,
Multiple Item prices.,Harga Item berbilang.,
Multiple Loyalty Program found for the Customer. Please select manually.,Program Kesetiaan Pelbagai yang ditemui untuk Pelanggan. Sila pilih secara manual.,
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Peraturan Harga pelbagai wujud dengan kriteria yang sama, sila menyelesaikan konflik dengan memberikan keutamaan. Peraturan Harga: {0}",
Multiple Variants,Pelbagai variasi,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,tahun fiskal Pelbagai wujud untuk tarikh {0}. Sila menetapkan syarikat dalam Tahun Anggaran,
Music,Muzik,
My Account,Akaun Saya,
Name error: {0},Ralat nama: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Nama Akaun baru. Nota: Sila jangan membuat akaun untuk Pelanggan dan Pembekal,
Name or Email is mandatory,Nama atau E-mel adalah wajib,
Nature Of Supplies,Alam Bekalan,
Navigating,Melayari,
Needs Analysis,Analisis Kebutuhan,
Negative Quantity is not allowed,Kuantiti Negatif tidak dibenarkan,
Negative Valuation Rate is not allowed,Kadar Penilaian Negatif tidak dibenarkan,
Negotiation/Review,Rundingan / Semakan,
Net Asset value as on,Nilai Aset Bersih pada,
Net Cash from Financing,Tunai bersih daripada Pembiayaan,
Net Cash from Investing,Tunai bersih daripada Pelaburan,
Net Cash from Operations,Tunai bersih daripada Operasi,
Net Change in Accounts Payable,Perubahan Bersih dalam Akaun Belum Bayar,
Net Change in Accounts Receivable,Perubahan Bersih dalam Akaun Belum Terima,
Net Change in Cash,Perubahan Bersih dalam Tunai,
Net Change in Equity,Perubahan Bersih dalam Ekuiti,
Net Change in Fixed Asset,Perubahan Bersih dalam Aset Tetap,
Net Change in Inventory,Perubahan Bersih dalam Inventori,
Net ITC Available(A) - (B),ITC Bersih Tersedia (A) - (B),
Net Pay,Gaji bersih,
Net Pay cannot be less than 0,Pay bersih tidak boleh kurang daripada 0,
Net Profit,Keuntungan bersih,
Net Salary Amount,Jumlah Gaji Bersih,
Net Total,Jumlah bersih,
Net pay cannot be negative,Gaji bersih tidak boleh negatif,
New Account Name,Nama Akaun Baru,
New Address,Alamat Baru,
New BOM,New BOM,
New Batch ID (Optional),New Batch ID (Pilihan),
New Batch Qty,Batch baru Qty,
New Company,Syarikat Baru,
New Cost Center Name,New Nama PTJ,
New Customer Revenue,New Hasil Pelanggan,
New Customers,pelanggan baru,
New Department,Jabatan Baru,
New Employee,Pekerja baru,
New Location,Lokasi Baru,
New Quality Procedure,Prosedur Kualiti Baru,
New Sales Invoice,New Invois Jualan,
New Sales Person Name,Nama New Orang Sales,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,No Siri baru tidak boleh mempunyai Gudang. Gudang mesti digunakan Saham Masuk atau Resit Pembelian,
New Warehouse Name,Nama Warehouse New,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},had kredit baru adalah kurang daripada amaun tertunggak semasa untuk pelanggan. had kredit perlu atleast {0},
New task,Tugasan baru,
New {0} pricing rules are created,Peraturan {0} baru dibuat,
Newsletters,Surat Berita,
Newspaper Publishers,Akhbar Penerbit,
Next,Seterusnya,
Next Contact By cannot be same as the Lead Email Address,Seterusnya Hubungi Dengan tidak boleh menjadi sama seperti Alamat E-mel Lead,
Next Contact Date cannot be in the past,Hubungi Selepas Tarikh tidak boleh pada masa lalu,
Next Steps,Langkah seterusnya,
No Action,Tiada tindakan,
No Customers yet!,No Pelanggan lagi!,
No Data,Tiada Data,
No Delivery Note selected for Customer {},Tiada Nota Penghantaran yang dipilih untuk Pelanggan {},
No Employee Found,Tiada Pekerja Dijumpai,
No Item with Barcode {0},No Perkara dengan Barcode {0},
No Item with Serial No {0},No Perkara dengan Tiada Serial {0},
No Items available for transfer,Tiada Item yang tersedia untuk dipindahkan,
No Items selected for transfer,Tiada Item yang dipilih untuk dipindahkan,
No Items to pack,Tiada item untuk pek,
No Items with Bill of Materials to Manufacture,Tiada item dengan Bill Bahan untuk pembuatan,
No Items with Bill of Materials.,Tiada Item yang mempunyai Bil Bahan.,
No Permission,Tiada Kebenaran,
No Quote,No Quote,
No Remarks,Tidak Catatan,
No Result to submit,Tiada Keputusan untuk dihantar,
No Salary Structure assigned for Employee {0} on given date {1},Tiada Struktur Gaji yang diberikan kepada Pekerja {0} pada tarikh yang diberikan {1},
No Staffing Plans found for this Designation,Tiada Pelan Kakitangan ditemui untuk Jawatan ini,
No Student Groups created.,Tiada Kumpulan Pelajar diwujudkan.,
No Students in,No Pelajar dalam,
No Tax Withholding data found for the current Fiscal Year.,Tiada data Pegangan Cukai yang dijumpai untuk Tahun Fiskal semasa.,
No Work Orders created,Tiada Perintah Kerja dibuat,
No accounting entries for the following warehouses,Tiada catatan perakaunan bagi gudang berikut,
No active or default Salary Structure found for employee {0} for the given dates,Tiada Struktur aktif atau Gaji lalai dijumpai untuk pekerja {0} pada tarikh yang diberikan,
No contacts with email IDs found.,Tiada kenalan dengan ID e-mel dijumpai.,
No data for this period,Tiada data untuk tempoh ini,
No description given,Keterangan tidak diberikan,
No employees for the mentioned criteria,Tiada pekerja untuk kriteria yang disebutkan,
No gain or loss in the exchange rate,Tiada keuntungan atau kerugian dalam kadar pertukaran,
No items listed,Tiada perkara yang disenaraikan,
No items to be received are overdue,Tiada item yang akan diterima adalah tertunggak,
No material request created,Tiada permintaan bahan dibuat,
No more updates,Tiada lagi kemas kini,
No of Interactions,Tiada Interaksi,
No of Shares,Tiada Saham,
No pending Material Requests found to link for the given items.,Tiada Permintaan Bahan yang belum selesai dijumpai untuk dihubungkan untuk item yang diberikan.,
No products found,Tiada produk dijumpai,
No products found.,Belum ada produk found.,
No record found,Rekod tidak dijumpai,
No records found in the Invoice table,Tiada rekod yang terdapat dalam jadual Invois yang,
No records found in the Payment table,Tiada rekod yang terdapat dalam jadual Pembayaran,
No replies from,Tiada jawapan daripada,
No salary slip found to submit for the above selected criteria OR salary slip already submitted,Tiada slip gaji yang didapati mengemukakan untuk kriteria yang dipilih di atas ATAU slip gaji yang telah diserahkan,
No tasks,Tiada tugasan,
No time sheets,Tiada lembaran masa,
No values,Tiada nilai,
No {0} found for Inter Company Transactions.,Tiada {0} dijumpai untuk Transaksi Syarikat Antara.,
Non GST Inward Supplies,Bekalan Barang GST Bukan GST,
Non Profit,Keuntungan tidak,
Non Profit (beta),Bukan Untung (beta),
Non-GST outward supplies,Bekalan luar negara bukan CBP,
Non-Group to Group,Non-Group untuk Kumpulan,
None,Tiada,
None of the items have any change in quantity or value.,Tiada item mempunyai apa-apa perubahan dalam kuantiti atau nilai.,
Nos,Nos,
Not Available,Tiada Maklumat,
Not Marked,Tidak ditandakan,
Not Paid and Not Delivered,Not Paid dan Tidak Dihantar,
Not Permitted,Tidak Dibenarkan,
Not Started,Belum Bermula,
Not active,Tidak aktif,
Not allow to set alternative item for the item {0},Tidak membenarkan menetapkan item alternatif untuk item {0},
Not allowed to update stock transactions older than {0},Tidak dibenarkan untuk mengemaskini transaksi saham lebih tua daripada {0},
Not authorized to edit frozen Account {0},Tiada kebenaran untuk mengedit Akaun beku {0},
Not authroized since {0} exceeds limits,Tidak authroized sejak {0} melebihi had,
Not permitted for {0},Tidak dibenarkan untuk {0},
"Not permitted, configure Lab Test Template as required","Tidak dibenarkan, konfigurasi Templat Ujian Lab seperti yang diperlukan",
Not permitted. Please disable the Service Unit Type,Tidak dibenarkan. Sila nyahaktifkan Jenis Unit Perkhidmatan,
Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Nota: Disebabkan Tarikh / Rujukan melebihi dibenarkan hari kredit pelanggan dengan {0} hari (s),
Note: Item {0} entered multiple times,Nota: Perkara {0} memasuki beberapa kali,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Nota: Entry Bayaran tidak akan diwujudkan sejak &#39;Tunai atau Akaun Bank tidak dinyatakan,
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Nota: Sistem tidak akan memeriksa terlebih penghantaran dan lebih-tempahan untuk Perkara {0} sebagai kuantiti atau jumlah adalah 0,
Note: There is not enough leave balance for Leave Type {0},Nota: Tidak ada baki cuti yang cukup untuk Cuti Jenis {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Nota: Ini PTJ adalah Kumpulan. Tidak boleh membuat catatan perakaunan terhadap kumpulan.,
Note: {0},Nota: {0},
Notes,Nota,
Nothing is included in gross,Tiada apa-apa termasuk dalam kasar,
Nothing more to show.,Apa-apa untuk menunjukkan.,
Nothing to change,Tiada perubahan,
Notice Period,Tempoh notis,
Notify Customers via Email,Beritahu Pelanggan melalui E-mel,
Number,Nombor,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Jumlah penurunan nilai Ditempah tidak boleh lebih besar daripada Jumlah penurunan nilai,
Number of Interaction,Bilangan Interaksi,
Number of Order,Bilangan Pesanan,
"Number of new Account, it will be included in the account name as a prefix","Bilangan Akaun baru, ia akan dimasukkan ke dalam nama akaun sebagai awalan",
"Number of new Cost Center, it will be included in the cost center name as a prefix","Bilangan Pusat Kos baru, ia akan dimasukkan ke dalam nama pusat kos sebagai awalan",
Number of root accounts cannot be less than 4,Bilangan akaun root tidak boleh kurang daripada 4,
Odometer,Odometer,
Office Equipments,Peralatan Pejabat,
Office Maintenance Expenses,Perbelanjaan Penyelenggaraan,
Office Rent,Pejabat Disewa,
On Hold,Tunggu,
On Net Total,Di Net Jumlah,
One customer can be part of only single Loyalty Program.,Satu pelanggan boleh menjadi sebahagian daripada Program Kesetiaan tunggal sahaja.,
Online Auctions,Lelong Online,
Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Hanya Tinggalkan Permohonan dengan status &#39;diluluskan&#39; dan &#39;Telah&#39; boleh dikemukakan,
"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Hanya Pemohon Pelajar dengan status &quot;Diluluskan&quot; akan dipilih dalam jadual di bawah.,
Only users with {0} role can register on Marketplace,Hanya pengguna yang mempunyai peranan {0} boleh mendaftar di Marketplace,
Open BOM {0},Terbuka BOM {0},
Open Item {0},Terbuka Item {0},
Open Notifications,Pemberitahuan Terbuka,
Open Orders,Buka Pesanan,
Open a new ticket,Buka tiket baru,
Opening,Pembukaan,
Opening (Cr),Pembukaan (Cr),
Opening (Dr),Pembukaan (Dr),
Opening Accounting Balance,Perakaunan membuka Baki,
Opening Accumulated Depreciation,Membuka Susut Nilai Terkumpul,
Opening Accumulated Depreciation must be less than equal to {0},Membuka Susut Nilai Terkumpul mesti kurang dari sama dengan {0},
Opening Balance,Baki Pembukaan,
Opening Balance Equity,Pembukaan Ekuiti Baki,
Opening Date and Closing Date should be within same Fiscal Year,Tarikh dan Tarikh Tutup merasmikan perlu berada dalam sama Tahun Anggaran,
Opening Date should be before Closing Date,Tarikh pembukaan perlu sebelum Tarikh Tutup,
Opening Entry Journal,Jurnal Kemasukan Pembukaan,
Opening Invoice Creation Tool,Pembukaan Alat Penciptaan Invois,
Opening Invoice Item,Pembukaan Item Invois,
Opening Invoices,Pembukaan Invois,
Opening Invoices Summary,Ringkasan Invois Terbuka,
Opening Qty,Membuka Qty,
Opening Stock,Stok Awal,
Opening Stock Balance,Membuka Baki Saham,
Opening Value,Nilai Pembukaan,
Opening {0} Invoice created,Pembukaan {0} Invois dibuat,
Operation,Operasi,
Operation Time must be greater than 0 for Operation {0},Masa operasi mesti lebih besar daripada 0 untuk operasi {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operasi {0} lebih lama daripada mana-mana waktu kerja yang terdapat di stesen kerja {1}, memecahkan operasi ke dalam pelbagai operasi",
Operations,Operasi,
Operations cannot be left blank,Operasi tidak boleh dibiarkan kosong,
Opp Count,Opp Count,
Opp/Lead %,RRJP / Lead%,
Opportunities,Peluang,
Opportunities by lead source,Peluang dengan sumber utama,
Opportunity,Peluang,
Opportunity Amount,Jumlah Peluang,
Optional Holiday List not set for leave period {0},Senarai Percutian Pilihan tidak ditetapkan untuk tempoh cuti {0},
"Optional. Sets company's default currency, if not specified.","Pilihan. Set mata wang lalai syarikat, jika tidak dinyatakan.",
Optional. This setting will be used to filter in various transactions.,Pilihan. Tetapan ini akan digunakan untuk menapis dalam pelbagai transaksi.,
Options,Pilihan,
Order Count,Order Count,
Order Entry,Kemasukan Pesanan,
Order Value,Order Nilai,
Order rescheduled for sync,Pesanan dijadualkan semula untuk penyegerakan,
Order/Quot %,Order / Quot%,
Ordered,Mengarahkan,
Ordered Qty,Mengarahkan Qty,
"Ordered Qty: Quantity ordered for purchase, but not received.","Dikehendaki Qty: Kuantiti diperintahkan untuk pembelian, tetapi tidak diterima.",
Orders,Pesanan,
Orders released for production.,Perintah dikeluarkan untuk pengeluaran.,
Organization,organisasi,
Organization Name,Nama Pertubuhan,
Other,Lain-lain,
Other Reports,Laporan Lain,
"Other outward supplies(Nil rated,Exempted)","Bekalan luaran lain (Tiada nilai, Dikecualikan)",
Others,Lain,
Out Qty,Keluar Qty,
Out Value,Nilai Keluar,
Out of Order,Telah habis,
Outgoing,Keluar,
Outstanding,Cemerlang,
Outstanding Amount,Jumlah yang tertunggak,
Outstanding Amt,Amt Cemerlang,
Outstanding Cheques and Deposits to clear,Cek cemerlang dan Deposit untuk membersihkan,
Outstanding for {0} cannot be less than zero ({1}),Cemerlang untuk {0} tidak boleh kurang daripada sifar ({1}),
Outward taxable supplies(zero rated),Bekalan bercukai keluar (nilainya berkadar),
Overdue,Tertunggak,
Overlap in scoring between {0} and {1},Tumpuan dalam pemarkahan antara {0} dan {1},
Overlapping conditions found between:,Keadaan bertindih yang terdapat di antara:,
Owner,Pemilik,
PAN,PAN,
PO already created for all sales order items,PO telah dibuat untuk semua item pesanan jualan,
POS,POS,
POS Profile,POS Profil,
POS Profile is required to use Point-of-Sale,Profil POS dikehendaki menggunakan Point-of-Sale,
POS Profile required to make POS Entry,POS Profil dikehendaki membuat POS Entry,
POS Settings,Tetapan POS,
Packed quantity must equal quantity for Item {0} in row {1},Makan kuantiti mestilah sama dengan kuantiti untuk Perkara {0} berturut-turut {1},
Packing Slip,Slip pembungkusan,
Packing Slip(s) cancelled,Slip pembungkusan (s) dibatalkan,
Paid,Dibayar,
Paid Amount,Jumlah yang dibayar,
Paid Amount cannot be greater than total negative outstanding amount {0},Jumlah yang dibayar tidak boleh lebih besar daripada jumlah terkumpul negatif {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Amaun yang dibayar + Tulis Off Jumlah tidak boleh lebih besar daripada Jumlah Besar,
Paid and Not Delivered,Dibayar dan Tidak Dihantar,
Parameter,Parameter,
Parent Item {0} must not be a Stock Item,Ibu Bapa Perkara {0} tidak perlu menjadi item Saham,
Parents Teacher Meeting Attendance,Kehadiran Mesyuarat Guru Ibu Bapa,
Part-time,Sambilan,
Partially Depreciated,sebahagiannya telah disusutnilai,
Partially Received,Sebahagiannya Diterima,
Party,Parti,
Party Name,Nama pihak,
Party Type,Jenis Parti,
Party Type and Party is mandatory for {0} account,Jenis Parti dan Pihak wajib untuk {0} akaun,
Party Type is mandatory,Jenis Parti adalah wajib,
Party is mandatory,Parti adalah wajib,
Password,Kata laluan,
Password policy for Salary Slips is not set,Dasar kata laluan untuk Slip Gaji tidak ditetapkan,
Past Due Date,Tarikh Tamat Tempoh,
Patient,Pesakit,
Patient Appointment,Pelantikan Pesakit,
Patient Encounter,Pertemuan Pesakit,
Patient not found,Pesakit tidak dijumpai,
Pay Remaining,Bayar Baki,
Pay {0} {1},Bayar {0} {1},
Payable,Kena dibayar,
Payable Account,Akaun Belum Bayar,
Payable Amount,Jumlah yang Dibayar,
Payment,Pembayaran,
Payment Cancelled. Please check your GoCardless Account for more details,Pembayaran Dibatalkan. Sila semak Akaun GoCardless anda untuk maklumat lanjut,
Payment Confirmation,Pengesahan pembayaran,
Payment Date,Tarikh pembayaran,
Payment Days,Hari Pembayaran,
Payment Document,Dokumen Pembayaran,
Payment Due Date,Tarikh Pembayaran,
Payment Entries {0} are un-linked,Penyertaan Pembayaran {0} adalah un berkaitan,
Payment Entry,Kemasukan pembayaran,
Payment Entry already exists,Kemasukan bayaran yang sudah wujud,
Payment Entry has been modified after you pulled it. Please pull it again.,Entry pembayaran telah diubah suai selepas anda ditarik. Sila tarik lagi.,
Payment Entry is already created,Kemasukan bayaran telah membuat,
Payment Failed. Please check your GoCardless Account for more details,Pembayaran gagal. Sila semak Akaun GoCardless anda untuk maklumat lanjut,
Payment Gateway,Gateway Pembayaran,
"Payment Gateway Account not created, please create one manually.","Pembayaran Akaun Gateway tidak diciptakan, sila buat secara manual.",
Payment Gateway Name,Nama Gateway Pembayaran,
Payment Mode,Cara Pembayaran,
Payment Receipt Note,Pembayaran Penerimaan Nota,
Payment Request,Permintaan bayaran,
Payment Request for {0},Permintaan Pembayaran untuk {0},
Payment Tems,Bayaran Tem,
Payment Term,Tempoh bayaran,
Payment Terms,Terma pembayaran,
Payment Terms Template,Templat Terma Pembayaran,
Payment Terms based on conditions,Terma pembayaran berdasarkan syarat,
Payment Type,Jenis pembayaran,
"Payment Type must be one of Receive, Pay and Internal Transfer","Jenis bayaran mesti menjadi salah satu Menerima, Bayar dan Pindahan Dalaman",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Bayaran terhadap {0} {1} tidak boleh lebih besar daripada Outstanding Jumlah {2},
Payment of {0} from {1} to {2},Pembayaran {0} dari {1} ke {2},
Payment request {0} created,Permintaan pembayaran {0} dibuat,
Payments,Pembayaran,
Payroll,Payroll,
Payroll Number,Nombor Gaji,
Payroll Payable,gaji Dibayar,
Payslip,Slip gaji,
Pending Activities,Sementara menunggu Aktiviti,
Pending Amount,Sementara menunggu Jumlah,
Pending Leaves,Meninggalkan Daun,
Pending Qty,Menunggu Kuantiti,
Pending Quantity,Kuantiti Menunggu,
Pending Review,Sementara menunggu Review,
Pending activities for today,Sementara menunggu aktiviti untuk hari ini,
Pension Funds,Dana Pencen,
Percentage Allocation should be equal to 100%,Peratus Peruntukan hendaklah sama dengan 100%,
Perception Analysis,Analisis Persepsi,
Period,Tempoh,
Period Closing Entry,Kemasukan Tempoh Penutup,
Period Closing Voucher,Tempoh Baucer Tutup,
Periodicity,Jangka masa,
Personal Details,Maklumat peribadi,
Pharmaceutical,Farmasi,
Pharmaceuticals,Pharmaceuticals,
Physician,Pakar Perubatan,
Piecework,Piecework,
Pincode,Pincode,
Place Of Supply (State/UT),Place Of Supply (Negeri / UT),
Place Order,Meletakkan pesanan,
Plan Name,Nama Rancang,
Plan for maintenance visits.,Rancangan untuk lawatan penyelenggaraan.,
Planned Qty,Dirancang Kuantiti,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Dirancang Qty: Kuantiti, yang mana, Perintah Kerja telah dinaikkan, tetapi belum selesai dibuat.",
Planning,Perancangan,
Plants and Machineries,Tumbuhan dan Jentera,
Please Set Supplier Group in Buying Settings.,Sila Tetapkan Kumpulan Pembekal dalam Tetapan Beli.,
Please add a Temporary Opening account in Chart of Accounts,Sila tambah akaun Pembukaan Sementara dalam Carta Akaun,
Please add the account to root level Company - ,Sila tambah akaun ke peringkat akar umbi Syarikat -,
Please add the remaining benefits {0} to any of the existing component,Sila tambahkan faedah yang tinggal {0} kepada mana-mana komponen sedia ada,
Please check Multi Currency option to allow accounts with other currency,Sila semak pilihan mata Multi untuk membolehkan akaun dengan mata wang lain,
Please click on 'Generate Schedule',Sila klik pada &#39;Menjana Jadual&#39;,
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Sila klik pada &#39;Menjana Jadual&#39; mengambil No Serial ditambah untuk Perkara {0},
Please click on 'Generate Schedule' to get schedule,Sila klik pada &#39;Menjana Jadual&#39; untuk mendapatkan jadual,
Please confirm once you have completed your training,Sila sahkan setelah anda menyelesaikan latihan anda,
Please create purchase receipt or purchase invoice for the item {0},Sila buat resit pembelian atau pembelian invois untuk item {0},
Please define grade for Threshold 0%,Sila menentukan gred bagi Ambang 0%,
Please enable Applicable on Booking Actual Expenses,Sila aktifkan Berlaku pada Tempahan Perbelanjaan Sebenar,
Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Sila aktifkan Berkenaan pada Pesanan Pembelian dan Terlibat pada Perbelanjaan Sebenar Tempahan,
Please enable default incoming account before creating Daily Work Summary Group,Sila aktifkan akaun masuk lalai sebelum membuat Kumpulan Ringkasan Kerja Harian,
Please enable pop-ups,Sila membolehkan pop-up,
Please enter 'Is Subcontracted' as Yes or No,Sila masukkan &#39;Apakah Subkontrak&#39; seperti Ya atau Tidak,
Please enter API Consumer Key,Sila masukkan Kunci Pengguna API,
Please enter API Consumer Secret,Sila masukkan Rahsia Pengguna API,
Please enter Account for Change Amount,Sila masukkan Akaun untuk Perubahan Jumlah,
Please enter Approving Role or Approving User,Sila masukkan Meluluskan Peranan atau Meluluskan pengguna,
Please enter Cost Center,Sila masukkan PTJ,
Please enter Delivery Date,Sila masukkan Tarikh Penghantaran,
Please enter Employee Id of this sales person,Sila masukkan ID Pekerja orang jualan ini,
Please enter Expense Account,Sila masukkan Akaun Perbelanjaan,
Please enter Item Code to get Batch Number,Sila masukkan Kod Item untuk mendapatkan Nombor kumpulan,
Please enter Item Code to get batch no,Sila masukkan Kod Item untuk mendapatkan kumpulan tidak,
Please enter Item first,Sila masukkan Perkara pertama,
Please enter Maintaince Details first,Sila masukkan Maintaince Butiran pertama,
Please enter Planned Qty for Item {0} at row {1},Sila masukkan Dirancang Kuantiti untuk Perkara {0} di barisan {1},
Please enter Preferred Contact Email,Sila masukkan Preferred hubungan Email,
Please enter Production Item first,Sila masukkan Pengeluaran Perkara pertama,
Please enter Purchase Receipt first,Sila masukkan Resit Pembelian pertama,
Please enter Receipt Document,Sila masukkan Dokumen Resit,
Please enter Reference date,Sila masukkan tarikh rujukan,
Please enter Repayment Periods,Sila masukkan Tempoh Bayaran Balik,
Please enter Reqd by Date,Sila masukkan Reqd mengikut Tarikh,
Please enter Woocommerce Server URL,Sila masukkan URL Pelayan Woocommerce,
Please enter Write Off Account,Sila masukkan Tulis Off Akaun,
Please enter atleast 1 invoice in the table,Sila masukkan atleast 1 invois dalam jadual di,
Please enter company first,Sila masukkan syarikat pertama,
Please enter company name first,Sila masukkan nama syarikat pertama,
Please enter default currency in Company Master,Sila masukkan mata wang lalai dalam Syarikat Induk,
Please enter message before sending,Sila masukkan mesej sebelum menghantar,
Please enter parent cost center,Sila masukkan induk pusat kos,
Please enter quantity for Item {0},Sila masukkan kuantiti untuk Perkara {0},
Please enter relieving date.,Sila masukkan tarikh melegakan.,
Please enter repayment Amount,Sila masukkan jumlah pembayaran balik,
Please enter valid Financial Year Start and End Dates,Sila masukkan tahun kewangan yang sah Mula dan Tarikh Akhir,
Please enter valid email address,Sila masukkan alamat emel yang sah,
Please enter {0} first,Sila masukkan {0} pertama,
Please fill in all the details to generate Assessment Result.,Sila isi semua maklumat untuk menghasilkan Keputusan Penilaian.,
Please identify/create Account (Group) for type - {0},Sila kenal pasti / buat Akaun (Kumpulan) untuk jenis - {0},
Please identify/create Account (Ledger) for type - {0},Sila kenalpasti / buat Akaun (Lejar) untuk jenis - {0},
Please login as another user to register on Marketplace,Sila log masuk sebagai pengguna lain untuk mendaftar di Marketplace,
Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,Sila pastikan anda benar-benar ingin memadam semua urus niaga bagi syarikat ini. Data induk anda akan kekal kerana ia adalah. Tindakan ini tidak boleh dibuat asal.,
Please mention Basic and HRA component in Company,Sila nyatakan komponen Asas dan HRA di Syarikat,
Please mention Round Off Account in Company,Sila menyebut Akaun Off Pusingan dalam Syarikat,
Please mention Round Off Cost Center in Company,Sila menyebut Round Off PTJ dalam Syarikat,
Please mention no of visits required,Sila menyebut ada lawatan diperlukan,
Please mention the Lead Name in Lead {0},Sila nyatakan Nama Utama di Lead {0},
Please pull items from Delivery Note,Sila tarik item daripada Nota Penghantaran,
Please register the SIREN number in the company information file,Sila daftar nombor SIREN dalam fail maklumat syarikat,
Please remove this Invoice {0} from C-Form {1},Sila mengeluarkan Invois ini {0} dari C-Borang {1},
Please save the patient first,Sila simpan pesakit terlebih dahulu,
Please save the report again to rebuild or update,Sila simpan laporan sekali lagi untuk membina semula atau kemas kini,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Sila pilih Jumlah Diperuntukkan, Jenis Invois dan Nombor Invois dalam atleast satu baris",
Please select Apply Discount On,Sila pilih Memohon Diskaun Pada,
Please select BOM against item {0},Sila pilih BOM terhadap item {0},
Please select BOM for Item in Row {0},Sila pilih BOM untuk Item dalam Row {0},
Please select BOM in BOM field for Item {0},Sila pilih BOM dalam bidang BOM untuk Perkara {0},
Please select Category first,Sila pilih Kategori pertama,
Please select Charge Type first,Sila pilih Jenis Caj pertama,
Please select Company,Sila pilih Syarikat,
Please select Company and Designation,Sila pilih Syarikat dan Jawatan,
Please select Company and Posting Date to getting entries,Sila pilih Syarikat dan Tarikh Penghantaran untuk mendapatkan entri,
Please select Company first,Sila pilih Syarikat pertama,
Please select Completion Date for Completed Asset Maintenance Log,Sila pilih Tarikh Siap untuk Log Penyelenggaraan Aset Selesai,
Please select Completion Date for Completed Repair,Sila pilih Tarikh Siap untuk Pembaikan yang Siap,
Please select Course,Sila pilih Course,
Please select Drug,Sila pilih Dadah,
Please select Employee,Sila pilih Pekerja,
Please select Existing Company for creating Chart of Accounts,Sila pilih Syarikat Sedia Ada untuk mewujudkan Carta Akaun,
Please select Healthcare Service,Sila pilih Perkhidmatan Penjagaan Kesihatan,
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle",Sila pilih Item mana &quot;Apakah Saham Perkara&quot; adalah &quot;Tidak&quot; dan &quot;Adakah Item Jualan&quot; adalah &quot;Ya&quot; dan tidak ada Bundle Produk lain,
Please select Maintenance Status as Completed or remove Completion Date,Sila pilih Status Penyelenggaraan sebagai Selesai atau keluarkan Tarikh Selesai,
Please select Party Type first,Sila pilih Jenis Parti pertama,
Please select Patient,Sila pilih Pesakit,
Please select Patient to get Lab Tests,Sila pilih Pesakit untuk mendapatkan Ujian Makmal,
Please select Posting Date before selecting Party,Sila pilih Tarikh Pengeposan sebelum memilih Parti,
Please select Posting Date first,Sila pilih Penempatan Tarikh pertama,
Please select Price List,Sila pilih Senarai Harga,
Please select Program,Sila pilih Program,
Please select Qty against item {0},Sila pilih Qty terhadap item {0},
Please select Sample Retention Warehouse in Stock Settings first,Sila pilih Gudang Retensi Contoh dalam Tetapan Stok dahulu,
Please select Start Date and End Date for Item {0},Sila pilih Mula Tarikh dan Tarikh Akhir untuk Perkara {0},
Please select Student Admission which is mandatory for the paid student applicant,Sila pilih Kemasukan Pelajar yang wajib bagi pemohon pelajar berbayar,
Please select a BOM,Sila pilih BOM,
Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Sila pilih Batch untuk Item {0}. Tidak dapat mencari kumpulan tunggal yang memenuhi keperluan ini,
Please select a Company,Sila pilih sebuah Syarikat,
Please select a batch,Sila pilih satu kelompok,
Please select a csv file,Sila pilih fail csv,
Please select a field to edit from numpad,Sila pilih medan untuk mengedit dari numpad,
Please select a table,Sila pilih jadual,
Please select a valid Date,Sila pilih Tarikh yang sah,
Please select a value for {0} quotation_to {1},Sila pilih nilai untuk {0} quotation_to {1},
Please select a warehouse,Sila pilih gudang,
Please select at least one domain.,Sila pilih sekurang-kurangnya satu domain.,
Please select correct account,Sila pilih akaun yang betul,
Please select date,Sila pilih tarikh,
Please select item code,Sila pilih kod item,
Please select month and year,Sila pilih bulan dan tahun,
Please select prefix first,Sila pilih awalan pertama,
Please select the Company,Sila pilih Syarikat,
Please select the Multiple Tier Program type for more than one collection rules.,Sila pilih jenis Program Pelbagai Tier untuk lebih daripada satu peraturan pengumpulan.,
Please select the assessment group other than 'All Assessment Groups',Sila pilih kumpulan penilaian selain daripada &#39;Semua Kumpulan Penilaian&#39;,
Please select the document type first,Sila pilih jenis dokumen pertama,
Please select weekly off day,Sila pilih hari cuti mingguan,
Please select {0},Sila pilih {0},
Please select {0} first,Sila pilih {0} pertama,
Please set 'Apply Additional Discount On',Sila menetapkan &#39;Guna Diskaun tambahan On&#39;,
Please set 'Asset Depreciation Cost Center' in Company {0},Sila set &#39;Asset Susutnilai Kos Center&#39; dalam Syarikat {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Sila menetapkan &#39;Akaun / Kerugian Keuntungan Pelupusan Aset&#39; dalam Syarikat {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Sila tetapkan Akaun dalam Gudang {0} atau Akaun Inventori Lalai di Syarikat {1},
Please set B2C Limit in GST Settings.,Sila tetapkan Had B2C dalam Tetapan GST.,
Please set Company,Sila tetapkan Syarikat,
Please set Company filter blank if Group By is 'Company',Sila tetapkan Syarikat menapis kosong jika Group By adalah &#39;Syarikat&#39;,
Please set Default Payroll Payable Account in Company {0},Sila menetapkan Payroll Akaun Belum Bayar Lalai dalam Syarikat {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Sila menetapkan Akaun berkaitan Susutnilai dalam Kategori Asset {0} atau Syarikat {1},
Please set Email Address,Sila menetapkan Alamat E-mel,
Please set GST Accounts in GST Settings,Sila tetapkan Akaun GST dalam Tetapan CBP,
Please set Hotel Room Rate on {},Sila tetapkan Kadar Bilik Hotel pada {},
Please set Number of Depreciations Booked,Sila menetapkan Bilangan penurunan nilai Ditempah,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Sila tetapkan Akaun Keuntungan / Kerugian Pertukaran di Perusahaan {0},
Please set User ID field in an Employee record to set Employee Role,Sila tetapkan ID Pengguna medan dalam rekod Pekerja untuk menetapkan Peranan Pekerja,
Please set a default Holiday List for Employee {0} or Company {1},Sila menetapkan lalai Senarai Holiday untuk pekerja {0} atau Syarikat {1},
Please set account in Warehouse {0},Sila tentukan akaun dalam Gudang {0},
Please set an active menu for Restaurant {0},Sila tetapkan menu aktif untuk Restoran {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Sila tetapkan akaun yang berkaitan dalam Kategori Pegangan Cukai {0} terhadap Syarikat {1},
Please set at least one row in the Taxes and Charges Table,Sila tetapkan sekurang-kurangnya satu baris dalam Jadual Cukai dan Caj,
Please set default Cash or Bank account in Mode of Payment {0},Sila tetapkan lalai Tunai atau akaun Bank dalam Mod Bayaran {0},
Please set default account in Salary Component {0},Sila menetapkan akaun lalai dalam Komponen Gaji {0},
Please set default customer in Restaurant Settings,Sila tetapkan pelanggan lalai dalam Tetapan Restoran,
Please set default template for Leave Approval Notification in HR Settings.,Sila tetapkan templat lalai untuk Pemberitahuan Kelulusan Cuti dalam Tetapan HR.,
Please set default template for Leave Status Notification in HR Settings.,Sila tetapkan templat lalai untuk Pemberitahuan Status Pemberitahuan dalam Tetapan HR.,
Please set default {0} in Company {1},Sila menetapkan lalai {0} dalam Syarikat {1},
Please set filter based on Item or Warehouse,Sila menetapkan penapis di Perkara atau Warehouse,
Please set leave policy for employee {0} in Employee / Grade record,Sila tetapkan dasar cuti untuk pekerja {0} dalam rekod Pekerja / Gred,
Please set recurring after saving,Sila menetapkan berulang selepas menyimpan,
Please set the Company,Sila tetapkan Syarikat,
Please set the Customer Address,Sila tetapkan Alamat Pelanggan,
Please set the Date Of Joining for employee {0},Sila menetapkan Tarikh Of Menyertai untuk pekerja {0},
Please set the Default Cost Center in {0} company.,Sila tetapkan Pusat Kos Lalai dalam {0} syarikat.,
Please set the Email ID for the Student to send the Payment Request,Sila tetapkan ID E-mel untuk Pelajar untuk menghantar Permintaan Pembayaran,
Please set the Item Code first,Sila nyatakan Kod Item terlebih dahulu,
Please set the Payment Schedule,Sila tetapkan Jadual Pembayaran,
Please set the series to be used.,Sila tetapkan siri ini untuk digunakan.,
Please set {0} for address {1},Sila tetapkan {0} untuk alamat {1},
Please setup Students under Student Groups,Sila persediaan Pelajar di bawah Kumpulan Pelajar,
Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',Sila maklumkan maklum balas anda ke latihan dengan mengklik &#39;Maklum Balas Latihan&#39; dan kemudian &#39;Baru&#39;,
Please specify Company,Sila nyatakan Syarikat,
Please specify Company to proceed,Sila nyatakan Syarikat untuk meneruskan,
Please specify a valid 'From Case No.',Sila nyatakan yang sah Dari Perkara No. &#39;,
Please specify a valid Row ID for row {0} in table {1},Sila nyatakan ID Row sah untuk barisan {0} dalam jadual {1},
Please specify at least one attribute in the Attributes table,Sila nyatakan sekurang-kurangnya satu atribut dalam jadual Atribut,
Please specify currency in Company,Sila nyatakan mata wang dalam Syarikat,
Please specify either Quantity or Valuation Rate or both,Sila nyatakan sama ada atau Kuantiti Kadar Nilaian atau kedua-duanya,
Please specify from/to range,Sila nyatakan dari / ke berkisar,
Please supply the specified items at the best possible rates,Sila membekalkan barangan tertentu pada kadar terbaik mungkin,
Please update your status for this training event,Sila kemas kini status anda untuk acara latihan ini,
Please wait 3 days before resending the reminder.,Sila tunggu 3 hari sebelum mengingatkan peringatan.,
Point of Sale,Tempat jualan,
Point-of-Sale,Tempat jualan,
Point-of-Sale Profile,Point-of-Sale Profil,
Portal,Portal,
Portal Settings,Tetapan Portal,
Possible Supplier,Pembekal mungkin,
Postal Expenses,Perbelanjaan Pos,
Posting Date,Penempatan Tarikh,
Posting Date cannot be future date,Posting Tarikh tidak boleh tarikh masa depan,
Posting Time,Penempatan Masa,
Posting date and posting time is mandatory,Menghantar tarikh dan masa untuk menghantar adalah wajib,
Posting timestamp must be after {0},Penempatan tanda waktu mesti selepas {0},
Potential opportunities for selling.,Peluang yang berpotensi untuk jualan.,
Practitioner Schedule,Jadual Pengamal,
Pre Sales,Jualan pra,
Preference,Pilihan,
Prescribed Procedures,Prosedur yang Ditetapkan,
Prescription,Preskripsi,
Prescription Dosage,Dosis Preskripsi,
Prescription Duration,Durasi Preskripsi,
Prescriptions,Resipi,
Present,Hadir,
Prev,terdahulu,
Preview,Preview,
Preview Salary Slip,Preview Slip Gaji,
Previous Financial Year is not closed,Sebelum Tahun Kewangan tidak ditutup,
Price,Harga,
Price List,Senarai harga,
Price List Currency not selected,Senarai Harga Mata Wang tidak dipilih,
Price List Rate,Senarai Harga Kadar,
Price List master.,Senarai Harga induk.,
Price List must be applicable for Buying or Selling,Senarai Harga mesti pakai untuk Membeli atau Menjual,
Price List {0} is disabled or does not exist,Senarai harga {0} dilumpuhkan atau tidak wujud,
Price or product discount slabs are required,Slab potongan harga atau produk diperlukan,
Pricing,Harga,
Pricing Rule,Peraturan Harga,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Peraturan harga mula-mula dipilih berdasarkan &#39;Guna Mengenai&#39; bidang, yang boleh menjadi Perkara, Perkara Kumpulan atau Jenama.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Peraturan Harga dibuat untuk menulis ganti Senarai Harga / menentukan peratusan diskaun, berdasarkan beberapa kriteria.",
Pricing Rule {0} is updated,Peraturan Harga {0} dikemas kini,
Pricing Rules are further filtered based on quantity.,Peraturan harga yang lagi ditapis berdasarkan kuantiti.,
Primary Address Details,Butiran Alamat Utama,
Primary Contact Details,Butiran Hubungan Utama,
Principal Amount,Jumlah Prinsipal,
Print Format,Format cetak,
Print IRS 1099 Forms,Cetak Borang IRS 1099,
Print Report Card,Cetak Kad Laporan,
Print Settings,Tetapan cetak,
Print and Stationery,Cetak dan Alat Tulis,
Print settings updated in respective print format,tetapan cetak dikemaskini dalam format cetak masing,
Print taxes with zero amount,Cetak cukai dengan jumlah sifar,
Printing and Branding,Percetakan dan Penjenamaan,
Private Equity,Ekuiti Persendirian,
Privilege Leave,Privilege Cuti,
Probation,Percubaan,
Probationary Period,Tempoh percubaan,
Procedure,Prosedur,
Process Day Book Data,Data Buku Hari Proses,
Process Master Data,Proses Master Data,
Processing Chart of Accounts and Parties,Pemprosesan Carta Akaun dan Pihak,
Processing Items and UOMs,Item Pemprosesan dan UOM,
Processing Party Addresses,Memproses Alamat Pesta,
Processing Vouchers,Baucer Pemprosesan,
Procurement,Perolehan,
Produced Qty,Dikenali Qty,
Product,Produk,
Product Bundle,Bundle Produk,
Product Search,Cari produk,
Production,Pengeluaran,
Production Item,Pengeluaran Item,
Products,Produk,
Profit and Loss,Untung dan rugi,
Profit for the year,Keuntungan untuk tahun ini,
Program,Program,
Program in the Fee Structure and Student Group {0} are different.,Program dalam Struktur Yuran dan Kumpulan Pelajar {0} adalah berbeza.,
Program {0} does not exist.,Program {0} tidak wujud.,
Program: ,Program:,
Progress % for a task cannot be more than 100.,Kemajuan% untuk tugas yang tidak boleh lebih daripada 100.,
Project Collaboration Invitation,Projek Kerjasama Jemputan,
Project Id,Id Projek,
Project Manager,Pengurus projek,
Project Name,Nama Projek,
Project Start Date,Projek Tarikh Mula,
Project Status,Status Projek,
Project Summary for {0},Ringkasan Projek untuk {0},
Project Update.,Kemas kini Projek.,
Project Value,Nilai Projek,
Project activity / task.,Aktiviti projek / tugasan.,
Project master.,Induk projek.,
Project-wise data is not available for Quotation,Data projek-bijak tidak tersedia untuk Sebutharga,
Projected,Unjuran,
Projected Qty,Dijangka Qty,
Projected Quantity Formula,Formula Kuantiti Projek,
Projects,Projek,
Property,Harta,
Property already added,Harta sudah ditambah,
Proposal Writing,Penulisan Cadangan,
Proposal/Price Quote,Cadangan Cadangan / Harga,
Prospecting,Prospek,
Provisional Profit / Loss (Credit),Sementara Untung / Rugi (Kredit),
Publications,Penerbitan,
Publish Items on Website,Terbitkan Item dalam Laman Web,
Published,Diterbitkan,
Publishing,Penerbitan,
Purchase,Pembelian,
Purchase Amount,Jumlah Pembelian,
Purchase Date,Tarikh Pembelian,
Purchase Invoice,Invois Belian,
Purchase Invoice {0} is already submitted,Membeli Invois {0} telah dikemukakan,
Purchase Manager,Pembelian Pengurus,
Purchase Master Manager,Pembelian Master Pengurus,
Purchase Order,Pesanan Pembelian,
Purchase Order Amount,Jumlah Pesanan Pembelian,
Purchase Order Amount(Company Currency),Jumlah Pesanan Pembelian (Mata Wang Syarikat),
Purchase Order Date,Tarikh Pesanan Pembelian,
Purchase Order Items not received on time,Item Pesanan Pembelian tidak diterima mengikut masa,
Purchase Order number required for Item {0},Membeli nombor Perintah diperlukan untuk Perkara {0},
Purchase Order to Payment,Membeli Perintah untuk Pembayaran,
Purchase Order {0} is not submitted,Pesanan Pembelian {0} tidak dikemukakan,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Pesanan Pembelian tidak dibenarkan untuk {0} disebabkan kedudukan kad skor {1}.,
Purchase Orders given to Suppliers.,Pesanan pembelian diberikan kepada Pembekal.,
Purchase Price List,Pembelian Senarai Harga,
Purchase Receipt,Resit Pembelian,
Purchase Receipt {0} is not submitted,Pembelian Resit {0} tidak dikemukakan,
Purchase Tax Template,Membeli Template Cukai,
Purchase User,Pembelian Pengguna,
Purchase orders help you plan and follow up on your purchases,pesanan pembelian membantu anda merancang dan mengambil tindakan susulan ke atas pembelian anda,
Purchasing,Membeli,
Purpose must be one of {0},Tujuan mestilah salah seorang daripada {0},
Qty,Qty,
Qty To Manufacture,Qty Untuk Pembuatan,
Qty Total,Jumlah Qty,
Qty for {0},Qty untuk {0},
Qualification,Kelayakan,
Quality,Kualiti,
Quality Action,Tindakan Kualiti,
Quality Goal.,Matlamat Kualiti.,
Quality Inspection,Pemeriksaan Kualiti,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Pemeriksaan Kualiti: {0} tidak diserahkan untuk item: {1} dalam baris {2},
Quality Management,Pengurusan kualiti,
Quality Meeting,Mesyuarat Berkualiti,
Quality Procedure,Prosedur Kualiti,
Quality Procedure.,Prosedur Kualiti.,
Quality Review,Kajian Kualiti,
Quantity,Kuantiti,
Quantity for Item {0} must be less than {1},Kuantiti untuk Perkara {0} mesti kurang daripada {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Kuantiti berturut-turut {0} ({1}) mestilah sama dengan kuantiti yang dikeluarkan {2},
Quantity must be less than or equal to {0},Kuantiti mesti kurang daripada atau sama dengan {0},
Quantity must not be more than {0},Kuantiti mestilah tidak lebih daripada {0},
Quantity required for Item {0} in row {1},Kuantiti yang diperlukan untuk Perkara {0} berturut-turut {1},
Quantity should be greater than 0,Kuantiti harus lebih besar daripada 0,
Quantity to Make,Kuantiti Membuat,
Quantity to Manufacture must be greater than 0.,Kuantiti untuk pembuatan mesti lebih besar daripada 0.,
Quantity to Produce,Kuantiti untuk Menghasilkan,
Quantity to Produce can not be less than Zero,Kuantiti untuk Menghasilkan tidak boleh kurang daripada Sifar,
Query Options,Pertanyaan Pilihan,
Queued for replacing the BOM. It may take a few minutes.,Beratur untuk menggantikan BOM. Ia mungkin mengambil masa beberapa minit.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,Beratur untuk mengemaskini harga terkini dalam semua Rang Undang-Undang Bahan. Ia mungkin mengambil masa beberapa minit.,
Quick Journal Entry,Pantas Journal Kemasukan,
Quot Count,quot Count,
Quot/Lead %,Quot / Lead%,
Quotation,Sebut Harga,
Quotation {0} is cancelled,Sebut Harga {0} dibatalkan,
Quotation {0} not of type {1},Sebut Harga {0} bukan jenis {1},
Quotations,Sebut Harga,
"Quotations are proposals, bids you have sent to your customers","Sebutharga cadangan, bida yang telah anda hantar kepada pelanggan anda",
Quotations received from Suppliers.,Sebut Harga yang diterima daripada Pembekal.,
Quotations: ,Sebutharga:,
Quotes to Leads or Customers.,Petikan untuk Leads atau Pelanggan.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ tidak dibenarkan untuk {0} kerana kedudukan kad skor {1},
Range,Pelbagai,
Rate,Kadar,
Rate:,Kadar:,
Rating,Rating,
Raw Material,Bahan mentah,
Raw Materials,Bahan mentah,
Raw Materials cannot be blank.,Bahan mentah tidak boleh kosong.,
Re-open,Buka semula,
Read blog,Baca blog,
Read the ERPNext Manual,Baca Manual ERPNext yang,
Reading Uploaded File,Membaca Fail yang Dimuat naik,
Real Estate,Harta Tanah,
Reason For Putting On Hold,Sebab Untuk Meletakkan Pegang,
Reason for Hold,Alasan untuk Pegang,
Reason for hold: ,Sebab untuk ditahan:,
Receipt,Resit,
Receipt document must be submitted,dokumen Resit hendaklah dikemukakan,
Receivable,Belum Terima,
Receivable Account,Akaun Belum Terima,
Received,Diterima,
Received On,Diterima Dalam,
Received Quantity,Kuantiti yang Diterima,
Received Stock Entries,Menerima Entri Saham,
Receiver List is empty. Please create Receiver List,Penerima Senarai kosong. Sila buat Penerima Senarai,
Recipients,Penerima,
Reconcile,Mendamaikan,
"Record of all communications of type email, phone, chat, visit, etc.","Rekod semua komunikasi e-mel jenis, telefon, chat, keindahan, dan lain-lain",
Records,Rekod,
Redirect URL,redirect URL,
Ref,Ref,
Ref Date,Ref Tarikh,
Reference,Rujukan,
Reference #{0} dated {1},Rujukan # {0} bertarikh {1},
Reference Date,Tarikh Rujukan,
Reference Doctype must be one of {0},Rujukan DOCTYPE mesti menjadi salah satu {0},
Reference Document,Dokumen rujukan,
Reference Document Type,Rujukan Jenis Dokumen,
Reference No & Reference Date is required for {0},Rujukan &amp; Tarikh Rujukan diperlukan untuk {0},
Reference No and Reference Date is mandatory for Bank transaction,Rujukan dan Tarikh Rujukan adalah wajib untuk transaksi Bank,
Reference No is mandatory if you entered Reference Date,Rujukan adalah wajib jika anda masukkan Tarikh Rujukan,
Reference No.,No rujukan.,
Reference Number,Nombor rujukan,
Reference Owner,rujukan Owner,
Reference Type,Jenis Rujukan,
"Reference: {0}, Item Code: {1} and Customer: {2}","Rujukan: {0}, Kod Item: {1} dan Pelanggan: {2}",
References,Rujukan,
Refresh Token,Refresh Token,
Region,Wilayah,
Register,Daftar,
Reject,Tolak,
Rejected,Ditolak,
Related,Berkaitan,
Relation with Guardian1,Berhubung dengan Guardian1,
Relation with Guardian2,Berhubung dengan Guardian2,
Release Date,Tarikh Siaran,
Reload Linked Analysis,Muat semula Analisis Berkaitan,
Remaining,Baki,
Remaining Balance,Baki yang tinggal,
Remarks,Catatan,
Reminder to update GSTIN Sent,Peringatan untuk mengemas kini GSTIN Dihantar,
Remove item if charges is not applicable to that item,Buang item jika caj tidak berkenaan dengan perkara yang,
Removed items with no change in quantity or value.,Barangan dikeluarkan dengan tiada perubahan dalam kuantiti atau nilai.,
Reopen,Buka semula,
Reorder Level,Pesanan semula Level,
Reorder Qty,Pesanan semula Qty,
Repeat Customer Revenue,Ulang Hasil Pelanggan,
Repeat Customers,Ulang Pelanggan,
Replace BOM and update latest price in all BOMs,Gantikan BOM dan kemaskini harga terbaru dalam semua BOM,
Replied,Menjawab,
Replies,Balasan,
Report,Laporan,
Report Builder,Laporan Builder,
Report Type,Jenis Laporan,
Report Type is mandatory,Jenis Laporan adalah wajib,
Reports,laporan,
Reqd By Date,Reqd Tarikh,
Reqd Qty,Reqd Qty,
Request for Quotation,Permintaan untuk sebut harga,
Request for Quotations,Tawaran Sebut Harga,
Request for Raw Materials,Permintaan Bahan Baku,
Request for purchase.,Meminta untuk pembelian.,
Request for quotation.,Permintaan untuk sebut harga.,
Requested Qty,Diminta Qty,
"Requested Qty: Quantity requested for purchase, but not ordered.","Diminta Qty: Kuantiti yang diminta untuk pembelian, tetapi tidak diperintahkan.",
Requesting Site,Meminta Tapak,
Requesting payment against {0} {1} for amount {2},Meminta pembayaran daripada {0} {1} untuk jumlah {2},
Requestor,Peminta,
Required On,Diperlukan Pada,
Required Qty,Diperlukan Qty,
Required Quantity,Kuantiti yang Diperlukan,
Reschedule,Reschedule,
Research,Penyelidikan,
Research & Development,Penyelidikan &amp; Pembangunan,
Researcher,Penyelidik,
Resend Payment Email,Hantar semula Pembayaran E-mel,
Reserve Warehouse,Warehouse Reserve,
Reserved Qty,Terpelihara Qty,
Reserved Qty for Production,Cipta Terpelihara Kuantiti untuk Pengeluaran,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Dicadangkan Qty untuk Pengeluaran: Kuantiti bahan mentah untuk membuat barangan perkilangan.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Dicadangkan Qty: Kuantiti yang dipesan untuk dijual, tetapi tidak dihantar.",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Gudang Reserved adalah wajib untuk Item {0} dalam Bahan Baku yang dibekalkan,
Reserved for manufacturing,Dikhaskan untuk pembuatan,
Reserved for sale,Dikhaskan untuk dijual,
Reserved for sub contracting,Dikhaskan untuk sub contracting,
Resistant,Tahan,
Resolve error and upload again.,Selesaikan kesilapan dan muat naik lagi.,
Responsibilities,Tanggungjawab,
Rest Of The World,Rest Of The World,
Restart Subscription,Restart Langganan,
Restaurant,Restoran,
Result Date,Tarikh keputusan,
Result already Submitted,Keputusan sudah Dihantar,
Resume,Teruskan,
Retail,Runcit,
Retail & Wholesale,Runcit &amp; Borong,
Retail Operations,Operasi Runcit,
Retained Earnings,Pendapatan tertahan,
Retention Stock Entry,Penyimpanan Stok Penyimpanan,
Retention Stock Entry already created or Sample Quantity not provided,Kemasukan Saham Penyimpanan yang telah dibuat atau Kuantiti Sampel yang tidak disediakan,
Return,Pulangan,
Return / Credit Note,Pulangan / Nota Kredit,
Return / Debit Note,Pulangan / Nota Debit,
Returns,Pulangan,
Reverse Journal Entry,Kemasukan Jurnal Terbalik,
Review Invitation Sent,Semak Jemputan Dihantar,
Review and Action,Kajian dan Tindakan,
Role,Peranan,
Rooms Booked,Bilik yang dipesan,
Root Company,Syarikat Root,
Root Type,Jenis akar,
Root Type is mandatory,Jenis akar adalah wajib,
Root cannot be edited.,Akar tidak boleh diedit.,
Root cannot have a parent cost center,Akar tidak boleh mempunyai pusat kos ibu bapa,
Round Off,Bundarkan,
Rounded Total,Bulat Jumlah,
Route,Route,
Row # {0}: ,Row # {0}:,
Row # {0}: Batch No must be same as {1} {2},Row # {0}: Batch No mestilah sama dengan {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: Tidak boleh kembali lebih daripada {1} untuk Perkara {2},
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Row # {0}: Kadar tidak boleh lebih besar daripada kadar yang digunakan dalam {1} {2},
Row # {0}: Serial No is mandatory,Row # {0}: Tiada Serial adalah wajib,
Row # {0}: Serial No {1} does not match with {2} {3},Row # {0}: No Siri {1} tidak sepadan dengan {2} {3},
Row #{0} (Payment Table): Amount must be negative,Baris # {0} (Jadual Pembayaran): Jumlah mestilah negatif,
Row #{0} (Payment Table): Amount must be positive,Baris # {0} (Jadual Pembayaran): Jumlah mestilah positif,
Row #{0}: Account {1} does not belong to company {2},Baris # {0}: Akaun {1} tidak tergolong dalam syarikat {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Row # {0}: Jumlah Diperuntukkan tidak boleh lebih besar daripada jumlah tertunggak.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Row # {0}: Asset {1} tidak boleh dikemukakan, ia sudah {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Baris # {0}: Tidak boleh menetapkan Kadar jika amaun lebih besar daripada jumlah ditaksir untuk Item {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Row # {0}: Tarikh Clearance {1} tidak boleh sebelum Tarikh Cek {2},
Row #{0}: Duplicate entry in References {1} {2},Row # {0}: salinan catatan dalam Rujukan {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Baris # {0}: Tarikh Penghantaran Yang Diharapkan tidak boleh sebelum Tarikh Pesanan Pembelian,
Row #{0}: Item added,Baris # {0}: Item ditambahkan,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Row # {0}: Journal Kemasukan {1} tidak mempunyai akaun {2} atau sudah dipadankan dengan baucar lain,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Row # {0}: Tidak dibenarkan untuk menukar pembekal sebagai Perintah Pembelian sudah wujud,
Row #{0}: Please set reorder quantity,Row # {0}: Sila menetapkan kuantiti pesanan semula,
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Sila nyatakan Serial No untuk Perkara {1},
Row #{0}: Qty increased by 1,Baris # {0}: Qty meningkat sebanyak 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Kadar mestilah sama dengan {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Baris # {0}: Jenis Dokumen Rujukan mestilah salah satu Tuntutan Perbelanjaan atau Kemasukan Jurnal,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: Rujukan Dokumen Jenis mesti menjadi salah satu Purchase Order, Invois Belian atau Kemasukan Journal",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Ditolak Qty tidak boleh dimasukkan dalam Pembelian Pulangan,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Warehouse Telah adalah wajib terhadap Perkara ditolak {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Baris # {0}: Reqd oleh Tarikh tidak boleh sebelum Tarikh Urus Niaga,
Row #{0}: Set Supplier for item {1},Row # {0}: Tetapkan Pembekal untuk item {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Baris # {0}: Status mestilah {1} untuk Diskaun Invois {2},
"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches","Row # {0}: batch The {1} hanya {2} qty. Sila pilih satu lagi kumpulan yang mempunyai {3} qty ada atau berpecah baris ke dalam pelbagai baris, untuk menyampaikan / isu dari pelbagai kelompok",
Row #{0}: Timings conflicts with row {1},Row # {0}: konflik pengaturan masa dengan barisan {1},
Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} tidak boleh negatif untuk item {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Row Tiada {0}: Jumlah tidak boleh lebih besar daripada Pending Jumlah Perbelanjaan terhadap Tuntutan {1}. Sementara menunggu Amaun adalah {2},
Row {0} : Operation is required against the raw material item {1},Baris {0}: Pengendalian diperlukan terhadap item bahan mentah {1},
Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Baris {0} # Jumlah yang diperuntukkan {1} tidak boleh melebihi jumlah yang tidak dituntut {2},
Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Baris {0} # Item {1} tidak boleh dipindahkan lebih daripada {2} terhadap Pesanan Pembelian {3},
Row {0}# Paid Amount cannot be greater than requested advance amount,Baris {0} # Amaun Dibayar tidak boleh melebihi jumlah pendahuluan yang diminta,
Row {0}: Activity Type is mandatory.,Row {0}: Jenis Aktiviti adalah wajib.,
Row {0}: Advance against Customer must be credit,Row {0}: Advance terhadap Pelanggan mesti kredit,
Row {0}: Advance against Supplier must be debit,Row {0}: Advance terhadap Pembekal hendaklah mendebitkan,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Row {0}: Jumlah Peruntukan {1} mesti kurang daripada atau sama dengan jumlah Kemasukan Pembayaran {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Row {0}: Jumlah Peruntukan {1} mesti kurang daripada atau sama dengan invois Jumlah tertunggak {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Row {0}: Suatu catatan Reorder telah wujud untuk gudang ini {1},
Row {0}: Bill of Materials not found for the Item {1},Row {0}: Bill of Materials tidak dijumpai untuk Perkara {1},
Row {0}: Conversion Factor is mandatory,Row {0}: Faktor penukaran adalah wajib,
Row {0}: Cost center is required for an item {1},Baris {0}: Pusat kos diperlukan untuk item {1},
Row {0}: Credit entry can not be linked with a {1},Row {0}: kemasukan Kredit tidak boleh dikaitkan dengan {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Row {0}: Matawang BOM # {1} hendaklah sama dengan mata wang yang dipilih {2},
Row {0}: Debit entry can not be linked with a {1},Row {0}: Debit kemasukan tidak boleh dikaitkan dengan {1},
Row {0}: Depreciation Start Date is required,Baris {0}: Tarikh Permulaan Susutnilai diperlukan,
Row {0}: Enter location for the asset item {1},Baris {0}: Masukkan lokasi untuk item aset {1},
Row {0}: Exchange Rate is mandatory,Row {0}: Kadar Pertukaran adalah wajib,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Baris {0}: Nilai yang Diharapkan Selepas Kehidupan Berguna mestilah kurang daripada Jumlah Pembelian Kasar,
Row {0}: From Time and To Time is mandatory.,Row {0}: Dari Masa dan Untuk Masa adalah wajib.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Row {0}: Dari Masa dan Untuk Masa {1} adalah bertindih dengan {2},
Row {0}: From time must be less than to time,Baris {0}: Dari masa mestilah kurang dari semasa ke semasa,
Row {0}: Hours value must be greater than zero.,Row {0}: Nilai Waktu mesti lebih besar daripada sifar.,
Row {0}: Invalid reference {1},Row {0}: rujukan tidak sah {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Row {0}: Majlis / Akaun tidak sepadan dengan {1} / {2} dalam {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Row {0}: Jenis Parti dan Parti diperlukan untuk / akaun Dibayar Terima {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Row {0}: Pembayaran terhadap Jualan / Pesanan Belian perlu sentiasa ditandakan sebagai pendahuluan,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Row {0}: Sila semak &#39;Adakah Advance&#39; terhadap Akaun {1} jika ini adalah suatu catatan terlebih dahulu.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Baris {0}: Sila tetapkan pada Alasan Pengecualian Cukai dalam Cukai Jualan dan Caj,
Row {0}: Please set the Mode of Payment in Payment Schedule,Baris {0}: Sila tetapkan Mod Pembayaran dalam Jadual Pembayaran,
Row {0}: Please set the correct code on Mode of Payment {1},Baris {0}: Sila tetapkan kod yang betul pada Mod Pembayaran {1},
Row {0}: Qty is mandatory,Row {0}: Qty adalah wajib,
Row {0}: Quality Inspection rejected for item {1},Baris {0}: Pemeriksaan Kualiti ditolak untuk item {1},
Row {0}: UOM Conversion Factor is mandatory,Row {0}: Faktor Penukaran UOM adalah wajib,
Row {0}: select the workstation against the operation {1},Baris {0}: pilih stesen kerja terhadap operasi {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Baris {0}: {1} Nombor Siri diperlukan untuk Item {2}. Anda telah menyediakan {3}.,
Row {0}: {1} is required to create the Opening {2} Invoices,Baris {0}: {1} diperlukan untuk mencipta Invois Pembukaan {2},
Row {0}: {1} must be greater than 0,Baris {0}: {1} mesti lebih besar daripada 0,
Row {0}: {1} {2} does not match with {3},Row {0}: {1} {2} tidak sepadan dengan {3},
Row {0}:Start Date must be before End Date,Row {0}: Tarikh Mula mestilah sebelum Tarikh Akhir,
Rows with duplicate due dates in other rows were found: {0},Baris dengan pendua tarikh akhir pada baris lain dijumpai: {0},
Rules for adding shipping costs.,Peraturan untuk menambah kos penghantaran.,
Rules for applying pricing and discount.,Peraturan untuk menggunakan penentuan harga dan diskaun.,
S.O. No.,PP No.,
SGST Amount,Jumlah SGST,
SO Qty,SO Qty,
Safety Stock,Saham keselamatan,
Salary,Gaji,
Salary Slip ID,Slip Gaji ID,
Salary Slip of employee {0} already created for this period,Slip gaji pekerja {0} telah dicipta untuk tempoh ini,
Salary Slip of employee {0} already created for time sheet {1},Slip Gaji pekerja {0} telah dicipta untuk lembaran masa {1},
Salary Slip submitted for period from {0} to {1},Slip Gaji dihantar untuk tempoh dari {0} hingga {1},
Salary Structure Assignment for Employee already exists,Penyerahan Struktur Gaji untuk Pekerja telah wujud,
Salary Structure Missing,Struktur Gaji Hilang,
Salary Structure must be submitted before submission of Tax Ememption Declaration,Struktur gaji hendaklah dikemukakan sebelum penyerahan Deklarasi Pengecualian Cukai,
Salary Structure not found for employee {0} and date {1},Struktur Gaji tidak dijumpai untuk pekerja {0} dan tarikh {1},
Salary Structure should have flexible benefit component(s) to dispense benefit amount,Struktur gaji sepatutnya mempunyai komponen faedah yang fleksibel untuk membebankan jumlah manfaat,
"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Gaji sudah diproses untuk tempoh antara {0} dan {1}, Tinggalkan tempoh permohonan tidak boleh di antara julat tarikh ini.",
Sales,Jualan,
Sales Account,Akaun Jualan,
Sales Expenses,Perbelanjaan Jualan,
Sales Funnel,Saluran Jualan,
Sales Invoice,Invois jualan,
Sales Invoice {0} has already been submitted,Jualan Invois {0} telah diserahkan,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Jualan Invois {0} hendaklah dibatalkan sebelum membatalkan Perintah Jualan ini,
Sales Manager,Pengurus Jualan,
Sales Master Manager,Master Sales Manager,
Sales Order,Pesanan jualan,
Sales Order Item,Pesanan Jualan Perkara,
Sales Order required for Item {0},Pesanan Jualan diperlukan untuk Perkara {0},
Sales Order to Payment,Perintah Jualan kepada Pembayaran,
Sales Order {0} is not submitted,Sales Order {0} tidak dikemukakan,
Sales Order {0} is not valid,Pesanan Jualan {0} tidak sah,
Sales Order {0} is {1},Pesanan Jualan {0} ialah {1},
Sales Orders,Jualan Pesanan,
Sales Partner,Rakan Jualan,
Sales Pipeline,Pipeline jualan,
Sales Price List,Senarai Harga Jualan,
Sales Return,Jualan Pulangan,
Sales Summary,Ringkasan Jualan,
Sales Tax Template,Template Cukai Jualan,
Sales Team,Pasukan jualan,
Sales User,Jualan Pengguna,
Sales and Returns,Jualan dan Pulangan,
Sales campaigns.,Kempen jualan.,
Sales orders are not available for production,Pesanan jualan tidak tersedia untuk pengeluaran,
Salutation,Salam,
Same Company is entered more than once,Syarikat yang sama memasuki lebih daripada sekali,
Same item cannot be entered multiple times.,Item yang sama tidak boleh dimasukkan beberapa kali.,
Same supplier has been entered multiple times,pembekal yang sama telah dibuat beberapa kali,
Sample,Contoh,
Sample Collection,Pengumpulan Sampel,
Sample quantity {0} cannot be more than received quantity {1},Kuantiti sampel {0} tidak boleh melebihi kuantiti yang diterima {1},
Sanctioned,Diiktiraf,
Sanctioned Amount,Jumlah dibenarkan,
Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Amaun yang dibenarkan tidak boleh lebih besar daripada Tuntutan Jumlah dalam Row {0}.,
Sand,Pasir,
Saturday,Sabtu,
Saved,Disimpan,
Saving {0},Menyimpan {0},
Scan Barcode,Kod Bar Imbas,
Schedule,Jadual,
Schedule Admission,Jadual Kemasukan,
Schedule Course,Kursus jadual,
Schedule Date,Jadual Tarikh,
Schedule Discharge,Jadual Pelepasan,
Scheduled,Berjadual,
Scheduled Upto,Upto Berjadual,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Jadual untuk {0} tumpang tindih, adakah anda mahu meneruskan selepas melangkau slot bergelombang?",
Score cannot be greater than Maximum Score,Skor tidak boleh lebih besar daripada skor maksimum,
Score must be less than or equal to 5,Skor mesti kurang daripada atau sama dengan 5,
Scorecards,Kad skor,
Scrapped,dibatalkan,
Search,Carian,
Search Results,Keputusan Carian,
Search Sub Assemblies,Mencari Sub Dewan,
"Search by item code, serial number, batch no or barcode","Cari mengikut kod item, nombor siri, no batch atau kod bar",
"Seasonality for setting budgets, targets etc.","Bermusim untuk menetapkan belanjawan, sasaran dan lain-lain",
Secret Key,Kunci rahsia,
Secretary,Setiausaha,
Section Code,Kod Seksyen,
Secured Loans,Pinjaman Bercagar,
Securities & Commodity Exchanges,Sekuriti &amp; Bursa Komoditi,
Securities and Deposits,Sekuriti dan Deposit,
See All Articles,Lihat Semua Artikel,
See all open tickets,Lihat semua tiket terbuka,
See past orders,Lihat pesanan terdahulu,
See past quotations,Lihat petikan yang lalu,
Select,Pilih,
Select Alternate Item,Pilih Item Ganti,
Select Attribute Values,Pilih Nilai Atribut,
Select BOM,Pilih BOM,
Select BOM and Qty for Production,Pilih BOM dan Kuantiti untuk Pengeluaran,
"Select BOM, Qty and For Warehouse","Pilih BOM, Qty dan For Warehouse",
Select Batch,Pilih Batch,
Select Batch Numbers,Pilih Nombor Batch,
Select Brand...,Pilih Jenama ...,
Select Company,Pilih Syarikat,
Select Company...,Pilih Syarikat ...,
Select Customer,Pilih Pelanggan,
Select Days,Pilih Hari,
Select Default Supplier,Pilih pembekal lalai,
Select DocType,Pilih DOCTYPE,
Select Fiscal Year...,Pilih Tahun Anggaran ...,
Select Item (optional),Pilih Perkara (pilihan),
Select Items based on Delivery Date,Pilih Item berdasarkan Tarikh Penghantaran,
Select Items to Manufacture,Pilih item untuk mengeluarkan,
Select Loyalty Program,Pilih Program Kesetiaan,
Select Patient,Pilih Pesakit,
Select Possible Supplier,Pilih Pembekal Kemungkinan,
Select Property,Pilih Harta,
Select Quantity,Pilih Kuantiti,
Select Serial Numbers,Pilih nombor siri,
Select Target Warehouse,Pilih Warehouse sasaran,
Select Warehouse...,Pilih Warehouse ...,
Select an account to print in account currency,Pilih akaun untuk mencetak dalam mata wang akaun,
Select an employee to get the employee advance.,Pilih pekerja untuk mendapatkan pekerja terlebih dahulu.,
Select at least one value from each of the attributes.,Pilih sekurang-kurangnya satu nilai dari setiap atribut.,
Select change amount account,Pilih perubahan kira jumlah,
Select company first,Pilih syarikat pertama,
Select students manually for the Activity based Group,Pilih pelajar secara manual untuk Aktiviti berasaskan Kumpulan,
Select the customer or supplier.,Pilih pelanggan atau pembekal.,
Select the nature of your business.,Pilih jenis perniagaan anda.,
Select the program first,Pilih program pertama,
Select to add Serial Number.,Pilih untuk menambah Nombor Serial.,
Select your Domains,Pilih Domain anda,
Selected Price List should have buying and selling fields checked.,Senarai Harga Terpilih sepatutnya membeli dan menjual medan diperiksa.,
Sell,Jual,
Selling,Jualan,
Selling Amount,Jumlah Jualan,
Selling Price List,Senarai Harga Jualan,
Selling Rate,Kadar Jualan,
"Selling must be checked, if Applicable For is selected as {0}","Jualan hendaklah disemak, jika Terpakai Untuk dipilih sebagai {0}",
Send Grant Review Email,Hantar E-mel Semakan Hibah,
Send Now,Hantar Sekarang,
Send SMS,Hantar SMS,
Send Supplier Emails,Hantar Email Pembekal,
Send mass SMS to your contacts,Hantar SMS massa ke kenalan anda,
Sensitivity,Kepekaan,
Sent,Dihantar,
Serial #,Serial #,
Serial No and Batch,Serial No dan Batch,
Serial No is mandatory for Item {0},No siri adalah wajib bagi Perkara {0},
Serial No {0} does not belong to Batch {1},Serial No {0} tidak tergolong dalam Batch {1},
Serial No {0} does not belong to Delivery Note {1},No siri {0} bukan milik Penghantaran Nota {1},
Serial No {0} does not belong to Item {1},No siri {0} bukan milik Perkara {1},
Serial No {0} does not belong to Warehouse {1},No siri {0} bukan milik Gudang {1},
Serial No {0} does not belong to any Warehouse,No siri {0} bukan milik mana-mana Warehouse,
Serial No {0} does not exist,No siri {0} tidak wujud,
Serial No {0} has already been received,No siri {0} telah diterima,
Serial No {0} is under maintenance contract upto {1},No siri {0} adalah di bawah kontrak penyelenggaraan hamper {1},
Serial No {0} is under warranty upto {1},No siri {0} adalah di bawah jaminan hamper {1},
Serial No {0} not found,No siri {0} tidak dijumpai,
Serial No {0} not in stock,No siri {0} tidak dalam stok,
Serial No {0} quantity {1} cannot be a fraction,Serial No {0} kuantiti {1} tidak boleh menjadi sebahagian kecil,
Serial Nos Required for Serialized Item {0},Serial No Diperlukan untuk Perkara bersiri {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Nombor siri: {0} sudah dirujuk dalam Sales Invoice: {1},
Serial Numbers,Nombor Siri,
Serial Numbers in row {0} does not match with Delivery Note,Nombor siri berturut-turut {0} tidak sepadan dengan penghantaran Nota,
Serial no {0} has been already returned,Serial no {0} telah dikembalikan,
Serial number {0} entered more than once,Nombor siri {0} memasuki lebih daripada sekali,
Serialized Inventory,Inventori bersiri,
Series Updated,Siri Dikemaskini,
Series Updated Successfully,Siri Dikemaskini Berjaya,
Series is mandatory,Siri adalah wajib,
Series {0} already used in {1},Siri {0} telah digunakan dalam {1},
Service,Perkhidmatan,
Service Expense,Perbelanjaan perkhidmatan,
Service Level Agreement,Perjanjian tahap perkhidmatan,
Service Level Agreement.,Perjanjian tahap perkhidmatan.,
Service Level.,Tahap servis.,
Service Stop Date cannot be after Service End Date,Tarikh Henti Perkhidmatan tidak boleh selepas Tarikh Akhir Perkhidmatan,
Service Stop Date cannot be before Service Start Date,Tarikh Henti Perkhidmatan tidak boleh sebelum Tarikh Mula Perkhidmatan,
Services,Perkhidmatan,
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Nilai Default Tetapkan seperti Syarikat, mata wang, fiskal semasa Tahun, dan lain-lain",
Set Details,Tetapkan Butiran,
Set New Release Date,Tetapkan Tarikh Keluaran Baru,
Set Project and all Tasks to status {0}?,Tetapkan Projek dan semua Tugas ke status {0}?,
Set Status,Tetapkan Status,
Set Tax Rule for shopping cart,Menetapkan Peraturan Cukai untuk troli membeli-belah,
Set as Closed,Ditetapkan sebagai Ditutup,
Set as Completed,Tetapkan sebagai Selesai,
Set as Default,Tetapkan sebagai lalai,
Set as Lost,Ditetapkan sebagai Hilang,
Set as Open,Ditetapkan sebagai Open,
Set default inventory account for perpetual inventory,Menetapkan akaun inventori lalai untuk inventori yang berterusan,
Set this if the customer is a Public Administration company.,Tetapkan ini jika pelanggan adalah syarikat Pentadbiran Awam.,
Set {0} in asset category {1} or company {2},Tetapkan {0} dalam kategori aset {1} atau syarikat {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Menetapkan Peristiwa untuk {0}, kerana pekerja yang bertugas di bawah Persons Jualan tidak mempunyai ID Pengguna {1}",
Setting defaults,Menetapkan lalai,
Setting up Email,Menubuhkan E-mel,
Setting up Email Account,Menyediakan Akaun E-mel,
Setting up Employees,Menubuhkan Pekerja,
Setting up Taxes,Menubuhkan Cukai,
Setting up company,Menubuhkan syarikat,
Settings,Tetapan,
"Settings for online shopping cart such as shipping rules, price list etc.","Tetapan untuk troli membeli-belah dalam talian seperti peraturan perkapalan, senarai harga dan lain-lain",
Settings for website homepage,Tetapan untuk laman web laman utama,
Settings for website product listing,Tetapan untuk penyenaraian produk laman web,
Settled,Diselesaikan,
Setup Gateway accounts.,Persediaan akaun Gateway.,
Setup SMS gateway settings,Tetapan gateway Persediaan SMS,
Setup cheque dimensions for printing,dimensi Persediaan cek percetakan,
Setup default values for POS Invoices,Tetapkan nilai lalai untuk Invois POS,
Setup mode of POS (Online / Offline),Mod persediaan POS (Dalam Talian / Luar Talian),
Setup your Institute in ERPNext,Persiapkan Institut anda di ERPNext,
Share Balance,Imbangan Saham,
Share Ledger,Kongsi Ledger,
Share Management,Pengurusan Saham,
Share Transfer,Pemindahan Saham,
Share Type,Jenis Kongsi,
Shareholder,Pemegang Saham,
Ship To State,Kapal ke Negeri,
Shipments,Penghantaran,
Shipping,penghantaran,
Shipping Address,Alamat Penghantaran,
"Shipping Address does not have country, which is required for this Shipping Rule","Alamat Pengiriman tidak mempunyai negara, yang diperlukan untuk Peraturan Pengiriman ini",
Shipping rule only applicable for Buying,Peraturan penghantaran hanya terpakai untuk Membeli,
Shipping rule only applicable for Selling,Peraturan penghantaran hanya terpakai untuk Jualan,
Shopify Supplier,Pembekal Shopify,
Shopping Cart,Troli Membeli-belah,
Shopping Cart Settings,Troli membeli-belah Tetapan,
Short Name,Nama Pendek,
Shortage Qty,Kekurangan Qty,
Show Completed,Tunjukkan Selesai,
Show Cumulative Amount,Tunjukkan Jumlah Kumulatif,
Show Employee,Tunjukkan Pekerja,
Show Open,Tunjukkan terbuka,
Show Opening Entries,Tunjukkan Penyertaan Pembukaan,
Show Payment Details,Tunjukkan Butiran Pembayaran,
Show Return Entries,Tunjukkan Penyertaan Semula,
Show Salary Slip,Show Slip Gaji,
Show Variant Attributes,Tunjukkan Atribut Variasi,
Show Variants,Show Kelainan,
Show closed,Show ditutup,
Show exploded view,Tunjukkan paparan yang meletup,
Show only POS,Tunjukkan sahaja POS,
Show unclosed fiscal year's P&L balances,Tunjukkan P &amp; baki L tahun fiskal unclosed ini,
Show zero values,Menunjukkan nilai-nilai sifar,
Sick Leave,Cuti sakit,
Silt,Lumpur,
Single Variant,Varian tunggal,
Single unit of an Item.,Unit tunggal Item satu.,
"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Peruntukkan Cuti Skipping untuk pekerja berikut, sebagai Rekod Peruntukan Tinggalkan sudah wujud terhadap mereka. {0}",
"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Melangkau Struktur Gaji Penyerahhakan bagi pekerja berikut, seperti rekod Penyerahan Struktur Gaji sudah wujud terhadap mereka. {0}",
Slideshow,Slideshow,
Slots for {0} are not added to the schedule,Slot untuk {0} tidak ditambah pada jadual,
Small,Kecil,
Soap & Detergent,Sabun &amp; detergen,
Software,Perisian,
Software Developer,Perisian Pemaju,
Softwares,Softwares,
Soil compositions do not add up to 100,Komposisi tanah tidak menambah sehingga 100,
Sold,Dijual,
Some emails are invalid,Sesetengah e-mel adalah tidak sah,
Some information is missing,Beberapa maklumat yang hilang,
Something went wrong!,Sesuatu telah berlaku!,
"Sorry, Serial Nos cannot be merged","Maaf, Serial No tidak boleh digabungkan",
Source,Sumber,
Source Name,Nama Source,
Source Warehouse,Sumber Gudang,
Source and Target Location cannot be same,Lokasi Sumber dan Sasaran tidak boleh sama,
Source and target warehouse cannot be same for row {0},Sumber dan sasaran gudang tidak boleh sama berturut-turut untuk {0},
Source and target warehouse must be different,Sumber dan sasaran gudang mestilah berbeza,
Source of Funds (Liabilities),Sumber Dana (Liabiliti),
Source warehouse is mandatory for row {0},Sumber gudang adalah wajib untuk berturut-turut {0},
Specified BOM {0} does not exist for Item {1},Dinyatakan BOM {0} tidak wujud untuk Perkara {1},
Split,Split,
Split Batch,Split Batch,
Split Issue,Isu Split,
Sports,Sukan,
Staffing Plan {0} already exist for designation {1},Rancangan Kakitangan {0} sudah wujud untuk penunjukan {1},
Standard,Standard,
Standard Buying,Membeli Standard,
Standard Selling,Jualan Standard,
Standard contract terms for Sales or Purchase.,Terma kontrak standard untuk Jualan atau Beli.,
Start Date,Tarikh Mula,
Start Date of Agreement can't be greater than or equal to End Date.,Mulai Tarikh Perjanjian tidak boleh melebihi atau sama dengan Tarikh Akhir.,
Start Year,Mula Tahun,
"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Tarikh mula dan tamat tidak dalam Tempoh Penggajian yang sah, tidak dapat mengira {0}",
"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Tarikh mula dan tamat tidak dalam Tempoh Penggajian yang sah, tidak boleh mengira {0}.",
Start date should be less than end date for Item {0},Tarikh mula boleh kurang daripada tarikh akhir untuk Perkara {0},
Start date should be less than end date for task {0},Tarikh mula harus kurang dari tarikh tamat untuk tugas {0},
Start day is greater than end day in task '{0}',Hari permulaan adalah lebih besar daripada hari akhir dalam tugas &#39;{0}&#39;,
Start on,Mulakan,
State,Negeri,
State/UT Tax,Cukai Negeri / UT,
Statement of Account,Penyata akaun,
Status must be one of {0},Status mestilah salah seorang daripada {0},
Stock,Saham,
Stock Adjustment,Pelarasan Saham,
Stock Analytics,Saham Analytics,
Stock Assets,Aset Saham,
Stock Available,Saham Tersedia,
Stock Balance,Baki saham,
Stock Entries already created for Work Order ,Penyertaan Saham telah dibuat untuk Perintah Kerja,
Stock Entry,Saham Entry,
Stock Entry {0} created,Kemasukan Stock {0} dicipta,
Stock Entry {0} is not submitted,Saham Entry {0} tidak dikemukakan,
Stock Expenses,Perbelanjaan Saham,
Stock In Hand,Stock In Hand,
Stock Items,Item Saham,
Stock Ledger,Saham Lejar,
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Saham Lejar Penyertaan dan GL Penyertaan diumumkan bagi Resit Pembelian dipilih,
Stock Levels,Tahap Saham,
Stock Liabilities,Liabiliti Saham,
Stock Options,Pilihan Saham,
Stock Qty,Saham qty,
Stock Received But Not Billed,Saham Diterima Tetapi Tidak Membilkan,
Stock Reports,Laporan Saham,
Stock Summary,Ringkasan Stock,
Stock Transactions,Urusniaga saham,
Stock UOM,Saham UOM,
Stock Value,Nilai Saham,
Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Baki saham dalam batch {0} akan menjadi negatif {1} untuk Perkara {2} di Gudang {3},
Stock cannot be updated against Delivery Note {0},Saham tidak boleh dikemaskini terhadap Penghantaran Nota {0},
Stock cannot be updated against Purchase Receipt {0},Saham tidak boleh dikemas kini terhadap Pembelian Resit {0},
Stock cannot exist for Item {0} since has variants,Saham tidak boleh wujud untuk Perkara {0} kerana mempunyai varian,
Stock transactions before {0} are frozen,Transaksi saham sebelum {0} dibekukan,
Stop,Hentikan,
Stopped,Berhenti,
"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Perintah Kerja Berhenti tidak boleh dibatalkan, Unstop terlebih dahulu untuk membatalkannya",
Stores,Kedai,
Structures have been assigned successfully,Struktur telah ditugaskan dengan jayanya,
Student,Pelajar,
Student Activity,Aktiviti Pelajar,
Student Address,Alamat Pelajar,
Student Admissions,Kemasukan Pelajar,
Student Attendance,Kehadiran Pelajar,
"Student Batches help you track attendance, assessments and fees for students","Kelompok pelajar membantu anda mengesan kehadiran, penilaian dan yuran untuk pelajar",
Student Email Address,Pelajar Alamat E-mel,
Student Email ID,Pelajar Email ID,
Student Group,Kumpulan Pelajar,
Student Group Strength,Kekuatan Kumpulan Pelajar,
Student Group is already updated.,Kumpulan pelajar sudah dikemaskini.,
Student Group: ,Kumpulan Pelajar:,
Student ID,ID pelajar,
Student ID: ,ID pelajar:,
Student LMS Activity,Aktiviti LMS Pelajar,
Student Mobile No.,Pelajar Mobile No.,
Student Name,Nama pelajar,
Student Name: ,Nama pelajar:,
Student Report Card,Kad Laporan Pelajar,
Student is already enrolled.,Pelajar sudah mendaftar.,
Student {0} - {1} appears Multiple times in row {2} & {3},Pelajar {0} - {1} muncul kali Pelbagai berturut-turut {2} &amp; {3},
Student {0} does not belong to group {1},Pelajar {0} tidak tergolong dalam kumpulan {1},
Student {0} exist against student applicant {1},Pelajar {0} wujud terhadap pemohon pelajar {1},
"Students are at the heart of the system, add all your students","Pelajar di tengah-tengah sistem, menambah semua pelajar anda",
Sub Assemblies,Dewan Sub,
Sub Type,Jenis Sub,
Sub-contracting,Sub-kontrak,
Subcontract,Subkontrak,
Subject,Tertakluk,
Submit,Hantar,
Submit Proof,Hantar Bukti,
Submit Salary Slip,Hantar Slip Gaji,
Submit this Work Order for further processing.,Serahkan Perintah Kerja ini untuk pemprosesan selanjutnya.,
Submit this to create the Employee record,Hantar ini untuk mencipta rekod Kakitangan,
Submitting Salary Slips...,Mengirim Slip Gaji ...,
Subscription,Langganan,
Subscription Management,Pengurusan Langganan,
Subscriptions,Langganan,
Subtotal,jumlah kecil,
Successful,Berjaya,
Successfully Reconciled,Berjaya didamaikan,
Successfully Set Supplier,Berjaya Membekal Pembekal,
Successfully created payment entries,Berjaya membuat penyertaan bayaran,
Successfully deleted all transactions related to this company!,Berjaya memadam semua transaksi yang berkaitan dengan syarikat ini!,
Sum of Scores of Assessment Criteria needs to be {0}.,Jumlah Markah Kriteria Penilaian perlu {0}.,
Sum of points for all goals should be 100. It is {0},Jumlah mata untuk semua matlamat harus 100. Ia adalah {0},
Summary,Ringkasan,
Summary for this month and pending activities,Ringkasan untuk bulan ini dan aktiviti-aktiviti yang belum selesai,
Summary for this week and pending activities,Ringkasan untuk minggu ini dan aktiviti-aktiviti yang belum selesai,
Sunday,Ahad,
Suplier,Suplier,
Supplier,Pembekal,
Supplier Group,Kumpulan Pembekal,
Supplier Group master.,Pembekal Kumpulan pembekal.,
Supplier Id,Id Pembekal,
Supplier Invoice Date cannot be greater than Posting Date,Pembekal Invois Tarikh tidak boleh lebih besar daripada Pos Tarikh,
Supplier Invoice No,Pembekal Invois No,
Supplier Invoice No exists in Purchase Invoice {0},Pembekal Invois No wujud dalam Invois Belian {0},
Supplier Name,Nama Pembekal,
Supplier Part No,Pembekal bahagian No,
Supplier Quotation,Sebutharga Pembekal,
Supplier Scorecard,Kad skor pembekal,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Pembekal Gudang mandatori bagi sub-kontrak Pembelian Resit,
Supplier database.,Pangkalan data pembekal.,
Supplier {0} not found in {1},Pembekal {0} tidak dijumpai di {1},
Supplier(s),Pembekal (s),
Supplies made to UIN holders,Bekalan dibuat kepada pemegang UIN,
Supplies made to Unregistered Persons,Bekalan dibuat kepada Orang Tidak Diketahui,
Suppliies made to Composition Taxable Persons,Suplai yang dibuat kepada Komposisi Orang Yang Boleh Dikagumi,
Supply Type,Jenis Bekalan,
Support,Sokongan,
Support Analytics,Sokongan Analytics,
Support Settings,Tetapan Sokongan,
Support Tickets,Tiket Sokongan,
Support queries from customers.,Pertanyaan sokongan daripada pelanggan.,
Susceptible,Mudah tersinggung,
Sync has been temporarily disabled because maximum retries have been exceeded,Penyegerakan telah dilumpuhkan buat sementara waktu kerana pengambilan maksimum telah melebihi,
Syntax error in condition: {0},Kesalahan sintaks dalam keadaan: {0},
Syntax error in formula or condition: {0},Ralat sintaks dalam formula atau keadaan: {0},
System Manager,Pengurus Sistem,
TDS Rate %,Kadar TDS%,
Tap items to add them here,Ketik item untuk menambah mereka di sini,
Target,Sasaran,
Target ({}),Sasaran ({}),
Target On,Sasaran Pada,
Target Warehouse,Sasaran Gudang,
Target warehouse is mandatory for row {0},Gudang sasaran adalah wajib untuk berturut-turut {0},
Task,Petugas,
Tasks,Tugas,
Tasks have been created for managing the {0} disease (on row {1}),Tugas telah dibuat untuk mengurus penyakit {0} (pada baris {1}),
Tax,Cukai,
Tax Assets,Aset Cukai,
Tax Category,Kategori Cukai,
Tax Category for overriding tax rates.,Kategori Cukai untuk kadar cukai utama.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items",Kategori cukai telah ditukar kepada &quot;Jumlah&quot; kerana semua Item adalah barang-barang tanpa saham yang,
Tax ID,ID cukai,
Tax Id: ,ID cukai:,
Tax Rate,Kadar cukai,
Tax Rule Conflicts with {0},Konflik Peraturan Cukai dengan {0},
Tax Rule for transactions.,Peraturan cukai bagi urus niaga.,
Tax Template is mandatory.,Template cukai adalah wajib.,
Tax Withholding rates to be applied on transactions.,Kadar Pegangan Cukai yang akan dikenakan ke atas urus niaga.,
Tax template for buying transactions.,Template cukai untuk membeli transaksi.,
Tax template for item tax rates.,Templat cukai untuk kadar cukai barangan.,
Tax template for selling transactions.,Template cukai untuk menjual transaksi.,
Taxable Amount,Amaun yang dikenakan cukai,
Taxes,Cukai,
Team Updates,Pasukan Terbaru,
Technology,Teknologi,
Telecommunications,Telekomunikasi,
Telephone Expenses,Perbelanjaan Telefon,
Television,Televisyen,
Template Name,Nama template,
Template of terms or contract.,Templat istilah atau kontrak.,
Templates of supplier scorecard criteria.,Templat kriteria kad skor pembekal.,
Templates of supplier scorecard variables.,Templat pemboleh ubah kad skor pembekal.,
Templates of supplier standings.,Templat kedudukan pembekal.,
Temporarily on Hold,Buat sementara waktu,
Temporary,Sementara,
Temporary Accounts,Akaun Sementara,
Temporary Opening,Pembukaan sementara,
Terms and Conditions,Terma dan syarat,
Terms and Conditions Template,Terma dan Syarat Template,
Territory,Wilayah,
Test,Ujian,
Thank you,Terima kasih,
Thank you for your business!,Terima kasih atas urusan awak!,
The 'From Package No.' field must neither be empty nor it's value less than 1.,&#39;Dari Pakej Tidak.&#39; medan mestilah tidak kosong dan nilai itu kurang daripada 1.,
The Brand,Jenama,
The Item {0} cannot have Batch,The Perkara {0} tidak boleh mempunyai Batch,
The Loyalty Program isn't valid for the selected company,Program Kesetiaan tidak sah untuk syarikat yang dipilih,
The Payment Term at row {0} is possibly a duplicate.,Tempoh Bayaran pada baris {0} mungkin pendua.,
The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Tarikh Akhir Term tidak boleh lebih awal daripada Tarikh Mula Term. Sila betulkan tarikh dan cuba lagi.,
The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Tarikh Akhir Term tidak boleh lewat daripada Tarikh Akhir Tahun Akademik Tahun yang istilah ini dikaitkan (Akademik Tahun {}). Sila betulkan tarikh dan cuba lagi.,
The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Permulaan Term Tarikh tidak boleh lebih awal daripada Tarikh Tahun Permulaan Tahun Akademik mana istilah ini dikaitkan (Akademik Tahun {}). Sila betulkan tarikh dan cuba lagi.,
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Tahun Akhir Tarikh tidak boleh lebih awal daripada Tahun Tarikh Mula. Sila betulkan tarikh dan cuba lagi.,
The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,Jumlah {0} yang ditetapkan dalam permintaan pembayaran ini adalah berbeza dari jumlah anggaran semua pelan pembayaran: {1}. Pastikan ini betul sebelum menghantar dokumen.,
The day(s) on which you are applying for leave are holidays. You need not apply for leave.,Hari (s) di mana anda memohon cuti adalah cuti. Anda tidak perlu memohon cuti.,
The field From Shareholder cannot be blank,Bidang Daripada Pemegang Saham tidak boleh kosong,
The field To Shareholder cannot be blank,Bidang Kepada Pemegang Saham tidak boleh kosong,
The fields From Shareholder and To Shareholder cannot be blank,Bidang Daripada Pemegang Saham dan Kepada Pemegang Saham tidak boleh kosong,
The folio numbers are not matching,Nombor folio tidak sepadan,
The holiday on {0} is not between From Date and To Date,Cuti pada {0} bukan antara Dari Tarikh dan To Date,
The name of the institute for which you are setting up this system.,Nama institut yang mana anda menyediakan sistem ini.,
The name of your company for which you are setting up this system.,Nama syarikat anda yang mana anda menubuhkan sistem ini.,
The number of shares and the share numbers are inconsistent,Bilangan saham dan bilangan saham tidak konsisten,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Akaun gerbang pembayaran dalam pelan {0} adalah berbeza daripada akaun gerbang pembayaran dalam permintaan pembayaran ini,
The selected BOMs are not for the same item,The boms dipilih bukan untuk item yang sama,
The selected item cannot have Batch,Item yang dipilih tidak boleh mempunyai Batch,
The seller and the buyer cannot be the same,Penjual dan pembeli tidak boleh sama,
The shareholder does not belong to this company,Pemegang saham tidak tergolong dalam syarikat ini,
The shares already exist,Saham sudah ada,
The shares don't exist with the {0},Saham tidak wujud dengan {0},
"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","Tugas itu telah dipenuhi sebagai pekerjaan latar belakang. Sekiranya terdapat sebarang masalah dalam pemprosesan di latar belakang, sistem akan menambah komen mengenai kesilapan pada Penyelesaian Stok ini dan kembali ke peringkat Draf",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Peraturan Kemudian Harga ditapis keluar berdasarkan Pelanggan, Kumpulan Pelanggan, Wilayah, Pembekal, Jenis Pembekal, Kempen, Rakan Jualan dan lain-lain",
"There are inconsistencies between the rate, no of shares and the amount calculated","Terdapat ketidaksesuaian antara kadar, tiada saham dan jumlah yang dikira",
There are more holidays than working days this month.,Terdapat lebih daripada cuti hari bekerja bulan ini.,
There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,Terdapat beberapa faktor pengumpulan peringkat berdasarkan jumlah yang dibelanjakan. Tetapi faktor penukaran untuk penebusan akan selalu sama untuk semua tier.,
There can only be 1 Account per Company in {0} {1},Hanya akan ada 1 Akaun setiap Syarikat dalam {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""",Hanya ada satu Keadaan Peraturan Penghantaran dengan 0 atau nilai kosong untuk &quot;Untuk Nilai&quot;,
There is no leave period in between {0} and {1},Tiada tempoh cuti di antara {0} dan {1},
There is not enough leave balance for Leave Type {0},Tidak ada baki cuti yang cukup untuk Cuti Jenis {0},
There is nothing to edit.,Ada apa-apa untuk mengedit.,
There isn't any item variant for the selected item,Tidak ada varian item untuk item yang dipilih,
"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Nampaknya ada masalah dengan konfigurasi GoCardless pelayan. Jangan bimbang, dalam kes kegagalan, amaun akan dikembalikan ke akaun anda.",
There were errors creating Course Schedule,Terdapat kesilapan mencipta Jadual Kursus,
There were errors.,Terdapat ralat.,
This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,Perkara ini adalah Template dan tidak boleh digunakan dalam urus niaga. Sifat-sifat perkara akan disalin ke atas ke dalam varian kecuali &#39;Tiada Salinan&#39; ditetapkan,
This Item is a Variant of {0} (Template).,Perkara ini adalah Variant {0} (Template).,
This Month's Summary,Ringkasan ini Bulan ini,
This Week's Summary,Ringkasan Minggu Ini,
This action will stop future billing. Are you sure you want to cancel this subscription?,Tindakan ini akan menghentikan pengebilan masa depan. Adakah anda pasti ingin membatalkan langganan ini?,
This covers all scorecards tied to this Setup,Ini merangkumi semua kad skor yang terikat pada Persediaan ini,
This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Dokumen ini melebihi had oleh {0} {1} untuk item {4}. Adakah anda membuat terhadap yang sama satu lagi {3} {2}?,
This is a root account and cannot be edited.,Ini adalah akaun akar dan tidak boleh diedit.,
This is a root customer group and cannot be edited.,Ini adalah kumpulan pelanggan akar dan tidak boleh diedit.,
This is a root department and cannot be edited.,Ini adalah jabatan root dan tidak dapat diedit.,
This is a root healthcare service unit and cannot be edited.,Ini adalah unit perkhidmatan penjagaan kesihatan akar dan tidak dapat diedit.,
This is a root item group and cannot be edited.,Ini adalah kumpulan item akar dan tidak boleh diedit.,
This is a root sales person and cannot be edited.,Ini adalah orang jualan akar dan tidak boleh diedit.,
This is a root supplier group and cannot be edited.,Ini adalah kumpulan pembekal akar dan tidak dapat diedit.,
This is a root territory and cannot be edited.,Ini adalah wilayah akar dan tidak boleh diedit.,
This is an example website auto-generated from ERPNext,Ini adalah laman contoh automatik dihasilkan daripada ERPNext,
This is based on logs against this Vehicle. See timeline below for details,Ini adalah berdasarkan kepada balak terhadap kenderaan ini. Lihat garis masa di bawah untuk maklumat,
This is based on stock movement. See {0} for details,Ini adalah berdasarkan kepada pergerakan saham. Lihat {0} untuk mendapatkan butiran,
This is based on the Time Sheets created against this project,Ini adalah berdasarkan Lembaran Masa dicipta terhadap projek ini,
This is based on the attendance of this Employee,Ini adalah berdasarkan kepada kehadiran Pekerja ini,
This is based on the attendance of this Student,Ini adalah berdasarkan kepada kehadiran Pelajar ini,
This is based on transactions against this Customer. See timeline below for details,Ini adalah berdasarkan kepada urus niaga terhadap Pelanggan ini. Lihat garis masa di bawah untuk maklumat,
This is based on transactions against this Healthcare Practitioner.,Ini berdasarkan urus niaga terhadap Pengamal Penjagaan Kesihatan ini.,
This is based on transactions against this Patient. See timeline below for details,Ini berdasarkan urus niaga terhadap Pesakit ini. Lihat garis masa di bawah untuk maklumat lanjut,
This is based on transactions against this Sales Person. See timeline below for details,Ini berdasarkan urusniaga terhadap Orang Jualan ini. Lihat garis masa di bawah untuk maklumat lanjut,
This is based on transactions against this Supplier. See timeline below for details,Ini adalah berdasarkan kepada urus niaga terhadap Pembekal ini. Lihat garis masa di bawah untuk maklumat,
This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Ini akan menghantar Slip Gaji dan membuat Penyertaan Jurnal akrual. Adakah anda mahu meneruskan?,
This {0} conflicts with {1} for {2} {3},Ini {0} konflik dengan {1} untuk {2} {3},
Time Sheet for manufacturing.,Lembaran Masa untuk pembuatan.,
Time Tracking,Tracking masa,
"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Slot masa melompat, slot {0} hingga {1} bertindih slot eksisit {2} ke {3}",
Time slots added,Slot masa ditambah,
Time(in mins),Masa (dalam minit),
Timer,Pemasa,
Timer exceeded the given hours.,Pemasa melebihi masa yang diberikan.,
Timesheet,Timesheet,
Timesheet for tasks.,Timesheet untuk tugas-tugas.,
Timesheet {0} is already completed or cancelled,Timesheet {0} sudah selesai atau dibatalkan,
Timesheets,Timesheets,
"Timesheets help keep track of time, cost and billing for activites done by your team","Timesheets membantu menjejaki masa, kos dan bil untuk kegiatan yang dilakukan oleh pasukan anda",
Titles for print templates e.g. Proforma Invoice.,Tajuk untuk template cetak seperti Proforma Invois.,
To,Untuk,
To Address 1,Untuk Alamat 1,
To Address 2,Untuk Alamat 2,
To Bill,Rang Undang-Undang,
To Date,Tarikh,
To Date cannot be before From Date,Setakat ini tidak boleh sebelum dari tarikh,
To Date cannot be less than From Date,Kepada Tarikh tidak boleh kurang dari Tarikh,
To Date must be greater than From Date,Kepada Tarikh mestilah lebih besar dari Tarikh,
To Date should be within the Fiscal Year. Assuming To Date = {0},Tarikh perlu berada dalam Tahun Fiskal. Dengan mengandaikan Untuk Tarikh = {0},
To Datetime,Untuk Datetime,
To Deliver,Untuk menyampaikan,
To Deliver and Bill,Untuk Menghantar dan Rang Undang-undang,
To Fiscal Year,Tahun Fiskal,
To GSTIN,Kepada GSTIN,
To Party Name,Kepada Nama Pihak,
To Pin Code,Untuk Kod Pin,
To Place,Ke tempat,
To Receive,Untuk menerima,
To Receive and Bill,Terima dan Rang Undang-undang,
To State,Untuk Negeri,
To Warehouse,Untuk Gudang,
To create a Payment Request reference document is required,Untuk membuat Permintaan Pembayaran dokumen rujukan diperlukan,
To date can not be equal or less than from date,Setakat ini tidak boleh sama atau kurang dari tarikh,
To date can not be less than from date,Setakat ini tidak boleh kurang dari tarikh,
To date can not greater than employee's relieving date,Setakat ini tidak boleh melebihi tarikh pelepasan pekerja,
"To filter based on Party, select Party Type first","Untuk menapis berdasarkan Parti, pilih Parti Taipkan pertama",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Untuk mendapatkan yang terbaik daripada ERPNext, kami menyarankan anda mengambil sedikit masa dan menonton video bantuan.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Untuk memasukkan cukai berturut-turut {0} dalam kadar Perkara, cukai dalam baris {1} hendaklah juga disediakan",
To make Customer based incentive schemes.,Untuk membuat skim insentif berdasarkan Pelanggan.,
"To merge, following properties must be same for both items","Untuk bergabung, sifat berikut mestilah sama bagi kedua-dua perkara",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Tidak memohon Peraturan Harga dalam transaksi tertentu, semua Peraturan Harga berkenaan perlu dimatikan.",
"To set this Fiscal Year as Default, click on 'Set as Default'","Untuk menetapkan Tahun Fiskal ini sebagai Lalai, klik pada &#39;Tetapkan sebagai lalai&#39;",
To view logs of Loyalty Points assigned to a Customer.,Untuk melihat log Mata Ganjaran yang diberikan kepada Pelanggan.,
To {0},Untuk {0},
To {0} | {1} {2},Untuk {0} | {1} {2},
Toggle Filters,Togol Filter,
Too many columns. Export the report and print it using a spreadsheet application.,Terlalu banyak tiang. Mengeksport laporan dan mencetak penggunaan aplikasi spreadsheet.,
Tools,Tools,
Total (Credit),Jumlah: (Kredit),
Total (Without Tax),Jumlah (Tanpa Cukai),
Total Absent,Jumlah Tidak hadir,
Total Achieved,Jumlah Pencapaian,
Total Actual,Jumlah Sebenar,
Total Allocated Leaves,Jumlah Dikelilingi Daun,
Total Amount,Jumlah,
Total Amount Credited,Jumlah Jumlah Dikreditkan,
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Jumlah Caj Terpakai di Purchase meja Resit Item mesti sama dengan Jumlah Cukai dan Caj,
Total Budget,Jumlah Anggaran,
Total Collected: {0},Jumlah Dikumpul: {0},
Total Commission,Jumlah Suruhanjaya,
Total Contribution Amount: {0},Jumlah Jumlah Sumbangan: {0},
Total Credit/ Debit Amount should be same as linked Journal Entry,Jumlah Jumlah Kredit / Debit mestilah sama seperti Kemasukan Jurnal yang dipautkan,
Total Debit must be equal to Total Credit. The difference is {0},Jumlah Debit mesti sama dengan Jumlah Kredit. Perbezaannya ialah {0},
Total Deduction,Jumlah Potongan,
Total Invoiced Amount,Jumlah Invois,
Total Leaves,Jumlah Daun,
Total Order Considered,Jumlah Pesanan Dianggap,
Total Order Value,Jumlah Nilai Pesanan,
Total Outgoing,Jumlah Keluar,
Total Outstanding,Jumlah yang belum dijelaskan,
Total Outstanding Amount,Jumlah Cemerlang,
Total Outstanding: {0},Jumlah yang belum dijelaskan: {0},
Total Paid Amount,Jumlah Amaun Dibayar,
Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Jumlah Amaun Pembayaran dalam Jadual Pembayaran mestilah sama dengan Jumlah Besar / Bulat,
Total Payments,Jumlah Pembayaran,
Total Present,Jumlah Hadir,
Total Qty,Jumlah Kuantiti,
Total Quantity,Kuantiti keseluruhan,
Total Revenue,Jumlah Pendapatan,
Total Student,Jumlah Pelajar,
Total Target,Jumlah Sasaran,
Total Tax,Jumlah Cukai,
Total Taxable Amount,Jumlah Cukai Yang Boleh Dibayar,
Total Taxable Value,Jumlah Nilai Kenaikan,
Total Unpaid: {0},Jumlah Belum Dibayar: {0},
Total Variance,Jumlah Varian,
Total Weightage of all Assessment Criteria must be 100%,Jumlah Wajaran semua Kriteria Penilaian mesti 100%,
Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Pendahuluan ({0}) terhadap Perintah {1} tidak boleh lebih besar daripada Jumlah Besar ({2}),
Total advance amount cannot be greater than total claimed amount,Jumlah pendahuluan tidak boleh melebihi jumlah yang dituntut,
Total advance amount cannot be greater than total sanctioned amount,Jumlah jumlah pendahuluan tidak boleh lebih besar dari jumlah jumlah yang dibenarkan,
Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Jumlah daun yang diperuntukkan adalah lebih banyak hari daripada peruntukan maksimum {0} jenis cuti untuk pekerja {1} dalam tempoh tersebut,
Total allocated leaves are more than days in the period,Jumlah daun diperuntukkan lebih daripada hari-hari dalam tempoh yang,
Total allocated percentage for sales team should be 100,Jumlah peratusan yang diperuntukkan bagi pasukan jualan harus 100,
Total cannot be zero,Jumlah tidak boleh sifar,
Total contribution percentage should be equal to 100,Jumlah peratusan sumbangan hendaklah sama dengan 100,
Total flexible benefit component amount {0} should not be less than max benefits {1},Jumlah komponen faedah fleksibel {0} tidak boleh kurang daripada faedah max {1},
Total hours: {0},Jumlah jam: {0},
Total leaves allocated is mandatory for Leave Type {0},Jumlah daun yang diperuntukkan adalah wajib untuk Jenis Tinggalkan {0},
Total working hours should not be greater than max working hours {0},Jumlah jam kerja tidak harus lebih besar daripada waktu kerja max {0},
Total {0} ({1}),Jumlah {0} ({1}),
"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Jumlah {0} untuk semua barangan adalah sifar, mungkin anda perlu menukar &#39;Mengedarkan Caj Berasaskan&#39;",
Total(Amt),Jumlah (Amt),
Total(Qty),Jumlah (Kuantiti),
Traceability,kebolehkesanan,
Traceback,Traceback,
Track Leads by Lead Source.,Trek Memimpin oleh Sumber Utama.,
Training,Latihan,
Training Event,Event Training,
Training Events,Peristiwa Latihan,
Training Feedback,Maklum balas latihan,
Training Result,Keputusan Latihan,
Transaction,Transaksi,
Transaction Date,Transaksi Tarikh,
Transaction Type,Jenis Transaksi,
Transaction currency must be same as Payment Gateway currency,Mata wang urus niaga mesti sama dengan mata wang Pembayaran Gateway,
Transaction not allowed against stopped Work Order {0},Urus niaga yang tidak dibenarkan terhadap berhenti Kerja Perintah {0},
Transaction reference no {0} dated {1},Rujukan transaksi tidak {0} bertarikh {1},
Transactions,Urus niaga,
Transactions can only be deleted by the creator of the Company,Urusniaga hanya boleh dihapuskan oleh pencipta Syarikat,
Transfer,Pemindahan,
Transfer Material,Pemindahan Bahan,
Transfer Type,Jenis Pemindahan,
Transfer an asset from one warehouse to another,Pemindahan aset dari satu gudang yang lain,
Transfered,Dipindahkan,
Transferred Quantity,Kuantiti Pindah,
Transport Receipt Date,Tarikh Penerimaan Pengangkutan,
Transport Receipt No,Resit Pengangkutan No,
Transportation,Pengangkutan,
Transporter ID,ID Transporter,
Transporter Name,Nama Transporter,
Travel,Perjalanan,
Travel Expenses,Perbelanjaan perjalanan,
Tree Type,Tree Jenis,
Tree of Bill of Materials,Tree Rang Undang-Undang Bahan,
Tree of Item Groups.,Pohon Kumpulan Item.,
Tree of Procedures,Pokok Prosedur,
Tree of Quality Procedures.,Pokok Prosedur Kualiti.,
Tree of financial Cost Centers.,Tree of Centers Kos kewangan.,
Tree of financial accounts.,Tree akaun kewangan.,
Treshold {0}% appears more than once,Ambang {0}% muncul lebih daripada sekali,
Trial Period End Date Cannot be before Trial Period Start Date,Tarikh Akhir Tempoh Percubaan Tidak boleh sebelum Tarikh Mula Tempoh Percubaan,
Trialling,Menguji,
Type of Business,Jenis perniagaan,
Types of activities for Time Logs,Jenis aktiviti untuk Masa Balak,
UOM,UOM,
UOM Conversion factor is required in row {0},Faktor UOM Penukaran diperlukan berturut-turut {0},
UOM coversion factor required for UOM: {0} in Item: {1},Faktor coversion UOM diperlukan untuk UOM: {0} dalam Perkara: {1},
URL,URL,
Unable to find DocType {0},Tidak dapat mencari DocType {0},
Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Tidak dapat mencari kadar pertukaran untuk {0} kepada {1} untuk tarikh kunci {2}. Sila buat rekod Penukaran Mata Wang secara manual,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Tidak dapat mencari skor bermula pada {0}. Anda perlu mempunyai skor tetap yang meliputi 0 hingga 100,
Unable to find variable: ,Tidak dapat mencari variabel:,
Unblock Invoice,Buka Invois,
Uncheck all,Nyahtanda semua,
Unclosed Fiscal Years Profit / Loss (Credit),Unclosed fiskal Tahun Keuntungan / Kerugian (Kredit),
Unit,Unit,
Unit of Measure,Unit Tindakan,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unit Langkah {0} telah memasuki lebih daripada sekali dalam Factor Penukaran Jadual,
Unknown,Tidak diketahui,
Unpaid,Belum dibayar,
Unsecured Loans,Pinjaman Tidak Bercagar,
Unsubscribe from this Email Digest,Menghentikan langganan E-Digest,
Unsubscribed,Dilanggan,
Until,Sehingga,
Unverified Webhook Data,Data Webhook yang Tidak Ditandai,
Update Account Name / Number,Kemas kini Nama / Nombor Akaun,
Update Account Number / Name,Kemas kini Nombor / Nama Akaun,
Update Cost,Update Kos,
Update Items,Kemas kini Item,
Update Print Format,Update Cetak Format,
Update Response,Kemas kini Semula,
Update bank payment dates with journals.,Update tarikh pembayaran bank dengan jurnal.,
Update in progress. It might take a while.,Kemas kini sedang dijalankan. Ia mungkin mengambil sedikit masa.,
Update rate as per last purchase,Kadar kemas kini mengikut pembelian terakhir,
Update stock must be enable for the purchase invoice {0},Kemas kini stok mesti membolehkan invois belian {0},
Updating Variants...,Mengemas kini Variasi ...,
Upload your letter head and logo. (you can edit them later).,Memuat naik kepala surat dan logo. (Anda boleh mengeditnya kemudian).,
Upper Income,Pendapatan Atas,
Use Sandbox,Penggunaan Sandbox,
Used Leaves,Daun yang digunakan,
User,Pengguna,
User ID,ID Pengguna,
User ID not set for Employee {0},ID Pengguna tidak ditetapkan untuk Pekerja {0},
User Remark,Catatan pengguna,
User has not applied rule on the invoice {0},Pengguna tidak menggunakan peraturan pada invois {0},
User {0} already exists,Pengguna {0} sudah wujud,
User {0} created,Pengguna {0} dibuat,
User {0} does not exist,Pengguna {0} tidak wujud,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Pengguna {0} tidak mempunyai profil POS lalai. Semak lalai di Row {1} untuk Pengguna ini.,
User {0} is already assigned to Employee {1},Pengguna {0} telah diberikan kepada Pekerja {1},
User {0} is already assigned to Healthcare Practitioner {1},Pengguna {0} telah diberikan kepada Pengamal Penjagaan Kesihatan {1},
Users,Pengguna,
Utility Expenses,Perbelanjaan Utiliti,
Valid From Date must be lesser than Valid Upto Date.,Sah Dari Tarikh mestilah kurang daripada Tarikh Sehingga Valid.,
Valid Till,Sah sehingga,
Valid from and valid upto fields are mandatory for the cumulative,Sah dan sah sehingga bidang yang sah adalah mandatori untuk kumulatif,
Valid from date must be less than valid upto date,Sah dari tarikh mestilah kurang dari tarikh upto yang sah,
Valid till date cannot be before transaction date,Sah sehingga tarikh tidak boleh dibuat sebelum tarikh urus niaga,
Validity,Kesahan,
Validity period of this quotation has ended.,Tempoh sah tempoh sebut harga ini telah berakhir.,
Valuation Rate,Kadar Penilaian,
Valuation Rate is mandatory if Opening Stock entered,Kadar Penilaian adalah wajib jika Stok Awal memasuki,
Valuation type charges can not marked as Inclusive,Caj jenis penilaian tidak boleh ditandakan sebagai Inclusive,
Value Or Qty,Nilai atau qty,
Value Proposition,Tawaran nilai,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Nilai untuk Sifat {0} mesti berada dalam lingkungan {1} kepada {2} dalam kenaikan {3} untuk item {4},
Value missing,Nilai hilang,
Value must be between {0} and {1},Nilai mestilah antara {0} dan {1},
"Values of exempt, nil rated and non-GST inward supplies","Nilai-nilai yang dikecualikan, tidak diberi nilai dan bekalan masuk bukan CBP",
Variable,ubah,
Variance,Varian,
Variance ({}),Perbezaan ({}),
Variant,Varian,
Variant Attributes,Atribut varian,
Variant Based On cannot be changed,Berdasarkan Varian Tidak dapat diubah,
Variant Details Report,Laporan Butiran Variasi,
Variant creation has been queued.,Penciptaan variasi telah diberikan giliran.,
Vehicle Expenses,Perbelanjaan Kenderaan,
Vehicle No,Kenderaan Tiada,
Vehicle Type,jenis kenderaan,
Vehicle/Bus Number,Kenderaan / Nombor Bas,
Venture Capital,Modal teroka,
View Chart of Accounts,Lihat Carta Akaun,
View Fees Records,Lihat Rekod Bayaran,
View Form,Lihat Borang,
View Lab Tests,Lihat Ujian Makmal,
View Leads,Lihat Leads,
View Ledger,Lihat Lejar,
View Now,Lihat Sekarang,
View a list of all the help videos,Lihat senarai semua video bantuan,
View in Cart,Lihat dalam Troli,
Visit report for maintenance call.,Lawati laporan untuk panggilan penyelenggaraan.,
Visit the forums,Lawati forum,
Vital Signs,Tanda-tanda penting,
Volunteer,Sukarelawan,
Volunteer Type information.,Maklumat Taip Sukarelawan.,
Volunteer information.,Maklumat sukarela.,
Voucher #,Baucer #,
Voucher No,Baucer Tiada,
Voucher Type,Baucer Jenis,
WIP Warehouse,WIP Gudang,
Walk In,Berjalan Dalam,
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Gudang tidak boleh dihapuskan kerana penyertaan saham lejar wujud untuk gudang ini.,
Warehouse cannot be changed for Serial No.,Gudang tidak boleh diubah untuk No. Siri,
Warehouse is mandatory,Warehouse adalah wajib,
Warehouse is mandatory for stock Item {0} in row {1},Gudang adalah wajib bagi saham Perkara {0} berturut-turut {1},
Warehouse not found in the system,Gudang tidak dijumpai di dalam sistem,
"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Gudang diperlukan di Row No {0}, sila tetapkan gudang lalai untuk item {1} untuk syarikat {2}",
Warehouse required for stock Item {0},Gudang diperlukan untuk saham Perkara {0},
Warehouse {0} can not be deleted as quantity exists for Item {1},Gudang {0} tidak boleh dihapuskan sebagai kuantiti wujud untuk Perkara {1},
Warehouse {0} does not belong to company {1},Gudang {0} bukan milik syarikat {1},
Warehouse {0} does not exist,Gudang {0} tidak wujud,
"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Warehouse {0} tidak dikaitkan dengan mana-mana akaun, sila sebutkan akaun dalam rekod gudang atau menetapkan akaun inventori lalai dalam syarikat {1}.",
Warehouses with child nodes cannot be converted to ledger,Gudang dengan nod kanak-kanak tidak boleh ditukar ke dalam lejar,
Warehouses with existing transaction can not be converted to group.,Gudang dengan urus niaga yang sedia ada tidak boleh ditukar kepada kumpulan.,
Warehouses with existing transaction can not be converted to ledger.,Gudang dengan urus niaga yang sedia ada tidak boleh ditukar ke dalam lejar.,
Warning,Amaran,
Warning: Another {0} # {1} exists against stock entry {2},Amaran: Satu lagi {0} # {1} wujud terhadap kemasukan saham {2},
Warning: Invalid SSL certificate on attachment {0},Amaran: Sijil SSL tidak sah pada lampiran {0},
Warning: Invalid attachment {0},Amaran: Lampiran sah {0},
Warning: Leave application contains following block dates,Amaran: Tinggalkan permohonan mengandungi tarikh blok berikut,
Warning: Material Requested Qty is less than Minimum Order Qty,Amaran: Bahan Kuantiti yang diminta adalah kurang daripada Minimum Kuantiti Pesanan,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Amaran: Sales Order {0} telah wujud terhadap Perintah Pembelian Pelanggan {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Amaran: Sistem tidak akan semak overbilling sejak jumlah untuk Perkara {0} dalam {1} adalah sifar,
Warranty,jaminan,
Warranty Claim,Jaminan Tuntutan,
Warranty Claim against Serial No.,Jaminan Tuntutan terhadap No. Siri,
Website,Laman web,
Website Image should be a public file or website URL,Laman web Image perlu fail awam atau URL laman web,
Website Image {0} attached to Item {1} cannot be found,Laman web Image {0} melekat Perkara {1} tidak boleh didapati,
Website Listing,Penyenaraian Laman Web,
Website Manager,Laman Web Pengurus,
Website Settings,Tetapan laman web,
Wednesday,Rabu,
Week,minggu,
Weekdays,Harijadi,
Weekly,Mingguan,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Berat disebutkan, \ nSila menyebut &quot;Berat UOM&quot; terlalu",
Welcome email sent,Selamat datang menghantar e-mel,
Welcome to ERPNext,Selamat datang ke ERPNext,
What do you need help with?,Apa yang anda perlu membantu dengan?,
What does it do?,Apa yang ia buat?,
Where manufacturing operations are carried.,Tempat operasi pembuatan dijalankan.,
"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Semasa membuat akaun untuk Anak Syarikat {0}, akaun induk {1} tidak dijumpai. Sila buat akaun induk dalam COA yang bersesuaian",
White,White,
Wire Transfer,Wire Transfer,
WooCommerce Products,Produk WooCommerce,
Work In Progress,Kerja Dalam Kemajuan,
Work Order,Arahan kerja,
Work Order already created for all items with BOM,Perintah Kerja sudah dibuat untuk semua item dengan BOM,
Work Order cannot be raised against a Item Template,Perintah Kerja tidak boleh dibangkitkan terhadap Template Item,
Work Order has been {0},Perintah Kerja telah {0},
Work Order not created,Perintah Kerja tidak dibuat,
Work Order {0} must be cancelled before cancelling this Sales Order,Perintah Kerja {0} mesti dibatalkan sebelum membatalkan Perintah Jualan ini,
Work Order {0} must be submitted,Perintah Kerja {0} mesti dihantar,
Work Orders Created: {0},Perintah Kerja Dibuat: {0},
Work Summary for {0},Ringkasan Kerja untuk {0},
Work-in-Progress Warehouse is required before Submit,Kerja dalam Kemajuan Gudang diperlukan sebelum Hantar,
Workflow,Aliran kerja,
Working,Kerja,
Working Hours,Waktu Bekerja,
Workstation,Stesen kerja,
Workstation is closed on the following dates as per Holiday List: {0},Workstation ditutup pada tarikh-tarikh berikut seperti Senarai Holiday: {0},
Wrapping up,Mengakhiri,
Wrong Password,Salah kata laluan,
Year start date or end date is overlapping with {0}. To avoid please set company,Tahun tarikh mula atau tarikh akhir adalah bertindih dengan {0}. Untuk mengelakkan sila menetapkan syarikat,
You are not authorized to add or update entries before {0},Anda tidak dibenarkan untuk menambah atau update entri sebelum {0},
You are not authorized to approve leaves on Block Dates,Anda tiada kebenaran untuk meluluskan daun pada Tarikh Sekat,
You are not authorized to set Frozen value,Anda tiada kebenaran untuk menetapkan nilai Beku,
You are not present all day(s) between compensatory leave request days,Anda tidak hadir sepanjang hari antara hari permintaan cuti pampasan,
You can not change rate if BOM mentioned agianst any item,Anda tidak boleh mengubah kadar jika BOM disebut agianst sebarang perkara,
You can not enter current voucher in 'Against Journal Entry' column,Anda tidak boleh memasuki baucar semasa dalam &#39;Terhadap Journal Entry&#39; ruangan,
You can only have Plans with the same billing cycle in a Subscription,Anda hanya boleh mempunyai Pelan dengan kitaran pengebilan yang sama dalam Langganan,
You can only redeem max {0} points in this order.,Anda hanya boleh menebus maks {0} mata dalam urutan ini.,
You can only renew if your membership expires within 30 days,Anda hanya boleh memperbaharui sekiranya keahlian anda tamat tempoh dalam masa 30 hari,
You can only select a maximum of one option from the list of check boxes.,Anda hanya boleh memilih maksimum satu pilihan dari senarai kotak semak.,
You can only submit Leave Encashment for a valid encashment amount,Anda hanya boleh menyerahkan Tolak Encik untuk jumlah encashment yang sah,
You can't redeem Loyalty Points having more value than the Grand Total.,Anda tidak boleh menebus Mata Kesetiaan yang mempunyai nilai lebih daripada Grand Total.,
You cannot credit and debit same account at the same time,Anda tidak boleh kredit dan debit akaun sama pada masa yang sama,
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Anda tidak boleh memadam Tahun Anggaran {0}. Tahun Anggaran {0} ditetapkan sebagai piawai dalam Tetapan Global,
You cannot delete Project Type 'External',Anda tidak boleh memadam Jenis Projek &#39;Luar&#39;,
You cannot edit root node.,Anda tidak boleh mengedit nod akar.,
You cannot restart a Subscription that is not cancelled.,Anda tidak boleh memulakan semula Langganan yang tidak dibatalkan.,
You don't have enought Loyalty Points to redeem,Anda tidak mempunyai mata Kesetiaan yang cukup untuk menebusnya,
You have already assessed for the assessment criteria {}.,Anda telah pun dinilai untuk kriteria penilaian {}.,
You have already selected items from {0} {1},Anda telah memilih barangan dari {0} {1},
You have been invited to collaborate on the project: {0},Anda telah dijemput untuk bekerjasama dalam projek: {0},
You have entered duplicate items. Please rectify and try again.,Anda telah memasukkan perkara yang sama. Sila membetulkan dan cuba lagi.,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Anda perlu menjadi pengguna selain Pentadbir dengan Pengurus Sistem dan peranan Pengurus Item untuk mendaftar di Marketplace.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Anda perlu menjadi pengguna dengan Pengurus Sistem dan peranan Pengurus Item untuk menambah pengguna ke Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Anda perlu menjadi pengguna dengan Pengurus Sistem dan peranan Pengurus Item untuk mendaftar di Marketplace.,
You need to be logged in to access this page,Anda perlu log masuk untuk mengakses halaman ini,
You need to enable Shopping Cart,Anda perlu untuk membolehkan Troli,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Anda akan kehilangan rekod invois yang dijana sebelum ini. Adakah anda pasti mahu memulakan semula langganan ini?,
Your Organization,Organisasi anda,
Your cart is Empty,Troli anda kosong,
Your email address...,Alamat e-mel anda ...,
Your order is out for delivery!,Pesanan anda untuk penghantaran!,
Your tickets,Tiket anda,
ZIP Code,Poskod,
[Error],[Ralat],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Borang / Item / {0}) kehabisan stok,
`Freeze Stocks Older Than` should be smaller than %d days.,`Bekukan Stok Yang Lebih Lama Dari` hendaklah lebih kecil daripada %d hari.,
based_on,berdasarkan,
cannot be greater than 100,tidak boleh lebih besar daripada 100,
disabled user,pengguna orang kurang upaya,
"e.g. ""Build tools for builders""",contohnya &quot;Membina alat bagi pembina&quot;,
"e.g. ""Primary School"" or ""University""",contohnya &quot;Sekolah Rendah&quot; atau &quot;Universiti&quot;,
"e.g. Bank, Cash, Credit Card","contohnya Bank, Tunai, Kad Kredit",
hidden,tersembunyi,
modified,diubahsuai,
old_parent,old_parent,
on,pada,
{0} '{1}' is disabled,{0} '{1}' dinyahupayakan,
{0} '{1}' not in Fiscal Year {2},{0} '{1}' tidak dalam Tahun Kewangan {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) tidak boleh melebihi kuantiti terancang ({2}) dalam Perintah Kerja {3},
{0} - {1} is inactive student,{0} - {1} adalah pelajar aktif,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} tidak mendaftar dalam Batch {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} tidak mendaftar di Kursus {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Bajet akaun {1} daripada {2} {3} adalah {4}. Ia akan melebihi oleh {5},
{0} Digest,{0} Digest,
{0} Request for {1},{0} Permintaan untuk {1},
{0} Result submittted,Keputusan {0} diserahkan,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} nombor siri yang diperlukan untuk item {1}. Anda telah menyediakan {2}.,
{0} Student Groups created.,{0} Kumpulan Pelajar diwujudkan.,
{0} Students have been enrolled,{0} Pelajar telah didaftarkan,
{0} against Bill {1} dated {2},{0} terhadap Bil {1} bertarikh {2},
{0} against Purchase Order {1},{0} terhadap Permintaan Pembelian {1},
{0} against Sales Invoice {1},{0} terhadap Invois Jualan  {1},
{0} against Sales Order {1},{0} terhadap Permintaan Jualan {1},
{0} already allocated for Employee {1} for period {2} to {3},{0} telah diperuntukkan untuk pekerja {1} untuk tempoh {2} kepada {3},
{0} applicable after {1} working days,{0} terpakai selepas {1} hari bekerja,
{0} asset cannot be transferred,{0} aset tidak boleh dipindahkan,
{0} can not be negative,{0} tidak boleh negatif,
{0} created,{0} dihasilkan,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} pada masa ini mempunyai {1} Pembekal Kad Skor Pembekal, dan Pesanan Pembelian kepada pembekal ini perlu dikeluarkan dengan berhati-hati.",
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} pada masa ini mempunyai {1} Kedudukan Pembekal Kad Pengeluar, dan RFQ untuk pembekal ini perlu dikeluarkan dengan berhati-hati.",
{0} does not belong to Company {1},{0} bukan milik Syarikat {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} tidak mempunyai Jadual Pengamal Penjagaan Kesihatan. Tambahnya dalam tuan Pengamal Penjagaan Kesihatan,
{0} entered twice in Item Tax,{0} dimasukkan dua kali dalam Cukai Perkara,
{0} for {1},{0} untuk {1},
{0} has been submitted successfully,{0} telah berjaya diserahkan,
{0} has fee validity till {1},{0} mempunyai kesahan bayaran sehingga {1},
{0} hours,{0} jam,
{0} in row {1},{0} dalam baris {1},
{0} is blocked so this transaction cannot proceed,{0} disekat supaya transaksi ini tidak dapat diteruskan,
{0} is mandatory,{0} adalah wajib,
{0} is mandatory for Item {1},{0} adalah wajib bagi Perkara {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} adalah wajib. Mungkin rekod Pertukaran Matawang tidak dihasilkan untuk {1} hingga {2}.,
{0} is not a stock Item,{0} bukan perkara stok,
{0} is not a valid Batch Number for Item {1},{0} bukan Nombor Kumpulan sah untuk Perkara {1},
{0} is not added in the table,{0} tidak ditambah dalam jadual,
{0} is not in Optional Holiday List,{0} tidak termasuk dalam Senarai Percutian Pilihan,
{0} is not in a valid Payroll Period,{0} tidak dalam Tempoh Gaji yang sah,
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} kini Tahun Anggaran asalan. Sila muat semula browser anda untuk mengemaskini perubahan,
{0} is on hold till {1},{0} ditangguhkan sehingga {1},
{0} item found.,{0} item dijumpai.,
{0} items found.,{0} item dijumpai.,
{0} items in progress,{0} item dalam kemajuan,
{0} items produced,{0} barangan yang dihasilkan,
{0} must appear only once,{0} mesti muncul hanya sekali,
{0} must be negative in return document,{0} mesti negatif dalam dokumen pulangan,
{0} must be submitted,{0} mesti dikemukakan,
{0} not allowed to transact with {1}. Please change the Company.,{0} tidak dibenarkan berurusniaga dengan {1}. Sila tukar Syarikat.,
{0} not found for item {1},{0} tidak dijumpai untuk item {1},
{0} parameter is invalid,Parameter {0} tidak sah,
{0} payment entries can not be filtered by {1},{0} entri bayaran tidak boleh ditapis oleh {1},
{0} should be a value between 0 and 100,{0} harus bernilai antara 0 dan 100,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} unit [{1}] (# Borang / Item / {1}) yang terdapat di [{2}] (# Borang / Gudang / {2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} unit {1} diperlukan dalam {2} pada {3} {4} untuk {5} untuk melengkapkan urus niaga ini.,
{0} units of {1} needed in {2} to complete this transaction.,{0} unit {1} diperlukan dalam {2} untuk melengkapkan urus niaga ini.,
{0} valid serial nos for Item {1},{0} nombor siri sah untuk Perkara {1},
{0} variants created.,{0} varian dibuat.,
{0} {1} created,{0} {1} dicipta,
{0} {1} does not exist,{0} {1} tidak wujud,
{0} {1} does not exist.,{0} {1} tidak wujud.,
{0} {1} has been modified. Please refresh.,{0} {1} telah diubah suai. Sila muat semula.,
{0} {1} has not been submitted so the action cannot be completed,{0} {1} belum dikemukakan supaya tindakan itu tidak boleh diselesaikan,
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} dikaitkan dengan {2}, tetapi Akaun Parti adalah {3}",
{0} {1} is cancelled or closed,{0} {1} batal atau ditutup,
{0} {1} is cancelled or stopped,{0} {1} dibatalkan atau dihentikan,
{0} {1} is cancelled so the action cannot be completed,{0} {1} dibatalkan supaya tindakan itu tidak boleh diselesaikan,
{0} {1} is closed,{0} {1} adalah ditutup,
{0} {1} is disabled,{0} {1} dilumpuhkan,
{0} {1} is frozen,{0} {1} dibekukan,
{0} {1} is fully billed,{0} {1} telah dibil sepenuhnya,
{0} {1} is not active,{0} {1} tidak aktif,
{0} {1} is not associated with {2} {3},{0} {1} tidak dikaitkan dengan {2} {3},
{0} {1} is not present in the parent company,{0} {1} tidak terdapat di syarikat induk,
{0} {1} is not submitted,{0} {1} tidak diserahkan,
{0} {1} is {2},{0} {1} ialah {2},
{0} {1} must be submitted,{0} {1} mestilah diserahkan,
{0} {1} not in any active Fiscal Year.,{0} {1} tidak dalam apa-apa aktif Tahun Anggaran.,
{0} {1} status is {2},{0} {1} status adalah {2},
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &#39;Untung Rugi&#39; akaun jenis {2} tidak dibenarkan dalam Membuka Kemasukan,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Akaun {2} bukan milik Syarikat {3},
{0} {1}: Account {2} is inactive,{0} {1}: Akaun {2} tidak aktif,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Kemasukan Perakaunan untuk {2} hanya boleh dibuat dalam mata wang: {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Pusat Kos adalah wajib bagi Perkara {2},
{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: Pusat Kos yang diperlukan untuk akaun &#39;Untung Rugi&#39; {2}. Sila menubuhkan Pusat Kos lalai untuk Syarikat.,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: PTJ {2} bukan milik Syarikat {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}: Pelanggan dikehendaki terhadap akaun Belum Terima {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Sama ada debit atau jumlah kredit diperlukan untuk {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Pembekal diperlukan terhadap akaun Dibayar {2},
{0}% Billed,{0}% Dibilkan,
{0}% Delivered,{0}% Dihantar,
"{0}: Employee email not found, hence email not sent","{0}: E-mel pekerja tidak dijumpai, maka e-mel tidak dihantar",
{0}: From {0} of type {1},{0}: Dari {0} dari jenis {1},
{0}: From {1},{0}: Dari {1},
{0}: {1} does not exists,{0}: {1} tidak wujud,
{0}: {1} not found in Invoice Details table,{0}: {1} tidak terdapat dalam jadual Butiran Invois,
{} of {},{} of {},
Chat,Chat,
Completed By,Selesai oleh,
Conditions,Syarat-syarat,
County,Daerah,
Day of Week,Hari Minggu,
"Dear System Manager,","Pengurus Sistem yang dihormati,",
Default Value,Nilai lalai,
Email Group,e-mel Group,
Email Settings,Tetapan e-mel,
Email not sent to {0} (unsubscribed / disabled),E-mel tidak dihantar kepada {0} (berhenti melanggan / kurang upaya),
Error Message,Mesej Ralat,
Fieldtype,Fieldtype,
Help Articles,bantuan Artikel,
ID,ID,
Images,Images,
Import,Import,
Language,Bahasa,
Likes,Suka,
Merge with existing,Bergabung dengan yang sedia ada,
Office,Pejabat,
Orientation,orientasi,
Passive,Pasif,
Percent,Peratus,
Permanent,tetap,
Personal,Peribadi,
Plant,Loji,
Post,Post,
Postal,Pos,
Postal Code,Poskod,
Previous,Sebelumnya,
Provider,Pembekal,
Read Only,Baca Sahaja,
Recipient,Penerima,
Reviews,Ulasan,
Sender,Penghantar,
Shop,Kedai,
Sign Up,Daftar,
Subsidiary,Anak Syarikat,
There is some problem with the file url: {0},Terdapat beberapa masalah dengan url fail: {0},
There were errors while sending email. Please try again.,Terdapat ralat semasa menghantar e-mel. Sila cuba sekali lagi.,
Values Changed,nilai Berubah,
or,atau,
Ageing Range 4,Julat Penuaan 4,
Allocated amount cannot be greater than unadjusted amount,Jumlah yang diperuntukkan tidak boleh melebihi amaun tidak dilaraskan,
Allocated amount cannot be negative,Jumlah yang diperuntukkan tidak boleh menjadi negatif,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Akaun Perbezaan mesti menjadi akaun jenis Aset / Liabiliti, kerana Penyertaan Saham ini merupakan Kemasukan Pembukaan",
Error in some rows,Ralat dalam beberapa baris,
Import Successful,Import berjaya,
Please save first,Sila simpan dahulu,
Price not found for item {0} in price list {1},Harga tidak dijumpai untuk item {0} dalam senarai harga {1},
Warehouse Type,Jenis Gudang,
'Date' is required,&#39;Tarikh&#39; diperlukan,
Benefit,Manfaat,
Budgets,Belanjawan,
Bundle Qty,Bundle Qty,
Company GSTIN,Syarikat GSTIN,
Company field is required,Bidang syarikat diperlukan,
Creating Dimensions...,Membuat Dimensi ...,
Duplicate entry against the item code {0} and manufacturer {1},Kemasukan salinan terhadap kod item {0} dan pengilang {1},
Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,GSTIN tidak sah! Input yang anda masukkan tidak sepadan dengan format GSTIN untuk Penyedia Perkhidmatan OIDAR Pemegang UIN atau Bukan Pemastautin,
Invoice Grand Total,Jumlah Besar Invois,
Last carbon check date cannot be a future date,Tarikh pemeriksaan karbon terakhir tidak boleh menjadi tarikh yang akan datang,
Make Stock Entry,Buat Entri Saham,
Quality Feedback,Maklum balas Kualiti,
Quality Feedback Template,Template Maklum Balas Kualiti,
Rules for applying different promotional schemes.,Kaedah untuk memohon skim promosi yang berbeza.,
Shift,Shift,
Show {0},Tunjukkan {0},
"Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Watak Khas kecuali &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Dan &quot;}&quot; tidak dibenarkan dalam siri penamaan",
Target Details,Butiran Sasaran,
API,API,
Annual,Tahunan,
Approved,Diluluskan,
Change,Perubahan,
Contact Email,Hubungi E-mel,
Export Type,Jenis Eksport,
From Date,Dari Tarikh,
Group By,Kumpulan Oleh,
Importing {0} of {1},Mengimport {0} daripada {1},
Invalid URL,URL tidak sah,
Landscape,Landskap,
Last Sync On,Penyegerakan Terakhir,
Naming Series,Menamakan Siri,
No data to export,Tiada data untuk dieksport,
Portrait,Potret,
Print Heading,Cetak Kepala,
Show Document,Tunjukkan Dokumen,
Show Traceback,Tunjukkan Traceback,
Video,Video,
Webhook Secret,Webhook Secret,
% Of Grand Total,% Daripada jumlah keseluruhan,
'employee_field_value' and 'timestamp' are required.,&#39;employee_field_value&#39; dan &#39;cap waktu&#39; diperlukan.,
<b>Company</b> is a mandatory filter.,<b>Syarikat</b> adalah penapis mandatori.,
<b>From Date</b> is a mandatory filter.,<b>Dari Tarikh</b> adalah penapis mandatori.,
<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>Dari Masa</b> tidak boleh melebihi <b>Masa Untuk</b> {0},
<b>To Date</b> is a mandatory filter.,<b>Untuk Tarikh</b> adalah penapis mandatori.,
A new appointment has been created for you with {0},Pelantikan baru telah dibuat untuk anda dengan {0},
Account Value,Nilai Akaun,
Account is mandatory to get payment entries,Akaun adalah wajib untuk mendapatkan penyertaan pembayaran,
Account is not set for the dashboard chart {0},Akaun tidak ditetapkan untuk carta papan pemuka {0},
Account {0} does not belong to company {1},Akaun {0} bukan milik Syarikat {1},
Account {0} does not exists in the dashboard chart {1},Akaun {0} tidak wujud dalam carta papan pemuka {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Akaun: <b>{0}</b> adalah modal Kerja dalam proses dan tidak dapat dikemas kini oleh Kemasukan Jurnal,
Account: {0} is not permitted under Payment Entry,Akaun: {0} tidak dibenarkan di bawah Penyertaan Bayaran,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Dimensi Perakaunan <b>{0}</b> diperlukan untuk akaun &#39;Kunci Kira-kira&#39; {1}.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Dimensi Perakaunan <b>{0}</b> diperlukan untuk akaun &#39;Keuntungan dan Kerugian&#39; {1}.,
Accounting Masters,Perakaunan Master,
Accounting Period overlaps with {0},Tempoh Perakaunan bertindih dengan {0},
Activity,Aktiviti,
Add / Manage Email Accounts.,Tambah / Urus Akaun E-mel.,
Add Child,Tambah Anak,
Add Loan Security,Tambah Keselamatan Pinjaman,
Add Multiple,menambah Pelbagai,
Add Participants,Tambah Peserta,
Add to Featured Item,Tambah ke Item Pilihan,
Add your review,Tambah ulasan anda,
Add/Edit Coupon Conditions,Tambah / Edit Syarat Kupon,
Added to Featured Items,Ditambah pada Item Pilihan,
Added {0} ({1}),Ditambah {0} ({1}),
Address Line 1,Alamat Baris 1,
Addresses,Alamat,
Admission End Date should be greater than Admission Start Date.,Tarikh Akhir Kemasukan hendaklah lebih besar daripada Tarikh Permulaan Kemasukan.,
Against Loan,Terhadap Pinjaman,
Against Loan:,Terhadap Pinjaman:,
All,Semua,
All bank transactions have been created,Semua transaksi bank telah dibuat,
All the depreciations has been booked,Semua susut nilai telah ditempah,
Allocation Expired!,Peruntukan Tamat Tempoh!,
Allow Resetting Service Level Agreement from Support Settings.,Benarkan Perjanjian Tahap Perkhidmatan Reset dari Tetapan Sokongan.,
Amount of {0} is required for Loan closure,Jumlah {0} diperlukan untuk penutupan Pinjaman,
Amount paid cannot be zero,Jumlah yang dibayar tidak boleh menjadi sifar,
Applied Coupon Code,Kod Kupon Gunaan,
Apply Coupon Code,Guna Kod Kupon,
Appointment Booking,Tempahan Pelantikan,
"As there are existing transactions against item {0}, you can not change the value of {1}","Oleh kerana terdapat urus niaga yang sedia ada terhadap item {0}, anda tidak boleh menukar nilai {1}",
Asset Id,Id Asset,
Asset Value,Nilai Aset,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Pelarasan Nilai Aset tidak boleh diposkan sebelum tarikh pembelian Aset <b>{0}</b> .,
Asset {0} does not belongs to the custodian {1},Aset {0} tidak tergolong dalam kustodian {1},
Asset {0} does not belongs to the location {1},Aset {0} tidak tergolong dalam lokasi {1},
At least one of the Applicable Modules should be selected,Sekurang-kurangnya salah satu daripada Modul yang berkenaan harus dipilih,
Atleast one asset has to be selected.,Atleast satu aset perlu dipilih.,
Attendance Marked,Kehadiran ditandakan,
Attendance has been marked as per employee check-ins,Kehadiran telah ditandakan sebagai setiap daftar masuk pekerja,
Authentication Failed,Pengesahan gagal,
Automatic Reconciliation,Perdamaian automatik,
Available For Use Date,Tarikh Tersedia Untuk Penggunaan,
Available Stock,Stok Tersedia,
"Available quantity is {0}, you need {1}","Kuantiti yang ada ialah {0}, anda perlukan {1}",
BOM 1,BOM 1,
BOM 2,BOM 2,
BOM Comparison Tool,Alat Perbandingan BOM,
BOM recursion: {0} cannot be child of {1},Kaedah BOM: {0} tidak boleh menjadi kanak-kanak {1},
BOM recursion: {0} cannot be parent or child of {1},Kaedah BOM: {0} tidak boleh menjadi ibu bapa atau anak {1},
Back to Home,Kembali ke rumah,
Back to Messages,Kembali ke Mesej,
Bank Data mapper doesn't exist,Mapper Data Bank tidak wujud,
Bank Details,Butiran Bank,
Bank account '{0}' has been synchronized,Akaun bank &#39;{0}&#39; telah disegerakkan,
Bank account {0} already exists and could not be created again,Akaun bank {0} sudah wujud dan tidak boleh dibuat lagi,
Bank accounts added,Akaun bank ditambah,
Batch no is required for batched item {0},Batch tidak diperlukan untuk item yang dibatal {0},
Billing Date,Tarikh bil,
Billing Interval Count cannot be less than 1,Pengiraan Interval Pengebilan tidak boleh kurang daripada 1,
Blue,Blue,
Book,Buku,
Book Appointment,Pelantikan Buku,
Brand,Jenama,
Browse,Tinjau,
Call Connected,Panggilan Terhubung,
Call Disconnected,Panggilan Terputus,
Call Missed,Panggilan Terlepas,
Call Summary,Ringkasan panggilan,
Call Summary Saved,Ringkasan Panggilan Disimpan,
Cancelled,Dibatalkan,
Cannot Calculate Arrival Time as Driver Address is Missing.,Tidak Dapat Kira Masa Kedatangan Sebagai Alamat Pemandu Hilang.,
Cannot Optimize Route as Driver Address is Missing.,Tidak Dapat Mengoptimumkan Laluan sebagai Alamat Pemandu Hilang.,
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Tidak dapat menyelesaikan tugas {0} sebagai tugasnya bergantung {1} tidak selesai / dibatalkan.,
Cannot create loan until application is approved,Tidak boleh membuat pinjaman sehingga permohonan diluluskan,
Cannot find a matching Item. Please select some other value for {0}.,Tidak dapat mencari Item yang sepadan. Sila pilih beberapa nilai lain untuk {0}.,
"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Tidak boleh mengatasi Perkara {0} dalam baris {1} lebih daripada {2}. Untuk membenarkan lebihan pengebilan, sila tentukan peruntukan dalam Tetapan Akaun",
"Capacity Planning Error, planned start time can not be same as end time","Kesalahan Perancangan Kapasiti, masa permulaan yang dirancang tidak boleh sama dengan masa tamat",
Categories,Kategori,
Changes in {0},Perubahan dalam {0},
Chart,Carta,
Choose a corresponding payment,Pilih pembayaran yang sepadan,
Click on the link below to verify your email and confirm the appointment,Klik pada pautan di bawah untuk mengesahkan e-mel anda dan mengesahkan pelantikan,
Close,Tutup,
Communication,Komunikasi,
Compact Item Print,Compact Perkara Cetak,
Company,Syarikat,
Company of asset {0} and purchase document {1} doesn't matches.,Syarikat aset {0} dan dokumen pembelian {1} tidak sepadan.,
Compare BOMs for changes in Raw Materials and Operations,Bandingkan BOM untuk perubahan Bahan Baku dan Operasi,
Compare List function takes on list arguments,Bandingkan fungsi Senarai mengambil argumen senarai,
Complete,Lengkap,
Completed,Siap,
Completed Quantity,Kuantiti Siap,
Connect your Exotel Account to ERPNext and track call logs,Sambungkan Akaun Exotel anda ke ERPNext dan lacak log panggilan,
Connect your bank accounts to ERPNext,Sambungkan akaun bank anda ke ERPNext,
Contact Seller,Hubungi Penjual,
Continue,Teruskan,
Cost Center: {0} does not exist,Pusat Kos: {0} tidak wujud,
Couldn't Set Service Level Agreement {0}.,Tidak dapat Tetapkan Perjanjian Tahap Perkhidmatan {0}.,
Country,Negara,
Country Code in File does not match with country code set up in the system,Kod Negara dalam Fail tidak sepadan dengan kod negara yang ditetapkan dalam sistem,
Create New Contact,Buat Kenalan Baru,
Create New Lead,Buat Pemimpin Baru,
Create Pick List,Buat Senarai Pilih,
Create Quality Inspection for Item {0},Buat Pemeriksaan Kualiti untuk Item {0},
Creating Accounts...,Membuat Akaun ...,
Creating bank entries...,Mewujudkan penyertaan bank ...,
Creating {0},Mewujudkan {0},
Credit limit is already defined for the Company {0},Had kredit telah ditakrifkan untuk Syarikat {0},
Ctrl + Enter to submit,Ctrl + Enter untuk dihantar,
Ctrl+Enter to submit,Ctrl + Enter untuk dihantar,
Currency,Mata Wang,
Current Status,Status semasa,
Customer PO,Pelanggan PO,
Customize,Menyesuaikan,
Daily,Daily,
Date,Tarikh,
Date Range,Julat tarikh,
Date of Birth cannot be greater than Joining Date.,Tarikh Lahir tidak boleh melebihi Tarikh Bergabung.,
Dear,Dear,
Default,Default,
Define coupon codes.,Tentukan kod kupon.,
Delayed Days,Hari Kelewatan,
Delete,Padam,
Delivered Quantity,Kuantiti yang Dihantar,
Delivery Notes,Nota penghantaran,
Depreciated Amount,Jumlah Susut Nilai,
Description,Penerangan,
Designation,Jawatan,
Difference Value,Nilai Perbezaan,
Dimension Filter,Penapis Dimensi,
Disabled,Orang kurang upaya,
Disbursement and Repayment,Pengeluaran dan Pembayaran Balik,
Distance cannot be greater than 4000 kms,Jarak tidak boleh melebihi 4000 km,
Do you want to submit the material request,Adakah anda ingin mengemukakan permintaan bahan,
Doctype,DocType,
Document {0} successfully uncleared,Dokumen {0} berjaya dibersihkan,
Download Template,Muat turun Template,
Dr,Dr,
Due Date,Tarikh Akhir,
Duplicate,Salinan,
Duplicate Project with Tasks,Projek Pendua dengan Tugas,
Duplicate project has been created,Projek duplikat telah dibuat,
E-Way Bill JSON can only be generated from a submitted document,Rang Undang-undang JSON e-Way hanya boleh dihasilkan daripada dokumen yang dikemukakan,
E-Way Bill JSON can only be generated from submitted document,Bil JSON e-Way hanya boleh dihasilkan daripada dokumen yang dikemukakan,
E-Way Bill JSON cannot be generated for Sales Return as of now,Bil JSON e-Way tidak dapat dijana untuk Pulangan Jualan sehingga sekarang,
ERPNext could not find any matching payment entry,ERPNext tidak dapat mencari sebarang entri pembayaran yang sepadan,
Earliest Age,Umur terawal,
Edit Details,Edit Butiran,
Edit Profile,Sunting profil,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,Sama ada ID Transporter GST atau No Kenderaan diperlukan jika Mod Pengangkutan adalah Jalan,
Email,E-mel,
Email Campaigns,Kempen E-mel,
Employee ID is linked with another instructor,ID pekerja dikaitkan dengan instruktur lain,
Employee Tax and Benefits,Cukai dan Faedah Pekerja,
Employee is required while issuing Asset {0},Pekerja diperlukan semasa mengeluarkan Asset {0},
Employee {0} does not belongs to the company {1},Pekerja {0} tidak tergolong dalam syarikat {1},
Enable Auto Re-Order,Dayakan Perintah Semula Automatik,
End Date of Agreement can't be less than today.,Tarikh Akhir Perjanjian tidak boleh kurang dari hari ini.,
End Time,Akhir Masa,
Energy Point Leaderboard,Leaderboard Tenaga Tenaga,
Enter API key in Google Settings.,Masukkan kunci API dalam Tetapan Google.,
Enter Supplier,Masukkan Pembekal,
Enter Value,Masukkan Nilai,
Entity Type,Jenis Entiti,
Error,Ralat,
Error in Exotel incoming call,Ralat dalam panggilan masuk Exotel,
Error: {0} is mandatory field,Ralat: {0} adalah medan wajib,
Event Link,Pautan Acara,
Exception occurred while reconciling {0},Pengecualian berlaku semasa mendamaikan {0},
Expected and Discharge dates cannot be less than Admission Schedule date,Tarikh yang dijangkakan dan Discharge tidak boleh kurang daripada tarikh Jadual Kemasukan,
Expire Allocation,Tamat Tempoh Alokasi,
Expired,Tamat,
Export,Eksport,
Export not allowed. You need {0} role to export.,Eksport tidak dibenarkan. Anda perlu {0} peranan untuk eksport.,
Failed to add Domain,Gagal menambah Domain,
Fetch Items from Warehouse,Ambil Item dari Gudang,
Fetching...,Mengambil ...,
Field,Field,
File Manager,File Manager,
Filters,Penapis,
Finding linked payments,Mencari bayaran berkaitan,
Fleet Management,Pengurusan Fleet,
Following fields are mandatory to create address:,Bidang berikut adalah wajib untuk membuat alamat:,
For Month,Untuk Bulan,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Untuk item {0} pada baris {1}, kiraan nombor bersiri tidak sepadan dengan kuantiti yang dipilih",
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Untuk operasi {0}: Kuantiti ({1}) tidak boleh greter daripada kuantiti tertunda ({2}),
For quantity {0} should not be greater than work order quantity {1},Untuk kuantiti {0} tidak boleh melebihi kuantiti pesanan kerja {1},
Free item not set in the pricing rule {0},Item percuma tidak ditetapkan dalam peraturan harga {0},
From Date and To Date are Mandatory,Dari Tarikh dan Tarikh adalah Mandatori,
From employee is required while receiving Asset {0} to a target location,Daripada pekerja diperlukan semasa menerima Asset {0} ke lokasi sasaran,
Fuel Expense,Perbelanjaan Bahan Api,
Future Payment Amount,Jumlah Pembayaran Masa Depan,
Future Payment Ref,Rujukan Bayaran Masa Depan,
Future Payments,Pembayaran Masa Depan,
GST HSN Code does not exist for one or more items,Kod HSN GST tidak wujud untuk satu atau lebih item,
Generate E-Way Bill JSON,Menjana JSON E-Way JSON,
Get Items,Dapatkan Item,
Get Outstanding Documents,Dapatkan Dokumen Cemerlang,
Goal,Matlamat,
Greater Than Amount,Lebih daripada Jumlah,
Green,Green,
Group,Kumpulan,
Group By Customer,Kumpulan Oleh Pelanggan,
Group By Supplier,Kumpulan Oleh Pembekal,
Group Node,Node kumpulan,
Group Warehouses cannot be used in transactions. Please change the value of {0},Gudang Kumpulan tidak boleh digunakan dalam urus niaga. Sila tukar nilai {0},
Help,Bantuan,
Help Article,bantuan Perkara,
"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Membantu anda menyimpan jejak Kontrak berdasarkan Pembekal, Pelanggan dan Pekerja",
Helps you manage appointments with your leads,Membantu anda menguruskan pelantikan dengan petunjuk anda,
Home,Laman Utama,
IBAN is not valid,IBAN tidak sah,
Import Data from CSV / Excel files.,Import Data dari fail CSV / Excel.,
In Progress,Dalam Kemajuan,
Incoming call from {0},Panggilan masuk dari {0},
Incorrect Warehouse,Gudang yang tidak betul,
Intermediate,Intermediate,
Invalid Barcode. There is no Item attached to this barcode.,Barcode tidak sah. Tiada Item yang dilampirkan pada kod bar ini.,
Invalid credentials,Kelayakan tidak sah,
Invite as User,Jemput sebagai pengguna,
Issue Priority.,Keutamaan Terbitan.,
Issue Type.,Jenis Terbitan.,
"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Nampaknya terdapat masalah dengan tatarajah jalur pelayan. Sekiranya gagal, amaun akan dikembalikan ke akaun anda.",
Item Reported,Item Dilaporkan,
Item listing removed,Penyenaraian item dibuang,
Item quantity can not be zero,Kuantiti item tidak boleh menjadi sifar,
Item taxes updated,Cukai item dikemas kini,
Item {0}: {1} qty produced. ,Perkara {0}: {1} qty dihasilkan.,
Joining Date can not be greater than Leaving Date,Tarikh Bergabung tidak boleh lebih besar daripada Tarikh Meninggalkan,
Lab Test Item {0} already exist,Item Ujian Makmal {0} sudah wujud,
Last Issue,Isu terakhir,
Latest Age,Umur terkini,
Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Tinggalkan aplikasi dikaitkan dengan peruntukan cuti {0}. Cuti permohonan tidak boleh ditetapkan sebagai cuti tanpa gaji,
Leaves Taken,Daun Diambil,
Less Than Amount,Kurang Daripada Jumlah,
Liabilities,Liabiliti,
Loading...,Loading ...,
Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Jumlah Pinjaman melebihi jumlah maksimum pinjaman {0} seperti yang dicadangkan sekuriti,
Loan Applications from customers and employees.,Permohonan Pinjaman dari pelanggan dan pekerja.,
Loan Disbursement,Pengeluaran Pinjaman,
Loan Processes,Proses Pinjaman,
Loan Security,Keselamatan Pinjaman,
Loan Security Pledge,Ikrar Jaminan Pinjaman,
Loan Security Pledge Created : {0},Ikrar Jaminan Pinjaman Dibuat: {0},
Loan Security Price,Harga Sekuriti Pinjaman,
Loan Security Price overlapping with {0},Harga Sekuriti Pinjaman bertindih dengan {0},
Loan Security Unpledge,Keselamatan Pinjaman Tidak Menutup,
Loan Security Value,Nilai Jaminan Pinjaman,
Loan Type for interest and penalty rates,Jenis Pinjaman untuk kadar faedah dan penalti,
Loan amount cannot be greater than {0},Jumlah pinjaman tidak boleh melebihi {0},
Loan is mandatory,Pinjaman wajib,
Loans,Pinjaman,
Loans provided to customers and employees.,Pinjaman yang diberikan kepada pelanggan dan pekerja.,
Location,Lokasi,
Log Type is required for check-ins falling in the shift: {0}.,Jenis Log diperlukan untuk daftar masuk dalam peralihan: {0}.,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Nampaknya seseorang menghantar anda ke URL yang tidak lengkap. Sila meminta mereka untuk melihat ke dalamnya.,
Make Journal Entry,Buat Journal Entry,
Make Purchase Invoice,Buat Invois Belian,
Manufactured,Dikeluarkan,
Mark Work From Home,Tandakan Kerja Dari Rumah,
Master,Master,
Max strength cannot be less than zero.,Kekuatan maksima tidak boleh kurang daripada sifar.,
Maximum attempts for this quiz reached!,Percubaan maksimum untuk kuiz ini telah dicapai!,
Message,Mesej,
Missing Values Required,Nilai-nilai yang hilang yang diperlukan,
Mobile No,Tidak Bergerak,
Mobile Number,Nombor telefon,
Month,Bulan,
Name,Nama,
Near you,Berhampiran anda,
Net Profit/Loss,Keuntungan / Kerugian Bersih,
New Expense,Perbelanjaan Baru,
New Invoice,Invois Baru,
New Payment,Pembayaran baru,
New release date should be in the future,Tarikh pelepasan baru sepatutnya pada masa hadapan,
Newsletter,Surat berita,
No Account matched these filters: {},Tiada Akaun yang dipadankan dengan penapis ini: {},
No Employee found for the given employee field value. '{}': {},Tiada Pekerja yang didapati untuk nilai medan pekerja yang diberi. &#39;{}&#39;: {},
No Leaves Allocated to Employee: {0} for Leave Type: {1},Tiada Daun yang Dikeluarkan kepada Pekerja: {0} untuk Meninggalkan Jenis: {1},
No communication found.,Tiada komunikasi dijumpai.,
No correct answer is set for {0},Tiada jawapan yang betul ditetapkan untuk {0},
No description,Tiada deskripsi,
No issue has been raised by the caller.,Tiada masalah telah dibangkitkan oleh pemanggil.,
No items to publish,Tiada item untuk diterbitkan,
No outstanding invoices found,Tiada invois yang belum dijumpai,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Tiada invois tertunggak yang dijumpai untuk {0} {1} yang memenuhi syarat penapis yang telah anda tetapkan.,
No outstanding invoices require exchange rate revaluation,Tiada invois tertunggak yang memerlukan penilaian semula kadar pertukaran,
No reviews yet,Tiada ulasan,
No views yet,Tiada pandangan lagi,
Non stock items,Barang bukan stok,
Not Allowed,Tidak dibenarkan,
Not allowed to create accounting dimension for {0},Tidak dibenarkan membuat dimensi perakaunan untuk {0},
Not permitted. Please disable the Lab Test Template,Tidak diizinkan. Sila nyahdayakan Template Test Lab,
Note,Nota,
Notes: ,Nota:,
On Converting Opportunity,On Converting Opportunity,
On Purchase Order Submission,Pada Pesanan Pesanan Pembelian,
On Sales Order Submission,Mengenai Penghantaran Pesanan Jualan,
On Task Completion,Pada Tugasan Tugas,
On {0} Creation,Pada {0} Penciptaan,
Only .csv and .xlsx files are supported currently,Hanya fail csv dan .xlsx yang disokong pada masa ini,
Only expired allocation can be cancelled,Peruntukan yang luput sahaja boleh dibatalkan,
Only users with the {0} role can create backdated leave applications,Hanya pengguna dengan {0} peranan yang boleh membuat aplikasi cuti yang sudah dibina semula,
Open,Terbuka,
Open Contact,Buka Kenalan,
Open Lead,Buka Lead,
Opening and Closing,Pembukaan dan Penutup,
Operating Cost as per Work Order / BOM,Kos Operasi seperti Perintah Kerja / BOM,
Order Amount,Jumlah Pesanan,
Page {0} of {1},Page {0} daripada {1},
Paid amount cannot be less than {0},Jumlah yang dibayar tidak boleh kurang daripada {0},
Parent Company must be a group company,Syarikat induk mestilah syarikat kumpulan,
Passing Score value should be between 0 and 100,Melewati Nilai Markah mestilah antara 0 dan 100,
Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Dasar kata laluan tidak boleh mengandungi ruang atau tanda hubung serentak. Format akan disusun semula secara automatik,
Patient History,Sejarah Pesakit,
Pause,Jeda,
Pay,Bayar,
Payment Document Type,Jenis Dokumen Pembayaran,
Payment Name,Nama Pembayaran,
Penalty Amount,Jumlah Penalti,
Pending,Sementara menunggu,
Performance,Prestasi,
Period based On,Tempoh berasaskan,
Perpetual inventory required for the company {0} to view this report.,Persediaan kekal diperlukan untuk syarikat {0} untuk melihat laporan ini.,
Phone,Telefon,
Pick List,Pilih Senarai,
Plaid authentication error,Ralat pengesahan kotak-kotak,
Plaid public token error,Ralat token umum awam,
Plaid transactions sync error,Kesilapan transaksi sync kotak-kotak,
Please check the error log for details about the import errors,Sila periksa log ralat untuk butiran tentang ralat import,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Sila buat <b>Pengaturan DATEV</b> untuk Syarikat <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Sila buat penyesuaian Kemasukan Jurnal untuk jumlah {0},
Please do not create more than 500 items at a time,Tolong jangan buat lebih daripada 500 item pada satu masa,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Sila masukkan <b>Akaun Perbezaan</b> atau tetapkan <b>Akaun Pelarasan Saham</b> lalai untuk syarikat {0},
Please enter GSTIN and state for the Company Address {0},Sila masukkan GSTIN dan nyatakan alamat Syarikat {0},
Please enter Item Code to get item taxes,Sila masukkan Kod Item untuk mendapatkan cukai barang,
Please enter Warehouse and Date,Sila masukkan Gudang dan Tarikh,
Please enter the designation,Sila masukkan jawatan itu,
Please login as a Marketplace User to edit this item.,Sila log masuk sebagai Pengguna Marketplace untuk mengedit item ini.,
Please login as a Marketplace User to report this item.,Sila log masuk sebagai Pengguna Pasaran untuk melaporkan perkara ini.,
Please select <b>Template Type</b> to download template,Sila pilih <b>Templat Jenis</b> untuk memuat turun templat,
Please select Applicant Type first,Sila pilih Jenis Pemohon terlebih dahulu,
Please select Customer first,Sila pilih Pelanggan terlebih dahulu,
Please select Item Code first,Sila pilih Kod Item terlebih dahulu,
Please select Loan Type for company {0},Sila pilih Jenis Pinjaman untuk syarikat {0},
Please select a Delivery Note,Sila pilih Nota Penghantaran,
Please select a Sales Person for item: {0},Sila pilih Orang Jualan untuk item: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Sila pilih kaedah pembayaran yang lain. Jalur tidak menyokong urus niaga dalam mata wang &#39;{0}&#39;,
Please select the customer.,Sila pilih pelanggan.,
Please set a Supplier against the Items to be considered in the Purchase Order.,Sila tetapkan Pembekal terhadap Item yang akan dipertimbangkan dalam Perintah Pembelian.,
Please set account heads in GST Settings for Compnay {0},Sila tetapkan kepala akaun dalam Tetapan GST untuk Compnay {0},
Please set an email id for the Lead {0},Sila tetapkan id e-mel untuk Lead {0},
Please set default UOM in Stock Settings,Sila tetapkan UOM lalai dalam Tetapan Stok,
Please set filter based on Item or Warehouse due to a large amount of entries.,Sila tetapkan penapis berdasarkan Item atau Gudang kerana sejumlah besar penyertaan.,
Please set up the Campaign Schedule in the Campaign {0},Sila sediakan Jadual Kempen dalam Kempen {0},
Please set valid GSTIN No. in Company Address for company {0},Sila nyatakan GSTIN tidak sah dalam Alamat Syarikat untuk syarikat {0},
Please set {0},Sila tetapkan {0},customer
Please setup a default bank account for company {0},Sila tetapkan akaun bank lalai untuk syarikat {0},
Please specify,Sila nyatakan,
Please specify a {0},Sila nyatakan {0},lead
Pledge Status,Status Ikrar,
Pledge Time,Masa Ikrar,
Printing,Percetakan,
Priority,Keutamaan,
Priority has been changed to {0}.,Keutamaan telah diubah menjadi {0}.,
Priority {0} has been repeated.,Keutamaan {0} telah diulang.,
Processing XML Files,Memproses Fail XML,
Profitability,Keuntungan,
Project,Projek,
Proposed Pledges are mandatory for secured Loans,Cadangan Ikrar adalah wajib bagi Pinjaman bercagar,
Provide the academic year and set the starting and ending date.,Menyediakan tahun akademik dan menetapkan tarikh permulaan dan akhir.,
Public token is missing for this bank,Token umum hilang untuk bank ini,
Publish,Menerbitkan,
Publish 1 Item,Terbitkan 1 Perkara,
Publish Items,Terbitkan Item,
Publish More Items,Terbitkan Lebih Banyak Item,
Publish Your First Items,Terbitkan Item Pertama Anda,
Publish {0} Items,Terbitkan {0} Item,
Published Items,Item yang diterbitkan,
Purchase Invoice cannot be made against an existing asset {0},Invois Pembelian tidak boleh dibuat terhadap aset sedia ada {0},
Purchase Invoices,Pembelian Invois,
Purchase Orders,Pesanan Pembelian,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Resit Pembelian tidak mempunyai sebarang item yang mengekalkan sampel adalah didayakan.,
Purchase Return,Pembelian Pulangan,
Qty of Finished Goods Item,Qty Item Barang yang Selesai,
Qty or Amount is mandatroy for loan security,Qty atau Jumlah adalah mandatroy untuk keselamatan pinjaman,
Quality Inspection required for Item {0} to submit,Pemeriksaan Kualiti diperlukan untuk Item {0} untuk dihantar,
Quantity to Manufacture,Kuantiti Pengilangan,
Quantity to Manufacture can not be zero for the operation {0},Kuantiti Pengilangan tidak boleh menjadi sifar untuk operasi {0},
Quarterly,Suku Tahunan,
Queued,Beratur,
Quick Entry,Kemasukan Pantas,
Quiz {0} does not exist,Kuiz {0} tidak wujud,
Quotation Amount,Jumlah Sebut Harga,
Rate or Discount is required for the price discount.,Kadar atau Diskaun diperlukan untuk diskaun harga.,
Reason,Sebab,
Reconcile Entries,Menyelaraskan Penyertaan,
Reconcile this account,Menyelaraskan akaun ini,
Reconciled,Berdamai,
Recruitment,Recruitment,
Red,Merah,
Refreshing,Menyegarkan,
Release date must be in the future,Tarikh pelepasan mestilah pada masa akan datang,
Relieving Date must be greater than or equal to Date of Joining,Tarikh Pelunasan mestilah lebih besar daripada atau sama dengan Tarikh Bergabung,
Rename,Nama semula,
Rename Not Allowed,Namakan semula Tidak Dibenarkan,
Repayment Method is mandatory for term loans,Kaedah pembayaran balik adalah wajib untuk pinjaman berjangka,
Repayment Start Date is mandatory for term loans,Tarikh Mula Bayaran Balik adalah wajib untuk pinjaman berjangka,
Report Item,Laporkan Perkara,
Report this Item,Laporkan item ini,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Dicadangkan Qty untuk Subkontrak: Kuantiti bahan mentah untuk membuat item subkontrak.,
Reset,Reset,
Reset Service Level Agreement,Tetapkan semula Perjanjian Tahap Perkhidmatan,
Resetting Service Level Agreement.,Menetapkan Perkhidmatan Tahap Perkhidmatan.,
Return amount cannot be greater unclaimed amount,Jumlah pulangan tidak boleh melebihi jumlah yang tidak dituntut,
Review,Tinjauan,
Room,bilik,
Room Type,Jenis bilik,
Row # ,Row #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Baris # {0}: Gudang Diterima dan Gudang Pembekal tidak boleh sama,
Row #{0}: Cannot delete item {1} which has already been billed.,Baris # {0}: Tidak dapat memadamkan item {1} yang telah dibilkan.,
Row #{0}: Cannot delete item {1} which has already been delivered,Baris # {0}: Tidak dapat memadamkan item {1} yang telah dihantar,
Row #{0}: Cannot delete item {1} which has already been received,Baris # {0}: Tidak dapat memadamkan item {1} yang telah diterima,
Row #{0}: Cannot delete item {1} which has work order assigned to it.,Baris # {0}: Tidak dapat memadamkan item {1} yang mempunyai perintah kerja yang diberikan kepadanya.,
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Baris # {0}: Tidak dapat memadamkan item {1} yang diberikan kepada pesanan pembelian pelanggan.,
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Baris # {0}: Tidak boleh memilih Gudang Pembekal sementara membekalkan bahan mentah kepada subkontraktor,
Row #{0}: Cost Center {1} does not belong to company {2},Baris # {0}: Pusat Kos {1} tidak tergolong dalam syarikat {2},
Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Baris # {0}: Operasi {1} tidak siap untuk {2} qty barangan siap dalam Perintah Kerja {3}. Sila kemas kini status operasi melalui Job Job {4}.,
Row #{0}: Payment document is required to complete the transaction,Baris # {0}: Dokumen pembayaran diperlukan untuk menyelesaikan transaksi,
Row #{0}: Serial No {1} does not belong to Batch {2},Baris # {0}: Siri Tidak {1} tidak tergolong dalam Batch {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Baris # {0}: Tarikh Akhir Perkhidmatan tidak boleh sebelum Tarikh Penyerahan Invois,
Row #{0}: Service Start Date cannot be greater than Service End Date,Baris # {0}: Tarikh Mula Perkhidmatan tidak boleh melebihi Tarikh Akhir Perkhidmatan,
Row #{0}: Service Start and End Date is required for deferred accounting,Baris # {0}: Tarikh Permulaan dan Tarikh Akhir diperlukan untuk perakaunan tertunda,
Row {0}: Invalid Item Tax Template for item {1},Baris {0}: Templat Cukai Perkara Tidak Sah untuk item {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Baris {0}: Kuantiti tidak tersedia untuk {4} dalam gudang {1} pada masa penyertaan entri ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Baris {0}: pengguna tidak menggunakan peraturan {1} pada item {2},
Row {0}:Sibling Date of Birth cannot be greater than today.,Baris {0}: Tarikh Tarikh Kelahiran tidak boleh lebih besar daripada hari ini.,
Row({0}): {1} is already discounted in {2},Baris ({0}): {1} telah didiskaunkan dalam {2},
Rows Added in {0},Baris Ditambah dalam {0},
Rows Removed in {0},Baris Dihapuskan dalam {0},
Sanctioned Amount limit crossed for {0} {1},Had Jumlah Sanctioned diseberang untuk {0} {1},
Sanctioned Loan Amount already exists for {0} against company {1},Amaun Pinjaman yang Dimansuhkan telah wujud untuk {0} terhadap syarikat {1},
Save,Simpan,
Save Item,Simpan Item,
Saved Items,Item yang disimpan,
Search Items ...,Item Carian ...,
Search for a payment,Cari bayaran,
Search for anything ...,Cari apa ...,
Search results for,Hasil carian untuk,
Select All,Pilih Semua,
Select Difference Account,Pilih Akaun Perbezaan,
Select a Default Priority.,Pilih Keutamaan Lalai.,
Select a company,Pilih sebuah syarikat,
Select finance book for the item {0} at row {1},Pilih buku pembiayaan untuk item {0} di baris {1},
Select only one Priority as Default.,Pilih Hanya satu Keutamaan sebagai Lalai.,
Seller Information,Maklumat Penjual,
Send,Hantar,
Send a message,Hantar satu mesej,
Sending,Menghantar,
Sends Mails to lead or contact based on a Campaign schedule,Menghantar Surat untuk memimpin atau menghubungi berdasarkan jadual Kempen,
Serial Number Created,Nombor Serial Dicipta,
Serial Numbers Created,Nombor Siri Dibuat,
Serial no(s) required for serialized item {0},No siri diperlukan untuk item bersiri {0},
Series,Siri,
Server Error,Ralat pelayan,
Service Level Agreement has been changed to {0}.,Perjanjian Tahap Perkhidmatan telah ditukar kepada {0}.,
Service Level Agreement was reset.,Perjanjian Tahap Perkhidmatan telah ditetapkan semula.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Perjanjian Tahap Perkhidmatan dengan Entiti Jenis {0} dan Entiti {1} sudah wujud.,
Set,Tetapkan,
Set Meta Tags,Tetapkan Tag Meta,
Set {0} in company {1},Tetapkan {0} dalam syarikat {1},
Setup,Persediaan,
Setup Wizard,Setup Wizard,
Shift Management,Pengurusan Shift,
Show Future Payments,Tunjukkan Pembayaran Masa Depan,
Show Linked Delivery Notes,Tunjukkan Nota Penghantaran yang Dihubungkan,
Show Sales Person,Tunjukkan Orang Jualan,
Show Stock Ageing Data,Tunjukkan Data Penuaan Saham,
Show Warehouse-wise Stock,Tunjukkan Saham yang bijak gudang,
Size,Saiz,
Something went wrong while evaluating the quiz.,Ada yang salah ketika menilai kuiz.,
Sr,Sr,
Start,Mula,
Start Date cannot be before the current date,Tarikh Mula tidak boleh sebelum tarikh semasa,
Start Time,Waktu Mula,
Status,Status,
Status must be Cancelled or Completed,Status mesti Dibatalkan atau Selesai,
Stock Balance Report,Laporan Imbangan Stok,
Stock Entry has been already created against this Pick List,Penyertaan Saham telah dibuat terhadap Senarai Pilih ini,
Stock Ledger ID,ID Pendaftaran Saham,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Nilai Saham ({0}) dan Baki Akaun ({1}) tidak diselaraskan untuk akaun {2} dan ia dipaut gudang.,
Stores - {0},Kedai - {0},
Student with email {0} does not exist,Pelajar dengan e-mel {0} tidak wujud,
Submit Review,Hantar Kajian,
Submitted,Dihantar,
Supplier Addresses And Contacts,Alamat Pembekal Dan Kenalan,
Synchronize this account,Segerakkan akaun ini,
Tag,Tag,
Target Location is required while receiving Asset {0} from an employee,Lokasi Sasaran diperlukan semasa menerima Asset {0} daripada pekerja,
Target Location is required while transferring Asset {0},Lokasi Sasaran diperlukan semasa memindahkan Asset {0},
Target Location or To Employee is required while receiving Asset {0},Lokasi Sasaran atau Kepada Pekerja diperlukan semasa menerima Asset {0},
Task's {0} End Date cannot be after Project's End Date.,Tarikh Tamat {0} Tugas tidak boleh selepas Tarikh Tamat Projek.,
Task's {0} Start Date cannot be after Project's End Date.,Tarikh Mula {0} Tugas tidak boleh dilakukan selepas Tarikh Akhir Projek.,
Tax Account not specified for Shopify Tax {0},Akaun Cukai tidak ditentukan untuk Shopify Tax {0},
Tax Total,Jumlah Cukai,
Template,Template,
The Campaign '{0}' already exists for the {1} '{2}',Kempen &#39;{0}&#39; sudah wujud untuk {1} &#39;{2}&#39;,
The difference between from time and To Time must be a multiple of Appointment,Perbezaan antara masa dan To Time mestilah berganda Pelantikan,
The field Asset Account cannot be blank,Akaun Aset medan tidak boleh kosong,
The field Equity/Liability Account cannot be blank,Akaun Ekuiti / Liabiliti lapangan tidak boleh kosong,
The following serial numbers were created: <br><br> {0},Nombor bersiri berikut telah dibuat: <br><br> {0},
The parent account {0} does not exists in the uploaded template,Akaun induk {0} tidak wujud dalam templat yang dimuat naik,
The question cannot be duplicate,Persoalannya tidak boleh diduplikasi,
The selected payment entry should be linked with a creditor bank transaction,Kemasukan pembayaran terpilih hendaklah dikaitkan dengan transaksi bank pemiutang,
The selected payment entry should be linked with a debtor bank transaction,Kemasukan pembayaran yang dipilih harus dikaitkan dengan transaksi bank penghutang,
The total allocated amount ({0}) is greated than the paid amount ({1}).,Amaun yang diperuntukkan ({0}) adalah greget daripada amaun yang dibayar ({1}).,
There are no vacancies under staffing plan {0},Tiada kekosongan di bawah pelan kakitangan {0},
This Service Level Agreement is specific to Customer {0},Perjanjian Tahap Perkhidmatan ini khusus kepada Pelanggan {0},
This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Tindakan ini akan menyahpautkan akaun ini dari sebarang perkhidmatan luaran yang mengintegrasikan ERPNext dengan akaun bank anda. Ia tidak dapat dibatalkan. Adakah awak pasti ?,
This bank account is already synchronized,Akaun bank ini telah disegerakkan,
This bank transaction is already fully reconciled,Urus niaga bank ini telah diselaraskan sepenuhnya,
This employee already has a log with the same timestamp.{0},Pekerja ini sudah mempunyai log dengan timestamp yang sama. {0},
This page keeps track of items you want to buy from sellers.,Halaman ini menjejaki item yang anda ingin beli daripada penjual.,
This page keeps track of your items in which buyers have showed some interest.,Halaman ini menjejaki item anda di mana pembeli menunjukkan minat.,
Thursday,Khamis,
Timing,Masa,
Title,Tajuk,
"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Untuk membenarkan pengebilan, kemas kini &quot;Lebihan Elaun Penagihan&quot; dalam Tetapan Akaun atau Item.",
"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Untuk membenarkan penerimaan / penghantaran, kemas kini &quot;Lebih Elaun Resit / Penghantaran&quot; dalam Tetapan Stok atau Item.",
To date needs to be before from date,Setakat ini perlu sebelum dari tarikh,
Total,Jumlah,
Total Early Exits,Jumlah Keluar Awal,
Total Late Entries,Jumlah Penyertaan Lewat,
Total Payment Request amount cannot be greater than {0} amount,Jumlah Permintaan Bayaran keseluruhan tidak boleh melebihi jumlah {0},
Total payments amount can't be greater than {},Jumlah bayaran total tidak boleh melebihi {},
Totals,Jumlah,
Training Event:,Acara Latihan:,
Transactions already retreived from the statement,Urus niaga telah diambil dari kenyataan itu,
Transfer Material to Supplier,Pemindahan Bahan kepada Pembekal,
Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Nombor dan Tarikh Resit Pengangkutan adalah wajib bagi Mod Pengangkutan yang anda pilih,
Tuesday,Selasa,
Type,Jenis,
Unable to find Salary Component {0},Tidak dapat mencari Komponen Gaji {0},
Unable to find the time slot in the next {0} days for the operation {1}.,Tidak dapat mencari slot masa dalam {0} hari berikutnya untuk operasi {1}.,
Unable to update remote activity,Tidak dapat mengemas kini aktiviti terpencil,
Unknown Caller,Pemanggil tidak diketahui,
Unlink external integrations,Nyahpautkan integrasi luaran,
Unmarked Attendance for days,Kehadiran yang tidak ditanda selama beberapa hari,
Unpublish Item,Tidak mengeluarkan item,
Unreconciled,Tidak dirahsiakan,
Unsupported GST Category for E-Way Bill JSON generation,Kategori GST tidak disokong untuk generasi e-Way Bill JSON,
Update,Update,
Update Details,Butiran Kemas kini,
Update Taxes for Items,Kemas kini Cukai untuk Item,
"Upload a bank statement, link or reconcile a bank account","Muat naik penyata bank, pautan atau mendamaikan akaun bank",
Upload a statement,Muat naik kenyataan,
Use a name that is different from previous project name,Gunakan nama yang berbeza dari nama projek sebelumnya,
User {0} is disabled,Pengguna {0} adalah orang kurang upaya,
Users and Permissions,Pengguna dan Kebenaran,
Vacancies cannot be lower than the current openings,Kekosongan tidak boleh lebih rendah daripada bukaan semasa,
Valid From Time must be lesser than Valid Upto Time.,Sah dari Masa mesti kurang daripada Sah Sehingga Masa.,
Valuation Rate required for Item {0} at row {1},Kadar Penilaian diperlukan untuk Item {0} pada baris {1},
Values Out Of Sync,Nilai Out Of Sync,
Vehicle Type is required if Mode of Transport is Road,Jenis Kenderaan diperlukan jika Mod Pengangkutan adalah Jalan,
Vendor Name,Nama Penjual,
Verify Email,Mengesahkan E-mel,
View,Lihat,
View all issues from {0},Lihat semua isu dari {0},
View call log,Lihat log panggilan,
Warehouse,Gudang,
Warehouse not found against the account {0},Gudang tidak ditemui terhadap akaun {0},
Welcome to {0},Selamat datang ke {0},
Why do think this Item should be removed?,Mengapa berfikir Perkara ini harus dialih keluar?,
Work Order {0}: Job Card not found for the operation {1},Perintah Kerja {0}: Kad Kerja tidak dijumpai untuk operasi {1},
Workday {0} has been repeated.,Hari kerja {0} telah diulang.,
XML Files Processed,Fail XML Diproses,
Year,Tahun,
Yearly,Setiap tahun,
You,Anda,
You are not allowed to enroll for this course,Anda tidak dibenarkan mendaftar untuk kursus ini,
You are not enrolled in program {0},Anda tidak mendaftar dalam program {0},
You can Feature upto 8 items.,Anda boleh menampilkan sehingga 8 item.,
You can also copy-paste this link in your browser,Anda juga boleh copy-paste pautan ini dalam pelayar anda,
You can publish upto 200 items.,Anda boleh menyiarkan sehingga 200 item.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,Anda perlu mendayakan semula semula secara automatik dalam Tetapan Stok untuk mengekalkan tahap pesanan semula.,
You must be a registered supplier to generate e-Way Bill,Anda mesti menjadi pembekal berdaftar untuk menjana e-Way Bill,
You need to login as a Marketplace User before you can add any reviews.,Anda perlu log masuk sebagai Pengguna Pasaran sebelum anda boleh menambah sebarang ulasan.,
Your Featured Items,Item Pilihan Anda,
Your Items,Item Anda,
Your Profile,Profil anda,
Your rating:,Pendapat anda:,
and,dan,
e-Way Bill already exists for this document,Bil e-Way sudah wujud untuk dokumen ini,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Kupon yang digunakan adalah {1}. Kuantiti dibiarkan habis,
{0} Name,{0} Nama,
{0} Operations: {1},{0} Operasi: {1},
{0} bank transaction(s) created,{0} transaksi bank dibuat,
{0} bank transaction(s) created and {1} errors,{0} transaksi bank dibuat dan {1} kesilapan,
{0} can not be greater than {1},{0} tidak boleh melebihi {1},
{0} conversations,Perbualan {0},
{0} is not a company bank account,{0} bukan akaun bank syarikat,
{0} is not a group node. Please select a group node as parent cost center,{0} bukan nod kumpulan. Sila pilih kumpulan kumpulan sebagai pusat kos ibu bapa,
{0} is not the default supplier for any items.,{0} bukan pembekal lalai untuk sebarang item.,
{0} is required,{0} diperlukan,
{0}: {1} must be less than {2},{0}: {1} mesti kurang daripada {2},
{} is an invalid Attendance Status.,{} adalah Status Kehadiran yang tidak sah.,
{} is required to generate E-Way Bill JSON,{} diperlukan untuk menjana E-Way Bill JSON,
"Invalid lost reason {0}, please create a new lost reason","Sebab yang tidak sah {0}, sila buat sebab yang baru hilang",
Profit This Year,Keuntungan Tahun Ini,
Total Expense,Perbelanjaan Jumlah,
Total Expense This Year,Jumlah Perbelanjaan Tahun Ini,
Total Income,Jumlah pendapatan,
Total Income This Year,Jumlah Pendapatan Tahun Ini,
Barcode,Barcode,
Bold,Bold,
Center,Pusat,
Clear,Jelas,
Comment,Komen,
Comments,Comments,
DocType,DocType,
Download,Muat turun,
Left,Kiri,
Link,Pautan,
New,Baru,
Not Found,Not Found,
Print,Cetak,
Reference Name,Nama Rujukan,
Refresh,Muat semula,
Success,Kejayaan,
Time,Masa,
Value,Nilai,
Actual,Sebenarnya,
Add to Cart,Dalam Troli,
Days Since Last Order,Hari Sejak Perintah Terakhir,
In Stock,In Stock,
Loan Amount is mandatory,Amaun Pinjaman adalah wajib,
Mode Of Payment,Cara Pembayaran,
No students Found,Tiada pelajar yang dijumpai,
Not in Stock,Tidak dalam Saham,
Please select a Customer,Sila pilih Pelanggan,
Printed On,Printed On,
Received From,Pemberian,
Sales Person,Orang Jualan,
To date cannot be before From date,Setakat ini tidak boleh sebelum dari tarikh,
Write Off,Tulis Off,
{0} Created,{0} dihasilkan,
Email Id,ID e-mel,
No,Tiada,
Reference Doctype,Rujukan DOCTYPE,
User Id,ID Pengguna,
Yes,Ya,
Actual ,Sebenar,
Add to cart,Dalam Troli,
Budget,Bajet,
Chart of Accounts,Carta Akaun,
Customer database.,Pangkalan data pelanggan.,
Days Since Last order,Sejak hari Perintah lepas,
Download as JSON,Muat turun sebagai JSON,
End date can not be less than start date,Tarikh akhir tidak boleh kurang daripada tarikh mula,
For Default Supplier (Optional),Untuk pembekal lalai (pilihan),
From date cannot be greater than To date,Dari Tarikh tidak boleh lebih besar daripada Dating,
Get items from,Mendapatkan barangan dari,
Group by,Group By,
In stock,Dalam stok,
Item name,Nama Item,
Loan amount is mandatory,Amaun Pinjaman adalah wajib,
Minimum Qty,Qty Minimum,
More details,Maklumat lanjut,
Nature of Supplies,Alam Bekalan,
No Items found.,Tiada item dijumpai.,
No employee found,Tiada pekerja didapati,
No students found,Tiada pelajar Terdapat,
Not in stock,Tidak dalam Stok,
Not permitted,Tidak diizinkan,
Open Issues ,Isu terbuka,
Open Projects ,Projek Terbuka,
Open To Do ,Terbuka To Do,
Operation Id,Id Operasi,
Partially ordered,sebahagiannya Tertib,
Please select company first,Sila pilih Syarikat terlebih dahulu,
Please select patient,Sila pilih pesakit,
Printed On ,Dicetak pada,
Projected qty,Dijangka Qty,
Sales person,Orang jualan,
Serial No {0} Created,No siri {0} dicipta,
Source Location is required for the Asset {0},Lokasi Sumber diperlukan untuk aset {0},
Tax Id,ID cukai,
To Time,Untuk Masa,
To date cannot be before from date,Untuk Tarikh tidak boleh sebelum Dari Tarikh,
Total Taxable value,Jumlah Nilai Kenaikan,
Upcoming Calendar Events ,Akan Datang Kalendar Acara,
Value or Qty,Nilai atau Qty,
Variance ,Perbezaan,
Variant of,Varian Daripada,
Write off,Tulis off,
hours,Jam,
received from,Pemberian,
to,Untuk,
Cards,Kad,
Percentage,peratus,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Gagal menetapkan lalai untuk negara {0}. Sila hubungi support@erpnext.com,
Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Baris # {0}: Item {1} bukan Item Serialized / Batched. Ia tidak boleh mempunyai No / No Serial Tidak terhadapnya.,
Please set {0},Sila set {0},
Please set {0},Sila tetapkan {0},supplier
Draft,Draf,"docstatus,=,0"
Cancelled,Dibatalkan,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Sila persediaan Sistem Penamaan Pengajar dalam Pendidikan&gt; Tetapan Pendidikan,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Sila tetapkan Siri Penamaan untuk {0} melalui Persediaan&gt; Tetapan&gt; Penamaan Siri,
UOM Conversion factor ({0} -> {1}) not found for item: {2},Faktor penukaran UOM ({0} -&gt; {1}) tidak ditemui untuk item: {2},
Item Code > Item Group > Brand,Kod Item&gt; Kumpulan Item&gt; Jenama,
Customer > Customer Group > Territory,Pelanggan&gt; Kumpulan Pelanggan&gt; Wilayah,
Supplier > Supplier Type,Pembekal&gt; Jenis Pembekal,
Please setup Employee Naming System in Human Resource > HR Settings,Sila persediaan Sistem Penamaan Pekerja dalam Sumber Manusia&gt; Tetapan HR,
Please setup numbering series for Attendance via Setup > Numbering Series,Sila persediaan siri penomboran untuk Kehadiran melalui Persediaan&gt; Penomboran Siri,
The value of {0} differs between Items {1} and {2},Nilai {0} berbeza antara Item {1} dan {2},
Auto Fetch,Pengambilan Auto,
Fetch Serial Numbers based on FIFO,Ambil Nombor Siri berdasarkan FIFO,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Perbekalan bercukai luar (selain dari nilai sifar, tidak dinilai dan dikecualikan)",
"To allow different rates, disable the {0} checkbox in {1}.","Untuk membenarkan kadar yang berbeza, nonaktifkan {0} kotak centang di {1}.",
Current Odometer Value should be greater than Last Odometer Value {0},Nilai Odometer Semasa harus lebih besar daripada Nilai Odometer Terakhir {0},
No additional expenses has been added,Tidak ada perbelanjaan tambahan yang ditambahkan,
Asset{} {assets_link} created for {},Aset {} {aset_link} dibuat untuk {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Baris {}: Siri Penamaan Aset adalah wajib untuk pembuatan automatik untuk item {},
Assets not created for {0}. You will have to create asset manually.,Aset tidak dibuat untuk {0}. Anda perlu membuat aset secara manual.,
{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} mempunyai catatan perakaunan dalam mata wang {2} untuk syarikat {3}. Sila pilih akaun belum terima atau hutang dengan mata wang {2}.,
Invalid Account,Akaun tidak sah,
Purchase Order Required,Pesanan Pembelian Diperlukan,
Purchase Receipt Required,Resit pembelian Diperlukan,
Account Missing,Akaun Tiada,
Requested,Diminta,
Partially Paid,Dibayar Sebahagian,
Invalid Account Currency,Mata Wang Akaun Tidak Sah,
"Row {0}: The item {1}, quantity must be positive number","Baris {0}: Item {1}, kuantiti mestilah nombor positif",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Sila tetapkan {0} untuk Item Batch {1}, yang digunakan untuk menetapkan {2} pada Kirim.",
Expiry Date Mandatory,Tarikh Luput Wajib,
Variant Item,Item Varian,
BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} dan BOM 2 {1} tidak boleh sama,
Note: Item {0} added multiple times,Catatan: Item {0} ditambahkan berkali-kali,
YouTube,Youtube,
Vimeo,Vimeo,
Publish Date,Tarikh Terbitkan,
Duration,Tempoh,
Advanced Settings,Tetapan lanjutan,
Path,Jalan,
Components,komponen,
Verified By,Disahkan oleh,
Invalid naming series (. missing) for {0},Siri penamaan tidak sah (. Hilang) untuk {0},
Filter Based On,Tapisan Berdasarkan,
Reqd by date,Perlu tarikh,
Manufacturer Part Number <b>{0}</b> is invalid,Nombor Bahagian Pengilang <b>{0}</b> tidak sah,
Invalid Part Number,Nombor Bahagian Tidak Sah,
Select atleast one Social Media from Share on.,Pilih sekurang-kurangnya satu Media Sosial dari Share on.,
Invalid Scheduled Time,Masa Berjadual Tidak Sah,
Length Must be less than 280.,Panjang mestilah kurang daripada 280.,
Error while POSTING {0},Ralat semasa MENGHANTAR {0},
"Session not valid, Do you want to login?","Sesi tidak sah, Adakah anda mahu log masuk?",
Session Active,Sesi Aktif,
Session Not Active. Save doc to login.,Sesi Tidak Aktif. Simpan dokumen untuk log masuk.,
Error! Failed to get request token.,Ralat! Gagal mendapatkan token permintaan.,
Invalid {0} or {1},Tidak sah {0} atau {1},
Error! Failed to get access token.,Ralat! Gagal mendapatkan token akses.,
Invalid Consumer Key or Consumer Secret Key,Kunci Pengguna atau Kunci Rahsia Pengguna Tidak Sah,
Your Session will be expire in ,Sesi anda akan tamat pada,
 days.,hari-hari.,
Session is expired. Save doc to login.,Sesi tamat. Simpan dokumen untuk log masuk.,
Error While Uploading Image,Ralat Semasa Memuat Naik Gambar,
You Didn't have permission to access this API,Anda Tidak mempunyai kebenaran untuk mengakses API ini,
Valid Upto date cannot be before Valid From date,Tarikh Upto Sah tidak boleh sebelum tarikh Sah Daripada,
Valid From date not in Fiscal Year {0},Tarikh sah dari tarikh bukan tahun fiskal {0},
Valid Upto date not in Fiscal Year {0},Tarikh Upto yang sah tidak pada Tahun Fiskal {0},
Group Roll No,Roll Kumpulan No,
Maintain Same Rate Throughout Sales Cycle,Mengekalkan Kadar Sama Sepanjang Kitaran Jualan,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Baris {1}: Kuantiti ({0}) tidak boleh menjadi pecahan. Untuk membenarkan ini, lumpuhkan &#39;{2}&#39; di UOM {3}.",
Must be Whole Number,Mesti Nombor Seluruh,
Please setup Razorpay Plan ID,Sila siapkan ID Pelan Razorpay,
Contact Creation Failed,Penciptaan Kenalan Gagal,
{0} already exists for employee {1} and period {2},{0} sudah ada untuk pekerja {1} dan tempoh {2},
Leaves Allocated,Daun diperuntukkan,
Leaves Expired,Daun Tamat Tempoh,
Leave Without Pay does not match with approved {} records,Cuti Tanpa Bayar tidak sepadan dengan rekod {} yang diluluskan,
Income Tax Slab not set in Salary Structure Assignment: {0},Slab Cukai Pendapatan tidak ditetapkan dalam Tugasan Struktur Gaji: {0},
Income Tax Slab: {0} is disabled,Slab Cukai Pendapatan: {0} dilumpuhkan,
Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Slab Cukai Pendapatan mesti berkuatkuasa pada atau sebelum Tarikh Mula Tempoh Penggajian: {0},
No leave record found for employee {0} on {1},Tiada catatan cuti dijumpai untuk pekerja {0} pada {1},
Row {0}: {1} is required in the expenses table to book an expense claim.,Baris {0}: {1} diperlukan dalam jadual perbelanjaan untuk menempah tuntutan perbelanjaan.,
Set the default account for the {0} {1},Tetapkan akaun lalai untuk {0} {1},
(Half Day),(Setengah hari),
Income Tax Slab,Slab Cukai Pendapatan,
Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Baris # {0}: Tidak dapat menetapkan jumlah atau formula untuk Gaji Komponen {1} dengan Pembolehubah Berdasarkan Gaji Cukai,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Baris # {}: {} dari {} mestilah {}. Sila ubah akaun atau pilih akaun lain.,
Row #{}: Please asign task to a member.,Baris # {}: Tugaskan tugas kepada ahli.,
Process Failed,Proses Gagal,
Tally Migration Error,Kesalahan Penghijrahan Tally,
Please set Warehouse in Woocommerce Settings,Sila tetapkan Gudang dalam Tetapan Woocommerce,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Baris {0}: Gudang Pengiriman ({1}) dan Gudang Pelanggan ({2}) tidak boleh sama,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Baris {0}: Tarikh Akhir pada jadual Syarat Pembayaran tidak boleh sebelum Tarikh Pengeposan,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Tidak dapat mencari {} untuk item {}. Sila tetapkan yang sama di Item Master atau Tetapan Stok.,
Row #{0}: The batch {1} has already expired.,Baris # {0}: Kumpulan {1} telah pun tamat.,
Start Year and End Year are mandatory,Tahun Awal dan Tahun Akhir adalah wajib,
GL Entry,GL Entry,
Cannot allocate more than {0} against payment term {1},Tidak dapat memperuntukkan lebih daripada {0} untuk jangka masa pembayaran {1},
The root account {0} must be a group,Akaun root {0} mestilah kumpulan,
Shipping rule not applicable for country {0} in Shipping Address,Peraturan penghantaran tidak berlaku untuk negara {0} di Alamat Pengiriman,
Get Payments from,Dapatkan Pembayaran dari,
Set Shipping Address or Billing Address,Tetapkan Alamat Penghantaran atau Alamat Pengebilan,
Consultation Setup,Persediaan Perundingan,
Fee Validity,Kesahan Fee,
Laboratory Setup,Persediaan Makmal,
Dosage Form,Borang Dos,
Records and History,Rekod dan Sejarah,
Patient Medical Record,Rekod Perubatan Pesakit,
Rehabilitation,Pemulihan,
Exercise Type,Jenis Latihan,
Exercise Difficulty Level,Tahap Kesukaran Latihan,
Therapy Type,Jenis Terapi,
Therapy Plan,Pelan Terapi,
Therapy Session,Sesi Terapi,
Motor Assessment Scale,Skala Penilaian Motor,
[Important] [ERPNext] Auto Reorder Errors,[Penting] [ERPNTeks] Ralat Penyusunan Semula Auto,
"Regards,","Salam,",
The following {0} were created: {1},Berikut ini {0} dibuat: {1},
Work Orders,Pesanan Kerja,
The {0} {1} created sucessfully,{0} {1} berjaya dibuat,
Work Order cannot be created for following reason: <br> {0},Perintah Kerja tidak dapat dibuat kerana alasan berikut:<br> {0},
Add items in the Item Locations table,Tambahkan item dalam jadual Lokasi Item,
Update Current Stock,Kemas kini Stok Semasa,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Retain Sample berdasarkan kumpulan, sila periksa Has Batch No untuk mengekalkan sampel item",
Empty,Kosong,
Currently no stock available in any warehouse,Buat masa ini stok tidak ada di gudang mana pun,
BOM Qty,BOM Kuantiti,
Time logs are required for {0} {1},Log masa diperlukan untuk {0} {1},
Total Completed Qty,Jumlah Selesai Qty,
Qty to Manufacture,Qty Untuk Pembuatan,
Repay From Salary can be selected only for term loans,Bayaran Balik Dari Gaji boleh dipilih hanya untuk pinjaman berjangka,
No valid Loan Security Price found for {0},Tidak dijumpai Harga Keselamatan Pinjaman yang sah untuk {0},
Loan Account and Payment Account cannot be same,Akaun Pinjaman dan Akaun Pembayaran tidak boleh sama,
Loan Security Pledge can only be created for secured loans,Pinjaman Keselamatan Pinjaman hanya boleh dibuat untuk pinjaman bercagar,
Social Media Campaigns,Kempen Media Sosial,
From Date can not be greater than To Date,Dari Tarikh tidak boleh lebih besar daripada Tarikh,
Please set a Customer linked to the Patient,Sila tetapkan Pelanggan yang dihubungkan dengan Pesakit,
Customer Not Found,Pelanggan Tidak Dijumpai,
Please Configure Clinical Procedure Consumable Item in ,Sila Konfigurasikan Prosedur Klinikal Item Boleh Digunakan di,
Missing Configuration,Tiada Konfigurasi,
Out Patient Consulting Charge Item,Perkara Caj Konsultasi Pesakit,
Inpatient Visit Charge Item,Item Cuti Lawatan Pesakit Dalam,
OP Consulting Charge,Caj Perundingan OP,
Inpatient Visit Charge,Cuti Lawatan Pesakit Dalam,
Appointment Status,Status Temujanji,
Test: ,Ujian:,
Collection Details: ,Butiran Koleksi:,
{0} out of {1},{0} daripada {1},
Select Therapy Type,Pilih Jenis Terapi,
{0} sessions completed,{0} sesi selesai,
{0} session completed,{0} sesi selesai,
 out of {0},daripada {0},
Therapy Sessions,Sesi Terapi,
Add Exercise Step,Tambah Langkah Latihan,
Edit Exercise Step,Edit Langkah Latihan,
Patient Appointments,Temujanji Pesakit,
Item with Item Code {0} already exists,Item dengan Kod Item {0} sudah ada,
Registration Fee cannot be negative or zero,Bayaran Pendaftaran tidak boleh negatif atau sifar,
Configure a service Item for {0},Konfigurasikan Item perkhidmatan untuk {0},
Temperature: ,Suhu:,
Pulse: ,Nadi:,
Respiratory Rate: ,Kadar respirasi:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,Nota:,
Check Availability,Semak ketersediaan,
Please select Patient first,Sila pilih Pesakit terlebih dahulu,
Please select a Mode of Payment first,Sila pilih Kaedah Pembayaran terlebih dahulu,
Please set the Paid Amount first,Sila tetapkan Jumlah Dibayar terlebih dahulu,
Not Therapies Prescribed,Tidak Terapi yang Ditetapkan,
There are no Therapies prescribed for Patient {0},Tidak ada Terapi yang ditetapkan untuk Pesakit {0},
Appointment date and Healthcare Practitioner are Mandatory,Tarikh janji temu dan Pengamal Kesihatan adalah Wajib,
No Prescribed Procedures found for the selected Patient,Tidak dijumpai Prosedur yang Ditetapkan untuk Pesakit terpilih,
Please select a Patient first,Sila pilih Pesakit terlebih dahulu,
There are no procedure prescribed for ,Tidak ada prosedur yang ditetapkan untuk,
Prescribed Therapies,Terapi yang ditetapkan,
Appointment overlaps with ,Temujanji bertindih dengan,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} mempunyai janji temu yang dijadualkan dengan {1} pada {2} mempunyai {3} minit.,
Appointments Overlapping,Temujanji Bertindih,
Consulting Charges: {0},Caj Perundingan: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Temujanji Dibatalkan. Sila semak dan batalkan invois {0},
Appointment Cancelled.,Temujanji Dibatalkan.,
Fee Validity {0} updated.,Kesahan Yuran {0} dikemas kini.,
Practitioner Schedule Not Found,Jadual Pengamal Tidak Dijumpai,
{0} is on a Half day Leave on {1},{0} Cuti Separuh hari pada {1},
{0} is on Leave on {1},{0} cuti pada {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} tidak mempunyai Jadual Pengamal Kesihatan. Tambahkannya dalam Pengamal Kesihatan,
Healthcare Service Units,Unit Perkhidmatan Penjagaan Kesihatan,
Complete and Consume,Lengkap dan Makan,
Complete {0} and Consume Stock?,Lengkapkan {0} dan Gunakan Stok?,
Complete {0}?,Selesaikan {0}?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Kuantiti stok untuk memulakan Prosedur tidak tersedia di Gudang {0}. Adakah anda ingin merakam Entri Saham?,
{0} as on {1},{0} seperti pada {1},
Clinical Procedure ({0}):,Prosedur Klinikal ({0}):,
Please set Customer in Patient {0},Sila tetapkan Pelanggan dalam Pesakit {0},
Item {0} is not active,Item {0} tidak aktif,
Therapy Plan {0} created successfully.,Pelan Terapi {0} berjaya dibuat.,
Symptoms: ,Gejala:,
No Symptoms,Tanpa Gejala,
Diagnosis: ,Diagnosis:,
No Diagnosis,Tiada Diagnosis,
Drug(s) Prescribed.,Dadah yang diresepkan.,
Test(s) Prescribed.,Ujian yang ditetapkan.,
Procedure(s) Prescribed.,Prosedur yang ditetapkan.,
Counts Completed: {0},Kiraan Selesai: {0},
Patient Assessment,Penilaian Pesakit,
Assessments,Penilaian,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Kepala (atau kumpulan) terhadap yang Penyertaan Perakaunan dibuat dan baki dikekalkan.,
Account Name,Nama Akaun,
Inter Company Account,Akaun Syarikat Antara,
Parent Account,Akaun Ibu Bapa,
Setting Account Type helps in selecting this Account in transactions.,Menetapkan Jenis Akaun membantu dalam memilih Akaun ini dalam urus niaga.,
Chargeable,Boleh dikenakan cukai,
Rate at which this tax is applied,Kadar yang cukai ini dikenakan,
Frozen,Beku,
"If the account is frozen, entries are allowed to restricted users.","Jika akaun dibekukan, entri dibenarkan pengguna terhad.",
Balance must be,Baki mestilah,
Lft,Lft,
Rgt,Rgt,
Old Parent,Old Ibu Bapa,
Include in gross,Termasuk dalam kasar,
Auditor,Audit,
Accounting Dimension,Dimensi Perakaunan,
Dimension Name,Nama Dimensi,
Dimension Defaults,Lalai Dimensi,
Accounting Dimension Detail,Perincian Dimensi Perakaunan,
Default Dimension,Dimensi lalai,
Mandatory For Balance Sheet,Lembaran Imbangan Mandatori,
Mandatory For Profit and Loss Account,Mandatori Untuk Akaun Untung dan Rugi,
Accounting Period,Tempoh Perakaunan,
Period Name,Nama Tempoh,
Closed Documents,Dokumen Tertutup,
Accounts Settings,Tetapan Akaun-akaun,
Settings for Accounts,Tetapan untuk Akaun,
Make Accounting Entry For Every Stock Movement,Buat Perakaunan Entry Untuk Setiap Pergerakan Saham,
"If enabled, the system will post accounting entries for inventory automatically.","Jika diaktifkan, sistem akan menghantar entri perakaunan untuk inventori secara automatik.",
Accounts Frozen Upto,Akaun-akaun Dibekukan Sehingga,
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Catatan Perakaunan dibekukan sehingga tarikh ini, tiada siapa boleh melakukan / mengubah suai kemasukan kecuali yang berperanan seperti di bawah.",
Role Allowed to Set Frozen Accounts & Edit Frozen Entries,Peranan Dibenarkan untuk Set Akaun Frozen &amp; Frozen Edit Entri,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Pengguna dengan peranan ini dibenarkan untuk menetapkan akaun beku dan mencipta / mengubahsuai entri perakaunan terhadap akaun beku,
Determine Address Tax Category From,Tentukan Kategori Cukai Alamat Dari,
Address used to determine Tax Category in transactions.,Alamat yang digunakan untuk menentukan Kategori Cukai dalam transaksi.,
Over Billing Allowance (%),Lebih Elaun Penagihan (%),
Percentage you are allowed to bill more against the amount ordered. For example: If the order value is $100 for an item and tolerance is set as 10% then you are allowed to bill for $110.,Peratusan anda dibenarkan untuk membilkan lebih banyak daripada jumlah yang diperintahkan. Sebagai contoh: Jika nilai pesanan adalah $ 100 untuk item dan toleransi ditetapkan sebanyak 10% maka anda dibenarkan untuk membiayai $ 110.,
Credit Controller,Pengawal Kredit,
Role that is allowed to submit transactions that exceed credit limits set.,Peranan yang dibenarkan menghantar transaksi yang melebihi had kredit ditetapkan.,
Check Supplier Invoice Number Uniqueness,Semak Pembekal Invois Nombor Keunikan,
Make Payment via Journal Entry,Buat Pembayaran melalui Journal Kemasukan,
Unlink Payment on Cancellation of Invoice,Nyahpaut Pembayaran Pembatalan Invois,
Book Asset Depreciation Entry Automatically,Buku Asset Kemasukan Susutnilai secara automatik,
Automatically Add Taxes and Charges from Item Tax Template,Secara automatik menambah Cukai dan Caj dari Templat Cukai Item,
Automatically Fetch Payment Terms,Termakan Pembayaran Secara Secara Automatik,
Show Inclusive Tax In Print,Tunjukkan Cukai Dalam Cetakan Termasuk,
Show Payment Schedule in Print,Tunjukkan Jadual Pembayaran dalam Cetak,
Currency Exchange Settings,Tetapan Pertukaran Mata Wang,
Allow Stale Exchange Rates,Benarkan Kadar Pertukaran Stale,
Stale Days,Hari Stale,
Report Settings,Laporkan Tetapan,
Use Custom Cash Flow Format,Gunakan Format Aliran Tunai Kastam,
Only select if you have setup Cash Flow Mapper documents,Hanya pilih jika anda mempunyai dokumen persediaan Aliran Tunai,
Allowed To Transact With,Dibenarkan untuk Berurusan Dengan,
SWIFT number,Nombor SWIFT,
Branch Code,Kod Cawangan,
Address and Contact,Alamat dan Perhubungan,
Address HTML,Alamat HTML,
Contact HTML,Hubungi HTML,
Data Import Configuration,Konfigurasi Import Data,
Bank Transaction Mapping,Pemetaan Transaksi Bank,
Plaid Access Token,Token Akses Plaid,
Company Account,Akaun Syarikat,
Account Subtype,Subjenis Akaun,
Is Default Account,Adakah Akaun Lalai,
Is Company Account,Adakah Akaun Syarikat,
Party Details,Butiran Parti,
Account Details,Butiran Akaun,
IBAN,IBAN,
Bank Account No,Akaun Bank No,
Integration Details,Butiran Integrasi,
Integration ID,ID Integrasi,
Last Integration Date,Tarikh Integrasi Terakhir,
Change this date manually to setup the next synchronization start date,Ubah tarikh ini secara manual untuk menetapkan tarikh permulaan penyegerakan seterusnya,
Mask,Topeng,
Bank Account Subtype,Subjenis Akaun Bank,
Bank Account Type,Jenis Akaun Bank,
Bank Guarantee,Jaminan bank,
Bank Guarantee Type,Jenis Jaminan Bank,
Receiving,Menerima,
Providing,Menyediakan,
Reference Document Name,Nama Dokumen Rujukan,
Validity in Days,Kesahan di Days,
Bank Account Info,Maklumat Akaun Bank,
Clauses and Conditions,Fasal dan Syarat,
Other Details,Butiran-butiran yang lain,
Bank Guarantee Number,Bank Nombor Jaminan,
Name of Beneficiary,Nama Penerima,
Margin Money,Wang Margin,
Charges Incurred,Caj Ditanggung,
Fixed Deposit Number,Nombor Deposit Tetap,
Account Currency,Mata Wang Akaun,
Select the Bank Account to reconcile.,Pilih Akaun Bank untuk mendamaikan.,
Include Reconciled Entries,Termasuk Penyertaan berdamai,
Get Payment Entries,Dapatkan Penyertaan Pembayaran,
Payment Entries,Penyertaan pembayaran,
Update Clearance Date,Update Clearance Tarikh,
Bank Reconciliation Detail,Detail Penyesuaian Bank,
Cheque Number,Nombor Cek,
Cheque Date,Cek Tarikh,
Statement Header Mapping,Pemetaan Tajuk Pernyataan,
Statement Headers,Pengepala Pernyataan,
Transaction Data Mapping,Pemetaan Data Transaksi,
Mapped Items,Item yang dipadatkan,
Bank Statement Settings Item,Item Tetapan Pernyataan Bank,
Mapped Header,Mapped Header,
Bank Header,Header Bank,
Bank Statement Transaction Entry,Penyertaan Transaksi Penyata Bank,
Bank Transaction Entries,Penyertaan Transaksi Bank,
New Transactions,Transaksi Baru,
Match Transaction to Invoices,Urus Transaksi ke Invois,
Create New Payment/Journal Entry,Buat Entri Baru / Kemasukan Jurnal,
Submit/Reconcile Payments,Hantar / Rekonsiliasi Pembayaran,
Matching Invoices,Pencocokan Invois,
Payment Invoice Items,Item Invois Pembayaran,
Reconciled Transactions,Urus Niaga yang dirunding,
Bank Statement Transaction Invoice Item,Item Invois Transaksi Penyata Bank,
Payment Description,Penerangan Bayaran,
Invoice Date,Tarikh invois,
invoice,invois,
Bank Statement Transaction Payment Item,Item Pembayaran Transaksi Penyata Bank,
outstanding_amount,Jumlah tertunggak,
Payment Reference,Rujukan pembayaran,
Bank Statement Transaction Settings Item,Item Tetapan Urus Niaga Penyata Bank,
Bank Data,Data Bank,
Mapped Data Type,Jenis Data Dipetakan,
Mapped Data,Data Mapping,
Bank Transaction,Transaksi Bank,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,ID transaksi,
Unallocated Amount,Jumlah yang tidak diperuntukkan,
Field in Bank Transaction,Bidang Urus Niaga Bank,
Column in Bank File,Lajur dalam Fail Bank,
Bank Transaction Payments,Pembayaran Transaksi Bank,
Control Action,Kawalan Tindakan,
Applicable on Material Request,Terpakai pada Permintaan Bahan,
Action if Annual Budget Exceeded on MR,Tindakan jika Bajet Tahunan Melebihi MR,
Warn,Beri amaran,
Ignore,Abaikan,
Action if Accumulated Monthly Budget Exceeded on MR,Tindakan jika Bajet Bulanan Terkumpul Melebihi MR,
Applicable on Purchase Order,Terpakai pada Perintah Pembelian,
Action if Annual Budget Exceeded on PO,Tindakan jika Bajet Tahunan Melebihi PO,
Action if Accumulated Monthly Budget Exceeded on PO,Tindakan jika Bajet Bulanan Terkumpul Melebihi PO,
Applicable on booking actual expenses,Terpakai pada tempahan perbelanjaan sebenar,
Action if Annual Budget Exceeded on Actual,Tindakan jika Bajet Tahunan Melebihi pada Sebenarnya,
Action if Accumulated Monthly Budget Exceeded on Actual,Tindakan jika Bajet Bulanan Terkumpul Melebihi pada Sebenarnya,
Budget Accounts,Akaun belanjawan,
Budget Account,anggaran Akaun,
Budget Amount,Amaun belanjawan,
C-Form,C-Borang,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-Borang No,
Received Date,Tarikh terima,
Quarter,Suku,
I,Saya,
II,II,
III,III,
IV,IV,
C-Form Invoice Detail,Detail C-Borang Invois,
Invoice No,Tiada invois,
Cash Flow Mapper,Mapper Flow Cash,
Section Name,Nama Bahagian,
Section Header,Pengepala Seksyen,
Section Leader,Bahagian Pemimpin,
e.g Adjustments for:,contohnya Pelarasan untuk:,
Section Subtotal,Subtotal Seksyen,
Section Footer,Seksyen Footer,
Position,Jawatan,
Cash Flow Mapping,Pemetaan Aliran Tunai,
Select Maximum Of 1,Pilih Maksimum 1,
Is Finance Cost,Adakah Kos Kewangan,
Is Working Capital,Adakah Modal Kerja,
Is Finance Cost Adjustment,Adalah Pelarasan Kos Kewangan,
Is Income Tax Liability,Kewajipan Cukai Pendapatan,
Is Income Tax Expense,Adakah Perbelanjaan Cukai Pendapatan,
Cash Flow Mapping Accounts,Akaun Pemetaan Aliran Tunai,
account,Akaun,
Cash Flow Mapping Template,Templat Pemetaan Aliran Tunai,
Cash Flow Mapping Template Details,Butiran Templat Pemetaan Aliran Tunai,
POS-CLO-,POS-CLO-,
Custody,Penjagaan,
Net Amount,Jumlah Bersih,
Cashier Closing Payments,Bayaran Penutupan Tunai,
Chart of Accounts Importer,Carta Pengimport Akaun,
Import Chart of Accounts from a csv file,Import Carta Akaun dari fail csv,
Attach custom Chart of Accounts file,Lampirkan carta Khas fail Akaun,
Chart Preview,Pratonton Carta,
Chart Tree,Tree Chart,
Cheque Print Template,Cek Cetak Template,
Has Print Format,Mempunyai Format Cetak,
Primary Settings,Tetapan utama,
Cheque Size,Saiz Cek,
Regular,biasa,
Starting position from top edge,kedudukan dari tepi atas Bermula,
Cheque Width,Lebar Cek,
Cheque Height,Cek Tinggi,
Scanned Cheque,diimbas Cek,
Is Account Payable,Adakah Akaun Belum Bayar,
Distance from top edge,Jarak dari tepi atas,
Distance from left edge,Jarak dari tepi kiri,
Message to show,Mesej untuk menunjukkan,
Date Settings,tarikh Tetapan,
Starting location from left edge,Bermula lokasi dari tepi kiri,
Payer Settings,Tetapan pembayar,
Width of amount in word,Lebar amaun dalam perkataan,
Line spacing for amount in words,jarak baris untuk jumlah dalam perkataan,
Amount In Figure,Jumlah Dalam Rajah,
Signatory Position,Jawatan penandatangan,
Closed Document,Dokumen Tertutup,
Track separate Income and Expense for product verticals or divisions.,Jejaki Pendapatan berasingan dan Perbelanjaan untuk menegak produk atau bahagian.,
Cost Center Name,Kos Nama Pusat,
Parent Cost Center,Kos Pusat Ibu Bapa,
lft,LFT,
rgt,Rgt,
Coupon Code,Kod Kupon,
Coupon Name,Nama Kupon,
"e.g. ""Summer Holiday 2019 Offer 20""",contohnya &quot;Summer Holiday 2019 Offer 20&quot;,
Coupon Type,Jenis Kupon,
Promotional,Promosi,
Gift Card,Kad Hadiah,
unique e.g. SAVE20  To be used to get discount,unik misalnya SAVE20 Untuk digunakan untuk mendapatkan diskaun,
Validity and Usage,Kesahan dan Penggunaan,
Valid From,Sah dari,
Valid Upto,Upto Sah,
Maximum Use,Penggunaan maksimum,
Used,Digunakan,
Coupon Description,Penerangan Kupon,
Discounted Invoice,Invois Diskaun,
Debit to,Debit ke,
Exchange Rate Revaluation,Penilaian Semula Kadar Pertukaran,
Get Entries,Dapatkan penyertaan,
Exchange Rate Revaluation Account,Akaun Penilaian Semula Kadar Pertukaran,
Total Gain/Loss,Jumlah Keuntungan / Kerugian,
Balance In Account Currency,Baki Dalam Mata Wang Akaun,
Current Exchange Rate,Kadar Pertukaran Semasa,
Balance In Base Currency,Baki Dalam Mata Wang Asas,
New Exchange Rate,Kadar Pertukaran Baru,
New Balance In Base Currency,New Balance In Currency Base,
Gain/Loss,Keuntungan / Kerugian,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Tahun Fiskal ** mewakili Tahun Kewangan. Semua kemasukan perakaunan dan transaksi utama yang lain dijejak terhadap Tahun Fiskal ** **.,
Year Name,Nama Tahun,
"For e.g. 2012, 2012-13","Untuk contoh: 2012, 2012-13",
Year Start Date,Tahun Tarikh Mula,
Year End Date,Tahun Tarikh Akhir,
Companies,Syarikat,
Auto Created,Dicipta Auto,
Stock User,Saham pengguna,
Fiscal Year Company,Tahun Anggaran Syarikat,
Debit Amount,Jumlah Debit,
Credit Amount,Jumlah Kredit,
Debit Amount in Account Currency,Jumlah debit dalam Mata Wang Akaun,
Credit Amount in Account Currency,Jumlah Kredit dalam Mata Wang Akaun,
Voucher Detail No,Detail baucar Tiada,
Is Opening,Adalah Membuka,
Is Advance,Adalah Advance,
To Rename,Untuk Namakan semula,
GST Account,Akaun GST,
CGST Account,Akaun CGST,
SGST Account,Akaun SGST,
IGST Account,Akaun IGST,
CESS Account,Akaun CESS,
Loan Start Date,Tarikh Mula Pinjaman,
Loan Period (Days),Tempoh Pinjaman (Hari),
Loan End Date,Tarikh Akhir Pinjaman,
Bank Charges,Caj bank,
Short Term Loan Account,Akaun Pinjaman Jangka Pendek,
Bank Charges Account,Akaun Caj Bank,
Accounts Receivable Credit Account,Akaun Kredit Belum Terima Akaun,
Accounts Receivable Discounted Account,Akaun Diskaun Piutang Akaun,
Accounts Receivable Unpaid Account,Akaun Belum Dibayar Akaun Belum Dibayar,
Item Tax Template,Templat Cukai Item,
Tax Rates,Kadar cukai,
Item Tax Template Detail,Detail Templat Cukai Item,
Entry Type,Jenis Kemasukan,
Inter Company Journal Entry,Kemasukan Jurnal Syarikat Antara,
Bank Entry,Bank Entry,
Cash Entry,Entry Tunai,
Credit Card Entry,Entry Kad Kredit,
Contra Entry,Contra Entry,
Excise Entry,Eksais Entry,
Write Off Entry,Tulis Off Entry,
Opening Entry,Entry pembukaan,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Catatan Perakaunan,
Total Debit,Jumlah Debit,
Total Credit,Jumlah Kredit,
Difference (Dr - Cr),Perbezaan (Dr - Cr),
Make Difference Entry,Membawa Perubahan Entry,
Total Amount Currency,Jumlah Mata Wang,
Total Amount in Words,Jumlah Amaun dalam Perkataan,
Remark,Catatan,
Paid Loan,Pinjaman Berbayar,
Inter Company Journal Entry Reference,Rujukan Kemasukan Jurnal Syarikat Antara,
Write Off Based On,Tulis Off Based On,
Get Outstanding Invoices,Dapatkan Invois Cemerlang,
Write Off Amount,Hapus kira Jumlah,
Printing Settings,Tetapan Percetakan,
Pay To / Recd From,Bayar Untuk / Recd Dari,
Payment Order,Perintah Pembayaran,
Subscription Section,Seksyen Subskrip,
Journal Entry Account,Akaun Entry jurnal,
Account Balance,Baki Akaun,
Party Balance,Baki pihak,
Accounting Dimensions,Dimensi Perakaunan,
If Income or Expense,Jika Pendapatan atau Perbelanjaan,
Exchange Rate,Kadar pertukaran,
Debit in Company Currency,Debit dalam Syarikat Mata Wang,
Credit in Company Currency,Kredit dalam Mata Wang Syarikat,
Payroll Entry,Kemasukan Payroll,
Employee Advance,Advance Pekerja,
Reference Due Date,Tarikh Disebabkan Rujukan,
Loyalty Program Tier,Tahap Program Kesetiaan,
Redeem Against,Penebusan Terhad,
Expiry Date,Tarikh Luput,
Loyalty Point Entry Redemption,Penamatan Penyertaan Point Kesetiaan,
Redemption Date,Tarikh Penebusan,
Redeemed Points,Mata yang ditebus,
Loyalty Program Name,Nama Program Kesetiaan,
Loyalty Program Type,Jenis Program Kesetiaan,
Single Tier Program,Program Tahap Tunggal,
Multiple Tier Program,Pelbagai Tier Program,
Customer Territory,Kawasan Pelanggan,
Auto Opt In (For all customers),Opt Masuk Auto (Untuk semua pelanggan),
Collection Tier,Tier Koleksi,
Collection Rules,Peraturan Pengumpulan,
Redemption,Penebusan,
Conversion Factor,Faktor penukaran,
1 Loyalty Points = How much base currency?,1 Mata Kesetiaan = Berapa banyak mata wang asas?,
Expiry Duration (in days),Tempoh tamat tempoh (dalam hari),
Help Section,Bantuan Bahagian,
Loyalty Program Help,Bantuan Program Kesetiaan,
Loyalty Program Collection,Koleksi Program Kesetiaan,
Tier Name,Nama Tier,
Minimum Total Spent,Jumlah Jumlah Minimum,
Collection Factor (=1 LP),Faktor Pengumpulan (= 1 LP),
For how much spent = 1 Loyalty Point,Untuk berapa banyak yang dibelanjakan = 1 Mata Kesetiaan,
Mode of Payment Account,Cara Pembayaran Akaun,
Default Account,Akaun Default,
Default account will be automatically updated in POS Invoice when this mode is selected.,Akaun lalai akan dikemas kini secara automatik dalam Invoice POS apabila mod ini dipilih.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Pengagihan Bulanan ** membantu anda mengedarkan Bajet / sasaran seluruh bulan jika anda mempunyai bermusim dalam perniagaan anda.,
Distribution Name,Nama pengedaran,
Name of the Monthly Distribution,Nama Pembahagian Bulanan,
Monthly Distribution Percentages,Peratusan Taburan Bulanan,
Monthly Distribution Percentage,Taburan Peratus Bulanan,
Percentage Allocation,Peratus Peruntukan,
Create Missing Party,Buat Parti Hilang,
Create missing customer or supplier.,Buat pelanggan atau pembekal yang hilang.,
Opening Invoice Creation Tool Item,Membuka Item Penciptaan Alat Invois,
Temporary Opening Account,Akaun Pembukaan sementara,
Party Account,Akaun Pihak,
Type of Payment,Jenis Pembayaran,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Menerima,
Internal Transfer,Pindahan dalaman,
Payment Order Status,Status Pesanan Pembayaran,
Payment Ordered,Bayaran Pesanan,
Payment From / To,Pembayaran Dari / Ke,
Company Bank Account,Akaun Bank Syarikat,
Party Bank Account,Akaun Bank Parti,
Account Paid From,Akaun Dibayar Dari,
Account Paid To,Akaun Dibayar Kepada,
Paid Amount (Company Currency),Jumlah yang dibayar (Syarikat Mata Wang),
Received Amount,Pendapatan daripada,
Received Amount (Company Currency),Pendapatan daripada (Syarikat Mata Wang),
Get Outstanding Invoice,Dapatkan Invois Cemerlang,
Payment References,Rujukan pembayaran,
Writeoff,Hapus kira,
Total Allocated Amount,Jumlah Diperuntukkan,
Total Allocated Amount (Company Currency),Jumlah Peruntukan (Syarikat Mata Wang),
Set Exchange Gain / Loss,Set Exchange Keuntungan / Kerugian,
Difference Amount (Company Currency),Perbezaan Jumlah (Syarikat Mata Wang),
Write Off Difference Amount,Tulis Off Jumlah Perbezaan,
Deductions or Loss,Potongan atau Kehilangan,
Payment Deductions or Loss,Potongan bayaran atau Kehilangan,
Cheque/Reference Date,Cek Tarikh / Rujukan,
Payment Entry Deduction,Pembayaran Potongan Kemasukan,
Payment Entry Reference,Pembayaran Rujukan Kemasukan,
Allocated,Diperuntukkan,
Payment Gateway Account,Akaun Gateway Pembayaran,
Payment Account,Akaun Pembayaran,
Default Payment Request Message,Lalai Permintaan Bayaran Mesej,
PMO-,PMO-,
Payment Order Type,Jenis Pesanan Pembayaran,
Payment Order Reference,Rujukan Pesanan Pembayaran,
Bank Account Details,Maklumat akaun bank,
Payment Reconciliation,Penyesuaian bayaran,
Receivable / Payable Account,Belum Terima / Akaun Belum Bayar,
Bank / Cash Account,Akaun Bank / Tunai,
From Invoice Date,Dari Invois Tarikh,
To Invoice Date,Untuk invois Tarikh,
Minimum Invoice Amount,Amaun Invois Minimum,
Maximum Invoice Amount,Amaun Invois maksimum,
System will fetch all the entries if limit value is zero.,Sistem akan mengambil semua entri jika nilai had adalah sifar.,
Get Unreconciled Entries,Dapatkan belum disatukan Penyertaan,
Unreconciled Payment Details,Butiran Pembayaran yang belum disatukan,
Invoice/Journal Entry Details,Invois / Journal Entry Details,
Payment Reconciliation Invoice,Bayaran Penyesuaian Invois,
Invoice Number,Nombor invois,
Payment Reconciliation Payment,Penyesuaian Pembayaran Pembayaran,
Reference Row,rujukan Row,
Allocated amount,Jumlah yang diperuntukkan,
Payment Request Type,Jenis Permintaan Pembayaran,
Outward,Keluar,
Inward,Masuk ke dalam,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,butiran transaksi,
Amount in customer's currency,Amaun dalam mata wang pelanggan,
Is a Subscription,Adakah Langganan,
Transaction Currency,transaksi mata Wang,
Subscription Plans,Pelan Langganan,
SWIFT Number,Nombor SWIFT,
Recipient Message And Payment Details,Penerima Mesej Dan Butiran Pembayaran,
Make Sales Invoice,Buat Jualan Invois,
Mute Email,Senyapkan E-mel,
payment_url,payment_url,
Payment Gateway Details,Pembayaran Gateway Butiran,
Payment Schedule,Jadual pembayaran,
Invoice Portion,Bahagian Invois,
Payment Amount,Jumlah Bayaran,
Payment Term Name,Nama Terma Pembayaran,
Due Date Based On,Berdasarkan Tarikh Dikenakan,
Day(s) after invoice date,Hari selepas tarikh invois,
Day(s) after the end of the invoice month,Hari selepas akhir bulan invois,
Month(s) after the end of the invoice month,Bulan (s) selepas akhir bulan invois,
Credit Days,Hari Kredit,
Credit Months,Bulan Kredit,
Allocate Payment Based On Payment Terms,Peruntukkan Pembayaran Berdasarkan Syarat Pembayaran,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Sekiranya kotak centang ini dicentang, jumlah pembayaran akan dibahagi dan dialokasikan mengikut jumlah dalam jadual pembayaran terhadap setiap jangka waktu pembayaran",
Payment Terms Template Detail,Butiran Templat Terma Pembayaran,
Closing Fiscal Year,Penutup Tahun Anggaran,
Closing Account Head,Penutup Kepala Akaun,
"The account head under Liability or Equity, in which Profit/Loss will be booked","Ketua akaun di bawah Liabiliti atau Ekuiti, di mana Keuntungan / Kerugian akan ditempah",
POS Customer Group,POS Kumpulan Pelanggan,
POS Field,POS Field,
POS Item Group,POS Item Kumpulan,
Company Address,Alamat syarikat,
Update Stock,Update Saham,
Ignore Pricing Rule,Abaikan Peraturan Harga,
Applicable for Users,Berkenaan Pengguna,
Sales Invoice Payment,Invois Jualan Pembayaran,
Item Groups,Kumpulan item,
Only show Items from these Item Groups,Hanya tunjukkan Item dari Kumpulan Item ini,
Customer Groups,Kumpulan Pelanggan,
Only show Customer of these Customer Groups,Hanya tunjukkan Pelanggan Kumpulan Pelanggan ini,
Write Off Account,Tulis Off Akaun,
Write Off Cost Center,Tulis Off PTJ,
Account for Change Amount,Akaun untuk Perubahan Jumlah,
Taxes and Charges,Cukai dan Caj,
Apply Discount On,Memohon Diskaun Pada,
POS Profile User,POS Profil Pengguna,
Apply On,Memohon Pada,
Price or Product Discount,Diskaun Harga atau Produk,
Apply Rule On Item Code,Memohon Peraturan Mengenai Kod Perkara,
Apply Rule On Item Group,Memohon Peraturan Pada Kumpulan Perkara,
Apply Rule On Brand,Memohon Peraturan Mengenai Jenama,
Mixed Conditions,Syarat Campuran,
Conditions will be applied on all the selected items combined. ,Syarat akan digunakan pada semua item yang dipilih digabungkan.,
Is Cumulative,Adakah Kumulatif,
Coupon Code Based,Kod Kupon Berdasarkan,
Discount on Other Item,Diskaun pada Item Lain,
Apply Rule On Other,Memohon Peraturan Di Lain-lain,
Party Information,Maklumat Parti,
Quantity and Amount,Kuantiti dan Jumlah,
Min Qty,Min Qty,
Max Qty,Max Qty,
Min Amt,Min Amt,
Max Amt,Max Amt,
Period Settings,Tetapan Tempoh,
Margin,margin,
Margin Type,Jenis margin,
Margin Rate or Amount,Kadar margin atau Amaun,
Price Discount Scheme,Skim diskaun harga,
Rate or Discount,Kadar atau Diskaun,
Discount Percentage,Peratus diskaun,
Discount Amount,Jumlah diskaun,
For Price List,Untuk Senarai Harga,
Product Discount Scheme,Skim diskaun produk,
Same Item,Perkara yang sama,
Free Item,Perkara percuma,
Threshold for Suggestion,Ambang Cadangan,
System will notify to increase or decrease quantity or amount ,Sistem akan memberitahu untuk meningkatkan atau mengurangkan kuantiti atau jumlah,
"Higher the number, higher the priority","Lebih tinggi nombor tersebut, lebih tinggi keutamaan",
Apply Multiple Pricing Rules,Terapkan Peraturan Harga Pelbagai,
Apply Discount on Rate,Terapkan Diskaun pada Kadar,
Validate Applied Rule,Mengesahkan Peraturan Terapan,
Rule Description,Perihalan Peraturan,
Pricing Rule Help,Peraturan Harga Bantuan,
Promotional Scheme Id,Id Skim Promosi,
Promotional Scheme,Skim Promosi,
Pricing Rule Brand,Jenama Peraturan Harga,
Pricing Rule Detail,Detail Peraturan Harga,
Child Docname,Docname anak,
Rule Applied,Peraturan digunapakai,
Pricing Rule Item Code,Kod Item Peraturan Harga,
Pricing Rule Item Group,Kumpulan Item Peraturan Harga,
Price Discount Slabs,Slab Diskaun Harga,
Promotional Scheme Price Discount,Diskaun Harga Skim Promosi,
Product Discount Slabs,Slab Diskaun Produk,
Promotional Scheme Product Discount,Diskaun Produk Skim Promosi,
Min Amount,Jumlah Min,
Max Amount,Jumlah maksimum,
Discount Type,Jenis Diskaun,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Kategori Pemotongan Cukai,
Edit Posting Date and Time,Edit Tarikh Posting dan Masa,
Is Paid,Adakah dibayar,
Is Return (Debit Note),Adakah Pulangan (Nota Debit),
Apply Tax Withholding Amount,Memohon Jumlah Pegangan Cukai,
Accounting Dimensions ,Dimensi Perakaunan,
Supplier Invoice Details,Pembekal Butiran Invois,
Supplier Invoice Date,Pembekal Invois Tarikh,
Return Against Purchase Invoice,Kembali Terhadap Invois Belian,
Select Supplier Address,Pilih Alamat Pembekal,
Contact Person,Dihubungi,
Select Shipping Address,Pilih Alamat Penghantaran,
Currency and Price List,Mata wang dan Senarai Harga,
Price List Currency,Senarai Harga Mata Wang,
Price List Exchange Rate,Senarai Harga Kadar Pertukaran,
Set Accepted Warehouse,Tetapkan Gudang yang Diterima,
Rejected Warehouse,Gudang Ditolak,
Warehouse where you are maintaining stock of rejected items,Gudang di mana anda mengekalkan stok barangan ditolak,
Raw Materials Supplied,Bahan mentah yang dibekalkan,
Supplier Warehouse,Gudang Pembekal,
Pricing Rules,Kaedah Harga,
Supplied Items,Item dibekalkan,
Total (Company Currency),Jumlah (Syarikat mata wang),
Net Total (Company Currency),Jumlah bersih (Syarikat mata wang),
Total Net Weight,Jumlah Berat Bersih,
Shipping Rule,Peraturan Penghantaran,
Purchase Taxes and Charges Template,Membeli Cukai dan Caj Template,
Purchase Taxes and Charges,Membeli Cukai dan Caj,
Tax Breakup,Breakup cukai,
Taxes and Charges Calculation,Cukai dan Caj Pengiraan,
Taxes and Charges Added (Company Currency),Cukai dan Caj Ditambah (Syarikat mata wang),
Taxes and Charges Deducted (Company Currency),Cukai dan Caj Dipotong (Syarikat mata wang),
Total Taxes and Charges (Company Currency),Jumlah Cukai dan Caj (Mata Wang Syarikat),
Taxes and Charges Added,Cukai dan Caj Tambahan,
Taxes and Charges Deducted,Cukai dan Caj Dipotong,
Total Taxes and Charges,Jumlah Cukai dan Caj,
Additional Discount,Diskaun tambahan,
Apply Additional Discount On,Memohon Diskaun tambahan On,
Additional Discount Amount (Company Currency),Jumlah Diskaun tambahan (Mata Wang Syarikat),
Additional Discount Percentage,Peratus Potongan Tambahan,
Additional Discount Amount,Amaun Diskaun Tambahan,
Grand Total (Company Currency),Jumlah Besar (Syarikat mata wang),
Rounding Adjustment (Company Currency),Pelarasan Membulat (Mata Wang Syarikat),
Rounded Total (Company Currency),Bulat Jumlah (Syarikat mata wang),
In Words (Company Currency),Dalam Perkataan (Syarikat mata wang),
Rounding Adjustment,Pelarasan Membulat,
In Words,Dalam Perkataan,
Total Advance,Jumlah Advance,
Disable Rounded Total,Melumpuhkan Bulat Jumlah,
Cash/Bank Account,Akaun Tunai / Bank,
Write Off Amount (Company Currency),Tulis Off Jumlah (Syarikat Mata Wang),
Set Advances and Allocate (FIFO),Tetapkan Pendahuluan dan Alokasi (FIFO),
Get Advances Paid,Mendapatkan Pendahuluan Dibayar,
Advances,Pendahuluan,
Terms,Syarat,
Terms and Conditions1,Terma dan Conditions1,
Group same items,Kumpulan barangan yang sama,
Print Language,Cetak Bahasa,
"Once set, this invoice will be on hold till the set date","Setelah ditetapkan, invois ini akan ditangguhkan sehingga tarikh ditetapkan",
Credit To,Kredit Untuk,
Party Account Currency,Akaun Pihak Mata Wang,
Against Expense Account,Terhadap Akaun Perbelanjaan,
Inter Company Invoice Reference,Rujukan Invois Syarikat Inter,
Is Internal Supplier,Pembekal Dalaman,
Start date of current invoice's period,Tarikh tempoh invois semasa memulakan,
End date of current invoice's period,Tarikh akhir tempoh invois semasa,
Update Auto Repeat Reference,Kemas kini Rujukan Ulang Auto,
Purchase Invoice Advance,Membeli Advance Invois,
Purchase Invoice Item,Membeli Invois Perkara,
Quantity and Rate,Kuantiti dan Kadar,
Received Qty,Diterima Qty,
Accepted Qty,Diterima Qty,
Rejected Qty,Telah Qty,
UOM Conversion Factor,Faktor Penukaran UOM,
Discount on Price List Rate (%),Diskaun Senarai Harga Kadar (%),
Price List Rate (Company Currency),Senarai Harga Kadar (Syarikat mata wang),
Rate ,Kadar,
Rate (Company Currency),Kadar (Syarikat mata wang),
Amount (Company Currency),Jumlah (Syarikat mata wang),
Is Free Item,Adakah Item Percuma,
Net Rate,Kadar bersih,
Net Rate (Company Currency),Kadar bersih (Syarikat mata wang),
Net Amount (Company Currency),Jumlah Bersih (Syarikat mata wang),
Item Tax Amount Included in Value,Amaun Cukai Perkara Termasuk dalam Nilai,
Landed Cost Voucher Amount,Kos mendarat Baucer Jumlah,
Raw Materials Supplied Cost,Kos Bahan mentah yang dibekalkan,
Accepted Warehouse,Gudang Diterima,
Serial No,No siri,
Rejected Serial No,Tiada Serial Ditolak,
Expense Head,Perbelanjaan Ketua,
Is Fixed Asset,Adakah Aset Tetap,
Asset Location,Lokasi Aset,
Deferred Expense,Perbelanjaan Tertunda,
Deferred Expense Account,Akaun Perbelanjaan Tertangguh,
Service Stop Date,Tarikh Henti Perkhidmatan,
Enable Deferred Expense,Mengaktifkan Perbelanjaan Tertunda,
Service Start Date,Tarikh Mula Perkhidmatan,
Service End Date,Tarikh Akhir Perkhidmatan,
Allow Zero Valuation Rate,Benarkan Kadar Penilaian Zero,
Item Tax Rate,Perkara Kadar Cukai,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Cukai terperinci jadual diambil dari ruang induk sebagai rentetan dan disimpan di dalam bidang ini. Digunakan untuk Cukai dan Caj,
Purchase Order Item,Pesanan Pembelian Item,
Purchase Receipt Detail,Detail Resit Pembelian,
Item Weight Details,Butiran Butiran Butiran,
Weight Per Unit,Berat Per Unit,
Total Weight,Berat keseluruhan,
Weight UOM,Berat UOM,
Page Break,Page Break,
Consider Tax or Charge for,Pertimbangkan Cukai atau Caj,
Valuation and Total,Penilaian dan Jumlah,
Valuation,Penilaian,
Add or Deduct,Tambah atau Memotong,
Deduct,Memotong,
On Previous Row Amount,Pada Row Jumlah Sebelumnya,
On Previous Row Total,Pada Sebelumnya Row Jumlah,
On Item Quantity,Pada Kuantiti Item,
Reference Row #,Rujukan Row #,
Is this Tax included in Basic Rate?,Cukai ini adalah termasuk dalam Kadar Asas?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Jika disemak, jumlah cukai yang akan dianggap sebagai sudah termasuk dalam Kadar Cetak / Print Amaun",
Account Head,Kepala Akaun,
Tax Amount After Discount Amount,Amaun Cukai Selepas Jumlah Diskaun,
Item Wise Tax Detail ,Butiran Cukai Bijaksana Item,
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Template cukai standard yang boleh diguna pakai untuk semua Transaksi Pembelian. Templat ini boleh mengandungi senarai kepala cukai dan juga kepala perbelanjaan lain seperti &quot;Penghantaran&quot;, &quot;Insurans&quot;, &quot;Pengendalian&quot; dan lain-lain #### Nota Kadar cukai anda tentukan di sini akan menjadi kadar cukai standard untuk semua ** Item * *. Jika terdapat Item ** ** yang mempunyai kadar yang berbeza, mereka perlu ditambah dalam ** Item Cukai ** meja dalam ** ** Item induk. #### Keterangan Kolum 1. Pengiraan Jenis: - Ini boleh menjadi pada ** ** Jumlah bersih (iaitu jumlah jumlah asas). - ** Pada Row Sebelumnya Jumlah / Jumlah ** (untuk cukai atau caj terkumpul). Jika anda memilih pilihan ini, cukai yang akan digunakan sebagai peratusan daripada baris sebelumnya (dalam jadual cukai) amaun atau jumlah. - ** ** Sebenar (seperti yang dinyatakan). 2. Ketua Akaun: The lejar Akaun di mana cukai ini akan ditempah 3. Kos Center: Jika cukai / caj adalah pendapatan (seperti penghantaran) atau perbelanjaan perlu ditempah terhadap PTJ. 4. Keterangan: Keterangan cukai (yang akan dicetak dalam invois / sebut harga). 5. Kadar: Kadar Cukai. 6. Jumlah: Jumlah Cukai. 7. Jumlah: Jumlah terkumpul sehingga hal ini. 8. Masukkan Row: Jika berdasarkan &quot;Row Sebelumnya Jumlah&quot; anda boleh pilih nombor barisan yang akan diambil sebagai asas untuk pengiraan ini (default adalah berturut-turut sebelumnya). 9. Pertimbangkan Cukai atau Caj: Dalam bahagian ini, anda boleh menentukan jika cukai / caj adalah hanya untuk penilaian (bukan sebahagian daripada jumlah) atau hanya untuk jumlah (tidak menambah nilai kepada item) atau kedua-duanya. 10. Tambah atau Tolak: Adakah anda ingin menambah atau memotong cukai.",
Salary Component Account,Akaun Komponen Gaji,
Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Lalai akaun Bank / Tunai akan secara automatik dikemaskini dalam Gaji Journal Kemasukan apabila mod ini dipilih.,
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Termasuk Bayaran (POS),
Offline POS Name,Offline Nama POS,
Is Return (Credit Note),Adakah Pulangan (Nota Kredit),
Return Against Sales Invoice,Kembali Terhadap Jualan Invois,
Update Billed Amount in Sales Order,Kemas Kini Amaun Dibilor dalam Perintah Jualan,
Customer PO Details,Maklumat Pelanggan Details,
Customer's Purchase Order,Pesanan Pelanggan,
Customer's Purchase Order Date,Pesanan Belian Tarikh Pelanggan,
Customer Address,Alamat Pelanggan,
Shipping Address Name,Alamat Penghantaran Nama,
Company Address Name,Alamat Syarikat Nama,
Rate at which Customer Currency is converted to customer's base currency,Kadar di mana mata wang Pelanggan ditukar kepada mata wang asas pelanggan,
Rate at which Price list currency is converted to customer's base currency,Kadar di mana Senarai harga mata wang ditukar kepada mata wang asas pelanggan,
Set Source Warehouse,Tetapkan Gudang Sumber,
Packing List,Senarai Pembungkusan,
Packed Items,Makan Item,
Product Bundle Help,Produk Bantuan Bundle,
Time Sheet List,Masa Senarai Lembaran,
Time Sheets,Lembaran masa,
Total Billing Amount,Jumlah Bil,
Sales Taxes and Charges Template,Jualan Cukai dan Caj Template,
Sales Taxes and Charges,Jualan Cukai dan Caj,
Loyalty Points Redemption,Penebusan Mata Kesetiaan,
Redeem Loyalty Points,Tebus Mata Kesetiaan,
Redemption Account,Akaun Penebusan,
Redemption Cost Center,Pusat Kos Penebusan,
In Words will be visible once you save the Sales Invoice.,Dalam Perkataan akan dapat dilihat selepas anda menyimpan Invois Jualan.,
Allocate Advances Automatically (FIFO),Alokasikan Pendahuluan secara automatik (FIFO),
Get Advances Received,Mendapatkan Pendahuluan Diterima,
Base Change Amount (Company Currency),Tukar Jumlah Asas (Syarikat Mata Wang),
Write Off Outstanding Amount,Tulis Off Cemerlang Jumlah,
Terms and Conditions Details,Terma dan Syarat Butiran,
Is Internal Customer,Adakah Pelanggan Dalaman,
Is Discounted,Diskaun,
Unpaid and Discounted,Tidak dibayar dan Diskaun,
Overdue and Discounted,Tertunggak dan Diskaun,
Accounting Details,Maklumat Perakaunan,
Debit To,Debit Untuk,
Is Opening Entry,Apakah Membuka Entry,
C-Form Applicable,C-Borang Berkaitan,
Commission Rate (%),Kadar komisen (%),
Sales Team1,Team1 Jualan,
Against Income Account,Terhadap Akaun Pendapatan,
Sales Invoice Advance,Jualan Invois Advance,
Advance amount,Advance Jumlah,
Sales Invoice Item,Perkara Invois Jualan,
Customer's Item Code,Kod Item Pelanggan,
Brand Name,Nama jenama,
Qty as per Stock UOM,Qty seperti Saham UOM,
Discount and Margin,Diskaun dan Margin,
Rate With Margin,Kadar Dengan Margin,
Discount (%) on Price List Rate with Margin,Diskaun (%) dalam Senarai Harga Kadar dengan Margin,
Rate With Margin (Company Currency),Kadar Dengan Margin (Mata Wang Syarikat),
Delivered By Supplier,Dihantar Oleh Pembekal,
Deferred Revenue,Pendapatan Tertunda,
Deferred Revenue Account,Akaun Hasil Tertunda,
Enable Deferred Revenue,Membolehkan Pendapatan Ditangguhkan,
Stock Details,Stok,
Customer Warehouse (Optional),Warehouse pelanggan (Pilihan),
Available Batch Qty at Warehouse,Batch didapati Qty di Gudang,
Available Qty at Warehouse,Kuantiti didapati di Gudang,
Delivery Note Item,Penghantaran Nota Perkara,
Base Amount (Company Currency),Base Jumlah (Syarikat Mata Wang),
Sales Invoice Timesheet,Invois Jualan Timesheet,
Time Sheet,Lembaran masa,
Billing Hours,Waktu Billing,
Timesheet Detail,Detail Timesheet,
Tax Amount After Discount Amount (Company Currency),Amaun Cukai Selepas Jumlah Diskaun (Syarikat mata wang),
Item Wise Tax Detail,Perkara Bijaksana Cukai Detail,
Parenttype,Parenttype,
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Template cukai standard yang boleh diguna pakai untuk semua Transaksi Jualan. Templat ini boleh mengandungi senarai kepala cukai dan juga lain kepala perbelanjaan / pendapatan seperti &quot;Penghantaran&quot;, &quot;Insurans&quot;, &quot;Pengendalian&quot; dan lain-lain #### Nota Kadar cukai anda tentukan di sini akan menjadi kadar cukai standard untuk semua ** Item **. Jika terdapat Item ** ** yang mempunyai kadar yang berbeza, mereka perlu ditambah dalam ** Item Cukai ** meja dalam ** ** Item induk. #### Keterangan Kolum 1. Pengiraan Jenis: - Ini boleh menjadi pada ** ** Jumlah bersih (iaitu jumlah jumlah asas). - ** Pada Row Sebelumnya Jumlah / Jumlah ** (untuk cukai atau caj terkumpul). Jika anda memilih pilihan ini, cukai yang akan digunakan sebagai peratusan daripada baris sebelumnya (dalam jadual cukai) amaun atau jumlah. - ** ** Sebenar (seperti yang dinyatakan). 2. Ketua Akaun: The lejar Akaun di mana cukai ini akan ditempah 3. Kos Center: Jika cukai / caj adalah pendapatan (seperti penghantaran) atau perbelanjaan perlu ditempah terhadap PTJ. 4. Keterangan: Keterangan cukai (yang akan dicetak dalam invois / sebut harga). 5. Kadar: Kadar Cukai. 6. Jumlah: Jumlah Cukai. 7. Jumlah: Jumlah terkumpul sehingga hal ini. 8. Masukkan Row: Jika berdasarkan &quot;Row Sebelumnya Jumlah&quot; anda boleh pilih nombor barisan yang akan diambil sebagai asas untuk pengiraan ini (default adalah berturut-turut sebelumnya). 9. Cukai ini termasuk dalam Kadar Asas ?: Jika anda mendaftar ini, ia bermakna bahawa cukai ini tidak akan ditunjukkan di bawah meja item, tetapi akan dimasukkan ke dalam Kadar Asas dalam jadual item utama anda. Ini berguna jika anda ingin memberikan harga yang rata (termasuk semua cukai) harga kepada pelanggan.",
* Will be calculated in the transaction.,* Akan dikira dalam urus niaga.,
From No,Daripada No,
To No,Tidak,
Is Company,Adakah Syarikat,
Current State,Keadaan sekarang,
Purchased,Dibeli,
From Shareholder,Dari Pemegang Saham,
From Folio No,Daripada Folio No,
To Shareholder,Kepada Pemegang Saham,
To Folio No,Kepada Folio No,
Equity/Liability Account,Akaun Ekuiti / Liabiliti,
Asset Account,Akaun Aset,
(including),(termasuk),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio no.,
Address and Contacts,Alamat dan Kenalan,
Contact List,Senarai kenalan,
Hidden list maintaining the list of contacts linked to Shareholder,Senarai tersembunyi yang mengekalkan senarai kenalan yang dipautkan kepada Pemegang Saham,
Specify conditions to calculate shipping amount,Menentukan syarat-syarat untuk mengira jumlah penghantaran,
Shipping Rule Label,Peraturan Penghantaran Label,
example: Next Day Shipping,contoh: Penghantaran Hari Seterusnya,
Shipping Rule Type,Jenis Peraturan Penghantaran,
Shipping Account,Akaun Penghantaran,
Calculate Based On,Kira Based On,
Fixed,Tetap,
Net Weight,Berat Bersih,
Shipping Amount,Penghantaran Jumlah,
Shipping Rule Conditions,Penghantaran Peraturan Syarat,
Restrict to Countries,Hadkan kepada Negara,
Valid for Countries,Sah untuk Negara,
Shipping Rule Condition,Penghantaran Keadaan Peraturan,
A condition for a Shipping Rule,Satu syarat untuk Peraturan Penghantaran,
From Value,Dari Nilai,
To Value,Untuk Nilai,
Shipping Rule Country,Kaedah Penghantaran Negara,
Subscription Period,Tempoh Langganan,
Subscription Start Date,Tarikh Mula Langganan,
Cancelation Date,Tarikh Pembatalan,
Trial Period Start Date,Tarikh Mulai Percubaan,
Trial Period End Date,Tarikh Akhir Tempoh Percubaan,
Current Invoice Start Date,Tarikh Mula Invois Semasa,
Current Invoice End Date,Tarikh Tamat Invois Semasa,
Days Until Due,Hari Sehingga Hutang,
Number of days that the subscriber has to pay invoices generated by this subscription,Bilangan hari yang pelanggan perlu membayar invois yang dihasilkan oleh langganan ini,
Cancel At End Of Period,Batalkan Pada Akhir Tempoh,
Generate Invoice At Beginning Of Period,Buatkan Invois Pada Permulaan Tempoh,
Plans,Rancangan,
Discounts,Diskaun,
Additional DIscount Percentage,Peratus Diskaun tambahan,
Additional DIscount Amount,Jumlah Diskaun tambahan,
Subscription Invoice,Invois Langganan,
Subscription Plan,Pelan Langganan,
Cost,Kos,
Billing Interval,Selang Pengebilan,
Billing Interval Count,Count Interval Pengebilan,
"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Bilangan selang untuk medan jarak contohnya jika Selang ialah &#39;Hari&#39; dan Pengiraan Interval Pengebilan ialah 3, invois akan dihasilkan setiap 3 hari",
Payment Plan,Pelan Pembayaran,
Subscription Plan Detail,Detail Pelan Langganan,
Plan,Rancang,
Subscription Settings,Tetapan Langganan,
Grace Period,Tempoh penangguhan,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Bilangan hari selepas tarikh invois telah berlalu sebelum membatalkan langganan atau menandakan langganan sebagai belum dibayar,
Prorate,Prorate,
Tax Rule,Peraturan Cukai,
Tax Type,Jenis Cukai,
Use for Shopping Cart,Gunakan untuk Troli,
Billing City,Bandar Bil,
Billing County,County Billing,
Billing State,Negeri Bil,
Billing Zipcode,Kod Zip Penagihan,
Billing Country,Bil Negara,
Shipping City,Penghantaran Bandar,
Shipping County,Penghantaran County,
Shipping State,Negeri Penghantaran,
Shipping Zipcode,Kod Zip Perkapalan,
Shipping Country,Penghantaran Negara,
Tax Withholding Account,Akaun Pegangan Cukai,
Tax Withholding Rates,Kadar Pegangan Cukai,
Rates,Kadar,
Tax Withholding Rate,Kadar Pegangan Cukai,
Single Transaction Threshold,Ambang Transaksi Single,
Cumulative Transaction Threshold,Ambang Transaksi Kumulatif,
Agriculture Analysis Criteria,Kriteria Analisis Pertanian,
Linked Doctype,Doctype Linked,
Water Analysis,Analisis Air,
Soil Analysis,Analisis Tanah,
Plant Analysis,Analisis Tanaman,
Fertilizer,Baja,
Soil Texture,Tekstur Tanah,
Weather,Cuaca,
Agriculture Manager,Pengurus Pertanian,
Agriculture User,Pengguna Pertanian,
Agriculture Task,Petugas Pertanian,
Task Name,Petugas Nama,
Start Day,Mula Hari,
End Day,Hari Akhir,
Holiday Management,Pengurusan Percutian,
Ignore holidays,Abaikan cuti,
Previous Business Day,Hari Perniagaan Sebelumnya,
Next Business Day,Hari Perniagaan Seterusnya,
Urgent,Segera,
Crop,Potong,
Crop Name,Nama Tanaman,
Scientific Name,Nama saintifik,
"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Anda boleh menentukan semua tugas yang perlu dilakukan untuk tanaman ini di sini. Bidang hari digunakan untuk menyebut hari di mana tugas perlu dijalankan, 1 adalah hari pertama, dan lain-lain ..",
Crop Spacing,Spread Tanaman,
Crop Spacing UOM,Spek Tanaman UOM,
Row Spacing,Barisan Baris,
Row Spacing UOM,Spasi Baris UOM,
Perennial,Perennial,
Biennial,Dua tahun,
Planting UOM,Menanam UOM,
Planting Area,Kawasan Penanaman,
Yield UOM,Hasil UOM,
Materials Required,Bahan yang diperlukan,
Produced Items,Item yang dihasilkan,
Produce,Menghasilkan,
Byproducts,Byproducts,
Linked Location,Lokasi Berkaitan,
A link to all the Locations in which the Crop is growing,Pautan ke semua Lokasi di mana Tanaman semakin berkembang,
This will be day 1 of the crop cycle,Ini akan menjadi hari 1 kitaran tanaman,
ISO 8601 standard,Standard ISO 8601,
Cycle Type,Jenis Kitaran,
Less than a year,Kurang dari setahun,
The minimum length between each plant in the field for optimum growth,Panjang minimum antara setiap loji di lapangan untuk pertumbuhan optimum,
The minimum distance between rows of plants for optimum growth,Jarak minimum antara barisan tumbuhan untuk pertumbuhan optimum,
Detected Diseases,Penyakit yang Dikesan,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Senarai penyakit yang dikesan di lapangan. Apabila dipilih, ia akan menambah senarai tugasan secara automatik untuk menangani penyakit ini",
Detected Disease,Penyakit yang Dikesan,
LInked Analysis,Analisis Berfikir,
Disease,Penyakit,
Tasks Created,Tugas Dibuat,
Common Name,Nama yang selalu digunakan,
Treatment Task,Tugas Rawatan,
Treatment Period,Tempoh Rawatan,
Fertilizer Name,Nama Baja,
Density (if liquid),Ketumpatan (jika cecair),
Fertilizer Contents,Kandungan Pupuk,
Fertilizer Content,Kandungan Baja,
Linked Plant Analysis,Analisis Loji Terkait,
Linked Soil Analysis,Analisis Tanah yang Berkaitan,
Linked Soil Texture,Tekstur tanah yang berkaitan,
Collection Datetime,Tarikh Dataran,
Laboratory Testing Datetime,Ujian Laboratorium Datetime,
Result Datetime,Hasil Datetime,
Plant Analysis Criterias,Kriterias Analisis Tanaman,
Plant Analysis Criteria,Kriteria Analisis Loji,
Minimum Permissible Value,Nilai Minimum yang Dibenarkan,
Maximum Permissible Value,Nilai maksimum yang dibenarkan,
Ca/K,Ca / K,
Ca/Mg,Ca / Mg,
Mg/K,Mg / K,
(Ca+Mg)/K,(Ca + Mg) / K,
Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
Soil Analysis Criterias,Kriterias Analisis Tanah,
Soil Analysis Criteria,Kriteria Analisis Tanah,
Soil Type,Jenis Tanah,
Loamy Sand,Loamy Sand,
Sandy Loam,Sandy Loam,
Loam,Loam,
Silt Loam,Silt Loam,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Loam Clay Loam,
Sandy Clay,Sandy Clay,
Silty Clay,Silty Clay,
Clay Composition (%),Komposisi tanah liat (%),
Sand Composition (%),Komposisi pasir (%),
Silt Composition (%),Komposisi lumpur (%),
Ternary Plot,Plot Ternary,
Soil Texture Criteria,Kriteria Tekanan Tanah,
Type of Sample,Jenis Sampel,
Container,Container,
Origin,Asal,
Collection Temperature ,Suhu Pengumpulan,
Storage Temperature,Suhu Penyimpanan,
Appearance,Rupa,
Person Responsible,Orang yang bertanggungjawab,
Water Analysis Criteria,Kriteria Analisis Air,
Weather Parameter,Parameter Cuaca,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Pemilik Aset,
Asset Owner Company,Syarikat Pemilik Aset,
Custodian,Kustodian,
Disposal Date,Tarikh pelupusan,
Journal Entry for Scrap,Kemasukan Jurnal untuk Scrap,
Available-for-use Date,Tarikh sedia untuk digunakan,
Calculate Depreciation,Hitung Susut nilai,
Allow Monthly Depreciation,Benarkan Susut Nilai Bulanan,
Number of Depreciations Booked,Jumlah penurunan nilai Ditempah,
Finance Books,Buku Kewangan,
Straight Line,Garis lurus,
Double Declining Balance,Baki Penurunan Double,
Manual,manual,
Value After Depreciation,Nilai Selepas Susutnilai,
Total Number of Depreciations,Jumlah penurunan nilai,
Frequency of Depreciation (Months),Kekerapan Susutnilai (Bulan),
Next Depreciation Date,Selepas Tarikh Susutnilai,
Depreciation Schedule,Jadual susutnilai,
Depreciation Schedules,Jadual susutnilai,
Insurance details,Maklumat insurans,
Policy number,Nombor polisi,
Insurer,Penanggung insurans,
Insured value,Nilai yang diinsuranskan,
Insurance Start Date,Tarikh Mula Insurans,
Insurance End Date,Tarikh Akhir Insurans,
Comprehensive Insurance,Insurans Komprehensif,
Maintenance Required,Penyelenggaraan Diperlukan,
Check if Asset requires Preventive Maintenance or Calibration,Periksa sama ada Asset memerlukan Penyelenggaraan Pencegahan atau Penentukuran,
Booked Fixed Asset,Pemeteraian Aset Tetap,
Purchase Receipt Amount,Jumlah Resit Pembelian,
Default Finance Book,Buku Kewangan Lalai,
Quality Manager,Pengurus Kualiti,
Asset Category Name,Asset Kategori Nama,
Depreciation Options,Pilihan Susut nilai,
Enable Capital Work in Progress Accounting,Membolehkan Kerja Modal dalam Perakaunan Kemajuan,
Finance Book Detail,Detail Buku Kewangan,
Asset Category Account,Akaun Kategori Asset,
Fixed Asset Account,Akaun Aset Tetap,
Accumulated Depreciation Account,Akaun Susut Nilai Terkumpul,
Depreciation Expense Account,Akaun Susut Perbelanjaan,
Capital Work In Progress Account,Kerja Modal Dalam Akaun Kemajuan,
Asset Finance Book,Buku Kewangan Aset,
Written Down Value,Nilai Tertulis,
Expected Value After Useful Life,Nilai dijangka After Life Berguna,
Rate of Depreciation,Kadar Susut Nilai,
In Percentage,Dalam Peratusan,
Maintenance Team,Pasukan Penyelenggaraan,
Maintenance Manager Name,Nama Pengurus Penyelenggaraan,
Maintenance Tasks,Tugas Penyelenggaraan,
Manufacturing User,Pembuatan pengguna,
Asset Maintenance Log,Log Penyelenggaraan Aset,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Jenis Penyelenggaraan,
Maintenance Status,Penyelenggaraan Status,
Planned,Dirancang,
Has Certificate ,Mempunyai Sijil,
Certificate,Sijil,
Actions performed,Tindakan dilakukan,
Asset Maintenance Task,Tugas Penyelenggaraan Aset,
Maintenance Task,Tugas Penyelenggaraan,
Preventive Maintenance,Penyelenggaraan pencegahan,
Calibration,Penentukuran,
2 Yearly,2 Tahunan,
Certificate Required,Sijil Diperlukan,
Assign to Name,Tugaskan ke Nama,
Next Due Date,Tarikh Akhir Seterusnya,
Last Completion Date,Tarikh Penyempurnaan Terakhir,
Asset Maintenance Team,Pasukan Penyelenggaraan Aset,
Maintenance Team Name,Nama Pasukan Penyelenggaraan,
Maintenance Team Members,Ahli Pasukan Penyelenggaraan,
Purpose,Tujuan,
Stock Manager,Pengurus saham,
Asset Movement Item,Item Pergerakan Aset,
Source Location,Lokasi Sumber,
From Employee,Dari Pekerja,
Target Location,Lokasi Sasaran,
To Employee,Kepada Pekerja,
Asset Repair,Pembaikan aset,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Tarikh Kegagalan,
Assign To Name,Berikan Nama,
Repair Status,Status Pembaikan,
Error Description,Ralat Penerangan,
Downtime,Waktu turun,
Repair Cost,Kos Pembaikan,
Manufacturing Manager,Pembuatan Pengurus,
Current Asset Value,Nilai Aset Semasa,
New Asset Value,Nilai Aset Baru,
Make Depreciation Entry,Buat Entry Susutnilai,
Finance Book Id,Id Buku Kewangan,
Location Name,Nama lokasi,
Parent Location,Lokasi Ibu Bapa,
Is Container,Adakah Container,
Check if it is a hydroponic unit,Semak sama ada unit hidroponik,
Location Details,Butiran Lokasi,
Latitude,Latitud,
Longitude,Longitud,
Area,Kawasan,
Area UOM,Kawasan UOM,
Tree Details,Tree Butiran,
Maintenance Team Member,Ahli Pasukan Penyelenggaraan,
Team Member,Ahli pasukan,
Maintenance Role,Peranan Penyelenggaraan,
Buying Settings,Tetapan Membeli,
Settings for Buying Module,Tetapan untuk Membeli Modul,
Supplier Naming By,Pembekal Menamakan Dengan,
Default Supplier Group,Kumpulan Pembekal Lalai,
Default Buying Price List,Default Senarai Membeli Harga,
Maintain same rate throughout purchase cycle,Mengekalkan kadar yang sama sepanjang kitaran pembelian,
Allow Item to be added multiple times in a transaction,Benarkan Perkara yang akan ditambah beberapa kali dalam urus niaga,
Backflush Raw Materials of Subcontract Based On,Bahan Binaan Backflush Subkontrak Berdasarkan Pada,
Material Transferred for Subcontract,Bahan yang Dipindahkan untuk Subkontrak,
Over Transfer Allowance (%),Lebih Elaun Pemindahan (%),
Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,Peratusan anda dibenarkan untuk memindahkan lebih banyak daripada kuantiti yang diperintahkan. Sebagai contoh: Jika anda telah memesan 100 unit. dan Elaun anda adalah 10% maka anda dibenarkan memindahkan 110 unit.,
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Dapatkan Item daripada Permintaan terbuka bahan,
Fetch items based on Default Supplier.,Ambil item berdasarkan Pembekal Lalai.,
Required By,Diperlukan oleh,
Order Confirmation No,Pengesahan Pesanan No,
Order Confirmation Date,Tarikh Pengesahan Pesanan,
Customer Mobile No,Pelanggan Bimbit,
Customer Contact Email,Pelanggan Hubungi E-mel,
Set Target Warehouse,Tetapkan Gudang Sasaran,
Sets 'Warehouse' in each row of the Items table.,Menetapkan &#39;Gudang&#39; di setiap baris jadual Item.,
Supply Raw Materials,Bekalan Bahan Mentah,
Purchase Order Pricing Rule,Peraturan Harga Pesanan Pembelian,
Set Reserve Warehouse,Tetapkan Gudang Rizab,
In Words will be visible once you save the Purchase Order.,Dalam Perkataan akan dapat dilihat selepas anda menyimpan Pesanan Belian.,
Advance Paid,Advance Dibayar,
Tracking,Penjejakan,
% Billed,% Dibilkan,
% Received,% Diterima,
Ref SQ,Ref SQ,
Inter Company Order Reference,Rujukan Pesanan Antara Syarikat,
Supplier Part Number,Pembekal Bahagian Nombor,
Billed Amt,Billed AMT,
Warehouse and Reference,Gudang dan Rujukan,
To be delivered to customer,Yang akan dihantar kepada pelanggan,
Material Request Item,Bahan Permintaan Item,
Supplier Quotation Item,Pembekal Sebutharga Item,
Against Blanket Order,Terhadap Perintah Selimut,
Blanket Order,Perintah Selimut,
Blanket Order Rate,Kadar Perintah Selimut,
Returned Qty,Kembali Kuantiti,
Purchase Order Item Supplied,Pesanan Pembelian Item Dibekalkan,
BOM Detail No,Detail BOM Tiada,
Stock Uom,Saham UOM,
Raw Material Item Code,Bahan mentah Item Code,
Supplied Qty,Dibekalkan Qty,
Purchase Receipt Item Supplied,Resit Pembelian Item Dibekalkan,
Current Stock,Saham Semasa,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Bagi pembekal individu,
Supplier Detail,Detail pembekal,
Link to Material Requests,Pautan ke Permintaan Bahan,
Message for Supplier,Mesej untuk Pembekal,
Request for Quotation Item,Sebut Harga Item,
Required Date,Tarikh Diperlukan,
Request for Quotation Supplier,Sebut Harga Pembekal,
Send Email,Hantar E-mel,
Quote Status,Status Petikan,
Download PDF,Download PDF,
Supplier of Goods or Services.,Pembekal Barangan atau Perkhidmatan.,
Name and Type,Nama dan Jenis,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Akaun Bank Default,
Is Transporter,Adakah Transporter,
Represents Company,Merupakan Syarikat,
Supplier Type,Jenis Pembekal,
Allow Purchase Invoice Creation Without Purchase Order,Benarkan Pembuatan Invois Pembelian Tanpa Pesanan Pembelian,
Allow Purchase Invoice Creation Without Purchase Receipt,Benarkan Pembuatan Invois Pembelian Tanpa Resit Pembelian,
Warn RFQs,Amaran RFQs,
Warn POs,Amaran PO,
Prevent RFQs,Cegah RFQs,
Prevent POs,Mencegah PO,
Billing Currency,Bil Mata Wang,
Default Payment Terms Template,Templat Terma Pembayaran Lalai,
Block Supplier,Pembekal Blok,
Hold Type,Tahan Jenis,
Leave blank if the Supplier is blocked indefinitely,Biarkan kosong jika Pembekal disekat selama-lamanya,
Default Payable Accounts,Default Akaun Belum Bayar,
Mention if non-standard payable account,Menyebut jika tidak standard akaun yang perlu dibayar,
Default Tax Withholding Config,Config Holding Tax Default,
Supplier Details,Butiran Pembekal,
Statutory info and other general information about your Supplier,Maklumat berkanun dan maklumat umum lain mengenai pembekal anda,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Alamat Pembekal,
Link to material requests,Link kepada permintaan bahan,
Rounding Adjustment (Company Currency,Pelarasan Membulat (Mata Wang Syarikat,
Auto Repeat Section,Seksyen Ulang Auto,
Is Subcontracted,Apakah Subkontrak,
Lead Time in days,Masa utama dalam hari,
Supplier Score,Skor Pembekal,
Indicator Color,Warna Petunjuk,
Evaluation Period,Tempoh Penilaian,
Per Week,Seminggu,
Per Month,Sebulan,
Per Year,Setiap tahun,
Scoring Setup,Persediaan Pemarkahan,
Weighting Function,Fungsi Berat,
"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Pemboleh ubah kad skor boleh digunakan, dan juga: {total_score} (jumlah skor dari tempoh itu), {period_number} (bilangan tempoh hingga ke hari sekarang)",
Scoring Standings,Kedudukan Markah,
Criteria Setup,Persediaan Kriteria,
Load All Criteria,Muatkan Semua Kriteria,
Scoring Criteria,Kriteria Pemarkahan,
Scorecard Actions,Tindakan Kad Scorecard,
Warn for new Request for Quotations,Amalkan Permintaan untuk Sebut Harga baru,
Warn for new Purchase Orders,Amalkan pesanan baru,
Notify Supplier,Maklumkan Pembekal,
Notify Employee,Memberitahu Pekerja,
Supplier Scorecard Criteria,Kriteria Kad Skor Pembekal,
Criteria Name,Nama Kriteria,
Max Score,Markah Maks,
Criteria Formula,Formula Kriteria,
Criteria Weight,Kriteria Berat,
Supplier Scorecard Period,Tempoh Kad Scorecard Pembekal,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Markah Skor,
Calculations,Pengiraan,
Criteria,Kriteria,
Variables,Pembolehubah,
Supplier Scorecard Setup,Persediaan Kad Scorecard Pembekal,
Supplier Scorecard Scoring Criteria,Kriteria Pencari Skor Pembekal,
Score,Rata,
Supplier Scorecard Scoring Standing,Supplier Scorecard Scoring Standing,
Standing Name,Nama Berdiri,
Purple,Ungu,
Yellow,Kuning,
Orange,Jingga,
Min Grade,Gred Min,
Max Grade,Gred Maks,
Warn Purchase Orders,Perhatian Pesanan Pembelian,
Prevent Purchase Orders,Cegah Pesanan Pembelian,
Employee ,Pekerja,
Supplier Scorecard Scoring Variable,Pembekal Skor Kad Pembekal Pembekal,
Variable Name,Nama Variabel,
Parameter Name,Nama Parameter,
Supplier Scorecard Standing,Pembekal kad skor pembekal,
Notify Other,Beritahu Yang Lain,
Supplier Scorecard Variable,Pembolehubah Kad Skor Pembekal,
Call Log,Log panggilan,
Received By,Diterima oleh,
Caller Information,Maklumat Pemanggil,
Contact Name,Nama Kenalan,
Lead ,Memimpin,
Lead Name,Nama Lead,
Ringing,Ringing,
Missed,Tidak dijawab,
Call Duration in seconds,Tempoh panggilan dalam saat,
Recording URL,Rakaman URL,
Communication Medium,Komunikasi Sederhana,
Communication Medium Type,Jenis Sederhana Komunikasi,
Voice,Suara,
Catch All,Tangkap Semua,
"If there is no assigned timeslot, then communication will be handled by this group","Jika tidak ada timeslot yang ditetapkan, maka komunikasi akan dikendalikan oleh kumpulan ini",
Timeslots,Timeslots,
Communication Medium Timeslot,Komunikasi Timeslot Sederhana,
Employee Group,Kumpulan Pekerja,
Appointment,Pelantikan,
Scheduled Time,Masa yang telah dijadualkan,
Unverified,Tidak dapat disahkan,
Customer Details,Butiran Pelanggan,
Phone Number,Nombor telefon,
Skype ID,ID Skype,
Linked Documents,Dokumen Berkaitan,
Appointment With,Pelantikan Dengan,
Calendar Event,Acara Kalendar,
Appointment Booking Settings,Tetapan Tempahan Pelantikan,
Enable Appointment Scheduling,Dayakan Penjadualan Pelantikan,
Agent Details,Butiran Agen,
Availability Of Slots,Ketersediaan Slot,
Number of Concurrent Appointments,Bilangan Pelantikan Bersamaan,
Agents,Ejen,
Appointment Details,Butiran Pelantikan,
Appointment Duration (In Minutes),Tempoh Pelantikan (Dalam Menit),
Notify Via Email,Beritahu Melalui E-mel,
Notify customer and agent via email on the day of the appointment.,Beritahu pelanggan dan ejen melalui e-mel pada hari pelantikan.,
Number of days appointments can be booked in advance,Bilangan pelantikan hari boleh ditempah terlebih dahulu,
Success Settings,Tetapan Kejayaan,
Success Redirect URL,URL Redirect Kejayaan,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Biarkan kosong untuk rumah. Ini adalah relatif terhadap URL tapak, contohnya &quot;kira&quot; akan mengarahkan semula ke &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Slot Tempahan Pelantikan,
Day Of Week,Hari dalam seminggu,
From Time ,Dari Masa,
Campaign Email Schedule,Jadual E-mel Kempen,
Send After (days),Hantar Selepas (hari),
Signed,Ditandatangani,
Party User,Pengguna Parti,
Unsigned,Unsigned,
Fulfilment Status,Status Penyempurnaan,
N/A,N / A,
Unfulfilled,Tidak dipenuhi,
Partially Fulfilled,Sebahagian Sepenuhnya,
Fulfilled,Diisi,
Lapsed,Lapsed,
Contract Period,Tempoh kontrak,
Signee Details,Butiran Signee,
Signee,Signee,
Signed On,Ditandatangani,
Contract Details,Butiran Kontrak,
Contract Template,Templat Kontrak,
Contract Terms,Terma Kontrak,
Fulfilment Details,Butiran Penyempurnaan,
Requires Fulfilment,Memerlukan Pemenuhan,
Fulfilment Deadline,Tarikh akhir penyempurnaan,
Fulfilment Terms,Terma Sepenuh,
Contract Fulfilment Checklist,Senarai Semak Pengalaman Kontrak,
Requirement,Keperluan,
Contract Terms and Conditions,Terma dan Syarat Kontrak,
Fulfilment Terms and Conditions,Terma dan Syarat Pemenuhan,
Contract Template Fulfilment Terms,Terma Pemenuhan Template Kontrak,
Email Campaign,Kempen E-mel,
Email Campaign For ,Kempen E-mel Untuk,
Lead is an Organization,Lead adalah Organisasi,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Nama Orang,
Lost Quotation,hilang Sebutharga,
Interested,Berminat,
Converted,Ditukar,
Do Not Contact,Jangan Hubungi,
From Customer,Daripada Pelanggan,
Campaign Name,Nama Kempen,
Follow Up,Mengikuti,
Next Contact By,Hubungi Seterusnya By,
Next Contact Date,Hubungi Seterusnya Tarikh,
Ends On,Berakhir Pada,
Address & Contact,Alamat,
Mobile No.,No. Telefon,
Lead Type,Jenis Lead,
Channel Partner,Rakan Channel,
Consultant,Perunding,
Market Segment,Segmen pasaran,
Industry,Industri,
Request Type,Jenis Permintaan,
Product Enquiry,Pertanyaan Produk,
Request for Information,Permintaan Maklumat,
Suggestions,Cadangan,
Blog Subscriber,Blog Pelanggan,
LinkedIn Settings,Tetapan LinkedIn,
Company ID,ID Syarikat,
OAuth Credentials,Kelayakan OAuth,
Consumer Key,Kunci Pengguna,
Consumer Secret,Rahsia Pengguna,
User Details,Maklumat Pengguna,
Person URN,Orang URN,
Session Status,Status Sesi,
Lost Reason Detail,Detil Sebab Hilang,
Opportunity Lost Reason,Peluang Hilang Peluang,
Potential Sales Deal,Deal Potensi Jualan,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Peluang Daripada,
Customer / Lead Name,Pelanggan / Nama Lead,
Opportunity Type,Jenis Peluang,
Converted By,Diubah oleh,
Sales Stage,Peringkat Jualan,
Lost Reason,Hilang Akal,
Expected Closing Date,Tarikh Tutup Dijangkakan,
To Discuss,Bincang,
With Items,Dengan Item,
Probability (%),Kebarangkalian (%),
Contact Info,Maklumat perhubungan,
Customer / Lead Address,Pelanggan / Lead Alamat,
Contact Mobile No,Hubungi Mobile No,
Enter name of campaign if source of enquiry is campaign,Masukkan nama kempen jika sumber siasatan adalah kempen,
Opportunity Date,Peluang Tarikh,
Opportunity Item,Peluang Perkara,
Basic Rate,Kadar asas,
Stage Name,Nama pentas,
Social Media Post,Catatan Media Sosial,
Post Status,Status Pengeposan,
Posted,Dihantar,
Share On,Kongsikan,
Twitter,Twitter,
LinkedIn,LinkedIn,
Twitter Post Id,Id Catatan Twitter,
LinkedIn Post Id,Id Catatan LinkedIn,
Tweet,Tweet,
Twitter Settings,Tetapan Twitter,
API Secret Key,Kunci Rahsia API,
Term Name,Nama jangka,
Term Start Date,Term Tarikh Mula,
Term End Date,Term Tarikh Tamat,
Academics User,akademik Pengguna,
Academic Year Name,Nama Akademik Tahun,
Article,Artikel,
LMS User,Pengguna LMS,
Assessment Criteria Group,Kriteria Penilaian Kumpulan,
Assessment Group Name,Nama Kumpulan Penilaian,
Parent Assessment Group,Persatuan Ibu Bapa Penilaian,
Assessment Name,Nama penilaian,
Grading Scale,Skala penggredan,
Examiner,pemeriksa,
Examiner Name,Nama pemeriksa,
Supervisor,penyelia,
Supervisor Name,Nama penyelia,
Evaluate,Evaluasi,
Maximum Assessment Score,Maksimum Skor Penilaian,
Assessment Plan Criteria,Kriteria Penilaian Pelan,
Maximum Score,Skor maksimum,
Result,Keputusan,
Total Score,Jumlah markah,
Grade,gred,
Assessment Result Detail,Penilaian Keputusan terperinci,
Assessment Result Tool,Penilaian Keputusan Tool,
Result HTML,keputusan HTML,
Content Activity,Aktiviti Kandungan,
Last Activity ,Aktiviti Terakhir,
Content Question,Soalan Kandungan,
Question Link,Pautan Soalan,
Course Name,Nama kursus,
Topics,Topik,
Hero Image,Imej Hero,
Default Grading Scale,Skala Penggredan lalai,
Education Manager,Pengurus Pendidikan,
Course Activity,Aktiviti Kursus,
Course Enrollment,Pendaftaran Kursus,
Activity Date,Tarikh Aktiviti,
Course Assessment Criteria,Kriteria Penilaian Kursus,
Weightage,Wajaran,
Course Content,Kandungan kursus,
Quiz,Kuiz,
Program Enrollment,program Pendaftaran,
Enrollment Date,Tarikh pendaftaran,
Instructor Name,pengajar Nama,
EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
Course Scheduling Tool,Kursus Alat Penjadualan,
Course Start Date,Kursus Tarikh Mula,
To TIme,Untuk Masa,
Course End Date,Kursus Tarikh Akhir,
Course Topic,Topik Kursus,
Topic,Topic,
Topic Name,Topic Nama,
Education Settings,Tetapan Pendidikan,
Current Academic Year,Semasa Tahun Akademik,
Current Academic Term,Jangka Akademik Semasa,
Attendance Freeze Date,Kehadiran Freeze Tarikh,
Validate Batch for Students in Student Group,Mengesahkan Batch untuk Pelajar dalam Kumpulan Pelajar,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Untuk Kumpulan Pelajar Batch berasaskan, Batch Pelajar akan disahkan bagi tiap-tiap pelajar daripada Program Pendaftaran.",
Validate Enrolled Course for Students in Student Group,Mengesahkan supply Kursus Pelajar dalam Kumpulan Pelajar,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Untuk Kumpulan Pelajar berdasarkan, Kursus yang akan disahkan bagi tiap-tiap Pelajar daripada Kursus mendaftar dalam Program Pendaftaran.",
Make Academic Term Mandatory,Buat Mandat Berlaku Akademik,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Sekiranya diaktifkan, Tempoh Akademik bidang akan Dikenakan dalam Alat Pendaftaran Program.",
Skip User creation for new Student,Langkau pembuatan Pengguna untuk Pelajar baru,
"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Secara lalai, Pengguna baru dibuat untuk setiap Pelajar baru. Sekiranya diaktifkan, tidak ada Pengguna baru yang akan dibuat semasa Pelajar baru dibuat.",
Instructor Records to be created by,Rekod Pengajar akan diwujudkan oleh,
Employee Number,Bilangan pekerja,
Fee Category,Bayaran Kategori,
Fee Component,Komponen Bayaran,
Fees Category,yuran Kategori,
Fee Schedule,Jadual Bayaran,
Fee Structure,Struktur Bayaran,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Status Penciptaan Fee,
In Process,Dalam Proses,
Send Payment Request Email,Hantar E-mel Permintaan Pembayaran,
Student Category,Kategori pelajar,
Fee Breakup for each student,Breakout Fee untuk setiap pelajar,
Total Amount per Student,Jumlah Amaun setiap Pelajar,
Institution,institusi,
Fee Schedule Program,Program Jadual Bayaran,
Student Batch,Batch pelajar,
Total Students,Jumlah Pelajar,
Fee Schedule Student Group,Jadual Pelajar Jadual Pelajar,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Termasuk Pembayaran,
Send Payment Request,Hantar Permintaan Bayaran,
Student Details,Butiran Pelajar,
Student Email,E-mel Pelajar,
Grading Scale Name,Grading Nama Skala,
Grading Scale Intervals,Selang Grading Skala,
Intervals,selang,
Grading Scale Interval,Grading Skala Interval,
Grade Code,Kod gred,
Threshold,ambang,
Grade Description,gred Penerangan,
Guardian,Guardian,
Guardian Name,Nama Guardian,
Alternate Number,Nombor Ganti,
Occupation,Pekerjaan,
Work Address,kerja Alamat,
Guardian Of ,Guardian Of,
Students,pelajar,
Guardian Interests,Guardian minat,
Guardian Interest,Guardian Faedah,
Interest,Faedah,
Guardian Student,Guardian Pelajar,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Log Pengajar,
Other details,Butiran lain,
Option,Pilihan,
Is Correct,Betul,
Program Name,Nama program,
Program Abbreviation,Singkatan program,
Courses,kursus,
Is Published,Telah Diterbitkan,
Allow Self Enroll,Benarkan Diri Sendiri,
Is Featured,Disediakan,
Intro Video,Video Pengenalan,
Program Course,Kursus program,
School House,School House,
Boarding Student,Boarding Pelajar,
Check this if the Student is residing at the Institute's Hostel.,Semak ini jika Pelajar itu yang menetap di Institut Hostel.,
Walking,berjalan,
Institute's Bus,Bas Institute,
Public Transport,Pengangkutan awam,
Self-Driving Vehicle,Self-Driving Kenderaan,
Pick/Drop by Guardian,Pick / Drop oleh Guardian,
Enrolled courses,kursus mendaftar,
Program Enrollment Course,Kursus Program Pendaftaran,
Program Enrollment Fee,Program Bayaran Pendaftaran,
Program Enrollment Tool,Program Pendaftaran Tool,
Get Students From,Dapatkan Pelajar Dari,
Student Applicant,Pemohon pelajar,
Get Students,Dapatkan Pelajar,
Enrollment Details,Butiran Pendaftaran,
New Program,Program baru,
New Student Batch,Batch Pelajar Baru,
Enroll Students,Daftarkan Pelajar,
New Academic Year,New Akademik Tahun,
New Academic Term,Terma Akademik Baru,
Program Enrollment Tool Student,Program Pendaftaran Tool Pelajar,
Student Batch Name,Pelajar Batch Nama,
Program Fee,Yuran program,
Question,Soalan,
Single Correct Answer,Jawapan yang betul,
Multiple Correct Answer,Berbilang Jawapan yang Betul,
Quiz Configuration,Konfigurasi Kuiz,
Passing Score,Markah lulus,
Score out of 100,Skor daripada 100,
Max Attempts,Percubaan Max,
Enter 0 to waive limit,Masukkan 0 untuk mengetepikan had,
Grading Basis,Asas Penggredan,
Latest Highest Score,Skor Tertinggi Terkini,
Latest Attempt,Percubaan terkini,
Quiz Activity,Aktiviti Kuiz,
Enrollment,Pendaftaran,
Pass,Pas,
Quiz Question,Soalan Kuiz,
Quiz Result,Keputusan Kuiz,
Selected Option,Pilihan Terpilih,
Correct,Betul,
Wrong,Salah,
Room Name,Nama bilik,
Room Number,Nombor bilik,
Seating Capacity,Kapasiti Tempat Duduk,
House Name,Nama rumah,
EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
Student Mobile Number,Pelajar Nombor Telefon,
Joining Date,menyertai Tarikh,
Blood Group,Kumpulan Darah,
A+,A +,
A-,A-,
B+,B +,
B-,B-,
O+,O +,
O-,O-,
AB+,AB +,
AB-,AB,
Nationality,Warganegara,
Home Address,Alamat rumah,
Guardian Details,Guardian Butiran,
Guardians,penjaga,
Sibling Details,Maklumat adik-beradik,
Siblings,Adik-beradik,
Exit,Keluar,
Date of Leaving,Tarikh Meninggalkan,
Leaving Certificate Number,Meninggalkan Nombor Sijil,
Reason For Leaving,Alasan untuk pergi,
Student Admission,Kemasukan pelajar,
Admission Start Date,Kemasukan Tarikh Mula,
Admission End Date,Kemasukan Tarikh Tamat,
Publish on website,Menerbitkan di laman web,
Eligibility and Details,Kelayakan dan Butiran,
Student Admission Program,Program Kemasukan Pelajar,
Minimum Age,Umur minimum,
Maximum Age,Umur Maksimum,
Application Fee,Bayaran permohonan,
Naming Series (for Student Applicant),Penamaan Series (untuk Pelajar Pemohon),
LMS Only,LMS sahaja,
EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
Application Status,Status permohonan,
Application Date,Tarikh permohonan,
Student Attendance Tool,Alat Kehadiran Pelajar,
Group Based On,Berdasarkan Kumpulan,
Students HTML,pelajar HTML,
Group Based on,Pada Based Group,
Student Group Name,Nama Kumpulan Pelajar,
Max Strength,Max Kekuatan,
Set 0 for no limit,Hanya 0 untuk tiada had,
Instructors,pengajar,
Student Group Creation Tool,Pelajar Kumpulan Tool Creation,
Leave blank if you make students groups per year,Biarkan kosong jika anda membuat kumpulan pelajar setahun,
Get Courses,Dapatkan Kursus,
Separate course based Group for every Batch,Berasingan Kumpulan berdasarkan kursus untuk setiap Batch,
Leave unchecked if you don't want to consider batch while making course based groups. ,Biarkan tak bertanda jika anda tidak mahu mempertimbangkan kumpulan semasa membuat kumpulan kursus berasaskan.,
Student Group Creation Tool Course,Kursus Kumpulan Pelajar Creation Tool,
Course Code,Kod kursus,
Student Group Instructor,Pengajar Kumpulan Pelajar,
Student Group Student,Pelajar Kumpulan Pelajar,
Group Roll Number,Kumpulan Nombor Roll,
Student Guardian,Guardian pelajar,
Relation,Perhubungan,
Mother,ibu,
Father,Bapa,
Student Language,Bahasa pelajar,
Student Leave Application,Pelajar Permohonan Cuti,
Mark as Present,Tanda sebagai Sekarang,
Student Log,Log pelajar,
Academic,akademik,
Achievement,Pencapaian,
Student Report Generation Tool,Alat Generasi Laporan Pelajar,
Include All Assessment Group,Termasuk Semua Kumpulan Penilaian,
Show Marks,Tunjukkan Tanda,
Add letterhead,Tambah Letterhead,
Print Section,Seksyen Cetak,
Total Parents Teacher Meeting,Mesyuarat Guru Ibu Jumlah,
Attended by Parents,Dihadiri oleh Ibu Bapa,
Assessment Terms,Terma Penilaian,
Student Sibling,Adik-beradik pelajar,
Studying in Same Institute,Belajar di Institut Sama,
NO,TIADA,
YES,YA,
Student Siblings,Adik-beradik pelajar,
Topic Content,Kandungan Topik,
Amazon MWS Settings,Tetapan MWS Amazon,
ERPNext Integrations,Integrasi ERPNext,
Enable Amazon,Dayakan Amazon,
MWS Credentials,Kredensial MWS,
Seller ID,ID Penjual,
AWS Access Key ID,ID kunci akses AWS,
MWS Auth Token,MWS Auth Token,
Market Place ID,ID Tempat Pasar,
AE,AE,
AU,AU,
BR,BR,
CA,CA,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
IN,DALAM,
JP,JP,
IT,IT,
MX,MX,
UK,UK,
US,AS,
Customer Type,Jenis Pelanggan,
Market Place Account Group,Kumpulan Akaun Tempat Pasaran,
After Date,Selepas Tarikh,
Amazon will synch data updated after this date,Amazon akan menyegerakkan data dikemas kini selepas tarikh ini,
Sync Taxes and Charges,Segerakkan Cukai dan Caj,
Get financial breakup of Taxes and charges data by Amazon ,Dapatkan pecahan kewangan Cukai dan caj data oleh Amazon,
Sync Products,Segerakkan Produk,
Always sync your products from Amazon MWS before synching the Orders details,Sentiasa segerakkan produk anda dari Amazon MWS sebelum menyelaraskan butiran Pesanan,
Sync Orders,Pesanan Segerak,
Click this button to pull your Sales Order data from Amazon MWS.,Klik butang ini untuk menarik data Pesanan Jualan anda dari Amazon MWS.,
Enable Scheduled Sync,Dayakan Penyegerakan Berjadual,
Check this to enable a scheduled Daily synchronization routine via scheduler,Semak ini untuk membolehkan rutin penyegerakan harian dijadualkan melalui penjadual,
Max Retry Limit,Batas Semula Maksima,
Exotel Settings,Tetapan Exotel,
Account SID,SID Akaun,
API Token,Token API,
GoCardless Mandate,Mandat GoCardless,
Mandate,Mandat,
GoCardless Customer,Pelanggan GoCardless,
GoCardless Settings,Tetapan GoCardless,
Webhooks Secret,Rahsia Webhooks,
Plaid Settings,Tetapan Plaid,
Synchronize all accounts every hour,Segerakkan semua akaun setiap jam,
Plaid Client ID,ID Pelanggan Plaid,
Plaid Secret,Rahsia Plaid,
Plaid Environment,Persekitaran Plaid,
sandbox,kotak pasir,
development,pembangunan,
production,pengeluaran,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Tetapan Aplikasi,
Token Endpoint,Token Endpoint,
Scope,Skop,
Authorization Settings,Tetapan Kebenaran,
Authorization Endpoint,Endpoint Kebenaran,
Authorization URL,URL Kebenaran,
Quickbooks Company ID,ID Syarikat Buku Cepat,
Company Settings,Tetapan Syarikat,
Default Shipping Account,Akaun Penghantaran Terhad,
Default Warehouse,Gudang Default,
Default Cost Center,Kos Pusat Default,
Undeposited Funds Account,Akaun Dana Undeposited,
Shopify Log,Log Shopify,
Request Data,Meminta Data,
Shopify Settings,Shopify Settings,
status html,html status,
Enable Shopify,Dayakan Shopify,
App Type,Jenis Apl,
Last Sync Datetime,Datetime Sync Terakhir,
Shop URL,Kedai URL,
eg: frappe.myshopify.com,contohnya: frappe.myshopify.com,
Shared secret,Rahsia dikongsi,
Webhooks Details,Butiran Webhooks,
Webhooks,Webhooks,
Customer Settings,Tetapan Pelanggan,
Default Customer,Pelanggan Lalai,
Customer Group will set to selected group while syncing customers from Shopify,Kumpulan Pelanggan akan ditetapkan kepada kumpulan terpilih semasa menyegerakkan pelanggan dari Shopify,
For Company,Bagi Syarikat,
Cash Account will used for Sales Invoice creation,Akaun Tunai akan digunakan untuk penciptaan Jualan Invois,
Update Price from Shopify To ERPNext Price List,Kemas kini Harga dari Shopify ke ERPNext List Price,
Default Warehouse to to create Sales Order and Delivery Note,Gudang Asal untuk membuat Perintah Jualan dan Penghantaran,
Sales Order Series,Siri Perintah Jualan,
Import Delivery Notes from Shopify on Shipment,Import Nota Penghantaran dari Shopify pada Penghantaran,
Delivery Note Series,Siri Nota Penghantaran,
Import Sales Invoice from Shopify if Payment is marked,Import Invois Jualan dari Shopify jika Pembayaran ditandakan,
Sales Invoice Series,Siri Invois Jualan,
Shopify Tax Account,Shopify Akaun Cukai,
Shopify Tax/Shipping Title,Shopify Tax / Title Penghantaran,
ERPNext Account,Akaun ERPNext,
Shopify Webhook Detail,Shopify Webhook Detail,
Webhook ID,ID Webhook,
Tally Migration,Penghijrahan Tally,
Master Data,Data induk,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Data yang dieksport dari Tally yang terdiri daripada Carta Akaun, Pelanggan, Pembekal, Alamat, Item dan UOM",
Is Master Data Processed,Adakah Data Master Diproses,
Is Master Data Imported,Adakah Data Master Diimport,
Tally Creditors Account,Akaun Tally Creditors,
Creditors Account set in Tally,Akaun Pemiutang ditetapkan dalam Tally,
Tally Debtors Account,Akaun Tally Debtors,
Debtors Account set in Tally,Akaun Penghutang ditetapkan dalam Tally,
Tally Company,Syarikat Tally,
Company Name as per Imported Tally Data,Nama Syarikat mengikut Data Penghitungan yang Diimport,
Default UOM,UOM lalai,
UOM in case unspecified in imported data,UOM sekiranya tidak dinyatakan dalam data yang diimport,
ERPNext Company,Syarikat ERPNext,
Your Company set in ERPNext,Syarikat anda ditetapkan dalam ERPNext,
Processed Files,Fail Diproses,
Parties,Pihak-pihak,
UOMs,UOMs,
Vouchers,Baucer,
Round Off Account,Bundarkan Akaun,
Day Book Data,Data Buku Hari,
Day Book Data exported from Tally that consists of all historic transactions,Data Buku Hari yang dieksport dari Tally yang terdiri daripada semua transaksi bersejarah,
Is Day Book Data Processed,Adakah Data Buku Hari Diproses,
Is Day Book Data Imported,Adakah Data Buku Hari Diimport,
Woocommerce Settings,Tetapan Woocommerce,
Enable Sync,Dayakan Segerak,
Woocommerce Server URL,URL Pelayan Woocommerce,
Secret,Rahsia,
API consumer key,Kunci pengguna API,
API consumer secret,Rahsia pengguna API,
Tax Account,Akaun Cukai,
Freight and Forwarding Account,Akaun Pengangkut dan Pengiriman,
Creation User,Pengguna Penciptaan,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Pengguna yang akan digunakan untuk membuat Pelanggan, Item dan Pesanan Jualan. Pengguna ini harus mempunyai kebenaran yang berkaitan.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Gudang ini akan digunakan untuk membuat Pesanan Jualan. Gundukan sandaran adalah &quot;Kedai&quot;.,
"The fallback series is ""SO-WOO-"".",Siri sandaran adalah &quot;SO-WOO-&quot;.,
This company will be used to create Sales Orders.,Syarikat ini akan digunakan untuk membuat Pesanan Jualan.,
Delivery After (Days),Penghantaran Selepas (Hari),
This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Ini adalah offset lalai (hari) untuk Tarikh Penghantaran di Pesanan Jualan. Offset sandaran adalah 7 hari dari tarikh penempatan pesanan.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Inilah UOM lalai yang digunakan untuk item dan pesanan Jualan. UOM fallback adalah &quot;Nos&quot;.,
Endpoints,Titik akhir,
Endpoint,Titik akhir,
Antibiotic Name,Nama antibiotik,
Healthcare Administrator,Pentadbir Kesihatan,
Laboratory User,Pengguna Makmal,
Is Inpatient,Adalah Pesakit Dalam,
Default Duration (In Minutes),Tempoh Lalai (Dalam Minit),
Body Part,Bahagian badan,
Body Part Link,Pautan Bahagian Badan,
HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
Procedure Template,Templat Prosedur,
Procedure Prescription,Preskripsi Prosedur,
Service Unit,Unit Perkhidmatan,
Consumables,Makanan yang boleh dimakan,
Consume Stock,Ambil Saham,
Invoice Consumables Separately,Consumable Invoice Secara Berasingan,
Consumption Invoiced,Penggunaan Diinvois,
Consumable Total Amount,Jumlah Jumlah Boleh Digunakan,
Consumption Details,Perincian Penggunaan,
Nursing User,Pengguna Kejururawatan,
Clinical Procedure Item,Perkara Prosedur Klinikal,
Invoice Separately as Consumables,Invois secara berasingan sebagai Konsumu,
Transfer Qty,Pemindahan Qty,
Actual Qty (at source/target),Kuantiti sebenar (pada sumber / sasaran),
Is Billable,Boleh ditebus,
Allow Stock Consumption,Benarkan Penggunaan Stok,
Sample UOM,Contoh UOM,
Collection Details,Butiran Koleksi,
Change In Item,Tukar Item,
Codification Table,Jadual Pengkodan,
Complaints,Aduan,
Dosage Strength,Kekuatan Dos,
Strength,Kekuatan,
Drug Prescription,Preskripsi Dadah,
Drug Name / Description,Nama / Keterangan Dadah,
Dosage,Dos,
Dosage by Time Interval,Dos oleh selang masa,
Interval,Selang,
Interval UOM,Selang UOM,
Hour,Jam,
Update Schedule,Kemas kini Jadual,
Exercise,Senaman,
Difficulty Level,Tahap Kesukaran,
Counts Target,Mengira Sasaran,
Counts Completed,Kiraan Selesai,
Assistance Level,Tahap Bantuan,
Active Assist,Bantuan Aktif,
Exercise Name,Nama Latihan,
Body Parts,Bahagian badan,
Exercise Instructions,Arahan Latihan,
Exercise Video,Video Latihan,
Exercise Steps,Langkah Latihan,
Steps,Langkah-langkah,
Steps Table,Jadual Langkah,
Exercise Type Step,Langkah Jenis Latihan,
Max number of visit,Bilangan lawatan maksimum,
Visited yet,Dikunjungi lagi,
Reference Appointments,Temujanji Rujukan,
Valid till,Sah sehingga,
Fee Validity Reference,Rujukan Kesahan Yuran,
Basic Details,Perincian Asas,
HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
Mobile,Mobile,
Phone (R),Telefon (R),
Phone (Office),Telefon (Pejabat),
Employee and User Details,Maklumat Pekerja dan Pengguna,
Hospital,Hospital,
Appointments,Pelantikan,
Practitioner Schedules,Jadual Pengamal,
Charges,Caj,
Out Patient Consulting Charge,Bayaran Perundingan Pesakit Luar,
Default Currency,Mata wang lalai,
Healthcare Schedule Time Slot,Jadual Penjagaan Kesihatan Slot Masa,
Parent Service Unit,Unit Perkhidmatan Ibu Bapa,
Service Unit Type,Jenis Unit Perkhidmatan,
Allow Appointments,Benarkan Pelantikan,
Allow Overlap,Beri tumpang tindih,
Inpatient Occupancy,Pendudukan Pesakit Dalam,
Occupancy Status,Status Penghunian,
Vacant,Kosong,
Occupied,Diduduki,
Item Details,Butiran Item,
UOM Conversion in Hours,UOM Penukaran dalam jam,
Rate / UOM,Kadar / UOM,
Change in Item,Ubah Dalam Perkara,
Out Patient Settings,Daripada Seting Pesakit,
Patient Name By,Nama Pesakit Mengikut,
Patient Name,Nama Pesakit,
Link Customer to Patient,Pautkan Pelanggan dengan Pesakit,
"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Sekiranya disemak, pelanggan akan dibuat, dipetakan kepada Pesakit. Invois Pesakit akan dibuat terhadap Pelanggan ini. Anda juga boleh memilih Pelanggan sedia ada semasa membuat Pesakit.",
Default Medical Code Standard,Standard Kod Perubatan Default,
Collect Fee for Patient Registration,Kumpulkan Bayaran Pendaftaran Pesakit,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Memeriksa ini akan membuat Pesakit baru dengan status Orang Kurang Upaya secara lalai dan hanya akan diaktifkan setelah membuat bayaran Yuran Pendaftaran.,
Registration Fee,Yuran pendaftaran,
Automate Appointment Invoicing,Invois Pelantikan Automatik,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Urus Pelantikan Invois mengemukakan dan membatalkan secara automatik untuk Encounter Pesakit,
Enable Free Follow-ups,Dayakan Susulan Percuma,
Number of Patient Encounters in Valid Days,Bilangan Pertemuan Pesakit dalam Hari Sah,
The number of free follow ups (Patient Encounters in valid days) allowed,Jumlah tindak lanjut percuma (Pertemuan Pesakit dalam hari yang sah) yang dibenarkan,
Valid Number of Days,Bilangan hari yang sah,
Time period (Valid number of days) for free consultations,Tempoh masa (bilangan hari yang sah) untuk rundingan percuma,
Default Healthcare Service Items,Item Perkhidmatan Penjagaan Kesihatan Lalai,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Anda boleh mengkonfigurasi Item lalai untuk bayaran konsultasi penagihan, item penggunaan prosedur dan lawatan pesakit dalam",
Clinical Procedure Consumable Item,Prosedur Klinikal,
Default Accounts,Akaun Lalai,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Akaun pendapatan lalai akan digunakan jika tidak ditetapkan dalam Pengamal Penjagaan Kesihatan untuk menempah caj Pelantikan.,
Default receivable accounts to be used to book Appointment charges.,Akaun belum terima lalai yang akan digunakan untuk menempah caj janji temu.,
Out Patient SMS Alerts,Keluar daripada Pesakit SMS Pesakit,
Patient Registration,Pendaftaran Pesakit,
Registration Message,Mesej Pendaftaran,
Confirmation Message,Mesej Pengesahan,
Avoid Confirmation,Elakkan Pengesahan,
Do not confirm if appointment is created for the same day,Jangan mengesahkan jika pelantikan dibuat untuk hari yang sama,
Appointment Reminder,Peringatan Pelantikan,
Reminder Message,Mesej Peringatan,
Remind Before,Ingatkan Sebelum,
Laboratory Settings,Tetapan Makmal,
Create Lab Test(s) on Sales Invoice Submission,Buat Ujian Makmal pada Penyerahan Invois Jualan,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Memeriksa ini akan membuat Ujian Makmal yang dinyatakan dalam Invois Jualan semasa dihantar.,
Create Sample Collection document for Lab Test,Buat dokumen Pengumpulan Sampel untuk Ujian Makmal,
Checking this will create a Sample Collection document  every time you create a Lab Test,Memeriksa ini akan membuat dokumen Koleksi Sampel setiap kali anda membuat Ujian Makmal,
Employee name and designation in print,Nama dan jawatan pekerja yang dicetak,
Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,Periksa ini jika anda mahu Nama dan Jawatan Pekerja yang berkaitan dengan Pengguna yang menyerahkan dokumen itu akan dicetak dalam Laporan Ujian Makmal.,
Do not print or email Lab Tests without Approval,Jangan mencetak atau menghantar e-mel Ujian Makmal tanpa Kelulusan,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,Memeriksa ini akan menyekat pencetakan dan e-mel dokumen Ujian Makmal melainkan mereka mempunyai status seperti yang Diluluskan.,
Custom Signature in Print,Tandatangan Tersuai dalam Cetak,
Laboratory SMS Alerts,Makmal SMS makmal,
Result Printed Message,Hasil Mesej Bercetak,
Result Emailed Message,Keputusan Mesej E-mel,
Check In,Daftar masuk,
Check Out,Semak Keluar,
HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
A Positive,A Positif,
A Negative,A Negatif,
AB Positive,AB Positif,
AB Negative,AB Negatif,
B Positive,B Positif,
B Negative,B Negatif,
O Positive,O Positif,
O Negative,O Negatif,
Date of birth,Tarikh Lahir,
Admission Scheduled,Kemasukan Dijadualkan,
Discharge Scheduled,Pelepasan Dijadualkan,
Discharged,Dibuang,
Admission Schedule Date,Tarikh Jadual Kemasukan,
Admitted Datetime,Diterima Datetime,
Expected Discharge,Pelepasan yang Diharapkan,
Discharge Date,Tarikh Pelepasan,
Lab Prescription,Preskripsi Lab,
Lab Test Name,Nama Ujian Makmal,
Test Created,Uji Dibuat,
Submitted Date,Tarikh Dihantar,
Approved Date,Tarikh Diluluskan,
Sample ID,ID sampel,
Lab Technician,Juruteknik makmal,
Report Preference,Laporkan Keutamaan,
Test Name,Nama Ujian,
Test Template,Templat Ujian,
Test Group,Kumpulan Ujian,
Custom Result,Keputusan Tersuai,
LabTest Approver,Penyertaan LabTest,
Add Test,Tambah Ujian,
Normal Range,Julat Normal,
Result Format,Format Keputusan,
Single,Single,
Compound,Kompaun,
Descriptive,Deskriptif,
Grouped,Dikelompokkan,
No Result,Tiada Keputusan,
This value is updated in the Default Sales Price List.,Nilai ini dikemas kini dalam Senarai Harga Jualan Lalai.,
Lab Routine,Rutin Lab,
Result Value,Nilai Hasil,
Require Result Value,Memerlukan Nilai Hasil,
Normal Test Template,Templat Ujian Normal,
Patient Demographics,Demografi Pesakit,
HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
Middle Name (optional),Nama Tengah (Pilihan),
Inpatient Status,Status Rawat Inap,
"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Sekiranya &quot;Pautkan Pelanggan ke Pasien&quot; diperiksa di Tetapan Penjagaan Kesihatan dan Pelanggan yang ada tidak dipilih maka, Pelanggan akan dibuat untuk Pasien ini untuk merekam transaksi dalam modul Akaun.",
Personal and Social History,Sejarah Peribadi dan Sosial,
Marital Status,Status Perkahwinan,
Married,Berkahwin,
Divorced,Bercerai,
Widow,Janda,
Patient Relation,Hubungan Pesakit,
"Allergies, Medical and Surgical History","Alahan, Sejarah Perubatan dan Pembedahan",
Allergies,Alahan,
Medication,Ubat,
Medical History,Sejarah perubatan,
Surgical History,Sejarah Pembedahan,
Risk Factors,Faktor-faktor risiko,
Occupational Hazards and Environmental Factors,Bencana dan Faktor Alam Sekitar,
Other Risk Factors,Faktor Risiko Lain,
Patient Details,Maklumat Pesakit,
Additional information regarding the patient,Maklumat tambahan mengenai pesakit,
HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
Patient Age,Umur pesakit,
Get Prescribed Clinical Procedures,Dapatkan Prosedur Klinikal yang Ditetapkan,
Therapy,Terapi,
Get Prescribed Therapies,Dapatkan Terapi yang Ditetapkan,
Appointment Datetime,Jangka Masa Pelantikan,
Duration (In Minutes),Tempoh (Dalam Minit),
Reference Sales Invoice,Invois Jualan Rujukan,
More Info,Banyak Lagi Maklumat,
Referring Practitioner,Merujuk Pengamal,
Reminded,Diingatkan,
HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
Assessment Template,Templat Pentaksiran,
Assessment Datetime,Datetime Pentaksiran,
Assessment Description,Penerangan Pentaksiran,
Assessment Sheet,Lembaran Penilaian,
Total Score Obtained,Jumlah Markah Diperolehi,
Scale Min,Skala Min,
Scale Max,Skala Maks,
Patient Assessment Detail,Perincian Penilaian Pesakit,
Assessment Parameter,Parameter Penilaian,
Patient Assessment Parameter,Parameter Penilaian Pesakit,
Patient Assessment Sheet,Lembaran Penilaian Pesakit,
Patient Assessment Template,Templat Penilaian Pesakit,
Assessment Parameters,Parameter Penilaian,
Parameters,Parameter,
Assessment Scale,Skala Penilaian,
Scale Minimum,Skala Minimum,
Scale Maximum,Skala Maksimum,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Tarikh Pertemuan,
Encounter Time,Masa Pertemuan,
Encounter Impression,Impresi Encounter,
Symptoms,Gejala,
In print,Dalam percetakan,
Medical Coding,Pengkodan Perubatan,
Procedures,Prosedur,
Therapies,Terapi,
Review Details,Butiran Butiran,
Patient Encounter Diagnosis,Diagnosis Pertemuan Pesakit,
Patient Encounter Symptom,Simptom Perjumpaan Pesakit,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Attach Medical Record,Lampirkan Rekod Perubatan,
Reference DocType,Jenis Dokumen Rujukan,
Spouse,Pasangan suami isteri,
Family,Keluarga,
Schedule Details,Butiran Jadual,
Schedule Name,Nama Jadual,
Time Slots,Slot Masa,
Practitioner Service Unit Schedule,Jadual Unit Perkhidmatan Praktisi,
Procedure Name,Nama Prosedur,
Appointment Booked,Pelantikan dipohon,
Procedure Created,Prosedur Dibuat,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Dikumpulkan Oleh,
Particulars,Butiran,
Result Component,Komponen Hasil,
HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
Therapy Plan Details,Perincian Pelan Terapi,
Total Sessions,Jumlah Sesi,
Total Sessions Completed,Jumlah Sesi Selesai,
Therapy Plan Detail,Perincian Pelan Terapi,
No of Sessions,Bil Sesi,
Sessions Completed,Sesi Selesai,
Tele,Televisyen,
Exercises,Latihan,
Therapy For,Terapi Untuk,
Add Exercises,Tambah Latihan,
Body Temperature,Suhu Badan,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),Kehadiran demam (temp&gt; 38.5 ° C / 101.3 ° F atau temp tetap&gt; 38 ° C / 100.4 ° F),
Heart Rate / Pulse,Kadar Jantung / Pulse,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Kadar denyut orang dewasa adalah antara 50 hingga 80 denyutan seminit.,
Respiratory rate,Kadar pernafasan,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Julat rujukan normal untuk orang dewasa ialah 16-20 nafas / minit (RCP 2012),
Tongue,Lidah,
Coated,Bersalut,
Very Coated,Sangat Bersalut,
Normal,Normal,
Furry,Berbulu,
Cuts,Cuts,
Abdomen,Abdomen,
Bloated,Kembung,
Fluid,Cecair,
Constipated,Sembelit,
Reflexes,Refleks,
Hyper,Hyper,
Very Hyper,Sangat Hyper,
One Sided,Satu sisi,
Blood Pressure (systolic),Tekanan Darah (sistolik),
Blood Pressure (diastolic),Tekanan Darah (diastolik),
Blood Pressure,Tekanan darah,
"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Tekanan darah normal pada orang dewasa adalah kira-kira 120 mmHg sistolik, dan 80 mmHg diastolik, disingkat &quot;120/80 mmHg&quot;",
Nutrition Values,Nilai pemakanan,
Height (In Meter),Ketinggian (dalam meter),
Weight (In Kilogram),Berat (Dalam Kilogram),
BMI,BMI,
Hotel Room,Bilik hotel,
Hotel Room Type,Jenis Bilik Hotel,
Capacity,Kapasiti,
Extra Bed Capacity,Kapasiti Katil Tambahan,
Hotel Manager,Pengurus Hotel,
Hotel Room Amenity,Kemudahan Bilik Hotel,
Billable,Dapat ditaksir,
Hotel Room Package,Pakej Bilik Hotel,
Amenities,Kemudahan,
Hotel Room Pricing,Harga Bilik Hotel,
Hotel Room Pricing Item,Item Harga Bilik Hotel,
Hotel Room Pricing Package,Pakej Harga Bilik Hotel,
Hotel Room Reservation,Tempahan Bilik Hotel,
Guest Name,Nama tetamu,
Late Checkin,Checkin lewat,
Booked,Telah dipetik,
Hotel Reservation User,Pengguna Tempahan Hotel,
Hotel Room Reservation Item,Tempahan Bilik Bilik Hotel,
Hotel Settings,Tetapan Hotel,
Default Taxes and Charges,Cukai lalai dan Caj,
Default Invoice Naming Series,Siri Penamaan Invois lalai,
Additional Salary,Gaji tambahan,
HR,HR,
HR-ADS-.YY.-.MM.-,HR-ADS -YY .-. MM.-,
Salary Component,Komponen gaji,
Overwrite Salary Structure Amount,Timpa Jumlah Struktur Gaji,
Deduct Full Tax on Selected Payroll Date,Potong Cukai Penuh pada Tarikh Penggajian Terpilih,
Payroll Date,Tarikh Gaji,
Date on which this component is applied,Tarikh di mana komponen ini digunakan,
Salary Slip,Slip Gaji,
Salary Component Type,Jenis Komponen Gaji,
HR User,HR pengguna,
Appointment Letter,Surat temujanji,
Job Applicant,Kerja Pemohon,
Applicant Name,Nama pemohon,
Appointment Date,Tarikh Pelantikan,
Appointment Letter Template,Templat Surat Pelantikan,
Body,Badan,
Closing Notes,Nota Penutupan,
Appointment Letter content,Kandungan Surat Pelantikan,
Appraisal,Penilaian,
HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
Appraisal Template,Templat Penilaian,
For Employee Name,Nama Pekerja,
Goals,Matlamat,
Total Score (Out of 5),Jumlah Skor (Daripada 5),
"Any other remarks, noteworthy effort that should go in the records.","Sebarang kenyataan lain, usaha perlu diberi perhatian yang sepatutnya pergi dalam rekod.",
Appraisal Goal,Penilaian Matlamat,
Key Responsibility Area,Kawasan Tanggungjawab Utama,
Weightage (%),Wajaran (%),
Score (0-5),Score (0-5),
Score Earned,Skor Diperoleh,
Appraisal Template Title,Penilaian Templat Tajuk,
Appraisal Template Goal,Templat Penilaian Matlamat,
KRA,KRA,
Key Performance Area,Kawasan Prestasi Utama,
HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
On Leave,Bercuti,
Work From Home,Bekerja dari rumah,
Leave Application,Cuti Permohonan,
Attendance Date,Kehadiran Tarikh,
Attendance Request,Permintaan Kehadiran,
Late Entry,Entri lewat,
Early Exit,Keluar awal,
Half Day Date,Half Day Tarikh,
On Duty,On Duty,
Explanation,Penjelasan,
Compensatory Leave Request,Permintaan Cuti Pampasan,
Leave Allocation,Tinggalkan Peruntukan,
Worked On Holiday,Bekerja Semasa Percutian,
Work From Date,Kerja dari tarikh,
Work End Date,Tarikh Akhir Kerja,
Email Sent To,Email dihantar kepada,
Select Users,Pilih Pengguna,
Send Emails At,Menghantar e-mel di,
Reminder,Peringatan,
Daily Work Summary Group User,Pengguna Kumpulan Ringkasan Kerja Harian,
email,e-mel,
Parent Department,Jabatan Induk,
Leave Block List,Tinggalkan Sekat Senarai,
Days for which Holidays are blocked for this department.,Hari yang mana Holidays disekat untuk jabatan ini.,
Leave Approver,Tinggalkan Pelulus,
Expense Approver,Perbelanjaan Pelulus,
Department Approver,Pengendali Jabatan,
Approver,Pelulus,
Required Skills,Kemahiran yang Diperlukan,
Skills,Kemahiran,
Designation Skill,Kemahiran Penetapan,
Skill,Kemahiran,
Driver,Pemandu,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,Digantung,
Transporter,Pengangkut,
Applicable for external driver,Berkenaan pemandu luaran,
Cellphone Number,Nombor telefon bimbit,
License Details,Butiran Lesen,
License Number,Nombor lesen,
Issuing Date,Tarikh Pengeluaran,
Driving License Categories,Kategori Lesen Memandu,
Driving License Category,Kategori Lesen Memandu,
Fleet Manager,Pengurus Fleet,
Driver licence class,Kelas lesen memandu,
HR-EMP-,HR-EMP-,
Employment Type,Jenis pekerjaan,
Emergency Contact,Hubungi Kecemasan,
Emergency Contact Name,Nama Kenalan Kecemasan,
Emergency Phone,Telefon Kecemasan,
ERPNext User,Pengguna ERPNext,
"System User (login) ID. If set, it will become default for all HR forms.","Sistem Pengguna (log masuk) ID. Jika ditetapkan, ia akan menjadi lalai untuk semua bentuk HR.",
Create User Permission,Buat Kebenaran Pengguna,
This will restrict user access to other employee records,Ini akan menyekat akses pengguna ke rekod pekerja lain,
Joining Details,Bersama Butiran,
Offer Date,Tawaran Tarikh,
Confirmation Date,Pengesahan Tarikh,
Contract End Date,Kontrak Tarikh akhir,
Notice (days),Notis (hari),
Date Of Retirement,Tarikh Persaraan,
Department and Grade,Jabatan dan Gred,
Reports to,Laporan kepada,
Attendance and Leave Details,Kehadiran dan Butiran Cuti,
Leave Policy,Tinggalkan Polisi,
Attendance Device ID (Biometric/RF tag ID),ID Peranti Kehadiran (ID tag biometrik / RF),
Applicable Holiday List,Senarai Holiday berkenaan,
Default Shift,Shift lalai,
Salary Details,Butiran Gaji,
Salary Mode,Mod Gaji,
Bank A/C No.,Bank A / C No.,
Health Insurance,Insuran kesihatan,
Health Insurance Provider,Pembekal Insurans Kesihatan,
Health Insurance No,Insurans Kesihatan No,
Prefered Email,diinginkan Email,
Personal Email,E-mel peribadi,
Permanent Address Is,Alamat Tetap Adakah,
Rented,Disewa,
Owned,Milik,
Permanent Address,Alamat Tetap,
Prefered Contact Email,Diinginkan hubungan Email,
Company Email,Syarikat E-mel,
Provide Email Address registered in company,Menyediakan Alamat E-mel berdaftar dalam syarikat,
Current Address Is,Alamat semasa,
Current Address,Alamat Semasa,
Personal Bio,Bio Peribadi,
Bio / Cover Letter,Surat Bio / Cover,
Short biography for website and other publications.,Biografi ringkas untuk laman web dan penerbitan lain.,
Passport Number,Nombor Pasport,
Date of Issue,Tarikh Keluaran,
Place of Issue,Tempat Dikeluarkan,
Widowed,Janda,
Family Background,Latar Belakang Keluarga,
"Here you can maintain family details like name and occupation of parent, spouse and children","Di sini anda boleh mengekalkan butiran keluarga seperti nama dan pekerjaan ibu bapa, suami atau isteri dan anak-anak",
Health Details,Kesihatan Butiran,
"Here you can maintain height, weight, allergies, medical concerns etc","Di sini anda boleh mengekalkan ketinggian, berat badan, alahan, masalah kesihatan dan lain-lain",
Educational Qualification,Kelayakan pendidikan,
Previous Work Experience,Pengalaman Kerja Sebelumnya,
External Work History,Luar Sejarah Kerja,
History In Company,Sejarah Dalam Syarikat,
Internal Work History,Sejarah Kerja Dalaman,
Resignation Letter Date,Peletakan jawatan Surat Tarikh,
Relieving Date,Melegakan Tarikh,
Reason for Leaving,Sebab Berhenti,
Leave Encashed?,Cuti ditunaikan?,
Encashment Date,Penunaian Tarikh,
New Workplace,New Tempat Kerja,
HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
Returned Amount,Jumlah yang dikembalikan,
Claimed,Dikenakan,
Advance Account,Akaun Advance,
Employee Attendance Tool,Pekerja Tool Kehadiran,
Unmarked Attendance,Kehadiran yang dinyahtandakan,
Employees HTML,pekerja HTML,
Marked Attendance,Kehadiran ketara,
Marked Attendance HTML,Kehadiran ketara HTML,
Employee Benefit Application,Permohonan Manfaat Pekerja,
Max Benefits (Yearly),Faedah Max (Tahunan),
Remaining Benefits (Yearly),Manfaat Remeh (Tahunan),
Payroll Period,Tempoh Gaji,
Benefits Applied,Faedah yang Dipohon,
Dispensed Amount (Pro-rated),Jumlah yang diberikan (Pro-rated),
Employee Benefit Application Detail,Maklumat Permohonan Manfaat Pekerja,
Earning Component,Komponen Pendapatan,
Pay Against Benefit Claim,Bayar Tuntutan Manfaat Terhad,
Max Benefit Amount,Jumlah Faedah Maksima,
Employee Benefit Claim,Tuntutan Manfaat Pekerja,
Claim Date,Tarikh Tuntutan,
Benefit Type and Amount,Jenis dan Amaun Manfaat,
Claim Benefit For,Manfaat Tuntutan Untuk,
Max Amount Eligible,Jumlah Maksimum Layak,
Expense Proof,Bukti Perbelanjaan,
Employee Boarding Activity,Aktiviti Perjawatan Kakitangan,
Activity Name,Nama Aktiviti,
Task Weight,tugas Berat,
Required for Employee Creation,Diperlukan untuk Penciptaan Pekerja,
Applicable in the case of Employee Onboarding,Berkenaan dalam hal Pengangkut Pekerja,
Employee Checkin,Pemeriksa Pekerja,
Log Type,Jenis Log,
OUT,KELUAR,
Location / Device ID,ID Lokasi / Peranti,
Skip Auto Attendance,Langkau Kehadiran Auto,
Shift Start,Shift Start,
Shift End,Shift End,
Shift Actual Start,Shift Actual Start,
Shift Actual End,Shift Tamat Akhir,
Employee Education,Pendidikan Pekerja,
School/University,Sekolah / Universiti,
Graduate,Siswazah,
Post Graduate,Siswazah,
Under Graduate,Di bawah Siswazah,
Year of Passing,Tahun Pemergian,
Class / Percentage,Kelas / Peratus,
Major/Optional Subjects,Subjek utama / Pilihan,
Employee External Work History,Luar pekerja Sejarah Kerja,
Total Experience,Jumlah Pengalaman,
Default Leave Policy,Dasar Cuti Lalai,
Default Salary Structure,Struktur Gaji Default,
Employee Group Table,Jadual Kumpulan Pekerja,
ERPNext User ID,ID pengguna ERPNext,
Employee Health Insurance,Insurans Kesihatan Pekerja,
Health Insurance Name,Nama Insurans Kesihatan,
Employee Incentive,Insentif Pekerja,
Incentive Amount,Jumlah Insentif,
Employee Internal Work History,Pekerja Dalam Sejarah Kerja,
Employee Onboarding,Onboarding Pekerja,
Notify users by email,Beritahu pengguna melalui e-mel,
Employee Onboarding Template,Template Onboarding Pekerja,
Activities,Aktiviti,
Employee Onboarding Activity,Aktiviti Onboarding Pekerja,
Employee Other Income,Pendapatan Lain Pekerja,
Employee Promotion,Promosi Pekerja,
Promotion Date,Tarikh Promosi,
Employee Promotion Details,Butiran Promosi Pekerja,
Employee Promotion Detail,Butiran Promosi Pekerja,
Employee Property History,Sejarah Harta Pekerja,
Employee Separation,Pemisahan Pekerja,
Employee Separation Template,Templat Pemisahan Pekerja,
Exit Interview Summary,Keluar daripada Ringkasan Temuduga,
Employee Skill,Kemahiran Pekerja,
Proficiency,Kemahiran,
Evaluation Date,Tarikh Penilaian,
Employee Skill Map,Peta Kemahiran Pekerja,
Employee Skills,Kemahiran Kakitangan,
Trainings,Latihan,
Employee Tax Exemption Category,Kategori Pengecualian Cukai Pekerja,
Max Exemption Amount,Jumlah Pengecualian Maksima,
Employee Tax Exemption Declaration,Pengisytiharan Pengecualian Cukai Pekerja,
Declarations,Deklarasi,
Total Declared Amount,Jumlah Jumlah Yang Diisytiharkan,
Total Exemption Amount,Jumlah Jumlah Pengecualian,
Employee Tax Exemption Declaration Category,Kategori Pengisytiharan Pengecualian Cukai Pekerja,
Exemption Sub Category,Kategori Sub Pengecualian,
Exemption Category,Kategori Pengecualian,
Maximum Exempted Amount,Jumlah Dikecualikan Maksimum,
Declared Amount,Jumlah yang diisytiharkan,
Employee Tax Exemption Proof Submission,Pengeluaran Bukti Pengecualian Cukai Pekerja,
Submission Date,Tarikh menghantar,
Tax Exemption Proofs,Bukti Pengecualian Cukai,
Total Actual Amount,Jumlah Jumlah Sebenar,
Employee Tax Exemption Proof Submission Detail,Butiran Penyerahan Bukti Pengecualian Cukai Pekerja,
Maximum Exemption Amount,Jumlah Pengecualian Maksimum,
Type of Proof,Jenis Bukti,
Actual Amount,Jumlah sebenar,
Employee Tax Exemption Sub Category,Subkategori Pengecualian Cukai Pekerja,
Tax Exemption Category,Kategori Pengecualian Cukai,
Employee Training,Latihan Pekerja,
Training Date,Tarikh Latihan,
Employee Transfer,Pemindahan Pekerja,
Transfer Date,Tarikh Pemindahan,
Employee Transfer Details,Butiran Transfer Pekerja,
Employee Transfer Detail,Maklumat Pemindahan Pekerja,
Re-allocate Leaves,Alihkan semula Daun,
Create New Employee Id,Buat Id Pekerja Baru,
New Employee ID,ID Kakitangan Baru,
Employee Transfer Property,Harta Pemindahan Pekerja,
HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
Expense Taxes and Charges,Cukai dan Caj Perbelanjaan,
Total Sanctioned Amount,Jumlah Diiktiraf,
Total Advance Amount,Jumlah Jumlah Pendahuluan,
Total Claimed Amount,Jumlah Jumlah Tuntutan,
Total Amount Reimbursed,Jumlah dibayar balik,
Vehicle Log,kenderaan Log,
Employees Email Id,Id Pekerja E-mel,
More Details,Maklumat lanjut,
Expense Claim Account,Akaun Perbelanjaan Tuntutan,
Expense Claim Advance,Pendahuluan Tuntutan Perbelanjaan,
Unclaimed amount,Jumlah tidak dituntut,
Expense Claim Detail,Perbelanjaan Tuntutan Detail,
Expense Date,Perbelanjaan Tarikh,
Expense Claim Type,Perbelanjaan Jenis Tuntutan,
Holiday List Name,Nama Senarai Holiday,
Total Holidays,Jumlah Cuti,
Add Weekly Holidays,Tambah Cuti Mingguan,
Weekly Off,Mingguan Off,
Add to Holidays,Tambah ke Cuti,
Holidays,Cuti,
Clear Table,Jadual jelas,
HR Settings,Tetapan HR,
Employee Settings,Tetapan pekerja,
Retirement Age,Umur persaraan,
Enter retirement age in years,Masukkan umur persaraan pada tahun-tahun,
Employee Records to be created by,Rekod Pekerja akan diwujudkan oleh,
Employee record is created using selected field. ,Rekod pekerja dicipta menggunakan bidang dipilih.,
Stop Birthday Reminders,Stop Hari Lahir Peringatan,
Don't send Employee Birthday Reminders,Jangan hantar Pekerja Hari Lahir Peringatan,
Expense Approver Mandatory In Expense Claim,Pendakwa Perbelanjaan Mandatori Dalam Tuntutan Perbelanjaan,
Payroll Settings,Tetapan Gaji,
Leave,Tinggalkan,
Max working hours against Timesheet,Max jam bekerja terhadap Timesheet,
Include holidays in Total no. of Working Days,Termasuk bercuti di Jumlah no. Hari Kerja,
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Jika disemak, Jumlah no. Hari Kerja termasuk cuti, dan ini akan mengurangkan nilai Gaji Setiap Hari",
"If checked, hides and disables Rounded Total field in Salary Slips","Jika disemak, menyembunyikan dan melumpuhkan bidang Bulat Total dalam Gaji Slip",
The fraction of daily wages to be paid for half-day attendance,Sebahagian daripada gaji harian yang harus dibayar untuk kehadiran setengah hari,
Email Salary Slip to Employee,Email Slip Gaji kepada Pekerja,
Emails salary slip to employee based on preferred email selected in Employee,slip e-mel gaji kepada pekerja berdasarkan e-mel pilihan yang dipilih di pekerja,
Encrypt Salary Slips in Emails,Sulitkan Slip Gaji dalam E-mel,
"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Slip gaji yang diemail kepada pekerja akan dilindungi kata laluan, kata laluan akan dihasilkan berdasarkan dasar kata laluan.",
Password Policy,Dasar Kata Laluan,
<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Contoh:</b> SAL- {first_name} - {date_of_birth.year} <br> Ini akan menghasilkan kata laluan seperti SAL-Jane-1972,
Leave Settings,Tinggalkan Tetapan,
Leave Approval Notification Template,Tinggalkan Templat Pemberitahuan Kelulusan,
Leave Status Notification Template,Tinggalkan Templat Pemberitahuan Status,
Role Allowed to Create Backdated Leave Application,Peranan Dibenarkan Buat Permohonan Cuti Backdated,
Leave Approver Mandatory In Leave Application,Tinggalkan Permohonan Mandat Masuk Pendahuluan,
Show Leaves Of All Department Members In Calendar,Tunjukkan Daun Semua Ahli Jabatan Dalam Kalendar,
Auto Leave Encashment,Auto Encashment Tinggalkan,
Restrict Backdated Leave Application,Mengehadkan Permohonan Cuti Backdated,
Hiring Settings,Menyusun Tetapan,
Check Vacancies On Job Offer Creation,Semak Kekosongan Mengenai Penciptaan Tawaran Kerja,
Identification Document Type,Jenis Dokumen Pengenalan,
Effective from,Berkuat kuasa dari,
Allow Tax Exemption,Benarkan Pengecualian Cukai,
"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Sekiranya diaktifkan, Pernyataan Pengecualian Cukai akan dipertimbangkan untuk pengiraan cukai pendapatan.",
Standard Tax Exemption Amount,Jumlah Pengecualian Cukai Standard,
Taxable Salary Slabs,Slab Gaji Cukai,
Taxes and Charges on Income Tax,Cukai dan Caj ke atas Cukai Pendapatan,
Other Taxes and Charges,Cukai dan Caj Lain,
Income Tax Slab Other Charges,Slab Cukai Pendapatan Caj Lain-lain,
Min Taxable Income,Pendapatan Cukai Min,
Max Taxable Income,Pendapatan Cukai Maksimum,
Applicant for a Job,Pemohon untuk pekerjaan yang,
Accepted,Diterima,
Job Opening,Lowongan,
Cover Letter,Cover Letter,
Resume Attachment,resume Lampiran,
Job Applicant Source,Sumber Pemohon Kerja,
Applicant Email Address,Alamat E-mel Pemohon,
Awaiting Response,Menunggu Response,
Job Offer Terms,Syarat Tawaran Kerja,
Select Terms and Conditions,Pilih Terma dan Syarat,
Printing Details,Percetakan Butiran,
Job Offer Term,Tempoh Tawaran Kerja,
Offer Term,Tawaran Jangka,
Value / Description,Nilai / Penerangan,
Description of a Job Opening,Keterangan yang Lowongan,
Job Title,Tajuk Kerja,
Staffing Plan,Pelan Kakitangan,
Planned number of Positions,Bilangan Jawatan yang dirancang,
"Job profile, qualifications required etc.","Profil kerja, kelayakan yang diperlukan dan lain-lain",
HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
Allocation,Peruntukan,
New Leaves Allocated,Daun baru Diperuntukkan,
Add unused leaves from previous allocations,Tambahkan daun yang tidak digunakan dari peruntukan sebelum,
Unused leaves,Daun yang tidak digunakan,
Total Leaves Allocated,Jumlah Daun Diperuntukkan,
Total Leaves Encashed,Jumlah Daun Beracun,
Leave Period,Tempoh Cuti,
Carry Forwarded Leaves,Bawa Daun dikirim semula,
Apply / Approve Leaves,Sapukan / Meluluskan Daun,
HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
Leave Balance Before Application,Tinggalkan Baki Sebelum Permohonan,
Total Leave Days,Jumlah Hari Cuti,
Leave Approver Name,Tinggalkan nama Pelulus,
Follow via Email,Ikut melalui E-mel,
Block Holidays on important days.,Sekat Cuti pada hari-hari penting.,
Leave Block List Name,Tinggalkan Nama Sekat Senarai,
Applies to Company,Terpakai kepada Syarikat,
"If not checked, the list will have to be added to each Department where it has to be applied.","Jika tidak disemak, senarai itu perlu ditambah kepada setiap Jabatan di mana ia perlu digunakan.",
Block Days,Hari blok,
Stop users from making Leave Applications on following days.,Menghentikan pengguna daripada membuat Permohonan Cuti pada hari-hari berikut.,
Leave Block List Dates,Tinggalkan Tarikh Sekat Senarai,
Allow Users,Benarkan Pengguna,
Allow the following users to approve Leave Applications for block days.,Membenarkan pengguna berikut untuk meluluskan Permohonan Cuti untuk hari blok.,
Leave Block List Allowed,Tinggalkan Sekat Senarai Dibenarkan,
Leave Block List Allow,Tinggalkan Sekat Senarai Benarkan,
Allow User,Benarkan pengguna,
Leave Block List Date,Tinggalkan Sekat Senarai Tarikh,
Block Date,Sekat Tarikh,
Leave Control Panel,Tinggalkan Panel Kawalan,
Select Employees,Pilih Pekerja,
Employment Type (optional),Jenis Pekerjaan (pilihan),
Branch (optional),Cawangan (pilihan),
Department (optional),Jabatan (pilihan),
Designation (optional),Jawatan (pilihan),
Employee Grade (optional),Gred pekerja (pilihan),
Employee (optional),Pekerja (opsyen),
Allocate Leaves,Alihkan Daun,
Carry Forward,Carry Forward,
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Sila pilih Carry Forward jika anda juga mahu termasuk baki tahun fiskal yang lalu daun untuk tahun fiskal ini,
New Leaves Allocated (In Days),Daun baru Diperuntukkan (Dalam Hari),
Allocate,Memperuntukkan,
Leave Balance,Tinggalkan Baki,
Encashable days,Hari-hari yang boleh ditanggalkan,
Encashment Amount,Jumlah Encasment,
Leave Ledger Entry,Meninggalkan Entry Lejar,
Transaction Name,Nama Transaksi,
Is Carry Forward,Apakah Carry Forward,
Is Expired,Sudah tamat,
Is Leave Without Pay,Apakah Tinggalkan Tanpa Gaji,
Holiday List for Optional Leave,Senarai Percutian untuk Cuti Opsional,
Leave Allocations,Tinggalkan Alokasi,
Leave Policy Details,Tinggalkan Butiran Dasar,
Leave Policy Detail,Tinggalkan Butiran Dasar,
Annual Allocation,Peruntukan Tahunan,
Leave Type Name,Tinggalkan Nama Jenis,
Max Leaves Allowed,Daun Maks Dibenarkan,
Applicable After (Working Days),Berkenaan Selepas (Hari Kerja),
Maximum Continuous Days Applicable,Hari Berterusan Maksimum Berkenaan,
Is Optional Leave,Adakah Cuti Opsional,
Allow Negative Balance,Benarkan Baki negatif,
Include holidays within leaves as leaves,Termasuk cuti dalam daun daun,
Is Compensatory,Adakah Pampasan,
Maximum Carry Forwarded Leaves,Daun yang Dikeluarkan Maksimum,
Expire Carry Forwarded Leaves (Days),Tamat Tempoh Meninggalkan Daun Dikenali (Hari),
Calculated in days,Dikira dalam hari,
Encashment,Encsment,
Allow Encashment,Benarkan Encasmasi,
Encashment Threshold Days,Hari Penimbasan Ambang,
Earned Leave,Caj Perolehan,
Is Earned Leave,Dibeli Cuti,
Earned Leave Frequency,Frekuensi Cuti Earned,
Rounding,Pusingan,
Payroll Employee Detail,Butiran Pekerja Penggajian,
Payroll Frequency,Kekerapan Payroll,
Fortnightly,setiap dua minggu,
Bimonthly,dua bulan sekali,
Employees,pekerja,
Number Of Employees,Bilangan Pekerja,
Employee Details,Butiran Pekerja,
Validate Attendance,Mengesahkan Kehadiran,
Salary Slip Based on Timesheet,Slip Gaji Berdasarkan Timesheet,
Select Payroll Period,Pilih Tempoh Payroll,
Deduct Tax For Unclaimed Employee Benefits,Cukai Potongan Bagi Manfaat Pekerja yang Tidak Dituntut,
Deduct Tax For Unsubmitted Tax Exemption Proof,Cukai Potongan Bagi Bukti Pengecualian Cukai Tidak Dimasukkan,
Select Payment Account to make Bank Entry,Pilih Akaun Pembayaran untuk membuat Bank Kemasukan,
Salary Slips Created,Slip Gaji Dibuat,
Salary Slips Submitted,Slip Gaji Dihantar,
Payroll Periods,Tempoh gaji,
Payroll Period Date,Tarikh Tempoh Gaji,
Purpose of Travel,Tujuan perjalanan,
Retention Bonus,Bonus Pengekalan,
Bonus Payment Date,Tarikh Pembayaran Bonus,
Bonus Amount,Jumlah Bonus,
Abbr,Abbr,
Depends on Payment Days,Bergantung pada Hari Bayaran,
Is Tax Applicable,Adakah Cukai Berkenaan,
Variable Based On Taxable Salary,Variabel Berdasarkan Gaji Boleh Dituntut,
Exempted from Income Tax,Dikecualikan dari Cukai Pendapatan,
Round to the Nearest Integer,Pusingan ke Integer Hampir,
Statistical Component,Komponen statistik,
"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Jika dipilih, nilai yang ditentukan atau dikira dalam komponen ini tidak akan menyumbang kepada pendapatan atau potongan. Walau bagaimanapun, ia nilai yang boleh dirujuk oleh komponen lain yang boleh ditambah atau ditolak.",
Do Not Include in Total,Jangan Sertakan Secara Keseluruhan,
Flexible Benefits,Manfaat Fleksibel,
Is Flexible Benefit,Adakah Faedah Fleksibel,
Max Benefit Amount (Yearly),Jumlah Faedah Maksimum (Tahunan),
Only Tax Impact (Cannot Claim But Part of Taxable Income),Hanya Impak Cukai (Tidak Boleh Tuntut Tetapi Sebahagian Pendapatan Boleh Dituntut),
Create Separate Payment Entry Against Benefit Claim,Buat Entri Pembayaran Terhad Mengatasi Tuntutan Manfaat,
Condition and Formula,Keadaan dan Formula,
Amount based on formula,Jumlah berdasarkan formula,
Formula,formula,
Salary Detail,Detail gaji,
Component,komponen,
Do not include in total,Tidak termasuk dalam jumlah,
Default Amount,Jumlah Default,
Additional Amount,Jumlah Tambahan,
Tax on flexible benefit,Cukai ke atas faedah yang fleksibel,
Tax on additional salary,Cukai ke atas gaji tambahan,
Salary Structure,Struktur gaji,
Working Days,Hari Bekerja,
Salary Slip Timesheet,Slip Gaji Timesheet,
Total Working Hours,Jumlah Jam Kerja,
Hour Rate,Kadar jam,
Bank Account No.,No. Akaun Bank,
Earning & Deduction,Pendapatan &amp; Potongan,
Earnings,Pendapatan,
Deductions,Potongan,
Loan repayment,Pembayaran balik pinjaman,
Employee Loan,Pinjaman pekerja,
Total Principal Amount,Jumlah Jumlah Prinsipal,
Total Interest Amount,Jumlah Jumlah Faedah,
Total Loan Repayment,Jumlah Bayaran Balik Pinjaman,
net pay info,maklumat gaji bersih,
Gross Pay - Total Deduction - Loan Repayment,Pay kasar - Jumlah Potongan - Bayaran Balik Pinjaman,
Total in words,Jumlah dalam perkataan,
Net Pay (in words) will be visible once you save the Salary Slip.,Gaji bersih (dengan perkataan) akan dapat dilihat selepas anda menyimpan Slip Gaji.,
Salary Component for timesheet based payroll.,Komponen gaji untuk gaji berdasarkan timesheet.,
Leave Encashment Amount Per Day,Tinggalkan Encasment Amaun Setiap Hari,
Max Benefits (Amount),Faedah Max (Amaun),
Salary breakup based on Earning and Deduction.,Perpecahan gaji berdasarkan Pendapatan dan Potongan.,
Total Earning,Jumlah Pendapatan,
Salary Structure Assignment,Penugasan Struktur Gaji,
Shift Assignment,Tugasan Shift,
Shift Type,Jenis Shift,
Shift Request,Permintaan Shift,
Enable Auto Attendance,Dayakan Auto Kehadiran,
Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Kehadiran markah berdasarkan &#39;Pemeriksaan Pekerja&#39; untuk Pekerja yang ditugaskan untuk peralihan ini.,
Auto Attendance Settings,Tetapan Kehadiran Auto,
Determine Check-in and Check-out,Tentukan daftar masuk dan daftar keluar,
Alternating entries as IN and OUT during the same shift,Penyertaan berganti seperti IN dan OUT semasa peralihan yang sama,
Strictly based on Log Type in Employee Checkin,Ketat berdasarkan Jenis Log dalam Checkin Pekerja,
Working Hours Calculation Based On,Pengiraan Jam Kerja Berdasarkan,
First Check-in and Last Check-out,Daftar Masuk Pertama dan Daftar Keluar Terakhir,
Every Valid Check-in and Check-out,Setiap Daftar Masuk Sah dan Daftar Keluar,
Begin check-in before shift start time (in minutes),Mulakan masuk sebelum masa mula peralihan (dalam minit),
The time before the shift start time during which Employee Check-in is considered for attendance.,Masa sebelum waktu mula peralihan semasa Pemeriksaan Kakitangan dianggap untuk kehadiran.,
Allow check-out after shift end time (in minutes),Izinkan daftar keluar selepas masa akhir perpindahan (dalam minit),
Time after the end of shift during which check-out is considered for attendance.,Masa selepas tamat peralihan semasa daftar keluar dianggap untuk kehadiran.,
Working Hours Threshold for Half Day,Ambang Waktu Kerja untuk Hari Setengah,
Working hours below which Half Day is marked. (Zero to disable),Waktu kerja di bawah yang Separuh Hari ditandakan. (Sifar untuk mematikan),
Working Hours Threshold for Absent,Ambang Waktu Bekerja untuk Absen,
Working hours below which Absent is marked. (Zero to disable),Waktu kerja di bawah yang Absen ditandakan. (Sifar untuk mematikan),
Process Attendance After,Kehadiran Proses Selepas,
Attendance will be marked automatically only after this date.,Kehadiran akan ditandakan secara automatik hanya selepas tarikh ini.,
Last Sync of Checkin,Penyegerakan Semula Terakhir,
Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,Sinkronisasi Terakhir Pemeriksaan Pekerja yang terakhir diketahui. Tetapkan semula ini hanya jika anda pasti bahawa semua Log diselaraskan dari semua lokasi. Tolong jangan ubah suai ini sekiranya anda tidak pasti.,
Grace Period Settings For Auto Attendance,Pengaturan Tempoh Grace untuk Kehadiran Auto,
Enable Entry Grace Period,Dayakan Tempoh Pemberian Kemasukan,
Late Entry Grace Period,Tempoh Grace Late Entry,
The time after the shift start time when check-in is considered as late (in minutes).,Masa selepas masa mula peralihan apabila daftar masuk dianggap lewat (dalam minit).,
Enable Exit Grace Period,Dayakan Tempoh Keluar Grace,
Early Exit Grace Period,Jangka Masa Keluar Awal,
The time before the shift end time when check-out is considered as early (in minutes).,Masa sebelum masa akhir perpindahan semasa daftar keluar dianggap awal (dalam minit).,
Skill Name,Nama kemahiran,
Staffing Plan Details,Butiran Rancangan Pengambilan Kakitangan,
Staffing Plan Detail,Detail Pelan Kakitangan,
Total Estimated Budget,Jumlah Anggaran Anggaran,
Vacancies,Kekosongan,
Estimated Cost Per Position,Anggaran Kos Setiap Posisi,
Total Estimated Cost,Jumlah Anggaran Kos,
Current Count,Bilangan Semasa,
Current Openings,Terbuka semasa,
Number Of Positions,Bilangan Jawatan,
Taxable Salary Slab,Slab Gaji Cukai,
From Amount,Daripada Jumlah,
To Amount,Kepada Jumlah,
Percent Deduction,Potongan Percukaian,
Training Program,Program Latihan,
Event Status,Status event,
Has Certificate,Mempunyai Sijil,
Seminar,Seminar,
Theory,teori,
Workshop,bengkel,
Conference,persidangan,
Exam,peperiksaan,
Internet,Internet,
Self-Study,Belajar sendiri,
Advance,Advance,
Trainer Name,Nama Trainer,
Trainer Email,Trainer Email,
Attendees,hadirin,
Employee Emails,E-mel Pekerja,
Training Event Employee,Training Event pekerja,
Invited,dijemput,
Feedback Submitted,Maklumbalas Dihantar,
Optional,Pilihan,
Training Result Employee,Keputusan Latihan Pekerja,
Travel Itinerary,Perjalanan Perjalanan,
Travel From,Perjalanan Dari,
Travel To,Mengembara ke,
Mode of Travel,Mod Perjalanan,
Flight,Penerbangan,
Train,Melatih,
Taxi,Teksi,
Rented Car,Kereta yang disewa,
Meal Preference,Pilihan Makanan,
Vegetarian,Vegetarian,
Non-Vegetarian,Bukan vegetarian,
Gluten Free,Bebas gluten,
Non Diary,Bukan Diari,
Travel Advance Required,Pelancongan Perjalanan Diperlukan,
Departure Datetime,Tarikh Berlepas,
Arrival Datetime,Tarikh Dataran Ketibaan,
Lodging Required,Penginapan Diperlukan,
Preferred Area for Lodging,Kawasan Pilihan untuk Penginapan,
Check-in Date,Tarikh daftar masuk,
Check-out Date,Tarikh Keluar,
Travel Request,Permintaan Perjalanan,
Travel Type,Jenis Perjalanan,
Domestic,Domestik,
International,Antarabangsa,
Travel Funding,Pembiayaan Perjalanan,
Require Full Funding,Memerlukan Pembiayaan Penuh,
Fully Sponsored,Penuh Disokong,
"Partially Sponsored, Require Partial Funding","Sebahagian ditaja, Memerlukan Pembiayaan Separa",
Copy of Invitation/Announcement,Salinan Jemputan / Pengumuman,
"Details of Sponsor (Name, Location)","Butiran Penaja (Nama, Lokasi)",
Identification Document Number,Nombor Dokumen Pengenalan,
Any other details,Sebarang butiran lain,
Costing Details,Butiran Kos,
Costing,Berharga,
Event Details,Butiran Acara,
Name of Organizer,Nama Penganjur,
Address of Organizer,Alamat Penganjur,
Travel Request Costing,Kos Permintaan Perjalanan,
Expense Type,Jenis Belanja,
Sponsored Amount,Jumlah yang ditaja,
Funded Amount,Amaun Dibiayai,
Upload Attendance,Naik Kehadiran,
Attendance From Date,Kehadiran Dari Tarikh,
Attendance To Date,Kehadiran Untuk Tarikh,
Get Template,Dapatkan Template,
Import Attendance,Import Kehadiran,
Upload HTML,Naik HTML,
Vehicle,kenderaan,
License Plate,Plate lesen,
Odometer Value (Last),Nilai Odometer (Akhir),
Acquisition Date,perolehan Tarikh,
Chassis No,Chassis Tiada,
Vehicle Value,Nilai kenderaan,
Insurance Details,Butiran Insurance,
Insurance Company,Syarikat insurans,
Policy No,Polisi Tiada,
Additional Details,maklumat tambahan,
Fuel Type,Jenis bahan api,
Petrol,petrol,
Diesel,diesel,
Natural Gas,Gas asli,
Electric,Electric,
Fuel UOM,Fuel UOM,
Last Carbon Check,Carbon lalu Daftar,
Wheels,Wheels,
Doors,Doors,
HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
Odometer Reading,Reading odometer,
Current Odometer value ,Nilai semasa odometer,
last Odometer Value ,Nilai Odometer lepas,
Refuelling Details,Refuelling Butiran,
Invoice Ref,invois Ref,
Service Details,Maklumat perkhidmatan,
Service Detail,Detail perkhidmatan,
Vehicle Service,Perkhidmatan kenderaan,
Service Item,perkhidmatan Item,
Brake Oil,Brek Minyak,
Brake Pad,Alas brek,
Clutch Plate,Plate Clutch,
Engine Oil,Minyak enjin,
Oil Change,Tukar minyak,
Inspection,pemeriksaan,
Mileage,Jarak tempuh,
Hub Tracked Item,Item yang Diacak Hub,
Hub Node,Hub Nod,
Image List,Senarai Imej,
Item Manager,Perkara Pengurus,
Hub User,Pengguna Hub,
Hub Password,Kata Laluan Hub,
Hub Users,Pengguna Hub,
Marketplace Settings,Tetapan Pasaran,
Disable Marketplace,Lumpuhkan Pasaran,
Marketplace URL (to hide and update label),URL Pasaran (untuk menyembunyikan dan mengemas kini label),
Registered,Berdaftar,
Sync in Progress,Segerakkan dalam Kemajuan,
Hub Seller Name,Nama Penjual Hab,
Custom Data,Data Tersuai,
Member,Ahli,
Partially Disbursed,sebahagiannya Dikeluarkan,
Loan Closure Requested,Penutupan Pinjaman yang Diminta,
Repay From Salary,Membayar balik dari Gaji,
Loan Details,Butiran pinjaman,
Loan Type,Jenis pinjaman,
Loan Amount,Jumlah pinjaman,
Is Secured Loan,Adakah Pinjaman Terjamin,
Rate of Interest (%) / Year,Kadar faedah (%) / Tahun,
Disbursement Date,Tarikh pembayaran,
Disbursed Amount,Jumlah yang Dibelanjakan,
Is Term Loan,Adakah Pinjaman Berjangka,
Repayment Method,Kaedah Bayaran Balik,
Repay Fixed Amount per Period,Membayar balik Jumlah tetap setiap Tempoh,
Repay Over Number of Periods,Membayar balik Over Bilangan Tempoh,
Repayment Period in Months,Tempoh pembayaran balik dalam Bulan,
Monthly Repayment Amount,Jumlah Bayaran Balik Bulanan,
Repayment Start Date,Tarikh Mula Pembayaran Balik,
Loan Security Details,Butiran Keselamatan Pinjaman,
Maximum Loan Value,Nilai Pinjaman Maksimum,
Account Info,Maklumat akaun,
Loan Account,Akaun Pinjaman,
Interest Income Account,Akaun Pendapatan Faedah,
Penalty Income Account,Akaun Pendapatan Penalti,
Repayment Schedule,Jadual Pembayaran Balik,
Total Payable Amount,Jumlah Dibayar,
Total Principal Paid,Jumlah Prinsipal Dibayar,
Total Interest Payable,Jumlah Faedah yang Perlu Dibayar,
Total Amount Paid,Jumlah Amaun Dibayar,
Loan Manager,Pengurus Pinjaman,
Loan Info,Maklumat pinjaman,
Rate of Interest,Kadar faedah,
Proposed Pledges,Cadangan Ikrar,
Maximum Loan Amount,Jumlah Pinjaman maksimum,
Repayment Info,Maklumat pembayaran balik,
Total Payable Interest,Jumlah Faedah yang Perlu Dibayar,
Against Loan ,Melawan Pinjaman,
Loan Interest Accrual,Akruan Faedah Pinjaman,
Amounts,Jumlah,
Pending Principal Amount,Jumlah Prinsipal yang belum selesai,
Payable Principal Amount,Jumlah Prinsipal yang Dibayar,
Paid Principal Amount,Amaun Prinsipal yang Dibayar,
Paid Interest Amount,Jumlah Faedah Dibayar,
Process Loan Interest Accrual,Memproses Accrual Interest Loan,
Repayment Schedule Name,Nama Jadual Pembayaran Balik,
Regular Payment,Pembayaran tetap,
Loan Closure,Penutupan Pinjaman,
Payment Details,Butiran Pembayaran,
Interest Payable,Faedah yang Dibayar,
Amount Paid,Amaun Dibayar,
Principal Amount Paid,Jumlah Prinsipal Dibayar,
Repayment Details,Butiran Bayaran Balik,
Loan Repayment Detail,Perincian Bayaran Balik Pinjaman,
Loan Security Name,Nama Sekuriti Pinjaman,
Unit Of Measure,Unit ukuran,
Loan Security Code,Kod Keselamatan Pinjaman,
Loan Security Type,Jenis Keselamatan Pinjaman,
Haircut %,Potongan rambut%,
Loan  Details,Butiran Pinjaman,
Unpledged,Tidak terpadam,
Pledged,Dicagar,
Partially Pledged,Sebahagian yang dijanjikan,
Securities,Sekuriti,
Total Security Value,Jumlah Nilai Keselamatan,
Loan Security Shortfall,Kekurangan Keselamatan Pinjaman,
Loan ,Pinjaman,
Shortfall Time,Masa Berkurangan,
America/New_York,Amerika / New_York,
Shortfall Amount,Jumlah Kekurangan,
Security Value ,Nilai Keselamatan,
Process Loan Security Shortfall,Proses Kekurangan Keselamatan Pinjaman Proses,
Loan To Value Ratio,Nisbah Pinjaman kepada Nilai,
Unpledge Time,Masa Unpledge,
Loan Name,Nama Loan,
Rate of Interest (%) Yearly,Kadar faedah (%) tahunan,
Penalty Interest Rate (%) Per Day,Kadar Faedah Penalti (%) Sehari,
Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Kadar Faedah Penalti dikenakan ke atas jumlah faedah yang tertunggak setiap hari sekiranya pembayaran balik ditangguhkan,
Grace Period in Days,Tempoh Grace dalam Hari,
No. of days from due date until which penalty won't be charged in case of delay in loan repayment,Jumlah hari dari tarikh akhir sehingga penalti tidak akan dikenakan sekiranya berlaku kelewatan pembayaran pinjaman,
Pledge,Ikrar,
Post Haircut Amount,Jumlah Potongan Rambut,
Process Type,Jenis Proses,
Update Time,Kemas kini Masa,
Proposed Pledge,Cadangan Ikrar,
Total Payment,Jumlah Bayaran,
Balance Loan Amount,Jumlah Baki Pinjaman,
Is Accrued,Telah terakru,
Salary Slip Loan,Pinjaman Slip Gaji,
Loan Repayment Entry,Kemasukan Bayaran Balik Pinjaman,
Sanctioned Loan Amount,Amaun Pinjaman Yang Dituntut,
Sanctioned Amount Limit,Had jumlah yang disyorkan,
Unpledge,Tidak melengkapkan,
Haircut,Potongan rambut,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Menjana Jadual,
Schedules,Jadual,
Maintenance Schedule Detail,Jadual Penyelenggaraan Terperinci,
Scheduled Date,Tarikh yang dijadualkan,
Actual Date,Tarikh sebenar,
Maintenance Schedule Item,Item Jadual Penyelenggaraan,
Random,Secara rawak,
No of Visits,Jumlah Lawatan,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Tarikh Penyelenggaraan,
Maintenance Time,Masa penyelenggaraan,
Completion Status,Siap Status,
Partially Completed,Sebahagiannya telah lengkap,
Fully Completed,Siap Sepenuhnya,
Unscheduled,Tidak Berjadual,
Breakdown,Pecahan,
Purposes,Tujuan,
Customer Feedback,Maklum Balas Pelanggan,
Maintenance Visit Purpose,Penyelenggaraan Lawatan Tujuan,
Work Done,Kerja Selesai,
Against Document No,Terhadap Dokumen No,
Against Document Detail No,Terhadap Detail Dokumen No,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Perintah Jenis,
Blanket Order Item,Item Pesanan Selimut,
Ordered Quantity,Mengarahkan Kuantiti,
Item to be manufactured or repacked,Perkara yang perlu dibuat atau dibungkus semula,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Kuantiti item diperolehi selepas pembuatan / pembungkusan semula daripada kuantiti diberi bahan mentah,
Set rate of sub-assembly item based on BOM,Tetapkan kadar item sub-assembly berdasarkan BOM,
Allow Alternative Item,Benarkan Item Alternatif,
Item UOM,Perkara UOM,
Conversion Rate,Kadar penukaran,
Rate Of Materials Based On,Kadar Bahan Based On,
With Operations,Dengan Operasi,
Manage cost of operations,Menguruskan kos operasi,
Transfer Material Against,Pemindahan Bahan Terhadap,
Routing,Routing,
Materials,Bahan,
Quality Inspection Required,Pemeriksaan Kualiti Diperlukan,
Quality Inspection Template,Templat Pemeriksaan Kualiti,
Scrap,Scrap,
Scrap Items,Item Scrap,
Operating Cost,Kos operasi,
Raw Material Cost,Kos bahan mentah,
Scrap Material Cost,Kos Scrap Material,
Operating Cost (Company Currency),Kos operasi (Syarikat Mata Wang),
Raw Material Cost (Company Currency),Kos Bahan Mentah (Mata Wang Syarikat),
Scrap Material Cost(Company Currency),Kos Scrap bahan (Syarikat Mata Wang),
Total Cost,Jumlah Kos,
Total Cost (Company Currency),Jumlah Kos (Mata Wang Syarikat),
Materials Required (Exploded),Bahan yang diperlukan (Meletup),
Exploded Items,Item meletup,
Show in Website,Tunjukkan di Laman Web,
Item Image (if not slideshow),Perkara imej (jika tidak menayang),
Thumbnail,Thumbnail,
Website Specifications,Laman Web Spesifikasi,
Show Items,persembahan Item,
Show Operations,Show Operasi,
Website Description,Laman Web Penerangan,
BOM Explosion Item,Letupan BOM Perkara,
Qty Consumed Per Unit,Kuantiti Digunakan Seunit,
Include Item In Manufacturing,Termasuk Item Dalam Pembuatan,
BOM Item,BOM Perkara,
Item operation,Operasi item,
Rate & Amount,Kadar &amp; Amaun,
Basic Rate (Company Currency),Kadar asas (Syarikat mata wang),
Scrap %,Scrap%,
Original Item,Item Asal,
BOM Operation,BOM Operasi,
Operation Time ,Masa Operasi,
In minutes,Dalam beberapa minit,
Batch Size,Saiz kumpulan,
Base Hour Rate(Company Currency),Kadar Jam Base (Syarikat Mata Wang),
Operating Cost(Company Currency),Kos operasi (Syarikat Mata Wang),
BOM Scrap Item,BOM Scrap Item,
Basic Amount (Company Currency),Jumlah Asas (Syarikat Mata Wang),
BOM Update Tool,Alat Kemaskini BOM,
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Gantikan BOM tertentu dalam semua BOM lain di mana ia digunakan. Ia akan menggantikan pautan lama BOM, kos kemas kini dan menaikkan semula jadual &quot;BOM Explosion Item&quot; seperti BOM baru. Ia juga mengemas kini harga terkini dalam semua BOM.",
Replace BOM,Gantikan BOM,
Current BOM,BOM semasa,
The BOM which will be replaced,The BOM yang akan digantikan,
The new BOM after replacement,The BOM baru selepas penggantian,
Replace,Ganti,
Update latest price in all BOMs,Kemas kini harga terkini dalam semua BOM,
BOM Website Item,BOM laman Perkara,
BOM Website Operation,BOM Operasi laman web,
Operation Time,Masa Operasi,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Butiran masa,
Time Logs,Time Logs,
Total Time in Mins,Jumlah Masa dalam Mins,
Operation ID,ID Operasi,
Transferred Qty,Dipindahkan Qty,
Job Started,Kerja bermula,
Started Time,Masa Bermula,
Current Time,Masa Semasa,
Job Card Item,Item Kad Kerja,
Job Card Time Log,Log Masa Kad Kerja,
Time In Mins,Time In Mins,
Completed Qty,Siap Qty,
Manufacturing Settings,Tetapan Pembuatan,
Raw Materials Consumption,Penggunaan Bahan Mentah,
Allow Multiple Material Consumption,Benarkan Penggunaan Bahan Pelbagai,
Allow multiple Material Consumption against a Work Order,Benarkan pelbagai Penggunaan Bahan terhadap Perintah Kerja,
Backflush Raw Materials Based On,Backflush Bahan Mentah Based On,
Material Transferred for Manufacture,Bahan Dipindahkan untuk Pembuatan,
Capacity Planning,Perancangan Kapasiti,
Disable Capacity Planning,Lumpuhkan Perancangan Kapasiti,
Allow Overtime,Benarkan kerja lebih masa,
Plan time logs outside Workstation Working Hours.,Rancang log masa di luar Waktu Workstation Kerja.,
Allow Production on Holidays,Benarkan Pengeluaran pada Cuti,
Capacity Planning For (Days),Perancangan Keupayaan (Hari),
Try planning operations for X days in advance.,Cuba merancang operasi untuk hari X terlebih dahulu.,
Time Between Operations (in mins),Masa Antara Operasi (dalam minit),
Default 10 mins,Default 10 minit,
Default Warehouses for Production,Gudang Default untuk Pengeluaran,
Default Work In Progress Warehouse,Kerja Lalai Dalam Kemajuan Warehouse,
Default Finished Goods Warehouse,Barangan lalai Mendapat Warehouse,
Default Scrap Warehouse,Warehouse Scrap Default,
Over Production for Sales and Work Order,Lebih Pengeluaran untuk Jualan dan Perintah Kerja,
Overproduction Percentage For Sales Order,Peratus Overproduction untuk Perintah Jualan,
Overproduction Percentage For Work Order,Peratus Overproduction untuk Perintah Kerja,
Other Settings,Tetapan lain,
Update BOM Cost Automatically,Kemas kini BOM Kos secara automatik,
"Update BOM cost automatically via Scheduler, based on latest valuation rate / price list rate / last purchase rate of raw materials.","Perbarui kos BOM secara automatik melalui Penjadual, berdasarkan kadar penilaian terkini / harga senarai harga / kadar pembelian terakhir bahan mentah.",
Material Request Plan Item,Item Pelan Permintaan Bahan,
Material Request Type,Permintaan Jenis Bahan,
Material Issue,Isu Bahan,
Customer Provided,Pelanggan yang disediakan,
Minimum Order Quantity,Kuantiti Pesanan Minima,
Default Workstation,Workstation Default,
Production Plan,Pelan Pengeluaran,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Mendapatkan barangan dari,
Get Sales Orders,Dapatkan Perintah Jualan,
Material Request Detail,Detail Permintaan Bahan,
Get Material Request,Dapatkan Permintaan Bahan,
Material Requests,Permintaan bahan,
Get Items For Work Order,Dapatkan Item Untuk Perintah Kerja,
Material Request Planning,Perancangan Permintaan Bahan,
Include Non Stock Items,Sertakan Item Bukan Saham,
Include Subcontracted Items,Termasuk Item Subkontrak,
Ignore Existing Projected Quantity,Abaikan Kuantiti yang Diharapkan yang Sedia Ada,
"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","Untuk mengetahui lebih lanjut mengenai kuantiti yang diunjurkan, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">klik di sini</a> .",
Download Required Materials,Muat turun Bahan Yang Diperlukan,
Get Raw Materials For Production,Dapatkan Bahan Baku untuk Pengeluaran,
Total Planned Qty,Jumlah Qty Yang Dirancang,
Total Produced Qty,Jumlah Dihasilkan Qty,
Material Requested,Bahan yang diminta,
Production Plan Item,Rancangan Pengeluaran Item,
Make Work Order for Sub Assembly Items,Buat Perintah Kerja untuk Barangan Sub Assembly,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Jika didayakan, sistem akan membuat perintah kerja untuk barang-barang yang meletup terhadap BOM yang tersedia.",
Planned Start Date,Dirancang Tarikh Mula,
Quantity and Description,Kuantiti dan Penerangan,
material_request_item,material_request_item,
Product Bundle Item,Produk Bundle Item,
Production Plan Material Request,Pengeluaran Pelan Bahan Permintaan,
Production Plan Sales Order,Rancangan Pengeluaran Jualan Pesanan,
Sales Order Date,Pesanan Jualan Tarikh,
Routing Name,Nama Penghalaan,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Perkara Untuk Pembuatan,
Material Transferred for Manufacturing,Bahan Dipindahkan untuk Pembuatan,
Manufactured Qty,Dikilangkan Qty,
Use Multi-Level BOM,Gunakan Multi-Level BOM,
Plan material for sub-assemblies,Bahan rancangan untuk sub-pemasangan,
Skip Material Transfer to WIP Warehouse,Langkau Pemindahan Bahan ke Gudang WIP,
Check if material transfer entry is not required,Periksa sama ada kemasukan pemindahan bahan tidak diperlukan,
Backflush Raw Materials From Work-in-Progress Warehouse,Bahan baku backflush dari gudang kerja yang sedang berjalan,
Update Consumed Material Cost In Project,Kemas kini Kos Bahan Terutu dalam Projek,
Warehouses,Gudang,
This is a location where raw materials are available.,Ini adalah lokasi di mana bahan mentah tersedia.,
Work-in-Progress Warehouse,Kerja dalam Kemajuan Gudang,
This is a location where operations are executed.,Ini adalah lokasi di mana operasi dijalankan.,
This is a location where final product stored.,Ini adalah lokasi di mana produk akhir disimpan.,
Scrap Warehouse,Scrap Warehouse,
This is a location where scraped materials are stored.,Ini adalah lokasi di mana bahan-bahan yang dikikis disimpan.,
Required Items,Item yang diperlukan,
Actual Start Date,Tarikh Mula Sebenar,
Planned End Date,Dirancang Tarikh Akhir,
Actual End Date,Tarikh Akhir Sebenar,
Operation Cost,Operasi Kos,
Planned Operating Cost,Dirancang Kos Operasi,
Actual Operating Cost,Kos Sebenar Operasi,
Additional Operating Cost,Tambahan Kos Operasi,
Total Operating Cost,Jumlah Kos Operasi,
Manufacture against Material Request,Mengeluarkan terhadap Permintaan Bahan,
Work Order Item,Item Pesanan Kerja,
Available Qty at Source Warehouse,Ada Qty di Source Warehouse,
Available Qty at WIP Warehouse,Ada Qty di WIP Warehouse,
Work Order Operation,Operasi Perintah Kerja,
Operation Description,Operasi Penerangan,
Operation completed for how many finished goods?,Operasi siap untuk berapa banyak barangan siap?,
Work in Progress,Kerja Dalam Kemajuan,
Estimated Time and Cost,Anggaran Masa dan Kos,
Planned Start Time,Dirancang Mula Masa,
Planned End Time,Dirancang Akhir Masa,
in Minutes,Dalam beberapa minit,
Actual Time and Cost,Masa sebenar dan Kos,
Actual Start Time,Masa Mula Sebenar,
Actual End Time,Waktu Tamat Sebenar,
Updated via 'Time Log',Dikemaskini melalui &#39;Time Log&#39;,
Actual Operation Time,Masa Sebenar Operasi,
in Minutes\nUpdated via 'Time Log',dalam minit dikemaskini melalui &#39;Time Log&#39;,
(Hour Rate / 60) * Actual Operation Time,(Kadar sejam / 60) * Masa Operasi Sebenar,
Workstation Name,Nama stesen kerja,
Production Capacity,Kapasiti Pengeluaran,
Operating Costs,Kos operasi,
Electricity Cost,Kos Elektrik,
per hour,sejam,
Consumable Cost,Kos guna habis,
Rent Cost,Kos sewa,
Wages,Upah,
Wages per hour,Upah sejam,
Net Hour Rate,Kadar Hour bersih,
Workstation Working Hour,Workstation Jam Kerja,
Certification Application,Permohonan Persijilan,
Name of Applicant,Nama pemohon,
Certification Status,Status Persijilan,
Yet to appear,Namun untuk muncul,
Certified,Disahkan,
Not Certified,Tidak disahkan,
USD,Dolar Amerika,
INR,INR,
Certified Consultant,Perunding Bersertifikat,
Name of Consultant,Nama Perunding,
Certification Validity,Kesahan Sijil,
Discuss ID,Bincangkan ID,
GitHub ID,ID GitHub,
Non Profit Manager,Pengurus Bukan Untung,
Chapter Head,Kepala Bab,
Meetup Embed HTML,Meetup Embed HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,cuti / bab_name meninggalkan kosong secara automatik selepas menyimpan bab.,
Chapter Members,Ahli Bab,
Members,Ahli,
Chapter Member,Ahli Bab,
Website URL,URL laman web,
Leave Reason,Tinggalkan Sebab,
Donor Name,Nama Donor,
Donor Type,Jenis Donor,
Withdrawn,Ditarik balik,
Grant Application Details ,Butiran Permohonan Grant,
Grant Description,Pemberian Geran,
Requested Amount,Amaun yang Diminta,
Has any past Grant Record,Mempunyai Rekod Geran yang lalu,
Show on Website,Tunjukkan di Laman Web,
Assessment  Mark (Out of 10),Penilaian Penilaian (Daripada 10),
Assessment  Manager,Pengurus Penilaian,
Email Notification Sent,Pemberitahuan E-mel Dihantar,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Keahlian Tarikh Luput,
Razorpay Details,Butiran Razorpay,
Subscription ID,ID Langganan,
Customer ID,ID pelanggan,
Subscription Activated,Langganan Diaktifkan,
Subscription Start ,Permulaan Langganan,
Subscription End,Tamat Langganan,
Non Profit Member,Ahli Bukan Untung,
Membership Status,Status Keahlian,
Member Since,Ahli sejak,
Payment ID,ID Pembayaran,
Membership Settings,Tetapan Keahlian,
Enable RazorPay For Memberships,Dayakan RazorPay Untuk Keahlian,
RazorPay Settings,Tetapan RazorPay,
Billing Cycle,Kitaran Bil,
Billing Frequency,Kekerapan Bil,
"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Bilangan kitaran penagihan yang mana pelanggan harus dikenakan. Sebagai contoh, jika pelanggan membeli keahlian 1 tahun yang harus ditagih setiap bulan, nilai ini harus 12.",
Razorpay Plan ID,ID Pelan Razorpay,
Volunteer Name,Nama Sukarelawan,
Volunteer Type,Jenis Sukarelawan,
Availability and Skills,Ketersediaan dan Kemahiran,
Availability,Ketersediaan,
Weekends,Hujung minggu,
Availability Timeslot,Timeslot Ketersediaan,
Morning,Pagi,
Afternoon,Petang,
Evening,Petang,
Anytime,Bila masa,
Volunteer Skills,Kemahiran Sukarelawan,
Volunteer Skill,Skuad Sukarelawan,
Homepage,Homepage,
Hero Section Based On,Seksyen Hero Berdasarkan Pada,
Homepage Section,Seksyen Homepage,
Hero Section,Seksyen Hero,
Tag Line,Line tag,
Company Tagline for website homepage,Syarikat Tagline untuk laman web laman utama,
Company Description for website homepage,Penerangan Syarikat untuk laman web laman utama,
Homepage Slideshow,Tayangan Slaid Halaman Utama,
"URL for ""All Products""",URL untuk &quot;Semua Produk&quot;,
Products to be shown on website homepage,Produk yang akan dipaparkan pada laman web utama,
Homepage Featured Product,Homepage produk yang ditampilkan,
route,laluan,
Section Based On,Seksyen Berdasarkan,
Section Cards,Kad Seksyen,
Number of Columns,Bilangan Lajur,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Bilangan lajur untuk bahagian ini. 3 kad akan ditunjukkan setiap baris jika anda memilih 3 tiang.,
Section HTML,Seksyen HTML,
Use this field to render any custom HTML in the section.,Gunakan medan ini untuk memberikan HTML tersuai dalam bahagian.,
Section Order,Seksyen Pesanan,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Perintah di mana bahagian akan muncul. 0 adalah yang pertama, 1 adalah kedua dan sebagainya.",
Homepage Section Card,Kad Seksyen Laman Utama,
Subtitle,Sarikata,
Products Settings,produk Tetapan,
Home Page is Products,Laman Utama Produk adalah,
"If checked, the Home page will be the default Item Group for the website","Jika disemak, page Utama akan menjadi lalai Item Kumpulan untuk laman web",
Show Availability Status,Tunjukkan Status Ketersediaan,
Product Page,Halaman Produk,
Products per Page,Produk setiap halaman,
Enable Field Filters,Dayakan Penapis Field,
Item Fields,Bidang Perkara,
Enable Attribute Filters,Membolehkan Penapis Atribut,
Attributes,Sifat-sifat,
Hide Variants,Sembunyikan Variasi,
Website Attribute,Atribut Laman Web,
Attribute,Atribut,
Website Filter Field,Bidang Penapis Laman Web,
Activity Cost,Kos Aktiviti,
Billing Rate,Kadar bil,
Costing Rate,Kadar berharga,
title,tajuk,
Projects User,Projek pengguna,
Default Costing Rate,Kadar Kos lalai,
Default Billing Rate,Kadar Bil lalai,
Dependent Task,Petugas bergantung,
Project Type,Jenis Projek,
% Complete Method,% Kaedah Lengkap,
Task Completion,Petugas Siap,
Task Progress,Task Progress,
% Completed,% Selesai,
From Template,Daripada Templat,
Project will be accessible on the website to these users,Projek akan boleh diakses di laman web untuk pengguna ini,
Copied From,disalin Dari,
Start and End Dates,Tarikh mula dan tamat,
Actual Time (in Hours),Masa Sebenar (dalam Jam),
Costing and Billing,Kos dan Billing,
Total Costing Amount (via Timesheets),Jumlah Kos Jumlah (melalui Timesheet),
Total Expense Claim (via Expense Claims),Jumlah Tuntutan Perbelanjaan (melalui Tuntutan Perbelanjaan),
Total Purchase Cost (via Purchase Invoice),Jumlah Kos Pembelian (melalui Invois Belian),
Total Sales Amount (via Sales Order),Jumlah Jumlah Jualan (melalui Perintah Jualan),
Total Billable Amount (via Timesheets),Jumlah Jumlah Yang Boleh Dibayar (melalui Timesheet),
Total Billed Amount (via Sales Invoices),Jumlah Amaun Dibilkan (melalui Invois Jualan),
Total Consumed Material Cost  (via Stock Entry),Jumlah Kos Bahan Terutu (melalui Entry Saham),
Gross Margin,Margin kasar,
Gross Margin %,Margin kasar%,
Monitor Progress,Memantau Kemajuan,
Collect Progress,Kumpulkan Kemajuan,
Frequency To Collect Progress,Kekerapan untuk Mengumpul Kemajuan,
Twice Daily,Dua kali sehari,
First Email,E-mel Pertama,
Second Email,E-mel Kedua,
Time to send,Masa untuk dihantar,
Day to Send,Hari Hantar,
Message will be sent to the users to get their status on the Project,Mesej akan dihantar kepada pengguna untuk mendapatkan status mereka di Projek,
Projects Manager,Projek Pengurus,
Project Template,Templat Projek,
Project Template Task,Tugas Templat Projek,
Begin On (Days),Mulakan Pada (Hari),
Duration (Days),Tempoh (Hari),
Project Update,Kemas kini Projek,
Project User,projek Pengguna,
View attachments,Lihat lampiran,
Projects Settings,Tetapan Projek,
Ignore Workstation Time Overlap,Abaikan Masa Tumpuan Workstation,
Ignore User Time Overlap,Abaikan Masa Bertindih Pengguna,
Ignore Employee Time Overlap,Abaikan Peralihan Masa Pekerja,
Weight,Berat,
Parent Task,Tugas Ibu Bapa,
Timeline,Garis masa,
Expected Time (in hours),Jangkaan Masa (dalam jam),
% Progress,% Kemajuan,
Is Milestone,adalah Milestone,
Task Description,Penerangan Petugas,
Dependencies,Kebergantungan,
Dependent Tasks,Tugasan yang bergantung,
Depends on Tasks,Bergantung kepada Tugas,
Actual Start Date (via Time Sheet),Tarikh Mula Sebenar (melalui Lembaran Time),
Actual Time (in hours),Masa sebenar (dalam jam),
Actual End Date (via Time Sheet),Sebenar Tarikh Akhir (melalui Lembaran Time),
Total Costing Amount (via Time Sheet),Jumlah Kos Jumlah (melalui Lembaran Time),
Total Expense Claim (via Expense Claim),Jumlah Tuntutan Perbelanjaan (melalui Perbelanjaan Tuntutan),
Total Billing Amount (via Time Sheet),Jumlah Bil (melalui Lembaran Time),
Review Date,Tarikh Semakan,
Closing Date,Tarikh Tutup,
Task Depends On,Petugas Bergantung Pada,
Task Type,Jenis Petugas,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Detail pekerja,
Billing Details,Billing Details,
Total Billable Hours,Jumlah jam kerja yang dibayar,
Total Billed Hours,Jumlah Jam Diiktiraf,
Total Costing Amount,Jumlah Kos,
Total Billable Amount,Jumlah ditaksir,
Total Billed Amount,Jumlah Diiktiraf,
% Amount Billed,% Jumlah Dibilkan,
Hrs,Hrs,
Costing Amount,Jumlah berharga,
Corrective/Preventive,Pembetulan / Pencegahan,
Corrective,Pembetulan,
Preventive,Pencegahan,
Resolution,Resolusi,
Resolutions,Resolusi,
Quality Action Resolution,Resolusi Tindakan Kualiti,
Quality Feedback Parameter,Parameter Maklum Balas Kualiti,
Quality Feedback Template Parameter,Parameter Templat Maklum Balas Kualiti,
Quality Goal,Matlamat Kualiti,
Monitoring Frequency,Kekerapan Pemantauan,
Weekday,Hari minggu,
January-April-July-October,Januari-April-Julai-Oktober,
Revision and Revised On,Semakan dan Semakan semula,
Revision,Ulang kaji,
Revised On,Disemak semula,
Objectives,Objektif,
Quality Goal Objective,Objektif Kualiti Matlamat,
Objective,Objektif,
Agenda,Agenda,
Minutes,Minit,
Quality Meeting Agenda,Agenda Mesyuarat Kualiti,
Quality Meeting Minutes,Minit Mesyuarat Kualiti,
Minute,Saat,
Parent Procedure,Prosedur Ibu Bapa,
Processes,Proses,
Quality Procedure Process,Proses Prosedur Kualiti,
Process Description,Penerangan proses,
Child Procedure,Prosedur Kanak-kanak,
Link existing Quality Procedure.,Pautan Prosedur Kualiti yang sedia ada.,
Additional Information,Maklumat tambahan,
Quality Review Objective,Objektif Kajian Kualiti,
DATEV Settings,Tetapan DATEV,
Regional,Regional,
Consultant ID,ID Perunding,
GST HSN Code,GST Kod HSN,
HSN Code,Kod HSN,
GST Settings,Tetapan GST,
GST Summary,Ringkasan GST,
GSTIN Email Sent On,GSTIN Penghantaran Email On,
GST Accounts,Akaun GST,
B2C Limit,Had B2C,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Tetapkan Nilai Invois untuk B2C. B2CL dan B2CS dikira berdasarkan nilai invois ini.,
GSTR 3B Report,Laporan GSTR 3B,
January,Januari,
February,Februari,
March,Mac,
April,April,
May,Boleh,
June,Jun,
July,Julai,
August,Ogos,
September,September,
October,Oktober,
November,November,
December,Disember,
JSON Output,JSON Output,
Invoices with no Place Of Supply,Invois tanpa Tempat Pembekalan,
Import Supplier Invoice,Invois Pembekal Import,
Invoice Series,Siri Invois,
Upload XML Invoices,Muat Invois XML,
Zip File,Fail Zip,
Import Invoices,Import Invois,
Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Klik pada butang Import Invois apabila fail zip telah dilampirkan pada dokumen. Sebarang kesilapan yang berkaitan dengan pemprosesan akan ditunjukkan dalam Log Ralat.,
Lower Deduction Certificate,Perakuan Potongan Bawah,
Certificate Details,Butiran Sijil,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194I,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,Perakuan No.,
Deductee Details,Butiran Pemotong,
PAN No,PAN No.,
Validity Details,Butiran Kesahan,
Rate Of TDS As Per Certificate,Kadar TDS Mengikut Sijil,
Certificate Limit,Had Sijil,
Invoice Series Prefix,Awalan Siri Invois,
Active Menu,Menu Aktif,
Restaurant Menu,Menu Restoran,
Price List (Auto created),Senarai harga (dicipta secara automatik),
Restaurant Manager,Pengurus restoran,
Restaurant Menu Item,Menu Menu Restoran,
Restaurant Order Entry,Kemasukan Pesanan Restoran,
Restaurant Table,Jadual Restoran,
Click Enter To Add,Klik Masukkan Ke Tambah,
Last Sales Invoice,Invois Jualan Terakhir,
Current Order,Perintah Semasa,
Restaurant Order Entry Item,Item Masuk Kemasukan Restoran,
Served,Berkhidmat,
Restaurant Reservation,Tempahan Restoran,
Waitlisted,Ditandati,
No Show,Tidak Tunjukkan,
No of People,Tidak ada Orang,
Reservation Time,Masa Tempahan,
Reservation End Time,Waktu Tamat Tempahan,
No of Seats,Tiada tempat duduk,
Minimum Seating,Tempat Duduk Minimum,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Simpan Track Kempen Jualan. Jejaki Leads, Sebut Harga, Pesanan Jualan dan lain-lain daripada kempen untuk mengukur Pulangan atas Pelaburan.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Jadual Kempen,
Buyer of Goods and Services.,Pembeli Barang dan Perkhidmatan.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Akaun Bank Syarikat lalai,
From Lead,Dari Lead,
Account Manager,Pengurus akaun,
Allow Sales Invoice Creation Without Sales Order,Benarkan Pembuatan Invois Jualan Tanpa Pesanan Jualan,
Allow Sales Invoice Creation Without Delivery Note,Benarkan Pembuatan Invois Jualan Tanpa Nota Penghantaran,
Default Price List,Senarai Harga Default,
Primary Address and Contact Detail,Alamat Utama dan Butiran Kenalan,
"Select, to make the customer searchable with these fields","Pilih, untuk membuat pelanggan dicari dengan medan ini",
Customer Primary Contact,Hubungi Utama Utama Pelanggan,
"Reselect, if the chosen contact is edited after save","Pilih semula, jika kenalan yang dipilih diedit selepas disimpan",
Customer Primary Address,Alamat Utama Pelanggan,
"Reselect, if the chosen address is edited after save","Pilih semula, jika alamat yang dipilih disunting selepas menyimpan",
Primary Address,Alamat Utama,
Mention if non-standard receivable account,Sebut jika akaun belum terima tidak standard,
Credit Limit and Payment Terms,Terma dan Syarat Pembayaran,
Additional information regarding the customer.,Maklumat tambahan mengenai pelanggan.,
Sales Partner and Commission,Rakan Jualan dan Suruhanjaya,
Commission Rate,Kadar komisen,
Sales Team Details,Butiran Pasukan Jualan,
Customer POS id,Id POS pelanggan,
Customer Credit Limit,Had Kredit Pelanggan,
Bypass Credit Limit Check at Sales Order,Bypass cek had kredit pada Perintah Jualan,
Industry Type,Jenis industri,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Tarikh pemasangan,
Installation Time,Masa pemasangan,
Installation Note Item,Pemasangan Nota Perkara,
Installed Qty,Dipasang Qty,
Lead Source,Lead Source,
Period Start Date,Tarikh Permulaan Tempoh,
Period End Date,Tarikh Akhir Tempoh,
Cashier,Juruwang,
Difference,Beza,
Modes of Payment,Mod Pembayaran,
Linked Invoices,Invois Berkaitan,
POS Closing Voucher Details,Butiran Baucar Penutupan POS,
Collected Amount,Jumlah Dikumpul,
Expected Amount,Amaun Yang Diharapkan,
POS Closing Voucher Invoices,Invois Baucar Penutupan POS,
Quantity of Items,Kuantiti Item,
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Kumpulan agregat Item ** ** kepada yang lain Item ** **. Ini berguna jika anda bundling Item ** ** tertentu ke dalam satu pakej dan anda mengekalkan saham daripada ** Item dibungkus ** dan tidak agregat ** Item **. Pakej ** ** Item akan mempunyai &quot;Adakah Saham Perkara&quot; sebagai &quot;Tidak&quot; dan &quot;Adakah Item Jualan&quot; sebagai &quot;Ya&quot;. Untuk Contoh: Jika anda jual Komputer riba dan Ransel secara berasingan dan mempunyai harga istimewa jika pelanggan membeli kedua-duanya, maka Laptop + Backpack akan menjadi baru Perkara Bundle Produk. Nota: BOM = Bill of Materials",
Parent Item,Perkara Ibu Bapa,
List items that form the package.,Senarai item yang membentuk pakej.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Sebutharga Untuk,
Rate at which customer's currency is converted to company's base currency,Kadar di mana pelanggan mata wang ditukar kepada mata wang asas syarikat,
Rate at which Price list currency is converted to company's base currency,Kadar di mana Senarai harga mata wang ditukar kepada mata wang asas syarikat,
Additional Discount and Coupon Code,Diskaun Tambahan dan Kod Kupon,
Referral Sales Partner,Rakan Jualan Rujukan,
In Words will be visible once you save the Quotation.,Dalam Perkataan akan dapat dilihat selepas anda menyimpan Sebut Harga tersebut.,
Term Details,Butiran jangka,
Quotation Item,Sebut Harga Item,
Against Doctype,Terhadap DOCTYPE,
Against Docname,Terhadap Docname,
Additional Notes,Nota tambahan,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Langkau Nota Penghantaran,
In Words will be visible once you save the Sales Order.,Dalam Perkataan akan dapat dilihat selepas anda menyimpan Perintah Jualan.,
Track this Sales Order against any Project,Jejaki Pesanan Jualan ini terhadap mana-mana Projek,
Billing and Delivery Status,Bil dan Status Penghantaran,
Not Delivered,Tidak Dihantar,
Fully Delivered,Dihantar sepenuhnya,
Partly Delivered,Sebahagiannya Dihantar,
Not Applicable,Tidak Berkenaan,
%  Delivered,% Dihantar,
% of materials delivered against this Sales Order,% bahan-bahan yang dihantar untuk Pesanan Jualan ini,
% of materials billed against this Sales Order,% bahan-bahan yang dibilkan terhadap Pesanan Jualan ini,
Not Billed,Tidak Membilkan,
Fully Billed,Membilkan sepenuhnya,
Partly Billed,Sebahagiannya Membilkan,
Ensure Delivery Based on Produced Serial No,Memastikan Penyampaian Berdasarkan Siri Terbitan No,
Supplier delivers to Customer,Pembekal menyampaikan kepada Pelanggan,
Delivery Warehouse,Gudang Penghantaran,
Planned Quantity,Dirancang Kuantiti,
For Production,Untuk Pengeluaran,
Work Order Qty,Perintah Kerja Qty,
Produced Quantity,Dihasilkan Kuantiti,
Used for Production Plan,Digunakan untuk Rancangan Pengeluaran,
Sales Partner Type,Jenis Rakan Kongsi Jualan,
Contact No.,Hubungi No.,
Contribution (%),Sumbangan (%),
Contribution to Net Total,Sumbangan kepada Jumlah Bersih,
Selling Settings,Menjual Tetapan,
Settings for Selling Module,Tetapan untuk Menjual Modul,
Customer Naming By,Menamakan Dengan Pelanggan,
Campaign Naming By,Menamakan Kempen Dengan,
Default Customer Group,Default Pelanggan Kumpulan,
Default Territory,Wilayah Default,
Close Opportunity After Days,Tutup Peluang Selepas Hari,
Auto close Opportunity after 15 days,Auto Peluang dekat selepas 15 hari,
Default Quotation Validity Days,Hari Kesahan Sebutharga Lalai,
Sales Update Frequency,Kekerapan Kemas Kini Jualan,
How often should project and company be updated based on Sales Transactions.,Berapa kerapkah projek dan syarikat dikemas kini berdasarkan Transaksi Jualan?,
Each Transaction,Setiap Transaksi,
Allow user to edit Price List Rate in transactions,Membolehkan pengguna untuk mengedit Senarai Harga Kadar dalam urus niaga,
Allow multiple Sales Orders against a Customer's Purchase Order,Membenarkan pelbagai Pesanan Jualan terhadap Perintah Pembelian yang Pelanggan,
Validate Selling Price for Item against Purchase Rate or Valuation Rate,Mengesahkan Harga Jualan bagi Item terhadap Kadar Pembelian atau Kadar Penilaian,
Hide Customer's Tax Id from Sales Transactions,Menyembunyikan Id Cukai Pelanggan dari Transaksi Jualan,
SMS Center,SMS Center,
Send To,Hantar Kepada,
All Contact,Semua Contact,
All Customer Contact,Semua Hubungi Pelanggan,
All Supplier Contact,Semua Pembekal Contact,
All Sales Partner Contact,Semua Jualan Rakan Hubungi,
All Lead (Open),Semua Lead (Terbuka),
All Employee (Active),Semua Pekerja (Aktif),
All Sales Person,Semua Orang Jualan,
Create Receiver List,Cipta Senarai Penerima,
Receiver List,Penerima Senarai,
Messages greater than 160 characters will be split into multiple messages,Mesej yang lebih besar daripada 160 aksara akan berpecah kepada berbilang mesej,
Total Characters,Jumlah Watak,
Total Message(s),Jumlah Mesej (s),
Authorization Control,Kawalan Kuasa,
Authorization Rule,Peraturan kebenaran,
Average Discount,Diskaun Purata,
Customerwise Discount,Customerwise Diskaun,
Itemwise Discount,Itemwise Diskaun,
Customer or Item,Pelanggan atau Perkara,
Customer / Item Name,Pelanggan / Nama Item,
Authorized Value,Nilai yang diberi kuasa,
Applicable To (Role),Terpakai Untuk (Peranan),
Applicable To (Employee),Terpakai Untuk (Pekerja),
Applicable To (User),Terpakai Untuk (pengguna),
Applicable To (Designation),Terpakai Untuk (Jawatan),
Approving Role (above authorized value),Meluluskan Peranan (di atas nilai yang diberi kuasa),
Approving User  (above authorized value),Meluluskan pengguna (di atas nilai yang diberi kuasa),
Brand Defaults,Default Jenama,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Undang-undang Entiti / Anak Syarikat dengan Carta berasingan Akaun milik Pertubuhan.,
Change Abbreviation,Perubahan Singkatan,
Parent Company,Syarikat induk,
Default Values,Nilai lalai,
Default Holiday List,Default Senarai Holiday,
Default Selling Terms,Syarat Jualan Default,
Default Buying Terms,Syarat Pembelian Lalai,
Create Chart Of Accounts Based On,Buat carta akaun Based On,
Standard Template,Template standard,
Existing Company,Syarikat Sedia Ada,
Chart Of Accounts Template,Carta Of Akaun Template,
Existing Company ,Syarikat yang sedia ada,
Date of Establishment,tarikh ditubuhkan,
Sales Settings,Tetapan Jualan,
Monthly Sales Target,Sasaran Jualan Bulanan,
Sales Monthly History,Sejarah Bulanan Jualan,
Transactions Annual History,Transaksi Sejarah Tahunan,
Total Monthly Sales,Jumlah Jualan Bulanan,
Default Cash Account,Akaun Tunai Default,
Default Receivable Account,Default Akaun Belum Terima,
Round Off Cost Center,Bundarkan PTJ,
Discount Allowed Account,Diskaun Akaun Dibenarkan,
Discount Received Account,Diskaun Diskaun Akaun,
Exchange Gain / Loss Account,Exchange Gain Akaun / Kerugian,
Unrealized Exchange Gain/Loss Account,Akaun Untung Rugi / Rugi yang belum direalisasikan,
Allow Account Creation Against Child Company,Benarkan Penciptaan Akaun Terhadap Syarikat Kanak-Kanak,
Default Payable Account,Default Akaun Belum Bayar,
Default Employee Advance Account,Akaun Advance Pekerja Awal,
Default Cost of Goods Sold Account,Kos Default Akaun Barangan Dijual,
Default Income Account,Akaun Pendapatan Default,
Default Deferred Revenue Account,Akaun Hasil Tertunda lalai,
Default Deferred Expense Account,Akaun Perbelanjaan Tertunda lalai,
Default Payroll Payable Account,Lalai Payroll Akaun Kena Bayar,
Default Expense Claim Payable Account,Tuntutan Hutang Tuntutan Dibayar Akaun,
Stock Settings,Tetapan saham,
Enable Perpetual Inventory,Membolehkan Inventori kekal,
Default Inventory Account,Akaun Inventori lalai,
Stock Adjustment Account,Akaun Pelarasan saham,
Fixed Asset Depreciation Settings,Aset Tetap Tetapan Susutnilai,
Series for Asset Depreciation Entry (Journal Entry),Siri untuk Entri Penyusutan Aset (Kemasukan Jurnal),
Gain/Loss Account on Asset Disposal,Akaun Keuntungan / Kerugian daripada Pelupusan Aset,
Asset Depreciation Cost Center,Aset Pusat Susutnilai Kos,
Budget Detail,Detail bajet,
Exception Budget Approver Role,Peranan Pendekatan Anggaran Pengecualian,
Company Info,Maklumat Syarikat,
For reference only.,Untuk Rujukan Sahaja.,
Company Logo,Logo syarikat,
Date of Incorporation,Tarikh diperbadankan,
Date of Commencement,Tarikh permulaan,
Phone No,Telefon No,
Company Description,Penerangan Syarikat,
Registration Details,Butiran Pendaftaran,
Company registration numbers for your reference. Tax numbers etc.,Nombor pendaftaran syarikat untuk rujukan anda. Nombor cukai dan lain-lain,
Delete Company Transactions,Padam Transaksi Syarikat,
Currency Exchange,Pertukaran mata wang,
Specify Exchange Rate to convert one currency into another,Nyatakan Kadar Pertukaran untuk menukar satu matawang kepada yang lain,
From Currency,Dari Mata Wang,
To Currency,Untuk Mata Wang,
For Buying,Untuk Membeli,
For Selling,Untuk Jualan,
Customer Group Name,Nama Kumpulan Pelanggan,
Parent Customer Group,Ibu Bapa Kumpulan Pelanggan,
Only leaf nodes are allowed in transaction,Hanya nod daun dibenarkan dalam urus niaga,
Mention if non-standard receivable account applicable,Sebut jika akaun belum terima tidak standard yang diguna pakai,
Credit Limits,Had Kredit,
Email Digest,E-mel Digest,
Send regular summary reports via Email.,Hantar laporan ringkasan tetap melalui E-mel.,
Email Digest Settings,E-mel Tetapan Digest,
How frequently?,Berapa kerap?,
Next email will be sent on:,E-mel seterusnya akan dihantar pada:,
Note: Email will not be sent to disabled users,Nota: Email tidak akan dihantar kepada pengguna kurang upaya,
Profit & Loss,Untung rugi,
New Income,Pendapatan New,
New Expenses,Perbelanjaan baru,
Annual Income,Pendapatan tahunan,
Annual Expenses,Perbelanjaan tahunan,
Bank Balance,Baki Bank,
Bank Credit Balance,Baki Kredit Bank,
Receivables,Penghutang,
Payables,Pemiutang,
Sales Orders to Bill,Pesanan Jualan kepada Rang Undang-Undang,
Purchase Orders to Bill,Pesanan Belian kepada Rang Undang-Undang,
New Sales Orders,New Jualan Pesanan,
New Purchase Orders,Pesanan Pembelian baru,
Sales Orders to Deliver,Pesanan Jualan untuk Dihantar,
Purchase Orders to Receive,Pesanan Pembelian untuk Menerima,
New Purchase Invoice,Invois Pembelian Baru,
New Quotations,Sebut Harga baru,
Open Quotations,Buka Sebut Harga,
Open Issues,Isu terbuka,
Open Projects,Buka Projek,
Purchase Orders Items Overdue,Item pesanan pembelian tertunggak,
Upcoming Calendar Events,Acara Kalendar Akan Datang,
Open To Do,Terbuka Untuk Dilakukan,
Add Quote,Tambah Quote,
Global Defaults,Lalai Global,
Default Company,Syarikat Default,
Current Fiscal Year,Fiskal Tahun Semasa,
Default Distance Unit,Unit Jarak Jauh,
Hide Currency Symbol,Menyembunyikan Simbol mata wang,
Do not show any symbol like $ etc next to currencies.,Tidak menunjukkan apa-apa simbol seperti $ dsb sebelah mata wang.,
"If disable, 'Rounded Total' field will not be visible in any transaction","Jika kurang upaya, bidang &#39;Bulat Jumlah&#39; tidak akan dapat dilihat dalam mana-mana transaksi",
Disable In Words,Matikan Dalam Perkataan,
"If disable, 'In Words' field will not be visible in any transaction","Jika melumpuhkan, &#39;Dalam Perkataan&#39; bidang tidak akan dapat dilihat dalam mana-mana transaksi",
Item Classification,Item Klasifikasi,
General Settings,Tetapan umum,
Item Group Name,Perkara Kumpulan Nama,
Parent Item Group,Ibu Bapa Item Kumpulan,
Item Group Defaults,Default Kumpulan Item,
Item Tax,Perkara Cukai,
Check this if you want to show in website,Semak ini jika anda mahu untuk menunjukkan di laman web,
Show this slideshow at the top of the page,Menunjukkan tayangan gambar ini di bahagian atas halaman,
HTML / Banner that will show on the top of product list.,HTML / Banner yang akan muncul di bahagian atas senarai produk.,
Set prefix for numbering series on your transactions,Terletak awalan untuk penomboran siri transaksi anda,
Setup Series,Persediaan Siri,
Select Transaction,Pilih Transaksi,
Help HTML,Bantuan HTML,
Series List for this Transaction,Senarai Siri bagi Urusniaga ini,
User must always select,Pengguna perlu sentiasa pilih,
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Semak ini jika anda mahu untuk memaksa pengguna untuk memilih siri sebelum menyimpan. Tidak akan ada lalai jika anda mendaftar ini.,
Update Series,Update Siri,
Change the starting / current sequence number of an existing series.,Menukar nombor yang bermula / semasa urutan siri yang sedia ada.,
Prefix,Awalan,
Current Value,Nilai semasa,
This is the number of the last created transaction with this prefix,Ini ialah bilangan transaksi terakhir yang dibuat dengan awalan ini,
Update Series Number,Update Siri Nombor,
Quotation Lost Reason,Sebut Harga Hilang Akal,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Seorang pengedar pihak ketiga / peniaga / ejen / kenalan / penjual semula yang menjual produk syarikat untuk komisen.,
Sales Partner Name,Nama Rakan Jualan,
Partner Type,Rakan Jenis,
Address & Contacts,Alamat Kenalan,
Address Desc,Alamat Deskripsi,
Contact Desc,Hubungi Deskripsi,
Sales Partner Target,Jualan Rakan Sasaran,
Targets,Sasaran,
Show In Website,Show Dalam Laman Web,
Referral Code,Kod rujukan,
To Track inbound purchase,Untuk menjejaki pembelian masuk,
Logo,Logo,
Partner website,laman web rakan kongsi,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Semua Transaksi Jualan boleh tagged terhadap pelbagai ** Jualan Orang ** supaya anda boleh menetapkan dan memantau sasaran.,
Name and Employee ID,Nama dan ID Pekerja,
Sales Person Name,Orang Jualan Nama,
Parent Sales Person,Orang Ibu Bapa Jualan,
Select company name first.,Pilih nama syarikat pertama.,
Sales Person Targets,Sasaran Orang Jualan,
Set targets Item Group-wise for this Sales Person.,Sasaran yang ditetapkan Perkara Kumpulan-bijak untuk Orang Jualan ini.,
Supplier Group Name,Nama Kumpulan Pembekal,
Parent Supplier Group,Kumpulan Pembekal Ibu Bapa,
Target Detail,Detail Sasaran,
Target Qty,Sasaran Qty,
Target  Amount,Sasaran Jumlah,
Target Distribution,Pengagihan Sasaran,
"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Terma dan Syarat Standard yang boleh ditambah untuk Jualan dan Pembelian. Contoh: 1. Kesahan tawaran itu. 1. Terma Pembayaran (Dalam Advance, Mengenai Kredit, bahagian pendahuluan dan lain-lain). 1. Apakah tambahan (atau perlu dibayar oleh Pelanggan). 1. Keselamatan amaran / penggunaan. 1. Waranti jika ada. 1. Kembali Polisi. 1. Syarat-syarat penghantaran, jika berkenaan. 1. Cara-cara menangani pertikaian, tanggung rugi, kerugian, dan lain-lain 1. Alamat dan Contact Syarikat anda.",
Applicable Modules,Modul yang berkenaan,
Terms and Conditions Help,Terma dan Syarat Bantuan,
Classification of Customers by region,Pengelasan Pelanggan mengikut wilayah,
Territory Name,Wilayah Nama,
Parent Territory,Wilayah Ibu Bapa,
Territory Manager,Pengurus Wilayah,
For reference,Untuk rujukan,
Territory Targets,Sasaran Wilayah,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Perkara Set Kumpulan segi belanjawan di Wilayah ini. Juga boleh bermusim dengan menetapkan Pengedaran.,
UOM Name,Nama UOM,
Check this to disallow fractions. (for Nos),Semak ini untuk tidak membenarkan pecahan. (Untuk Nos),
Website Item Group,Laman Web Perkara Kumpulan,
Cross Listing of Item in multiple groups,Penyenaraian rentas Item dalam pelbagai kumpulan,
Default settings for Shopping Cart,Tetapan lalai untuk Troli Beli Belah,
Enable Shopping Cart,Membolehkan Troli,
Display Settings,Tetapan Paparan,
Show Public Attachments,Tunjuk Lampiran Awam,
Show Price,Tunjukkan Harga,
Show Stock Availability,Tunjukkan Ketersediaan Saham,
Show Contact Us Button,Tunjukkan Butang Hubungi Kami,
Show Stock Quantity,Tunjukkan Kuantiti Stok,
Show Apply Coupon Code,Paparkan Memohon Kod Kupon,
Allow items not in stock to be added to cart,Benarkan item yang tidak ada dalam stok untuk dimasukkan ke dalam troli,
Prices will not be shown if Price List is not set,Harga tidak akan dipaparkan jika Senarai Harga tidak ditetapkan,
Quotation Series,Sebutharga Siri,
Checkout Settings,Tetapan Checkout,
Enable Checkout,membolehkan Checkout,
Payment Success Url,Pembayaran URL Kejayaan,
After payment completion redirect user to selected page.,Setelah selesai pembayaran mengarahkan pengguna ke halaman yang dipilih.,
Batch Details,Butiran Kumpulan,
Batch ID,ID Batch,
image,imej,
Parent Batch,Batch ibubapa,
Manufacturing Date,Tarikh Pembuatan,
Batch Quantity,Kuantiti Kumpulan,
Batch UOM,Kumpulan UOM,
Source Document Type,Source Jenis Dokumen,
Source Document Name,Source Document Nama,
Batch Description,Batch Penerangan,
Bin,Bin,
Reserved Quantity,Cipta Terpelihara Kuantiti,
Actual Quantity,Kuantiti sebenar,
Requested Quantity,diminta Kuantiti,
Reserved Qty for sub contract,Dicadangkan Qty untuk sub kontrak,
Moving Average Rate,Bergerak Kadar Purata,
FCFS Rate,Kadar FCFS,
Customs Tariff Number,Kastam Nombor Tarif,
Tariff Number,Nombor tarif,
Delivery To,Penghantaran Untuk,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,Tempat kembalinya,
Issue Credit Note,Nota Kredit Terbitan,
Return Against Delivery Note,Kembali Terhadap Penghantaran Nota,
Customer's Purchase Order No,Pelanggan Pesanan Pembelian No,
Billing Address Name,Bil Nama Alamat,
Required only for sample item.,Diperlukan hanya untuk item sampel.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Jika anda telah mencipta satu template standard dalam Jualan Cukai dan Caj Template, pilih satu dan klik pada butang di bawah.",
In Words will be visible once you save the Delivery Note.,Dalam Perkataan akan dapat dilihat selepas anda menyimpan Nota Penghantaran.,
In Words (Export) will be visible once you save the Delivery Note.,Dalam Perkataan (Eksport) akan dapat dilihat selepas anda menyimpan Nota Penghantaran.,
Transporter Info,Maklumat Transporter,
Driver Name,Nama Pemandu,
Track this Delivery Note against any Project,Jejaki Penghantaran Nota ini terhadap mana-mana Projek,
Inter Company Reference,Rujukan Syarikat Antara,
Print Without Amount,Cetak Tanpa Jumlah,
% Installed,% Dipasang,
% of materials delivered against this Delivery Note,% bahan-bahan yang dihantar untuk Nota Penghantaran ini,
Installation Status,Pemasangan Status,
Excise Page Number,Eksais Bilangan Halaman,
Instructions,Arahan,
From Warehouse,Dari Gudang,
Against Sales Order,Terhadap Perintah Jualan,
Against Sales Order Item,Terhadap Sales Order Item,
Against Sales Invoice,Terhadap Invois Jualan,
Against Sales Invoice Item,Terhadap Jualan Invois Perkara,
Available Batch Qty at From Warehouse,Disediakan Kuantiti Batch di Dari Gudang,
Available Qty at From Warehouse,Kuantiti Boleh didapati di Dari Gudang,
Delivery Settings,Tetapan Penghantaran,
Dispatch Settings,Tetapan Pengiriman,
Dispatch Notification Template,Templat Pemberitahuan Penghantaran,
Dispatch Notification Attachment,Lampiran Pemberitahuan Penghantaran,
Leave blank to use the standard Delivery Note format,Biarkan kosong untuk menggunakan format Nota Penghantaran standard,
Send with Attachment,Hantar dengan Lampiran,
Delay between Delivery Stops,Kelewatan antara Penghantaran Penghantaran,
Delivery Stop,Stop Penghantaran,
Lock,Kunci,
Visited,Dikunjungi,
Order Information,Maklumat Pesanan,
Contact Information,Maklumat perhubungan,
Email sent to,E-mel Dihantar Untuk,
Dispatch Information,Maklumat Penghantaran,
Estimated Arrival,jangkaan ketibaan,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Pemberitahuan E-mel Awal Dihantar,
Delivery Details,Penghantaran Details,
Driver Email,E-mel Pemandu,
Driver Address,Alamat Pemandu,
Total Estimated Distance,Jumlah Anggaran,
Distance UOM,Jarak UOM,
Departure Time,Masa berlepas,
Delivery Stops,Hentikan Penghantaran,
Calculate Estimated Arrival Times,Kira Anggaran Masa Kedatangan,
Use Google Maps Direction API to calculate estimated arrival times,Gunakan API Arah Arah Google untuk mengira anggaran masa ketibaan,
Optimize Route,Mengoptimumkan laluan,
Use Google Maps Direction API to optimize route,Gunakan API Arah Arah Google untuk mengoptimumkan laluan,
In Transit,Dalam Transit,
Fulfillment User,Pengguna Sepenuh,
"A Product or a Service that is bought, sold or kept in stock.","Satu Produk atau Perkhidmatan yang dibeli, dijual atau disimpan dalam stok.",
STO-ITEM-.YYYY.-,STO-ITEM-.YYYY.-,
Variant Of,Varian Dari,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Jika item adalah variasi yang lain item maka penerangan, gambar, harga, cukai dan lain-lain akan ditetapkan dari template melainkan jika dinyatakan secara jelas",
Is Item from Hub,Adakah Item dari Hub,
Default Unit of Measure,Unit keingkaran Langkah,
Maintain Stock,Mengekalkan Stok,
Standard Selling Rate,Kadar Jualan Standard,
Auto Create Assets on Purchase,Auto Create Assets on Purchase,
Asset Naming Series,Siri Penamaan Aset,
Over Delivery/Receipt Allowance (%),Lebih Elaun / Elaun Resit (%),
Barcodes,Barcode,
Shelf Life In Days,Shelf Life In Days,
End of Life,Akhir Hayat,
Default Material Request Type,Lalai Bahan Jenis Permintaan,
Valuation Method,Kaedah Penilaian,
FIFO,FIFO,
Moving Average,Purata bergerak,
Warranty Period (in days),Tempoh jaminan (dalam hari),
Auto re-order,Auto semula perintah,
Reorder level based on Warehouse,Tahap pesanan semula berdasarkan Warehouse,
Will also apply for variants unless overrridden,Juga akan memohon varian kecuali overrridden,
Units of Measure,Unit ukuran,
Will also apply for variants,Juga akan memohon varian,
Serial Nos and Batches,Serial Nos dan Kelompok,
Has Batch No,Mempunyai Batch No,
Automatically Create New Batch,Secara automatik Buat Batch New,
Batch Number Series,Siri Nombor Kumpulan,
"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Contoh: ABCD. #####. Jika siri ditetapkan dan No Batch tidak disebutkan dalam urus niaga, maka nombor batch automatik akan dibuat berdasarkan siri ini. Sekiranya anda sentiasa ingin menyatakan secara terperinci Batch No untuk item ini, biarkan kosong ini. Nota: tetapan ini akan diberi keutamaan di atas Prefix Prefix Prefix dalam Tetapan Stok.",
Has Expiry Date,Telah Tarikh Luput,
Retain Sample,Kekalkan Sampel,
Max Sample Quantity,Kuantiti Sampel Maksima,
Maximum sample quantity that can be retained,Kuantiti maksimum sampel yang dapat dikekalkan,
Has Serial No,Mempunyai No Siri,
Serial Number Series,Nombor Siri Siri,
"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Contoh:. ABCD ##### Jika siri ditetapkan dan No Serial tidak disebut dalam urus niaga, nombor siri maka automatik akan diwujudkan berdasarkan siri ini. Jika anda sentiasa mahu dengan jelas menyebut Serial No untuk item ini. kosongkan ini.",
Variants,Kelainan,
Has Variants,Mempunyai Kelainan,
"If this item has variants, then it cannot be selected in sales orders etc.","Jika perkara ini mempunyai varian, maka ia tidak boleh dipilih dalam pesanan jualan dan lain-lain",
Variant Based On,Based On Variant,
Item Attribute,Perkara Sifat,
"Sales, Purchase, Accounting Defaults","Jualan, Pembelian, Default Perakaunan",
Item Defaults,Default Item,
"Purchase, Replenishment Details","Pembelian, Butiran Penambahan",
Is Purchase Item,Adalah Pembelian Item,
Default Purchase Unit of Measure,Unit Pembelian Lalai Ukuran,
Minimum Order Qty,Minimum Kuantiti Pesanan,
Minimum quantity should be as per Stock UOM,Kuantiti minimum harus seperti Saham UOM,
Average time taken by the supplier to deliver,Purata masa yang diambil oleh pembekal untuk menyampaikan,
Is Customer Provided Item,Adakah Pelanggan disediakan Perkara,
Delivered by Supplier (Drop Ship),Dihantar oleh Pembekal (Drop Ship),
Supplier Items,Item Pembekal,
Foreign Trade Details,Maklumat Perdagangan Luar Negeri,
Country of Origin,Negara asal,
Sales Details,Jualan Butiran,
Default Sales Unit of Measure,Unit Jualan Kesilapan,
Is Sales Item,Adalah Item Jualan,
Max Discount (%),Max Diskaun (%),
No of Months,Tiada Bulan,
Customer Items,Item Pelanggan,
Inspection Criteria,Kriteria Pemeriksaan,
Inspection Required before Purchase,Pemeriksaan yang diperlukan sebelum Pembelian,
Inspection Required before Delivery,Pemeriksaan yang diperlukan sebelum penghantaran,
Default BOM,BOM Default,
Supply Raw Materials for Purchase,Bahan mentah untuk bekalan Pembelian,
If subcontracted to a vendor,Jika subkontrak kepada vendor,
Customer Code,Kod Pelanggan,
Default Item Manufacturer,Pengilang Barang Lalai,
Default Manufacturer Part No,Bahagian Pengeluar Lalai No.,
Show in Website (Variant),Show di Laman web (Variant),
Items with higher weightage will be shown higher,Item dengan wajaran yang lebih tinggi akan ditunjukkan tinggi,
Show a slideshow at the top of the page,Menunjukkan tayangan slaid di bahagian atas halaman,
Website Image,Imej Laman Web,
Website Warehouse,Laman Web Gudang,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Menunjukkan &quot;Pada Saham&quot; atau &quot;Tidak dalam Saham&quot; berdasarkan saham yang terdapat di gudang ini.,
Website Item Groups,Kumpulan Website Perkara,
List this Item in multiple groups on the website.,Senarai Item ini dalam pelbagai kumpulan di laman web.,
Copy From Item Group,Salinan Dari Perkara Kumpulan,
Website Content,Kandungan Laman Web,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Anda boleh menggunakan markup Bootstrap 4 yang sah dalam medan ini. Ia akan ditunjukkan pada Halaman Item anda.,
Total Projected Qty,Jumlah unjuran Qty,
Hub Publishing Details,Butiran Penerbitan Hab,
Publish in Hub,Menyiarkan dalam Hab,
Publish Item to hub.erpnext.com,Terbitkan Perkara untuk hub.erpnext.com,
Hub Category to Publish,Kategori Hub untuk Terbitkan,
Hub Warehouse,Gudang Hub,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Terbitkan &quot;Dalam Stok&quot; atau &quot;Tidak Ada Stok&quot; di Hab berdasarkan stok yang terdapat di gudang ini.,
Synced With Hub,Segerakkan Dengan Hub,
Item Alternative,Alternatif Perkara,
Alternative Item Code,Kod Item Alternatif,
Two-way,Dua hala,
Alternative Item Name,Nama Item Alternatif,
Attribute Name,Atribut Nama,
Numeric Values,Nilai-nilai berangka,
From Range,Dari Range,
Increment,Kenaikan,
To Range,Untuk Julat,
Item Attribute Values,Nilai Perkara Sifat,
Item Attribute Value,Perkara Atribut Nilai,
Attribute Value,Atribut Nilai,
Abbreviation,Singkatan,
"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Ini akan dilampirkan Kod Item bagi varian. Sebagai contoh, jika anda adalah singkatan &quot;SM&quot;, dan kod item adalah &quot;T-SHIRT&quot;, kod item varian akan &quot;T-SHIRT-SM&quot;",
Item Barcode,Item Barcode,
Barcode Type,Jenis Barcode,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Item Pelanggan Detail,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Untuk kemudahan pelanggan, kod-kod ini boleh digunakan dalam format cetak seperti Invois dan Nota Penghantaran",
Ref Code,Ref Kod,
Item Default,Default Item,
Purchase Defaults,Pembelian Lalai,
Default Buying Cost Center,Default Membeli Kos Pusat,
Default Supplier,Pembekal Default,
Default Expense Account,Akaun Perbelanjaan Default,
Sales Defaults,Default Jualan,
Default Selling Cost Center,Default Jualan Kos Pusat,
Item Manufacturer,Perkara Manufacturer,
Item Price,Perkara Harga,
Packing Unit,Unit Pembungkusan,
Quantity  that must be bought or sold per UOM,Kuantiti yang mesti dibeli atau dijual setiap UOM,
Item Quality Inspection Parameter,Perkara Kualiti Pemeriksaan Parameter,
Acceptance Criteria,Kriteria Penerimaan,
Item Reorder,Perkara Reorder,
Check in (group),Daftar-masuk (kumpulan),
Request for,Minta,
Re-order Level,Re-Order Level,
Re-order Qty,Re-Order Qty,
Item Supplier,Perkara Pembekal,
Item Variant,Perkara Varian,
Item Variant Attribute,Perkara Variant Sifat,
Do not update variants on save,Jangan mengemas kini variasi semasa menyimpan,
Fields will be copied over only at time of creation.,Bidang akan disalin hanya pada waktu penciptaan.,
Allow Rename Attribute Value,Benarkan Namakan Nilai Atribut,
Rename Attribute Value in Item Attribute.,Namakan semula Nilai Atribut dalam Atribut Item.,
Copy Fields to Variant,Salin Medan ke Varians,
Item Website Specification,Spesifikasi Item Laman Web,
Table for Item that will be shown in Web Site,Jadual untuk Perkara yang akan dipaparkan dalam Laman Web,
Landed Cost Item,Tanah Kos Item,
Receipt Document Type,Resit Jenis Dokumen,
Receipt Document,Dokumen penerimaan,
Applicable Charges,Caj yang dikenakan,
Purchase Receipt Item,Pembelian Penerimaan Perkara,
Landed Cost Purchase Receipt,Kos mendarat Pembelian Resit,
Landed Cost Taxes and Charges,Cukai Tanah Kos dan Caj,
Landed Cost Voucher,Baucer Kos mendarat,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Resit Pembelian,
Purchase Receipt Items,Item Resit Pembelian,
Get Items From Purchase Receipts,Dapatkan Item Dari Pembelian Terimaan,
Distribute Charges Based On,Mengedarkan Caj Berasaskan,
Landed Cost Help,Tanah Kos Bantuan,
Manufacturers used in Items,Pengeluar yang digunakan dalam Perkara,
Limited to 12 characters,Terhad kepada 12 aksara,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Partially Ordered,Diperintahkan Sebahagian,
Transferred,dipindahkan,
% Ordered,% Mengarahkan,
Terms and Conditions Content,Terma dan Syarat Kandungan,
Quantity and Warehouse,Kuantiti dan Gudang,
Lead Time Date,Lead Tarikh Masa,
Min Order Qty,Min Order Qty,
Packed Item,Makan Perkara,
To Warehouse (Optional),Untuk Gudang (pilihan),
Actual Batch Quantity,Kuantiti Batch sebenar,
Prevdoc DocType,Prevdoc DOCTYPE,
Parent Detail docname,Detail Ibu Bapa docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Menjana slip pembungkusan untuk pakej yang akan dihantar. Digunakan untuk memberitahu jumlah pakej, kandungan pakej dan berat.",
Indicates that the package is a part of this delivery (Only Draft),Menunjukkan bahawa pakej itu adalah sebahagian daripada penghantaran ini (Hanya Draf),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Dari Pakej No.,
Identification of the package for the delivery (for print),Pengenalan pakej untuk penghantaran (untuk cetak),
To Package No.,Untuk Pakej No.,
If more than one package of the same type (for print),Jika lebih daripada satu bungkusan dari jenis yang sama (untuk cetak),
Package Weight Details,Pakej Berat Butiran,
The net weight of this package. (calculated automatically as sum of net weight of items),Berat bersih pakej ini. (Dikira secara automatik sebagai jumlah berat bersih item),
Net Weight UOM,Berat UOM bersih,
Gross Weight,Berat kasar,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Berat kasar pakej. Biasanya berat bersih + pembungkusan berat badan yang ketara. (Untuk cetak),
Gross Weight UOM,Berat kasar UOM,
Packing Slip Item,Pembungkusan Slip Perkara,
DN Detail,Detail DN,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Pemindahan Bahan untuk Pembuatan,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Qty bahan mentah akan diputuskan berdasarkan qty Item Barang Selesai,
Parent Warehouse,Warehouse Ibu Bapa,
Items under this warehouse will be suggested,Item di bawah gudang ini akan dicadangkan,
Get Item Locations,Dapatkan Lokasi Item,
Item Locations,Lokasi Item,
Pick List Item,Pilih Senarai Item,
Picked Qty,Dikenali Qty,
Price List Master,Senarai Harga Master,
Price List Name,Senarai Harga Nama,
Price Not UOM Dependent,Harga tidak bergantung kepada UOM,
Applicable for Countries,Digunakan untuk Negara,
Price List Country,Senarai harga Negara,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Nota Penghantaran Pembekal,
Time at which materials were received,Masa di mana bahan-bahan yang telah diterima,
Return Against Purchase Receipt,Kembali Terhadap Resit Pembelian,
Rate at which supplier's currency is converted to company's base currency,Kadar di mana pembekal mata wang ditukar kepada mata wang asas syarikat,
Sets 'Accepted Warehouse' in each row of the items table.,Menetapkan &#39;Gudang yang Diterima&#39; di setiap baris jadual item.,
Sets 'Rejected Warehouse' in each row of the items table.,Menetapkan &#39;Gudang Ditolak&#39; di setiap baris jadual item.,
Raw Materials Consumed,Bahan Mentah Digunakan,
Get Current Stock,Dapatkan Saham Semasa,
Consumed Items,Barang yang Digunakan,
Add / Edit Taxes and Charges,Tambah / Edit Cukai dan Caj,
Auto Repeat Detail,Butiran Ulang Auto,
Transporter Details,Butiran Transporter,
Vehicle Number,Bilangan Kenderaan,
Vehicle Date,Kenderaan Tarikh,
Received and Accepted,Diterima dan Diterima,
Accepted Quantity,Kuantiti Diterima,
Rejected Quantity,Ditolak Kuantiti,
Accepted Qty as per Stock UOM,Diterima Kuantiti mengikut Stok UOM,
Sample Quantity,Contoh Kuantiti,
Rate and Amount,Kadar dan Jumlah,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Laporan Tarikh,
Inspection Type,Jenis Pemeriksaan,
Item Serial No,Item No Serial,
Sample Size,Saiz Sampel,
Inspected By,Diperiksa oleh,
Readings,Bacaan,
Quality Inspection Reading,Kualiti Pemeriksaan Reading,
Reading 1,Membaca 1,
Reading 2,Membaca 2,
Reading 3,Membaca 3,
Reading 4,Membaca 4,
Reading 5,Membaca 5,
Reading 6,Membaca 6,
Reading 7,Membaca 7,
Reading 8,Membaca 8,
Reading 9,Membaca 9,
Reading 10,Membaca 10,
Quality Inspection Template Name,Nama Templat Pemeriksaan Kualiti,
Quick Stock Balance,Baki Stok Pantas,
Available Quantity,Kuantiti yang ada,
Distinct unit of an Item,Unit yang berbeza Perkara yang,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Gudang hanya boleh ditukar melalui Saham Entry / Penghantaran Nota / Resit Pembelian,
Purchase / Manufacture Details,Pembelian / Butiran Pembuatan,
Creation Document Type,Penciptaan Dokumen Jenis,
Creation Document No,Penciptaan Dokumen No,
Creation Date,Tarikh penciptaan,
Creation Time,Penciptaan Masa,
Asset Details,Butiran Aset,
Asset Status,Status Aset,
Delivery Document Type,Penghantaran Dokumen Jenis,
Delivery Document No,Penghantaran Dokumen No,
Delivery Time,Masa penghantaran,
Invoice Details,Butiran invois,
Warranty / AMC Details,Waranti / AMC Butiran,
Warranty Expiry Date,Waranti Tarikh Luput,
AMC Expiry Date,AMC Tarikh Tamat,
Under Warranty,Di bawah Waranti,
Out of Warranty,Daripada Waranti,
Under AMC,Di bawah AMC,
Out of AMC,Daripada AMC,
Warranty Period (Days),Tempoh Waranti (Hari),
Serial No Details,Serial No Butiran,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Jenis Kemasukan Saham,
Stock Entry (Outward GIT),Kemasukan Saham (Outward GIT),
Material Consumption for Manufacture,Penggunaan Bahan untuk Pembuatan,
Repack,Membungkus semula,
Send to Subcontractor,Hantar ke Subkontraktor,
Delivery Note No,Penghantaran Nota Tiada,
Sales Invoice No,Jualan Invois No,
Purchase Receipt No,Resit Pembelian No,
Inspection Required,Pemeriksaan Diperlukan,
From BOM,Dari BOM,
For Quantity,Untuk Kuantiti,
As per Stock UOM,Seperti Saham UOM,
Including items for sub assemblies,Termasuk perkara untuk sub perhimpunan,
Default Source Warehouse,Default Sumber Gudang,
Source Warehouse Address,Alamat Gudang Sumber,
Default Target Warehouse,Default Gudang Sasaran,
Target Warehouse Address,Alamat Gudang Sasaran,
Update Rate and Availability,Kadar Update dan Ketersediaan,
Total Incoming Value,Jumlah Nilai masuk,
Total Outgoing Value,Jumlah Nilai Keluar,
Total Value Difference (Out - In),Jumlah Perbezaan Nilai (Out - Dalam),
Additional Costs,Kos Tambahan,
Total Additional Costs,Jumlah Kos Tambahan,
Customer or Supplier Details,Pelanggan atau pembekal dan,
Per Transferred,Per Pindahkan,
Stock Entry Detail,Detail saham Entry,
Basic Rate (as per Stock UOM),Kadar asas (seperti Stock UOM),
Basic Amount,Jumlah Asas,
Additional Cost,Kos tambahan,
Serial No / Batch,Serial No / batch,
BOM No. for a Finished Good Item,BOM No. untuk Perkara Baik Selesai,
Material Request used to make this Stock Entry,Permintaan bahan yang digunakan untuk membuat ini Entry Saham,
Subcontracted Item,Item Subkontrak,
Against Stock Entry,Terhadap Penyertaan Saham,
Stock Entry Child,Anak Masuk Saham,
PO Supplied Item,Item yang Dibekalkan PO,
Reference Purchase Receipt,Resit Pembelian Rujukan,
Stock Ledger Entry,Saham Lejar Entry,
Outgoing Rate,Kadar keluar,
Actual Qty After Transaction,Kuantiti Sebenar Selepas Transaksi,
Stock Value Difference,Nilai saham Perbezaan,
Stock Queue (FIFO),Saham Queue (FIFO),
Is Cancelled,Apakah Dibatalkan,
Stock Reconciliation,Saham Penyesuaian,
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Alat ini membantu anda untuk mengemas kini atau yang menetapkan kuantiti dan penilaian stok sistem. Ia biasanya digunakan untuk menyegerakkan nilai sistem dan apa yang benar-benar wujud di gudang anda.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Penyesuaian JSON,
Stock Reconciliation Item,Saham Penyesuaian Perkara,
Before reconciliation,Sebelum perdamaian,
Current Serial No,Serial semasa No,
Current Valuation Rate,Kadar Penilaian semasa,
Current Amount,Jumlah Semasa,
Quantity Difference,kuantiti Perbezaan,
Amount Difference,jumlah Perbezaan,
Item Naming By,Perkara Menamakan Dengan,
Default Item Group,Default Perkara Kumpulan,
Default Stock UOM,Default Saham UOM,
Sample Retention Warehouse,Gudang Retensi Sampel,
Default Valuation Method,Kaedah Penilaian Default,
Percentage you are allowed to receive or deliver more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to receive 110 units.,Peratus anda dibenarkan untuk menerima atau menyampaikan lebih daripada kuantiti yang ditempah. Sebagai contoh: Jika anda telah menempah 100 unit. dan Elaun anda adalah 10% maka anda dibenarkan untuk menerima 110 unit.,
Action if Quality inspection is not submitted,Tindakan jika pemeriksaan kualiti tidak diserahkan,
Show Barcode Field,Show Barcode Field,
Convert Item Description to Clean HTML,Tukar Penerangan Penerangan untuk HTML Bersih,
Auto insert Price List rate if missing,Masukkan Auto Kadar Senarai Harga jika hilang,
Allow Negative Stock,Benarkan Saham Negatif,
Automatically Set Serial Nos based on FIFO,Set Siri Nos secara automatik berdasarkan FIFO,
Set Qty in Transactions based on Serial No Input,Tetapkan Qty dalam Transaksi berdasarkan Serial No Input,
Auto Material Request,Bahan Auto Permintaan,
Raise Material Request when stock reaches re-order level,Meningkatkan Bahan Permintaan apabila saham mencapai tahap semula perintah-,
Notify by Email on creation of automatic Material Request,Memberitahu melalui e-mel pada penciptaan Permintaan Bahan automatik,
Inter Warehouse Transfer Settings,Tetapan Pemindahan Antara Gudang,
Allow Material Transfer From Delivery Note and Sales Invoice,Benarkan Pemindahan Bahan Dari Nota Penghantaran dan Invois Jualan,
Allow Material Transfer From Purchase Receipt and Purchase Invoice,Benarkan Pemindahan Bahan Dari Resit Pembelian dan Invois Pembelian,
Freeze Stock Entries,Freeze Saham Penyertaan,
Stock Frozen Upto,Saham beku Upto,
Freeze Stocks Older Than [Days],Stok Freeze Lama Than [Hari],
Role Allowed to edit frozen stock,Peranan dibenarkan untuk mengedit saham beku,
Batch Identification,Pengenalan Batch,
Use Naming Series,Gunakan Siri Penamaan,
Naming Series Prefix,Naming Prefix Prefix,
UOM Category,UOM Kategori,
UOM Conversion Detail,Detail UOM Penukaran,
Variant Field,Varian Field,
A logical Warehouse against which stock entries are made.,Satu Gudang maya di mana kemasukkan stok dibuat.,
Warehouse Detail,Detail Gudang,
Warehouse Name,Nama Gudang,
Warehouse Contact Info,Gudang info,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Dibangkitkan Oleh (E-mel),
Issue Type,Jenis Isu,
Issue Split From,Terbitan Terbitan Dari,
Service Level,Tahap servis,
Response By,Tanggapan Oleh,
Response By Variance,Tanggapan Mengikut Varians,
Ongoing,Sedang berjalan,
Resolution By,Resolusi Oleh,
Resolution By Variance,Resolusi Mengikut Perbezaan,
Service Level Agreement Creation,Penciptaan Perjanjian Tahap Perkhidmatan,
First Responded On,Pertama Dijawab Pada,
Resolution Details,Resolusi Butiran,
Opening Date,Tarikh pembukaan,
Opening Time,Masa Pembukaan,
Resolution Date,Resolusi Tarikh,
Via Customer Portal,Melalui Portal Pelanggan,
Support Team,Pasukan Sokongan,
Issue Priority,Keutamaan Terbitan,
Service Day,Hari Perkhidmatan,
Workday,Hari kerja,
Default Priority,Keutamaan lalai,
Priorities,Keutamaan,
Support Hours,Waktu sokongan,
Support and Resolution,Sokongan dan Resolusi,
Default Service Level Agreement,Perjanjian Tahap Perkhidmatan Default,
Entity,Entiti,
Agreement Details,Butiran Perjanjian,
Response and Resolution Time,Masa Respon dan Resolusi,
Service Level Priority,Keutamaan Tahap Perkhidmatan,
Resolution Time,Masa Resolusi,
Support Search Source,Sumber Carian Sokongan,
Source Type,Jenis sumber,
Query Route String,Laluan Laluan Permintaan,
Search Term Param Name,Cari Term Nama Param,
Response Options,Pilihan Response,
Response Result Key Path,Laluan Kunci Hasil Tindak Balas,
Post Route String,Laluan Laluan Pos,
Post Route Key List,Senarai Kunci Laluan Pos,
Post Title Key,Kunci Tajuk Utama,
Post Description Key,Post Penerangan Key,
Link Options,Pilihan Pautan,
Source DocType,DocType Sumber,
Result Title Field,Tajuk Tajuk Hasil,
Result Preview Field,Bidaan Pratonton Hasil,
Result Route Field,Bidang Laluan Hasil,
Service Level Agreements,Perjanjian Tahap Perkhidmatan,
Track Service Level Agreement,Perjanjian Tahap Perkhidmatan Track,
Allow Resetting Service Level Agreement,Benarkan Perjanjian Tahap Perkhidmatan Semula,
Close Issue After Days,Tutup Isu Selepas Hari,
Auto close Issue after 7 days,Auto Issue dekat selepas 7 hari,
Support Portal,Portal Sokongan,
Get Started Sections,Memulakan Bahagian,
Show Latest Forum Posts,Tunjukkan Forum Forum Terkini,
Forum Posts,Forum Posts,
Forum URL,URL Forum,
Get Latest Query,Dapatkan Permintaan Terkini,
Response Key List,Senarai Utama Response,
Post Route Key,Kunci Laluan Pos,
Search APIs,API Carian,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Isu Tarikh,
Item and Warranty Details,Perkara dan Jaminan Maklumat,
Warranty / AMC Status,Waranti / AMC Status,
Resolved By,Diselesaikan oleh,
Service Address,Alamat Perkhidmatan,
If different than customer address,Jika berbeza daripada alamat pelanggan,
Raised By,Dibangkitkan Oleh,
From Company,Daripada Syarikat,
Rename Tool,Nama semula Tool,
Utilities,Utiliti,
Type of document to rename.,Jenis dokumen untuk menamakan semula.,
File to Rename,Fail untuk Namakan semula,
"Attach .csv file with two columns, one for the old name and one for the new name","Lampirkan fail csv dengan dua lajur, satu untuk nama lama dan satu untuk nama baru",
Rename Log,Log menamakan semula,
SMS Log,SMS Log,
Sender Name,Nama Pengirim,
Sent On,Dihantar Pada,
No of Requested SMS,Jumlah SMS yang diminta,
Requested Numbers,Nombor diminta,
No of Sent SMS,Bilangan SMS dihantar,
Sent To,Dihantar Kepada,
Absent Student Report,Tidak hadir Laporan Pelajar,
Assessment Plan Status,Status Pelan Penilaian,
Asset Depreciation Ledger,Asset Susutnilai Ledger,
Asset Depreciations and Balances,Penurunan nilai aset dan Baki,
Available Stock for Packing Items,Saham tersedia untuk Item Pembungkusan,
Bank Clearance Summary,Bank Clearance Ringkasan,
Bank Remittance,Penghantaran Bank,
Batch Item Expiry Status,Batch Perkara Status luput,
Batch-Wise Balance History,Batch Bijaksana Baki Sejarah,
BOM Explorer,BOM Explorer,
BOM Search,BOM Search,
BOM Stock Calculated,BOM Stock Calculated,
BOM Variance Report,Laporan Variasi BOM,
Campaign Efficiency,Kecekapan kempen,
Cash Flow,Aliran tunai,
Completed Work Orders,Perintah Kerja yang telah selesai,
To Produce,Hasilkan,
Produced,Dihasilkan,
Consolidated Financial Statement,Penyata Kewangan Disatukan,
Course wise Assessment Report,Laporan Penilaian Kursus bijak,
Customer Acquisition and Loyalty,Perolehan Pelanggan dan Kesetiaan,
Customer Credit Balance,Baki Pelanggan Kredit,
Customer Ledger Summary,Ringkasan Ledger Pelanggan,
Customer-wise Item Price,Harga item pelanggan-bijak,
Customers Without Any Sales Transactions,Pelanggan Tanpa Urus Niaga Jualan,
Daily Timesheet Summary,Ringkasan Timesheet harian,
Daily Work Summary Replies,Balasan Ringkasan Kerja Harian,
DATEV,DATEV,
Delayed Item Report,Laporan Perkara Tertangguh,
Delayed Order Report,Laporan Pesanan yang lewat,
Delivered Items To Be Billed,Item Dihantar dikenakan caj,
Delivery Note Trends,Trend Penghantaran Nota,
Electronic Invoice Register,Daftar Invois Elektronik,
Employee Advance Summary,Ringkasan Majikan Pekerja,
Employee Billing Summary,Ringkasan Bil Pengambilan Pekerja,
Employee Birthday,Pekerja Hari Lahir,
Employee Information,Maklumat Kakitangan,
Employee Leave Balance,Pekerja Cuti Baki,
Employee Leave Balance Summary,Ringkasan Baki Cuti Pekerja,
Employees working on a holiday,Kakitangan yang bekerja pada hari cuti,
Eway Bill,Eway Bill,
Expiring Memberships,Keahlian yang akan tamat tempoh,
Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
Final Assessment Grades,Gred Penilaian Akhir,
Fixed Asset Register,Daftar Aset Tetap,
Gross and Net Profit Report,Laporan Keuntungan Kasar dan Bersih,
GST Itemised Purchase Register,GST Terperinci Pembelian Daftar,
GST Itemised Sales Register,GST Terperinci Sales Daftar,
GST Purchase Register,GST Pembelian Daftar,
GST Sales Register,GST Sales Daftar,
GSTR-1,GSTR-1,
GSTR-2,GSTR-2,
Hotel Room Occupancy,Penghunian Bilik Hotel,
HSN-wise-summary of outward supplies,Ringkasan ringkasan HSN bekalan luar,
Inactive Customers,Pelanggan aktif,
Inactive Sales Items,Item Jualan Tidak Aktif,
IRS 1099,IRS 1099,
Issued Items Against Work Order,Item Terbitan Terhadap Perintah Kerja,
Projected Quantity as Source,Kuantiti Unjuran sebagai Sumber,
Item Balance (Simple),Baki Item (Mudah),
Item Price Stock,Harga Harga Saham,
Item Prices,Harga Item,
Item Shortage Report,Perkara Kekurangan Laporan,
Item Variant Details,Butiran Varian Item,
Item-wise Price List Rate,Senarai Harga Kadar Perkara-bijak,
Item-wise Purchase History,Perkara-bijak Pembelian Sejarah,
Item-wise Purchase Register,Perkara-bijak Pembelian Daftar,
Item-wise Sales History,Perkara-bijak Sejarah Jualan,
Item-wise Sales Register,Perkara-bijak Jualan Daftar,
Items To Be Requested,Item Akan Diminta,
Reserved,Cipta Terpelihara,
Itemwise Recommended Reorder Level,Itemwise lawatan Reorder Level,
Lead Details,Butiran Lead,
Lead Owner Efficiency,Lead Owner Kecekapan,
Loan Repayment and Closure,Bayaran Balik dan Penutupan Pinjaman,
Loan Security Status,Status Keselamatan Pinjaman,
Lost Opportunity,Kesempatan Hilang,
Maintenance Schedules,Jadual Penyelenggaraan,
Material Requests for which Supplier Quotations are not created,Permintaan bahan yang mana Sebutharga Pembekal tidak dicipta,
Monthly Attendance Sheet,Lembaran Kehadiran Bulanan,
Open Work Orders,Perintah Kerja Terbuka,
Qty to Deliver,Qty untuk Menyampaikan,
Patient Appointment Analytics,Analisis Temujanji Pesakit,
Payment Period Based On Invoice Date,Tempoh Pembayaran Berasaskan Tarikh Invois,
Pending SO Items For Purchase Request,Sementara menunggu SO Item Untuk Pembelian Permintaan,
Procurement Tracker,Tracker Perolehan,
Product Bundle Balance,Baki Bundle Produk,
Production Analytics,Analytics pengeluaran,
Profit and Loss Statement,Penyata Untung dan Rugi,
Profitability Analysis,Analisis keuntungan,
Project Billing Summary,Ringkasan Pengebilan Projek,
Project wise Stock Tracking,Penjejakan Stok yang bijak,
Project wise Stock Tracking ,Projek Landasan Saham bijak,
Prospects Engaged But Not Converted,Prospek Terlibat Tetapi Tidak Ditukar,
Purchase Analytics,Analytics Pembelian,
Purchase Invoice Trends,Membeli Trend Invois,
Qty to Receive,Qty untuk Menerima,
Received Qty Amount,Menerima Jumlah Qty,
Billed Qty,Dibilkan Qty,
Purchase Order Trends,Membeli Trend Pesanan,
Purchase Receipt Trends,Trend Resit Pembelian,
Purchase Register,Pembelian Daftar,
Quotation Trends,Trend Sebut Harga,
Quoted Item Comparison,Perkara dipetik Perbandingan,
Received Items To Be Billed,Barangan yang diterima dikenakan caj,
Qty to Order,Qty Aturan,
Requested Items To Be Transferred,Item yang diminta Akan Dipindahkan,
Qty to Transfer,Qty untuk Pemindahan,
Salary Register,gaji Daftar,
Sales Analytics,Jualan Analytics,
Sales Invoice Trends,Sales Trend Invois,
Sales Order Trends,Trend Pesanan Jualan,
Sales Partner Commission Summary,Ringkasan Suruhanjaya Rakan Kongsi Jualan,
Sales Partner Target Variance based on Item Group,Variasi Target Rakan Kongsi Jualan berdasarkan Kumpulan Item,
Sales Partner Transaction Summary,Ringkasan Transaksi Mitra Jualan,
Sales Partners Commission,Pasangan Jualan Suruhanjaya,
Invoiced Amount (Exclusive Tax),Amaun yang Diinvois (Cukai Eksklusif),
Average Commission Rate,Purata Kadar Suruhanjaya,
Sales Payment Summary,Ringkasan Pembayaran Jualan,
Sales Person Commission Summary,Ringkasan Suruhanjaya Orang Jualan,
Sales Person Target Variance Based On Item Group,Penjualan Individu Penjualan Berdasarkan Berdasarkan Kumpulan Item,
Sales Person-wise Transaction Summary,Jualan Orang-bijak Transaksi Ringkasan,
Sales Register,Jualan Daftar,
Serial No Service Contract Expiry,Serial No Kontrak Perkhidmatan tamat,
Serial No Status,Serial No Status,
Serial No Warranty Expiry,Serial Tiada Jaminan tamat,
Stock Ageing,Saham Penuaan,
Stock and Account Value Comparison,Perbandingan Nilai Saham dan Akaun,
Stock Projected Qty,Saham Unjuran Qty,
Student and Guardian Contact Details,Pelajar dan Guardian Butiran Hubungi,
Student Batch-Wise Attendance,Batch Bijaksana Pelajar Kehadiran,
Student Fee Collection,Bayaran Collection Pelajar,
Student Monthly Attendance Sheet,Pelajar Lembaran Kehadiran Bulanan,
Subcontracted Item To Be Received,Item Subkontrak yang Diterima,
Subcontracted Raw Materials To Be Transferred,Bahan Binaan Subkontrak Dipindahkan,
Supplier Ledger Summary,Ringkasan Ledger Pembekal,
Supplier-Wise Sales Analytics,Pembekal Bijaksana Jualan Analytics,
Support Hour Distribution,Pengagihan Jam Sokongan,
TDS Computation Summary,Ringkasan Pengiraan TDS,
TDS Payable Monthly,TDS Dibayar Bulanan,
Territory Target Variance Based On Item Group,Variasi Sasaran Wilayah Berdasarkan Kumpulan Item,
Territory-wise Sales,Jualan Wilayah-bijak,
Total Stock Summary,Ringkasan Jumlah Saham,
Trial Balance,Imbangan Duga,
Trial Balance (Simple),Baki Percubaan (Mudah),
Trial Balance for Party,Baki percubaan untuk Parti,
Unpaid Expense Claim,Tidak dibayar Perbelanjaan Tuntutan,
Warehouse wise Item Balance Age and Value,Gudang bijaksana Item Baki Umur dan Nilai,
Work Order Stock Report,Laporan Saham Pesanan Kerja,
Work Orders in Progress,Perintah Kerja dalam Kemajuan,
Validation Error,Ralat Pengesahan,
Automatically Process Deferred Accounting Entry,Memproses Penyertaan Perakaunan yang Ditangguhkan Secara Automatik,
Bank Clearance,Pelepasan Bank,
Bank Clearance Detail,Perincian Pelepasan Bank,
Update Cost Center Name / Number,Kemas kini Nama / Nombor Pusat Kos,
Journal Entry Template,Templat Kemasukan Jurnal,
Template Title,Tajuk Templat,
Journal Entry Type,Jenis Kemasukan Jurnal,
Journal Entry Template Account,Akaun Templat Kemasukan Jurnal,
Process Deferred Accounting,Proses Perakaunan Tertunda,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Entri manual tidak boleh dibuat! Lumpuhkan kemasukan automatik untuk perakaunan tertunda dalam tetapan akaun dan cuba lagi,
End date cannot be before start date,Tarikh akhir tidak boleh sebelum tarikh mula,
Total Counts Targeted,Jumlah Kiraan yang Disasarkan,
Total Counts Completed,Jumlah Jumlah Selesai,
Counts Targeted: {0},Kiraan yang Disasarkan: {0},
Payment Account is mandatory,Akaun Pembayaran adalah wajib,
"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Sekiranya diperiksa, jumlah penuh akan dikurangkan dari pendapatan bercukai sebelum mengira cukai pendapatan tanpa pengakuan atau penyerahan bukti.",
Disbursement Details,Butiran Pembayaran,
Material Request Warehouse,Gudang Permintaan Bahan,
Select warehouse for material requests,Pilih gudang untuk permintaan bahan,
Transfer Materials For Warehouse {0},Pindahkan Bahan Untuk Gudang {0},
Production Plan Material Request Warehouse,Gudang Permintaan Bahan Rancangan Pengeluaran,
Sets 'Source Warehouse' in each row of the items table.,Tetapkan &#39;Source Warehouse&#39; di setiap baris jadual item.,
Sets 'Target Warehouse' in each row of the items table.,Tetapkan &#39;Target Warehouse&#39; di setiap baris jadual item.,
Show Cancelled Entries,Tunjukkan Entri yang Dibatalkan,
Backdated Stock Entry,Kemasukan Stok Terakhir,
Row #{}: Currency of {} - {} doesn't matches company currency.,Baris # {}: Mata wang {} - {} tidak sepadan dengan mata wang syarikat.,
{} Assets created for {},{} Aset dibuat untuk {},
{0} Number {1} is already used in {2} {3},{0} Nombor {1} sudah digunakan di {2} {3},
Update Bank Clearance Dates,Kemas kini Tarikh Pelunasan Bank,
Healthcare Practitioner: ,Pengamal Kesihatan:,
Lab Test Conducted: ,Ujian Makmal Dijalankan:,
Lab Test Event: ,Acara Ujian Makmal:,
Lab Test Result: ,Keputusan Ujian Makmal:,
Clinical Procedure conducted: ,Prosedur Klinikal yang dijalankan:,
Therapy Session Charges: {0},Caj Sesi Terapi: {0},
Therapy: ,Terapi:,
Therapy Plan: ,Pelan Terapi:,
Total Counts Targeted: ,Jumlah Kiraan yang Disasarkan:,
Total Counts Completed: ,Jumlah Kiraan Selesai:,
Andaman and Nicobar Islands,Kepulauan Andaman dan Nicobar,
Andhra Pradesh,Andhra Pradesh,
Arunachal Pradesh,Arunachal Pradesh,
Assam,Assam,
Bihar,Bihar,
Chandigarh,Chandigarh,
Chhattisgarh,Chhattisgarh,
Dadra and Nagar Haveli,Dadra dan Nagar Haveli,
Daman and Diu,Daman dan Diu,
Delhi,Delhi,
Goa,Goa,
Gujarat,Gujarat,
Haryana,Haryana,
Himachal Pradesh,Himachal Pradesh,
Jammu and Kashmir,Jammu dan Kashmir,
Jharkhand,Jharkhand,
Karnataka,Karnataka,
Kerala,Kerala,
Lakshadweep Islands,Kepulauan Lakshadweep,
Madhya Pradesh,Madhya Pradesh,
Maharashtra,Maharashtra,
Manipur,Manipur,
Meghalaya,Meghalaya,
Mizoram,Mizoram,
Nagaland,Nagaland,
Odisha,Odisha,
Other Territory,Wilayah Lain,
Pondicherry,Pondicherry,
Punjab,Punjab,
Rajasthan,Rajasthan,
Sikkim,Sikkim,
Tamil Nadu,Bahasa Tamil Nadu,
Telangana,Telangana,
Tripura,Tripura,
Uttar Pradesh,Uttar Pradesh,
Uttarakhand,Uttarakhand,
West Bengal,Bengal Barat,
Is Mandatory,Adakah Wajib,
Published on,Diterbitkan pada,
Service Received But Not Billed,Perkhidmatan Diterima Tetapi Tidak Ditagih,
Deferred Accounting Settings,Tetapan Perakaunan Tertunda,
Book Deferred Entries Based On,Tempah Penyertaan Ditangguhkan Berdasarkan,
"If ""Months"" is selected then fixed amount will be booked as deferred revenue or expense for each month irrespective of number of days in a month. Will be prorated if deferred revenue or expense is not booked for an entire month.","Sekiranya &quot;Bulan&quot; dipilih, jumlah tetap akan dicatatkan sebagai hasil atau perbelanjaan tertunda untuk setiap bulan tanpa mengira bilangan hari dalam sebulan. Akan diprorata jika pendapatan atau perbelanjaan tertunda tidak ditempah selama sebulan.",
Days,Hari-hari,
Months,Sebulan,
Book Deferred Entries Via Journal Entry,Tempah Entri Ditangguhkan Melalui Kemasukan Jurnal,
If this is unchecked direct GL Entries will be created to book Deferred Revenue/Expense,"Sekiranya ini tidak dicentang, Penyertaan GL langsung akan dibuat untuk menempah Hasil / Perbelanjaan Ditangguhkan",
Submit Journal Entries,Hantar Entri Jurnal,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Sekiranya ini tidak dicentang, Entri Jurnal akan disimpan dalam keadaan Draf dan perlu dihantar secara manual",
Enable Distributed Cost Center,Dayakan Pusat Kos Teragih,
Distributed Cost Center,Pusat Kos Teragih,
Dunning,Menari,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Hari Terlambat,
Dunning Type,Jenis Dunning,
Dunning Fee,Bayaran Dunning,
Dunning Amount,Jumlah Dunning,
Resolved,Diselesaikan,
Unresolved,Tidak dapat diselesaikan,
Printing Setting,Tetapan Percetakan,
Body Text,Teks Badan,
Closing Text,Teks Penutup,
Resolve,Selesaikan,
Dunning Letter Text,Teks Surat Dunning,
Is Default Language,Adakah Bahasa Lalai,
Letter or Email Body Text,Teks Badan Surat atau E-mel,
Letter or Email Closing Text,Teks Penutup Surat atau E-mel,
Body and Closing Text Help,Bantuan Teks Badan dan Penutup,
Overdue Interval,Selang Tertunda,
Dunning Letter,Surat Dunning,
"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","Bahagian ini membolehkan pengguna menetapkan teks Badan dan Penutup Surat Dunning untuk Jenis Dunning berdasarkan bahasa, yang dapat digunakan dalam Cetakan.",
Reference Detail No,Butiran Rujukan No.,
Custom Remarks,Ucapan Adat,
Please select a Company first.,Sila pilih Syarikat terlebih dahulu.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Baris # {0}: Jenis Dokumen Rujukan mestilah salah satu Pesanan Jualan, Invois Jualan, Entri Jurnal atau Dunning",
POS Closing Entry,Penyertaan Penutup POS,
POS Opening Entry,Penyertaan Pembukaan POS,
POS Transactions,Transaksi POS,
POS Closing Entry Detail,Butiran Penyertaan Penutup POS,
Opening Amount,Jumlah Pembukaan,
Closing Amount,Jumlah Penutupan,
POS Closing Entry Taxes,POS Penutupan Cukai Masuk,
POS Invoice,Invois POS,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Invois Jualan Gabungan,
Return Against POS Invoice,Kembali Terhadap Invois POS,
Consolidated,Disatukan,
POS Invoice Item,Item Invois POS,
POS Invoice Merge Log,Log Gabungan Invois POS,
POS Invoices,Invois POS,
Consolidated Credit Note,Nota Kredit Gabungan,
POS Invoice Reference,Rujukan Invois POS,
Set Posting Date,Tetapkan Tarikh Pengeposan,
Opening Balance Details,Perincian Baki Pembukaan,
POS Opening Entry Detail,Butiran Penyertaan Pembukaan POS,
POS Payment Method,Kaedah Pembayaran POS,
Payment Methods,cara bayaran,
Process Statement Of Accounts,Proses Penyata Akaun,
General Ledger Filters,Penapis Buku Besar,
Customers,Pelanggan,
Select Customers By,Pilih Pelanggan Oleh,
Fetch Customers,Ambil Pelanggan,
Send To Primary Contact,Hantar Ke Kenalan Utama,
Print Preferences,Pilihan Cetakan,
Include Ageing Summary,Sertakan Ringkasan Penuaan,
Enable Auto Email,Dayakan E-mel Auto,
Filter Duration (Months),Tempoh Penapis (Bulan),
CC To,CC Ke,
Help Text,Teks Bantuan,
Emails Queued,E-mel Beratur,
Process Statement Of Accounts Customer,Proses Penyata Pelanggan Akaun,
Billing Email,E-mel Pengebilan,
Primary Contact Email,E-mel Hubungan Utama,
PSOA Cost Center,Pusat Kos PSOA,
PSOA Project,Projek PSOA,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Pembekal GSTIN,
Place of Supply,Tempat Pembekalan,
Select Billing Address,Pilih Alamat Pengebilan,
GST Details,Butiran GST,
GST Category,Kategori GST,
Registered Regular,Berdaftar Biasa,
Registered Composition,Komposisi Berdaftar,
Unregistered,Tidak berdaftar,
SEZ,SEZ,
Overseas,Luar Negara,
UIN Holders,Pemegang UIN,
With Payment of Tax,Dengan Pembayaran Cukai,
Without Payment of Tax,Tanpa Pembayaran Cukai,
Invoice Copy,Salinan Invois,
Original for Recipient,Asli untuk Penerima,
Duplicate for Transporter,Pendua untuk Pengangkut,
Duplicate for Supplier,Pendua untuk Pembekal,
Triplicate for Supplier,Rangkap Tiga untuk Pembekal,
Reverse Charge,Cas Terbalik,
Y,Y,
N,N,
E-commerce GSTIN,GSTIN E-dagang,
Reason For Issuing document,Sebab Mengeluarkan dokumen,
01-Sales Return,01-Pulangan Jualan,
02-Post Sale Discount,Potongan Jualan 02-Pos,
03-Deficiency in services,03-Kekurangan dalam perkhidmatan,
04-Correction in Invoice,04-Pembetulan dalam Invois,
05-Change in POS,05-Perubahan POS,
06-Finalization of Provisional assessment,06-Memuktamadkan penilaian Sementara,
07-Others,07-Lain-lain,
Eligibility For ITC,Kelayakan Untuk ITC,
Input Service Distributor,Pengedar Perkhidmatan Input,
Import Of Service,Import Perkhidmatan,
Import Of Capital Goods,Import Barangan Modal,
Ineligible,Tidak memenuhi syarat,
All Other ITC,Semua ITC Lain,
Availed ITC Integrated Tax,Cukai Bersepadu ITC,
Availed ITC Central Tax,Cukai Pusat ITC,
Availed ITC State/UT Tax,Cukai Negeri / UT ITC,
Availed ITC Cess,Berhenti ITC Cess,
Is Nil Rated or Exempted,Nihil Dinilai atau Dikecualikan,
Is Non GST,Bukan GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,Bil E-Way No.,
Is Consolidated,Adakah Disatukan,
Billing Address GSTIN,Alamat Bil GSTIN,
Customer GSTIN,Pelanggan GSTIN,
GST Transporter ID,ID Pengangkut GST,
Distance (in km),Jarak (dalam km),
Road,Jalan raya,
Air,Udara,
Rail,Keretapi,
Ship,Kapal,
GST Vehicle Type,Jenis Kenderaan GST,
Over Dimensional Cargo (ODC),Kargo Lebih Dimensi (ODC),
Consumer,Pengguna,
Deemed Export,Dianggap Eksport,
Port Code,Kod Pelabuhan,
 Shipping Bill Number,Nombor Bil Penghantaran,
Shipping Bill Date,Tarikh Bil Penghantaran,
Subscription End Date,Tarikh Akhir Langganan,
Follow Calendar Months,Ikuti Kalendar Bulan,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Sekiranya ini diperiksa, invois baru seterusnya akan dibuat pada bulan kalendar dan tarikh permulaan suku tanpa mengira tarikh mula invois semasa",
Generate New Invoices Past Due Date,Jana Invois Baru Tarikh Akhir Tamat,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,Invois baru akan dihasilkan mengikut jadual walaupun invois semasa belum dibayar atau tarikh akhir,
Document Type ,jenis dokumen,
Subscription Price Based On,Harga Langganan Berdasarkan,
Fixed Rate,Kadar tetap,
Based On Price List,Berdasarkan Senarai Harga,
Monthly Rate,Kadar Bulanan,
Cancel Subscription After Grace Period,Batalkan Langganan Selepas Tempoh Rahmat,
Source State,Negeri Sumber,
Is Inter State,Adakah Antara Negeri,
Purchase Details,Butiran Pembelian,
Depreciation Posting Date,Tarikh Catatan Susut Nilai,
Purchase Order Required for Purchase Invoice & Receipt Creation,Perintah Pembelian Diperlukan untuk Pembuatan Invois &amp; Pembuatan Resit,
Purchase Receipt Required for Purchase Invoice Creation,Resit Pembelian Diperlukan untuk Pembuatan Invois Pembelian,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Secara lalai, Nama Pembekal ditetapkan mengikut Nama Pembekal yang dimasukkan. Sekiranya anda mahu Pembekal diberi nama oleh a",
 choose the 'Naming Series' option.,pilih pilihan &#39;Naming Series&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga lalai semasa membuat transaksi Pembelian baru. Harga barang akan diambil dari Daftar Harga ini.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Sekiranya pilihan ini dikonfigurasikan &#39;Ya&#39;, ERPNext akan menghalang anda membuat Invoice Pembelian atau Resit tanpa membuat Pesanan Pembelian terlebih dahulu. Konfigurasi ini boleh diganti untuk pembekal tertentu dengan mengaktifkan kotak centang &#39;Benarkan Pembuatan Invois Pembayaran Tanpa Pesanan Pembelian&#39; di master Pembekal.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Sekiranya pilihan ini dikonfigurasi &#39;Ya&#39;, ERPNext akan menghalang anda membuat Invoice Pembelian tanpa membuat Resit Pembelian terlebih dahulu. Konfigurasi ini boleh diganti untuk pembekal tertentu dengan mengaktifkan kotak centang &#39;Benarkan Pembuatan Invois Pembayaran Tanpa Resit Pembelian&#39; di induk Pembekal.",
Quantity & Stock,Kuantiti &amp; Stok,
Call Details,Maklumat Panggilan,
Authorised By,Disahkan Oleh,
Signee (Company),Penandatangan (Syarikat),
Signed By (Company),Ditandatangani oleh (Syarikat),
First Response Time,Masa Respons Pertama,
Request For Quotation,Permintaan untuk sebut harga,
Opportunity Lost Reason Detail,Peluang Hilang Sebab Peluang,
Access Token Secret,Akses Rahsia Token,
Add to Topics,Tambah ke Topik,
...Adding Article to Topics,... Menambah Artikel ke Topik,
Add Article to Topics,Tambahkan Artikel ke Topik,
This article is already added to the existing topics,Artikel ini sudah ditambah ke topik yang ada,
Add to Programs,Tambah ke Program,
Programs,Program,
...Adding Course to Programs,... Menambah Kursus ke Program,
Add Course to Programs,Tambah Kursus ke Program,
This course is already added to the existing programs,Kursus ini sudah ditambah ke program yang ada,
Learning Management System Settings,Tetapan Sistem Pengurusan Pembelajaran,
Enable Learning Management System,Aktifkan Sistem Pengurusan Pembelajaran,
Learning Management System Title,Tajuk Sistem Pengurusan Pembelajaran,
...Adding Quiz to Topics,... Menambah Kuiz ke Topik,
Add Quiz to Topics,Tambah Kuiz ke Topik,
This quiz is already added to the existing topics,Kuiz ini sudah ditambah ke topik yang ada,
Enable Admission Application,Aktifkan Permohonan Kemasukan,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Menandakan kehadiran,
Add Guardians to Email Group,Tambahkan Penjaga ke Kumpulan E-mel,
Attendance Based On,Kehadiran Berdasarkan,
Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Tandakan ini untuk menandakan pelajar itu hadir sekiranya pelajar tidak menghadiri institut untuk mengambil bahagian atau mewakili institusi dalam apa jua keadaan.,
Add to Courses,Tambah ke Kursus,
...Adding Topic to Courses,... Menambah Topik ke Kursus,
Add Topic to Courses,Tambah Topik ke Kursus,
This topic is already added to the existing courses,Topik ini sudah ditambah ke kursus yang ada,
"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Sekiranya Shopify tidak memiliki pelanggan dalam pesanan, maka semasa menyinkronkan pesanan, sistem akan mempertimbangkan pelanggan lalai untuk pesanan",
The accounts are set by the system automatically but do confirm these defaults,Akaun ditetapkan oleh sistem secara automatik tetapi mengesahkan lalai ini,
Default Round Off Account,Akaun Pusingan Lalai,
Failed Import Log,Log Import gagal,
Fixed Error Log,Memperbaiki Log Ralat,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Syarikat {0} sudah wujud. Meneruskan akan menimpa Syarikat dan Carta Akaun,
Meta Data,Data Meta,
Unresolve,Tidak dapat diselesaikan,
Create Document,Buat Dokumen,
Mark as unresolved,Tandakan sebagai tidak dapat diselesaikan,
TaxJar Settings,Tetapan TaxJar,
Sandbox Mode,Mod Kotak Pasir,
Enable Tax Calculation,Dayakan Pengiraan Cukai,
Create TaxJar Transaction,Buat Transaksi TaxJar,
Credentials,Kelayakan,
Live API Key,Kunci API Langsung,
Sandbox API Key,Kunci API Kotak Pasir,
Configuration,Konfigurasi,
Tax Account Head,Ketua Akaun Cukai,
Shipping Account Head,Ketua Akaun Penghantaran,
Practitioner Name,Nama Pengamal,
Enter a name for the Clinical Procedure Template,Masukkan nama untuk Templat Prosedur Klinikal,
Set the Item Code which will be used for billing the Clinical Procedure.,Tetapkan Kod Item yang akan digunakan untuk penagihan Prosedur Klinikal.,
Select an Item Group for the Clinical Procedure Item.,Pilih Kumpulan Item untuk Item Prosedur Klinikal.,
Clinical Procedure Rate,Kadar Prosedur Klinikal,
Check this if the Clinical Procedure is billable and also set the rate.,Periksa ini jika Prosedur Klinikal boleh dikenakan dan tetapkan juga kadarnya.,
Check this if the Clinical Procedure utilises consumables. Click ,Periksa ini jika Prosedur Klinikal menggunakan bahan habis pakai. Klik,
 to know more,untuk mengetahui lebih lanjut,
"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","Anda juga boleh menetapkan Jabatan Perubatan untuk templat. Setelah menyimpan dokumen, Item akan dibuat secara automatik untuk menagih Prosedur Klinikal ini. Anda kemudian boleh menggunakan templat ini semasa membuat Prosedur Klinikal untuk Pesakit. Templat menjimatkan anda daripada mengisi data berlebihan setiap masa. Anda juga boleh membuat templat untuk operasi lain seperti Ujian Makmal, Sesi Terapi, dll.",
Descriptive Test Result,Keputusan Ujian Deskriptif,
Allow Blank,Benarkan Kosong,
Descriptive Test Template,Templat Ujian Deskriptif,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Sekiranya anda ingin mengesan operasi Penggajian dan HRMS lain untuk Praktikoner, buat Pekerja dan pautkannya di sini.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Tetapkan Jadual Pengamal yang baru anda buat. Ini akan digunakan semasa membuat tempahan.,
Create a service item for Out Patient Consulting.,Buat item perkhidmatan untuk Out Patient Consulting.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Sekiranya Pengamal Kesihatan ini bekerja di Jabatan Pesakit Dalam, buat item perkhidmatan untuk Lawatan Pesakit Dalam.",
Set the Out Patient Consulting Charge for this Practitioner.,Tetapkan Bayaran Perundingan Pesakit Luar untuk Pengamal ini.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Sekiranya Pengamal Kesihatan ini juga bekerja di Jabatan Pesakit Dalam, tetapkan caj lawatan pesakit dalam untuk Pengamal ini.",
"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Sekiranya diperiksa, pelanggan akan dibuat untuk setiap Pesakit. Invois Pesakit akan dibuat terhadap Pelanggan ini. Anda juga boleh memilih Pelanggan yang ada semasa membuat Pesakit. Medan ini diperiksa secara lalai.",
Collect Registration Fee,Kumpulkan Yuran Pendaftaran,
"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Sekiranya kemudahan Penjagaan Kesihatan anda membayar pendaftaran Pesakit, anda boleh menyemaknya dan menetapkan Yuran Pendaftaran di bidang di bawah. Memeriksa ini akan membuat Pesakit baru dengan status Orang Kurang Upaya secara lalai dan hanya akan diaktifkan setelah membuat bayaran Yuran Pendaftaran.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Memeriksa ini akan membuat Invois Jualan secara automatik setiap kali janji temu dibuat untuk Pesakit.,
Healthcare Service Items,Item Perkhidmatan Penjagaan Kesihatan,
"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","Anda boleh membuat item perkhidmatan untuk Caj Lawatan Rawat Inap dan menetapkannya di sini. Begitu juga, anda boleh menyediakan Item Perkhidmatan Penjagaan Kesihatan yang lain untuk penagihan di bahagian ini. Klik",
Set up default Accounts for the Healthcare Facility,Sediakan Akaun lalai untuk Kemudahan Penjagaan Kesihatan,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Sekiranya anda ingin mengatasi tetapan akaun lalai dan mengkonfigurasi akaun Pendapatan dan Terima untuk Penjagaan Kesihatan, anda boleh melakukannya di sini.",
Out Patient SMS alerts,Makluman SMS Pesakit Keluar,
"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Sekiranya anda ingin menghantar amaran SMS pada Pendaftaran Pesakit, anda boleh mengaktifkan pilihan ini. Sebagai contoh, anda boleh menetapkan amaran SMS pesakit untuk fungsi lain di bahagian ini. Klik",
Admission Order Details,Maklumat Perintah Kemasukan,
Admission Ordered For,Kemasukan Dipesan Untuk,
Expected Length of Stay,Jangka Masa Menginap,
Admission Service Unit Type,Jenis Unit Perkhidmatan Kemasukan,
Healthcare Practitioner (Primary),Pengamal Kesihatan (Primer),
Healthcare Practitioner (Secondary),Pengamal Kesihatan (Menengah),
Admission Instruction,Arahan Kemasukan,
Chief Complaint,Aduan Ketua,
Medications,Ubat-ubatan,
Investigations,Penyiasatan,
Discharge Detials,Penolakan Pelepasan,
Discharge Ordered Date,Tarikh Pesanan Pelepasan,
Discharge Instructions,Arahan Pelepasan,
Follow Up Date,Tarikh Susulan,
Discharge Notes,Nota Pelupusan,
Processing Inpatient Discharge,Memproses Pelepasan Pesakit Dalam,
Processing Patient Admission,Memproses Kemasukan Pesakit,
Check-in time cannot be greater than the current time,Waktu daftar masuk tidak boleh lebih besar daripada waktu semasa,
Process Transfer,Pemindahan Proses,
HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
Expected Result Date,Tarikh Hasil yang Dijangka,
Expected Result Time,Masa Hasil yang Dijangkakan,
Printed on,Dicetak pada,
Requesting Practitioner,Memohon Pengamal,
Requesting Department,Memohon Jabatan,
Employee (Lab Technician),Pekerja (Juruteknik Makmal),
Lab Technician Name,Nama Juruteknik Makmal,
Lab Technician Designation,Penetapan Juruteknik Makmal,
Compound Test Result,Keputusan Ujian Kompaun,
Organism Test Result,Keputusan Ujian Organisma,
Sensitivity Test Result,Keputusan Ujian Sensitiviti,
Worksheet Print,Cetakan Lembaran Kerja,
Worksheet Instructions,Arahan Lembaran Kerja,
Result Legend Print,Hasil Cetakan Legenda,
Print Position,Kedudukan Cetakan,
Bottom,Bawah,
Top,Atas,
Both,Kedua-duanya,
Result Legend,Hasil Legenda,
Lab Tests,Ujian Makmal,
No Lab Tests found for the Patient {0},Tiada Ujian Makmal dijumpai untuk Pesakit {0},
"Did not send SMS, missing patient mobile number or message content.","Tidak menghantar SMS, nombor telefon bimbit pesakit atau kandungan mesej yang hilang.",
No Lab Tests created,Tiada Ujian Makmal dibuat,
Creating Lab Tests...,Membuat Ujian Makmal ...,
Lab Test Group Template,Templat Kumpulan Ujian Makmal,
Add New Line,Tambah Baris Baru,
Secondary UOM,UOM sekunder,
"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Tunggal</b> : Hasil yang memerlukan hanya satu input.<br> <b>Kompaun</b> : Hasil yang memerlukan pelbagai input peristiwa.<br> <b>Deskriptif</b> : Ujian yang mempunyai pelbagai komponen hasil dengan kemasukan hasil manual.<br> <b>Dikumpulkan</b> : Templat ujian yang merupakan sekumpulan templat ujian lain.<br> <b>Tiada Hasil</b> : Ujian tanpa hasil, boleh dipesan dan ditagih tetapi Ujian Makmal tidak akan dibuat. cth. Sub Ujian untuk keputusan Berkumpulan",
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Sekiranya tidak dicentang, item tersebut tidak akan tersedia dalam Invois Jualan untuk penagihan tetapi boleh digunakan dalam pembuatan ujian kumpulan.",
Description ,Penerangan,
Descriptive Test,Ujian Deskriptif,
Group Tests,Ujian Berkumpulan,
Instructions to be printed on the worksheet,Arahan untuk dicetak pada lembaran kerja,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.","Maklumat untuk menafsirkan laporan ujian dengan mudah, akan dicetak sebagai sebahagian daripada hasil Ujian Makmal.",
Normal Test Result,Keputusan Ujian Biasa,
Secondary UOM Result,Keputusan UOM Menengah,
Italic,Miring,
Underline,Garis bawah,
Organism,Organisma,
Organism Test Item,Item Ujian Organisma,
Colony Population,Penduduk Jajahan,
Colony UOM,Jajahan UOM,
Tobacco Consumption (Past),Penggunaan Tembakau (Masa Lalu),
Tobacco Consumption (Present),Penggunaan Tembakau (Sekarang),
Alcohol Consumption (Past),Penggunaan Alkohol (Dahulu),
Alcohol Consumption (Present),Penggunaan Alkohol (Sekarang),
Billing Item,Item Bil,
Medical Codes,Kod Perubatan,
Clinical Procedures,Prosedur Klinikal,
Order Admission,Kemasukan Pesanan,
Scheduling Patient Admission,Menjadualkan Kemasukan Pesakit,
Order Discharge,Pelepasan Pesanan,
Sample Details,Butiran Contoh,
Collected On,Dikumpulkan Pada,
No. of prints,Bilangan cetakan,
Number of prints required for labelling the samples,Bilangan cetakan yang diperlukan untuk pelabelan sampel,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
In Time,Dalam masa,
Out Time,Masa Keluar,
Payroll Cost Center,Pusat Kos Gaji,
Approvers,Meluluskan,
The first Approver in the list will be set as the default Approver.,Pelulus pertama dalam senarai akan ditetapkan sebagai Pelulus lalai.,
Shift Request Approver,Kelulusan Permintaan Shift,
PAN Number,Nombor PAN,
Provident Fund Account,Akaun Kumpulan Wang Simpanan,
MICR Code,Kod MICR,
Repay unclaimed amount from salary,Bayar balik jumlah yang tidak dituntut dari gaji,
Deduction from salary,Potongan gaji,
Expired Leaves,Daun Tamat Tempoh,
Reference No,No rujukan,
Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,Peratusan potongan rambut adalah peratusan perbezaan antara nilai pasaran dari Pinjaman Keselamatan dan nilai yang diberikan kepada Pinjaman Keselamatan tersebut ketika digunakan sebagai jaminan untuk pinjaman tersebut.,
Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,Loan To Value Ratio menyatakan nisbah jumlah pinjaman dengan nilai cagaran yang dijanjikan. Kekurangan jaminan pinjaman akan dicetuskan jika ini jatuh di bawah nilai yang ditentukan untuk sebarang pinjaman,
If this is not checked the loan by default will be considered as a Demand Loan,"Sekiranya ini tidak diperiksa, pinjaman secara lalai akan dianggap sebagai Permintaan Pinjaman",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Akaun ini digunakan untuk membuat pembayaran pinjaman dari peminjam dan juga mengeluarkan pinjaman kepada peminjam,
This account is capital account which is used to allocate capital for loan disbursal account ,Akaun ini adalah akaun modal yang digunakan untuk memperuntukkan modal untuk akaun pengeluaran pinjaman,
This account will be used for booking loan interest accruals,Akaun ini akan digunakan untuk membuat tempahan faedah pinjaman,
This account will be used for booking penalties levied due to delayed repayments,Akaun ini akan digunakan untuk menempah denda yang dikenakan kerana pembayaran yang tertangguh,
Variant BOM,Variasi BOM,
Template Item,Item Templat,
Select template item,Pilih item templat,
Select variant item code for the template item {0},Pilih kod item varian untuk item templat {0},
Downtime Entry,Kemasukan Waktu Henti,
DT-,DT-,
Workstation / Machine,Stesen Kerja / Mesin,
Operator,Pengendali,
In Mins,Dalam Min,
Downtime Reason,Sebab Waktu Henti,
Stop Reason,Hentikan Sebab,
Excessive machine set up time,Masa penyediaan mesin yang berlebihan,
Unplanned machine maintenance,Penyelenggaraan mesin yang tidak dirancang,
On-machine press checks,Pemeriksaan akhbar di mesin,
Machine operator errors,Kesalahan pengendali mesin,
Machine malfunction,Kerosakan mesin,
Electricity down,Tenaga elektrik turun,
Operation Row Number,Nombor Baris Operasi,
Operation {0} added multiple times in the work order {1},Operasi {0} ditambahkan berkali-kali dalam urutan kerja {1},
"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Sekiranya dicentang, banyak bahan boleh digunakan untuk satu Pesanan Kerja. Ini berguna sekiranya satu atau lebih produk yang memakan masa dihasilkan.",
Backflush Raw Materials,Bahan Baku Backflush,
"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","Entri Stok jenis &#39;Pembuatan&#39; dikenali sebagai backflush. Bahan mentah yang digunakan untuk pembuatan barang jadi dikenali sebagai backflushing.<br><br> Semasa membuat Entry Pembuatan, item bahan mentah ditolak berdasarkan BOM item pengeluaran. Sekiranya anda mahu item bahan mentah dikembalikan berdasarkan entri Pemindahan Bahan yang dibuat berdasarkan Perintah Kerja itu, maka anda boleh menetapkannya di bawah bidang ini.",
Work In Progress Warehouse,Gudang Bekerja Dalam Progres,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Gudang ini akan dikemas kini secara automatik di bidang Work In Progress Warehouse dari Perintah Kerja.,
Finished Goods Warehouse,Gudang Barang Selesai,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Gudang ini akan dikemas kini secara automatik di bidang Target Warehouse dari Work Order.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Sekiranya ditandakan, kos BOM akan dikemas kini secara automatik berdasarkan Kadar Penilaian / Harga Senarai Harga / kadar pembelian bahan mentah terakhir.",
Source Warehouses (Optional),Gudang Sumber (Pilihan),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Sistem akan mengambil bahan dari gudang terpilih. Sekiranya tidak dinyatakan, sistem akan membuat permintaan material untuk pembelian.",
Lead Time,Masa Memimpin,
PAN Details,Perincian PAN,
Create Customer,Buat Pelanggan,
Invoicing,Penginvoisan,
Enable Auto Invoicing,Dayakan Penginvoisan Automatik,
Send Membership Acknowledgement,Hantar Pengakuan Keahlian,
Send Invoice with Email,Hantar Invois dengan E-mel,
Membership Print Format,Format Cetakan Keahlian,
Invoice Print Format,Format Cetakan Invois,
Revoke <Key></Key>,Membatalkan&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,Anda boleh mengetahui lebih lanjut mengenai keahlian dalam manual.,
ERPNext Docs,Dokumen ERPNext,
Regenerate Webhook Secret,Buat semula Rahsia Webhook,
Generate Webhook Secret,Jana Rahsia Webhook,
Copy Webhook URL,Salin URL Webhook,
Linked Item,Item Terpaut,
Is Recurring,Berulang,
HRA Exemption,Pengecualian HRA,
Monthly House Rent,Sewa Rumah Bulanan,
Rented in Metro City,Disewa di Metro City,
HRA as per Salary Structure,HRA mengikut Struktur Gaji,
Annual HRA Exemption,Pengecualian HRA Tahunan,
Monthly HRA Exemption,Pengecualian HRA Bulanan,
House Rent Payment Amount,Jumlah Bayaran Sewa Rumah,
Rented From Date,Disewa Dari Tarikh,
Rented To Date,Disewa Sehingga Kini,
Monthly Eligible Amount,Jumlah Layak Bulanan,
Total Eligible HRA Exemption,Jumlah Pengecualian HRA yang Layak,
Validating Employee Attendance...,Mengesahkan Kehadiran Pekerja ...,
Submitting Salary Slips and creating Journal Entry...,Mengemukakan Slip Gaji dan membuat Entri Jurnal ...,
Calculate Payroll Working Days Based On,Hitung Hari Kerja Gaji Berdasarkan,
Consider Unmarked Attendance As,Pertimbangkan Kehadiran Tidak Ditanda Sebagai,
Fraction of Daily Salary for Half Day,Pecahan Gaji Harian untuk Separuh Hari,
Component Type,Jenis Komponen,
Provident Fund,kumpulan Wang Simpanan,
Additional Provident Fund,Kumpulan Wang Simpanan Tambahan,
Provident Fund Loan,Pinjaman Kumpulan Wang Simpanan,
Professional Tax,Cukai Profesional,
Is Income Tax Component,Adakah Komponen Cukai Pendapatan,
Component properties and references ,Sifat dan rujukan komponen,
Additional Salary ,Gaji Tambahan,
Unmarked days,Hari tanpa tanda,
Absent Days,Hari yang tidak hadir,
Conditions and Formula variable and example,Keadaan dan pemboleh ubah Formula dan contoh,
Feedback By,Maklum Balas Oleh,
MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
Manufacturing Section,Bahagian Pembuatan,
Sales Order Required for Sales Invoice & Delivery Note Creation,Perintah Jualan Diperlukan untuk Pembuatan Invois Penjualan &amp; Penghantaran Nota Penghantaran,
Delivery Note Required for Sales Invoice Creation,Nota Penghantaran Diperlukan untuk Pembuatan Invois Jualan,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Secara lalai, Nama Pelanggan ditetapkan sesuai dengan Nama Penuh yang dimasukkan. Sekiranya anda mahu Pelanggan diberi nama oleh a",
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga lalai semasa membuat transaksi Jualan baru. Harga barang akan diambil dari Daftar Harga ini.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Sekiranya pilihan ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah anda membuat Invois Jualan atau Nota Penghantaran tanpa membuat Pesanan Jualan terlebih dahulu. Konfigurasi ini dapat diganti untuk Pelanggan tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Invois Penjualan Tanpa Pesanan Penjualan&#39; di master Pelanggan.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Sekiranya pilihan ini dikonfigurasikan &#39;Ya&#39;, ERPNext akan menghalang anda membuat Invois Jualan tanpa membuat Catatan Penghantaran terlebih dahulu. Konfigurasi ini dapat diganti untuk Pelanggan tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Invois Penjualan Tanpa Catatan Penghantaran&#39; di master Pelanggan.",
Default Warehouse for Sales Return,Gudang Lalai untuk Pulangan Jualan,
Default In Transit Warehouse,Lalai Di Gudang Transit,
Enable Perpetual Inventory For Non Stock Items,Aktifkan Inventori Kekal Untuk Item Bukan Stok,
HRA Settings,Tetapan HRA,
Basic Component,Komponen Asas,
HRA Component,Komponen HRA,
Arrear Component,Komponen Tunggakan,
Please enter the company name to confirm,Sila masukkan nama syarikat untuk mengesahkan,
Quotation Lost Reason Detail,Perincian Sebab Hilang Sebutharga,
Enable Variants,Dayakan Varian,
Save Quotations as Draft,Simpan Sebutharga sebagai Draf,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Sila Pilih Pelanggan,
Against Delivery Note Item,Terhadap Item Nota Penghantaran,
Is Non GST ,Bukan GST,
Image Description,Penerangan Gambar,
Transfer Status,Status Pemindahan,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Jejaki Resit Pembelian ini terhadap Projek mana pun,
Please Select a Supplier,Sila Pilih Pembekal,
Add to Transit,Tambah ke Transit,
Set Basic Rate Manually,Tetapkan Kadar Asas Secara Manual,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Secara lalai, Nama Item ditetapkan mengikut Kod Item yang dimasukkan. Sekiranya anda mahu Item dinamakan oleh a",
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Tetapkan Gudang Lalai untuk Transaksi Inventori. Ini akan dibawa ke Gudang Lalai di induk Item.,
"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Ini akan membolehkan item stok dipaparkan dalam nilai negatif. Menggunakan pilihan ini bergantung pada kes penggunaan anda. Dengan pilihan ini tidak dicentang, sistem memberi amaran sebelum menghalang transaksi yang menyebabkan stok negatif.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Pilih antara FIFO dan Kaedah Penilaian Purata Bergerak. Klik,
 to know more about them.,untuk mengetahui lebih lanjut mengenai mereka.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Tunjukkan bidang &#39;Imbas Kod Bar&#39; di atas setiap jadual kanak-kanak untuk memasukkan Item dengan mudah.,
"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Nombor siri untuk stok akan ditetapkan secara automatik berdasarkan Item yang dimasukkan berdasarkan pertama dalam transaksi pertama seperti Invois Pembelian / Jualan, Nota Penghantaran, dll.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Sekiranya kosong, Akaun Gudang induk atau lalai syarikat akan dipertimbangkan dalam urus niaga",
Service Level Agreement Details,Maklumat Perjanjian Tahap Perkhidmatan,
Service Level Agreement Status,Status Perjanjian Tahap Perkhidmatan,
On Hold Since,Ditahan Sejak,
Total Hold Time,Jumlah Masa Tahan,
Response Details,Butiran Respons,
Average Response Time,Masa Respons Purata,
User Resolution Time,Masa Resolusi Pengguna,
SLA is on hold since {0},SLA ditangguhkan sejak {0},
Pause SLA On Status,Jeda SLA On Status,
Pause SLA On,Jeda SLA Hidup,
Greetings Section,Bahagian Salam,
Greeting Title,Tajuk Ucapan,
Greeting Subtitle,Sari Kata Salam,
Youtube ID,ID Youtube,
Youtube Statistics,Statistik Youtube,
Views,Pandangan,
Dislikes,Tidak suka,
Video Settings,Tetapan Video,
Enable YouTube Tracking,Dayakan Penjejakan YouTube,
30 mins,30 minit,
1 hr,1 jam,
6 hrs,6 jam,
Patient Progress,Kemajuan Pesakit,
Targetted,Sasaran,
Score Obtained,Markah Diperolehi,
Sessions,Sesi,
Average Score,Skor Purata,
Select Assessment Template,Pilih Templat Penilaian,
 out of ,daripada,
Select Assessment Parameter,Pilih Parameter Penilaian,
Gender: ,Jantina:,
Contact: ,Hubungi:,
Total Therapy Sessions: ,Jumlah Sesi Terapi:,
Monthly Therapy Sessions: ,Sesi Terapi Bulanan:,
Patient Profile,Profil Pesakit,
Point Of Sale,Tempat jualan,
Email sent successfully.,E-mel berjaya dihantar.,
Search by invoice id or customer name,Cari mengikut id invois atau nama pelanggan,
Invoice Status,Status Invois,
Filter by invoice status,Tapis mengikut status invois,
Select item group,Pilih kumpulan item,
No items found. Scan barcode again.,Item tidak dijumpai. Imbas kembali kod bar.,
"Search by customer name, phone, email.","Cari mengikut nama pelanggan, telefon, e-mel.",
Enter discount percentage.,Masukkan peratusan diskaun.,
Discount cannot be greater than 100%,Diskaun tidak boleh melebihi 100%,
Enter customer's email,Masukkan e-mel pelanggan,
Enter customer's phone number,Masukkan nombor telefon pelanggan,
Customer contact updated successfully.,Kenalan pelanggan berjaya dikemas kini.,
Item will be removed since no serial / batch no selected.,Item akan dikeluarkan kerana tiada siri / kumpulan tidak dipilih.,
Discount (%),Diskaun (%),
You cannot submit the order without payment.,Anda tidak boleh menghantar pesanan tanpa pembayaran.,
You cannot submit empty order.,Anda tidak boleh menghantar pesanan kosong.,
To Be Paid,Untuk Dibayar,
Create POS Opening Entry,Buat Entri Pembukaan POS,
Please add Mode of payments and opening balance details.,Sila tambah kaedah pembayaran dan butiran baki pembukaan.,
Toggle Recent Orders,Togol Pesanan Terkini,
Save as Draft,Menyimpan sebagai draf,
You must add atleast one item to save it as draft.,Anda mesti menambahkan sekurang-kurangnya satu item untuk menyimpannya sebagai draf.,
There was an error saving the document.,Terdapat ralat semasa menyimpan dokumen.,
You must select a customer before adding an item.,Anda mesti memilih pelanggan sebelum menambahkan item.,
Please Select a Company,Sila Pilih Syarikat,
Active Leads,Petunjuk Aktif,
Please Select a Company.,Sila Pilih Syarikat.,
BOM Operations Time,Masa Operasi BOM,
BOM ID,ID BOM,
BOM Item Code,Kod Item BOM,
Time (In Mins),Masa (Dalam Mins),
Sub-assembly BOM Count,Kiraan BOM sub-pemasangan,
View Type,Jenis Lihat,
Total Delivered Amount,Jumlah yang dihantar,
Downtime Analysis,Analisis Waktu Henti,
Machine,Mesin,
Downtime (In Hours),Waktu Henti (Dalam Jam),
Employee Analytics,Analisis Pekerja,
"""From date"" can not be greater than or equal to ""To date""",&quot;Dari tarikh&quot; tidak boleh lebih besar dari atau sama dengan &quot;Sehingga kini&quot;,
Exponential Smoothing Forecasting,Ramalan Pelicinan Eksponensial,
First Response Time for Issues,Masa Respons Pertama untuk Isu,
First Response Time for Opportunity,Masa Respons Pertama untuk Peluang,
Depreciatied Amount,Jumlah Susut Nilai,
Period Based On,Tempoh Berdasarkan,
Date Based On,Tarikh Berdasarkan,
{0} and {1} are mandatory,{0} dan {1} adalah wajib,
Consider Accounting Dimensions,Pertimbangkan Dimensi Perakaunan,
Income Tax Deductions,Potongan Cukai Pendapatan,
Income Tax Component,Komponen Cukai Pendapatan,
Income Tax Amount,Amaun Cukai Pendapatan,
Reserved Quantity for Production,Kuantiti Terpelihara untuk Pengeluaran,
Projected Quantity,Kuantiti yang diunjurkan,
 Total Sales Amount,Jumlah Jualan,
Job Card Summary,Ringkasan Kad Kerja,
Id,ID,
Time Required (In Mins),Masa yang Diperlukan (Dalam Mins),
From Posting Date,Dari Tarikh Pengeposan,
To Posting Date,Ke Tarikh Pengeposan,
No records found,Tiada rekod dijumpai,
Customer/Lead Name,Nama Pelanggan / Utama,
Unmarked Days,Hari Tanpa Tanda,
Jan,Jan,
Feb,Feb.,
Mar,Mac,
Apr,Apr.,
Aug,Ogos,
Sep,Sep,
Oct,Okt.,
Nov,Nov,
Dec,Dis,
Summarized View,Ringkasan Pandangan,
Production Planning Report,Laporan Perancangan Pengeluaran,
Order Qty,Pesan Kuantiti,
Raw Material Code,Kod Bahan Mentah,
Raw Material Name,Nama Bahan Mentah,
Allotted Qty,Kuantiti yang diperuntukkan,
Expected Arrival Date,Tarikh Ketibaan Dijangka,
Arrival Quantity,Kuantiti Ketibaan,
Raw Material Warehouse,Gudang Bahan Mentah,
Order By,Perintah oleh,
Include Sub-assembly Raw Materials,Sertakan Bahan Baku Sub-pemasangan,
Professional Tax Deductions,Potongan Cukai Profesional,
Program wise Fee Collection,Koleksi Yuran Program,
Fees Collected,Yuran Dikumpulkan,
Project Summary,Ringkasan Projek,
Total Tasks,Jumlah Tugas,
Tasks Completed,Tugas Selesai,
Tasks Overdue,Tugas Tertunggak,
Completion,Selesai,
Provident Fund Deductions,Potongan Dana Provident,
Purchase Order Analysis,Analisis Pesanan Pembelian,
From and To Dates are required.,Dari dan hingga tarikh diperlukan.,
To Date cannot be before From Date.,Hingga Tarikh tidak boleh sebelum Dari Tarikh.,
Qty to Bill,Kuantiti untuk Bil,
Group by Purchase Order,Kumpulan mengikut Pesanan Pembelian,
 Purchase Value,Nilai Pembelian,
Total Received Amount,Jumlah yang Diterima,
Quality Inspection Summary,Ringkasan Pemeriksaan Kualiti,
 Quoted Amount,Jumlah Dipetik,
Lead Time (Days),Masa Lead (Hari),
Include Expired,Sertakan Tamat Tempoh,
Recruitment Analytics,Analisis Pengambilan,
Applicant name,Nama pemohon,
Job Offer status,Status Tawaran Kerja,
On Date,Pada tarikh,
Requested Items to Order and Receive,Item yang Diminta untuk Memesan dan Menerima,
Salary Payments Based On Payment Mode,Pembayaran Gaji Berdasarkan Kaedah Pembayaran,
Salary Payments via ECS,Pembayaran Gaji melalui ECS,
Account No,Nombor akaun,
IFSC,IFSC,
MICR,MICR,
Sales Order Analysis,Analisis Pesanan Jualan,
Amount Delivered,Jumlah Dihantar,
Delay (in Days),Kelewatan (dalam Hari),
Group by Sales Order,Kumpulan mengikut Pesanan Jualan,
 Sales Value,Nilai Jualan,
Stock Qty vs Serial No Count,Kuantiti Stok vs Jumlah Kira,
Serial No Count,Tiada Kiraan Bersiri,
Work Order Summary,Ringkasan Pesanan Kerja,
Produce Qty,Menghasilkan Kuantiti,
Lead Time (in mins),Lead Time (dalam minit),
Charts Based On,Carta Berdasarkan,
YouTube Interactions,Interaksi YouTube,
Published Date,Tarikh Terbitan,
Barnch,Barnch,
Select a Company,Pilih Syarikat,
Opportunity {0} created,Peluang {0} dibuat,
Kindly select the company first,Pilih syarikat terlebih dahulu,
Please enter From Date and To Date to generate JSON,Sila masukkan Dari Tarikh dan Hingga Tarikh untuk menghasilkan JSON,
PF Account,Akaun PF,
PF Amount,Jumlah PF,
Additional PF,PF tambahan,
PF Loan,Pinjaman PF,
Download DATEV File,Muat turun Fail DATEV,
Numero has not set in the XML file,Numero belum ditetapkan dalam fail XML,
Inward Supplies(liable to reverse charge),Bekalan Masuk (dikenakan cas balik),
This is based on the course schedules of this Instructor,Ini berdasarkan jadual kursus Pengajar ini,
Course and Assessment,Kursus dan Penilaian,
Course {0} has been added to all the selected programs successfully.,Kursus {0} telah berjaya ditambahkan ke semua program yang dipilih.,
Programs updated,Program dikemas kini,
Program and Course,Program dan Kursus,
{0} or {1} is mandatory,{0} atau {1} adalah wajib,
Mandatory Fields,Bidang Wajib,
Student {0}: {1} does not belong to Student Group {2},Pelajar {0}: {1} tidak tergolong dalam Kumpulan Pelajar {2},
Student Attendance record {0} already exists against the Student {1},Rekod Kehadiran Pelajar {0} sudah ada terhadap Pelajar {1},
Duplicate Entry,Pendua Pendua,
Course and Fee,Kursus dan Yuran,
Not eligible for the admission in this program as per Date Of Birth,Tidak layak untuk masuk dalam program ini mengikut Tarikh Lahir,
Topic {0} has been added to all the selected courses successfully.,Topik {0} telah berjaya ditambahkan ke semua kursus yang dipilih.,
Courses updated,Kursus dikemas kini,
{0} {1} has been added to all the selected topics successfully.,{0} {1} telah berjaya ditambahkan ke semua topik yang dipilih.,
Topics updated,Topik dikemas kini,
Academic Term and Program,Istilah dan Program Akademik,
Last Stock Transaction for item {0} was on {1}.,Transaksi Stok Terakhir untuk item {0} pada {1}.,
Stock Transactions for Item {0} cannot be posted before this time.,Transaksi Saham untuk Item {0} tidak dapat diposkan sebelum waktu ini.,
Please remove this item and try to submit again or update the posting time.,Sila keluarkan item ini dan cuba hantarkan sekali lagi atau kemas kini masa pengeposan.,
Failed to Authenticate the API key.,Gagal mengesahkan kunci API.,
Invalid Credentials,Kelayakan Tidak Sah,
URL can only be a string,URL hanya boleh menjadi rentetan,
"Here is your webhook secret, this will be shown to you only once.","Inilah rahsia webhook anda, ini akan ditunjukkan kepada anda sekali sahaja.",
The payment for this membership is not paid. To generate invoice fill the payment details,"Bayaran untuk keahlian ini tidak dibayar. Untuk menghasilkan invois, isi maklumat pembayaran",
An invoice is already linked to this document,Invois sudah dipautkan ke dokumen ini,
No customer linked to member {},Tidak ada pelanggan yang dihubungkan dengan ahli {},
You need to set <b>Debit Account</b> in Membership Settings,Anda perlu menetapkan <b>Akaun Debit</b> dalam Tetapan Keahlian,
You need to set <b>Default Company</b> for invoicing in Membership Settings,Anda perlu menetapkan <b>Syarikat Lalai</b> untuk membuat invois dalam Tetapan Keahlian,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Anda perlu mengaktifkan <b>Kirim E-mel Pengakuan</b> dalam Tetapan Keahlian,
Error creating membership entry for {0},Ralat semasa membuat entri keahlian untuk {0},
A customer is already linked to this Member,Pelanggan sudah dihubungkan dengan Ahli ini,
End Date must not be lesser than Start Date,Tarikh Akhir tidak boleh kurang daripada Tarikh Mula,
Employee {0} already has Active Shift {1}: {2},Pekerja {0} sudah mempunyai Shift Aktif {1}: {2},
 from {0},dari {0},
 to {0},ke {0},
Please select Employee first.,Sila pilih Pekerja terlebih dahulu.,
Please set {0} for the Employee or for Department: {1},Sila tetapkan {0} untuk Pekerja atau untuk Jabatan: {1},
To Date should be greater than From Date,Sehingga Tarikh hendaklah lebih besar daripada Dari Tarikh,
Employee Onboarding: {0} is already for Job Applicant: {1},Pekerja Onboarding: {0} sudah untuk Pemohon Pekerjaan: {1},
Job Offer: {0} is already for Job Applicant: {1},Tawaran Pekerjaan: {0} sudah ada untuk Pemohon Pekerjaan: {1},
Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Hanya Permintaan Shift dengan status &#39;Diluluskan&#39; dan &#39;Ditolak&#39; yang dapat dikirimkan,
Shift Assignment: {0} created for Employee: {1},Tugasan Shift: {0} dibuat untuk Pekerja: {1},
You can not request for your Default Shift: {0},Anda tidak boleh meminta Peralihan Lalai: {0},
Only Approvers can Approve this Request.,Hanya Pelulus yang dapat Meluluskan Permintaan ini,
Asset Value Analytics,Analisis Nilai Aset,
Category-wise Asset Value,Nilai Aset mengikut kategori,
Total Assets,Jumlah aset,
New Assets (This Year),Aset Baru (Tahun Ini),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Baris # {}: Tarikh Pengeposan Susutnilai tidak boleh sama dengan Tarikh Tersedia untuk Digunakan.,
Incorrect Date,Tarikh Tidak Betul,
Invalid Gross Purchase Amount,Amaun Pembelian Kasar Tidak Sah,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Terdapat penyelenggaraan atau pembaikan aktif terhadap aset tersebut. Anda mesti melengkapkan semuanya sebelum membatalkan aset.,
% Complete,% Lengkap,
Back to Course,Kembali ke Kursus,
Finish Topic,Topik Selesai,
Mins,Min,
by,oleh,
Back to,Kembali kepada,
Enrolling...,Mendaftar ...,
You have successfully enrolled for the program ,Anda berjaya mendaftar untuk program ini,
Enrolled,Mendaftar,
Watch Intro,Tonton Pengenalan,
We're here to help!,Kami sedia membantu!,
Frequently Read Articles,Kerap Membaca Artikel,
Please set a default company address,Sila tetapkan alamat syarikat lalai,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} bukan keadaan yang sah! Periksa kesalahan ketik atau masukkan kod ISO untuk negeri anda.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Ralat berlaku semasa menghuraikan Carta Akaun: Pastikan tidak ada dua akaun yang mempunyai nama yang sama,
Plaid invalid request error,Kesalahan permintaan kotak-kotak tidak sah,
Please check your Plaid client ID and secret values,Sila periksa ID pelanggan Plaid dan nilai rahsia anda,
Bank transaction creation error,Kesalahan penciptaan transaksi bank,
Unit of Measurement,Unit Pengukuran,
Fiscal Year {0} Does Not Exist,Tahun Fiskal {0} Tidak Ada,
Row # {0}: Returned Item {1} does not exist in {2} {3},Baris # {0}: Item yang Dikembalikan {1} tidak ada di {2} {3},
Valuation type charges can not be marked as Inclusive,Caj jenis penilaian tidak boleh ditandakan sebagai Inklusif,
You do not have permissions to {} items in a {}.,Anda tidak mempunyai izin untuk {} item dalam {}.,
Insufficient Permissions,Kebenaran Tidak mencukupi,
You are not allowed to update as per the conditions set in {} Workflow.,Anda tidak diizinkan untuk mengemas kini sesuai dengan syarat yang ditetapkan dalam {} Alur Kerja.,
Expense Account Missing,Akaun Perbelanjaan Tiada,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} bukan Nilai yang sah untuk Atribut {1} Item {2}.,
Invalid Value,Nilai Tidak Sah,
The value {0} is already assigned to an existing Item {1}.,Nilai {0} sudah ditetapkan untuk Item yang ada {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Untuk masih meneruskan pengeditan Nilai Atribut ini, aktifkan {0} dalam Tetapan Varian Item.",
Edit Not Allowed,Edit Tidak Dibolehkan,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Baris # {0}: Item {1} sudah diterima sepenuhnya dalam Pesanan Pembelian {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Anda tidak boleh membuat atau membatalkan penyertaan perakaunan dalam Tempoh Perakaunan tertutup {0},
POS Invoice should have {} field checked.,Faktur POS semestinya {} bidang diperiksa.,
Invalid Item,Item Tidak Sah,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Baris # {}: Anda tidak boleh menambahkan jumlah pasif dalam invois pulangan. Sila keluarkan item {} untuk menyelesaikan pengembalian.,
The selected change account {} doesn't belongs to Company {}.,Akaun perubahan yang dipilih {} bukan milik Syarikat {}.,
Atleast one invoice has to be selected.,Sekurang-kurangnya satu invois mesti dipilih.,
Payment methods are mandatory. Please add at least one payment method.,Kaedah pembayaran adalah wajib. Sila tambah sekurang-kurangnya satu kaedah pembayaran.,
Please select a default mode of payment,Sila pilih kaedah pembayaran lalai,
You can only select one mode of payment as default,Anda hanya boleh memilih satu kaedah pembayaran sebagai lalai,
Missing Account,Akaun Tiada,
Customers not selected.,Pelanggan tidak terpilih.,
Statement of Accounts,Penyata Akaun,
Ageing Report Based On ,Laporan Penuaan Berdasarkan,
Please enter distributed cost center,Sila masukkan pusat kos yang diedarkan,
Total percentage allocation for distributed cost center should be equal to 100,Jumlah peruntukan peratusan untuk pusat kos yang diedarkan hendaklah sama dengan 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Tidak dapat mengaktifkan Pusat Kos Teragih untuk Pusat Kos yang telah diperuntukkan di Pusat Kos Teragih yang lain,
Parent Cost Center cannot be added in Distributed Cost Center,Pusat Kos Ibu Bapa tidak dapat ditambahkan di Pusat Kos Teragih,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Pusat Kos Teragih tidak dapat ditambahkan dalam jadual peruntukan Pusat Kos Teragih.,
Cost Center with enabled distributed cost center can not be converted to group,Pusat Kos dengan pusat kos diedarkan yang diaktifkan tidak dapat ditukar kepada kumpulan,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Pusat Kos Sudah Diagihkan di Pusat Kos Teragih tidak dapat ditukar kepada kumpulan,
Trial Period Start date cannot be after Subscription Start Date,Tarikh Mula Tempoh Percubaan tidak boleh selepas Tarikh Mula Langganan,
Subscription End Date must be after {0} as per the subscription plan,Tarikh Akhir Langganan mestilah selepas {0} mengikut rancangan langganan,
Subscription End Date is mandatory to follow calendar months,Tarikh Akhir Langganan wajib diikuti bulan kalendar,
Row #{}: POS Invoice {} is not against customer {},Baris # {}: POS Invoice {} tidak bertentangan dengan pelanggan {},
Row #{}: POS Invoice {} is not submitted yet,Baris # {}: Faktur POS {} belum dihantar,
Row #{}: POS Invoice {} has been {},Baris # {}: Faktur POS {} telah {},
No Supplier found for Inter Company Transactions which represents company {0},Tidak ditemukan Pembekal untuk Transaksi Antara Syarikat yang mewakili syarikat {0},
No Customer found for Inter Company Transactions which represents company {0},Tidak dijumpai Pelanggan untuk Transaksi Antara Syarikat yang mewakili syarikat {0},
Invalid Period,Tempoh Tidak Sah,
Selected POS Opening Entry should be open.,Entri Pembukaan POS yang dipilih hendaklah dibuka.,
Invalid Opening Entry,Penyertaan Pembukaan Tidak Sah,
Please set a Company,Sila tentukan Syarikat,
"Sorry, this coupon code's validity has not started","Maaf, kesahihan kod kupon ini belum bermula",
"Sorry, this coupon code's validity has expired","Maaf, kesahihan kod kupon ini telah tamat",
"Sorry, this coupon code is no longer valid","Maaf, kod kupon ini tidak lagi sah",
For the 'Apply Rule On Other' condition the field {0} is mandatory,"Untuk syarat &#39;Terapkan Peraturan Pada Lain&#39;, bidang {0} adalah wajib",
{1} Not in Stock,{1} Tidak Ada Stok,
Only {0} in Stock for item {1},Hanya Stok {0} untuk item {1},
Please enter a coupon code,Sila masukkan kod kupon,
Please enter a valid coupon code,Sila masukkan kod kupon yang sah,
Invalid Child Procedure,Prosedur Anak Tidak Sah,
Import Italian Supplier Invoice.,Import Invois Pembekal Itali.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","Nilai Penilaian untuk Item {0}, diperlukan untuk membuat catatan perakaunan untuk {1} {2}.",
 Here are the options to proceed:,Berikut adalah pilihan untuk meneruskan:,
"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Sekiranya item tersebut bertransaksi sebagai item Kadar Penilaian Sifar dalam entri ini, sila aktifkan &#39;Benarkan Kadar Penilaian Sifar&#39; dalam {0} jadual Item.",
"If not, you can Cancel / Submit this entry ","Sekiranya tidak, anda boleh Batalkan / Hantar entri ini",
 performing either one below:,melakukan salah satu di bawah:,
Create an incoming stock transaction for the Item.,Buat transaksi saham masuk untuk Item.,
Mention Valuation Rate in the Item master.,Sebutkan Nilai Penilaian dalam item Item.,
Valuation Rate Missing,Kadar Penilaian Hilang,
Serial Nos Required,Nombor Siri Diperlukan,
Quantity Mismatch,Ketidakcocokan Kuantiti,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Sila Kembalikan Item dan Kemas kini Daftar Pilih untuk meneruskan. Untuk menghentikan, batalkan Senarai Pilih.",
Out of Stock,Kehabisan Stok,
{0} units of Item {1} is not available.,{0} unit Item {1} tidak tersedia.,
Item for row {0} does not match Material Request,Item untuk baris {0} tidak sepadan dengan Permintaan Bahan,
Warehouse for row {0} does not match Material Request,Gudang untuk baris {0} tidak sepadan dengan Permintaan Bahan,
Accounting Entry for Service,Kemasukan Perakaunan untuk Perkhidmatan,
All items have already been Invoiced/Returned,Semua item telah diinvois / dikembalikan,
All these items have already been Invoiced/Returned,Semua item ini telah diinvois / dikembalikan,
Stock Reconciliations,Rekonsiliasi Saham,
Merge not allowed,Gabungan tidak dibenarkan,
The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,Atribut yang dihapus berikut terdapat dalam Varian tetapi tidak dalam Templat. Anda boleh memadam Varian atau menyimpan atribut dalam templat.,
Variant Items,Item Bervariasi,
Variant Attribute Error,Ralat Atribut Varian,
The serial no {0} does not belong to item {1},No siri {0} bukan milik item {1},
There is no batch found against the {0}: {1},Tidak ada kumpulan yang ditemukan terhadap {0}: {1},
Completed Operation,Selesai Operasi,
Work Order Analysis,Analisis Pesanan Kerja,
Quality Inspection Analysis,Analisis Pemeriksaan Kualiti,
Pending Work Order,Perintah Kerja Belum Selesai,
Last Month Downtime Analysis,Analisis Waktu Henti Bulan Lalu,
Work Order Qty Analysis,Analisis Kuantiti Pesanan Kerja,
Job Card Analysis,Analisis Kad Pekerjaan,
Monthly Total Work Orders,Jumlah Pesanan Kerja Bulanan,
Monthly Completed Work Orders,Pesanan Kerja Selesai Bulanan,
Ongoing Job Cards,Kad Kerja yang sedang berlangsung,
Monthly Quality Inspections,Pemeriksaan Kualiti Bulanan,
(Forecast),(Ramalan),
Total Demand (Past Data),Jumlah Permintaan (Data Lalu),
Total Forecast (Past Data),Jumlah Ramalan (Data Lalu),
Total Forecast (Future Data),Jumlah Ramalan (Data Masa Depan),
Based On Document,Berdasarkan Dokumen,
Based On Data ( in years ),Berdasarkan Data (dalam tahun),
Smoothing Constant,Melicinkan Pemalar,
Please fill the Sales Orders table,Sila isi jadual Pesanan Jualan,
Sales Orders Required,Perintah Jualan Diperlukan,
Please fill the Material Requests table,Sila isi jadual Permintaan Bahan,
Material Requests Required,Permintaan Bahan Diperlukan,
Items to Manufacture are required to pull the Raw Materials associated with it.,Item untuk Pembuatan diperlukan untuk menarik Bahan Baku yang berkaitan dengannya.,
Items Required,Item Diperlukan,
Operation {0} does not belong to the work order {1},Operasi {0} bukan milik perintah kerja {1},
Print UOM after Quantity,Cetak UOM selepas Kuantiti,
Set default {0} account for perpetual inventory for non stock items,Tetapkan akaun {0} lalai untuk inventori berterusan untuk item bukan stok,
Loan Security {0} added multiple times,Pinjaman Keselamatan {0} ditambahkan berkali-kali,
Loan Securities with different LTV ratio cannot be pledged against one loan,Sekuriti Pinjaman dengan nisbah LTV yang berbeza tidak boleh dijaminkan dengan satu pinjaman,
Qty or Amount is mandatory for loan security!,Kuantiti atau Jumlah adalah wajib untuk keselamatan pinjaman!,
Only submittted unpledge requests can be approved,Hanya permintaan unpledge yang dihantar dapat disetujui,
Interest Amount or Principal Amount is mandatory,Jumlah Faedah atau Amaun adalah wajib,
Disbursed Amount cannot be greater than {0},Jumlah yang dikeluarkan tidak boleh lebih besar daripada {0},
Row {0}: Loan Security {1} added multiple times,Baris {0}: Keselamatan Pinjaman {1} ditambahkan berkali-kali,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Baris # {0}: Item Anak tidak boleh menjadi Kumpulan Produk. Sila keluarkan Item {1} dan Simpan,
Credit limit reached for customer {0},Had kredit dicapai untuk pelanggan {0},
Could not auto create Customer due to the following missing mandatory field(s):,Tidak dapat membuat Pelanggan secara automatik kerana bidang wajib berikut tidak ada:,
Please create Customer from Lead {0}.,Sila buat Pelanggan dari Lead {0}.,
Mandatory Missing,Wajib Hilang,
Please set Payroll based on in Payroll settings,Sila tetapkan Payroll berdasarkan dalam tetapan Payroll,
Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Gaji Tambahan: {0} sudah ada untuk Komponen Gaji: {1} untuk tempoh {2} dan {3},
From Date can not be greater than To Date.,Dari Tarikh tidak boleh lebih besar daripada Tarikh.,
Payroll date can not be less than employee's joining date.,Tarikh gaji tidak boleh kurang dari tarikh penyertaan pekerja.,
From date can not be less than employee's joining date.,Dari tarikh tidak boleh kurang dari tarikh penyertaan pekerja.,
To date can not be greater than employee's relieving date.,Sehingga kini tidak boleh lebih besar daripada tarikh melegakan pekerja.,
Payroll date can not be greater than employee's relieving date.,Tarikh gaji tidak boleh lebih besar daripada tarikh pelepasan pekerja.,
Row #{0}: Please enter the result value for {1},Baris # {0}: Masukkan nilai hasil untuk {1},
Mandatory Results,Keputusan Wajib,
Sales Invoice or Patient Encounter is required to create Lab Tests,Invois Jualan atau Perjumpaan Pesakit diperlukan untuk membuat Ujian Makmal,
Insufficient Data,Data tidak mencukupi,
Lab Test(s) {0} created successfully,Ujian Makmal {0} berjaya dibuat,
Test :,Ujian:,
Sample Collection {0} has been created,Koleksi Sampel {0} telah dibuat,
Normal Range: ,Julat Biasa:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Baris # {0}: Waktu keluar Checkout tidak boleh kurang daripada waktu masuk Check In,
"Missing required details, did not create Inpatient Record","Tiada butiran yang diperlukan, tidak membuat Rekod Pesakit Dalam",
Unbilled Invoices,Invois yang tidak ditagih,
Standard Selling Rate should be greater than zero.,Kadar Jual Piawai harus lebih besar daripada sifar.,
Conversion Factor is mandatory,Faktor Penukaran adalah wajib,
Row #{0}: Conversion Factor is mandatory,Baris # {0}: Faktor Penukaran adalah wajib,
Sample Quantity cannot be negative or 0,Kuantiti Sampel tidak boleh negatif atau 0,
Invalid Quantity,Kuantiti Tidak Sah,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Sila tetapkan lalai untuk Kumpulan Pelanggan, Wilayah dan Senarai Harga Jual dalam Tetapan Jual",
{0} on {1},{0} pada {1},
{0} with {1},{0} dengan {1},
Appointment Confirmation Message Not Sent,Mesej Pengesahan Janji Temu Tidak Dihantar,
"SMS not sent, please check SMS Settings","SMS tidak dihantar, sila periksa Tetapan SMS",
Healthcare Service Unit Type cannot have both {0} and {1},Jenis Unit Perkhidmatan Kesihatan tidak boleh mempunyai kedua-dua {0} dan {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Jenis Unit Perkhidmatan Kesihatan mesti membenarkan sekurang-kurangnya satu antara {0} dan {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Tetapkan Masa Respons dan Masa Penyelesaian untuk Keutamaan {0} berturut-turut {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Masa Respons untuk {0} keutamaan dalam baris {1} tidak boleh lebih besar daripada Waktu Penyelesaian.,
{0} is not enabled in {1},{0} tidak diaktifkan di {1},
Group by Material Request,Kumpulkan mengikut Permintaan Bahan,
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,
Condition and formula,Keadaan dan formula,
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},
Posting future transactions are not allowed due to Immutable Ledger,Mengeposkan urus niaga masa depan tidak dibenarkan kerana Lejar Tidak Berubah,
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",
