"""Customer Provided Item"" cannot be Purchase Item also","""Barang Dari Pelanggan"" tidak bisa berupa Barang Dibeli juga",
"""Customer Provided Item"" cannot have Valuation Rate","""Barang Dari Pelanggan"" tidak bisa mempunyai Tarif Valuasi",
"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Aset Tetap"" tidak dapat tidak dicentang, karena ada data Asset terhadap barang",
'Based On' and 'Group By' can not be same,'Berdasarkan' dan 'Kelompokkan Menurut' tidak boleh sama,
'Days Since Last Order' must be greater than or equal to zero,'Hari Sejak Pesanan Terakhir' harus lebih besar dari atau sama dengan nol,
'Entries' cannot be empty,'Entries' tidak boleh kosong,
'From Date' is required,'Dari Tanggal' diperlukan,
'From Date' must be after 'To Date','Tanggal Mulai' harus sebelum 'Tanggal Akhir',
'Has Serial No' can not be 'Yes' for non-stock item,'Bernomor Seri' tidak dapat ‘Ya’ untuk barang non-persediaan,
'Opening','Awal',
'To Case No.' cannot be less than 'From Case No.','Sampai Kasus No.' tidak bisa kurang dari 'Dari Kasus No.',
'To Date' is required,'Tanggal Akhir' harus diisi,
'Total',&#39;Total&#39;,
'Update Stock' can not be checked because items are not delivered via {0},'Pembaruan Persediaan’ tidak dapat dipilih karena barang tidak dikirim melalui {0},
'Update Stock' cannot be checked for fixed asset sale,'Pembaruan Persediaan’ tidak dapat ditandai untuk penjualan aset tetap,
1 exact match.,1 pencocokan tepat.,
90-Above,90-ke atas,
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Sudah ada Kelompok Pelanggan dengan nama yang sama, silakan ganti Nama Pelanggan atau ubah nama Kelompok Pelanggan",
A Default Service Level Agreement already exists.,Perjanjian Tingkat Layanan Default sudah ada.,
A Lead requires either a person's name or an organization's name,Pimpinan membutuhkan nama seseorang atau nama organisasi,
A customer with the same name already exists,Pelanggan dengan nama yang sama sudah ada,
A question must have more than one options,Sebuah pertanyaan harus memiliki lebih dari satu opsi,
A qustion must have at least one correct options,Qustion harus memiliki setidaknya satu opsi yang benar,
A4,A4,
API Endpoint,API Endpoint,
API Key,API Key,
Abbr can not be blank or space,Singkatan tidak boleh kosong atau spasi,
Abbreviation already used for another company,Singkatan sudah digunakan untuk perusahaan lain,
Abbreviation cannot have more than 5 characters,Singkatan tidak boleh melebihi 5 karakter,
Abbreviation is mandatory,Singkatan wajib diisi,
About the Company,Tentang perusahaan,
About your company,Tentang perusahaan Anda,
Above,Di atas,
Academic Term,Jangka Akademis,
Academic Term: ,Istilah Akademik:,
Academic Year,Tahun akademik,
Academic Year: ,Tahun akademik:,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Jumlah Diterima + Ditolak harus sama dengan jumlah yang diterima untuk Item {0},
Access Token,Akses Token,
Accessable Value,Nilai yang Dapat Diakses,
Account,Akun,
Account Number,Nomor Akun,
Account Number {0} already used in account {1},Nomor Akun {0} sudah digunakan di akun {1},
Account Pay Only,Akun Pembayaran Saja,
Account Type,Jenis Account,
Account Type for {0} must be {1},Jenis Akun untuk {0} harus {1},
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Saldo rekening telah berada di Kredit, Anda tidak diizinkan untuk mengatur 'Balance Harus' sebagai 'Debit'",
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Saldo rekening sudah berada di Debit, Anda tidak diizinkan untuk mengatur 'Balance Harus' sebagai 'Kredit'",
Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Nomor akun untuk akun {0} tidak tersedia. <br> Harap atur bagan akun Anda dengan benar.,
Account with child nodes cannot be converted to ledger,Akun dengan node anak tidak dapat dikonversi ke buku besar,
Account with child nodes cannot be set as ledger,Akun dengan sub-akun tidak dapat digunakan sebagai akun buku besar,
Account with existing transaction can not be converted to group.,Akun dengan transaksi yang ada tidak dapat dikonversi ke grup.,
Account with existing transaction can not be deleted,Akun dengan transaksi yang ada tidak dapat dihapus,
Account with existing transaction cannot be converted to ledger,Akun dengan transaksi yang ada tidak dapat dikonversi ke buku besar,
Account {0} does not belong to company: {1},Akun {0} bukan milik perusahaan: {1},
Account {0} does not belongs to company {1},Akun {0} bukan milik perusahaan {1},
Account {0} does not exist,Akun {0} tidak ada,
Account {0} does not exists,Akun {0} tidak ada,
Account {0} does not match with Company {1} in Mode of Account: {2},Akun {0} tidak sesuai Perusahaan {1} dalam Mode Akun: {2},
Account {0} has been entered multiple times,Akun {0} telah dimasukkan beberapa kali,
Account {0} is added in the child company {1},Akun {0} ditambahkan di perusahaan anak {1},
Account {0} is frozen,Akun {0} dibekukan,
Account {0} is invalid. Account Currency must be {1},Akun {0} tidak berlaku. Mata Uang Akun harus {1},
Account {0}: Parent account {1} can not be a ledger,Akun {0}: akun Induk {1} tidak dapat berupa buku besar,
Account {0}: Parent account {1} does not belong to company: {2},Akun {0}: Akun induk {1} bukan milik perusahaan: {2},
Account {0}: Parent account {1} does not exist,Akun {0}: Akun induk {1} tidak ada,
Account {0}: You can not assign itself as parent account,Akun {0}: Anda tidak dapat menetapkanya sebagai Akun Induk,
Account: {0} can only be updated via Stock Transactions,Akun: {0} hanya dapat diperbarui melalui Transaksi Persediaan,
Account: {0} with currency: {1} can not be selected,Account: {0} dengan mata uang: {1} tidak dapat dipilih,
Accountant,Akuntan,
Accounting,Akuntansi,
Accounting Entry for Asset,Pembukuan Akuntansi untuk Aset,
Accounting Entry for Stock,Entri Akuntansi untuk Persediaan,
Accounting Entry for {0}: {1} can only be made in currency: {2},Entri Akuntansi untuk {0}: {1} hanya dapat dilakukan dalam mata uang: {2},
Accounting Ledger,Buku Besar Akuntansi,
Accounting journal entries.,Pencatatan Jurnal akuntansi.,
Accounts,Akun / Rekening,
Accounts Manager,Pengelola Akun,
Accounts Payable,Hutang,
Accounts Payable Summary,Ringkasan Buku Besar Hutang,
Accounts Receivable,Piutang,
Accounts Receivable Summary,Ringkasan Buku Piutang,
Accounts User,Pengguna Akun,
Accounts table cannot be blank.,Tabel account tidak boleh kosong.,
Accumulated Depreciation,Akumulasi penyusutan,
Accumulated Depreciation Amount,Akumulasi Penyusutan Jumlah,
Accumulated Depreciation as on,Akumulasi Penyusutan seperti pada,
Accumulated Monthly,Akumulasi Bulanan,
Accumulated Values,Nilai Akumulasi,
Accumulated Values in Group Company,Nilai Akumulasi dalam Grup Perusahaan,
Achieved ({}),Dicapai ({}),
Action,Tindakan,
Action Initialised,Tindakan diinisialisasi,
Actions,Tindakan,
Active,Aktif,
Activity Cost exists for Employee {0} against Activity Type - {1},Terdapat Biaya Kegiatan untuk Karyawan {0} untuk Jenis Kegiatan - {1},
Activity Cost per Employee,Biaya Aktivitas per Karyawan,
Activity Type,Jenis Kegiatan,
Actual Cost,Harga asli,
Actual Delivery Date,Tanggal Pengiriman Aktual,
Actual Qty,Jumlah aktual,
Actual Qty is mandatory,Qty Aktual wajib diisi,
Actual Qty {0} / Waiting Qty {1},Qty Aktual {0} / Qty Menunggu {1},
Actual Qty: Quantity available in the warehouse.,Jumlah Aktual: Kuantitas yang tersedia di gudang.,
Actual qty in stock,Jumlah persediaan aktual,
Actual type tax cannot be included in Item rate in row {0},Jenis pajak aktual tidak dapat dimasukkan dalam tarif di baris {0},
Add,Tambahkan,
Add / Edit Prices,Tambah / Edit Harga,
Add Comment,Tambahkan komentar,
Add Customers,Tambahkan Pelanggan,
Add Employees,Tambahkan Karyawan,
Add Item,Tambahkan Barang,
Add Items,Tambahkan Item,
Add Leads,Tambahkan Prospek,
Add Multiple Tasks,Tambahkan Beberapa Tugas,
Add Sales Partners,Tambahkan Mitra Penjualan,
Add Serial No,Tambahkan Nomor Serial,
Add Students,Tambahkan Siswa,
Add Suppliers,Tambahkan Pemasok,
Add Time Slots,Tambahkan Slot Waktu,
Add Timesheets,menambahkan Timesheets,
Add Timeslots,Tambahkan Timeslots,
Add Users to Marketplace,Tambahkan Pengguna ke Marketplace,
Add a new address,Tambahkan alamat baru,
Add cards or custom sections on homepage,Tambahkan kartu atau bagian khusus di beranda,
Add more items or open full form,Menambahkan item atau buka formulir selengkapnya,
Add notes,Tambahkan catatan,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Tambahkan sisa organisasi Anda sebagai pengguna Anda. Anda juga dapat menambahkan mengundang Pelanggan portal Anda dengan menambahkan mereka dari Kontak,
Add/Remove Recipients,Tambah / Hapus Penerima,
Added,Ditambahkan,
Added {0} users,Menambahkan {0} pengguna,
Additional Salary Component Exists.,Komponen Gaji Tambahan Ada.,
Address,Alamat,
Address Line 2,Alamat Baris 2,
Address Name,Nama alamat,
Address Title,Judul Alamat,
Address Type,Tipe Alamat,
Administrative Expenses,Beban Administrasi,
Administrative Officer,petugas administrasi,
Administrator,Administrator,
Admission,Penerimaan,
Admission and Enrollment,Penerimaan dan Pendaftaran,
Admissions for {0},Penerimaan untuk {0},
Admit,Mengakui,
Admitted,Diterima,
Advance Amount,Jumlah Uang Muka,
Advance Payments,Uang Muka Pembayaran(Down Payment / Advance),
Advance account currency should be same as company currency {0},Mata uang akun muka harus sama dengan mata uang perusahaan {0},
Advance amount cannot be greater than {0} {1},Jumlah muka tidak dapat lebih besar dari {0} {1},
Advertising,Iklan,
Aerospace,Dirgantara,
Against,Terhadap,
Against Account,Terhadap Akun,
Against Journal Entry {0} does not have any unmatched {1} entry,Catatan Jurnal {0} tidak memiliki {1} catatan yang belum dicocokan.,
Against Journal Entry {0} is already adjusted against some other voucher,Atas Catatan Jurnal {0} sudah dilakukan penyesuaian terhadap beberapa dokumen lain.,
Against Supplier Invoice {0} dated {1},Terhadap Faktur Supplier {0} di tanggal {1},
Against Voucher,Terhadap Voucher,
Against Voucher Type,Terhadap Tipe Voucher,
Age,Usia,
Age (Days),Umur (Hari),
Ageing Based On,Umur Berdasarkan,
Ageing Range 1,Rentang Umur 1,
Ageing Range 2,Rentang Umur 2,
Ageing Range 3,Rentang Umur 3,
Agriculture,Pertanian,
Agriculture (beta),Pertanian (beta),
Airline,Maskapai Penerbangan,
All Accounts,Semua Akun,
All Addresses.,Semua Alamat,
All Assessment Groups,Semua Grup Assessment,
All BOMs,Semua BOMs,
All Contacts.,Semua kontak.,
All Customer Groups,Semua Kelompok Pelanggan,
All Day,Semua Hari,
All Departments,Semua Departemen,
All Healthcare Service Units,Semua Unit Layanan Kesehatan,
All Item Groups,Semua Grup Stok Barang/Item,
All Products,Semua produk,
All Products or Services.,Semua Produk atau Jasa.,
All Student Admissions,Semua Penerimaan Mahasiswa,
All Supplier Groups,Semua Grup Pemasok,
All Supplier scorecards.,Semua kartu pemilih Pemasok.,
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 di atas ini akan dipindahkan ke Isu baru,
All items have already been transferred for this Work Order.,Semua item telah ditransfer untuk Perintah Kerja ini.,
All other ITC,Semua ITC lainnya,
All the mandatory Task for employee creation hasn't been done yet.,Semua Tugas wajib untuk penciptaan karyawan belum selesai.,
Allocate Payment Amount,Alokasikan Jumlah Pembayaran,
Allocated Amount,Jumlah yang dialokasikan,
Allocating leaves...,Mengalokasikan daun ...,
Already record exists for the item {0},Sudah ada catatan untuk item {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Sudah menetapkan default pada profil pos {0} untuk pengguna {1}, dengan baik dinonaktifkan secara default",
Alternate Item,Item Alternatif,
Alternative item must not be same as item code,Barang alternatif tidak boleh sama dengan kode barang,
Amended From,Diubah Dari,
Amount,Total,
Amount After Depreciation,Jumlah Setelah Penyusutan,
Amount of Integrated Tax,Jumlah Pajak Terpadu,
Amount of TDS Deducted,Jumlah TDS Dikurangkan,
Amount should not be less than zero.,Jumlahnya tidak boleh kurang dari nol.,
Amount to Bill,Nilai Tertagih,
Amount {0} {1} against {2} {3},Jumlah {0} {1} terhadap {2} {3},
Amount {0} {1} deducted against {2},Jumlah {0} {1} dipotong terhadap {2},
Amount {0} {1} transferred from {2} to {3},Jumlah {0} {1} ditransfer dari {2} untuk {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","Item Grup ada dengan nama yang sama, ubah nama item atau mengubah nama kelompok Stok Barang",
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;Tahun Akademik&#39; {0} dan &#39;Nama Term&#39; {1} sudah ada. Harap memodifikasi entri ini dan coba lagi.,
An error occurred during the update process,Kesalahan terjadi selama proses pembaruan,
"An item exists with same name ({0}), please change the item group name or rename the item","Sebuah item yang ada dengan nama yang sama ({0}), silakan mengubah nama kelompok Stok Barang atau mengubah nama item",
Analyst,Analis,
Annual Billing: {0},Tagihan Tahunan: {0},
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Rekaman Anggaran lain &#39;{0}&#39; sudah ada terhadap {1} &#39;{2}&#39; dan akun &#39;{3}&#39; untuk tahun fiskal {4},
Another Period Closing Entry {0} has been made after {1},Lain Periode Pendaftaran penutupan {0} telah dibuat setelah {1},
Another Sales Person {0} exists with the same Employee id,Sales Person lain {0} ada dengan id Karyawan yang sama,
Antibiotic,Antibiotika,
Apparel & Accessories,Pakaian & Aksesoris,
Applicable For,Berlaku Untuk,
"Applicable if the company is SpA, SApA or SRL","Berlaku jika perusahaannya adalah SpA, SApA atau SRL",
Applicable if the company is a limited liability company,Berlaku jika perusahaan tersebut merupakan perseroan terbatas,
Applicable if the company is an Individual or a Proprietorship,Berlaku jika perusahaan adalah Perorangan atau Kepemilikan,
Application of Funds (Assets),Penerapan Dana (Aset),
Applied,Telah Diterapkan,
Appointment Confirmation,Konfirmasi perjanjian,
Appointment Duration (mins),Durasi Penunjukan (menit),
Appointment Type,Jenis Pengangkatan,
Appointment {0} and Sales Invoice {1} cancelled,Penunjukan {0} dan Sales Invoice {1} dibatalkan,
Appointments and Encounters,Janji dan Pertemuan,
Appointments and Patient Encounters,Janji dan Pertemuan Pasien,
Appraisal {0} created for Employee {1} in the given date range,Penilaian {0} telah dibuat untuk karyawan {1} dalam rentang tanggal tertentu,
Approving Role cannot be same as role the rule is Applicable To,Menyetujui Peran tidak bisa sama dengan peran aturan yang Berlaku Untuk,
Approving User cannot be same as user the rule is Applicable To,Menyetujui Pengguna tidak bisa sama dengan pengguna aturan yang Berlaku Untuk,
"Apps using current key won't be able to access, are you sure?","Aplikasi yang menggunakan kunci saat ini tidak dapat diakses, apakah Anda yakin?",
Are you sure you want to cancel this appointment?,Yakin ingin membatalkan janji temu ini?,
Arrear,tunggakan,
As Examiner,Sebagai Pemeriksa,
As On Date,Seperti Pada Tanggal,
As Supervisor,Sebagai pengawas,
As per rules 42 & 43 of CGST Rules,Sesuai aturan 42 &amp; 43 dari Aturan CGST,
As per section 17(5),Sesuai bagian 17 (5),
Assessment,Penilaian,
Assessment Criteria,Kriteria penilaian,
Assessment Group,Grup penilaian,
Assessment Group: ,Kelompok Penilaian:,
Assessment Plan,Rencana Penilaian,
Assessment Plan Name,Nama Rencana Penilaian,
Assessment Report,Laporan Penilaian,
Assessment Reports,Laporan Penilaian,
Assessment Result,penilaian Hasil,
Assessment Result record {0} already exists.,Catatan Hasil Penilaian {0} sudah ada.,
Asset,Aset,
Asset Category,Aset Kategori,
Asset Category is mandatory for Fixed Asset item,Aset Kategori adalah wajib untuk item aset tetap,
Asset Maintenance,Pemeliharaan Aset,
Asset Movement,Gerakan aset,
Asset Movement record {0} created,Gerakan aset catatan {0} dibuat,
Asset Name,Aset Nama,
Asset Received But Not Billed,Aset Diterima Tapi Tidak Ditagih,
Asset Value Adjustment,Penyesuaian Nilai Aset,
"Asset cannot be cancelled, as it is already {0}","Aset tidak dapat dibatalkan, karena sudah {0}",
Asset scrapped via Journal Entry {0},Aset membatalkan via Journal Entri {0},
"Asset {0} cannot be scrapped, as it is already {1}","Aset {0} tidak dapat dihapus, karena sudah {1}",
Asset {0} does not belong to company {1},Aset {0} bukan milik perusahaan {1},
Asset {0} must be submitted,Aset {0} harus diserahkan,
Assets,Aset,
Assign To,Tugaskan Kepada,
Associate,Rekan,
At least one mode of payment is required for POS invoice.,Setidaknya satu cara pembayaran diperlukan untuk POS faktur.,
Atleast one item should be entered with negative quantity in return document,Atleast satu item harus dimasukkan dengan kuantitas negatif dalam dokumen kembali,
Atleast one of the Selling or Buying must be selected,"Setidaknya salah satu, Jual atau Beli harus dipilih",
Atleast one warehouse is mandatory,Setidaknya satu gudang adalah wajib,
Attach Logo,Pasang Logo,
Attachment,Lampiran,
Attachments,Lampiran,
Attendance can not be marked for future dates,Kehadiran tidak dapat ditandai untuk tanggal masa depan,
Attendance date can not be less than employee's joining date,tanggal kehadiran tidak bisa kurang dari tanggal bergabung karyawan,
Attendance for employee {0} is already marked,Kehadiran bagi karyawan {0} sudah ditandai,
Attendance has been marked successfully.,Kehadiran telah ditandai berhasil.,
Attendance not submitted for {0} as {1} on leave.,Kehadiran tidak dikirimkan untuk {0} sebagai {1} saat cuti.,
Attribute table is mandatory,Tabel atribut wajib,
Attribute {0} selected multiple times in Attributes Table,Atribut {0} karena beberapa kali dalam Atribut Tabel,
Authorized Signatory,Penandatangan yang sah,
Auto Material Requests Generated,Pembuatan Form Permintaan Material Otomatis,
Auto Repeat,Ulangi Otomatis,
Auto repeat document updated,Pembaruan dokumen otomatis diperbarui,
Automotive,Otomotif,
Available,Tersedia,
Available Leaves,Cuti Yang Tersedia,
Available Qty,Qty Tersedia,
Available Selling,Jual Beli,
Available for use date is required,Tersedia untuk tanggal penggunaan diperlukan,
Available slots,Slot yang tersedia,
Available {0},Tersedia {0},
Available-for-use Date should be after purchase date,Tanggal Tersedia untuk digunakan harus setelah tanggal pembelian,
Average Age,Rata-rata Usia,
Average Rate,Harga rata-rata,
Avg Daily Outgoing,Rata-rata Harian Outgoing,
Avg. Buying Price List Rate,Rata-rata Tarif Daftar Harga Beli,
Avg. Selling Price List Rate,Rata-rata Tarif Daftar Harga Jual,
Avg. Selling Rate,Harga Jual Rata-rata,
BOM,BOM,
BOM Browser,BOM Browser,
BOM No,No. BOM,
BOM Rate,Tingkat BOM,
BOM Stock Report,Laporan Persediaan BOM,
BOM and Manufacturing Quantity are required,BOM dan Kuantitas Manufaktur diperlukan,
BOM does not contain any stock item,BOM tidak berisi barang persediaan apapun,
BOM {0} does not belong to Item {1},BOM {0} bukan milik Barang {1},
BOM {0} must be active,BOM {0} harus aktif,
BOM {0} must be submitted,BOM {0} harus dikirimkan,
Balance,Keseimbangan,
Balance (Dr - Cr),Saldo (Dr - Cr),
Balance ({0}),Saldo ({0}),
Balance Qty,Jumlah Saldo,
Balance Sheet,Neraca,
Balance Value,Nilai Saldo,
Balance for Account {0} must always be {1},Saldo Rekening {0} harus selalu {1},
Bank,Bank,
Bank Account,Rekening Bank,
Bank Accounts,Rekening Bank,
Bank Draft,Bank Draft,
Bank Name,Nama Bank,
Bank Overdraft Account,Akun Overdraft Bank,
Bank Reconciliation,Rekonsiliasi Bank,
Bank Reconciliation Statement,Laporan Rekonsiliasi Bank,
Bank Statement,Pernyataan Bank,
Bank Statement Settings,Pengaturan Pernyataan Bank,
Bank Statement balance as per General Ledger,Saldo Laporan Bank sesuai Buku Besar,
Bank account cannot be named as {0},Rekening bank tidak dapat namakan sebagai {0},
Bank/Cash transactions against party or for internal transfer,Transaksi Bank / Cash terhadap partai atau untuk internal transfer,
Banking,Perbankan,
Banking and Payments,Perbankan dan Pembayaran,
Barcode {0} already used in Item {1},Barcode {0} sudah digunakan dalam Produk {1},
Barcode {0} is not a valid {1} code,Kode batang {0} bukan kode {1} yang valid,
Base URL,URL dasar,
Based On,Berdasarkan,
Based On Payment Terms,Berdasarkan Ketentuan Pembayaran,
Batch,Kumpulan,
Batch Entries,Entri Batch,
Batch ID is mandatory,Batch ID adalah wajib,
Batch Inventory,Batch Persediaan,
Batch Name,Nama Kumpulan,
Batch No,No. Batch,
Batch number is mandatory for Item {0},Nomor kumpulan adalah wajib untuk Barang {0},
Batch {0} of Item {1} has expired.,Kumpulan {0} Barang {1} telah berakhir.,
Batch {0} of Item {1} is disabled.,Batch {0} dari Item {1} dinonaktifkan.,
Batch: ,Batch:,
Batches,Batches,
Become a Seller,Menjadi Penjual,
Bill,Tagihan,
Bill Date,Tanggal Penagihan,
Bill No,Nomor Tagihan,
Bill of Materials,Bill of material,
Bill of Materials (BOM),Bill of Material (BOM),
Billable Hours,Jam yang Dapat Ditagih,
Billed,Ditagih,
Billed Amount,Nilai Tagihan,
Billing Address,Alamat Penagihan,
Billing Address is same as Shipping Address,Alamat Penagihan sama dengan Alamat Pengiriman,
Billing Amount,Jumlah Penagihan,
Billing Status,Status Penagihan,
Billing currency must be equal to either default company's currency or party account currency,Mata uang penagihan harus sama dengan mata uang perusahaan atau mata uang akun tertagih,
Bills raised by Suppliers.,Tagihan diajukan oleh Pemasok.,
Bills raised to Customers.,Tagihan diajukan ke Pelanggan.,
Biotechnology,Bioteknologi,
Black,Hitam,
Blanket Orders from Costumers.,Pesanan Selimut dari Pelanggan.,
Block Invoice,Blokir Faktur,
Boms,Boms,
Both Trial Period Start Date and Trial Period End Date must be set,Tanggal Awal Periode Uji Coba dan Tanggal Akhir Periode Uji Coba harus ditetapkan,
Both Warehouse must belong to same Company,Kedua Gudang harus merupakan gudang dari Perusahaan yang sama,
Branch,Cabang,
Broadcasting,Penyiaran,
Brokerage,Memperantarai,
Browse BOM,Telusuri BOM,
Budget Against,Anggaran Terhadap,
Budget List,Daftar Anggaran,
Budget Variance Report,Laporan Perbedaan Anggaran,
Budget cannot be assigned against Group Account {0},Anggaran tidak dapat diberikan terhadap Account Group {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Anggaran tidak dapat ditugaskan terhadap {0}, karena itu bukan Penghasilan atau Beban akun",
Buildings,Bangunan,
Bundle items at time of sale.,Bundel item pada saat penjualan.,
Business Development Manager,Business Development Manager,
Buy,Membeli,
Buying,Pembelian,
Buying Amount,Jumlah Pembelian,
Buying Price List,Daftar Harga Beli,
Buying Rate,Tingkat Pembelian,
"Buying must be checked, if Applicable For is selected as {0}","Membeli harus dicentang, jika ""Berlaku Untuk"" dipilih sebagai {0}",
By {0},Oleh {0},
Bypass credit check at Sales Order ,Cek kredit bypass di Sales Order,
C-Form records,C-Form catatan,
C-form is not applicable for Invoice: {0},C-bentuk tidak berlaku untuk Faktur: {0},
CEO,CEO,
CESS Amount,Jumlah CESS,
CGST Amount,Jumlah CGST,
CRM,CRM,
CWIP Account,Akun CWIP,
Calculated Bank Statement balance,Dihitung keseimbangan Laporan Bank,
Campaign,Promosi,
Can be approved by {0},Dapat disetujui oleh {0},
"Can not filter based on Account, if grouped by Account","Tidak dapat memfilter berdasarkan Account, jika dikelompokkan berdasarkan Account",
"Can not filter based on Voucher No, if grouped by Voucher","Tidak dapat memfilter berdasarkan No. Voucher, jika dikelompokkan berdasarkan Voucher",
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Tidak dapat menandai Rekam Rawat Inap, ada Faktur Tidak Terisi {0}",
Can only make payment against unbilled {0},Hanya dapat melakukan pembayaran terhadap yang belum ditagihkan {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Dapat merujuk baris hanya jika jenis biaya adalah 'On Sebelumnya Row Jumlah' atau 'Sebelumnya Row Jumlah',
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Tidak dapat mengubah metode valuasi, karena ada transaksi terhadap beberapa item yang tidak memiliki metode penilaian sendiri",
Can't create standard criteria. Please rename the criteria,Tidak dapat membuat kriteria standar. Mohon ganti nama kriteria,
Cancel,Batalkan,
Cancel Material Visit {0} before cancelling this Warranty Claim,Batal Bahan Kunjungan {0} sebelum membatalkan Garansi Klaim ini,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Batal Kunjungan Material {0} sebelum membatalkan ini Maintenance Visit,
Cancel Subscription,Batalkan Langganan,
Cancel the journal entry {0} first,Batalkan entri jurnal {0} terlebih dahulu,
Canceled,Dibatalkan,
"Cannot Submit, Employees left to mark attendance","Tidak Dapat Menyerahkan, Karyawan yang tersisa untuk menandai kehadiran",
Cannot be a fixed asset item as Stock Ledger is created.,Tidak dapat menjadi item aset tetap karena Stock Ledger dibuat.,
Cannot cancel because submitted Stock Entry {0} exists,Tidak bisa membatalkan karena ada Entri Persediaan {0} terkirim,
Cannot cancel transaction for Completed Work Order.,Tidak dapat membatalkan transaksi untuk Perintah Kerja Selesai.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Tidak dapat membatalkan {0} {1} karena Serial No {2} bukan milik gudang {3},
Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Tidak dapat mengubah Atribut setelah transaksi saham. Buat Item baru dan transfer saham ke Item baru,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Tidak dapat mengubah Tahun Anggaran Tanggal Mulai dan Tanggal Akhir Tahun Anggaran setelah Tahun Anggaran disimpan.,
Cannot change Service Stop Date for item in row {0},Tidak dapat mengubah Tanggal Berhenti Layanan untuk item di baris {0},
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Tidak dapat mengubah properti Varian setelah transaksi saham. Anda harus 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 dapat mengubah mata uang default perusahaan, karena ada transaksi yang ada. Transaksi harus dibatalkan untuk mengubah mata uang default.",
Cannot change status as student {0} is linked with student application {1},tidak dapat mengubah status sebagai mahasiswa {0} terkait dengan aplikasi mahasiswa {1},
Cannot convert Cost Center to ledger as it has child nodes,Tidak dapat mengkonversi Pusat Biaya untuk buku karena memiliki node anak,
Cannot covert to Group because Account Type is selected.,Tidak dapat mengkonversi ke Grup karena Tipe Akun dipilih.,
Cannot create Retention Bonus for left Employees,Tidak dapat membuat Bonus Retensi untuk Karyawan yang ditinggalkan,
Cannot create a Delivery Trip from Draft documents.,Tidak dapat membuat Perjalanan Pengiriman dari dokumen Draft.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,Tidak bisa menonaktifkan atau membatalkan BOM seperti yang terkait dengan BOMs lainnya,
"Cannot declare as lost, because Quotation has been made.","Tidak dapat mendeklarasikan sebagai hilang, karena Quotation telah dibuat.",
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Tidak bisa mengurangi ketika kategori adalah untuk 'Penilaian' atau 'Penilaian dan Total',
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',tidak bisa memotong ketika kategori adalah untuk &#39;Penilaian&#39; atau &#39;Vaulation dan Total&#39;,
"Cannot delete Serial No {0}, as it is used in stock transactions","Tidak dapat menghapus No. Seri {0}, karena digunakan dalam transaksi persediaan",
Cannot enroll more than {0} students for this student group.,tidak bisa mendaftar lebih dari {0} siswa untuk kelompok siswa ini.,
Cannot produce more Item {0} than Sales Order quantity {1},Tidak dapat menghasilkan lebih Stok Barang {0} daripada kuantitas Sales Order {1},
Cannot promote Employee with status Left,Tidak dapat mempromosikan Karyawan dengan status Kiri,
Cannot refer row number greater than or equal to current row number for this Charge type,Tidak dapat merujuk nomor baris yang lebih besar dari atau sama dengan nomor baris saat ini untuk jenis Biaya ini,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Tidak dapat memilih jenis biaya sebagai 'Pada Row Sebelumnya Jumlah' atau 'On Sebelumnya Row Jumlah' untuk baris terlebih dahulu,
Cannot set as Lost as Sales Order is made.,Tidak dapat ditetapkan sebagai Hilang sebagai Sales Order dibuat.,
Cannot set authorization on basis of Discount for {0},Tidak dapat mengatur otorisasi atas dasar Diskon untuk {0},
Cannot set multiple Item Defaults for a company.,Tidak dapat menetapkan beberapa Default Item untuk sebuah perusahaan.,
Cannot set quantity less than delivered quantity,Tidak dapat menetapkan jumlah kurang dari jumlah yang dikirim,
Cannot set quantity less than received quantity,Tidak dapat menetapkan jumlah kurang dari jumlah yang diterima,
Cannot set the field <b>{0}</b> for copying in variants,Tidak dapat mengatur bidang <b>{0}</b> untuk menyalin dalam varian,
Cannot transfer Employee with status Left,Tidak dapat mentransfer Karyawan dengan status Kiri,
Cannot {0} {1} {2} without any negative outstanding invoice,Tidak bisa {0} {1} {2} tanpa faktur yang beredar negatif,
Capital Equipments,Perlengkapan Modal,
Capital Stock,Modal / Saham,
Capital Work in Progress,Modal Bekerja dalam Kemajuan,
Cart,Troli,
Cart is Empty,Cart adalah Kosong,
Case No(s) already in use. Try from Case No {0},Kasus ada (s) sudah digunakan. Coba dari Case ada {0},
Cash,Kas,
Cash Flow Statement,Laporan arus kas,
Cash Flow from Financing,Arus Kas dari Pendanaan,
Cash Flow from Investing,Arus Kas dari Investasi,
Cash Flow from Operations,Arus Kas dari Operasi,
Cash In Hand,Cash In Hand,
Cash or Bank Account is mandatory for making payment entry,Kas atau Rekening Bank wajib untuk membuat entri pembayaran,
Cashier Closing,Penutupan Kasir,
Category,Kategori,
Category Name,Kategori Nama,
Caution,Peringatan,
Central Tax,Pajak Pusat,
Certification,Sertifikasi,
Cess,Cess,
Change Amount,perubahan Jumlah,
Change Item Code,Ubah Kode Barang,
Change Release Date,Ubah Tanggal Rilis,
Change Template Code,Ubah Kode Template,
Changing Customer Group for the selected Customer is not allowed.,Mengubah Grup Pelanggan untuk Pelanggan yang dipilih tidak diizinkan.,
Chapter,Bab,
Chapter information.,Informasi pasal,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Mengisi tipe 'sebenarnya' berturut-turut {0} tidak dapat dimasukkan dalam Butir Tingkat,
Chargeble,Chargeble,
Charges are updated in Purchase Receipt against each item,Ongkos dalam Nota Pembelian diperbarui terhadap setiap barang,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Biaya akan didistribusikan secara proporsional berdasarkan pada item qty atau jumlah, sesuai pilihan Anda",
Chart of Cost Centers,Bagan Pusat Biaya,
Check all,Periksa semua,
Checkout,Periksa,
Chemical,Kimia,
Cheque,Cek,
Cheque/Reference No,Cek / Referensi Tidak ada,
Cheques Required,Cek Diperlukan,
Cheques and Deposits incorrectly cleared,Cek dan Deposit tidak benar dibersihkan,
Child Task exists for this Task. You can not delete this Task.,Tugas Anak ada untuk Tugas ini. Anda tidak dapat menghapus Tugas ini.,
Child nodes can be only created under 'Group' type nodes,node anak hanya dapat dibuat di bawah &#39;Grup&#39; Jenis node,
Child warehouse exists for this warehouse. You can not delete this warehouse.,Gudang anak ada untuk gudang ini. Anda tidak dapat menghapus gudang ini.,
Circular Reference Error,Referensi Kesalahan melingkar,
City,Kota,
City/Town,Kota / Kota,
Clay,Tanah liat,
Clear filters,Hapus filter,
Clear values,Nilai yang jelas,
Clearance Date,Izin Tanggal,
Clearance Date not mentioned,Izin Tanggal tidak disebutkan,
Clearance Date updated,Tanggal Kliring diperbarui,
Client,Client (Nasabah),
Client ID,ID klien,
Client Secret,Rahasia Klien,
Clinical Procedure,Prosedur Klinis,
Clinical Procedure Template,Prosedur Prosedur Klinis,
Close Balance Sheet and book Profit or Loss.,Tutup Neraca dan Perhitungan Laba Rugi atau buku.,
Close Loan,Tutup Pinjaman,
Close the POS,Tutup POS,
Closed,Tertutup,
Closed order cannot be cancelled. Unclose to cancel.,Agar tertutup tidak dapat dibatalkan. Unclose untuk membatalkan.,
Closing (Cr),Penutup (Cr),
Closing (Dr),Penutup (Dr),
Closing (Opening + Total),Penutupan (Pembukaan + Total),
Closing Account {0} must be of type Liability / Equity,Penutupan Rekening {0} harus dari jenis Kewajiban / Ekuitas,
Closing Balance,Saldo akhir,
Code,Kode,
Collapse All,Perkecil Semua,
Color,Warna,
Colour,Warna,
Combined invoice portion must equal 100%,Bagian invoice gabungan harus sama dengan 100%,
Commercial,Komersial,
Commission,Komisi,
Commission Rate %,% Komisi Rate,
Commission on Sales,Komisi Penjualan,
Commission rate cannot be greater than 100,Tingkat komisi tidak dapat lebih besar dari 100,
Community Forum,Forum Komunitas,
Company (not Customer or Supplier) master.,Perusahaan (bukan Pelanggan atau Pemasok) Utama.,
Company Abbreviation,Singkatan Perusahaan,
Company Abbreviation cannot have more than 5 characters,Singkatan Perusahaan tidak boleh memiliki lebih dari 5 karakter,
Company Name,Nama Perusahaan,
Company Name cannot be Company,Nama perusahaan tidak dapat perusahaan,
Company currencies of both the companies should match for Inter Company Transactions.,Mata uang perusahaan dari kedua perusahaan harus sesuai untuk Transaksi Perusahaan Inter.,
Company is manadatory for company account,Perusahaan adalah manadatory untuk akun perusahaan,
Company name not same,Nama perusahaan tidak sama,
Company {0} does not exist,Perusahaan {0} tidak ada,
Compensatory leave request days not in valid holidays,Hari permintaan cuti kompensasi tidak dalam hari libur yang sah,
Complaint,Keluhan,
Completion Date,tanggal penyelesaian,
Computer,Komputer,
Condition,Kondisi,
Configure,Konfigurasikan,
Configure {0},Konfigurasikan {0},
Confirmed orders from Customers.,Pesanan terkonfirmasi dari Pelanggan.,
Connect Amazon with ERPNext,Hubungkan Amazon dengan ERPNext,
Connect Shopify with ERPNext,Hubungkan Shopify dengan ERPNext,
Connect to Quickbooks,Hubungkan ke Quickbooks,
Connected to QuickBooks,Terhubung ke QuickBooks,
Connecting to QuickBooks,Menghubungkan ke QuickBooks,
Consultation,Konsultasi,
Consultations,Konsultasi,
Consulting,Konsultasi,
Consumable,Consumable,
Consumed,Dikonsumsi,
Consumed Amount,Dikonsumsi Jumlah,
Consumed Qty,Qty Dikonsumsi,
Consumer Products,Produk Pelanggan,
Contact,Kontak,
Contact Us,Hubungi kami,
Content,Isi Halaman,
Content Masters,Master Konten,
Content Type,Tipe Konten,
Continue Configuration,Lanjutkan Konfigurasi,
Contract,Kontrak,
Contract End Date must be greater than Date of Joining,Kontrak Tanggal Akhir harus lebih besar dari Tanggal Bergabung,
Contribution %,Kontribusi%,
Contribution Amount,Jumlah Kontribusi,
Conversion factor for default Unit of Measure must be 1 in row {0},Faktor konversi untuk Unit default Ukur harus 1 berturut-turut {0},
Conversion rate cannot be 0 or 1,Tingkat konversi tidak bisa 0 atau 1,
Convert to Group,Konversikan ke Grup,
Convert to Non-Group,Dikonversi ke non-Grup,
Cosmetics,Kosmetik,
Cost Center,Biaya Pusat,
Cost Center Number,Nomor Pusat Biaya,
Cost Center and Budgeting,Pusat Biaya dan Penganggaran,
Cost Center is required in row {0} in Taxes table for type {1},Biaya Pusat diperlukan dalam baris {0} dalam tabel Pajak untuk tipe {1},
Cost Center with existing transactions can not be converted to group,Biaya Center dengan transaksi yang ada tidak dapat dikonversi ke grup,
Cost Center with existing transactions can not be converted to ledger,Biaya Center dengan transaksi yang ada tidak dapat dikonversi ke buku,
Cost Centers,Pusat Biaya,
Cost Updated,Biaya Diperbarui,
Cost as on,Biaya seperti pada,
Cost of Delivered Items,Biaya Produk Terkirim,
Cost of Goods Sold,Harga pokok penjualan,
Cost of Issued Items,Biaya Produk Dikeluarkan,
Cost of New Purchase,Biaya Pembelian New,
Cost of Purchased Items,Biaya Produk Dibeli,
Cost of Scrapped Asset,Biaya Asset dibatalkan,
Cost of Sold Asset,Biaya Asset Terjual,
Cost of various activities,Biaya berbagai kegiatan,
"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Tidak dapat membuat Catatan Kredit secara otomatis, hapus centang &#39;Terbitkan Catatan Kredit&#39; dan kirimkan lagi",
Could not generate Secret,Tidak dapat menghasilkan Rahasia,
Could not retrieve information for {0}.,Tidak dapat mengambil informasi untuk {0}.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,Tidak dapat memecahkan kriteria fungsi skor untuk {0}. Pastikan rumusnya benar.,
Could not solve weighted score function. Make sure the formula is valid.,Tidak dapat memecahkan fungsi skor tertimbang. Pastikan rumusnya benar.,
Could not submit some Salary Slips,Tidak dapat mengirim beberapa Slip Gaji,
"Could not update stock, invoice contains drop shipping item.","Tidak bisa memperbarui persediaan, faktur berisi barang titipan.",
Country wise default Address Templates,Negara bijaksana Alamat bawaan Template,
Course Code: ,Kode Kursus:,
Course Enrollment {0} does not exists,Pendaftaran Kursus {0} tidak ada,
Course Schedule,Jadwal Kuliah,
Course: ,Kursus:,
Cr,Cr,
Create,Buat,
Create BOM,Buat BOM,
Create Delivery Trip,Buat Perjalanan Pengiriman,
Create Employee,Buat Karyawan,
Create Employee Records,Buat Rekaman Karyawan,
"Create Employee records to manage leaves, expense claims and payroll","Buat catatan Karyawan untuk mengelola cuti, klaim pengeluaran dan gaji",
Create Fee Schedule,Buat Jadwal Biaya,
Create Fees,Buat Biaya,
Create Inter Company Journal Entry,Buat Entri Jurnal Perusahaan Inter,
Create Invoice,Buat Faktur,
Create Invoices,Buat Faktur,
Create Job Card,Buat Kartu Pekerjaan,
Create Journal Entry,Buat Entri Jurnal,
Create Lead,Buat Lead,
Create Leads,Buat Prospek,
Create Maintenance Visit,Buat Kunjungan Perawatan,
Create Material Request,Buat Permintaan Material,
Create Multiple,Buat Banyak,
Create Opening Sales and Purchase Invoices,Buat Pembukaan Penjualan dan Pembelian Faktur,
Create Payment Entries,Buat Entri Pembayaran,
Create Payment Entry,Buat Entri Pembayaran,
Create Print Format,Buat Print Format,
Create Purchase Order,Buat Pesanan Pembelian,
Create Purchase Orders,Buat Purchase Order,
Create Quotation,Buat Quotation,
Create Sales Invoice,Buat Faktur Penjualan,
Create Sales Order,Buat Sales Order,
Create Sales Orders to help you plan your work and deliver on-time,Buat Pesanan Penjualan untuk membantu Anda merencanakan pekerjaan Anda dan mengirimkan tepat waktu,
Create Sample Retention Stock Entry,Buat Sampel Stok Retensi Sampel,
Create Student,Buat Siswa,
Create Student Batch,Buat Gelombang Mahasiswa,
Create Student Groups,Buat Grup Mahasiswa,
Create Supplier Quotation,Buat Penawaran Pemasok,
Create Tax Template,Buat Template Pajak,
Create Timesheet,Buat absen,
Create User,Buat pengguna,
Create Users,Buat Pengguna,
Create Variant,Buat Varian,
Create Variants,Buat Varian,
"Create and manage daily, weekly and monthly email digests.","Buat dan kelola surel ringkasan harian, mingguan dan bulanan.",
Create customer quotes,Buat kutipan pelanggan,
Create rules to restrict transactions based on values.,Buat aturan untuk membatasi transaksi berdasarkan nilai-nilai.,
Created {0} scorecards for {1} between: ,Menciptakan {0} scorecard untuk {1} antara:,
Creating Company and Importing Chart of Accounts,Membuat Perusahaan dan Mengimpor Bagan Akun,
Creating Fees,Menciptakan Biaya,
Creating student groups,Menciptakan kelompok siswa,
Creating {0} Invoice,Membuat {0} Faktur,
Credit,Kredit,
Credit ({0}),Kredit ({0}),
Credit Account,Akun kredit,
Credit Balance,Saldo Kredit,
Credit Card,Kartu kredit,
Credit Days cannot be a negative number,Hari Kredit tidak bisa menjadi angka negatif,
Credit Limit,Batas Kredit,
Credit Note,Nota kredit,
Credit Note Amount,Jumlah Catatan Kredit,
Credit Note Issued,Kredit Catatan Ditempatkan,
Credit Note {0} has been created automatically,Nota Kredit {0} telah dibuat secara otomatis,
Credit limit has been crossed for customer {0} ({1}/{2}),Batas kredit telah disilangkan untuk pelanggan {0} ({1} / {2}),
Creditors,Kreditor,
Criteria weights must add up to 100%,Kriteria bobot harus menambahkan hingga 100%,
Crop Cycle,Siklus Tanaman,
Crops & Lands,Tanaman &amp; lahan,
Currency Exchange must be applicable for Buying or for Selling.,Pertukaran Mata Uang harus berlaku untuk Membeli atau untuk Penjualan.,
Currency can not be changed after making entries using some other currency,Mata uang tidak dapat diubah setelah melakukan entri menggunakan beberapa mata uang lainnya,
Currency exchange rate master.,Master Nilai Mata Uang,
Currency for {0} must be {1},Mata uang untuk {0} harus {1},
Currency is required for Price List {0},Mata uang diperlukan untuk Daftar Harga {0},
Currency of the Closing Account must be {0},Mata uang dari Rekening Penutupan harus {0},
Currency of the price list {0} must be {1} or {2},Mata uang dari daftar harga {0} harus {1} atau {2},
Currency should be same as Price List Currency: {0},Mata uang harus sama dengan Mata Uang Daftar Harga: {0},
Current Assets,Aset lancar,
Current BOM and New BOM can not be same,BOM Lancar dan New BOM tidak bisa sama,
Current Liabilities,Piutang Lancar,
Current Qty,Jumlah saat ini,
Current invoice {0} is missing,Faktur saat ini {0} tidak ada,
Custom HTML,Custom HTML,
Custom?,Kustom?,
Customer,Pelanggan,
Customer Addresses And Contacts,Alamat dan Kontak Pelanggan,
Customer Contact,Kontak pelanggan,
Customer Database.,Database Pelanggan.,
Customer Group,Kelompok Pelanggan,
Customer LPO,LPO pelanggan,
Customer LPO No.,Nomor Pokok Pelanggan,
Customer Name,Nama Pelanggan,
Customer POS Id,ID POS Pelanggan,
Customer Service,Layanan Pelanggan,
Customer and Supplier,Pelanggan dan Pemasok,
Customer is required,Pelanggan diwajibkan,
Customer isn't enrolled in any Loyalty Program,Pelanggan tidak terdaftar dalam Program Loyalitas apa pun,
Customer required for 'Customerwise Discount',Pelanggan diperlukan untuk 'Diskon Pelanggan',
Customer {0} does not belong to project {1},Pelanggan {0} tidak termasuk proyek {1},
Customer {0} is created.,Pelanggan {0} dibuat,
Customers in Queue,Pelanggan di Antrian,
Customize Homepage Sections,Kustomisasi Bagian Beranda,
Customizing Forms,Menyesuaikan Bentuk,
Daily Project Summary for {0},Ringkasan Proyek Harian untuk {0},
Daily Reminders,Pengingat Harian,
Data Import and Export,Data Impor dan Ekspor,
Data Import and Settings,Impor dan Pengaturan Data,
Database of potential customers.,Database pelanggan potensial.,
Date Format,Format Tanggal,
Date Of Retirement must be greater than Date of Joining,Tanggal Of Pensiun harus lebih besar dari Tanggal Bergabung,
Date of Birth,Tanggal lahir,
Date of Birth cannot be greater than today.,Tanggal Lahir tidak dapat lebih besar dari saat ini.,
Date of Commencement should be greater than Date of Incorporation,Tanggal Mulai harus lebih besar dari Tanggal Pendirian,
Date of Joining,Tanggal Bergabung,
Date of Joining must be greater than Date of Birth,Tanggal Bergabung harus lebih besar dari Tanggal Lahir,
Date of Transaction,Tanggal Transaksi,
Day,Hari,
Debit,Debet,
Debit ({0}),Debit ({0}),
Debit Account,Akun debit,
Debit Note,Debit Note,
Debit Note Amount,Jumlah Catatan Debet,
Debit Note Issued,Debit Note Ditempatkan,
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}. Perbedaan adalah {2}.,
Debtors,Debitur,
Debtors ({0}),Debitur ({0}),
Declare Lost,Nyatakan Hilang,
Default Activity Cost exists for Activity Type - {0},Standar Kegiatan Biaya ada untuk Jenis Kegiatan - {0},
Default BOM ({0}) must be active for this item or its template,Standar BOM ({0}) harus aktif untuk item ini atau template-nya,
Default BOM for {0} not found,BOM default untuk {0} tidak ditemukan,
Default BOM not found for Item {0} and Project {1},Default BOM tidak ditemukan untuk Item {0} dan Project {1},
Default Letter Head,Standar Surat Kepala,
Default Tax Template,Template Pajak Default,
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.,Standar Satuan Ukur untuk Item {0} tidak dapat diubah secara langsung karena Anda telah membuat beberapa transaksi (s) dengan UOM lain. Anda akan perlu untuk membuat item baru menggunakan default UOM berbeda.,
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Standar Satuan Ukur untuk Variant &#39;{0}&#39; harus sama seperti di Template &#39;{1}&#39;,
Default settings for buying transactions.,Pengaturan default untuk transaksi pembelian.,
Default settings for selling transactions.,Pengaturan default untuk menjual transaksi.,
Default tax templates for sales and purchase are created.,Template pajak default untuk penjualan dan pembelian telah dibuat.,
Defaults,Standar,
Defense,Pertahanan,
Define Project type.,Tentukan jenis Proyek.,
Define budget for a financial year.,Tentukan anggaran untuk tahun keuangan.,
Define various loan types,Mendefinisikan berbagai jenis pinjaman,
Del,Del,
Delay in payment (Days),Keterlambatan pembayaran (Hari),
Delete all the Transactions for this Company,Hapus semua Transaksi untuk Perusahaan ini,
Deletion is not permitted for country {0},Penghapusan tidak diizinkan untuk negara {0},
Delivered,Dikirim,
Delivered Amount,Jumlah Telah Terikirim,
Delivered Qty,Qty Terkirim,
Delivered: {0},Terkirim: {0},
Delivery,Pengiriman,
Delivery Date,Tanggal pengiriman,
Delivery Note,Nota Pengiriman,
Delivery Note {0} is not submitted,Nota pengiriman {0} tidak Terkirim,
Delivery Note {0} must not be submitted,Pengiriman Note {0} tidak boleh Terkirim,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Catatan pengiriman {0} harus dibatalkan sebelum membatalkan Sales Order ini,
Delivery Notes {0} updated,Catatan Pengiriman {0} diperbarui,
Delivery Status,Status Pengiriman,
Delivery Trip,Perjalanan Pengiriman,
Delivery warehouse required for stock item {0},Gudang pengiriman diperlukan untuk persediaan barang {0},
Department,Departemen,
Department Stores,Departmen Store,
Depreciation,Penyusutan,
Depreciation Amount,penyusutan Jumlah,
Depreciation Amount during the period,Penyusutan Jumlah selama periode tersebut,
Depreciation Date,penyusutan Tanggal,
Depreciation Eliminated due to disposal of assets,Penyusutan Dieliminasi karena pelepasan aset,
Depreciation Entry,penyusutan Masuk,
Depreciation Method,Metode Penyusutan,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Baris Depresiasi {0}: Tanggal Mulai Penyusutan dimasukkan sebagai tanggal terakhir,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Baris Penyusutan {0}: Nilai yang diharapkan setelah masa manfaat harus lebih besar dari atau sama dengan {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Depreciation Row {0}: Next Depreciation Date tidak boleh sebelum Tersedia-untuk-digunakan Tanggal,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Depreciation Row {0}: Next Depreciation Date tidak boleh sebelum Tanggal Pembelian,
Designer,Perancang,
Detailed Reason,Alasan terperinci,
Details,Penjelasan,
Details of Outward Supplies and inward supplies liable to reverse charge,Rincian Persediaan Keluar dan persediaan ke dalam bertanggung jawab untuk membalikkan biaya,
Details of the operations carried out.,Rincian operasi yang dilakukan.,
Diagnosis,Diagnosa,
Did not find any item called {0},Tidak menemukan item yang disebut {0},
Diff Qty,Qty Diff,
Difference Account,Perbedaan Akun,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Akun Perbedaan harus jenis rekening Aset / Kewajiban, karena Rekonsiliasi Persediaan adalah Entri Pembukaan",
Difference Amount,Jumlah Perbedaan,
Difference Amount must be zero,Perbedaan Jumlah harus nol,
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 berbeda akan menyebabkan kesalahan Berat Bersih (Total). Pastikan Berat Bersih untuk setiap barang memakai UOM yang sama.,
Direct Expenses,Beban Langsung,
Direct Income,Pendapatan Langsung,
Disable,Nonaktifkan,
Disabled template must not be default template,Template cacat tidak harus template default,
Disburse Loan,Pinjaman Pinjaman,
Disbursed,Dicairkan,
Disc,Cakram,
Discharge,Melepaskan,
Discount,Diskon,
Discount Percentage can be applied either against a Price List or for all Price List.,Persentase Diskon dapat diterapkan baik terhadap Daftar Harga atau untuk semua List Price.,
Discount must be less than 100,Diskon harus kurang dari 100,
Diseases & Fertilizers,Penyakit &amp; Pupuk,
Dispatch,Pengiriman,
Dispatch Notification,Pemberitahuan Pengiriman,
Dispatch State,Negara Pengiriman,
Distance,Jarak,
Distribution,Distribusi,
Distributor,Distributor,
Dividends Paid,Dividen Dibagi,
Do you really want to restore this scrapped asset?,Apakah Anda benar-benar ingin mengembalikan aset dibuang ini?,
Do you really want to scrap this asset?,Apakah Anda benar-benar ingin membatalkan aset ini?,
Do you want to notify all the customers by email?,Apakah Anda ingin memberi tahu semua pelanggan melalui email?,
Doc Date,Tanggal Dokumen,
Doc Name,Doc Nama,
Doc Type,Doc Type,
Docs Search,Pencarian Docs,
Document Name,Dokumen Nama,
Document Type,Jenis Dokumen,
Domain,Domain,
Domains,Domain,
Done,Matang,
Donor,Donatur,
Donor Type information.,Informasi Jenis Donor.,
Donor information.,Informasi donor,
Download JSON,Unduh JSON,
Draft,Draf,
Drop Ship,Pengiriman Drop Ship,
Drug,Obat,
Due / Reference Date cannot be after {0},Karena / Referensi Tanggal tidak boleh setelah {0},
Due Date cannot be before Posting / Supplier Invoice Date,Tanggal Jatuh Tempo tidak boleh sebelum Posting / Tanggal Faktur Pemasok,
Due Date is mandatory,Due Date adalah wajib,
Duplicate Entry. Please check Authorization Rule {0},Gandakan entri. Silakan periksa Peraturan Otorisasi {0},
Duplicate Serial No entered for Item {0},Gandakan Serial ada dimasukkan untuk Item {0},
Duplicate customer group found in the cutomer group table,kelompok pelanggan duplikat ditemukan di tabel kelompok cutomer,
Duplicate entry,Entri Ganda/Duplikat,
Duplicate item group found in the item group table,Kelompok barang duplikat yang ditemukan dalam tabel grup item,
Duplicate roll number for student {0},Nomor pengguliran duplikat untuk siswa {0},
Duplicate row {0} with same {1},Baris duplikat {0} dengan sama {1},
Duplicate {0} found in the table,Duplikat {0} ditemukan dalam tabel,
Duration in Days,Durasi dalam Hari,
Duties and Taxes,Tarif dan Pajak,
E-Invoicing Information Missing,Informasi E-Faktur Tidak Ada,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,Pengaturan ERPN,
Earliest,Paling awal,
Earnest Money,Uang Earnest,
Edit,Edit,
Edit Publishing Details,Edit Detail Penerbitan,
"Edit in full page for more options like assets, serial nos, batches etc.","Edit di halaman penuh untuk lebih banyak pilihan seperti aset, serial nos, batch dll.",
Education,pendidikan,
Either location or employee must be required,Baik lokasi atau karyawan harus diwajibkan,
Either target qty or target amount is mandatory,Entah sasaran qty atau jumlah target adalah wajib,
Either target qty or target amount is mandatory.,Entah Target qty atau jumlah target adalah wajib.,
Electrical,Listrik,
Electronic Equipments,Peralatan Elektronik,
Electronics,Elektronik,
Eligible ITC,ITC yang memenuhi syarat,
Email Account,Akun Email,
Email Address,Alamat email,
"Email Address must be unique, already exists for {0}","Alamat Email harus unik, sudah ada untuk {0}",
Email Digest: ,Surel Ringkasan:,
Email Reminders will be sent to all parties with email contacts,Pengingat Email akan dikirim ke semua pihak dengan kontak email,
Email Sent,Email Terkirim,
Email Template,Template Email,
Email not found in default contact,Email tidak ditemukan dalam kontak default,
Email sent to {0},Email dikirim ke {0},
Employee,Karyawan,
Employee Advances,Uang Muka Karyawan,
Employee ID,identitas pegawai,
Employee Lifecycle,Siklus Hidup Karyawan,
Employee Name,nama karyawan,
Employee Promotion cannot be submitted before Promotion Date ,Promosi Karyawan tidak dapat diserahkan sebelum Tanggal Promosi,
Employee Transfer cannot be submitted before Transfer Date ,Transfer karyawan tidak dapat diserahkan sebelum Tanggal Transfer,
Employee cannot report to himself.,Karyawan tidak bisa melaporkan kepada dirinya sendiri.,
Employee {0} has already applied for {1} between {2} and {3} : ,Karyawan {0} telah mengajukan permohonan untuk {1} antara {2} dan {3}:,
Employee {0} of grade {1} have no default leave policy,Karyawan {0} kelas {1} tidak memiliki kebijakan cuti default,
Enable / disable currencies.,Mengaktifkan / menonaktifkan mata uang.,
Enabled,Diaktifkan,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Mengaktifkan &#39;Gunakan untuk Keranjang Belanja&#39;, sebagai Keranjang Belanja diaktifkan dan harus ada setidaknya satu Rule Pajak untuk Belanja",
End Date,Tanggal Berakhir,
End Date can not be less than Start Date,Tanggal Berakhir tidak boleh kurang dari Tanggal Mulai,
End Date cannot be before Start Date.,Tanggal Akhir tidak boleh sebelum Tanggal Mulai.,
End Year,Akhir tahun,
End Year cannot be before Start Year,Akhir Tahun tidak boleh sebelum Mulai Tahun,
End on,Akhiri,
Ends On date cannot be before Next Contact Date.,Berakhir Pada tanggal tidak boleh sebelum Tanggal Kontak Berikutnya.,
Energy,Energi,
Engineer,Insinyur,
Enough Parts to Build,Bagian yang cukup untuk Membangun,
Enroll,Mendaftar,
Enrolling student,mahasiswa Mendaftarkan,
Enrolling students,Mendaftar siswa,
Enter depreciation details,Masukkan detail depresiasi,
Enter the Bank Guarantee Number before submittting.,Masukkan Nomor Jaminan Bank sebelum mengirim.,
Enter the name of the Beneficiary before submittting.,Masukkan nama Beneficiary sebelum mengirim.,
Enter the name of the bank or lending institution before submittting.,Masukkan nama bank atau lembaga peminjaman sebelum mengajukan.,
Enter value betweeen {0} and {1},Masukkan nilai antara {0} dan {1},
Entertainment & Leisure,Hiburan & Kenyamanan,
Entertainment Expenses,Beban Hiburan,
Equity,Modal,
Error Log,Catatan eror,
Error evaluating the criteria formula,Kesalahan dalam mengevaluasi rumus kriteria,
Error in formula or condition: {0},Kesalahan dalam rumus atau kondisi: {0},
Error: Not a valid id?,Kesalahan: Tidak id valid?,
Estimated Cost,Estimasi biaya,
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Bahkan jika ada beberapa Aturan Harga dengan prioritas tertinggi, kemudian mengikuti prioritas internal diterapkan:",
Exchange Gain/Loss,Efek Gain / Loss,
Exchange Rate Revaluation master.,Master Revaluasi Nilai Tukar.,
Exchange Rate must be same as {0} {1} ({2}),Kurs harus sama dengan {0} {1} ({2}),
Excise Invoice,Cukai Faktur,
Execution,Eksekusi,
Executive Search,Pencarian Eksekutif,
Expand All,Melebarkan semua,
Expected Delivery Date,Diharapkan Pengiriman Tanggal,
Expected Delivery Date should be after Sales Order Date,Tanggal Pengiriman yang diharapkan harus setelah Tanggal Pesanan Penjualan,
Expected End Date,Diharapkan Tanggal Akhir,
Expected Hrs,Diharapkan Jam,
Expected Start Date,Diharapkan Tanggal Mulai,
Expense,Biaya,
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Beban akun / Difference ({0}) harus akun 'Laba atau Rugi',
Expense Account,Beban Akun,
Expense Claim,Biaya Klaim,
Expense Claims,Beban Klaim,
Expense account is mandatory for item {0},Rekening pengeluaran adalah wajib untuk item {0},
Expenses,Biaya / Beban,
Expenses Included In Asset Valuation,Beban Yang Termasuk Dalam Penilaian Aset,
Expenses Included In Valuation,Biaya Termasuk di Dalam Penilaian Barang,
Expired Batches,Batch yang kadaluarsa,
Expires On,Kadaluarsa pada,
Expiring On,Kedaluwarsa Pada,
Expiry (In Days),Kadaluwarsa (Dalam Days),
Explore,Menjelajah,
Export E-Invoices,Ekspor E-Faktur,
Extra Large,Ekstra besar,
Extra Small,Ekstra kecil,
Fail,Gagal,
Failed,Gagal,
Failed to create website,Gagal membuat situs web,
Failed to install presets,Gagal memasang prasetel,
Failed to login,Gagal untuk masuk,
Failed to setup company,Gagal menata perusahaan,
Failed to setup defaults,Gagal mengatur default,
Failed to setup post company fixtures,Gagal menyiapkan perlengkapan pasca perusahaan,
Fax,Fax,
Fee,Biaya,
Fee Created,Biaya Dibuat,
Fee Creation Failed,Penciptaan Biaya Gagal,
Fee Creation Pending,Penciptaan Biaya Tertunda,
Fee Records Created - {0},Biaya Rekaman Dibuat - {0},
Feedback,Umpan balik,
Fees,Biaya,
Female,Perempuan,
Fetch Data,Ambil Data,
Fetch Subscription Updates,Ambil Pembaruan Berlangganan,
Fetch exploded BOM (including sub-assemblies),Fetch meledak BOM (termasuk sub-rakitan),
Fetching records......,Mengambil catatan ......,
Field Name,Nama Field,
Fieldname,Fieldname,
Fields,Bidang,
"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Bidang Filter Baris # {0}: Fieldname <b>{1}</b> harus bertipe &quot;Link&quot; atau &quot;Table MultiSelect&quot;,
Filter Total Zero Qty,Filter Total Zero Qty,
Finance Book,Buku Keuangan,
Financial / accounting year.,Keuangan / akuntansi Tahun Berjalan,
Financial Services,Jasa Keuangan,
Financial Statements,Laporan keuangan,
Financial Year,Tahun Keuangan,
Finish,Selesai,
Finished Good,Selesai Baik,
Finished Good Item Code,Kode Barang Baik Jadi,
Finished Goods,Stok Barang Jadi,
Finished Item {0} must be entered for Manufacture type entry,Selesai Stok Barang {0} harus dimasukkan untuk jenis Produksi entri,
Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Jumlah produk jadi <b>{0}</b> dan Untuk Kuantitas <b>{1}</b> tidak dapat berbeda,
First Name,Nama Depan,
"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Rezim Fiskal adalah wajib, silakan mengatur rezim fiskal di perusahaan {0}",
Fiscal Year,Tahun fiskal,
Fiscal Year End Date should be one year after Fiscal Year Start Date,Tanggal Akhir Tahun Fiskal harus satu tahun setelah Tanggal Mulai Tahun Fiskal,
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Tahun Anggaran Tanggal Mulai dan Akhir Tahun Fiskal Tanggal sudah ditetapkan pada Tahun Anggaran {0},
Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Tanggal Mulai Tahun Fiskal harus satu tahun lebih awal dari Tanggal Akhir Tahun Fiskal,
Fiscal Year {0} does not exist,Tahun fiskal {0} tidak ada,
Fiscal Year {0} is required,Tahun fiskal {0} diperlukan,
Fixed Asset,Asset Tetap,
Fixed Asset Item must be a non-stock item.,Fixed Asset Item harus barang non-persediaan.,
Fixed Assets,Aktiva Tetap,
Following Material Requests have been raised automatically based on Item's re-order level,Berikut Permintaan Bahan telah dibesarkan secara otomatis berdasarkan tingkat re-order Item,
Following accounts might be selected in GST Settings:,Akun berikut mungkin dipilih di Setelan GST:,
Following course schedules were created,Jadwal kursus berikut telah dibuat,
Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Item berikut {0} tidak ditandai sebagai {1} item. Anda dapat mengaktifkannya sebagai {1} item dari master Barangnya,
Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Item berikut {0} tidak ditandai sebagai {1} item. Anda dapat mengaktifkannya sebagai {1} item dari master Barangnya,
"Food, Beverage & Tobacco","Makanan, Minuman dan 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 barang-barang 'Bundel Produk', Gudang, Nomor Serial dan Nomor Batch akan diperhitungkan dari tabel 'Packing List'. Bila Gudang dan Nomor Batch sama untuk semua barang-barang kemasan dari segala barang 'Bundel Produk', maka nilai tersebut dapat dimasukkan dalam tabel Barang utama, nilai tersebut akan disalin ke tabel 'Packing List'.",
For Quantity (Manufactured Qty) is mandatory,Untuk Quantity (Diproduksi Qty) adalah wajib,
For Supplier,Untuk Supplier,
For Warehouse,Untuk Gudang,
For Warehouse is required before Submit,Untuk Gudang diperlukan sebelum Submit,
"For an item {0}, quantity must be negative number","Untuk item {0}, kuantitas harus berupa angka negatif",
"For an item {0}, quantity must be positive number","Untuk item {0}, kuantitas harus berupa bilangan positif",
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","Untuk kartu pekerjaan {0}, Anda hanya dapat membuat entri stok jenis &#39;Transfer Bahan untuk Pembuatan&#39;",
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Untuk baris {0} di {1}. Untuk menyertakan {2} di tingkat Item, baris {3} juga harus disertakan",
For row {0}: Enter Planned Qty,Untuk baris {0}: Masuki rencana qty,
"For {0}, only credit accounts can be linked against another debit entry","Untuk {0}, hanya rekening kredit dapat dihubungkan dengan entri debit lain",
"For {0}, only debit accounts can be linked against another credit entry","Untuk {0}, hanya rekening debit dapat dihubungkan dengan entri kredit lain",
Forum Activity,Kegiatan Forum,
Free item code is not selected,Kode item gratis tidak dipilih,
Freight and Forwarding Charges,Pengangkutan dan Forwarding Biaya,
Frequency,Frekuensi,
Friday,Jum'at,
From,Dari,
From Address 1,Dari Alamat 1,
From Address 2,Dari Alamat 2,
From Currency and To Currency cannot be same,Dari Mata dan Mata Uang Untuk tidak bisa sama,
From Date and To Date lie in different Fiscal Year,Dari Tanggal dan Tanggal Berada di Tahun Fiskal yang berbeda,
From Date cannot be greater than To Date,Dari Tanggal tidak dapat lebih besar dari To Date,
From Date must be before To Date,Dari Tanggal harus sebelum To Date,
From Date should be within the Fiscal Year. Assuming From Date = {0},Dari Tanggal harus dalam Tahun Anggaran. Dengan asumsi Dari Tanggal = {0},
From Datetime,Dari Datetime,
From Delivery Note,Dari Delivery Note,
From Fiscal Year,Dari Tahun Fiskal,
From GSTIN,Dari GSTIN,
From Party Name,Dari Nama Pesta,
From Pin Code,Dari Kode Pin,
From Place,Dari Tempat,
From Range has to be less than To Range,Dari Rentang harus kurang dari Untuk Rentang,
From State,Dari Negara,
From Time,Dari waktu,
From Time Should Be Less Than To Time,Dari Waktu Harus Kurang Dari Ke Waktu,
From Time cannot be greater than To Time.,Dari waktu tidak dapat lebih besar dari Untuk Waktu.,
"From a supplier under composition scheme, Exempt and Nil rated","Dari pemasok di bawah skema komposisi, Bebas dan Nil diberi peringkat",
From and To dates required,Dari dan Untuk tanggal yang Anda inginkan,
From value must be less than to value in row {0},Dari nilai harus kurang dari nilai dalam baris {0},
From {0} | {1} {2},Dari {0} | {1} {2},
Fulfillment,Pemenuhan,
Full Name,Nama Lengkap,
Fully Depreciated,Sepenuhnya Disusutkan,
Furnitures and Fixtures,Mebel dan Perlengkapan,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Account lebih lanjut dapat dibuat di bawah Grup, tapi entri dapat dilakukan terhadap non-Grup",
Further cost centers can be made under Groups but entries can be made against non-Groups,Pusat biaya lebih lanjut dapat dibuat di bawah Grup tetapi entri dapat dilakukan terhadap non-Grup,
Further nodes can be only created under 'Group' type nodes,Node lebih lanjut dapat hanya dibuat di bawah tipe node 'Grup',
GSTIN,GSTIN,
GSTR3B-Form,Formulir GSTR3B,
Gain/Loss on Asset Disposal,Laba / Rugi Asset Disposal,
Gantt Chart,Gantt Bagan,
Gantt chart of all tasks.,Gantt chart dari semua tugas.,
Gender,Jenis Kelamin,
General,Umum,
General Ledger,Buku Besar,
Generate Material Requests (MRP) and Work Orders.,Hasilkan Permintaan Bahan (MRP) dan Perintah Kerja.,
Generate Secret,Hasilkan Rahasia,
Get Invocies,Dapatkan Invocies,
Get Invoices,Dapatkan Faktur,
Get Invoices based on Filters,Dapatkan Faktur berdasarkan Filter,
Get Items from BOM,Dapatkan item dari BOM,
Get Items from Healthcare Services,Dapatkan Item dari Layanan Kesehatan,
Get Items from Prescriptions,Dapatkan Item dari Resep,
Get Items from Product Bundle,Dapatkan Barang-barang dari Bundel Produk,
Get Suppliers,Dapatkan Pemasok,
Get Suppliers By,Dapatkan Pemasok Dengan,
Get Updates,Dapatkan Perbaruan,
Get customers from,Dapatkan pelanggan dari,
Get from Patient Encounter,Dapatkan dari Pertemuan Pasien,
Getting Started,Mulai,
GitHub Sync ID,ID Sinkronisasi GitHub,
Global settings for all manufacturing processes.,Pengaturan global untuk semua proses manufaktur.,
Go to the Desktop and start using ERPNext,Pergi ke Desktop dan mulai menggunakan ERPNext,
GoCardless SEPA Mandate,GoCardless SEPA Mandate,
GoCardless payment gateway settings,Pengaturan gateway pembayaran GoCardless,
Goal and Procedure,Sasaran dan Prosedur,
Goals cannot be empty,Tujuan tidak boleh kosong,
Goods In Transit,Barang dalam Transit,
Goods Transferred,Barang Ditransfer,
Goods and Services Tax (GST India),Pajak Barang dan Jasa (GST India),
Goods are already received against the outward entry {0},Barang sudah diterima dengan entri keluar {0},
Government,pemerintahan,
Grand Total,Nilai Jumlah Total,
Grant,Hibah,
Grant Application,Program Donasi,
Grant Leaves,Grant Leaves,
Grant information.,Berikan informasi.,
Grocery,Toko Kelontongan,
Gross Profit,Laba kotor,
Gross Profit %,Laba Kotor%,
Gross Profit / Loss,Laba Kotor / Rugi,
Gross Purchase Amount,Jumlah Pembelian Gross,
Gross Purchase Amount is mandatory,Jumlah Pembelian Kotor adalah wajib,
Group by Account,Group by Akun,
Group by Party,Kelompokkan oleh Partai,
Group by Voucher,Group by Voucher,
Group by Voucher (Consolidated),Kelompok berdasarkan Voucher (Konsolidasi),
Group node warehouse is not allowed to select for transactions,gudang kelompok simpul tidak diperbolehkan untuk memilih untuk transaksi,
Group to Non-Group,Kelompok Non-kelompok,
Group your students in batches,Kelompok siswa Anda dalam batch,
Groups,Grup,
Guardian1 Email ID,ID Email Guardian1,
Guardian1 Mobile No,Guardian1 Ponsel Tidak,
Guardian1 Name,Nama Guardian1,
Guardian2 Email ID,ID Email Guardian2,
Guardian2 Mobile No,Guardian2 Ponsel Tidak,
Guardian2 Name,Nama Guardian2,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Yearly,Setengah Tahunan,
Half-Yearly,Setengah tahun sekali,
Hardware,Perangkat keras,
Head of Marketing and Sales,Kepala Pemasaran dan Penjualan,
Health Care,Kesehatan,
Healthcare,Kesehatan,
Healthcare (beta),Kesehatan (beta),
Healthcare Practitioner,Praktisi Perawatan Kesehatan,
Healthcare Practitioner not available on {0},Praktisi Perawatan Kesehatan tidak tersedia di {0},
Healthcare Practitioner {0} not available on {1},Praktisi Kesehatan {0} tidak tersedia di {1},
Healthcare Service Unit,Unit Layanan Kesehatan,
Healthcare Service Unit Tree,Unit Layanan Kesehatan Pohon,
Healthcare Service Unit Type,Jenis Unit Layanan Kesehatan,
Healthcare Services,Layanan Kesehatan,
Healthcare Settings,Pengaturan Kesehatan,
Help Results for,Hasil Bantuan untuk,
High,Tinggi,
High Sensitivity,Sensitivitas tinggi,
Hold,Ditahan,
Hold Invoice,Tahan Faktur,
Holiday,Hari Libur,
Holiday List,Daftar Hari Libur,
Hotel Rooms of type {0} are unavailable on {1},Kamar Hotel tipe {0} tidak tersedia pada {1},
Hotels,Hotel,
Hourly,Per jam,
Hours,Jam,
How Pricing Rule is applied?,Bagaimana Aturan Harga diterapkan?,
Hub Category,Kategori Hub,
Hub Sync ID,Hub Sync ID,
Human Resource,Sumber daya manusia,
Human Resources,Sumber daya manusia,
IFSC Code,Kode IFSC,
IGST Amount,Jumlah IGST,
IP Address,Alamat IP,
ITC Available (whether in full op part),ITC Tersedia (baik dalam bagian op penuh),
ITC Reversed,ITC Terbalik,
Identifying Decision Makers,Mengidentifikasi Pengambil Keputusan,
"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Jika Auto Opt In dicentang, maka pelanggan akan secara otomatis terhubung dengan Program Loyalitas yang bersangkutan (saat disimpan)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Jika beberapa Aturan Harga terus menang, pengguna akan diminta untuk mengatur Prioritas 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 dipilih Pricing Rule dibuat untuk &#39;Rate&#39;, maka akan menimpa Daftar Harga. Tarif tarif adalah tingkat akhir, sehingga tidak ada diskon lebih lanjut yang harus diterapkan. Oleh karena itu, dalam transaksi seperti Order Penjualan, Pesanan Pembelian dll, akan diambil di bidang &#39;Rate&#39;, bukan bidang &#39;Price List Rate&#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 Aturan Harga yang ditemukan berdasarkan kondisi di atas, Prioritas diterapkan. Prioritas adalah angka antara 0 sampai 20, sementara nilai default adalah nol (kosong). Jumlah yang lebih tinggi berarti akan diutamakan jika ada beberapa Aturan Harga dengan kondisi yang sama.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Jika kadaluwarsa tak terbatas untuk Poin Loyalitas, biarkan Durasi Kedaluwarsa kosong atau 0.",
"If you have any questions, please get back to us.","Jika Anda memiliki pertanyaan, silakan kembali ke kami.",
Ignore Existing Ordered Qty,Abaikan Jumlah Pesanan yang Ada,
Image,Gambar,
Image View,Citra Tampilan,
Import Data,Impor Data,
Import Day Book Data,Impor Data Buku Hari,
Import Log,Impor Log,
Import Master Data,Impor Data Master,
Import in Bulk,Impor Secara massal,
Import of goods,Impor barang,
Import of services,Impor layanan,
Importing Items and UOMs,Mengimpor Item dan UOM,
Importing Parties and Addresses,Mengimpor Pihak dan Alamat,
In Maintenance,Dalam perawatan,
In Production,Dalam produksi,
In Qty,Dalam Qty,
In Stock Qty,Jumlah tersedia,
In Stock: ,Persediaan:,
In Value,Nilai,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","Dalam kasus program multi-tier, Pelanggan akan ditugaskan secara otomatis ke tingkat yang bersangkutan sesuai yang mereka habiskan",
Inactive,Tidak aktif,
Incentives,Insentif,
Include Default Book Entries,Sertakan Entri Buku Default,
Include Exploded Items,Sertakan barang yang meledak,
Include POS Transactions,Sertakan Transaksi POS,
Include UOM,Termasuk UOM,
Included in Gross Profit,Termasuk dalam Laba Kotor,
Income,Penghasilan,
Income Account,Akun Penghasilan,
Income Tax,Pajak penghasilan,
Incoming,Incoming,
Incoming Rate,Harga Penerimaan,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Jumlah yang salah dari pencatatan Buku Besar ditemukan. Anda mungkin telah memilih Account salah dalam transaksi.,
Increment cannot be 0,Kenaikan tidak bisa 0,
Increment for Attribute {0} cannot be 0,Kenaikan untuk Atribut {0} tidak dapat 0,
Indirect Expenses,Biaya Tidak Langsung,
Indirect Income,Pendapatan Tidak Langsung,
Individual,Individu,
Ineligible ITC,ITC yang tidak memenuhi syarat,
Initiated,Diprakarsai,
Inpatient Record,Rekam Rawat Inap,
Installation Note,Nota Installasi,
Installation Note {0} has already been submitted,Instalasi Catatan {0} telah Terkirim,
Installation date cannot be before delivery date for Item {0},Tanggal instalasi tidak bisa sebelum tanggal pengiriman untuk Item {0},
Installing presets,Menginstal preset,
Institute Abbreviation,Singkatan Institute,
Institute Name,nama institusi,
Instructor,Pengajar,
Insufficient Stock,Persediaan tidak cukup,
Insurance Start date should be less than Insurance End date,Tanggal asuransi mulai harus kurang dari tanggal asuransi End,
Integrated Tax,Pajak Terpadu,
Inter-State Supplies,Persediaan Antar Negara,
Internet Publishing,Penerbitan Internet,
Intra-State Supplies,Persediaan Antar Negara,
Introduction,Pendahuluan,
Invalid Attribute,Atribut yang tidak valid,
Invalid Blanket Order for the selected Customer and Item,Pesanan Selimut Tidak Valid untuk Pelanggan dan Item yang dipilih,
Invalid Company for Inter Company Transaction.,Perusahaan Tidak Valid untuk Transaksi Antar Perusahaan.,
Invalid GSTIN! A GSTIN must have 15 characters.,GSTIN tidak valid! GSTIN harus memiliki 15 karakter.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,GSTIN tidak valid! 2 digit GSTIN pertama harus cocok dengan angka Negara {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,GSTIN tidak valid! Input yang Anda masukkan tidak cocok dengan format GSTIN.,
Invalid Posting Time,Waktu Posting Tidak Valid,
Invalid attribute {0} {1},Atribut tidak valid {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Kuantitas tidak valid untuk item {0}. Jumlah harus lebih besar dari 0.,
Invalid reference {0} {1},Referensi yang tidak valid {0} {1},
Invalid {0},Valid {0},
Invalid {0} for Inter Company Transaction.,{0} tidak valid untuk Transaksi Antar Perusahaan.,
Invalid {0}: {1},Valid {0}: {1},
Inventory,Inventarisasi,
Investment Banking,Perbankan Investasi,
Investments,Investasi,
Invoice,Faktur,
Invoice Created,Faktur Dibuat,
Invoice Discounting,Diskon Faktur,
Invoice Patient Registration,Faktur Pendaftaran Pasien,
Invoice Posting Date,Faktur Posting Tanggal,
Invoice Type,Tipe Faktur,
Invoice already created for all billing hours,Faktur sudah dibuat untuk semua jam penagihan,
Invoice can't be made for zero billing hour,Faktur tidak dapat dilakukan selama nol jam penagihan,
Invoice {0} no longer exists,Faktur {0} tidak ada lagi,
Invoiced,Faktur,
Invoiced Amount,Nilai Tertagih Faktur,
Invoices,Faktur,
Invoices for Costumers.,Faktur untuk Pelanggan.,
Inward supplies from ISD,Pasokan ke dalam dari ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),Persediaan ke dalam bertanggung jawab untuk membalikkan biaya (selain 1 &amp; 2 di atas),
Is Active,Aktif,
Is Default,Apakah default,
Is Existing Asset,Apakah ada Asset,
Is Frozen,Dibekukan,
Is Group,Apakah Group?,
Issue,Masalah / Isu,
Issue Material,Isu Material,
Issued,Diterbitkan,
Issues,Isu,
It is needed to fetch Item Details.,Hal ini diperlukan untuk mengambil Item detail.,
Item,Barang,
Item 1,Item 1,
Item 2,Item 2,
Item 3,Butir 3,
Item 4,Item 4,
Item 5,Butir 5,
Item Cart,Item Cart,
Item Code,Kode Item,
Item Code cannot be changed for Serial No.,Item Code tidak dapat diubah untuk Serial Number,
Item Code required at Row No {0},Item Code dibutuhkan pada Row ada {0},
Item Description,Deskripsi barang,
Item Group,Item Grup,
Item Group Tree,Tree Item Grup,
Item Group not mentioned in item master for item {0},Item Grup tidak disebutkan dalam master Stok Barang untuk item {0},
Item Name,Nama barang,
Item Price added for {0} in Price List {1},Item Harga ditambahkan untuk {0} di Daftar Harga {1},
"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Harga Barang muncul beberapa kali berdasarkan Daftar Harga, Pemasok / Pelanggan, Mata Uang, Item, UOM, Qty dan Tanggal.",
Item Price updated for {0} in Price List {1},Harga Barang diperbarui untuk {0} di Daftar Harga {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Baris Item {0}: {1} {2} tidak ada di atas tabel &#39;{1}&#39;,
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Item Pajak Row {0} harus memiliki akun Pajak jenis atau Penghasilan atau Beban atau Dibebankan,
Item Template,Item Template,
Item Variant Settings,Pengaturan Variasi Item,
Item Variant {0} already exists with same attributes,Item Varian {0} sudah ada dengan atribut yang sama,
Item Variants,Item Varian,
Item Variants updated,Varian Item diperbarui,
Item has variants.,Item memiliki varian.,
Item must be added using 'Get Items from Purchase Receipts' button,Item harus ditambahkan dengan menggunakan 'Dapatkan Produk dari Pembelian Penerimaan' tombol,
Item valuation rate is recalculated considering landed cost voucher amount,Tingkat penilaian Item dihitung ulang mengingat mendarat biaya jumlah voucher,
Item variant {0} exists with same attributes,Item varian {0} ada dengan atribut yang sama,
Item {0} does not exist,Item {0} tidak ada,
Item {0} does not exist in the system or has expired,Item {0} tidak ada dalam sistem atau telah berakhir,
Item {0} has already been returned,Item {0} telah dikembalikan,
Item {0} has been disabled,Item {0} telah dinonaktifkan,
Item {0} has reached its end of life on {1},Item {0} telah mencapai akhir hidupnya pada {1},
Item {0} ignored since it is not a stock item,Barang {0} diabaikan karena bukan barang persediaan,
"Item {0} is a template, please select one of its variants","Item {0} adalah template, silahkan pilih salah satu variannya",
Item {0} is cancelled,Item {0} dibatalkan,
Item {0} is disabled,Item {0} dinonaktifkan,
Item {0} is not a serialized Item,Item {0} bukan merupakan Stok Barang serial,
Item {0} is not a stock Item,Barang {0} bukan merupakan Barang persediaan,
Item {0} is not active or end of life has been reached,Item {0} tidak aktif atau akhir hidup telah tercapai,
Item {0} is not setup for Serial Nos. Check Item master,Stok Barang {0} tidak setup untuk Nomor Seri. Periksa Induk Barang,
Item {0} is not setup for Serial Nos. Column must be blank,Stok Barang {0} tidak diatur untuk Nomor Seri. Kolom harus kosong,
Item {0} must be a Fixed Asset Item,Item {0} harus menjadi Asset barang Tetap,
Item {0} must be a Sub-contracted Item,Item {0} harus Item Sub-kontrak,
Item {0} must be a non-stock item,Barang {0} harus barang non-persediaan,
Item {0} must be a stock Item,Barang {0} harus barang persediaan,
Item {0} not found,Item {0} tidak ditemukan,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Item {0} tidak ditemukan dalam &#39;Bahan Baku Disediakan&#39; tabel dalam Purchase Order {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Item {0}: qty Memerintahkan {1} tidak bisa kurang dari qty minimum order {2} (didefinisikan dalam Butir).,
Item: {0} does not exist in the system,Item: {0} tidak ada dalam sistem,
Items,Items,
Items Filter,Filter Item,
Items and Pricing,Item dan Harga,
Items for Raw Material Request,Item untuk Permintaan Bahan Baku,
Job Card,Kartu Kerja,
Job card {0} created,Kartu kerja {0} dibuat,
Join,Bergabung,
Journal Entries {0} are un-linked,Entri jurnal {0} un-linked,
Journal Entry,Jurnal Entri,
Journal Entry {0} does not have account {1} or already matched against other voucher,Jurnal Entri {0} tidak memiliki akun {1} atau sudah dicocokkan voucher lainnya,
Kanban Board,Papan kanban,
Key Reports,Laporan Utama,
LMS Activity,Aktivitas LMS,
Lab Test,Uji Lab,
Lab Test Report,Laporan Uji Lab,
Lab Test Sample,Sampel Uji Lab,
Lab Test Template,Lab Test Template,
Lab Test UOM,Uji Lab UOM,
Lab Tests and Vital Signs,Tes Laboratorium dan Tanda Vital,
Lab result datetime cannot be before testing datetime,Hasil lab datetime tidak bisa sebelum pengujian datetime,
Lab testing datetime cannot be before collection datetime,Lab testing datetime tidak bisa sebelum koleksi datetime,
Label,Label,
Laboratory,Laboratorium,
Large,Besar,
Last Communication,Komunikasi Terakhir,
Last Communication Date,Tanggal Komunikasi Terakhir,
Last Name,Nama Belakang,
Last Order Amount,Jumlah Order terakhir,
Last Order Date,Order terakhir Tanggal,
Last Purchase Price,Harga Pembelian Terakhir,
Last Purchase Rate,Tingkat Pembelian Terakhir,
Latest,Terbaru,
Latest price updated in all BOMs,Harga terbaru diperbarui di semua BOM,
Lead,Prospek,
Lead Count,Jumlah Prospek,
Lead Owner,Pemilik Prospek,
Lead Owner cannot be same as the Lead,Pemilik Prospek tidak bisa sama dengan Prospek,
Lead Time Days,Hari Masa Tenggang,
Lead to Quotation,Prospek menuju Penawaran,
"Leads help you get business, add all your contacts and more as your leads","Prospek membantu Anda mendapatkan bisnis, tambahkan semua kontak Anda sebagai prospek Anda",
Learn,Belajar,
Leave Management,Manajemen Cuti,
Leave and Attendance,Tinggalkan dan Kehadiran,
Leave application {0} already exists against the student {1},Tinggalkan aplikasi {0} sudah ada terhadap siswa {1},
Leaves has been granted sucessfully,Daun telah diberikan dengan sukses,
Leaves must be allocated in multiples of 0.5,"cuti harus dialokasikan dalam kelipatan 0,5",
Ledger,buku besar,
Legal,Hukum,
Legal Expenses,Beban Legal,
Letter Head,Surat Kepala,
Letter Heads for print templates.,Surat Kepala untuk mencetak template.,
Level,Level,
Liability,Kewajiban,
Limit Crossed,batas Dilalui,
Link to Material Request,Tautan ke Permintaan Material,
List of all share transactions,Daftar semua transaksi saham,
List of available Shareholders with folio numbers,Daftar Pemegang Saham yang tersedia dengan nomor folio,
Loading Payment System,Memuat Sistem Pembayaran,
Loan,Pinjaman,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Tanggal Mulai Pinjaman dan Periode Pinjaman wajib untuk menyimpan Diskon Faktur,
Loans (Liabilities),Kredit (Kewajiban),
Loans and Advances (Assets),Pinjaman Uang Muka dan (Aset),
Local,[Daerah,
Logs for maintaining sms delivery status,Log untuk mempertahankan status pengiriman sms,
Lost,Kalah,
Lost Reasons,Alasan yang Hilang,
Low,Rendah,
Low Sensitivity,Sensitivitas rendah,
Lower Income,Penghasilan rendah,
Loyalty Amount,Jumlah Loyalitas,
Loyalty Point Entry,Entry Point Loyalitas,
Loyalty Points,Poin Loyalitas,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Poin Loyalitas akan dihitung dari pengeluaran yang dilakukan (melalui Faktur Penjualan), berdasarkan faktor penagihan yang disebutkan.",
Loyalty Points: {0},Poin Loyalitas: {0},
Loyalty Program,Program loyalitas,
Main,Utama,
Maintenance,Pemeliharaan,
Maintenance Log,Log Pemeliharaan,
Maintenance Manager,Manajer Pemeliharaan,
Maintenance Schedule,Jadwal Pemeliharaan,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Jadwal pemeliharaan tidak dihasilkan untuk semua item. Silahkan klik 'Menghasilkan Jadwal',
Maintenance Schedule {0} exists against {1},Jadwal Pemeliharaan {0} ada terhadap {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Jadwal pemeliharaan {0} harus dibatalkan sebelum membatalkan Sales Order ini,
Maintenance Status has to be Cancelled or Completed to Submit,Status Pemeliharaan harus Dibatalkan atau Selesai untuk Dikirim,
Maintenance User,Pengguna Pemeliharaan,
Maintenance Visit,Kunjungan Pemeliharaan,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Pemeliharaan Kunjungan {0} harus dibatalkan sebelum membatalkan Sales Order ini,
Maintenance start date can not be before delivery date for Serial No {0},Tanggal mulai pemeliharaan tidak bisa sebelum tanggal pengiriman untuk Serial No {0},
Make,Membuat,
Make Payment,Melakukan pembayaran,
Make project from a template.,Buat proyek dari templat.,
Making Stock Entries,Membuat Entri Persediaan,
Male,Laki-laki,
Manage Customer Group Tree.,Kelola Pohon Kelompok Pelanggan.,
Manage Sales Partners.,Kelola Partner Penjualan,
Manage Sales Person Tree.,Pengelolaan Tingkat Salesman,
Manage Territory Tree.,Kelola Wilayah Tree.,
Manage your orders,Mengelola pesanan Anda,
Management,Manajemen,
Manager,Manajer,
Managing Projects,Pengelolaan Proyek,
Managing Subcontracting,Pengaturan Subkontrak,
Mandatory,Wajib,
Mandatory field - Academic Year,Bidang wajib - Tahun Akademik,
Mandatory field - Get Students From,Wajib lapangan - Dapatkan Siswa Dari,
Mandatory field - Program,Bidang wajib - Program,
Manufacture,Pembuatan,
Manufacturer,Pabrikasi,
Manufacturer Part Number,Produsen Part Number,
Manufacturing,Manufaktur,
Manufacturing Quantity is mandatory,Qty Manufaktur  wajib diisi,
Mapping,Pemetaan,
Mapping Type,Tipe pemetaan,
Mark Absent,Mark Absen,
Mark Half Day,Mark Half Day,
Mark Present,Mark Hadir,
Marketing,Marketing,
Marketing Expenses,Beban Pemasaran,
Marketplace,Marketplace,
Marketplace Error,Kesalahan Pasar,
Masters,Masters,
Match Payments with Invoices,Pembayaran pertandingan dengan Faktur,
Match non-linked Invoices and Payments.,Cocokkan Faktur non-linked dan Pembayaran.,
Material,Bahan,
Material Consumption,Bahan konsumsi,
Material Consumption is not set in Manufacturing Settings.,Konsumsi Material tidak diatur dalam Pengaturan Manufaktur.,
Material Receipt,Nota Penerimaan Barang,
Material Request,Permintaan Material,
Material Request Date,Bahan Permintaan Tanggal,
Material Request No,Permintaan Material yang,
"Material Request not created, as quantity for Raw Materials already available.","Permintaan Bahan tidak dibuat, karena kuantitas untuk Bahan Baku sudah tersedia.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Permintaan Bahan maksimal {0} dapat dibuat untuk Item {1} terhadap Sales Order {2},
Material Request to Purchase Order,Permintaan Material untuk Order Pembelian,
Material Request {0} is cancelled or stopped,Permintaan Material {0} dibatalkan atau dihentikan,
Material Request {0} submitted.,Permintaan Material {0} dikirimkan.,
Material Transfer,Transfer Barang,
Material Transferred,Material Ditransfer,
Material to Supplier,Bahan untuk Supplier,
Max discount allowed for item: {0} is {1}%,Diskon Max diperbolehkan untuk item: {0} {1}%,
Max: {0},Max: {0},
Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Sampel Maksimum - {0} dapat disimpan 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 disimpan untuk Batch {1} dan Item {2} di Batch {3}.,
Maximum discount for Item {0} is {1}%,Diskon maksimum untuk Item {0} adalah {1}%,
Medical Code,Kode Medis,
Medical Code Standard,Standar Kode Medis,
Medical Department,Departemen Kesehatan,
Medical Record,Rekam medis,
Medium,Sedang,
Member Activity,Aktivitas Anggota,
Member ID,Tanda Anggota,
Member Name,Nama anggota,
Member information.,Informasi anggota,
Membership,Keanggotaan,
Membership Details,Rincian Keanggotaan,
Membership ID,ID Keanggotaan,
Membership Type,jenis keanggotaan,
Memebership Details,Rincian Memebership,
Memebership Type Details,Rincian Jenis Memebership,
Merge,Menggabungkan,
Merge Account,Gabungkan Akun,
Merge with Existing Account,Bergabung dengan Akun yang Ada,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Penggabungan ini hanya mungkin jika sifat berikut yang sama di kedua catatan. Apakah Group, Akar Jenis, Perusahaan",
Message Examples,Contoh pesan,
Message Sent,Pesan terkirim,
Method,Metode,
Middle Income,Penghasilan Menengah,
Middle Name,Nama tengah,
Middle Name (Optional),Nama tengah (opsional),
Min Amt can not be greater than Max Amt,Min Amt tidak bisa lebih besar dari Max Amt,
Min Qty can not be greater than Max Qty,Min Qty tidak dapat lebih besar dari Max Qty,
Minimum Lead Age (Days),Minimum Umur Prospek (Hari),
Miscellaneous Expenses,Beban lain-lain,
Missing Currency Exchange Rates for {0},Hilang Kurs mata uang Tarif untuk {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Template email tidak ada untuk dikirim. Silakan set satu di Pengaturan Pengiriman.,
"Missing value for Password, API Key or Shopify URL","Nilai yang hilang untuk Kata Sandi, Kunci API, atau URL Shopify",
Mode of Payment,Cara Pembayaran,
Mode of Payments,Mode Pembayaran,
Mode of Transport,Mode Transportasi,
Mode of Transportation,Cara Transportasi,
Model,Model,
Moderate Sensitivity,Sensitivitas Sedang,
Monday,Senin,
Monthly,Bulanan,
Monthly Distribution,Distribusi Bulanan,
More,Lanjut,
More Information,Informasi lebih,
More...,Lebih...,
Motion Picture & Video,Motion Picture & Video,
Move,Bergerak,
Move Item,Pindahkan Barang,
Multi Currency,Multi Mata Uang,
Multiple Item prices.,Multiple Item harga.,
Multiple Loyalty Program found for the Customer. Please select manually.,Beberapa Program Loyalitas yang ditemukan untuk Pelanggan. Silakan pilih secara manual.,
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Beberapa Aturan Harga ada dengan kriteria yang sama, silahkan menyelesaikan konflik dengan menetapkan prioritas. Harga Aturan: {0}",
Multiple Variants,Beberapa varian,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Beberapa tahun fiskal ada untuk tanggal {0}. Silakan set perusahaan di Tahun Anggaran,
Music,musik musik,
Name error: {0},Nama error: {0},
Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Nama Akun baru. Catatan: Jangan membuat akun untuk Pelanggan dan Pemasok,
Name or Email is mandatory,Nama atau Email adalah wajib,
Nature Of Supplies,Sifat Pasokan,
Navigating,Menjelajahi,
Needs Analysis,Butuh analisa,
Negative Quantity is not allowed,Jumlah negatif tidak diperbolehkan,
Negative Valuation Rate is not allowed,Tingkat Penilaian Negatif tidak diperbolehkan,
Negotiation/Review,Negosiasi / Peninjauan,
Net Asset value as on,Nilai Aktiva Bersih seperti pada,
Net Cash from Financing,Kas Bersih dari Pendanaan,
Net Cash from Investing,Kas Bersih dari Investasi,
Net Cash from Operations,Kas Bersih dari Operasi,
Net Change in Accounts Payable,Perubahan bersih Hutang,
Net Change in Accounts Receivable,Perubahan bersih Piutang,
Net Change in Cash,Perubahan bersih dalam kas,
Net Change in Equity,Perubahan Bersih Ekuitas,
Net Change in Fixed Asset,Perubahan Bersih dalam Aset Tetap,
Net Change in Inventory,Perubahan Nilai bersih dalam Persediaan,
Net ITC Available(A) - (B),Tersedia ITC Bersih (A) - (B),
Net Profit,Laba bersih,
Net Total,Jumlah Bersih,
New Account Name,New Account Name,
New Address,Alamat baru,
New BOM,BOM baru,
New Batch ID (Optional),ID Batch Baru (Opsional),
New Batch Qty,Baru Batch Qty,
New Company,Perusahaan Baru,
New Cost Center Name,Baru Nama Biaya Pusat,
New Customer Revenue,Pendapatan Pelanggan Baru,
New Customers,pelanggan baru,
New Department,Departemen baru,
New Employee,Karyawan baru,
New Location,Lokasi baru,
New Quality Procedure,Prosedur Kualitas Baru,
New Sales Invoice,Baru Faktur Penjualan,
New Sales Person Name,Nama baru Sales Person,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,No. Seri baru tidak dapat memiliki Gudang. Gudang harus diatur oleh Entri Persediaan atau Nota Pembelian,
New Warehouse Name,Gudang baru Nama,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},batas kredit baru kurang dari jumlah yang luar biasa saat ini bagi pelanggan. batas kredit harus minimal {0},
New task,Tugas baru,
New {0} pricing rules are created,{0} aturan penetapan harga baru dibuat,
Newspaper Publishers,Penerbit Berita,
Next,Lanjut,
Next Contact By cannot be same as the Lead Email Address,Dikontak Oleh berikut tidak bisa sama dengan Alamat Email Prospek,
Next Contact Date cannot be in the past,Berikutnya Hubungi Tanggal tidak dapat di masa lalu,
Next Steps,Langkah selanjutnya,
No Action,Tidak ada tindakan,
No Customers yet!,Belum ada pelanggan,
No Data,Tidak ada data,
No Delivery Note selected for Customer {},Tidak ada Catatan Pengiriman yang dipilih untuk Pelanggan {},
No Item with Barcode {0},Ada Stok Barang dengan Barcode {0},
No Item with Serial No {0},Tidak ada Stok Barang dengan Serial No {0},
No Items available for transfer,Tidak ada item yang tersedia untuk transfer,
No Items selected for transfer,Tidak ada item yang dipilih untuk transfer,
No Items to pack,Tidak ada item untuk dikemas,
No Items with Bill of Materials to Manufacture,Tidak ada Item dengan Bill of Material untuk Industri,
No Items with Bill of Materials.,Tidak Ada Item dengan Bill of Material.,
No Permission,Tidak ada izin,
No Remarks,Tidak ada Keterangan,
No Result to submit,Tidak ada hasil untuk disampaikan,
No Student Groups created.,Tidak Grup Pelajar dibuat.,
No Students in,Tidak ada siswa,
No Tax Withholding data found for the current Fiscal Year.,Tidak ada data Pemotongan Pajak yang ditemukan untuk Tahun Fiskal saat ini.,
No Work Orders created,Tidak ada Perintah Kerja yang dibuat,
No accounting entries for the following warehouses,Tidak ada entri akuntansi untuk gudang berikut,
No contacts with email IDs found.,Tidak ada kontak dengan ID email yang ditemukan.,
No data for this period,Tidak ada data untuk periode ini,
No description given,Tidak diberikan deskripsi,
No employees for the mentioned criteria,Tidak ada karyawan untuk kriteria tersebut,
No gain or loss in the exchange rate,Tidak ada keuntungan atau kerugian dalam nilai tukar,
No items listed,Tidak ada item yang terdaftar,
No items to be received are overdue,Tidak ada barang yang akan diterima sudah lewat,
No material request created,Tidak ada permintaan material yang dibuat,
No of Interactions,Tidak ada Interaksi,
No of Shares,Tidak Ada Saham,
No pending Material Requests found to link for the given items.,Tidak ada Permintaan Material yang tertunda ditemukan untuk menautkan untuk item yang diberikan.,
No products found,Tidak ada produk yang ditemukan,
No products found.,Tidak ditemukan produk.,
No record found,Tidak ada catatan ditemukan,
No records found in the Invoice table,Tidak ada catatan yang ditemukan dalam tabel Faktur,
No records found in the Payment table,Tidak ada catatan yang ditemukan dalam tabel Pembayaran,
No tasks,Tidak ada tugas,
No time sheets,Tidak ada lembar waktu,
No values,Tidak ada nilai,
No {0} found for Inter Company Transactions.,Tidak ada {0} ditemukan untuk Transaksi Perusahaan Inter.,
Non GST Inward Supplies,Persediaan Non GST Masuk,
Non Profit,Non Profit,
Non Profit (beta),Non Profit (beta),
Non-GST outward supplies,Pasokan luar non-GST,
Non-Group to Group,Non-Group untuk Grup,
None,Tidak ada,
None of the items have any change in quantity or value.,Tak satu pun dari item memiliki perubahan kuantitas atau nilai.,
Nos,Nos,
Not Available,Tidak tersedia,
Not Marked,Tidak ditandai,
Not Paid and Not Delivered,Tidak Dibayar dan Tidak Terkirim,
Not Permitted,Tidak Diijinkan,
Not Started,Tidak Dimulai,
Not active,Tidak aktif,
Not allow to set alternative item for the item {0},Tidak memungkinkan untuk mengatur item alternatif untuk item {0},
Not allowed to update stock transactions older than {0},Tidak diizinkan memperbarui transaksi persediaan lebih lama dari {0},
Not authorized to edit frozen Account {0},Tidak berwenang untuk mengedit Akun frozen {0},
Not authroized since {0} exceeds limits,Tidak Authroized sejak {0} melebihi batas,
Not permitted for {0},Tidak diizinkan untuk {0},
"Not permitted, configure Lab Test Template as required","Tidak diizinkan, konfigurasikan Lab Test Template sesuai kebutuhan",
Not permitted. Please disable the Service Unit Type,Tidak diperbolehkan. Harap nonaktifkan Jenis Unit Layanan,
Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Catatan: Tanggal Jatuh Tempo / Referensi melebihi {0} hari dari yang diperbolehkan untuk kredit pelanggan,
Note: Item {0} entered multiple times,Catatan: Stok Barang {0} masuk beberapa kali,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Catatan: Entry Pembayaran tidak akan dibuat karena 'Cash atau Rekening Bank tidak ditentukan,
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Catatan: Sistem tidak akan memeriksa over-pengiriman dan over-booking untuk Item {0} kuantitas atau jumlah 0,
Note: There is not enough leave balance for Leave Type {0},Catatan: Tidak ada saldo cuti cukup bagi Leave Type {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Catatan: Biaya Pusat ini adalah Group. Tidak bisa membuat entri akuntansi terhadap kelompok-kelompok.,
Note: {0},Catatan: {0},
Notes,Catatan,
Nothing is included in gross,Tidak ada yang termasuk dalam gross,
Nothing more to show.,Tidak lebih untuk ditampilkan.,
Notify Customers via Email,Beritahu Pelanggan via Email,
Number,Jumlah,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Jumlah Penyusutan Memesan tidak dapat lebih besar dari total jumlah Penyusutan,
Number of Interaction,Jumlah Interaksi,
Number of Order,Jumlah Order,
"Number of new Account, it will be included in the account name as a prefix","Jumlah Akun baru, akan disertakan dalam nama akun sebagai awalan",
"Number of new Cost Center, it will be included in the cost center name as a prefix","Jumlah Pusat Biaya baru, itu akan dimasukkan dalam nama pusat biaya sebagai awalan",
Number of root accounts cannot be less than 4,Jumlah akun root tidak boleh kurang dari 4,
Odometer,Odometer,
Office Equipments,Peralatan Kantor,
Office Maintenance Expenses,Beban Pemeliharaan Kantor,
Office Rent,Sewa kantor,
On Hold,Tertahan,
On Net Total,Pada Jumlah Net Bersih,
One customer can be part of only single Loyalty Program.,Satu pelanggan dapat menjadi bagian dari hanya Program Loyalitas Tunggal.,
Online Auctions,Lelang Online,
"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Hanya Pelamar Pelajar dengan status &quot;Disetujui&quot; yang akan dipilih dalam tabel di bawah ini.,
Only users with {0} role can register on Marketplace,Hanya pengguna dengan {0} yang dapat mendaftar di Marketplace,
Open BOM {0},Terbuka BOM {0},
Open Item {0},Terbuka Barang {0},
Open Notifications,Terbuka Pemberitahuan,
Open Orders,Pesanan Terbuka,
Open a new ticket,Buka tiket baru,
Opening,Pembukaan,
Opening (Cr),Pembukaan (Cr),
Opening (Dr),Pembukaan (Dr),
Opening Accounting Balance,Saldo Pembukaan Akuntansi,
Opening Accumulated Depreciation,Membuka Penyusutan Akumulasi,
Opening Accumulated Depreciation must be less than equal to {0},Membuka Penyusutan Akumulasi harus kurang dari sama dengan {0},
Opening Balance,Saldo awal,
Opening Balance Equity,Saldo Pembukaan Ekuitas,
Opening Date and Closing Date should be within same Fiscal Year,Tanggal dan Closing Date membuka harus berada dalam Tahun Anggaran yang sama,
Opening Date should be before Closing Date,Tanggal Pembukaan harus sebelum Tanggal Penutupan,
Opening Entry Journal,Membuka Entri Jurnal,
Opening Invoice Creation Tool,Membuka Invoice Creation Tool,
Opening Invoice Item,Membuka Item Faktur,
Opening Invoices,Membuka Faktur,
Opening Invoices Summary,Membuka Faktur Ringkasan,
Opening Qty,Qty Pembukaan,
Opening Stock,Persediaan pembukaan,
Opening Stock Balance,Saldo Persediaan Pembukaan,
Opening Value,Nilai pembukaan,
Opening {0} Invoice created,Membuka {0} Faktur dibuat,
Operation,Operasi,
Operation Time must be greater than 0 for Operation {0},Operasi Waktu harus lebih besar dari 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 jam kerja yang tersedia di workstation {1}, memecah operasi menjadi beberapa operasi",
Operations,Operasi,
Operations cannot be left blank,Operasi tidak dapat dibiarkan kosong,
Opp Count,Opp Count,
Opp/Lead %,Peluang/Prospek %,
Opportunities,Peluang,
Opportunities by lead source,Peluang oleh sumber utama,
Opportunity,Peluang,
Opportunity Amount,Jumlah Peluang,
"Optional. Sets company's default currency, if not specified.","Opsional. Set mata uang default perusahaan, jika tidak ditentukan.",
Optional. This setting will be used to filter in various transactions.,Opsional. Pengaturan ini akan digunakan untuk menyaring dalam berbagai transaksi.,
Options,Pilihan,
Order Count,Order Count,
Order Entry,Pesanan masuk,
Order Value,Nilai Pesanan,
Order rescheduled for sync,Pesanan dijadwal ulang untuk sinkronisasi,
Order/Quot %,Order / Kuot%,
Ordered,Ordered,
Ordered Qty,Qty Terorder,
"Ordered Qty: Quantity ordered for purchase, but not received.","Memerintahkan Qty: Jumlah memerintahkan untuk pembelian, tetapi tidak diterima.",
Orders,Order,
Orders released for production.,Order dirilis untuk produksi.,
Organization,Organisasi,
Organization Name,Nama Organisasi,
Other,Lain-lain,
Other Reports,Laporan Lainnya,
"Other outward supplies(Nil rated,Exempted)","Persediaan luar lainnya (nilai nol, Dibebaskan)",
Others,Lainnya,
Out Qty,Out Qty,
Out Value,out Nilai,
Out of Order,Habis,
Outgoing,Keluaran,
Outstanding,terkemuka,
Outstanding Amount,Jumlah belum terbayar,
Outstanding Amt,Posisi Amt,
Outstanding Cheques and Deposits to clear,Penghapusan Cek dan Deposito yang Jatuh Tempo,
Outstanding for {0} cannot be less than zero ({1}),Posisi untuk {0} tidak bisa kurang dari nol ({1}),
Outward taxable supplies(zero rated),Persediaan kena pajak ke luar (nilai nol),
Overdue,Terlambat,
Overlap in scoring between {0} and {1},Tumpang tindih dalam penilaian antara {0} dan {1},
Overlapping conditions found between:,Kondisi Tumpang Tindih ditemukan antara:,
Owner,Pemilik,
PAN,PANCI,
POS,POS,
POS Profile,POS Profil,
POS Profile is required to use Point-of-Sale,Profil POS diharuskan menggunakan Point of Sale,
POS Profile required to make POS Entry,POS Profil diperlukan untuk membuat POS Entri,
POS Settings,Pengaturan POS,
Packed quantity must equal quantity for Item {0} in row {1},Dikemas kuantitas harus sama kuantitas untuk Item {0} berturut-turut {1},
Packing Slip,Slip Packing,
Packing Slip(s) cancelled,Packing slip (s) dibatalkan,
Paid,Dibayar,
Paid Amount,Dibayar Jumlah,
Paid Amount cannot be greater than total negative outstanding amount {0},Dibayar Jumlah tidak dapat lebih besar dari jumlah total outstanding negatif {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Jumlah yang dibayarkan + Write Off Jumlah tidak bisa lebih besar dari Grand Total,
Paid and Not Delivered,Dibayar dan Tidak Terkirim,
Parameter,Parameter,
Parent Item {0} must not be a Stock Item,Induk Barang {0} tidak boleh merupakan Barang Persediaan,
Parents Teacher Meeting Attendance,Pertemuan Orangtua Guru Kehadiran,
Partially Depreciated,Sebagian Disusutkan,
Partially Received,Diterima sebagian,
Party,Pihak,
Party Name,Nama Partai,
Party Type,Type Partai,
Party Type and Party is mandatory for {0} account,Jenis dan Pesta Pihak adalah wajib untuk {0} akun,
Party Type is mandatory,Partai Type adalah wajib,
Party is mandatory,Partai adalah wajib,
Past Due Date,Tanggal Jatuh Tempo,
Patient,Pasien,
Patient Appointment,Penunjukan Pasien,
Patient Encounter,Pertemuan Pasien,
Patient not found,Pasien tidak ditemukan,
Pay Remaining,Bayar Sisa,
Pay {0} {1},Bayar {0} {1},
Payable,Hutang,
Payable Account,Akun Hutang,
Payment,Pembayaran,
Payment Cancelled. Please check your GoCardless Account for more details,Pembayaran dibatalkan. Silakan periksa Akun GoCardless Anda untuk lebih jelasnya,
Payment Confirmation,Konfirmasi pembayaran,
Payment Document,Dokumen Pembayaran,
Payment Due Date,Tanggal Jatuh Tempo Pembayaran,
Payment Entries {0} are un-linked,Entries pembayaran {0} adalah un-linked,
Payment Entry,Masuk pembayaran,
Payment Entry already exists,Masuk pembayaran sudah ada,
Payment Entry has been modified after you pulled it. Please pull it again.,Entri pembayaran telah dimodifikasi setelah Anda menariknya. Silakan menariknya lagi.,
Payment Entry is already created,Entri Pembayaran sudah dibuat,
Payment Failed. Please check your GoCardless Account for more details,Pembayaran gagal. Silakan periksa Akun GoCardless Anda untuk lebih jelasnya,
Payment Gateway,Gerbang pembayaran,
"Payment Gateway Account not created, please create one manually.","Gateway Akun pembayaran tidak dibuat, silakan membuat satu secara manual.",
Payment Gateway Name,Nama Gateway Pembayaran,
Payment Mode,Mode Pembayaran,
Payment Receipt Note,Pembayaran Penerimaan Catatan,
Payment Request,Permintaan pembayaran,
Payment Request for {0},Permintaan Pembayaran untuk {0},
Payment Tems,Tems Pembayaran,
Payment Term,Jangka waktu pembayaran,
Payment Terms,Syarat pembayaran,
Payment Terms Template,Template Persyaratan Pembayaran,
Payment Terms based on conditions,Ketentuan Pembayaran berdasarkan kondisi,
Payment Type,Jenis Pembayaran,
"Payment Type must be one of Receive, Pay and Internal Transfer","Jenis Pembayaran harus menjadi salah satu Menerima, Pay dan Internal Transfer",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Pembayaran terhadap {0} {1} tidak dapat lebih besar dari Posisi Jumlah {2},
Payment request {0} created,Permintaan pembayaran {0} dibuat,
Payments,2. Payment (Pembayaran),
Payroll Payable,Payroll Hutang,
Payslip,Payslip,
Pending Activities,Kegiatan Tertunda,
Pending Amount,Jumlah Pending,
Pending Leaves,Cuti Yang Belum Disetujui,
Pending Qty,Qty Tertunda,
Pending Quantity,Kuantitas yang Tertunda,
Pending Review,Pending Ulasan,
Pending activities for today,Kegiatan tertunda untuk hari ini,
Pension Funds,Dana pensiun,
Percentage Allocation should be equal to 100%,Persentase Alokasi harus sama dengan 100%,
Perception Analysis,Analisis Persepsi,
Period,periode,
Period Closing Entry,Periode Penutupan Entri,
Period Closing Voucher,Voucher Tutup Periode,
Periodicity,Periode,
Personal Details,Data pribadi,
Pharmaceutical,Farmasi,
Pharmaceuticals,Farmasi,
Physician,Dokter,
Place Of Supply (State/UT),Tempat Persediaan (Negara Bagian / UT),
Place Order,Order,
Plan Name,Nama rencana,
Plan for maintenance visits.,Rencana kunjungan pemeliharaan.,
Planned Qty,Qty Planning,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Direncanakan Qty: Kuantitas, yang, Work Order telah dinaikkan, tetapi sedang menunggu untuk diproduksi.",
Planning,Perencanaan,
Plants and Machineries,Tanaman dan Mesin,
Please Set Supplier Group in Buying Settings.,Harap Setel Grup Pemasok di Setelan Beli.,
Please add a Temporary Opening account in Chart of Accounts,Harap tambahkan akun Pembukaan Sementara di Bagan Akun,
Please add the account to root level Company - ,Silakan tambahkan akun ke Perusahaan tingkat root -,
Please check Multi Currency option to allow accounts with other currency,Silakan periksa opsi Mata multi untuk memungkinkan account dengan mata uang lainnya,
Please click on 'Generate Schedule',Silahkan klik 'Menghasilkan Jadwal',
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Silahkan klik 'Menghasilkan Jadwal' untuk mengambil Serial yang ditambahkan untuk Item {0},
Please click on 'Generate Schedule' to get schedule,Silahkan klik 'Menghasilkan Jadwal' untuk mendapatkan jadwal,
Please create purchase receipt or purchase invoice for the item {0},Harap buat tanda terima pembelian atau beli faktur untuk item {0},
Please define grade for Threshold 0%,Harap tentukan nilai untuk Threshold 0%,
Please enable Applicable on Booking Actual Expenses,Harap aktifkan Berlaku pada Pemesanan Biaya Aktual,
Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Harap aktifkan Berlaku pada Pesanan Pembelian dan Berlaku pada Pemesanan Biaya Aktual,
Please enable pop-ups,Aktifkan pop-up,
Please enter 'Is Subcontracted' as Yes or No,Entrikan 'Apakah subkontrak' sebagai Ya atau Tidak,
Please enter API Consumer Key,Silakan masukkan Kunci Konsumen API,
Please enter API Consumer Secret,Silakan masukkan Rahasia Konsumen API,
Please enter Account for Change Amount,Silahkan masukkan account untuk Perubahan Jumlah,
Please enter Approving Role or Approving User,Entrikan Menyetujui Peran atau Menyetujui Pengguna,
Please enter Cost Center,Harap Masukan Jenis Biaya Pusat,
Please enter Delivery Date,Harap masukkan Tanggal Pengiriman,
Please enter Employee Id of this sales person,Cukup masukkan Id Karyawan Sales Person ini,
Please enter Expense Account,Masukan Entrikan Beban Akun,
Please enter Item Code to get Batch Number,Masukkan Item Code untuk mendapatkan Nomor Batch,
Please enter Item Code to get batch no,Entrikan Item Code untuk mendapatkan bets tidak,
Please enter Item first,Entrikan Stok Barang terlebih dahulu,
Please enter Maintaince Details first,Cukup masukkan Maintaince Detail terlebih dahulu,
Please enter Planned Qty for Item {0} at row {1},Entrikan Planned Qty untuk Item {0} pada baris {1},
Please enter Preferred Contact Email,Silahkan masukkan Kontak Email Utama,
Please enter Production Item first,Entrikan Produksi Stok Barang terlebih dahulu,
Please enter Purchase Receipt first,Cukup masukkan Nota Penerimaan terlebih dahulu,
Please enter Receipt Document,Masukkan Dokumen Penerimaan,
Please enter Reference date,Harap masukkan tanggal Referensi,
Please enter Reqd by Date,Masukkan Reqd menurut Tanggal,
Please enter Woocommerce Server URL,Silakan masukkan URL Woocommerce Server,
Please enter Write Off Account,Cukup masukkan Write Off Akun,
Please enter atleast 1 invoice in the table,Entrikan minimal 1 faktur dalam tabel,
Please enter company first,Silahkan masukkan perusahaan terlebih dahulu,
Please enter company name first,Silahkan masukkan nama perusahaan terlebih dahulu,
Please enter default currency in Company Master,Entrikan mata uang default di Perusahaan Guru,
Please enter message before sending,Entrikan pesan sebelum mengirimnya,
Please enter parent cost center,Entrikan pusat biaya orang tua,
Please enter quantity for Item {0},Mohon masukkan untuk Item {0},
Please enter relieving date.,Silahkan masukkan menghilangkan date.,
Please enter valid Financial Year Start and End Dates,Entrikan Tahun Mulai berlaku Keuangan dan Tanggal Akhir,
Please enter valid email address,Harap masukkan alamat email yang benar,
Please enter {0} first,Entrikan {0} terlebih dahulu,
Please fill in all the details to generate Assessment Result.,Silakan isi semua detail untuk menghasilkan Hasil Penilaian.,
Please identify/create Account (Group) for type - {0},Harap identifikasi / buat Akun (Grup) untuk tipe - {0},
Please identify/create Account (Ledger) for type - {0},Harap identifikasi / buat Akun (Buku Besar) untuk tipe - {0},
Please login as another user to register on Marketplace,Harap 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.,Pastikan Anda benar-benar ingin menghapus semua transaksi untuk perusahaan ini. Data master Anda akan tetap seperti itu. Tindakan ini tidak bisa dibatalkan.,
Please mention Basic and HRA component in Company,Harap sebutkan komponen Dasar dan HRA di Perusahaan,
Please mention Round Off Account in Company,Sebutkan Round Off Akun/ Akun Pembulatan di Perusahaan,
Please mention Round Off Cost Center in Company,Sebutkan Putaran Off Biaya Pusat di Perusahaan,
Please mention no of visits required,Harap menyebutkan tidak ada kunjungan yang diperlukan,
Please mention the Lead Name in Lead {0},Harap sebutkan Nama Prospek di Prospek {0},
Please pull items from Delivery Note,Silakan tarik item dari Pengiriman Note,
Please register the SIREN number in the company information file,Silakan daftar nomor SIREN di file informasi perusahaan,
Please remove this Invoice {0} from C-Form {1},Hapus Invoice ini {0} dari C-Form {1},
Please save the patient first,Tolong simpan pasien dulu,
Please save the report again to rebuild or update,Harap simpan laporan lagi untuk membangun kembali atau memperbarui,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Silakan pilih Jumlah Alokasi, Faktur Jenis dan Faktur Nomor di minimal satu baris",
Please select Apply Discount On,Silakan pilih Terapkan Diskon Pada,
Please select BOM against item {0},Silahkan pilih BOM terhadap item {0},
Please select BOM for Item in Row {0},Silakan pilih BOM untuk Item di Row {0},
Please select BOM in BOM field for Item {0},Silakan pilih BOM BOM di lapangan untuk Item {0},
Please select Category first,Silahkan pilih Kategori terlebih dahulu,
Please select Charge Type first,Silakan pilih Mengisi Tipe terlebih dahulu,
Please select Company,Silakan pilih Perusahaan,
Please select Company and Posting Date to getting entries,Silakan pilih Perusahaan dan Tanggal Posting untuk mendapatkan entri,
Please select Company first,Silakan pilih Perusahaan terlebih dahulu,
Please select Completion Date for Completed Asset Maintenance Log,Silakan pilih Tanggal Penyelesaian untuk Pemeriksaan Pemeliharaan Aset Selesai,
Please select Completion Date for Completed Repair,Silakan pilih Tanggal Penyelesaian untuk Perbaikan Selesai,
Please select Course,Silakan pilih Kursus,
Please select Drug,Silakan pilih Obat,
Please select Existing Company for creating Chart of Accounts,Silakan pilih Perusahaan yang ada untuk menciptakan Bagan Akun,
Please select Healthcare Service,Silakan pilih Layanan Kesehatan,
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","Silahkan pilih barang yang ""Barang Stok"" nya  ""Tidak"" dan ""Barang Jualan"" nya ""Ya"", serta tidak ada Bundel Produk lainnya",
Please select Maintenance Status as Completed or remove Completion Date,Harap pilih Status Pemeliharaan sebagai Selesai atau hapus Tanggal Penyelesaian,
Please select Party Type first,Silakan pilih jenis pihak terlebih dahulu,
Please select Patient,Silakan pilih Pasien,
Please select Patient to get Lab Tests,Silakan pilih Pasien untuk mendapatkan Tes Laboratorium,
Please select Posting Date before selecting Party,Silakan pilih Posting Tanggal sebelum memilih Partai,
Please select Posting Date first,Silakan pilih Posting Tanggal terlebih dahulu,
Please select Price List,Silakan pilih Daftar Harga,
Please select Program,Silahkan pilih Program,
Please select Qty against item {0},Silakan pilih Qty terhadap item {0},
Please select Sample Retention Warehouse in Stock Settings first,Silahkan pilih Sampel Retention Warehouse di Stock Settings terlebih dahulu,
Please select Start Date and End Date for Item {0},Silakan pilih Tanggal Mulai dan Tanggal Akhir untuk Item {0},
Please select Student Admission which is mandatory for the paid student applicant,Silakan pilih Student Admission yang wajib diisi pemohon uang pelajar,
Please select a BOM,Silahkan pilih BOM,
Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Silakan pilih Batch for Item {0}. Tidak dapat menemukan satu bets yang memenuhi persyaratan ini,
Please select a Company,Silakan pilih sebuah Perusahaan,
Please select a batch,Silakan pilih satu batch,
Please select a field to edit from numpad,Harap pilih bidang yang akan diedit dari numpad,
Please select a table,Silahkan pilih sebuah tabel,
Please select a valid Date,Silakan pilih tanggal yang valid,
Please select a value for {0} quotation_to {1},Silakan pilih nilai untuk {0} quotation_to {1},
Please select a warehouse,Silahkan pilih gudang,
Please select at least one domain.,Pilih setidaknya satu domain.,
Please select correct account,Silakan pilih akun yang benar,
Please select date,Silakan pilih tanggal,
Please select item code,Silahkan pilih kode Stok Barang,
Please select month and year,Silakan pilih bulan dan tahun,
Please select the Company,Silahkan pilih Perusahaan,
Please select the Multiple Tier Program type for more than one collection rules.,Silakan pilih tipe Program Multi Tier untuk lebih dari satu aturan koleksi.,
Please select the assessment group other than 'All Assessment Groups',Harap pilih kelompok penilaian selain &#39;Semua Kelompok Penilaian&#39;,
Please select the document type first,Silakan pilih jenis dokumen terlebih dahulu,
Please select weekly off day,Silakan pilih dari hari mingguan,
Please select {0},Silahkan pilih {0},
Please select {0} first,Silahkan pilih {0} terlebih dahulu,
Please set 'Apply Additional Discount On',Silahkan mengatur &#39;Terapkan Diskon tambahan On&#39;,
Please set 'Asset Depreciation Cost Center' in Company {0},Silahkan mengatur &#39;Biaya Penyusutan Asset Center di Perusahaan {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Silahkan mengatur &#39;Gain / Loss Account pada Asset Disposal&#39; di Perusahaan {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Setel Akun di Gudang {0} atau Akun Inventaris Default di Perusahaan {1},
Please set B2C Limit in GST Settings.,Harap atur Batas B2C di Setelan GST.,
Please set Company,Harap set Perusahaan,
Please set Company filter blank if Group By is 'Company',Harap tentukan filter Perusahaan jika Group By &#39;Company&#39;,
Please set Default Payroll Payable Account in Company {0},Silahkan mengatur default Payroll Hutang Akun di Perusahaan {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Silahkan mengatur Penyusutan Akun terkait Aset Kategori {0} atau Perusahaan {1},
Please set GST Accounts in GST Settings,Harap setel akun GST di GST Settings,
Please set Hotel Room Rate on {},Harap atur Tarif Kamar Hotel di {},
Please set Number of Depreciations Booked,Silakan mengatur Jumlah Penyusutan Dipesan,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Harap tetapkan Akun Gain / Loss Exchange yang Belum Direalisasi di Perusahaan {0},
Please set User ID field in an Employee record to set Employee Role,Silakan set ID lapangan Pengguna dalam catatan Karyawan untuk mengatur Peran Karyawan,
Please set a default Holiday List for Employee {0} or Company {1},Silahkan mengatur default Liburan Daftar Karyawan {0} atau Perusahaan {1},
Please set account in Warehouse {0},Harap setel akun di Gudang {0},
Please set an active menu for Restaurant {0},Harap atur menu aktif untuk Restoran {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Harap tetapkan akun terkait dalam Kategori Pemotongan Pajak {0} terhadap Perusahaan {1},
Please set at least one row in the Taxes and Charges Table,Harap setel setidaknya satu baris di Tabel Pajak dan Biaya,
Please set default Cash or Bank account in Mode of Payment {0},Silakan set Cash standar atau rekening Bank Mode Pembayaran {0},
Please set default account in Salary Component {0},Silakan set account default di Komponen Gaji {0},
Please set default customer in Restaurant Settings,Harap tetapkan pelanggan default di Pengaturan Restoran,
Please set default {0} in Company {1},Silahkan mengatur default {0} di Perusahaan {1},
Please set filter based on Item or Warehouse,Silahkan mengatur filter berdasarkan Barang atau Gudang,
Please set leave policy for employee {0} in Employee / Grade record,Silakan tetapkan kebijakan cuti untuk karyawan {0} dalam catatan Karyawan / Kelas,
Please set recurring after saving,Silahkan mengatur berulang setelah menyimpan,
Please set the Customer Address,Silakan atur Alamat Pelanggan,
Please set the Default Cost Center in {0} company.,Harap atur Default Cost Center di {0} perusahaan.,
Please set the Email ID for the Student to send the Payment Request,Harap atur ID Email untuk Siswa untuk mengirim Permintaan Pembayaran,
Please set the Item Code first,Harap set Kode Item terlebih dahulu,
Please set the Payment Schedule,Silakan atur Jadwal Pembayaran,
Please set {0} for address {1},Silakan atur {0} untuk alamat {1},
Please setup Students under Student Groups,Tolong atur Siswa di Kelompok Siswa,
Please specify Company,Silakan tentukan Perusahaan,
Please specify Company to proceed,Silahkan tentukan Perusahaan untuk melanjutkan,
Please specify a valid 'From Case No.',Silakan tentukan valid 'Dari Kasus No',
Please specify a valid Row ID for row {0} in table {1},Tentukan Row ID berlaku untuk baris {0} dalam tabel {1},
Please specify at least one attribute in the Attributes table,Silakan tentukan setidaknya satu atribut dalam tabel Atribut,
Please specify currency in Company,Silakan tentukan mata uang di Perusahaan,
Please specify either Quantity or Valuation Rate or both,Silakan tentukan baik Quantity atau Tingkat Penilaian atau keduanya,
Please specify from/to range,Silakan tentukan dari / ke berkisar,
Please supply the specified items at the best possible rates,Silakan memasok barang-barang tertentu dengan tarif terbaik,
Please wait 3 days before resending the reminder.,Tunggu 3 hari sebelum mengirim ulang pengingat.,
Point of Sale,Point of Sale,
Point-of-Sale,POS,
Point-of-Sale Profile,Profil Point of Sale,
Portal,Pintu gerbang,
Possible Supplier,mungkin Pemasok,
Postal Expenses,Beban pos,
Posting Date,Tanggal Posting,
Posting Date cannot be future date,Posting Tanggal tidak bisa tanggal di masa depan,
Posting Time,Posting Waktu,
Posting date and posting time is mandatory,Tanggal posting dan posting waktu adalah wajib,
Posting timestamp must be after {0},Posting timestamp harus setelah {0},
Potential opportunities for selling.,Potensi peluang untuk menjadi penjualan.,
Practitioner Schedule,Jadwal Praktisi,
Pre Sales,Pra penjualan,
Preference,Pilihan,
Prescribed Procedures,Prosedur yang Ditetapkan,
Prescription,Resep,
Prescription Dosage,Dosis Resep,
Prescription Duration,Durasi Resep,
Prescriptions,Prescription,
Prev,Sebelumnya,
Preview,Pratayang,
Previous Financial Year is not closed,Sebelumnya Keuangan Tahun tidak tertutup,
Price,Harga,
Price List,Daftar Harga,
Price List Currency not selected,Daftar Harga Mata uang tidak dipilih,
Price List Rate,Daftar Harga Tingkat,
Price List master.,List Master Daftar Harga,
Price List must be applicable for Buying or Selling,Harga List harus berlaku untuk Membeli atau Jual,
Price List {0} is disabled or does not exist,Daftar Harga {0} dinonaktifkan atau tidak ada,
Price or product discount slabs are required,Diperlukan harga atau potongan diskon produk,
Pricing,Harga,
Pricing Rule,Aturan Harga,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Rule harga terlebih dahulu dipilih berdasarkan 'Terapkan On' lapangan, yang dapat Stok Barang, Stok Barang Grup atau Merek.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Rule harga dibuat untuk menimpa Daftar Harga / mendefinisikan persentase diskon, berdasarkan beberapa kriteria.",
Pricing Rule {0} is updated,Aturan Harga {0} diperbarui,
Pricing Rules are further filtered based on quantity.,Aturan Harga selanjutnya disaring berdasarkan kuantitas.,
Primary Address Details,Rincian Alamat Utama,
Primary Contact Details,Rincian Kontak Utama,
Print Format,Format Cetak,
Print IRS 1099 Forms,Cetak Formulir IRS 1099,
Print Report Card,Cetak Kartu Laporan,
Print Settings,Pengaturan Cetak,
Print and Stationery,Cetak dan Alat Tulis,
Print settings updated in respective print format,Pengaturan cetak diperbarui dalam format cetak terkait,
Print taxes with zero amount,Cetak pajak dengan jumlah nol,
Printing and Branding,Percetakan dan Branding,
Private Equity,Private Equity,
Procedure,Prosedur,
Process Day Book Data,Memproses Data Buku Hari,
Process Master Data,Memproses Data Master,
Processing Chart of Accounts and Parties,Memproses Bagan Akun dan Pihak,
Processing Items and UOMs,Memproses Item dan UOM,
Processing Party Addresses,Memproses Alamat Pihak,
Processing Vouchers,Memproses Voucher,
Procurement,Pembelian,
Produced Qty,Diproduksi qty,
Product,Produk,
Product Bundle,Bundel produk,
Product Search,Cari produk,
Production,Produksi,
Production Item,Produksi Stok Barang,
Products,Produk,
Profit and Loss,Laba rugi,
Profit for the year,keuntungan untuk tahun ini,
Program,Program,
Program in the Fee Structure and Student Group {0} are different.,Program di Struktur Biaya dan Kelompok Pelajar {0} berbeda.,
Program {0} does not exist.,Program {0} tidak ada.,
Program: ,Program:,
Progress % for a task cannot be more than 100.,Kemajuan% untuk tugas tidak bisa lebih dari 100.,
Project Collaboration Invitation,Proyek Kolaborasi Undangan,
Project Id,Proyek Id,
Project Manager,Manager Project,
Project Name,Nama Proyek,
Project Start Date,Tanggal Project Mulai,
Project Status,Status proyek,
Project Summary for {0},Ringkasan Proyek untuk {0},
Project Update.,Pembaruan Proyek.,
Project Value,Nilai Proyek,
Project activity / task.,Kegiatan proyek / tugas.,
Project master.,Master Proyek,
Project-wise data is not available for Quotation,Data proyek-bijaksana tidak tersedia untuk Quotation,
Projected,Proyeksi,
Projected Qty,Proyeksi qty,
Projected Quantity Formula,Formula Kuantitas yang Diproyeksikan,
Projects,Proyek,
Proposal Writing,Penulisan Proposal,
Proposal/Price Quote,Penawaran / Penawaran Harga,
Prospecting,Pencarian,
Provisional Profit / Loss (Credit),Laba Provisional / Rugi (Kredit),
Publications,Publikasi,
Publish Items on Website,Publikasikan Produk di Website,
Published,Diterbitkan,
Publishing,Penerbitan,
Purchase,Pembelian,
Purchase Amount,Jumlah pembelian,
Purchase Date,Tanggal Pembelian,
Purchase Invoice,Faktur Pembelian,
Purchase Invoice {0} is already submitted,Faktur Pembelian {0} sudah Terkirim,
Purchase Manager,Manajer Pembelian,
Purchase Master Manager,Master Manajer Pembelian,
Purchase Order,Purchase Order,
Purchase Order Amount,Jumlah Pesanan Pembelian,
Purchase Order Amount(Company Currency),Jumlah Pesanan Pembelian (Mata Uang Perusahaan),
Purchase Order Date,Tanggal Pemesanan Pembelian,
Purchase Order Items not received on time,Item Pesanan Pembelian tidak diterima tepat waktu,
Purchase Order number required for Item {0},Nomor Purchase Order yang diperlukan untuk Item {0},
Purchase Order to Payment,Order Pembelian untuk Dibayar,
Purchase Order {0} is not submitted,Order Pembelian {0} tidak terkirim,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Pesanan Pembelian tidak diizinkan untuk {0} karena kartu skor berdiri {1}.,
Purchase Orders given to Suppliers.,Order Pembelian yang diberikan kepada Supplier.,
Purchase Price List,Pembelian Daftar Harga,
Purchase Receipt,Nota Penerimaan,
Purchase Receipt {0} is not submitted,Nota Penerimaan {0} tidak Terkirim,
Purchase Tax Template,Pembelian Template Pajak,
Purchase User,Pembelian Pengguna,
Purchase orders help you plan and follow up on your purchases,Pesanan pembelian membantu Anda merencanakan dan menindaklanjuti pembelian Anda,
Purchasing,pembelian,
Purpose must be one of {0},Tujuan harus menjadi salah satu {0},
Qty,Kuantitas,
Qty To Manufacture,Kuantitas untuk diproduksi,
Qty Total,Jumlah Qty,
Qty for {0},Kuantitas untuk {0},
Qualification,Kualifikasi,
Quality,Kualitas,
Quality Action,Aksi Kualitas,
Quality Goal.,Tujuan Kualitas.,
Quality Inspection,Inspeksi Mutu,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Pemeriksaan Kualitas: {0} tidak dikirimkan untuk item: {1} berturut-turut {2},
Quality Management,Manajemen mutu,
Quality Meeting,Rapat Kualitas,
Quality Procedure,Prosedur Mutu,
Quality Procedure.,Prosedur Mutu.,
Quality Review,Ulasan Kualitas,
Quantity,Kuantitas,
Quantity for Item {0} must be less than {1},Kuantitas untuk Item {0} harus kurang dari {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Kuantitas di baris {0} ({1}) harus sama dengan jumlah yang diproduksi {2},
Quantity must be less than or equal to {0},Kuantitas harus kurang dari atau sama dengan {0},
Quantity must not be more than {0},Kuantitas tidak boleh lebih dari {0},
Quantity required for Item {0} in row {1},Kuantitas yang dibutuhkan untuk Item {0} di baris {1},
Quantity should be greater than 0,Kuantitas harus lebih besar dari 0,
Quantity to Make,Kuantitas untuk Membuat,
Quantity to Manufacture must be greater than 0.,Kuantitas untuk Produksi harus lebih besar dari 0.,
Quantity to Produce,Kuantitas untuk Menghasilkan,
Quantity to Produce can not be less than Zero,Kuantitas untuk Menghasilkan tidak boleh kurang dari Nol,
Query Options,Opsi Query,
Queued for replacing the BOM. It may take a few minutes.,Antri untuk mengganti BOM. Mungkin perlu beberapa menit.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,"Diantrikan untuk memperbaharui harga terakhir di ""Bill of Material"". Akan memakan waktu beberapa menit.",
Quick Journal Entry,Jurnal Entry Cepat,
Quot Count,"Jumlah ""Penawaran""",
Quot/Lead %,Penawaran/Prospek %,
Quotation,Penawaran,
Quotation {0} is cancelled,Quotation {0} dibatalkan,
Quotation {0} not of type {1},Penawaran {0} bukan jenis {1},
Quotations,Penawaran,
"Quotations are proposals, bids you have sent to your customers","Penawaran adalah proposal, tawaran yang anda kirim kepada pelanggan",
Quotations received from Suppliers.,Penawaran Diterima dari Supplier,
Quotations: ,Penawaran:,
Quotes to Leads or Customers.,Penawaran terhadap Prospek atau Pelanggan,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ tidak diizinkan untuk {0} karena kartu skor berdiri dari {1},
Range,Jarak,
Rate,Harga,
Rate:,Menilai:,
Rating,penilaian,
Raw Material,Bahan baku,
Raw Materials,Bahan baku,
Raw Materials cannot be blank.,Bahan Baku tidak boleh kosong.,
Re-open,Re-terbuka,
Read blog,Baca blog,
Read the ERPNext Manual,Baca Pedoman ERPNEXT,
Reading Uploaded File,Membaca File yang Diunggah,
Real Estate,Real Estate,
Reason For Putting On Hold,Alasan untuk Puting On Hold,
Reason for Hold,Alasan Penahanan,
Reason for hold: ,Alasan penahanan:,
Receipt,Penerimaan,
Receipt document must be submitted,Dokumen tanda terima harus diserahkan,
Receivable,Piutang,
Receivable Account,Akun Piutang,
Received,Diterima,
Received On,Diterima pada,
Received Quantity,Jumlah yang Diterima,
Received Stock Entries,Entri Saham yang Diterima,
Receiver List is empty. Please create Receiver List,Receiver List kosong. Silakan membuat Receiver List,
Recipients,Penerima,
Reconcile,Rekonsiliasi,
"Record of all communications of type email, phone, chat, visit, etc.","Catatan dari semua komunikasi email, telepon, chatting, kunjungan, dll",
Records,Catatan,
Redirect URL,redirect URL,
Ref,Ref,
Ref Date,Ref Tanggal,
Reference,Referensi,
Reference #{0} dated {1},Referensi # {0} tanggal {1},
Reference Date,Referensi Tanggal,
Reference Doctype must be one of {0},Referensi DOCTYPE harus menjadi salah satu {0},
Reference Document,Dokumen referensi,
Reference Document Type,Tipe Dokumen Referensi,
Reference No & Reference Date is required for {0},Referensi ada & Referensi Tanggal diperlukan untuk {0},
Reference No and Reference Date is mandatory for Bank transaction,Referensi ada dan Tanggal referensi wajib untuk transaksi Bank,
Reference No is mandatory if you entered Reference Date,Referensi ada adalah wajib jika Anda memasukkan Referensi Tanggal,
Reference No.,Nomor referensi.,
Reference Number,Nomor referensi,
Reference Type,Referensi Type,
"Reference: {0}, Item Code: {1} and Customer: {2}","Referensi: {0}, Kode Item: {1} dan Pelanggan: {2}",
References,Referensi,
Refresh Token,Segarkan Token,
Register,Daftar,
Rejected,Ditolak,
Related,Terkait,
Relation with Guardian1,Hubungan dengan Guardian1,
Relation with Guardian2,Hubungan dengan Guardian2,
Release Date,Tanggal rilis,
Reload Linked Analysis,Reload Linked Analysis,
Remaining,sisa,
Remaining Balance,Saldo yang tersisa,
Remarks,Keterangan,
Reminder to update GSTIN Sent,Pengingat untuk memperbarui GSTIN Terkirim,
Remove item if charges is not applicable to that item,Hapus item jika biaya ini tidak berlaku untuk item,
Removed items with no change in quantity or value.,Item dihapus dengan tidak ada perubahan dalam jumlah atau nilai.,
Reopen,Membuka lagi,
Reorder Level,Tingkat Re-Order,
Reorder Qty,Susun ulang Qty,
Repeat Customer Revenue,Pendapatan Pelanggan Rutin,
Repeat Customers,Pelanggan Rutin,
Replace BOM and update latest price in all BOMs,Ganti BOM dan perbarui harga terbaru di semua BOM,
Replied,Menjawab,
Report,Laporan,
Report Type,Jenis Laporan,
Report Type is mandatory,Jenis Laporan adalah wajib,
Reports,Laporan,
Reqd By Date,Reqd By Date,
Reqd Qty,Reqd Qty,
Request for Quotation,Permintaan Quotation,
Request for Quotations,Permintaan Kutipan,
Request for Raw Materials,Permintaan Bahan Baku,
Request for purchase.,Form Permintaan pembelian.,
Request for quotation.,Meminta kutipan.,
Requested Qty,Diminta Qty,
"Requested Qty: Quantity requested for purchase, but not ordered.","Diminta Qty: Jumlah yang diminta untuk pembelian, tetapi tidak memerintahkan.",
Requesting Site,Situs yang Meminta,
Requesting payment against {0} {1} for amount {2},Meminta pembayaran terhadap {0} {1} untuk jumlah {2},
Requestor,Pemohon,
Required On,Diperlukan Pada,
Required Qty,Qty Diperlukan,
Required Quantity,Kuantitas yang Diperlukan,
Reschedule,Penjadwalan ulang,
Research,Penelitian,
Research & Development,Penelitian & Pengembangan,
Researcher,Peneliti,
Resend Payment Email,Kirim Ulang Email Pembayaran,
Reserve Warehouse,Gudang Cadangan,
Reserved Qty,Reserved Qty,
Reserved Qty for Production,Dicadangkan Jumlah Produksi,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Jumlah Pesanan untuk Produksi: Jumlah bahan baku untuk membuat barang-barang manufaktur.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Reserved Qty: Jumlah memerintahkan untuk dijual, tapi tidak disampaikan.",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Reserved Warehouse adalah wajib untuk Item {0} dalam Bahan Baku yang disediakan,
Reserved for manufacturing,Dicadangkan untuk manufaktur,
Reserved for sale,Dicadangkan untuk dijual,
Reserved for sub contracting,Dicadangkan untuk sub kontrak,
Resistant,Tahan,
Resolve error and upload again.,Selesaikan kesalahan dan unggah lagi.,
Rest Of The World,Rest of The World,
Restart Subscription,Mulai Ulang Langganan,
Restaurant,Restoran,
Result Date,Tanggal Hasil,
Result already Submitted,Hasil sudah dikirim,
Resume,Lanjut,
Retail,Eceran,
Retail & Wholesale,Retail & Grosir,
Retail Operations,Operasi Ritel,
Retained Earnings,Laba Ditahan,
Retention Stock Entry,Entri Saham Retensi,
Retention Stock Entry already created or Sample Quantity not provided,Entry Stok Retensi sudah dibuat atau Jumlah Sampel tidak disediakan,
Return,Retur,
Return / Credit Note,Nota Retur / Kredit,
Return / Debit Note,Nota Retur / Debit,
Returns,Retur,
Reverse Journal Entry,Masuk Balik Jurnal,
Review Invitation Sent,Tinjau Undangan Dikirim,
Review and Action,Ulasan dan Aksi,
Rooms Booked,Kamar yang dipesan,
Root Company,Perusahaan Root,
Root Type,Akar Type,
Root Type is mandatory,Tipe Dasar adalah wajib,
Root cannot be edited.,Root tidak dapat diedit.,
Root cannot have a parent cost center,Root tidak dapat memiliki pusat biaya orang tua,
Round Off,Membulatkan,
Rounded Total,Rounded Jumlah,
Route,Rute,
Row # {0}: ,Row # {0}:,
Row # {0}: Batch No must be same as {1} {2},Row # {0}: Batch ada harus sama {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Baris # {0}: Tidak dapat mengembalikan lebih dari {1} untuk Barang {2},
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Baris # {0}: Tarif tidak boleh lebih besar dari tarif yang digunakan di {1} {2},
Row # {0}: Serial No is mandatory,Row # {0}: Serial ada adalah wajib,
Row # {0}: Serial No {1} does not match with {2} {3},Row # {0}: Serial No {1} tidak sesuai dengan {2} {3},
Row #{0} (Payment Table): Amount must be negative,Baris # {0} (Tabel Pembayaran): Jumlah harus negatif,
Row #{0} (Payment Table): Amount must be positive,Baris # {0} (Tabel Pembayaran): Jumlah harus positif,
Row #{0}: Account {1} does not belong to company {2},Baris # {0}: Akun {1} bukan milik perusahaan {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Baris # {0}: Alokasi Jumlah tidak boleh lebih besar dari jumlah yang terutang.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Row # {0}: Aset {1} tidak dapat disampaikan, itu sudah {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Baris # {0}: Tidak dapat menetapkan Nilai jika jumlahnya lebih besar dari jumlah yang ditagih untuk Item {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Row # {0}: tanggal Jarak {1} tidak bisa sebelum Cek Tanggal {2},
Row #{0}: Duplicate entry in References {1} {2},Baris # {0}: Entri duplikat di Referensi {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Baris # {0}: Tanggal Pengiriman yang diharapkan tidak boleh sebelum Tanggal Pemesanan 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 Entri {1} tidak memiliki akun {2} atau sudah cocok dengan voucher lain,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Row # {0}: Tidak diperbolehkan untuk mengubah Supplier sebagai Purchase Order sudah ada,
Row #{0}: Please set reorder quantity,Row # {0}: Silakan mengatur kuantitas menyusun ulang,
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Silakan tentukan Serial ada untuk Item {1},
Row #{0}: Qty increased by 1,Baris # {0}: Jumlah bertambah 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Tingkat harus sama dengan {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Baris # {0}: Jenis Dokumen Referensi harus menjadi salah satu Klaim Biaya atau Entri Jurnal,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: Dokumen Referensi Type harus menjadi salah satu Purchase Order, Faktur Pembelian atau Journal Entri",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Baris # {0}: Jumlah yang ditolak tidak dapat dimasukkan dalam Retur Pembelian,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Ditolak Gudang adalah wajib terhadap ditolak Stok Barang {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Baris # {0}: Reqd by Date tidak boleh sebelum Tanggal Transaksi,
Row #{0}: Set Supplier for item {1},Row # {0}: Set Supplier untuk item {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Baris # {0}: Status harus {1} untuk Diskon Faktur {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","Baris # {0}: Kumpulan {1} hanya memiliki {2} qty. Silakan pilih batch lain yang memiliki {3} qty available atau membagi baris menjadi beberapa baris, untuk mengirimkan / mengeluarkan dari beberapa batch",
Row #{0}: Timings conflicts with row {1},Row # {0}: konflik Timing dengan baris {1},
Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} tidak bisa menjadi negatif untuk item {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Row ada {0}: Jumlah dapat tidak lebih besar dari Pending Jumlah terhadap Beban Klaim {1}. Pending Jumlah adalah {2},
Row {0} : Operation is required against the raw material item {1},Baris {0}: Operasi diperlukan terhadap item bahan baku {1},
Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Baris {0} # Item {1} tidak dapat ditransfer lebih dari {2} terhadap Pesanan Pembelian {3},
Row {0}: Activity Type is mandatory.,Row {0}: Jenis Kegiatan adalah wajib.,
Row {0}: Advance against Customer must be credit,Baris {0}: Uang muka dari Pelanggan harus kredit,
Row {0}: Advance against Supplier must be debit,Row {0}: Muka melawan Supplier harus mendebet,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Row {0}: Dialokasikan jumlah {1} harus kurang dari atau sama dengan jumlah entri Pembayaran {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Baris {0}: Alokasi jumlah {1} harus kurang dari atau sama dengan faktur jumlah yang luar biasa {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Baris {0}: Entri perekam sudah ada untuk gudang ini {1},
Row {0}: Bill of Materials not found for the Item {1},Row {0}: Bill of Material tidak ditemukan Item {1},
Row {0}: Conversion Factor is mandatory,Row {0}: Faktor Konversi adalah wajib,
Row {0}: Cost center is required for an item {1},Baris {0}: Pusat biaya diperlukan untuk item {1},
Row {0}: Credit entry can not be linked with a {1},Baris {0}: entry Kredit tidak dapat dihubungkan dengan {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Row {0}: Mata dari BOM # {1} harus sama dengan mata uang yang dipilih {2},
Row {0}: Debit entry can not be linked with a {1},Baris {0}: Debit masuk tidak dapat dihubungkan dengan {1},
Row {0}: Depreciation Start Date is required,Baris {0}: Tanggal Mulai Penyusutan 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}: Kurs adalah wajib,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Baris {0}: Nilai yang Diharapkan Setelah Berguna Hidup harus kurang dari Jumlah Pembelian Kotor,
Row {0}: From Time and To Time is mandatory.,Row {0}: Dari Waktu dan To Waktu adalah wajib.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Row {0}: Dari Waktu dan Untuk Waktu {1} adalah tumpang tindih dengan {2},
Row {0}: From time must be less than to time,Baris {0}: Dari waktu ke waktu harus kurang dari ke waktu,
Row {0}: Hours value must be greater than zero.,Row {0}: nilai Jam harus lebih besar dari nol.,
Row {0}: Invalid reference {1},Row {0}: referensi tidak valid {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Row {0}: Partai / Rekening tidak sesuai dengan {1} / {2} di {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Row {0}: Partai Jenis dan Partai diperlukan untuk Piutang / Hutang akun {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Baris {0}: Pembayaran terhadap Penjualan / Purchase Order harus selalu ditandai sebagai muka,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Baris {0}: Silakan periksa 'Apakah Muka' terhadap Rekening {1} jika ini adalah sebuah entri muka.,
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Baris {0}: Harap atur di Alasan Pembebasan Pajak dalam Pajak Penjualan dan Biaya,
Row {0}: Please set the Mode of Payment in Payment Schedule,Baris {0}: Silakan tetapkan Mode Pembayaran dalam Jadwal Pembayaran,
Row {0}: Please set the correct code on Mode of Payment {1},Baris {0}: Silakan tetapkan kode yang benar pada Mode Pembayaran {1},
Row {0}: Qty is mandatory,Row {0}: Qty adalah wajib,
Row {0}: Quality Inspection rejected for item {1},Baris {0}: Pemeriksaan Kualitas ditolak untuk barang {1},
Row {0}: UOM Conversion Factor is mandatory,Row {0}: UOM Faktor Konversi adalah wajib,
Row {0}: select the workstation against the operation {1},Baris {0}: pilih workstation terhadap operasi {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Baris {0}: {1} Nomor seri diperlukan untuk Item {2}. Anda telah memberikan {3}.,
Row {0}: {1} must be greater than 0,Baris {0}: {1} harus lebih besar dari 0,
Row {0}: {1} {2} does not match with {3},Baris {0}: {1} {2} tidak cocok dengan {3},
Row {0}:Start Date must be before End Date,Row {0}: Tanggal awal harus sebelum Tanggal Akhir,
Rows with duplicate due dates in other rows were found: {0},Baris dengan tanggal jatuh tempo ganda di baris lain ditemukan: {0},
Rules for adding shipping costs.,Aturan untuk menambahkan biaya pengiriman.,
Rules for applying pricing and discount.,Aturan untuk menerapkan harga dan diskon.,
S.O. No.,SO No,
SGST Amount,Jumlah SGST,
SO Qty,SO Qty,
Safety Stock,Persediaan Aman,
Salary,Gaji,
Salary Slip submitted for period from {0} to {1},Slip Gaji dikirim untuk periode dari {0} sampai {1},
Salary Structure must be submitted before submission of Tax Ememption Declaration,Struktur Gaji harus diserahkan sebelum pengajuan Deklarasi Pembebasan Pajak,
Sales,Penjualan,
Sales Account,Akun penjualan,
Sales Expenses,Beban Penjualan,
Sales Funnel,Penjualan Saluran,
Sales Invoice,Faktur penjualan,
Sales Invoice {0} has already been submitted,Faktur Penjualan {0} telah terkirim,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Faktur Penjualan {0} harus dibatalkan sebelum membatalkan Sales Order ini,
Sales Manager,Sales Manager,
Sales Master Manager,Master Manajer Penjualan,
Sales Order,Order penjualan,
Sales Order Item,Stok barang Order Penjualan,
Sales Order required for Item {0},Sales Order yang diperlukan untuk Item {0},
Sales Order to Payment,Nota Penjualan untuk Pembayaran,
Sales Order {0} is not submitted,Order Penjualan {0} tidak Terkirim,
Sales Order {0} is not valid,Order Penjualan {0} tidak valid,
Sales Order {0} is {1},Sales Order {0} adalah {1},
Sales Orders,Order Penjualan,
Sales Partner,Mitra Penjualan,
Sales Pipeline,Pipeline penjualan,
Sales Price List,Daftar Harga Jual,
Sales Return,Retur Penjualan,
Sales Summary,Ringkasan Penjualan,
Sales Tax Template,Template Pajak Penjualan,
Sales Team,Tim Penjualan,
Sales User,Penjualan Pengguna,
Sales and Returns,Penjualan dan Pengembalian,
Sales campaigns.,Kampanye penjualan.,
Sales orders are not available for production,Pesanan penjualan tidak tersedia untuk produksi,
Salutation,Panggilan,
Same Company is entered more than once,Perusahaan yang sama dimasukkan lebih dari sekali,
Same item cannot be entered multiple times.,Item yang sama tidak dapat dimasukkan beberapa kali.,
Same supplier has been entered multiple times,Pemasok yang sama telah dimasukkan beberapa kali,
Sample Collection,Koleksi Sampel,
Sample quantity {0} cannot be more than received quantity {1},Kuantitas sampel {0} tidak boleh lebih dari jumlah yang diterima {1},
Sanctioned,Sanksi,
Sand,Pasir,
Saturday,Sabtu,
Saving {0},Hemat {0},
Scan Barcode,Pindai Kode Batang,
Schedule,Jadwal,
Schedule Admission,Jadwalkan Pendaftaran,
Schedule Course,Jadwal Kursus,
Schedule Date,Jadwal Tanggal,
Schedule Discharge,Jadwal Pengiriman,
Scheduled,Dijadwalkan,
Scheduled Upto,Terjadwal Upto,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Jadwal untuk {0} tumpang tindih, apakah Anda ingin melanjutkan setelah melewati slot yang tumpang tindih?",
Score cannot be greater than Maximum Score,Skor tidak dapat lebih besar dari skor maksimum,
Scorecards,Scorecard,
Scrapped,membatalkan,
Search,Pencarian,
Search Results,Hasil Pencarian,
Search Sub Assemblies,Cari Barang Sub Assembly,
"Search by item code, serial number, batch no or barcode","Cari berdasarkan kode barang, nomor seri, no batch atau barcode",
"Seasonality for setting budgets, targets etc.","Musiman untuk menetapkan anggaran, target dll",
Secret Key,Kunci rahasia,
Secretary,Sekretaris,
Section Code,Kode Bagian,
Secured Loans,Pinjaman Aman,
Securities & Commodity Exchanges,Efek & Bursa Komoditi,
Securities and Deposits,Efek Saham dan Deposit,
See All Articles,Lihat Semua Artikel,
See all open tickets,Lihat semua tiket terbuka,
See past orders,Lihat pesanan sebelumnya,
See past quotations,Lihat kutipan sebelumnya,
Select,Pilih,
Select Alternate Item,Pilih Item Alternatif,
Select Attribute Values,Pilih Nilai Atribut,
Select BOM,Pilih BOM,
Select BOM and Qty for Production,Pilih BOM dan Qty untuk Produksi,
"Select BOM, Qty and For Warehouse","Pilih BOM, Jumlah dan Untuk Gudang",
Select Batch,Pilih Batch,
Select Batch Numbers,Pilih Batch Numbers,
Select Brand...,Pilih Merek ...,
Select Company,Pilih Perusahaan,
Select Company...,Pilih Perusahaan ...,
Select Customer,Pilih Pelanggan,
Select Days,Pilih hari,
Select Default Supplier,Pilih Default Pemasok,
Select DocType,Pilih DocType,
Select Fiscal Year...,Pilih Tahun Anggaran ...,
Select Item (optional),Pilih Item (opsional),
Select Items based on Delivery Date,Pilih Item berdasarkan Tanggal Pengiriman,
Select Items to Manufacture,Pilih Produk untuk Industri,
Select Loyalty Program,Pilih Program Loyalitas,
Select Patient,Pilih Pasien,
Select Possible Supplier,Pilih Kemungkinan Pemasok,
Select Quantity,Pilih Kuantitas,
Select Serial Numbers,Pilih Nomor Seri,
Select Target Warehouse,Pilih Target Warehouse,
Select Warehouse...,Pilih Gudang ...,
Select an account to print in account currency,Pilih akun yang akan dicetak dalam mata uang akun,
Select at least one value from each of the attributes.,Pilih setidaknya satu nilai dari masing-masing atribut.,
Select change amount account,Pilih akun berubah jumlah,
Select company first,Pilih perusahaan terlebih dahulu,
Select students manually for the Activity based Group,Pilih siswa secara manual untuk Activity based Group,
Select the customer or supplier.,Pilih pelanggan atau pemasok.,
Select the nature of your business.,Pilih jenis bisnis anda.,
Select the program first,Pilih programnya dulu,
Select to add Serial Number.,Pilih untuk menambahkan Nomor Seri.,
Select your Domains,Pilih Bidang Usaha Anda,
Selected Price List should have buying and selling fields checked.,Daftar Harga yang Dipilih harus memiliki bidang penjualan dan pembelian yang dicentang.,
Sell,Menjual,
Selling,Penjualan,
Selling Amount,Nilai Penjualan,
Selling Price List,Daftar Harga Jual,
Selling Rate,Tingkat penjualan,
"Selling must be checked, if Applicable For is selected as {0}","Jual harus diperiksa, jika Berlaku Untuk dipilih sebagai {0}",
Send Grant Review Email,Kirim Email Peninjauan Donasi,
Send Now,Kirim sekarang,
Send SMS,Kirim SMS,
Send mass SMS to your contacts,Kirim SMS massal ke kontak Anda,
Sensitivity,Kepekaan,
Sent,Terkirim,
Serial No and Batch,Serial dan Batch,
Serial No is mandatory for Item {0},Serial ada adalah wajib untuk Item {0},
Serial No {0} does not belong to Batch {1},Serial No {0} bukan milik Batch {1},
Serial No {0} does not belong to Delivery Note {1},Serial ada {0} bukan milik Pengiriman Note {1},
Serial No {0} does not belong to Item {1},Serial ada {0} bukan milik Stok Barang {1},
Serial No {0} does not belong to Warehouse {1},Serial ada {0} bukan milik Gudang {1},
Serial No {0} does not belong to any Warehouse,Serial ada {0} bukan milik Gudang setiap,
Serial No {0} does not exist,Serial ada {0} tidak ada,
Serial No {0} has already been received,Serial ada {0} telah diterima,
Serial No {0} is under maintenance contract upto {1},Serial ada {0} berada di bawah kontrak pemeliharaan upto {1},
Serial No {0} is under warranty upto {1},Serial ada {0} masih dalam garansi upto {1},
Serial No {0} not found,Serial No {0} tidak ditemukan,
Serial No {0} not in stock,No. Seri {0} tidak tersedia,
Serial No {0} quantity {1} cannot be a fraction,Serial ada {0} kuantitas {1} tak bisa menjadi pecahan,
Serial Nos Required for Serialized Item {0},Nomor Seri Diperlukan untuk Barang Bernomor Seri {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Nomor Seri: {0} sudah dirujuk dalam Faktur Penjualan: {1},
Serial Numbers,Nomor serial,
Serial Numbers in row {0} does not match with Delivery Note,Nomor Seri di baris {0} tidak cocok dengan Catatan Pengiriman,
Serial no {0} has been already returned,Serial no {0} telah dikembalikan,
Serial number {0} entered more than once,Serial number {0} masuk lebih dari sekali,
Serialized Inventory,Persediaan memiliki serial,
Series Updated,Nomor Seri Diperbarui,
Series Updated Successfully,Nomor Seri Berhasil Diperbarui,
Series is mandatory,Series adalah wajib,
Service,Jasa,
Service Level Agreement,Persetujuan tingkat layanan,
Service Level Agreement.,Persetujuan tingkat layanan.,
Service Level.,Tingkat Layanan.,
Service Stop Date cannot be after Service End Date,Tanggal Penghentian Layanan tidak boleh setelah Tanggal Berakhir Layanan,
Service Stop Date cannot be before Service Start Date,Tanggal Penghentian Layanan tidak boleh sebelum Tanggal Mulai Layanan,
Services,Jasa,
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Set Nilai Default seperti Perusahaan, Mata Uang, Tahun Anggaran Current, dll",
Set Details,Setel Detail,
Set New Release Date,Setel Tanggal Rilis Baru,
Set Project and all Tasks to status {0}?,Tetapkan Proyek dan semua Tugas ke status {0}?,
Set Status,Setel Status,
Set Tax Rule for shopping cart,Set Peraturan Pajak untuk keranjang belanja,
Set as Closed,Tetapkan untuk ditutup,
Set as Completed,Setel sebagai Selesai,
Set as Lost,Set as Hilang/Kalah,
Set as Open,Ditetapkan sebagai Terbuka,
Set default inventory account for perpetual inventory,Tetapkan akun inventaris default untuk persediaan perpetual,
Set this if the customer is a Public Administration company.,Tetapkan ini jika pelanggan adalah perusahaan Administrasi Publik.,
Set {0} in asset category {1} or company {2},Setel {0} dalam kategori aset {1} atau perusahaan {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Mengatur Acara untuk {0}, karena karyawan yang melekat di bawah Penjualan Orang tidak memiliki User ID {1}",
Setting defaults,Pengaturan default,
Setting up Email,Mengatur Email,
Setting up Email Account,Mengatur Akun Email,
Setting up Employees,Persiapan Karyawan,
Setting up Taxes,Persiapan Pajak,
Setting up company,Mendirikan perusahaan,
Settings,Pengaturan,
"Settings for online shopping cart such as shipping rules, price list etc.","Pengaturan untuk keranjang belanja online seperti aturan pengiriman, daftar harga dll",
Settings for website homepage,Pengaturan untuk homepage website,
Settings for website product listing,Pengaturan untuk daftar produk situs web,
Settled,Diselesaikan,
Setup Gateway accounts.,Rekening Gateway setup.,
Setup SMS gateway settings,Pengaturan gerbang Pengaturan SMS,
Setup cheque dimensions for printing,dimensi penyiapan cek untuk pencetakan,
Setup default values for POS Invoices,Tetapkan nilai default untuk Faktur POS,
Setup mode of POS (Online / Offline),Modus setup POS (Online / Offline),
Setup your Institute in ERPNext,Siapkan Institut Anda di ERPNext,
Share Balance,Saldo Saham,
Share Ledger,Berbagi Ledger,
Share Management,Manajemen Saham,
Share Transfer,Bagikan Transfer,
Share Type,Jenis saham,
Shareholder,Pemegang saham,
Ship To State,Kirim Ke Negara,
Shipments,Pengiriman,
Shipping Address,Alamat Pengiriman,
"Shipping Address does not have country, which is required for this Shipping Rule","Alamat Pengiriman tidak memiliki negara, yang diperlukan untuk Aturan Pengiriman ini",
Shipping rule only applicable for Buying,Aturan pengiriman hanya berlaku untuk Pembelian,
Shipping rule only applicable for Selling,Aturan pengiriman hanya berlaku untuk Penjualan,
Shopify Supplier,Pemasok Shopify,
Shopping Cart,Daftar Belanja,
Shopping Cart Settings,Pengaturan Keranjang Belanja,
Short Name,Nama pendek,
Shortage Qty,Kekurangan Jumlah,
Show Completed,Tampilkan Selesai,
Show Cumulative Amount,Tampilkan Jumlah Kumulatif,
Show Open,Tampilkan Terbuka,
Show Opening Entries,Tampilkan Entri Pembukaan,
Show Payment Details,Tampilkan Rincian Pembayaran,
Show Return Entries,Tampilkan Entri Kembali,
Show Variant Attributes,Tampilkan Variant Attributes,
Show Variants,Tampilkan Varian,
Show closed,Tampilkan ditutup,
Show exploded view,Tampilkan tampilan yang meledak,
Show only POS,Hanya tampilkan POS,
Show unclosed fiscal year's P&L balances,Tampilkan P &amp; saldo L tahun fiskal tertutup ini,
Show zero values,Tampilkan nilai nol,
Silt,Lanau,
Single Variant,Varian tunggal,
Single unit of an Item.,Unit tunggal Item.,
"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Lolos Keluar Alokasi untuk karyawan berikut, karena catatan Keluaran sudah ada untuk mereka. {0}",
Slideshow,Rangkai Salindia,
Slots for {0} are not added to the schedule,Slot untuk {0} tidak ditambahkan ke jadwal,
Small,Kecil,
Soap & Detergent,Sabun & Deterjen,
Software,Perangkat lunak,
Software Developer,Software Developer,
Softwares,software,
Soil compositions do not add up to 100,Komposisi tanah tidak bertambah hingga 100,
Sold,Terjual,
Some emails are invalid,Beberapa email tidak valid,
Some information is missing,Beberapa informasi yang hilang,
Something went wrong!,Ada yang salah!,
"Sorry, Serial Nos cannot be merged","Maaf, Nomor Seri tidak dapat digabungkan",
Source,Sumber,
Source Name,sumber Nama,
Source Warehouse,Sumber Gudang,
Source and Target Location cannot be same,Lokasi Sumber dan Target tidak boleh sama,
Source and target warehouse cannot be same for row {0},Sumber dan target gudang tidak bisa sama untuk baris {0},
Source and target warehouse must be different,Sumber dan gudang target harus berbeda,
Source of Funds (Liabilities),Sumber Dana (Kewajiban),
Source warehouse is mandatory for row {0},Sumber gudang adalah wajib untuk baris {0},
Specified BOM {0} does not exist for Item {1},Ditentukan BOM {0} tidak ada untuk Item {1},
Split,Membagi,
Split Batch,Split Batch,
Split Issue,Terbagi Masalah,
Sports,Olahraga,
Standard Buying,Standar Pembelian,
Standard Selling,Standard Jual,
Standard contract terms for Sales or Purchase.,Ketentuan kontrak standar untuk Penjualan atau Pembelian.,
Start Date,Tanggal Mulai,
Start Date of Agreement can't be greater than or equal to End Date.,Tanggal Mulai Perjanjian tidak boleh lebih dari atau sama dengan Tanggal Berakhir.,
Start Year,Mulai Tahun,
Start date should be less than end date for Item {0},Tanggal mulai harus kurang dari tanggal akhir untuk Item {0},
Start date should be less than end date for task {0},Tanggal mulai harus kurang dari tanggal akhir untuk tugas {0},
Start day is greater than end day in task '{0}',Hari mulai lebih besar dari hari akhir tugas &#39;{0}&#39;,
Start on,Mulai dari,
State,Negara,
State/UT Tax,Pajak Negara / UT,
Statement of Account,Laporan Rekening,
Status must be one of {0},Status harus menjadi salah satu {0},
Stock,persediaan,
Stock Adjustment,Penyesuaian Persediaan,
Stock Analytics,Analisis Persediaan,
Stock Assets,Asset Persediaan,
Stock Available,Stok Tersedia,
Stock Balance,Saldo Persediaan,
Stock Entries already created for Work Order ,Entri Saham sudah dibuat untuk Perintah Kerja,
Stock Entry,Entri Persediaan,
Stock Entry {0} created,Entri Persediaan {0} dibuat,
Stock Entry {0} is not submitted,Entri Persediaan {0} tidak terkirim,
Stock Expenses,Beban Persediaan,
Stock In Hand,Persediaan Di Tangan,
Stock Items,Barang Persediaan,
Stock Ledger,Buku Persediaan,
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Entri Buku Persediaan dan Entri GL diposting ulang untuk Nota Pembelian yang dipilih,
Stock Levels,Tingkat Persediaan,
Stock Liabilities,Hutang Persediaan,
Stock Qty,Jumlah Persediaan,
Stock Received But Not Billed,Persediaan Diterima Tapi Tidak Ditagih,
Stock Reports,Laporan Persediaan,
Stock Summary,Ringkasan Persediaan,
Stock Transactions,Transaksi Persediaan,
Stock UOM,UOM Persediaan,
Stock Value,Nilai Persediaan,
Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Saldo Persediaan di Batch {0} akan menjadi negatif {1} untuk Barang {2} di Gudang {3},
Stock cannot be updated against Delivery Note {0},Persediaan tidak dapat diperbarui terhadap Nota Pengiriman {0},
Stock cannot be updated against Purchase Receipt {0},Persediaan tidak dapat diperbarui terhadap Nota Pembelian {0},
Stock cannot exist for Item {0} since has variants,Persediaan tidak bisa muncul untuk Barang {0} karena memiliki varian,
Stock transactions before {0} are frozen,Transaksi persediaan sebelum {0} dibekukan,
Stop,Berhenti,
Stopped,Terhenti,
"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Pesanan Kerja yang Berhenti tidak dapat dibatalkan, Hapus terlebih dahulu untuk membatalkan",
Stores,Toko,
Student,Mahasiswa,
Student Activity,Kegiatan Siswa,
Student Address,Alamat siswa,
Student Admissions,Penerimaan Mahasiswa,
Student Attendance,Kehadiran Mahasiswa,
"Student Batches help you track attendance, assessments and fees for students","Batch Student membantu Anda melacak kehadiran, penilaian dan biaya untuk siswa",
Student Email Address,Alamat Email Siswa,
Student Email ID,ID Email Siswa,
Student Group,Kelompok Mahasiswa,
Student Group Strength,Kekuatan Kelompok Mahasiswa,
Student Group is already updated.,Kelompok Siswa sudah diperbarui.,
Student Group: ,Kelompok Mahasiswa:,
Student ID,Identitas Siswa,
Student ID: ,Identitas Siswa:,
Student LMS Activity,Kegiatan LMS Siswa,
Student Mobile No.,Mahasiswa Nomor Ponsel,
Student Name,Nama siswa,
Student Name: ,Nama siswa:,
Student Report Card,Kartu Laporan Siswa,
Student is already enrolled.,Mahasiswa sudah terdaftar.,
Student {0} - {1} appears Multiple times in row {2} & {3},Mahasiswa {0} - {1} muncul Beberapa kali berturut-turut {2} &amp; {3},
Student {0} does not belong to group {1},Siswa {0} bukan milik grup {1},
Student {0} exist against student applicant {1},Mahasiswa {0} ada terhadap pemohon mahasiswa {1},
"Students are at the heart of the system, add all your students","Siswa di jantung dari sistem, menambahkan semua siswa Anda",
Sub Assemblies,Sub Assemblies,
Sub Type,Sub Type,
Sub-contracting,Sub-kontraktor,
Subcontract,Kontrak tambahan,
Subject,Perihal,
Submit,Kirim,
Submit this Work Order for further processing.,Kirimkan Pesanan Kerja ini untuk diproses lebih lanjut.,
Subscription,Berlangganan,
Subscription Management,Manajemen Langganan,
Subscriptions,Langganan,
Subtotal,Subtotal,
Successful,Sukses,
Successfully Reconciled,Berhasil direkonsiliasi,
Successfully Set Supplier,Berhasil Set Supplier,
Successfully created payment entries,Berhasil membuat entri pembayaran,
Successfully deleted all transactions related to this company!,Berhasil dihapus semua transaksi yang terkait dengan perusahaan ini!,
Sum of Scores of Assessment Criteria needs to be {0}.,Jumlah Skor Kriteria Penilaian perlu {0}.,
Sum of points for all goals should be 100. It is {0},Jumlah poin untuk semua tujuan harus 100. Ini adalah {0},
Summary,Ringkasan,
Summary for this month and pending activities,Ringkasan untuk bulan ini dan kegiatan yang tertunda,
Summary for this week and pending activities,Ringkasan untuk minggu ini dan kegiatan yang tertunda,
Sunday,Minggu,
Suplier,Suplier,
Supplier,Supplier,
Supplier Group,Grup Pemasok,
Supplier Group master.,Master Grup Pemasok.,
Supplier Id,Supplier Id,
Supplier Invoice Date cannot be greater than Posting Date,Pemasok Faktur Tanggal tidak dapat lebih besar dari Posting Tanggal,
Supplier Invoice No,Nomor Faktur Supplier,
Supplier Invoice No exists in Purchase Invoice {0},Pemasok Faktur ada ada di Purchase Invoice {0},
Supplier Name,Nama Supplier,
Supplier Part No,Pemasok Bagian Tidak,
Supplier Quotation,Supplier Quotation,
Supplier Scorecard,Supplier Scorecard,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Supplier Gudang wajib untuk Pembelian Penerimaan sub-kontrak,
Supplier database.,Database Supplier.,
Supplier {0} not found in {1},Pemasok {0} tidak ditemukan di {1},
Supplier(s),Supplier (s),
Supplies made to UIN holders,Persediaan dibuat untuk pemegang UIN,
Supplies made to Unregistered Persons,Persediaan dibuat untuk Orang Tidak Terdaftar,
Suppliies made to Composition Taxable Persons,Suplemen yang dibuat untuk Komposisi Orang Kena Pajak,
Supply Type,Jenis Suplai,
Support,Support,
Support Analytics,Dukungan Analytics,
Support Settings,Pengaturan Dukungan,
Support Tickets,Tiket Dukungan,
Support queries from customers.,Permintaan dukungan dari pelanggan.,
Susceptible,Rentan,
Sync has been temporarily disabled because maximum retries have been exceeded,Sinkronisasi telah dinonaktifkan sementara karena percobaan ulang maksimum telah terlampaui,
Syntax error in condition: {0},Kesalahan sintaks dalam kondisi: {0},
Syntax error in formula or condition: {0},kesalahan sintaks dalam formula atau kondisi: {0},
System Manager,System Manager,
TDS Rate %,Nilai TDS%,
Tap items to add them here,Ketuk item untuk menambahkannya di sini,
Target,Sasaran,
Target ({}),Target ({}),
Target On,Sasaran On,
Target Warehouse,Target Gudang,
Target warehouse is mandatory for row {0},Target gudang adalah wajib untuk baris {0},
Task,Tugas,
Tasks,Tugas,
Tasks have been created for managing the {0} disease (on row {1}),Tugas telah dibuat untuk mengelola {0} penyakit (pada baris {1}),
Tax,PPN,
Tax Assets,Aset Pajak,
Tax Category,Kategori Pajak,
Tax Category for overriding tax rates.,Kategori Pajak untuk mengesampingkan tarif pajak.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items","Kategori Pajak telah diubah menjadi ""Total"" karena semua barang adalah barang non-persediaan",
Tax ID,Id pajak,
Tax Id: ,Id pajak:,
Tax Rate,Tarif Pajak,
Tax Rule Conflicts with {0},Aturan pajak Konflik dengan {0},
Tax Rule for transactions.,Aturan Pajak untuk transaksi.,
Tax Template is mandatory.,Template pajak adalah wajib.,
Tax Withholding rates to be applied on transactions.,Tarif Pajak Pemotongan yang akan diterapkan pada transaksi.,
Tax template for buying transactions.,Template pajak untuk membeli transaksi.,
Tax template for item tax rates.,Templat pajak untuk tarif pajak barang.,
Tax template for selling transactions.,Template Pajak transaksi penjualan,
Taxable Amount,Jumlah kena pajak,
Taxes,PPN,
Technology,Teknologi,
Telecommunications,Telekomunikasi,
Telephone Expenses,Beban Telepon,
Television,Televisi,
Template Name,Nama template,
Template of terms or contract.,Template istilah atau kontrak.,
Templates of supplier scorecard criteria.,Template dari kriteria scorecard pemasok.,
Templates of supplier scorecard variables.,Template dari variabel scorecard pemasok.,
Templates of supplier standings.,Template dari klasemen pemasok.,
Temporarily on Hold,Sementara di Tahan,
Temporary,Sementara,
Temporary Accounts,Akun Sementara,
Temporary Opening,Akun Pembukaan Sementara,
Terms and Conditions,Syarat dan ketentuan,
Terms and Conditions Template,Syarat dan Ketentuan Template,
Territory,Wilayah,
Thank you for your business!,Terima kasih untuk bisnis Anda!,
The 'From Package No.' field must neither be empty nor it's value less than 1.,&#39;Dari Paket No.&#39; lapangan tidak boleh kosong atau nilainya kurang dari 1.,
The Brand,Merek,
The Item {0} cannot have Batch,Item {0} tidak dapat memiliki Batch,
The Loyalty Program isn't valid for the selected company,Program Loyalitas tidak berlaku untuk perusahaan yang dipilih,
The Payment Term at row {0} is possibly a duplicate.,Syarat Pembayaran di baris {0} mungkin merupakan duplikat.,
The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Jangka Tanggal Akhir tidak dapat lebih awal dari tanggal Term Start. Perbaiki tanggal dan coba 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.,Jangka Tanggal Akhir tidak bisa lebih lambat dari Akhir Tahun Tanggal Tahun Akademik yang istilah terkait (Tahun Akademik {}). Perbaiki tanggal dan coba 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.,Jangka Tanggal Mulai tidak dapat lebih awal dari Tahun Tanggal Mulai Tahun Akademik yang istilah terkait (Tahun Akademik {}). Perbaiki tanggal dan coba lagi.,
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Akhir Tahun Tanggal tidak dapat lebih awal dari Tahun Tanggal Mulai. Perbaiki tanggal dan coba 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 berbeda dari jumlah yang dihitung dari semua paket pembayaran: {1}. Pastikan ini benar sebelum mengirimkan dokumen.,
The field From Shareholder cannot be blank,Bidang Dari Pemegang Saham tidak boleh kosong,
The field To Shareholder cannot be blank,Bidang Ke Pemegang Saham tidak boleh kosong,
The fields From Shareholder and To Shareholder cannot be blank,Bidang Dari Pemegang Saham dan Pemegang Saham tidak boleh kosong,
The folio numbers are not matching,Nomor folio tidak sesuai,
The holiday on {0} is not between From Date and To Date,Liburan di {0} bukan antara Dari Tanggal dan To Date,
The name of the institute for which you are setting up this system.,Nama lembaga yang Anda menyiapkan sistem ini.,
The name of your company for which you are setting up this system.,Nama perusahaan Anda yang Anda sedang mengatur sistem ini.,
The number of shares and the share numbers are inconsistent,Jumlah saham dan jumlah saham tidak konsisten,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Akun gateway pembayaran dalam rencana {0} berbeda dari akun gateway pembayaran dalam permintaan pembayaran ini,
The selected BOMs are not for the same item,BOMs yang dipilih tidak untuk item yang sama,
The selected item cannot have Batch,Item yang dipilih tidak dapat memiliki Batch,
The seller and the buyer cannot be the same,Penjual dan pembeli tidak bisa sama,
The shareholder does not belong to this company,Pemegang saham bukan milik perusahaan ini,
The shares already exist,Sahamnya sudah ada,
The shares don't exist with the {0},Saham tidak ada 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 telah ditetapkan sebagai pekerjaan latar belakang. Jika ada masalah pada pemrosesan di latar belakang, sistem akan menambahkan komentar tentang kesalahan Rekonsiliasi Saham ini dan kembali ke tahap Konsep",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Kemudian Aturan Harga disaring berdasarkan Pelanggan, Kelompok Pelanggan, Wilayah, Pemasok, Jenis Pemasok, Kampanye, Mitra Penjualan, dll.",
"There are inconsistencies between the rate, no of shares and the amount calculated","Ada ketidakkonsistenan antara tingkat, tidak ada saham dan jumlah yang dihitung",
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.,Ada beberapa faktor pengumpulan berdasarkan jumlah total yang dibelanjakan. Tetapi faktor konversi untuk penebusan akan selalu sama untuk semua tingkatan.,
There can only be 1 Account per Company in {0} {1},Hanya ada 1 Akun per Perusahaan di {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Hanya ada satu Peraturan Pengiriman Kondisi dengan nilai kosong atau 0 untuk ""To Nilai""",
There is not enough leave balance for Leave Type {0},Tidak ada saldo cuti cukup bagi Leave Type {0},
There is nothing to edit.,Tidak ada yang 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.","Sepertinya ada masalah dengan konfigurasi GoCardless server. Jangan khawatir, jika terjadi kegagalan, jumlah itu akan dikembalikan ke akun Anda.",
There were errors creating Course Schedule,Ada kesalahan dalam membuat Jadwal Kursus,
There were errors.,Ada kesalahan.,
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,Stok Barang ini adalah Template dan tidak dapat digunakan dalam transaksi. Item atribut akan disalin ke dalam varian kecuali 'Tidak ada Copy' diatur,
This Item is a Variant of {0} (Template).,Item ini adalah Variant dari {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 penagihan di masa mendatang. Anda yakin ingin membatalkan langganan ini?,
This covers all scorecards tied to this Setup,Ini mencakup semua scorecard yang terkait dengan Setup ini,
This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Dokumen ini adalah lebih dari batas oleh {0} {1} untuk item {4}. Apakah Anda membuat yang lain {3} terhadap yang sama {2}?,
This is a root account and cannot be edited.,Ini adalah account root dan tidak dapat diedit.,
This is a root customer group and cannot be edited.,Ini adalah kelompok pelanggan paling dasar dan tidak dapat diedit.,
This is a root department and cannot be edited.,Ini adalah bagian root dan tidak dapat diedit.,
This is a root healthcare service unit and cannot be edited.,Ini adalah unit layanan perawatan akar dan tidak dapat diedit.,
This is a root item group and cannot be edited.,Ini adalah kelompok Stok Barang akar dan tidak dapat diedit.,
This is a root sales person and cannot be edited.,Ini adalah orang penjualan akar dan tidak dapat diedit.,
This is a root supplier group and cannot be edited.,Ini adalah grup pemasok akar dan tidak dapat diedit.,
This is a root territory and cannot be edited.,Ini adalah wilayah akar dan tidak dapat diedit.,
This is an example website auto-generated from ERPNext,Ini adalah situs contoh auto-dihasilkan dari ERPNext,
This is based on logs against this Vehicle. See timeline below for details,Hal ini didasarkan pada log terhadap kendaraan ini. Lihat timeline di bawah untuk rincian,
This is based on stock movement. See {0} for details,Hal ini didasarkan pada pergerakan persediaan. Lihat {0} untuk rincian,
This is based on the Time Sheets created against this project,Hal ini didasarkan pada Lembar Waktu diciptakan terhadap proyek ini,
This is based on the attendance of this Student,Hal ini didasarkan pada kehadiran mahasiswa ini,
This is based on transactions against this Customer. See timeline below for details,Hal ini didasarkan pada transaksi terhadap pelanggan ini. Lihat timeline di bawah untuk rincian,
This is based on transactions against this Healthcare Practitioner.,Ini didasarkan pada transaksi terhadap Praktisi Perawatan Kesehatan ini.,
This is based on transactions against this Patient. See timeline below for details,Hal ini didasarkan pada transaksi melawan Pasien ini. Lihat garis waktu di bawah untuk rinciannya,
This is based on transactions against this Sales Person. See timeline below for details,Ini didasarkan pada transaksi terhadap Penjual ini. Lihat garis waktu di bawah ini untuk detailnya,
This is based on transactions against this Supplier. See timeline below for details,Hal ini didasarkan pada transaksi terhadap Pemasok ini. Lihat timeline di bawah untuk rincian,
This {0} conflicts with {1} for {2} {3},Ini {0} konflik dengan {1} untuk {2} {3},
Time Sheet for manufacturing.,Waktu Lembar untuk manufaktur.,
Time Tracking,Pelacakan waktu,
"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Slot waktu dilewati, slot {0} ke {1} tumpang tindih slot yang ada {2} ke {3}",
Time slots added,Slot waktu ditambahkan,
Time(in mins),Waktu (dalam menit),
Timer,Timer,
Timer exceeded the given hours.,Timer melebihi jam yang ditentukan.,
Timesheet,Timesheet,
Timesheet for tasks.,Absen untuk tugas-tugas.,
Timesheet {0} is already completed or cancelled,Absen {0} sudah selesai atau dibatalkan,
Timesheets,timesheets,
"Timesheets help keep track of time, cost and billing for activites done by your team","Timesheets membantu melacak waktu, biaya dan penagihan untuk kegiatan yang dilakukan oleh tim Anda",
Titles for print templates e.g. Proforma Invoice.,Judul untuk mencetak template misalnya Proforma Invoice.,
To,Untuk,
To Address 1,Untuk Alamat 1,
To Address 2,Untuk Alamat 2,
To Bill,Bill,
To Date,Untuk Tanggal,
To Date cannot be before From Date,Sampai saat ini tidak dapat sebelumnya dari tanggal,
To Date cannot be less than From Date,To Date tidak boleh kurang dari From Date,
To Date must be greater than From Date,To Date harus lebih besar dari From Date,
To Date should be within the Fiscal Year. Assuming To Date = {0},Untuk tanggal harus dalam Tahun Anggaran. Dengan asumsi To Date = {0},
To Datetime,Untuk Datetime,
To Deliver,Mengirim,
To Deliver and Bill,Untuk Dikirim dan Ditagih,
To Fiscal Year,Untuk Tahun Fiskal,
To GSTIN,Ke GSTIN,
To Party Name,Ke Nama Pihak,
To Pin Code,Untuk Kode Pin,
To Place,Meletakkan,
To Receive,Menerima,
To Receive and Bill,Untuk Diterima dan Ditagih,
To State,Untuk menyatakan,
To Warehouse,Untuk Gudang,
To create a Payment Request reference document is required,Untuk membuat dokumen referensi Request Request diperlukan,
"To filter based on Party, select Party Type first","Untuk menyaring berdasarkan Party, pilih Partai Ketik terlebih dahulu",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Untuk mendapatkan yang terbaik dari ERPNext, kami menyarankan Anda mengambil beberapa waktu dan menonton video ini membantu.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Untuk mencakup pajak berturut-turut {0} di tingkat Stok Barang, pajak dalam baris {1} juga harus disertakan",
To make Customer based incentive schemes.,Untuk membuat skema insentif berbasis Pelanggan.,
"To merge, following properties must be same for both items","Untuk bergabung, sifat berikut harus sama untuk kedua item",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Untuk tidak berlaku Rule Harga dalam transaksi tertentu, semua Aturan Harga yang berlaku harus dinonaktifkan.",
"To set this Fiscal Year as Default, click on 'Set as Default'","Untuk mengatur Tahun Anggaran ini sebagai Default, klik 'Set as Default'",
To view logs of Loyalty Points assigned to a Customer.,Untuk melihat log dari Poin Loyalitas yang ditugaskan kepada Pelanggan.,
To {0},Untuk {0},
To {0} | {1} {2},Untuk {0} | {1} {2},
Toggle Filters,Toggle Filter,
Too many columns. Export the report and print it using a spreadsheet application.,Terlalu banyak kolom. Mengekspor laporan dan mencetaknya menggunakan aplikasi spreadsheet.,
Tools,Alat-alat,
Total (Credit),Total (Kredit),
Total (Without Tax),Total (Tanpa Pajak),
Total Achieved,Total Dicapai,
Total Actual,Total Aktual,
Total Allocated Leaves,Total Cuti Yang Dialokasikan,
Total Amount,Nilai Total,
Total Amount Credited,Jumlah Total Dikreditkan,
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Total Biaya Berlaku di Purchase meja Jenis Penerimaan harus sama dengan jumlah Pajak dan Biaya,
Total Budget,Total Anggaran,
Total Collected: {0},Total Dikumpulkan: {0},
Total Commission,Jumlah Nilai Komisi,
Total Contribution Amount: {0},Jumlah Kontribusi Total: {0},
Total Credit/ Debit Amount should be same as linked Journal Entry,Jumlah Kredit / Jumlah Debet harus sama dengan Entri Jurnal terkait,
Total Debit must be equal to Total Credit. The difference is {0},Jumlah Debit harus sama dengan total kredit. Perbedaannya adalah {0},
Total Invoiced Amount,Jumlah Total Tagihan,
Total Order Considered,Total Order Diperhitungkan,
Total Order Value,Nilai Total Order,
Total Outgoing,Total Outgoing,
Total Outstanding,Total Posisi,
Total Outstanding Amount,Jumlah Total Outstanding,
Total Outstanding: {0},Total Posisi: {0},
Total Paid Amount,Jumlah Total Dibayar,
Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Jumlah Pembayaran Total dalam Jadwal Pembayaran harus sama dengan Grand / Rounded Total,
Total Payments,Total Pembayaran,
Total Qty,Jumlah Qty,
Total Quantity,Jumlah total,
Total Revenue,Total pendapatan,
Total Student,Jumlah Siswa,
Total Target,Total Jumlah Target,
Total Tax,Total Pajak,
Total Taxable Amount,Jumlah Jumlah Kena Pajak,
Total Taxable Value,Total Nilai Kena Pajak,
Total Unpaid: {0},Total Tunggakan: {0},
Total Variance,Total Variance,
Total Weightage of all Assessment Criteria must be 100%,Total weightage semua Kriteria Penilaian harus 100%,
Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Total muka ({0}) terhadap Orde {1} tidak dapat lebih besar dari Grand Total ({2}),
Total advance amount cannot be greater than total claimed amount,Jumlah uang muka total tidak boleh lebih besar dari jumlah total yang diklaim,
Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Total hari cuti yang dialokasikan lebih dari alokasi maksimum {0} jenis cuti untuk karyawan {1} pada masa tersebut,
Total allocated leaves are more than days in the period,Jumlah cuti dialokasikan lebih dari hari pada periode,
Total allocated percentage for sales team should be 100,Persentase total yang dialokasikan untuk tim penjualan harus 100,
Total cannot be zero,Jumlah tidak boleh nol,
Total contribution percentage should be equal to 100,Total persentase kontribusi harus sama dengan 100,
Total hours: {0},Jumlah jam: {0},
Total {0} ({1}),Total {0} ({1}),
"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Total {0} untuk semua item adalah nol, mungkin Anda harus mengubah &#39;Distribusikan Biaya Berdasarkan&#39;",
Total(Amt),Total (Amt),
Total(Qty),Total (Qty),
Traceability,Lacak,
Track Leads by Lead Source.,Lacak Memimpin oleh Sumber Utama.,
Transaction,Transaksi,
Transaction Date,Transaction Tanggal,
Transaction Type,tipe transaksi,
Transaction currency must be same as Payment Gateway currency,Transaksi mata uang harus sama dengan Payment Gateway mata uang,
Transaction not allowed against stopped Work Order {0},Transaksi tidak diizinkan melawan Stop Work Order {0},
Transaction reference no {0} dated {1},referensi transaksi tidak ada {0} tertanggal {1},
Transactions,Transaksi,
Transactions can only be deleted by the creator of the Company,Transaksi hanya dapat dihapus oleh pencipta Perusahaan,
Transfer,Transfer,
Transfer Material,Transfer Material/Stok Barang,
Transfer Type,Jenis Transfer,
Transfer an asset from one warehouse to another,Mentransfer aset dari satu gudang ke yang lain,
Transfered,Ditransfer,
Transferred Quantity,Kuantitas yang Ditransfer,
Transport Receipt Date,Tanggal Penerimaan Transport,
Transport Receipt No,Tanda Terima Transportasi No,
Transportation,Transportasi,
Transporter ID,ID Transporter,
Transporter Name,Transporter Nama,
Travel Expenses,Biaya perjalanan,
Tree Type,Jenis Tingkat Tree,
Tree of Bill of Materials,Tree Bill of Material,
Tree of Item Groups.,Tree Item Grup.,
Tree of Procedures,Pohon Prosedur,
Tree of Quality Procedures.,Pohon Prosedur Kualitas.,
Tree of financial Cost Centers.,Pohon Pusat Biaya keuangan.,
Tree of financial accounts.,Pohon rekening keuangan.,
Treshold {0}% appears more than once,Treshold {0}% muncul lebih dari sekali,
Trial Period End Date Cannot be before Trial Period Start Date,Tanggal Akhir Periode Uji Coba Tidak boleh sebelum Tanggal Mulai Periode Uji Coba,
Trialling,Trialling,
Type of Business,Jenis bisnis,
Types of activities for Time Logs,Jenis kegiatan untuk Waktu Log,
UOM,UOM,
UOM Conversion factor is required in row {0},Faktor UOM Konversi diperlukan berturut-turut {0},
UOM coversion factor required for UOM: {0} in Item: {1},Faktor coversion UOM diperlukan untuk UOM: {0} di Item: {1},
URL,URL,
Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Tidak dapat menemukan nilai tukar untuk {0} sampai {1} untuk tanggal kunci {2}. Buat catatan Currency Exchange secara manual,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Tidak dapat menemukan skor mulai dari {0}. Anda harus memiliki nilai berdiri yang mencakup 0 sampai 100,
Unable to find variable: ,Tidak dapat menemukan variabel:,
Unblock Invoice,Bebaskan Blokir Faktur,
Uncheck all,Jangan tandai semua,
Unclosed Fiscal Years Profit / Loss (Credit),Tertutup Fiskal Tahun Laba / Rugi (Kredit),
Unit,Satuan,
Unit of Measure,Satuan Ukur,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Satuan Ukur {0} telah dimasukkan lebih dari sekali dalam Faktor Konversi Tabel,
Unknown,tidak diketahui,
Unpaid,Tunggakan,
Unsecured Loans,Pinjaman Tanpa Jaminan,
Unsubscribe from this Email Digest,Berhenti berlangganan dari Email Ringkasan ini,
Unsubscribed,Berhenti berlangganan,
Until,Sampai,
Unverified Webhook Data,Data Webhook Tidak Diverifikasi,
Update Account Name / Number,Perbarui Nama / Nomor Akun,
Update Account Number / Name,Perbarui Nomor / Nama Akun,
Update Cost,Perbarui Biaya,
Update Items,Perbarui Item,
Update Print Format,Perbarui Format Cetak,
Update bank payment dates with journals.,Perbarui tanggal pembayaran bank dengan jurnal.,
Update in progress. It might take a while.,Perbaruan sedang berlangsung. Mungkin perlu beberapa saat.,
Update rate as per last purchase,Perbarui tarif sesuai pembelian terakhir,
Update stock must be enable for the purchase invoice {0},Perbarui stok harus diaktifkan untuk faktur pembelian {0},
Updating Variants...,Memperbarui Varian ...,
Upload your letter head and logo. (you can edit them later).,Unggah kop surat dan logo. (Anda dapat mengubahnya nanti).,
Upper Income,Penghasilan Atas,
Use Sandbox,Gunakan Sandbox,
Used Leaves,Cuti Yang Telah Digunakan,
User,Pengguna,
User ID,ID Pengguna,
User ID not set for Employee {0},User ID tidak ditetapkan untuk Karyawan {0},
User Remark,Keterangan Pengguna,
User has not applied rule on the invoice {0},Pengguna belum menerapkan aturan pada faktur {0},
User {0} already exists,Pengguna {0} sudah ada,
User {0} created,Pengguna {0} dibuat,
User {0} does not exist,Pengguna {0} tidak ada,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Pengguna {0} tidak memiliki Profil POS default. Cek Default di Baris {1} untuk Pengguna ini.,
User {0} is already assigned to Employee {1},Pengguna {0} sudah ditugaskan untuk Karyawan {1},
User {0} is already assigned to Healthcare Practitioner {1},Pengguna {0} sudah ditugaskan untuk Praktisi Perawatan Kesehatan {1},
Users,Pengguna,
Utility Expenses,Beban Utilitas,
Valid From Date must be lesser than Valid Upto Date.,Tanggal Berlaku Sejak Tanggal harus lebih rendah dari Tanggal Upto Berlaku.,
Valid Till,Berlaku sampai,
Valid from and valid upto fields are mandatory for the cumulative,Valid dari dan bidang upto yang valid wajib untuk kumulatif,
Valid from date must be less than valid upto date,Valid dari tanggal harus kurang dari tanggal yang berlaku,
Valid till date cannot be before transaction date,Berlaku sampai tanggal tidak dapat dilakukan sebelum tanggal transaksi,
Validity,Keabsahan,
Validity period of this quotation has ended.,Masa berlaku dari kutipan ini telah berakhir.,
Valuation Rate,Tingkat Penilaian,
Valuation Rate is mandatory if Opening Stock entered,Tingkat Valuasi adalah wajib jika menggunakan Persediaan Pembukaan,
Valuation type charges can not marked as Inclusive,Jenis penilaian biaya tidak dapat ditandai sebagai Inklusif,
Value Or Qty,Nilai atau Qty,
Value Proposition,Proposisi Nilai,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Nilai untuk Atribut {0} harus berada dalam kisaran {1} ke {2} dalam penambahan {3} untuk Item {4},
Value must be between {0} and {1},Nilai harus antara {0} dan {1},
"Values of exempt, nil rated and non-GST inward supplies","Nilai pasokan masuk yang dikecualikan, nihil, dan non-GST",
Variance,Variance,
Variance ({}),Varians ({}),
Variant,Varian,
Variant Attributes,Atribut Varian,
Variant Based On cannot be changed,Varian Berdasarkan Pada tidak dapat diubah,
Variant Details Report,Laporan Detail Variant,
Variant creation has been queued.,Pembuatan varian telah antri.,
Vehicle Expenses,Beban kendaraan,
Vehicle No,Nomor Kendaraan,
Vehicle Type,Tipe Kendaraan,
Vehicle/Bus Number,Kendaraan / Nomor Bus,
Venture Capital,Modal Ventura,
View Chart of Accounts,Lihat Bagan Akun,
View Fees Records,Lihat Catatan Biaya,
View Form,Lihat Formulir,
View Lab Tests,Lihat Tes Lab,
View Leads,Lihat Prospek,
View Ledger,Lihat Buku Besar,
View Now,Lihat sekarang,
View a list of all the help videos,Lihat daftar semua bantuan video,
View in Cart,Lihat Troli,
Visit report for maintenance call.,Kunjungi laporan untuk panggilan pemeliharaan.,
Visit the forums,Kunjungi forum,
Vital Signs,Tanda-tanda vital,
Volunteer,Relawan,
Volunteer Type information.,Informasi Tipe Sukarela.,
Volunteer information.,Informasi sukarela,
Voucher #,Voucher #,
Voucher No,Voucher Tidak ada,
Voucher Type,Voucher Type,
WIP Warehouse,WIP Gudang,
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Gudang tidak dapat dihapus karena ada entri buku persediaan untuk gudang ini.,
Warehouse cannot be changed for Serial No.,Gudang tidak dapat diubah untuk Serial Number,
Warehouse is mandatory,Gudang adalah wajib,
Warehouse is mandatory for stock Item {0} in row {1},Gudang adalah wajib untuk persediaan Barang {0} pada baris {1},
Warehouse not found in the system,Gudang tidak ditemukan dalam sistem,
"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Gudang yang diperlukan di Baris Tidak {0}, setel gudang default untuk item {1} untuk perusahaan {2}",
Warehouse required for stock Item {0},Gudang diperlukan untuk Barang Persediaan{0},
Warehouse {0} can not be deleted as quantity exists for Item {1},Gudang {0} tidak dapat dihapus karena ada kuantitas untuk Item {1},
Warehouse {0} does not belong to company {1},Gudang {0} bukan milik perusahaan {1},
Warehouse {0} does not exist,Gudang {0} tidak ada,
"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Gudang {0} tidak ditautkan ke akun apa pun, sebutkan akun di catatan gudang atau tetapkan akun persediaan baku di perusahaan {1}.",
Warehouses with child nodes cannot be converted to ledger,Gudang dengan node anak tidak dapat dikonversi ke buku besar,
Warehouses with existing transaction can not be converted to group.,Gudang dengan transaksi yang ada tidak dapat dikonversi ke grup.,
Warehouses with existing transaction can not be converted to ledger.,Gudang dengan transaksi yang ada tidak dapat dikonversi ke buku besar.,
Warning,Peringatan,
Warning: Another {0} # {1} exists against stock entry {2},Peringatan: Ada {0} # {1} lain terhadap entri persediaan {2},
Warning: Invalid SSL certificate on attachment {0},Peringatan: Sertifikat SSL tidak valid pada lampiran {0},
Warning: Invalid attachment {0},Peringatan: Lampiran tidak valid {0},
Warning: Material Requested Qty is less than Minimum Order Qty,Peringatan: Material Diminta Qty kurang dari Minimum Order Qty,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Peringatan: Order Penjualan {0} sudah ada untuk Order Pembelian Pelanggan {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Peringatan: Sistem tidak akan memeriksa overbilling karena jumlahnya untuk Item {0} pada {1} adalah nol,
Warranty,Jaminan,
Warranty Claim,Garansi Klaim,
Warranty Claim against Serial No.,Garansi Klaim terhadap Serial No.,
Website,Situs Web,
Website Image should be a public file or website URL,Website Image harus file umum atau URL situs,
Website Image {0} attached to Item {1} cannot be found,Website Image {0} melekat Butir {1} tidak dapat ditemukan,
Website Manager,Website Manager,
Website Settings,Pengaturan situs web,
Wednesday,Rabu,
Week,Minggu,
Weekly,Mingguan,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Berat disebutkan, \n Sebutkan ""Berat UOM"" terlalu",
Welcome email sent,Email Selamat Datang telah dikirim,
Welcome to ERPNext,Selamat datang di ERPNext,
What do you need help with?,Apa yang Anda perlu bantuan dengan?,
What does it do?,Apa pekerjaannya?,
Where manufacturing operations are carried.,Dimana operasi manufaktur dilakukan.,
White,putih,
Wire Transfer,Transfer Kliring,
WooCommerce Products,Produk WooCommerce,
Work In Progress,Pekerjaan dalam proses,
Work Order,Perintah kerja,
Work Order already created for all items with BOM,Work Order sudah dibuat untuk semua item dengan BOM,
Work Order cannot be raised against a Item Template,Work Order tidak dapat dimunculkan dengan 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} harus dibatalkan sebelum membatalkan Sales Order ini,
Work Order {0} must be submitted,Perintah Kerja {0} harus diserahkan,
Work Orders Created: {0},Pesanan Pekerjaan Dibuat: {0},
Work-in-Progress Warehouse is required before Submit,Kerja-in-Progress Gudang diperlukan sebelum Submit,
Working,Kerja,
Working Hours,Jam kerja,
Workstation,Workstation,
Workstation is closed on the following dates as per Holiday List: {0},Workstation ditutup pada tanggal berikut sesuai Hari Libur Daftar: {0},
Wrapping up,Membungkus,
Wrong Password,Kata sandi salah,
Year start date or end date is overlapping with {0}. To avoid please set company,Tahun tanggal mulai atau tanggal akhir ini tumpang tindih dengan {0}. Untuk menghindari silakan atur perusahaan,
You are not authorized to add or update entries before {0},Anda tidak diizinkan menambah atau memperbarui entri sebelum {0},
You are not authorized to set Frozen value,Anda tidak diizinkan menetapkan nilai yg sedang dibekukan,
You can not change rate if BOM mentioned agianst any item,Anda tidak dapat mengubah kurs jika BOM disebutkan atas tiap barang,
You can not enter current voucher in 'Against Journal Entry' column,Anda tidak dapat memasukkan voucher saat ini di kolom 'Terhadap Entri Jurnal',
You can only have Plans with the same billing cycle in a Subscription,Anda hanya dapat memiliki Paket dengan siklus penagihan yang sama dalam Langganan,
You can only redeem max {0} points in this order.,Anda hanya dapat menukarkan poin maksimum {0} dalam pesanan ini.,
You can only renew if your membership expires within 30 days,Anda hanya bisa memperpanjang jika keanggotaan Anda akan berakhir dalam 30 hari,
You can only select a maximum of one option from the list of check boxes.,Anda hanya bisa memilih maksimal satu pilihan dari daftar kotak centang.,
You can't redeem Loyalty Points having more value than the Grand Total.,Anda tidak dapat menebus Poin Loyalitas yang memiliki nilai lebih dari Total Utama.,
You cannot credit and debit same account at the same time,Anda tidak dapat mengkredit dan mendebit rekening yang sama secara bersamaan,
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Anda tidak dapat menghapus Tahun Anggaran {0}. Tahun Fiskal {0} diatur sebagai default di Pengaturan Global,
You cannot delete Project Type 'External',Anda tidak bisa menghapus Jenis Proyek 'External',
You cannot edit root node.,Anda tidak dapat mengedit simpul root.,
You cannot restart a Subscription that is not cancelled.,Anda tidak dapat memulai ulang Langganan yang tidak dibatalkan.,
You don't have enough Loyalty Points to redeem,Anda tidak memiliki Poin Loyalitas yang cukup untuk ditukarkan,
You have already assessed for the assessment criteria {}.,Anda telah memberikan penilaian terhadap kriteria penilaian {}.,
You have already selected items from {0} {1},Anda sudah memilih item dari {0} {1},
You have been invited to collaborate on the project: {0},Anda telah diundang untuk berkolaborasi pada proyek: {0},
You have entered duplicate items. Please rectify and try again.,Anda telah memasukan item duplikat. Harap perbaiki dan coba lagi.,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Anda harus menjadi pengguna selain Administrator dengan Manajer Sistem dan peran Pengelola Item untuk mendaftar di Marketplace.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Anda harus menjadi pengguna dengan peran Manajer Sistem dan Manajer Item untuk menambahkan pengguna ke Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Anda harus menjadi pengguna dengan peran Manajer Sistem dan Manajer Item untuk mendaftar di Marketplace.,
You need to enable Shopping Cart,Anda harus mengaktifkan Keranjang Belanja,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Anda akan kehilangan rekaman faktur yang dibuat sebelumnya. Anda yakin ingin memulai ulang langganan ini?,
Your Organization,Organisasi Anda,
Your cart is Empty,Keranjang Anda kosong,
Your email address...,Alamat email anda...,
Your order is out for delivery!,Pesanan Anda sudah keluar untuk pengiriman!,
Your tickets,Tiket Anda,
ZIP Code,Kode Pos,
[Error],[Kesalahan],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (#Formulir/Barang/{0}) tidak tersedia,
`Freeze Stocks Older Than` should be smaller than %d days.,'Bekukan Persediaan Lebih Lama Dari' harus lebih kecil dari %d hari.,
based_on,berdasarkan,
cannot be greater than 100,tidak dapat lebih besar dari 100,
disabled user,Pengguna Non-aktif,
"e.g. ""Build tools for builders""","misalnya ""Membangun alat untuk pembangun """,
"e.g. ""Primary School"" or ""University""",misalnya &quot;Sekolah Dasar&quot; atau &quot;Universitas&quot;,
"e.g. Bank, Cash, Credit Card","misalnya Bank, Kas, Kartu Kredit",
hidden,tersembunyi,
modified,diubah,
old_parent,old_parent,
on,Nyala,
{0} '{1}' is disabled,{0} '{1}' dinonaktifkan,
{0} '{1}' not in Fiscal Year {2},{0} '{1}' tidak dalam Tahun Anggaran {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) tidak boleh lebih besar dari kuantitas yang direncanakan ({2}) dalam Perintah Kerja {3},
{0} - {1} is inactive student,{0} - {1} adalah siswa tidak aktif,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} tidak terdaftar dalam Batch {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} tidak terdaftar di Kursus {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Anggaran untuk Akun {1} terhadap {2} {3} adalah {4}. Ini akan berlebih sebanyak {5},
{0} Digest,{0} Digest,
{0} Request for {1},{0} Permintaan {1},
{0} Result submittted,{0} Hasil terkirim,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} Nomer Seri diperlukan untuk Item {1}. Anda menyediakan {2}.,
{0} Student Groups created.,{0} Kelompok Siswa dibuat.,
{0} Students have been enrolled,{0} Siswa telah terdaftar,
{0} against Bill {1} dated {2},{0} terhadap Tagihan {1} tanggal {2},
{0} against Purchase Order {1},{0} terhadap Purchase Order {1},
{0} against Sales Invoice {1},{0} terhadap Faktur Penjualan {1},
{0} against Sales Order {1},{0} terhadap Order Penjualan {1},
{0} asset cannot be transferred,{0} aset tidak dapat ditransfer,
{0} can not be negative,{0} tidak dapat negatif,
{0} created,{0} dibuat,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} saat ini memiliki posisi Penilaian Pemasok {1}, Faktur Pembelian untuk pemasok ini harus dikeluarkan dengan hati-hati.",
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} saat ini memiliki {1} posisi Supplier Scorecard, dan RFQs ke pemasok ini harus dikeluarkan dengan hati-hati.",
{0} does not belong to Company {1},{0} bukan milik Perusahaan {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} tidak memiliki Jadwal Praktisi Kesehatan. Tambahkan di data Praktisi Kesehatan,
{0} entered twice in Item Tax,{0} dimasukan dua kali dalam Pajak Barang,
{0} for {1},{0} untuk {1},
{0} has been submitted successfully,{0} telah berhasil dikirim,
{0} has fee validity till {1},{0} memiliki validitas biaya sampai {1},
{0} hours,{0} jam,
{0} in row {1},{0} di baris {1},
{0} is blocked so this transaction cannot proceed,{0} diblokir sehingga transaksi ini tidak dapat dilanjutkan,
{0} is mandatory,{0} wajib diisi,
{0} is mandatory for Item {1},{0} adalah wajib untuk Item {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} adalah wajib. Mungkin data Kurs Mata Uang tidak dibuat untuk {1} sampai {2}.,
{0} is not a stock Item,{0} bukan Barang persediaan,
{0} is not a valid Batch Number for Item {1},{0} tidak Nomor Batch berlaku untuk Stok Barang {1},
{0} is not added in the table,{0} tidak ditambahkan dalam tabel,
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} adalah Tahun Anggaran bawaan. Silahkan memuat kembali browser Anda agar perubahan dapat terwujud.,
{0} is on hold till {1},{0} ditahan sampai {1},
{0} item found.,{0} item ditemukan.,
{0} items found.,{0} item ditemukan.,
{0} items in progress,{0} item berlangsung,
{0} items produced,{0} item diproduksi,
{0} must appear only once,{0} harus muncul hanya sekali,
{0} must be negative in return document,{0} harus negatif dalam dokumen retur,
{0} not allowed to transact with {1}. Please change the Company.,{0} tidak diizinkan bertransaksi dengan {1}. Harap ubah Perusahaan.,
{0} not found for item {1},{0} tidak ditemukan untuk Barang {1},
{0} parameter is invalid,{0} parameter tidak valid,
{0} payment entries can not be filtered by {1},{0} entri pembayaran tidak dapat disaring 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}] (#Formulir/Barang/{1}) ditemukan di [{2}] (#Formulir/Gudang/{2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} unit {1} dibutuhkan dalam {2} pada {3} {4} untuk {5} untuk menyelesaikan transaksi ini.,
{0} units of {1} needed in {2} to complete this transaction.,{0} unit {1} dibutuhkan dalam {2} untuk menyelesaikan transaksi ini.,
{0} valid serial nos for Item {1},{0} nomor seri berlaku untuk Item {1},
{0} variants created.,{0} varian dibuat.,
{0} {1} created,{0} {1} dibuat,
{0} {1} does not exist,{0} {1} tidak ada,
{0} {1} has been modified. Please refresh.,{0} {1} telah diubah. Silahkan refresh.,
{0} {1} has not been submitted so the action cannot be completed,{0} {1} belum dikirim sehingga tindakan tidak dapat diselesaikan,
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} dikaitkan dengan {2}, namun Akun Para Pihak adalah {3}",
{0} {1} is cancelled or closed,{0} {1} dibatalkan 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 sehingga tindakan tidak dapat diselesaikan,
{0} {1} is closed,{0} {1} tertutup,
{0} {1} is disabled,{0} {1} dinonaktifkan,
{0} {1} is frozen,{0} {1} dibekukan,
{0} {1} is fully billed,{0} {1} telah ditagih sepenuhnya,
{0} {1} is not active,{0} {1} tidak aktif,
{0} {1} is not associated with {2} {3},{0} {1} tidak terkait dengan {2} {3},
{0} {1} is not present in the parent company,{0} {1} tidak ada di perusahaan induk,
{0} {1} is not submitted,{0} {1} belum dikirim,
{0} {1} is {2},{0} {1} adalah {2},
{0} {1} must be submitted,{0} {1} harus dikirim,
{0} {1} not in any active Fiscal Year.,{0} {1} tidak dalam Tahun Anggaran aktif.,
{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}: jenis akun 'Laba Rugi' {2} tidak diperbolehkan di Entri Awal,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Akun {2} bukan milik Perusahaan {3},
{0} {1}: Account {2} is inactive,{0} {1}: Akun {2} tidak aktif,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Entri Akuntansi untuk {2} hanya dapat dilakukan dalam bentuk mata uang: {3},
{0} {1}: Cost Center is mandatory for Item {2},"{0} {1}: ""Pusat Biaya"" adalah wajib untuk Item {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 Biaya diperlukan untuk akun 'Rugi Laba' {2}. Silakan membuat Pusat Biaya default untuk Perusahaan.,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Pusat Biaya {2} bukan milik Perusahaan {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}: Pelanggan diperlukan untuk akun Piutang {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Salah satu dari jumlah debit atau kredit diperlukan untuk {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: Pemasok diperlukan untuk akun Hutang {2},
{0}% Billed,{0}% Ditagih,
{0}% Delivered,{0}% Terkirim,
{0}: From {1},{0}: Dari {1},
{0}: {1} does not exists,{0}: {1} tidak ada,
{0}: {1} not found in Invoice Details table,{0}: {1} tidak ditemukan dalam tabel Rincian Tagihan,
{} of {},{} dari {},
Assigned To,Ditugaskan Kepada,
Chat,Obrolan,
Completed By,Diselesaikan oleh,
Day of Week,Hari dalam seminggu,
"Dear System Manager,","Kepada System Manager Yth.,",
Default Value,Nilai Awal,
Email Group,Kelompok Surel,
Email Settings,Pengaturan Email,
Email not sent to {0} (unsubscribed / disabled),Surel tidak dikirim ke {0} (tidak berlangganan / dinonaktifkan),
Error Message,Pesan eror,
Fieldtype,Fieldtype,
Help Articles,Bantuan Artikel,
ID,ID,
Import,Impor,
Language,Bahasa,
Likes,Suka,
Merge with existing,Merger dengan yang ada,
Orientation,Orientasi,
Parent,Induk,
Payment Failed,Pembayaran gagal,
Personal,Pribadi,
Post,Post,
Postal Code,kode Pos,
Provider,Pemberi,
Read Only,Read Only,
Recipient,Penerima,
Reviews,Ulasan,
Sender,Pengirim,
There were errors while sending email. Please try again.,Ada kesalahan saat mengirim email. Silakan coba lagi.,
Values Changed,Nilai Berubah,
or,atau,
Ageing Range 4,Rentang Penuaan 4,
Allocated amount cannot be greater than unadjusted amount,Jumlah yang dialokasikan tidak boleh lebih besar dari jumlah yang tidak disesuaikan,
Allocated amount cannot be negative,Jumlah yang dialokasikan tidak boleh negatif,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Akun Selisih harus merupakan akun jenis Aset / Kewajiban, karena Entri Saham ini adalah Entri Pembuka",
Import Successful,Impor Berhasil,
Please save first,Harap simpan dulu,
Price not found for item {0} in price list {1},Harga tidak ditemukan untuk item {0} dalam daftar harga {1},
Warehouse Type,Jenis Gudang,
'Date' is required,&#39;Tanggal&#39; diperlukan,
Budgets,Anggaran,
Bundle Qty,Bundel Qty,
Company GSTIN,Perusahaan GSTIN,
Company field is required,Bidang perusahaan wajib diisi,
Creating Dimensions...,Membuat Dimensi ...,
Duplicate entry against the item code {0} and manufacturer {1},Entri duplikat terhadap kode item {0} dan pabrikan {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 valid! Input yang Anda masukkan tidak cocok dengan format GSTIN untuk Pemegang UIN atau Penyedia Layanan OIDAR Non-Resident,
Invoice Grand Total,Faktur Jumlah Total,
Last carbon check date cannot be a future date,Tanggal pemeriksaan karbon terakhir tidak bisa menjadi tanggal di masa depan,
Make Stock Entry,Masuk Stock,
Quality Feedback,Umpan Balik Kualitas,
Quality Feedback Template,Template Umpan Balik Kualitas,
Rules for applying different promotional schemes.,Aturan untuk menerapkan berbagai skema promosi.,
Show {0},Tampilkan {0},
Target Details,Detail Target,
{0} already has a Parent Procedure {1}.,{0} sudah memiliki Prosedur Induk {1}.,
API,API,
Annual,Tahunan,
Change,Perubahan,
Contact Email,Email Kontak,
From Date,Dari Tanggal,
Group By,Dikelompokkan oleh,
Invalid URL,URL tidak valid,
Landscape,Pemandangan,
Naming Series,Series Penamaan,
No data to export,Tidak ada data untuk diekspor,
Portrait,Potret,
Print Heading,Cetak Pos,
Scheduler Inactive,Penjadwal Tidak Aktif,
Scheduler is inactive. Cannot import data.,Penjadwal tidak aktif. Tidak dapat mengimpor data.,
Show Document,Perlihatkan Dokumen,
Show Traceback,Perlihatkan Traceback,
Video,Video,
% Of Grand Total,% Dari Total Grand,
<b>Company</b> is a mandatory filter.,<b>Perusahaan</b> adalah filter wajib.,
<b>From Date</b> is a mandatory filter.,<b>From Date</b> adalah filter wajib.,
<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>From Time</b> tidak boleh lebih dari <b>To Time</b> untuk {0},
<b>To Date</b> is a mandatory filter.,<b>To Date</b> adalah filter wajib.,
A new appointment has been created for you with {0},Sebuah janji baru telah dibuat untuk Anda dengan {0},
Account Value,Nilai Akun,
Account is mandatory to get payment entries,Akun wajib untuk mendapatkan entri pembayaran,
Account is not set for the dashboard chart {0},Akun tidak disetel untuk bagan dasbor {0},
Account {0} does not exists in the dashboard chart {1},Akun {0} tidak ada dalam bagan dasbor {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Akun: <b>{0}</b> adalah modal sedang dalam proses dan tidak dapat diperbarui oleh Entri Jurnal,
Account: {0} is not permitted under Payment Entry,Akun: {0} tidak diizinkan di bawah Entri Pembayaran,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Dimensi Akuntansi <b>{0}</b> diperlukan untuk akun &#39;Neraca&#39; {1}.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Dimensi Akuntansi <b>{0}</b> diperlukan untuk akun &#39;Untung dan Rugi&#39; {1}.,
Accounting Masters,Magister Akuntansi,
Accounting Period overlaps with {0},Periode Akuntansi tumpang tindih dengan {0},
Activity,Aktivitas,
Add / Manage Email Accounts.,Tambah / Kelola Akun Email.,
Add Child,Tambah Anak,
Add Multiple,Tambahkan Beberapa,
Add Participants,Tambahkan Peserta,
Add to Featured Item,Tambahkan ke Item Unggulan,
Add your review,Tambahkan ulasan Anda,
Add/Edit Coupon Conditions,Tambah / Edit Ketentuan Kupon,
Added to Featured Items,Ditambahkan ke Item Unggulan,
Added {0} ({1}),Ditambahkan {0} ({1}),
Address Line 1,Alamat Baris 1,
Addresses,Daftar Alamat,
Admission End Date should be greater than Admission Start Date.,Tanggal Akhir Penerimaan harus lebih besar dari Tanggal Mulai Penerimaan.,
All,Semua,
All bank transactions have been created,Semua transaksi bank telah dibuat,
All the depreciations has been booked,Semua penyusutan telah dipesan,
Allow Resetting Service Level Agreement from Support Settings.,Izinkan Mengatur Ulang Perjanjian Tingkat Layanan dari Pengaturan Dukungan.,
Amount of {0} is required for Loan closure,Diperlukan jumlah {0} untuk penutupan Pinjaman,
Applied Coupon Code,Kode Kupon Terapan,
Apply Coupon Code,Terapkan Kode Kupon,
Appointment Booking,Pemesanan janji temu,
"As there are existing transactions against item {0}, you can not change the value of {1}","Karena ada transaksi yang ada terhadap barang {0}, Anda tidak dapat mengubah nilai {1}",
Asset Id,Id Aset,
Asset Value,Nilai aset,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Penyesuaian Nilai Aset tidak dapat diposting sebelum tanggal pembelian Aset <b>{0}</b> .,
Asset {0} does not belongs to the custodian {1},Aset {0} bukan milik penjaga {1},
Asset {0} does not belongs to the location {1},Aset {0} bukan milik lokasi {1},
At least one of the Applicable Modules should be selected,Setidaknya satu dari Modul yang Berlaku harus dipilih,
Atleast one asset has to be selected.,Setidaknya satu aset harus dipilih.,
Authentication Failed,Otentikasi gagal,
Automatic Reconciliation,Rekonsiliasi Otomatis,
Available For Use Date,Tersedia Untuk Digunakan Tanggal,
Available Stock,Stok tersedia,
"Available quantity is {0}, you need {1}","Kuantitas yang tersedia adalah {0}, Anda perlu {1}",
BOM 1,BOM 1,
BOM 2,BOM 2,
BOM Comparison Tool,Alat Perbandingan BOM,
BOM recursion: {0} cannot be child of {1},Rekursi BOM: {0} tidak boleh anak dari {1},
BOM recursion: {0} cannot be parent or child of {1},Rekursi BOM: {0} tidak boleh orang tua atau anak dari {1},
Back to Messages,Kembali ke Pesan,
Bank Data mapper doesn't exist,Mapper Data Bank tidak ada,
Bank Details,Rincian bank,
Bank account '{0}' has been synchronized,Rekening bank &#39;{0}&#39; telah disinkronkan,
Bank account {0} already exists and could not be created again,Rekening bank {0} sudah ada dan tidak dapat dibuat lagi,
Bank accounts added,Rekening bank ditambahkan,
Batch no is required for batched item {0},Nomor batch diperlukan untuk item batch {0},
Billing Date,Tanggal tagihan,
Billing Interval Count cannot be less than 1,Hitungan Interval Penagihan tidak boleh kurang dari 1,
Blue,Biru,
Book,Buku,
Book Appointment,Penunjukan Buku,
Brand,Merek,
Browse,Pilih,
Call Connected,Panggilan Terhubung,
Call Disconnected,Panggilan Terputus,
Call Missed,Panggilan tidak terjawab,
Call Summary,Ringkasan Panggilan,
Call Summary Saved,Ringkasan Panggilan Tersimpan,
Cancelled,Dibatalkan,
Cannot Calculate Arrival Time as Driver Address is Missing.,Tidak Dapat Menghitung Waktu Kedatangan karena Alamat Pengemudi Tidak Ada.,
Cannot Optimize Route as Driver Address is Missing.,Tidak Dapat Mengoptimalkan Rute karena Alamat Driver Tidak Ada.,
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Tidak dapat menyelesaikan tugas {0} karena tugas dependennya {1} tidak selesai / dibatalkan.,
Cannot find a matching Item. Please select some other value for {0}.,Tidak dapat menemukan yang cocok Item. Silakan 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 dapat menagih berlebih untuk Item {0} di baris {1} lebih dari {2}. Untuk memungkinkan penagihan berlebih, harap setel kelonggaran di Pengaturan Akun",
"Capacity Planning Error, planned start time can not be same as end time","Perencanaan Kapasitas Kesalahan, waktu mulai yang direncanakan tidak dapat sama dengan waktu akhir",
Categories,Kategori,
Changes in {0},Perubahan {0},
Chart,Grafik,
Choose a corresponding payment,Pilih pembayaran yang sesuai,
Click on the link below to verify your email and confirm the appointment,Klik tautan di bawah untuk memverifikasi email Anda dan mengonfirmasi janji temu,
Close,Tutup,
Communication,Komunikasi,
Compact Item Print,Kompak Barang Cetak,
Company,Perusahaan,
Company of asset {0} and purchase document {1} doesn't matches.,Perusahaan aset {0} dan dokumen pembelian {1} tidak cocok.,
Compare BOMs for changes in Raw Materials and Operations,Bandingkan BOM untuk perubahan Bahan Baku dan Operasi,
Compare List function takes on list arguments,Fungsi Bandingkan Daftar mengambil argumen daftar,
Complete,Lengkap,
Completed,Selesai,
Completed Quantity,Kuantitas Lengkap,
Connect your Exotel Account to ERPNext and track call logs,Hubungkan Akun Exotel Anda ke ERPNext dan lacak log panggilan,
Connect your bank accounts to ERPNext,Hubungkan rekening bank Anda ke ERPNext,
Contact Seller,Hubungi penjual,
Continue,Terus,
Cost Center: {0} does not exist,Pusat Biaya: {0} tidak ada,
Couldn't Set Service Level Agreement {0}.,Tidak Dapat Menetapkan Perjanjian Tingkat Layanan {0}.,
Country,Negara,
Country Code in File does not match with country code set up in the system,Kode Negara dalam File tidak cocok dengan kode negara yang diatur dalam sistem,
Create New Contact,Buat Kontak Baru,
Create New Lead,Buat Pemimpin Baru,
Create Pick List,Buat Daftar Pilih,
Create Quality Inspection for Item {0},Buat Pemeriksaan Kualitas untuk Barang {0},
Creating Accounts...,Membuat Akun ...,
Creating bank entries...,Membuat entri bank ...,
Credit limit is already defined for the Company {0},Batas kredit sudah ditentukan untuk Perusahaan {0},
Ctrl + Enter to submit,Ctrl + Enter untuk mengirim,
Ctrl+Enter to submit,Ctrl + Enter untuk mengirim,
Currency,Mata uang,
Current Status,Status saat ini,
Customer PO,PO pelanggan,
Daily,Sehari-hari,
Date,Tanggal,
Date of Birth cannot be greater than Joining Date.,Tanggal Lahir tidak boleh lebih dari Tanggal Bergabung.,
Dear,Kepada Yth.,
Default,Standar,
Define coupon codes.,Tentukan kode kupon.,
Delayed Days,Hari yang Tertunda,
Delete,Hapus,
Delivered Quantity,Kuantitas yang Disampaikan,
Delivery Notes,Catatan pengiriman,
Depreciated Amount,Jumlah yang Disusutkan,
Description,Deskripsi,
Designation,Penunjukan,
Difference Value,Nilai Perbedaan,
Dimension Filter,Filter Dimensi,
Disabled,Dinonaktifkan,
Disbursement and Repayment,Pencairan dan Pelunasan,
Distance cannot be greater than 4000 kms,Jarak tidak lebih dari 4000 km,
Do you want to submit the material request,Apakah Anda ingin mengirimkan permintaan materi,
Doctype,DOCTYPE,
Document {0} successfully uncleared,Dokumen {0} berhasil dihapus,
Download Template,Unduh Template,
Dr,Dr,
Due Date,Tanggal Jatuh Tempo,
Duplicate,Duplikat,
Duplicate Project with Tasks,Proyek Duplikat dengan Tugas,
Duplicate project has been created,Proyek duplikat telah dibuat,
E-Way Bill JSON can only be generated from a submitted document,E-Way Bill JSON hanya dapat dihasilkan dari dokumen yang dikirimkan,
E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON hanya dapat dihasilkan dari dokumen yang dikirimkan,
E-Way Bill JSON cannot be generated for Sales Return as of now,E-Way Bill JSON tidak dapat dihasilkan untuk Pengembalian Penjualan seperti sekarang,
ERPNext could not find any matching payment entry,ERPNext tidak dapat menemukan entri pembayaran yang cocok,
Earliest Age,Usia paling awal,
Edit Details,Edit Detail,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,ID Transporter GST atau No Kendaraan diperlukan jika Mode Transportasi adalah Jalan,
Email,Surel,
Email Campaigns,Kampanye Email,
Employee ID is linked with another instructor,ID Karyawan terhubung dengan instruktur lain,
Employee Tax and Benefits,Pajak dan Manfaat Karyawan,
Employee is required while issuing Asset {0},Karyawan diperlukan saat menerbitkan Aset {0},
Employee {0} does not belongs to the company {1},Karyawan {0} bukan milik perusahaan {1},
Enable Auto Re-Order,Aktifkan Pemesanan Ulang Otomatis,
End Date of Agreement can't be less than today.,Tanggal Akhir Perjanjian tidak boleh kurang dari hari ini.,
End Time,Waktu Akhir,
Energy Point Leaderboard,Papan Poin Energi,
Enter API key in Google Settings.,Masukkan kunci API di Pengaturan Google.,
Enter Supplier,Masukkan Pemasok,
Enter Value,Masukkan Nilai,
Entity Type,Jenis Entitas,
Error,Kesalahan,
Error in Exotel incoming call,Kesalahan dalam panggilan masuk Exotel,
Error: {0} is mandatory field,Kesalahan: {0} adalah bidang wajib,
Exception occurred while reconciling {0},Pengecualian terjadi saat merekonsiliasi {0},
Expected and Discharge dates cannot be less than Admission Schedule date,Tanggal yang diharapkan dan tanggal Pelepasan tidak boleh kurang dari tanggal Jadwal Penerimaan,
Expired,Expired,
Export,Ekspor,
Export not allowed. You need {0} role to export.,Ekspor tidak diperbolehkan. Anda perlu {0} peran untuk ekspor.,
Failed to add Domain,Gagal menambahkan Domain,
Fetch Items from Warehouse,Ambil Item dari Gudang,
Fetching...,Mengambil ...,
Field,Bidang,
Filters,Penyaring,
Finding linked payments,Menemukan pembayaran yang tertaut,
Fleet Management,Manajemen armada,
Following fields are mandatory to create address:,Bidang-bidang berikut 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} di baris {1}, hitungan nomor seri tidak sesuai dengan jumlah yang dipilih",
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Untuk operasi {0}: Kuantitas ({1}) tidak dapat lebih baik daripada kuantitas yang menunggu ({2}),
For quantity {0} should not be greater than work order quantity {1},Untuk kuantitas {0} tidak boleh lebih besar dari kuantitas pesanan kerja {1},
Free item not set in the pricing rule {0},Item gratis tidak diatur dalam aturan harga {0},
From Date and To Date are Mandatory,Dari Tanggal dan Sampai Tanggal adalah Wajib,
From employee is required while receiving Asset {0} to a target location,Dari karyawan diperlukan saat menerima Aset {0} ke lokasi target,
Future Payment Amount,Jumlah Pembayaran Masa Depan,
Future Payment Ref,Ref Pembayaran di Masa Depan,
Future Payments,Pembayaran di masa depan,
GST HSN Code does not exist for one or more items,Kode GST HSN tidak ada untuk satu item atau lebih,
Generate E-Way Bill JSON,Hasilkan RUU e-Way JSON,
Get Items,Dapatkan Produk,
Get Outstanding Documents,Dapatkan Dokumen Luar Biasa,
Goal,Sasaran,
Greater Than Amount,Lebih Besar Dari Jumlah,
Green,Hijau,
Group,Grup,
Group By Customer,Kelompokkan oleh Pelanggan,
Group By Supplier,Kelompokkan Dengan Pemasok,
Group Node,Node Grup,
Group Warehouses cannot be used in transactions. Please change the value of {0},Gudang Grup tidak dapat digunakan dalam transaksi. Silakan ubah nilai {0},
Help,Bantuan,
Help Article,Bantuan Pasal,
"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Membantu Anda melacak Kontrak berdasarkan Pemasok, Pelanggan, dan Karyawan",
Helps you manage appointments with your leads,Membantu Anda mengelola janji temu dengan prospek Anda,
Home,Rumah,
IBAN is not valid,IBAN tidak valid,
Import Data from CSV / Excel files.,Impor Data dari file CSV / Excel.,
In Progress,Sedang berlangsung,
Incoming call from {0},Panggilan masuk dari {0},
Incorrect Warehouse,Gudang Tidak Benar,
Invalid Barcode. There is no Item attached to this barcode.,Kode Batang Tidak Valid. Tidak ada Barang yang terlampir pada barcode ini.,
Invalid credentials,Kredensial tidak valid,
Issue Priority.,Prioritas Masalah.,
Issue Type.,Jenis Masalah.,
"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.","Tampaknya ada masalah dengan konfigurasi strip server. Jika terjadi kegagalan, jumlah itu akan dikembalikan ke akun Anda.",
Item Reported,Barang Dilaporkan,
Item listing removed,Daftar item dihapus,
Item quantity can not be zero,Kuantitas barang tidak boleh nol,
Item taxes updated,Pajak barang diperbarui,
Item {0}: {1} qty produced. ,Item {0}: {1} jumlah diproduksi.,
Joining Date can not be greater than Leaving Date,Tanggal Bergabung tidak boleh lebih dari Tanggal Meninggalkan,
Lab Test Item {0} already exist,Item Uji Lab {0} sudah ada,
Last Issue,Isu Terakhir,
Latest Age,Zaman Terbaru,
Leaves Taken,Daun Diambil,
Less Than Amount,Jumlah Kurang Dari,
Liabilities,Kewajiban,
Loading...,Memuat...,
Loan Applications from customers and employees.,Aplikasi Pinjaman dari pelanggan dan karyawan.,
Loan Processes,Proses Pinjaman,
Loan Type for interest and penalty rates,Jenis Pinjaman untuk suku bunga dan penalti,
Loans,Pinjaman,
Loans provided to customers and employees.,Pinjaman diberikan kepada pelanggan dan karyawan.,
Location,Lokasi,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Sepertinya seseorang mengirimkan ke URL yang tidak lengkap. Silakan meminta mereka untuk melihat ke dalamnya.,
Make Journal Entry,Membuat Jurnal Entri,
Make Purchase Invoice,Membuat Purchase Invoice,
Manufactured,Diproduksi,
Mark Work From Home,Tandai Bekerja Dari Rumah,
Master,Nahkoda,
Max strength cannot be less than zero.,Kekuatan maksimum tidak boleh kurang dari nol.,
Maximum attempts for this quiz reached!,Upaya maksimal untuk kuis ini tercapai!,
Message,Pesan,
Missing Values Required,Hilang Nilai Diperlukan,
Mobile No,Ponsel Tidak ada,
Mobile Number,Nomor handphone,
Month,Bulan,
Name,Nama,
Near you,Di dekat Anda,
Net Profit/Loss,Laba / Rugi Bersih,
New Expense,Biaya Baru,
New Invoice,Faktur Baru,
New Payment,Pembayaran Baru,
New release date should be in the future,Tanggal rilis baru harus di masa depan,
No Account matched these filters: {},Tidak ada Akun yang cocok dengan filter ini: {},
No communication found.,Tidak ada komunikasi yang ditemukan.,
No correct answer is set for {0},Tidak ada jawaban yang benar untuk {0},
No description,tidak ada deskripsi,
No issue has been raised by the caller.,Tidak ada masalah yang diangkat oleh penelepon.,
No items to publish,Tidak ada item untuk diterbitkan,
No outstanding invoices found,Tidak ditemukan faktur luar biasa,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Tidak ditemukan faktur luar biasa untuk {0} {1} yang memenuhi syarat filter yang Anda tentukan.,
No outstanding invoices require exchange rate revaluation,Tidak ada faktur terutang yang membutuhkan penilaian kembali nilai tukar,
No reviews yet,Belum ada ulasan,
No views yet,Belum ada penayangan,
Non stock items,Item bukan stok,
Not Allowed,Tidak Diizinkan,
Not allowed to create accounting dimension for {0},Tidak diperbolehkan membuat dimensi akuntansi untuk {0},
Not permitted. Please disable the Lab Test Template,Tidak diperbolehkan. Harap nonaktifkan Template Tes Lab,
Note,Catatan,
Notes: ,Catatan:,
On Converting Opportunity,Tentang Konversi Peluang,
On Purchase Order Submission,Pengajuan Pesanan Pembelian,
On Sales Order Submission,Pengajuan Pesanan Penjualan,
On Task Completion,Penyelesaian Tugas,
On {0} Creation,Pada {0} Pembuatan,
Only .csv and .xlsx files are supported currently,Hanya file .csv dan .xlsx yang didukung saat ini,
Open,Buka,
Open Contact,Kontak Terbuka,
Open Lead,Open Lead,
Opening and Closing,Membuka dan menutup,
Operating Cost as per Work Order / BOM,Biaya Operasi sesuai Perintah Kerja / BOM,
Order Amount,Jumlah pesanan,
Page {0} of {1},Halaman {0} dari {1},
Paid amount cannot be less than {0},Jumlah yang dibayarkan tidak boleh kurang dari {0},
Parent Company must be a group company,Induk Perusahaan harus merupakan perusahaan grup,
Passing Score value should be between 0 and 100,Nilai Skor Lulus harus antara 0 dan 100,
Patient History,Riwayat Pasien,
Pause,berhenti sebentar,
Pay,Membayar,
Payment Document Type,Jenis Dokumen Pembayaran,
Payment Name,Nama Pembayaran,
Pending,Menunggu,
Performance,Performa,
Period based On,Periode berdasarkan,
Perpetual inventory required for the company {0} to view this report.,Persediaan permanen diperlukan untuk perusahaan {0} untuk melihat laporan ini.,
Phone,Telepon,
Pick List,Pilih Daftar,
Plaid authentication error,Kesalahan otentikasi kotak-kotak,
Plaid public token error,Kesalahan token publik kotak-kotak,
Plaid transactions sync error,Kesalahan sinkronisasi transaksi kotak-kotak,
Please check the error log for details about the import errors,Silakan periksa log kesalahan untuk detail tentang kesalahan impor,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Harap buat <b>Pengaturan DATEV</b> untuk Perusahaan <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Harap buat penyesuaian Entri Jurnal untuk jumlah {0},
Please do not create more than 500 items at a time,Tolong jangan membuat lebih dari 500 item sekaligus,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Silakan masukkan <b>Akun Perbedaan</b> atau setel <b>Akun Penyesuaian Stok</b> default untuk perusahaan {0},
Please enter GSTIN and state for the Company Address {0},Silakan masukkan GSTIN dan sebutkan untuk Alamat Perusahaan {0},
Please enter Item Code to get item taxes,Silakan masukkan Kode Barang untuk mendapatkan pajak barang,
Please enter Warehouse and Date,Silakan masukkan Gudang dan Tanggal,
Please login as a Marketplace User to edit this item.,Silakan masuk sebagai Pengguna Marketplace untuk mengedit item ini.,
Please login as a Marketplace User to report this item.,Silakan masuk sebagai Pengguna Marketplace untuk melaporkan item ini.,
Please select <b>Template Type</b> to download template,Silakan pilih <b>Jenis Templat</b> untuk mengunduh templat,
Please select Customer first,Silakan pilih Pelanggan terlebih dahulu,
Please select Item Code first,Silakan pilih Kode Barang terlebih dahulu,
Please select a Delivery Note,Silakan pilih Catatan Pengiriman,
Please select a Sales Person for item: {0},Silakan pilih Tenaga Penjual untuk item: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Silahkan pilih metode pembayaran lain. Stripe tidak mendukung transaksi dalam mata uang &#39;{0}&#39;,
Please select the customer.,Silakan pilih pelanggan.,
Please set a Supplier against the Items to be considered in the Purchase Order.,Harap atur Pemasok terhadap Item yang akan dipertimbangkan dalam Pesanan Pembelian.,
Please set account heads in GST Settings for Compnay {0},Silakan setel kepala akun di Pengaturan GST untuk Compnay {0},
Please set an email id for the Lead {0},Harap tetapkan id email untuk Lead {0},
Please set default UOM in Stock Settings,Silakan atur UOM default dalam Pengaturan Stok,
Please set filter based on Item or Warehouse due to a large amount of entries.,Harap atur filter berdasarkan Item atau Gudang karena sejumlah besar entri.,
Please set up the Campaign Schedule in the Campaign {0},Harap atur Jadwal Kampanye di Kampanye {0},
Please set valid GSTIN No. in Company Address for company {0},Harap tetapkan No. GSTIN yang valid di Alamat Perusahaan untuk perusahaan {0},
Please set {0},Silakan atur {0},customer
Please setup a default bank account for company {0},Harap siapkan rekening bank default untuk perusahaan {0},
Please specify,Silakan tentukan,
Please specify a {0},Silakan tentukan {0},lead
Priority,Prioritas,
Priority has been changed to {0}.,Prioritas telah diubah menjadi {0}.,
Priority {0} has been repeated.,Prioritas {0} telah diulang.,
Processing XML Files,Memproses File XML,
Profitability,Profitabilitas,
Project,Proyek,
Provide the academic year and set the starting and ending date.,Berikan tahun akademik dan tetapkan tanggal mulai dan berakhir.,
Public token is missing for this bank,Token publik tidak ada untuk bank ini,
Publish 1 Item,Publikasikan 1 Item,
Publish Items,Publikasikan Item,
Publish More Items,Publikasikan Item Lainnya,
Publish Your First Items,Publikasikan Item Pertama Anda,
Publish {0} Items,Terbitkan {0} Item,
Published Items,Item yang Diterbitkan,
Purchase Invoice cannot be made against an existing asset {0},Faktur Pembelian tidak dapat dilakukan terhadap aset yang ada {0},
Purchase Invoices,Beli Faktur,
Purchase Orders,Order pembelian,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Kwitansi Pembelian tidak memiliki Barang yang Retain Sampel diaktifkan.,
Purchase Return,Pembelian Kembali,
Qty of Finished Goods Item,Jumlah Barang Jadi,
Quality Inspection required for Item {0} to submit,Diperlukan Pemeriksaan Kualitas untuk Barang {0} untuk dikirimkan,
Quantity to Manufacture,Kuantitas untuk Memproduksi,
Quantity to Manufacture can not be zero for the operation {0},Kuantitas untuk Pembuatan tidak boleh nol untuk operasi {0},
Quarterly,Triwulan,
Queued,Diantrikan,
Quick Entry,Entri Cepat,
Quiz {0} does not exist,Kuis {0} tidak ada,
Quotation Amount,Jumlah Kutipan,
Rate or Discount is required for the price discount.,Harga atau Diskon diperlukan untuk diskon harga.,
Reason,Alasan,
Reconcile Entries,Rekonsiliasi Entri,
Reconcile this account,Rekonsiliasi akun ini,
Reconciled,Berdamai,
Recruitment,Pengerahan,
Red,Merah,
Release date must be in the future,Tanggal rilis harus di masa mendatang,
Relieving Date must be greater than or equal to Date of Joining,Tanggal pelepasan harus lebih besar dari atau sama dengan Tanggal Bergabung,
Rename,Ubah nama,
Rename Not Allowed,Ganti nama Tidak Diizinkan,
Report Item,Laporkan Item,
Report this Item,Laporkan Item ini,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Jumlah Pesanan untuk Subkontrak: Jumlah bahan baku untuk membuat barang yang disubkontrakkan.,
Reset,ulang,
Reset Service Level Agreement,Setel Ulang Perjanjian Tingkat Layanan,
Resetting Service Level Agreement.,Menyetel Ulang Perjanjian Tingkat Layanan.,
Return amount cannot be greater unclaimed amount,Jumlah pengembalian tidak boleh lebih besar dari jumlah yang tidak diklaim,
Review,Ulasan,
Room,Kamar,
Room Type,Tipe ruangan,
Row # ,Row #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Baris # {0}: Gudang yang Diterima dan Gudang Pemasok tidak boleh sama,
Row #{0}: Cannot delete item {1} which has already been billed.,Baris # {0}: Tidak dapat menghapus item {1} yang sudah ditagih.,
Row #{0}: Cannot delete item {1} which has already been delivered,Baris # {0}: Tidak dapat menghapus item {1} yang sudah dikirim,
Row #{0}: Cannot delete item {1} which has already been received,Baris # {0}: Tidak dapat menghapus item {1} yang telah diterima,
Row #{0}: Cannot delete item {1} which has work order assigned to it.,Baris # {0}: Tidak dapat menghapus item {1} yang memiliki perintah kerja yang ditetapkan untuknya.,
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Baris # {0}: Tidak dapat menghapus item {1} yang ditetapkan untuk pesanan pembelian pelanggan.,
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Baris # {0}: Tidak dapat memilih Gudang Pemasok saat memasok bahan mentah ke subkontraktor,
Row #{0}: Cost Center {1} does not belong to company {2},Baris # {0}: Pusat Biaya {1} bukan milik perusahaan {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 selesai untuk {2} jumlah barang jadi dalam Perintah Kerja {3}. Harap perbarui status operasi melalui Kartu Pekerjaan {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}: Nomor Seri {1} bukan milik Kelompok {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Baris # {0}: Tanggal Berakhir Layanan tidak boleh sebelum Tanggal Posting Faktur,
Row #{0}: Service Start Date cannot be greater than Service End Date,Baris # {0}: Tanggal Mulai Layanan tidak boleh lebih besar dari Tanggal Akhir Layanan,
Row #{0}: Service Start and End Date is required for deferred accounting,Baris # {0}: Layanan Mulai dan Tanggal Berakhir diperlukan untuk akuntansi yang ditangguhkan,
Row {0}: Invalid Item Tax Template for item {1},Baris {0}: Template Pajak Item Tidak Valid untuk item {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Baris {0}: Jumlah tidak tersedia untuk {4} di gudang {1} pada saat posting entri ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Baris {0}: pengguna belum menerapkan aturan {1} pada item {2},
Row {0}:Sibling Date of Birth cannot be greater than today.,Baris {0}: Tanggal Lahir Saudara tidak boleh lebih besar dari hari ini.,
Row({0}): {1} is already discounted in {2},Baris ({0}): {1} sudah didiskon dalam {2},
Rows Added in {0},Baris Ditambahkan dalam {0},
Rows Removed in {0},Baris Dihapus dalam {0},
Save,Simpan,
Save Item,Simpan Barang,
Saved Items,Item Tersimpan,
Search Items ...,Cari Item ...,
Search for a payment,Cari pembayaran,
Search for anything ...,Cari apa saja ...,
Search results for,Hasil pencarian,
Select Difference Account,Pilih Perbedaan Akun,
Select a Default Priority.,Pilih Prioritas Default.,
Select a company,Pilih perusahaan,
Select finance book for the item {0} at row {1},Pilih buku keuangan untuk item {0} di baris {1},
Select only one Priority as Default.,Pilih hanya satu Prioritas sebagai Default.,
Seller Information,Informasi penjual,
Send,Kirim,
Send a message,Kirim pesan,
Sending,Mengirim,
Sends Mails to lead or contact based on a Campaign schedule,Mengirim Email untuk memimpin atau menghubungi berdasarkan jadwal Kampanye,
Serial Number Created,Nomor Seri Dibuat,
Serial Numbers Created,Nomor Seri Dibuat,
Serial no(s) required for serialized item {0},Tidak diperlukan nomor seri untuk item berseri {0},
Series,Seri,
Server Error,server error,
Service Level Agreement has been changed to {0}.,Perjanjian Tingkat Layanan telah diubah menjadi {0}.,
Service Level Agreement was reset.,Perjanjian Tingkat Layanan telah diatur ulang.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Perjanjian Tingkat Layanan dengan Jenis Entitas {0} dan Entitas {1} sudah ada.,
Set Meta Tags,Setel Tag Meta,
Set {0} in company {1},Setel {0} di perusahaan {1},
Setup,Pengaturan,
Shift Management,Manajemen Pergeseran,
Show Future Payments,Tampilkan Pembayaran di Masa Mendatang,
Show Linked Delivery Notes,Tampilkan Catatan Pengiriman Tertaut,
Show Sales Person,Tampilkan Tenaga Penjualan,
Show Stock Ageing Data,Tampilkan Data Penuaan Stok,
Show Warehouse-wise Stock,Perlihatkan Stock-bijaksana Stock,
Size,Ukuran,
Something went wrong while evaluating the quiz.,Terjadi kesalahan saat mengevaluasi kuis.,
Sr,sr,
Start,Mulai,
Start Date cannot be before the current date,Tanggal Mulai tidak boleh sebelum tanggal saat ini,
Start Time,Waktu Mulai,
Status,Status,
Status must be Cancelled or Completed,Status harus Dibatalkan atau Diselesaikan,
Stock Balance Report,Laporan Neraca Stok,
Stock Entry has been already created against this Pick List,Entri Stok telah dibuat terhadap Daftar Pick ini,
Stock Ledger ID,ID Buku Besar Saham,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Nilai Stok ({0}) dan Saldo Akun ({1}) tidak sinkron untuk akun {2} dan gudang tertautnya.,
Stores - {0},Toko - {0},
Student with email {0} does not exist,Siswa dengan email {0} tidak ada,
Submit Review,Kirim Ulasan,
Submitted,Dikirim,
Supplier Addresses And Contacts,Supplier Alamat dan Kontak,
Synchronize this account,Sinkronkan akun ini,
Tag,Menandai,
Target Location is required while receiving Asset {0} from an employee,Lokasi Target diperlukan saat menerima Aset {0} dari seorang karyawan,
Target Location is required while transferring Asset {0},Lokasi Target diperlukan saat mentransfer Aset {0},
Target Location or To Employee is required while receiving Asset {0},Diperlukan Lokasi Target atau Kepada Karyawan saat menerima Aset {0},
Task's {0} End Date cannot be after Project's End Date.,Tanggal Akhir {0} Task tidak boleh setelah Tanggal Berakhir Proyek.,
Task's {0} Start Date cannot be after Project's End Date.,{0} Tanggal Mulai Task tidak boleh setelah Tanggal Berakhir Proyek.,
Tax Account not specified for Shopify Tax {0},Akun Pajak tidak ditentukan untuk Pajak Shopify {0},
Tax Total,Total Pajak,
Template,Contoh,
The Campaign '{0}' already exists for the {1} '{2}',Kampanye &#39;{0}&#39; sudah ada untuk {1} &#39;{2}&#39;,
The difference between from time and To Time must be a multiple of Appointment,Perbedaan antara dari waktu ke waktu harus merupakan kelipatan dari janji temu,
The field Asset Account cannot be blank,Akun Aset bidang tidak boleh kosong,
The field Equity/Liability Account cannot be blank,Akun Ekuitas / Kewajiban bidang tidak boleh kosong,
The following serial numbers were created: <br><br> {0},Nomor seri berikut ini dibuat: <br><br> {0},
The parent account {0} does not exists in the uploaded template,Akun induk {0} tidak ada dalam templat yang diunggah,
The question cannot be duplicate,Pertanyaan tidak dapat diduplikasi,
The selected payment entry should be linked with a creditor bank transaction,Entri pembayaran yang dipilih harus dikaitkan dengan transaksi bank kreditor,
The selected payment entry should be linked with a debtor bank transaction,Entri pembayaran yang dipilih harus dikaitkan dengan transaksi bank debitur,
The total allocated amount ({0}) is greated than the paid amount ({1}).,Jumlah total yang dialokasikan ({0}) lebih greated daripada jumlah yang dibayarkan ({1}).,
This Service Level Agreement is specific to Customer {0},Perjanjian Tingkat Layanan ini khusus untuk 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 memutuskan tautan akun ini dari layanan eksternal yang mengintegrasikan ERPNext dengan rekening bank Anda. Itu tidak bisa diurungkan. Apakah Anda yakin ?,
This bank account is already synchronized,Rekening bank ini sudah disinkronkan,
This bank transaction is already fully reconciled,Transaksi bank ini sudah sepenuhnya direkonsiliasi,
This page keeps track of items you want to buy from sellers.,Halaman ini melacak item yang ingin Anda beli dari penjual.,
This page keeps track of your items in which buyers have showed some interest.,Halaman ini melacak barang-barang Anda di mana pembeli telah menunjukkan minat.,
Thursday,Kamis,
Title,Judul,
"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Untuk memungkinkan tagihan berlebih, perbarui &quot;Kelebihan Tagihan Penagihan&quot; di Pengaturan Akun atau Item.",
"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Untuk memungkinkan penerimaan / pengiriman berlebih, perbarui &quot;Penerimaan Lebih / Tunjangan Pengiriman&quot; di Pengaturan Stok atau Item.",
Total,Total,
Total Payment Request amount cannot be greater than {0} amount,Jumlah total Permintaan Pembayaran tidak boleh lebih dari jumlah {0},
Total payments amount can't be greater than {},Total jumlah pembayaran tidak boleh lebih dari {},
Totals,Total,
Transactions already retreived from the statement,Transaksi sudah diambil dari pernyataan,
Transfer Material to Supplier,Mentransfer Bahan untuk Pemasok,
Transport Receipt No and Date are mandatory for your chosen Mode of Transport,No Kwitansi Transportasi dan Tanggal wajib untuk Mode Transportasi yang Anda pilih,
Tuesday,Selasa,
Type,Jenis,
Unable to find the time slot in the next {0} days for the operation {1}.,Tidak dapat menemukan slot waktu dalam {0} hari berikutnya untuk operasi {1}.,
Unable to update remote activity,Tidak dapat memperbarui aktivitas jarak jauh,
Unknown Caller,Penelpon tak dikenal,
Unlink external integrations,Putuskan integrasi eksternal,
Unpublish Item,Batalkan publikasi Item,
Unreconciled,Tidak direkonsiliasi,
Unsupported GST Category for E-Way Bill JSON generation,Kategori GST yang tidak didukung untuk pembuatan JSON e-Way Bill,
Update,Perbaruan,
Update Taxes for Items,Perbarui Pajak untuk Barang,
"Upload a bank statement, link or reconcile a bank account","Unggah laporan bank, tautkan atau rekonsiliasi rekening bank",
Upload a statement,Unggah pernyataan,
Use a name that is different from previous project name,Gunakan nama yang berbeda dari nama proyek sebelumnya,
User {0} is disabled,Pengguna {0} dinonaktifkan,
Users and Permissions,Pengguna dan Perizinan,
Valuation Rate required for Item {0} at row {1},Diperlukan Tingkat Penilaian untuk Item {0} di baris {1},
Values Out Of Sync,Nilai Tidak Disinkronkan,
Vehicle Type is required if Mode of Transport is Road,Jenis Kendaraan diperlukan jika Mode Transportasi adalah Jalan,
Vendor Name,Nama pedagang,
Verify Email,verifikasi email,
View,Melihat,
View all issues from {0},Lihat semua masalah dari {0},
View call log,Lihat log panggilan,
Warehouse,Gudang,
Warehouse not found against the account {0},Gudang tidak ditemukan melawan akun {0},
Welcome to {0},Selamat Datang di {0},
Why do think this Item should be removed?,Mengapa menurut Anda Barang ini harus dihapus?,
Work Order {0}: Job Card not found for the operation {1},Perintah Kerja {0}: Kartu Kerja tidak ditemukan untuk operasi {1},
Workday {0} has been repeated.,Hari kerja {0} telah diulang.,
XML Files Processed,File XML Diproses,
Year,Tahun,
Yearly,Tahunan,
You are not allowed to enroll for this course,Anda tidak diizinkan mendaftar untuk kursus ini,
You are not enrolled in program {0},Anda tidak terdaftar dalam program {0},
You can Feature upto 8 items.,Anda dapat Fitur hingga 8 item.,
You can also copy-paste this link in your browser,Anda juga dapat copy-paste link ini di browser Anda,
You can publish upto 200 items.,Anda dapat menerbitkan hingga 200 item.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,Anda harus mengaktifkan pemesanan ulang otomatis di Pengaturan Saham untuk mempertahankan tingkat pemesanan ulang.,
You must be a registered supplier to generate e-Way Bill,Anda harus menjadi pemasok terdaftar untuk menghasilkan RUU e-Way,
You need to login as a Marketplace User before you can add any reviews.,Anda harus masuk sebagai Pengguna Marketplace sebelum dapat menambahkan ulasan apa pun.,
Your Featured Items,Item Unggulan Anda,
Your Items,Barang Anda,
Your Profile,Profil kamu,
Your rating:,Rating Anda:,
and,dan,
e-Way Bill already exists for this document,RUU e-Way sudah ada untuk dokumen ini,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Kupon yang digunakan adalah {1}. Kuantitas yang diizinkan habis,
{0} Operations: {1},{0} Operasi: {1},
{0} bank transaction(s) created,{0} transaksi bank dibuat,
{0} bank transaction(s) created and {1} errors,{0} transaksi bank dibuat dan {1} kesalahan,
{0} can not be greater than {1},{0} tidak boleh lebih dari {1},
{0} conversations,{0} percakapan,
{0} is not a company bank account,{0} bukan rekening bank perusahaan,
{0} is not a group node. Please select a group node as parent cost center,{0} bukan simpul grup. Silakan pilih simpul grup sebagai pusat biaya induk,
{0} is not the default supplier for any items.,{0} bukan pemasok default untuk item apa pun.,
{0} is required,{0} diperlukan,
{0}: {1} must be less than {2},{0}: {1} harus kurang dari {2},
{} is required to generate E-Way Bill JSON,{} diperlukan untuk menghasilkan Bill JSON e-Way,
"Invalid lost reason {0}, please create a new lost reason","Alasan hilang yang tidak valid {0}, harap buat alasan hilang yang baru",
Profit This Year,Untung Tahun Ini,
Total Expense,Total Biaya,
Total Expense This Year,Total Biaya Tahun Ini,
Total Income,Jumlah pemasukan,
Total Income This Year,Total Penghasilan Tahun Ini,
Barcode,Kode batang,
Clear,Bersih,
Comments,Komentar,
DocType,DocType,
Download,Unduh,
Left,Waktu tersisa,
Link,Tautan,
New,Baru,
Print,Mencetak,
Reference Name,nama referensi,
Refresh,Segarkan,
Success,Keberhasilan,
Time,Waktu,
Value,Nilai,
Actual,Sebenarnya,
Add to Cart,Tambahkan ke Keranjang Belanja,
Days Since Last Order,Hari Sejak Pemesanan Terakhir,
In Stock,Dalam Persediaan,
Mode Of Payment,Mode Pembayaran,
No students Found,Tidak ada siswa yang ditemukan,
Not in Stock,Tidak tersedia,
Please select a Customer,Silahkan pilih pelanggan,
Received From,Diterima dari,
Sales Person,Pramuniaga,
To date cannot be before From date,Sampai saat ini tidak dapat sebelumnya dari tanggal,
Write Off,Mencoret,
{0} Created,{0} Dibuat,
Email Id,Id Email,
No,No,
Reference Doctype,Referensi DocType,
Yes,Ya,
Actual ,Aktual,
Add to cart,Tambahkan ke Keranjang Belanja,
Budget,Anggaran belanja,
Chart of Accounts,Bagan Akun,
Customer database.,Database Pelanggan.,
Days Since Last order,Hari Sejak Pemesanan Terakhir,
Download as JSON,Unduh sebagai JSON,
End date can not be less than start date,Tanggal Berakhir tidak boleh kurang dari Tanggal Mulai,
For Default Supplier (Optional),Untuk Pemasok Default (Opsional),
From date cannot be greater than To date,Dari Tanggal tidak dapat lebih besar dari To Date,
Group by,Kelompok Dengan,
In stock,Persediaan,
Item name,Nama Item,
Minimum Qty,Minimum Qty,
More details,Detail Lebih,
Nature of Supplies,Sifat Pasokan,
No Items found.,Tidak ada item yang ditemukan.,
No students found,Tidak ada siswa Ditemukan,
Not in stock,Habis,
Not permitted,Tidak diperbolehkan,
Open Issues ,terbuka Isu,
Open Projects ,terbuka Proyek,
Open To Do ,Terbuka yang Harus Dilakukan,
Operation Id,Id Operasi,
Partially ordered,sebagian Memerintahkan,
Please select company first,Silakan pilih perusahaan terlebih dahulu,
Please select patient,Silakan pilih pasien,
Printed On ,Dicetak Aktif,
Projected qty,Proyeksi qty,
Sales person,Sales Person,
Serial No {0} Created,Serial ada {0} dibuat,
Source Location is required for the Asset {0},Lokasi Sumber diperlukan untuk Aset {0},
Tax Id,Id pajak,
To Time,Untuk waktu,
To date cannot be before from date,To Date tidak bisa sebelum From Date,
Total Taxable value,Total Nilai Kena Pajak,
Upcoming Calendar Events ,Mendatang Kalender Acara,
Value or Qty,Nilai atau Qty,
Variance ,Perbedaan,
Variant of,Varian Of,
Write off,Mencoret,
hours,jam,
received from,diterima dari,
to,untuk,
Cards,Kartu-kartu,
Percentage,Persentase,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Gagal mengatur default untuk negara {0}. Silakan 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. Itu tidak dapat memiliki Serial No / Batch No terhadapnya.,
Please set {0},Silakan set {0},
Please set {0},Silakan atur {0},supplier
Draft,Minuman,"docstatus,=,0"
Cancelled,Dibatalkan,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Silakan mengatur Sistem Penamaan Instruktur di Pendidikan&gt; Pengaturan Pendidikan,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Silakan tentukan Seri Penamaan untuk {0} melalui Pengaturan&gt; Pengaturan&gt; Seri Penamaan,
UOM Conversion factor ({0} -> {1}) not found for item: {2},Faktor Konversi UOM ({0} -&gt; {1}) tidak ditemukan untuk item: {2},
Item Code > Item Group > Brand,Kode Barang&gt; Grup Barang&gt; Merek,
Customer > Customer Group > Territory,Pelanggan&gt; Grup Pelanggan&gt; Wilayah,
Supplier > Supplier Type,Pemasok&gt; Jenis Pemasok,
The value of {0} differs between Items {1} and {2},Nilai {0} berbeda antara Item {1} dan {2},
Auto Fetch,Ambil Otomatis,
Fetch Serial Numbers based on FIFO,Ambil Nomor Seri berdasarkan FIFO,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Perlengkapan kena pajak luar (selain nilai nol, nilai nihil dan pengecualian)",
"To allow different rates, disable the {0} checkbox in {1}.","Untuk mengizinkan tarif yang berbeda, nonaktifkan {0} kotak centang di {1}.",
Asset{} {assets_link} created for {},Aset {} {assets_link} dibuat untuk {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Baris {}: Asset Naming Series wajib untuk pembuatan otomatis untuk item {},
Assets not created for {0}. You will have to create asset manually.,Aset tidak dibuat untuk {0}. Anda harus 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} memiliki entri akuntansi dalam mata uang {2} untuk perusahaan {3}. Pilih akun piutang atau hutang dengan mata uang {2}.,
Invalid Account,Akun tidak berlaku,
Purchase Order Required,Order Pembelian Diperlukan,
Purchase Receipt Required,Diperlukan Nota Penerimaan,
Account Missing,Akun Hilang,
Requested,Diminta,
Partially Paid,Dibayar Sebagian,
Invalid Account Currency,Mata Uang Akun Tidak Valid,
"Row {0}: The item {1}, quantity must be positive number","Baris {0}: Item {1}, kuantitas harus bilangan positif",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Harap setel {0} untuk Batched Item {1}, yang digunakan untuk menyetel {2} pada Kirim.",
Expiry Date Mandatory,Tanggal Kedaluwarsa 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 beberapa kali,
YouTube,Youtube,
Vimeo,Vimeo,
Publish Date,Tanggal Terbit,
Duration,Lamanya,
Advanced Settings,Pengaturan lanjutan,
Path,Jalan,
Components,komponen,
Verified By,Diverifikasi oleh,
Invalid naming series (. missing) for {0},Seri penamaan tidak valid (. Hilang) untuk {0},
Filter Based On,Filter Berdasarkan,
Reqd by date,Diperlukan menurut tanggal,
Manufacturer Part Number <b>{0}</b> is invalid,Nomor <b>Suku</b> Cadang Produsen <b>{0}</b> tidak valid,
Invalid Part Number,Nomor Bagian Tidak Valid,
Select atleast one Social Media from Share on.,Pilih setidaknya satu Media Sosial dari Bagikan di.,
Invalid Scheduled Time,Waktu Terjadwal Tidak Valid,
Length Must be less than 280.,Panjang Harus kurang dari 280.,
Error while POSTING {0},Galat saat MEMPOSTING {0},
"Session not valid, Do you want to login?","Sesi tidak valid, Apakah Anda ingin masuk?",
Session Active,Sesi Aktif,
Session Not Active. Save doc to login.,Sesi Tidak Aktif. Simpan dokumen untuk login.,
Error! Failed to get request token.,Kesalahan! Gagal mendapatkan token permintaan.,
Invalid {0} or {1},{0} atau {1} tidak valid,
Error! Failed to get access token.,Kesalahan! Gagal mendapatkan token akses.,
Invalid Consumer Key or Consumer Secret Key,Kunci Konsumen atau Kunci Rahasia Konsumen Tidak Valid,
Your Session will be expire in ,Sesi Anda akan berakhir dalam,
 days.,hari.,
Session is expired. Save doc to login.,Sesi kedaluwarsa. Simpan dokumen untuk login.,
Error While Uploading Image,Kesalahan Saat Mengupload Gambar,
You Didn't have permission to access this API,Anda tidak memiliki izin untuk mengakses API ini,
Valid Upto date cannot be before Valid From date,Tanggal Valid Upto tidak boleh sebelum tanggal Valid From,
Valid From date not in Fiscal Year {0},Berlaku Sejak tanggal tidak dalam Tahun Anggaran {0},
Valid Upto date not in Fiscal Year {0},Berlaku Sampai saat ini bukan dalam Tahun Anggaran {0},
Group Roll No,Grup Roll No,
Maintain Same Rate Throughout Sales Cycle,Pertahankan Tarif Sama Sepanjang Siklus Penjualan,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Baris {1}: Kuantitas ({0}) tidak boleh pecahan. Untuk mengizinkan ini, nonaktifkan &#39;{2}&#39; di UOM {3}.",
Must be Whole Number,Harus Nomor Utuh,
Please setup Razorpay Plan ID,Harap siapkan ID Paket Razorpay,
Contact Creation Failed,Pembuatan Kontak Gagal,
Leaves Expired,Daun Kedaluwarsa,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Baris # {}: {} dari {} harus {}. Harap ubah akun atau pilih akun lain.,
Row #{}: Please asign task to a member.,Baris # {}: Berikan tugas kepada anggota.,
Process Failed,Proses Gagal,
Tally Migration Error,Kesalahan Migrasi Penghitungan,
Please set Warehouse in Woocommerce Settings,Silakan atur Gudang di Pengaturan 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}: Tanggal Jatuh Tempo di tabel Ketentuan Pembayaran tidak boleh sebelum Tanggal Pengiriman,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Tidak dapat menemukan {} untuk item {}. Silakan atur yang sama di Master Item atau Pengaturan Stok.,
Row #{0}: The batch {1} has already expired.,Baris # {0}: Kelompok {1} telah kedaluwarsa.,
Start Year and End Year are mandatory,Tahun Awal dan Tahun Akhir wajib diisi,
GL Entry,GL Entri,
Cannot allocate more than {0} against payment term {1},Tidak dapat mengalokasikan lebih dari {0} terhadap jangka waktu pembayaran {1},
The root account {0} must be a group,Akun root {0} haruslah sebuah grup,
Shipping rule not applicable for country {0} in Shipping Address,Aturan pengiriman tidak berlaku untuk negara {0} di Alamat Pengiriman,
Get Payments from,Dapatkan Pembayaran dari,
Set Shipping Address or Billing Address,Tetapkan Alamat Pengiriman atau Alamat Penagihan,
Consultation Setup,Pengaturan Konsultasi,
Fee Validity,Validitas biaya,
Laboratory Setup,Setup Laboratorium,
Dosage Form,Formulir Dosis,
Records and History,Catatan dan Sejarah,
Patient Medical Record,Catatan Medis Pasien,
Rehabilitation,Rehabilitasi,
Exercise Type,Jenis Latihan,
Exercise Difficulty Level,Tingkat Kesulitan Latihan,
Therapy Type,Jenis Terapi,
Therapy Plan,Rencana Terapi,
Therapy Session,Sesi Terapi,
Motor Assessment Scale,Skala Penilaian Motorik,
[Important] [ERPNext] Auto Reorder Errors,[Penting] [ERPNext] Kesalahan Penyusunan Ulang Otomatis,
"Regards,","Salam,",
The following {0} were created: {1},Berikut ini {0} telah dibuat: {1},
Work Orders,Perintah Kerja,
The {0} {1} created sucessfully,{0} {1} berhasil dibuat,
Work Order cannot be created for following reason: <br> {0},Perintah Kerja tidak dapat dibuat karena alasan berikut:<br> {0},
Add items in the Item Locations table,Tambahkan item di tabel Lokasi Item,
Update Current Stock,Perbarui Stok Saat Ini,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Mempertahankan Sampel berdasarkan kelompok, harap centang Memiliki Nomor Kelompok untuk menyimpan sampel item",
Empty,Kosong,
Currently no stock available in any warehouse,Saat ini tidak ada stok yang tersedia di gudang mana pun,
BOM Qty,BOM Qty,
Time logs are required for {0} {1},Log waktu diperlukan untuk {0} {1},
Total Completed Qty,Total Qty yang Diselesaikan,
Qty to Manufacture,Kuantitas untuk diproduksi,
Social Media Campaigns,Kampanye Media Sosial,
From Date can not be greater than To Date,From Date tidak boleh lebih dari To Date,
Please set a Customer linked to the Patient,Harap tetapkan Pelanggan yang ditautkan ke Pasien,
Customer Not Found,Pelanggan Tidak Ditemukan,
Please Configure Clinical Procedure Consumable Item in ,Harap Konfigurasikan Item Konsumsi Prosedur Klinis di,
Missing Configuration,Konfigurasi Hilang,
Out Patient Consulting Charge Item,Out Item Biaya Konsultasi Pasien,
Inpatient Visit Charge Item,Barang Kiriman Kunjungan Rawat Inap,
OP Consulting Charge,OP Consulting Charge,
Inpatient Visit Charge,Biaya Kunjungan Rawat Inap,
Appointment Status,Status Pengangkatan,
Test: ,Uji:,
Collection Details: ,Detail Koleksi:,
{0} out of {1},{0} dari {1},
Select Therapy Type,Pilih Jenis Terapi,
{0} sessions completed,{0} sesi selesai,
{0} session completed,{0} sesi selesai,
 out of {0},dari {0},
Therapy Sessions,Sesi Terapi,
Add Exercise Step,Tambahkan Langkah Latihan,
Edit Exercise Step,Edit Langkah Latihan,
Patient Appointments,Janji Pasien,
Item with Item Code {0} already exists,Item dengan Kode Item {0} sudah ada,
Registration Fee cannot be negative or zero,Biaya Pendaftaran tidak boleh negatif atau nol,
Configure a service Item for {0},Konfigurasikan Item layanan untuk {0},
Temperature: ,Suhu:,
Pulse: ,Nadi:,
Respiratory Rate: ,Tingkat Pernapasan:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,catatan:,
Check Availability,Cek ketersediaan,
Please select Patient first,Pilih Pasien dulu,
Please select a Mode of Payment first,Pilih salah satu Mode Pembayaran terlebih dahulu,
Please set the Paid Amount first,Harap setel Jumlah Berbayar terlebih dahulu,
Not Therapies Prescribed,Bukan Terapi yang Diresepkan,
There are no Therapies prescribed for Patient {0},Tidak ada Terapi yang diresepkan untuk Pasien {0},
Appointment date and Healthcare Practitioner are Mandatory,Tanggal pengangkatan dan Praktisi Perawatan Kesehatan adalah Wajib,
No Prescribed Procedures found for the selected Patient,Tidak ada Prosedur yang Diresepkan ditemukan untuk Pasien yang dipilih,
Please select a Patient first,Silakan pilih a Pasien dulu,
There are no procedure prescribed for ,Tidak ada prosedur yang ditentukan untuk,
Prescribed Therapies,Terapi yang Diresepkan,
Appointment overlaps with ,Janji temu tumpang tindih dengan,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} memiliki janji temu dengan {1} pada {2} memiliki durasi {3} menit.,
Appointments Overlapping,Janji Tumpang tindih,
Consulting Charges: {0},Biaya Konsultasi: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Janji Dibatalkan. Harap tinjau dan batalkan faktur {0},
Appointment Cancelled.,Janji Dibatalkan.,
Fee Validity {0} updated.,Validitas Biaya {0} diperbarui.,
Practitioner Schedule Not Found,Jadwal Praktisi Tidak Ditemukan,
{0} is on a Half day Leave on {1},{0} sedang Cuti Setengah hari pada {1},
{0} is on Leave on {1},{0} sedang Berangkat pada {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} tidak memiliki Jadwal Praktisi Perawatan Kesehatan. Tambahkan di Praktisi Perawatan Kesehatan,
Healthcare Service Units,Unit Layanan Kesehatan,
Complete and Consume,Lengkapi dan Konsumsi,
Complete {0} and Consume Stock?,Selesaikan {0} dan Konsumsi 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?,Kuantitas stok untuk memulai Prosedur tidak tersedia di Gudang {0}. Apakah Anda ingin merekam Entri Saham?,
{0} as on {1},{0} seperti pada {1},
Clinical Procedure ({0}):,Prosedur Klinis ({0}):,
Please set Customer in Patient {0},Harap tetapkan Pelanggan dalam Pasien {0},
Item {0} is not active,Item {0} tidak aktif,
Therapy Plan {0} created successfully.,Rencana Terapi {0} berhasil dibuat.,
Symptoms: ,Gejala:,
No Symptoms,Tidak Ada Gejala,
Diagnosis: ,Diagnosa:,
No Diagnosis,Tidak Ada Diagnosis,
Drug(s) Prescribed.,Obat yang Diresepkan.,
Test(s) Prescribed.,Tes Diresepkan.,
Procedure(s) Prescribed.,Prosedur (s) Diresepkan.,
Counts Completed: {0},Hitungan Selesai: {0},
Patient Assessment,Penilaian Pasien,
Assessments,Penilaian,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Kepala (atau kelompok) terhadap yang Entri Akuntansi dibuat dan saldo dipertahankan.,
Account Name,Nama Akun,
Inter Company Account,Akun Perusahaan Inter,
Parent Account,Rekening Induk,
Setting Account Type helps in selecting this Account in transactions.,Mengatur Tipe Akun membantu dalam memilih Akun ini dalam transaksi.,
Chargeable,Dapat Dibebankan,
Rate at which this tax is applied,Tingkat di mana pajak ini diterapkan,
Frozen,Beku,
"If the account is frozen, entries are allowed to restricted users.","Jika account beku, entri yang diizinkan untuk pengguna terbatas.",
Balance must be,Saldo harus,
Lft,Lft,
Rgt,Rgt,
Old Parent,Old Parent,
Include in gross,Termasuk dalam jumlah besar,
Auditor,Akuntan,
Accounting Dimension,Dimensi Akuntansi,
Dimension Name,Nama Dimensi,
Dimension Defaults,Default Dimensi,
Accounting Dimension Detail,Detail Dimensi Akuntansi,
Default Dimension,Dimensi Default,
Mandatory For Balance Sheet,Wajib Untuk Neraca,
Mandatory For Profit and Loss Account,Wajib Untuk Akun Untung dan Rugi,
Accounting Period,Periode akuntansi,
Period Name,Nama Periode,
Closed Documents,Dokumen Tertutup,
Accounts Settings,Pengaturan Akun,
Settings for Accounts,Pengaturan Akun,
Make Accounting Entry For Every Stock Movement,Membuat Entri Akuntansi Untuk Setiap Perpindahan Persediaan,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Pengguna dengan peran ini diperbolehkan untuk mengatur account beku dan membuat / memodifikasi entri akuntansi terhadap rekening beku,
Determine Address Tax Category From,Tentukan Alamat Dari Kategori Pajak Dari,
Over Billing Allowance (%),Kelonggaran Penagihan Berlebih (%),
Credit Controller,Kredit Kontroller,
Check Supplier Invoice Number Uniqueness,Periksa keunikan nomor Faktur Supplier,
Make Payment via Journal Entry,Lakukan Pembayaran via Journal Entri,
Unlink Payment on Cancellation of Invoice,Membatalkan tautan Pembayaran pada Pembatalan Faktur,
Book Asset Depreciation Entry Automatically,Rekam Entri Depresiasi Asset secara Otomatis,
Automatically Add Taxes and Charges from Item Tax Template,Secara otomatis Menambahkan Pajak dan Tagihan dari Item Pajak Template,
Automatically Fetch Payment Terms,Ambil Ketentuan Pembayaran secara otomatis,
Show Payment Schedule in Print,Tampilkan Jadwal Pembayaran di Cetak,
Currency Exchange Settings,Pengaturan Pertukaran Mata Uang,
Allow Stale Exchange Rates,Izinkan Menggunakan Nilai Tukar Kaldaluarsa,
Stale Days,Hari basi,
Report Settings,Setelan Laporan,
Use Custom Cash Flow Format,Gunakan Format Arus Kas Khusus,
Allowed To Transact With,Diizinkan Untuk Bertransaksi Dengan,
SWIFT number,Nomor SWIFT,
Branch Code,Kode cabang,
Address and Contact,Alamat dan Kontak,
Address HTML,Alamat HTML,
Contact HTML,Hubungi HTML,
Data Import Configuration,Konfigurasi Impor Data,
Bank Transaction Mapping,Pemetaan Transaksi Bank,
Plaid Access Token,Token Akses Kotak-kotak,
Company Account,Akun Perusahaan,
Account Subtype,Subtipe Akun,
Is Default Account,Apakah Akun Default,
Is Company Account,Apakah Akun Perusahaan,
Party Details,Detail Partai,
Account Details,Rincian Account,
IBAN,IBAN,
Bank Account No,Rekening Bank No,
Integration Details,Detail Integrasi,
Integration ID,ID Integrasi,
Last Integration Date,Tanggal Integrasi Terakhir,
Change this date manually to setup the next synchronization start date,Ubah tanggal ini secara manual untuk mengatur tanggal mulai sinkronisasi berikutnya,
Mask,Topeng,
Bank Account Subtype,Subjenis Rekening Bank,
Bank Account Type,Jenis Rekening Bank,
Bank Guarantee,Bank Garansi,
Bank Guarantee Type,Jenis Garansi Bank,
Receiving,Menerima,
Providing,Menyediakan,
Reference Document Name,Nama Dokumen Referensi,
Validity in Days,Validitas dalam hari,
Bank Account Info,Info Rekening Bank,
Clauses and Conditions,Klausul dan Ketentuan,
Other Details,Detail lainnya,
Bank Guarantee Number,Nomor Bank Garansi,
Name of Beneficiary,Nama Penerima Manfaat,
Margin Money,Uang Marjin,
Charges Incurred,Biaya yang Ditimbulkan,
Fixed Deposit Number,Fixed Deposit Number,
Account Currency,Mata Uang Akun,
Select the Bank Account to reconcile.,Pilih Rekening Bank untuk didamaikan.,
Include Reconciled Entries,Termasuk Entri Rekonsiliasi,
Get Payment Entries,Dapatkan Entries Pembayaran,
Payment Entries,Entries pembayaran,
Update Clearance Date,Perbarui Tanggal Kliring,
Bank Reconciliation Detail,Rincian Rekonsiliasi Bank,
Cheque Number,Nomor Cek,
Cheque Date,Cek Tanggal,
Statement Header Mapping,Pemetaan Header Pernyataan,
Statement Headers,Tajuk Pernyataan,
Transaction Data Mapping,Pemetaan Data Transaksi,
Mapped Items,Item yang Dipetakan,
Bank Statement Settings Item,Item Pengaturan Pernyataan Bank,
Mapped Header,Header yang Dipetakan,
Bank Header,Header Bank,
Bank Statement Transaction Entry,Entri Transaksi Pernyataan Bank,
Bank Transaction Entries,Entri Transaksi Bank,
New Transactions,Transaksi Baru,
Match Transaction to Invoices,Cocokkan Transaksi ke Faktur,
Create New Payment/Journal Entry,Buat Pembayaran Baru / Entri Jurnal,
Submit/Reconcile Payments,Serahkan / Rekonsiliasi Pembayaran,
Matching Invoices,Mencocokkan Faktur,
Payment Invoice Items,Item Faktur Pembayaran,
Reconciled Transactions,Rekonsiliasi Transaksi,
Bank Statement Transaction Invoice Item,Item Faktur Transaksi Pernyataan Bank,
Payment Description,Deskripsi pembayaran,
Invoice Date,Faktur Tanggal,
invoice,faktur,
Bank Statement Transaction Payment Item,Item Pembayaran Transaksi Pernyataan Bank,
outstanding_amount,Jumlah yang luar biasa,
Payment Reference,Referensi pembayaran,
Bank Statement Transaction Settings Item,Item Pengaturan Transaksi Pernyataan Bank,
Bank Data,Data Bank,
Mapped Data Type,Dipetakan Jenis Data,
Mapped Data,Data yang Dipetakan,
Bank Transaction,Transaksi bank,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,ID transaksi,
Unallocated Amount,Jumlah yang tidak terisi,
Field in Bank Transaction,Bidang dalam Transaksi Bank,
Column in Bank File,Kolom dalam File Bank,
Bank Transaction Payments,Pembayaran Transaksi Bank,
Control Action,Tindakan Kontrol,
Applicable on Material Request,Berlaku pada Permintaan Material,
Action if Annual Budget Exceeded on MR,Tindakan jika Anggaran Tahunan Melebihi MR,
Warn,Peringatan: Cuti aplikasi berisi tanggal blok berikut,
Ignore,Diabaikan,
Action if Accumulated Monthly Budget Exceeded on MR,Tindakan jika Akumulasi Anggaran Bulanan Melebihi MR,
Applicable on Purchase Order,Berlaku pada Purchase Order,
Action if Annual Budget Exceeded on PO,Tindakan jika Anggaran Tahunan Terlampaui pada PO,
Action if Accumulated Monthly Budget Exceeded on PO,Tindakan jika Akumulasi Anggaran Bulanan Melebihi pada PO,
Applicable on booking actual expenses,Berlaku untuk memesan biaya sebenarnya,
Action if Annual Budget Exceeded on Actual,Tindakan jika Anggaran Tahunan Terlampaui pada Aktual,
Action if Accumulated Monthly Budget Exceeded on Actual,Tindakan jika Akumulasi Anggaran Bulanan Melebihi Aktual,
Budget Accounts,Akun anggaran,
Budget Account,Akun anggaran,
Budget Amount,Jumlah anggaran,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-Form ada,
Received Date,Diterima Tanggal,
Quarter,Seperempat,
I,saya,
II,II,
III,AKU AKU AKU,
IV,IV,
C-Form Invoice Detail,C-Form Faktur Detil,
Invoice No,Nomor Faktur,
Cash Flow Mapper,Kas Arus Mapper,
Section Name,nama bagian,
Section Header,Bagian Header,
Section Leader,Pemimpin Seksi,
e.g Adjustments for:,misalnya Penyesuaian untuk:,
Section Subtotal,Bagian Subtotal,
Section Footer,Bagian footer,
Cash Flow Mapping,Pemetaan Arus Kas,
Select Maximum Of 1,Pilih Maksimum 1,
Is Finance Cost,Apakah Biaya Keuangan?,
Is Working Capital,Apakah Modal Kerja,
Is Finance Cost Adjustment,Apakah Penyesuaian Biaya Keuangan,
Is Income Tax Liability,Apakah Kewajiban Pajak Penghasilan,
Is Income Tax Expense,Merupakan Beban Pajak Penghasilan,
Cash Flow Mapping Accounts,Akun Pemetaan Arus Kas,
account,Akun,
Cash Flow Mapping Template,Template Pemetaan Arus Kas,
Cash Flow Mapping Template Details,Detail Rincian Pemetaan Arus Kas,
POS-CLO-,POS-CLO-,
Custody,Tahanan,
Net Amount,Nilai Bersih,
Cashier Closing Payments,Pembayaran Penutupan Kasir,
Chart of Accounts Importer,Bagan Importir Akun,
Import Chart of Accounts from a csv file,Impor Bagan Akun dari file csv,
Attach custom Chart of Accounts file,Lampirkan bagan Akun kustom file,
Chart Preview,Pratinjau Bagan,
Chart Tree,Bagan Pohon,
Cheque Print Template,Template Print Cek,
Has Print Format,Memiliki Print Format,
Primary Settings,Pengaturan utama,
Cheque Size,Cek Ukuran,
Regular,Reguler,
Starting position from top edge,Mulai posisi dari tepi atas,
Cheque Width,Lebar Cek,
Cheque Height,Cek Tinggi,
Scanned Cheque,Cek Terpindai,
Is Account Payable,Apakah Account Payable,
Distance from top edge,Jarak dari tepi atas,
Distance from left edge,Jarak dari tepi kiri,
Message to show,Pesan untuk menunjukkan,
Date Settings,Pengaturan Tanggal,
Starting location from left edge,Mulai lokasi dari tepi kiri,
Payer Settings,Pengaturan Wajib,
Width of amount in word,Lebar jumlah dalam kata,
Line spacing for amount in words,spasi untuk jumlah kata,
Amount In Figure,Jumlah Dalam Gambar,
Signatory Position,Posisi penandatangan,
Closed Document,Dokumen Tertutup,
Track separate Income and Expense for product verticals or divisions.,Melacak Penghasilan terpisah dan Beban untuk vertikal produk atau divisi.,
Cost Center Name,Nama Pusat Biaya,
Parent Cost Center,Parent Biaya Pusat,
lft,lft,
rgt,rgt,
Coupon Code,Kode Kupon,
Coupon Name,Nama Kupon,
"e.g. ""Summer Holiday 2019 Offer 20""",mis. &quot;Liburan Musim Panas 2019 Penawaran 20&quot;,
Coupon Type,Jenis Kupon,
Promotional,Promosi,
Gift Card,Kartu ucapan,
unique e.g. SAVE20  To be used to get discount,unik misalkan SAVE20 Digunakan untuk mendapatkan diskon,
Validity and Usage,Validitas dan Penggunaan,
Valid From,Berlaku dari,
Valid Upto,Berlaku Hingga,
Maximum Use,Penggunaan Maksimum,
Used,Bekas,
Coupon Description,Deskripsi Kupon,
Discounted Invoice,Faktur Diskon,
Debit to,Debit ke,
Exchange Rate Revaluation,Revaluasi Nilai Tukar,
Get Entries,Dapatkan Entri,
Exchange Rate Revaluation Account,Akun Revaluasi Nilai Tukar,
Total Gain/Loss,Total Keuntungan / Kerugian,
Balance In Account Currency,Saldo dalam Mata Uang Akun,
Current Exchange Rate,Nilai Tukar Saat Ini,
Balance In Base Currency,Saldo dalam Mata Uang Dasar,
New Exchange Rate,Nilai Tukar Baru,
New Balance In Base Currency,Saldo Baru Dalam Mata Uang Dasar,
Gain/Loss,Merugi,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Tahun Anggaran ** mewakili Tahun Keuangan. Semua entri akuntansi dan transaksi besar lainnya dilacak terhadap Tahun Anggaran ** **.,
Year Name,Nama Tahun,
"For e.g. 2012, 2012-13","Untuk misalnya 2012, 2012-13",
Year Start Date,Tanggal Mulai Tahun,
Year End Date,Tanggal Akhir Tahun,
Companies,Perusahaan,
Auto Created,Dibuat Otomatis,
Stock User,Pengguna Persediaan,
Fiscal Year Company,Tahun Fiskal Perusahaan,
Debit Amount,Jumlah Debit,
Credit Amount,Jumlah kredit,
Debit Amount in Account Currency,Jumlah Debit di Akun Mata Uang,
Credit Amount in Account Currency,Jumlah kredit di Akun Mata Uang,
Voucher Detail No,Nomor Detail Voucher,
Is Opening,Apakah Membuka,
Is Advance,Apakah Muka,
To Rename,Untuk Mengganti Nama,
GST Account,Akun GST,
CGST Account,Akun CGST,
SGST Account,Akun SGST,
IGST Account,Akun IGST,
CESS Account,Akun CESS,
Loan Start Date,Tanggal Mulai Pinjaman,
Loan Period (Days),Periode Pinjaman (Hari),
Loan End Date,Tanggal Akhir Pinjaman,
Bank Charges,Biaya Bank,
Short Term Loan Account,Rekening Pinjaman Jangka Pendek,
Bank Charges Account,Rekening Biaya Bank,
Accounts Receivable Credit Account,Akun Piutang Kredit,
Accounts Receivable Discounted Account,"Rekening yang Dapat Diterima, Akun yang Didiskon",
Accounts Receivable Unpaid Account,"Piutang Akun, Akun yang Belum Dibayar",
Item Tax Template,Template Pajak Barang,
Tax Rates,Tarif pajak,
Item Tax Template Detail,Rincian Templat Pajak Barang,
Entry Type,Entri Type,
Inter Company Journal Entry,Entri Jurnal Perusahaan Inter,
Bank Entry,Entri Bank,
Cash Entry,Entri Kas,
Credit Card Entry,Entri Kartu Kredit,
Contra Entry,Contra Entri,
Excise Entry,Cukai Entri,
Write Off Entry,Menulis Off Entri,
Opening Entry,Entri Pembukaan,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Entri Akuntansi,
Total Debit,Jumlah Debit,
Total Credit,Jumlah Kredit,
Difference (Dr - Cr),Perbedaan (Dr - Cr),
Make Difference Entry,Buat Entri Perbedaan,
Total Amount Currency,Jumlah Total Mata Uang,
Total Amount in Words,Jumlah Total dalam Kata,
Remark,Komentar,
Paid Loan,Pinjaman Berbayar,
Inter Company Journal Entry Reference,Referensi Entri Jurnal Perusahaan Inter,
Write Off Based On,Menulis Off Berbasis On,
Get Outstanding Invoices,Dapatkan Faktur Berjalan,
Write Off Amount,Hapus Jumlah,
Printing Settings,Pengaturan pencetakan,
Pay To / Recd From,Pay To / RECD Dari,
Payment Order,Pesanan Pembayaran,
Subscription Section,Bagian Langganan,
Journal Entry Account,Akun Jurnal Entri,
Account Balance,Saldo Akun Rekening,
Party Balance,Saldo Partai,
Accounting Dimensions,Dimensi Akuntansi,
If Income or Expense,Jika Penghasilan atau Beban,
Exchange Rate,Nilai Tukar,
Debit in Company Currency,Debit di Mata Uang Perusahaan,
Credit in Company Currency,Kredit di Perusahaan Mata,
Payroll Entry,Entri Penggajian,
Employee Advance,Uang muka karyawan,
Reference Due Date,Tanggal Jatuh Tempo Referensi,
Loyalty Program Tier,Tingkat Program Loyalitas,
Redeem Against,Redeem Against,
Expiry Date,Tanggal Berakhir,
Loyalty Point Entry Redemption,Penukaran Masuk Poin Loyalitas,
Redemption Date,Tanggal Penebusan,
Redeemed Points,Poin yang Ditebus,
Loyalty Program Name,Nama Program Loyalitas,
Loyalty Program Type,Jenis Program Loyalitas,
Single Tier Program,Program Tier Tunggal,
Multiple Tier Program,Program Multi Tier,
Customer Territory,Wilayah Pelanggan,
Auto Opt In (For all customers),Keikutsertaan Otomatis (Untuk semua pelanggan),
Collection Tier,Tingkat Koleksi,
Collection Rules,Aturan Koleksi,
Redemption,Penebusan,
Conversion Factor,Faktor konversi,
1 Loyalty Points = How much base currency?,1 Poin Loyalitas = Berapa mata uang dasar?,
Expiry Duration (in days),Durasi Kedaluwarsa (dalam hari),
Help Section,Bagian Bantuan,
Loyalty Program Help,Bantuan Program Loyalitas,
Loyalty Program Collection,Koleksi Program Loyalitas,
Tier Name,Nama Tingkat,
Minimum Total Spent,Jumlah Total Minimum,
Collection Factor (=1 LP),Faktor Pengumpulan (= 1 LP),
For how much spent = 1 Loyalty Point,Untuk berapa banyak yang dihabiskan = 1 Loyalty Point,
Mode of Payment Account,Mode Akun Pembayaran Rekening,
Default Account,Akun Standar,
Default account will be automatically updated in POS Invoice when this mode is selected.,Akun default akan diperbarui secara otomatis di Faktur POS saat mode ini dipilih.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Distribusi Bulanan ** membantu Anda mendistribusikan Anggaran / Target di antara bulan-bulan jika bisnis Anda memiliki musim.,
Distribution Name,Nama Distribusi,
Name of the Monthly Distribution,Nama Distribusi Bulanan,
Monthly Distribution Percentages,Persentase Distribusi bulanan,
Monthly Distribution Percentage,Bulanan Persentase Distribusi,
Percentage Allocation,Persentase Alokasi,
Create Missing Party,Buat Partai Hilang,
Create missing customer or supplier.,Buat pelanggan atau pemasok yang hilang,
Opening Invoice Creation Tool Item,Membuka Item Alat Pembuatan Faktur,
Temporary Opening Account,Rekening Pembukaan Sementara,
Party Account,Akun Party,
Type of Payment,Jenis Pembayaran,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Menerima,
Internal Transfer,internal transfer,
Payment Order Status,Status Pesanan Pembayaran,
Payment Ordered,Pembayaran Dipesan,
Payment From / To,Pembayaran Dari / Untuk,
Company Bank Account,Rekening Bank Perusahaan,
Party Bank Account,Rekening Bank Pihak,
Account Paid From,Akun Dibayar Dari,
Account Paid To,Akun Dibayar Kepada,
Paid Amount (Company Currency),Dibayar Jumlah (Perusahaan Mata Uang),
Received Amount,menerima Jumlah,
Received Amount (Company Currency),Menerima Jumlah (Perusahaan Mata Uang),
Get Outstanding Invoice,Dapatkan Faktur Luar Biasa,
Payment References,Referensi pembayaran,
Writeoff,writeoff,
Total Allocated Amount,Jumlah Total Dialokasikan,
Total Allocated Amount (Company Currency),Total Dialokasikan Jumlah (Perusahaan Mata Uang),
Set Exchange Gain / Loss,Set Efek Gain / Loss,
Difference Amount (Company Currency),Perbedaan Jumlah (Perusahaan Mata Uang),
Write Off Difference Amount,Menulis Off Perbedaan Jumlah,
Deductions or Loss,Pemotongan atau Rugi,
Payment Deductions or Loss,Pengurangan pembayaran atau Rugi,
Cheque/Reference Date,Cek / Tanggal Referensi,
Payment Entry Deduction,Pembayaran Masuk Pengurangan,
Payment Entry Reference,Pembayaran Referensi Masuk,
Allocated,Dialokasikan,
Payment Gateway Account,Pembayaran Rekening Gateway,
Payment Account,Akun Pembayaran,
Default Payment Request Message,Standar Pesan Permintaan Pembayaran,
PMO-,PMO-,
Payment Order Type,Jenis Pesanan Pembayaran,
Payment Order Reference,Referensi Order Pembayaran,
Bank Account Details,Detail Rekening Bank,
Payment Reconciliation,Rekonsiliasi Pembayaran,
Receivable / Payable Account,Piutang / Account Payable,
Bank / Cash Account,Bank / Rekening Kas,
From Invoice Date,Dari Tanggal Faktur,
To Invoice Date,Untuk Faktur Tanggal,
Minimum Invoice Amount,Nilai Minimum Faktur,
Maximum Invoice Amount,Maksimum Faktur Jumlah,
System will fetch all the entries if limit value is zero.,Sistem akan mengambil semua entri jika nilai batasnya nol.,
Get Unreconciled Entries,Dapatkan Entries Unreconciled,
Unreconciled Payment Details,Rincian Pembayaran Unreconciled,
Invoice/Journal Entry Details,Faktur / Jurnal entri Detail,
Payment Reconciliation Invoice,Rekonsiliasi Faktur Pembayaran,
Invoice Number,Nomor Faktur,
Payment Reconciliation Payment,Rekonsiliasi Pembayaran Pembayaran,
Reference Row,referensi Row,
Allocated amount,Jumlah yang dialokasikan,
Payment Request Type,Jenis Permintaan Pembayaran,
Outward,Ke luar,
Inward,Batin,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,Detil transaksi,
Amount in customer's currency,Jumlah dalam mata uang pelanggan,
Is a Subscription,Apakah Berlangganan,
Transaction Currency,Mata uang transaksi,
Subscription Plans,Paket Langganan,
SWIFT Number,Nomor SWIFT,
Recipient Message And Payment Details,Penerima Pesan Dan Rincian Pembayaran,
Make Sales Invoice,Buat Faktur Penjualan,
Mute Email,Diamkan Surel,
payment_url,payment_url,
Payment Gateway Details,Pembayaran Detail Gateway,
Payment Schedule,Jadwal pembayaran,
Invoice Portion,Bagian faktur,
Payment Amount,Jumlah pembayaran,
Payment Term Name,Nama Istilah Pembayaran,
Due Date Based On,Tanggal Jatuh Tempo Berdasarkan,
Day(s) after invoice date,Hari setelah tanggal faktur,
Day(s) after the end of the invoice month,Hari setelah akhir bulan faktur,
Month(s) after the end of the invoice month,Bulan setelah akhir bulan faktur,
Credit Days,Hari Kredit,
Credit Months,Bulan kredit,
Allocate Payment Based On Payment Terms,Alokasikan Pembayaran Berdasarkan Ketentuan Pembayaran,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Jika kotak centang ini dicentang, jumlah yang dibayarkan akan dipisahkan dan dialokasikan sesuai dengan jumlah dalam jadwal pembayaran untuk setiap jangka waktu pembayaran",
Payment Terms Template Detail,Rincian Syarat Pembayaran,
Closing Fiscal Year,Penutup Tahun Anggaran,
Closing Account Head,Penutupan Akun Kepala,
"The account head under Liability or Equity, in which Profit/Loss will be booked","Account kepala di bawah Kewajiban atau Ekuitas, di mana Laba / Rugi akan dipesan",
POS Customer Group,POS Pelanggan Grup,
POS Field,Bidang POS,
POS Item Group,POS Barang Grup,
Company Address,Alamat perusahaan,
Update Stock,Perbarui Persediaan,
Ignore Pricing Rule,Abaikan Aturan Harga,
Applicable for Users,Berlaku untuk Pengguna,
Sales Invoice Payment,Pembayaran Faktur Penjualan,
Item Groups,Grup Item,
Only show Items from these Item Groups,Hanya perlihatkan Item dari Grup Item ini,
Customer Groups,Grup Pelanggan,
Only show Customer of these Customer Groups,Hanya tunjukkan Pelanggan dari Grup Pelanggan ini,
Write Off Account,Akun Write Off,
Write Off Cost Center,Write Off Biaya Pusat,
Account for Change Amount,Akun untuk Perubahan Jumlah,
Taxes and Charges,Pajak dan Biaya,
Apply Discount On,Terapkan Diskon Pada,
POS Profile User,Profil Pengguna POS,
Apply On,Terapkan Pada,
Price or Product Discount,Harga atau Diskon Produk,
Apply Rule On Item Code,Terapkan Aturan Pada Item Kode,
Apply Rule On Item Group,Terapkan Grup Aturan Pada Item,
Apply Rule On Brand,Terapkan Aturan Pada Merek,
Mixed Conditions,Kondisi Campuran,
Conditions will be applied on all the selected items combined. ,Ketentuan akan diterapkan pada semua item yang dipilih digabungkan.,
Is Cumulative,Apakah Kumulatif,
Coupon Code Based,Berbasis Kode Kupon,
Discount on Other Item,Diskon untuk Barang Lainnya,
Apply Rule On Other,Terapkan Aturan Pada Lainnya,
Party Information,Informasi Pesta,
Quantity and Amount,Kuantitas dan Jumlah,
Min Qty,Min Qty,
Max Qty,Qty Maksimum,
Min Amt,Min Amt,
Max Amt,Max Amt,
Period Settings,Pengaturan Periode,
Margin,Margin,
Margin Type,Margin Jenis,
Margin Rate or Amount,Tingkat margin atau Jumlah,
Price Discount Scheme,Skema Diskon Harga,
Rate or Discount,Tarif atau Diskon,
Discount Percentage,Persentase Diskon,
Discount Amount,Jumlah Diskon,
For Price List,Untuk Daftar Harga,
Product Discount Scheme,Skema Diskon Produk,
Same Item,Barang yang sama,
Free Item,Barang Gratis,
Threshold for Suggestion,Ambang Batas untuk Saran,
System will notify to increase or decrease quantity or amount ,Sistem akan memberi tahu untuk menambah atau mengurangi kuantitas atau jumlah,
"Higher the number, higher the priority","Semakin tinggi angkanya, semakin tinggi prioritas",
Apply Multiple Pricing Rules,Terapkan Beberapa Aturan Harga,
Apply Discount on Rate,Terapkan Diskon pada Harga,
Validate Applied Rule,Validasikan Aturan yang Diterapkan,
Rule Description,Deskripsi Aturan,
Pricing Rule Help,Aturan Harga Bantuan,
Promotional Scheme Id,Id Skema Promosi,
Promotional Scheme,Skema Promosi,
Pricing Rule Brand,Merek Aturan Harga,
Pricing Rule Detail,Detail Aturan Harga,
Child Docname,Docname anak,
Rule Applied,Aturan Diterapkan,
Pricing Rule Item Code,Kode Item Aturan Harga,
Pricing Rule Item Group,Grup Item Aturan Harga,
Price Discount Slabs,Potongan Harga Diskon,
Promotional Scheme Price Discount,Diskon Harga Skema Promosi,
Product Discount Slabs,Potongan Diskon Produk,
Promotional Scheme Product Discount,Diskon Produk Skema Promosi,
Min Amount,Jumlah Min,
Max Amount,Jumlah Maks,
Discount Type,Jenis Diskon,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Kategori Pemotongan Pajak,
Edit Posting Date and Time,Mengedit Posting Tanggal dan Waktu,
Is Paid,Telah dibayar,
Is Return (Debit Note),Is Return (Debit Note),
Apply Tax Withholding Amount,Terapkan Pajak Pemotongan Amount,
Accounting Dimensions ,Dimensi Akuntansi,
Supplier Invoice Details,Pemasok Rincian Faktur,
Supplier Invoice Date,Tanggal Faktur Supplier,
Return Against Purchase Invoice,Retur Terhadap Faktur Pembelian,
Select Supplier Address,Pilih Pemasok Alamat,
Contact Person,Contact Person,
Select Shipping Address,Pilih Alamat Pengiriman,
Currency and Price List,Mata Uang dan Daftar Harga,
Price List Currency,Daftar Harga Mata uang,
Price List Exchange Rate,Daftar Harga Tukar,
Set Accepted Warehouse,Tetapkan Gudang yang Diterima,
Rejected Warehouse,Gudang Reject,
Warehouse where you are maintaining stock of rejected items,Gudang di mana Anda menyimpan barang-barang yang ditolak/reject,
Raw Materials Supplied,Bahan Baku Disupply,
Supplier Warehouse,Gudang Supplier,
Pricing Rules,Aturan Harga,
Supplied Items,Produk Disupply,
Total (Company Currency),Total (Perusahaan Mata Uang),
Net Total (Company Currency),Jumlah Bersih (Perusahaan Mata Uang),
Total Net Weight,Total Berat Bersih,
Shipping Rule,Aturan Pengiriman,
Purchase Taxes and Charges Template,Membeli Pajak dan Biaya Template,
Purchase Taxes and Charges,Pajak Pembelian dan Biaya,
Tax Breakup,Rincian pajak,
Taxes and Charges Calculation,Pajak dan Biaya Dihitung,
Taxes and Charges Added (Company Currency),Pajak dan Biaya Ditambahkan (Perusahaan Mata Uang),
Taxes and Charges Deducted (Company Currency),Pajak dan Biaya Dikurangi (Perusahaan Mata Uang),
Total Taxes and Charges (Company Currency),Jumlah Pajak dan Biaya (Perusahaan Mata Uang),
Taxes and Charges Added,Pajak dan Biaya Ditambahkan,
Taxes and Charges Deducted,Pajak dan Biaya Dikurangi,
Total Taxes and Charges,Jumlah Pajak dan Biaya,
Additional Discount,Potongan Tambahan,
Apply Additional Discount On,Terapkan tambahan Diskon Pada,
Additional Discount Amount (Company Currency),Jumlah Diskon Tambahan (dalam Mata Uang Perusahaan),
Additional Discount Percentage,Persentase Diskon Tambahan,
Additional Discount Amount,Jumlah Diskon Tambahan,
Grand Total (Company Currency),Jumlah Nilai Total (Mata Uang Perusahaan),
Rounding Adjustment (Company Currency),Penyesuaian Pembulatan (Mata Uang Perusahaan),
Rounded Total (Company Currency),Rounded Jumlah (Perusahaan Mata Uang),
In Words (Company Currency),Dalam Kata-kata (Perusahaan Mata Uang),
Rounding Adjustment,Penyesuaian Pembulatan,
In Words,Dalam Kata,
Total Advance,Jumlah Uang Muka,
Disable Rounded Total,Nonaktifkan Pembulatan Jumlah,
Cash/Bank Account,Rekening Kas / Bank,
Write Off Amount (Company Currency),Jumlah Nilai Write Off (mata uang perusahaan),
Set Advances and Allocate (FIFO),Tetapkan Uang Muka dan Alokasikan (FIFO),
Get Advances Paid,Dapatkan Uang Muka Dibayar,
Advances,Advances,
Terms,Istilah,
Terms and Conditions1,Syarat dan Conditions1,
Group same items,Kelompok item yang sama,
Print Language,cetak Bahasa,
"Once set, this invoice will be on hold till the set date","Setelah ditetapkan, faktur ini akan ditahan hingga tanggal yang ditetapkan",
Credit To,Kredit Untuk,
Party Account Currency,Akun Mata Uang per Party,
Against Expense Account,Terhadap Akun Biaya,
Inter Company Invoice Reference,Referensi Faktur Perusahaan Inter,
Is Internal Supplier,Apakah Pemasok Internal,
Start date of current invoice's period,Tanggal faktur periode saat ini mulai,
End date of current invoice's period,Tanggal akhir periode faktur saat ini,
Update Auto Repeat Reference,Perbarui Referensi Ulangan Otomatis,
Purchase Invoice Advance,Uang Muka Faktur Pembelian,
Purchase Invoice Item,Stok Barang Faktur Pembelian,
Quantity and Rate,Kuantitas dan Harga,
Received Qty,Qty Diterima,
Accepted Qty,Jumlah yang Diterima,
Rejected Qty,ditolak Qty,
UOM Conversion Factor,Faktor Konversi UOM,
Discount on Price List Rate (%),Diskon Harga Daftar Rate (%),
Price List Rate (Company Currency),Daftar Harga Rate (Perusahaan Mata Uang),
Rate ,Harga,
Rate (Company Currency),Rate (Perusahaan Mata Uang),
Amount (Company Currency),Nilai Jumlah (mata uang perusahaan),
Is Free Item,Apakah Barang Gratis,
Net Rate,Nilai Bersih / Net,
Net Rate (Company Currency),Tingkat Net (Perusahaan Mata Uang),
Net Amount (Company Currency),Jumlah Bersih (Perusahaan Mata Uang),
Item Tax Amount Included in Value,Jumlah Pajak Barang Termasuk dalam Nilai,
Landed Cost Voucher Amount,Jumlah Nilai Voucher Landing Cost,
Raw Materials Supplied Cost,Biaya Bahan Baku Disediakan,
Accepted Warehouse,Gudang Barang Diterima,
Serial No,Serial ada,
Rejected Serial No,Serial No Barang Ditolak,
Expense Head,Akun Kepala Biaya,
Is Fixed Asset,Apakah Aset Tetap,
Asset Location,Lokasi Aset,
Deferred Expense,Beban Ditangguhkan,
Deferred Expense Account,Akun Beban Ditangguhkan,
Service Stop Date,Tanggal Berhenti Layanan,
Enable Deferred Expense,Aktifkan Beban Ditangguhkan,
Service Start Date,Tanggal Mulai Layanan,
Service End Date,Tanggal Akhir Layanan,
Allow Zero Valuation Rate,Biarkan Zero Valuation Rate,
Item Tax Rate,Tarif Pajak Stok Barang,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Rinci tabel pajak diambil dari master Stok Barang sebagai string dan disimpan dalam bidang ini.\n Digunakan untuk Pajak dan Biaya,
Purchase Order Item,Stok Barang Order Pembelian,
Purchase Receipt Detail,Detail Kwitansi Pembelian,
Item Weight Details,Rincian Berat Item,
Weight Per Unit,Berat Per Unit,
Total Weight,Berat keseluruhan,
Weight UOM,Berat UOM,
Page Break,Halaman Istirahat,
Consider Tax or Charge for,Pertimbangkan Pajak atau Biaya untuk,
Valuation and Total,Penilaian dan Total,
Valuation,Valuation,
Add or Deduct,Penambahan atau Pengurangan,
Deduct,Pengurangan,
On Previous Row Amount,Pada Sebelumnya Row Jumlah,
On Previous Row Total,Jumlah Pada Row Sebelumnya,
On Item Quantity,Pada Kuantitas Barang,
Reference Row #,Referensi Row #,
Is this Tax included in Basic Rate?,Apakah Pajak ini termasuk dalam Basic Rate?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Jika dicentang, jumlah pajak akan dianggap sebagai sudah termasuk dalam Jumlah Tingkat Cetak / Print",
Account Head,Akun Kepala,
Tax Amount After Discount Amount,Jumlah pajak Setelah Diskon Jumlah,
Item Wise Tax Detail ,Rincian Pajak Bijak 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.","Pajak standar template yang dapat diterapkan untuk semua Transaksi Pembelian. Template ini dapat berisi daftar kepala pajak dan juga kepala biaya lain seperti ""Pengiriman"", ""Asuransi"", ""Penanganan"" dll \n\n #### Catatan \n\n Tarif pajak Anda mendefinisikan sini akan menjadi tarif pajak standar untuk semua item ** **. Jika ada Item ** ** yang memiliki tarif yang berbeda, mereka harus ditambahkan dalam ** Pajak Stok Barang ** meja di ** Stok Barang ** menguasai.\n\n #### Deskripsi Kolom \n\n 1. Perhitungan Type: \n - Ini bisa berada di ** Net Jumlah ** (yang adalah jumlah dari jumlah dasar).\n - ** Pada Row Sebelumnya Jumlah / Amount ** (untuk pajak kumulatif atau biaya). Jika Anda memilih opsi ini, pajak akan diterapkan sebagai persentase dari baris sebelumnya (dalam tabel pajak) jumlah atau total.\n - ** Aktual ** (seperti yang disebutkan).\n 2. Akun Kepala: Account buku di mana pajak ini akan dipesan \n 3. Biaya Center: Jika pajak / biaya adalah penghasilan (seperti pengiriman) atau beban perlu dipesan terhadap Cost Center.\n 4. Keterangan: Deskripsi pajak (yang akan dicetak dalam faktur / tanda kutip).\n 5. Tarif: Tarif Pajak.\n 6. Jumlah: Jumlah Pajak.\n 7. Total: Total kumulatif ke titik ini.\n 8. Entrikan Row: Jika berdasarkan ""Sebelumnya Row Jumlah"" Anda dapat memilih nomor baris yang akan diambil sebagai dasar untuk perhitungan ini (default adalah baris sebelumnya).\n 9. Pertimbangkan Pajak atau Biaya untuk: Pada bagian ini Anda dapat menentukan apakah pajak / biaya hanya untuk penilaian (bukan bagian dari total) atau hanya total (tidak menambah nilai Stok Barang) atau keduanya.\n 10. Menambah atau Dikurangi: Apakah Anda ingin menambah atau mengurangi pajak.",
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Sertakan Pembayaran (POS),
Offline POS Name,POS Offline Nama,
Is Return (Credit Note),Apakah Pengembalian (Catatan Kredit),
Return Against Sales Invoice,Retur Terhadap Faktur Penjualan,
Update Billed Amount in Sales Order,Perbarui Jumlah yang Ditagih di Sales Order,
Customer PO Details,Rincian PO Pelanggan,
Customer's Purchase Order,Order Pembelian Pelanggan,
Customer's Purchase Order Date,Tanggal Order Pembelian Pelanggan,
Customer Address,Alamat Pelanggan,
Shipping Address Name,Alamat Pengiriman,
Company Address Name,Nama alamat perusahaan,
Rate at which Customer Currency is converted to customer's base currency,Tingkat di mana Mata Uang Pelanggan dikonversi ke mata uang dasar pelanggan,
Rate at which Price list currency is converted to customer's base currency,Tingkat di mana mata uang Daftar Harga dikonversi ke mata uang dasar pelanggan,
Set Source Warehouse,Tetapkan Gudang Sumber,
Packing List,Packing List,
Packed Items,Produk Kemasan,
Product Bundle Help,Bantuan Bundel Produk,
Time Sheet List,Waktu Daftar Lembar,
Time Sheets,waktu Lembar,
Total Billing Amount,Jumlah Total Tagihan,
Sales Taxes and Charges Template,Penjualan Pajak dan Biaya Template,
Sales Taxes and Charges,Pajak Penjualan dan Biaya,
Loyalty Points Redemption,Penebusan Poin Loyalitas,
Redeem Loyalty Points,Tukar Poin Loyalitas,
Redemption Account,Akun Penebusan,
Redemption Cost Center,Pusat Biaya Penebusan,
In Words will be visible once you save the Sales Invoice.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Faktur Penjualan.,
Allocate Advances Automatically (FIFO),Alokasikan Uang Muka Secara Otomatis (FIFO),
Get Advances Received,Dapatkan Uang Muka Diterima,
Base Change Amount (Company Currency),Dasar Nilai Tukar (Mata Uang Perusahaan),
Write Off Outstanding Amount,Write Off Jumlah Outstanding,
Terms and Conditions Details,Syarat dan Ketentuan Detail,
Is Internal Customer,Apakah Pelanggan Internal,
Is Discounted,Diskon,
Unpaid and Discounted,Tidak dibayar dan didiskon,
Overdue and Discounted,Tunggakan dan Diskon,
Accounting Details,Rincian Akuntansi,
Debit To,Debit Untuk,
Is Opening Entry,Entri Pembuka?,
C-Form Applicable,C-Form Berlaku,
Commission Rate (%),Komisi Rate (%),
Sales Team1,Penjualan team1,
Against Income Account,Terhadap Akun Pendapatan,
Sales Invoice Advance,Uang Muka Faktur Penjualan,
Advance amount,Jumlah Uang Muka,
Sales Invoice Item,Faktur Penjualan Stok Barang,
Customer's Item Code,Kode Barang Pelanggan,
Brand Name,Nama Merek,
Qty as per Stock UOM,Kuantitas sesuai UOM Persediaan,
Discount and Margin,Diskon dan Margin,
Rate With Margin,Tingkat Dengan Margin,
Discount (%) on Price List Rate with Margin,Discount (%) pada Price List Rate dengan Margin,
Rate With Margin (Company Currency),Tingkat Dengan Margin (Mata Uang Perusahaan),
Delivered By Supplier,Terkirim Oleh Supplier,
Deferred Revenue,Pendapatan tangguhan,
Deferred Revenue Account,Akun Pendapatan Ditangguhkan,
Enable Deferred Revenue,Aktifkan Pendapatan Ditangguhkan,
Stock Details,Rincian Persediaan,
Customer Warehouse (Optional),Gudang Customer (pilihan),
Available Batch Qty at Warehouse,Tersedia Batch Qty di Gudang,
Available Qty at Warehouse,Jumlah Tersedia di Gudang,
Delivery Note Item,Pengiriman Stok Barang Note,
Base Amount (Company Currency),Dasar Penilaian (Mata Uang Perusahaan),
Sales Invoice Timesheet,Penjualan Faktur Timesheet,
Time Sheet,Lembar waktu,
Billing Hours,Jam penagihan,
Timesheet Detail,Detil absen,
Tax Amount After Discount Amount (Company Currency),Jumlah pajak Setelah Diskon Jumlah (Perusahaan Mata Uang),
Item Wise Tax Detail,Stok Barang Wise Detil Pajak,
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.","Format pajak standar yang dapat diterapkan untuk semua Transaksi Penjualan. Format ini dapat berisi daftar kepala pajak dan juga kepala pengeluaran / penghasilan lain seperti ""Pengiriman"", ""Asuransi"", ""Penanganan"" dll. #### Catatan: Tarif pajak yang Anda definisikan disini akan menjadi tarif pajak standar untuk semua **Barang**. Jika ada **Barang** yang memiliki tarif yang berbeda, mereka harus ditambahkan ke dalam tabel **Pajak Barang** dalam daftar utama **Barang**. #### Deskripsi Kolom 1. Jenis Perhitungan: - Bisa berdasarkan **Jumlah Netto** (yaitu total dari jumlah dasar). - **Jumlah Baris Sebelumnya** (untuk pajak atau biaya kumulatif). Jika Anda memilih opsi ini, pajak akan diterapkan sebagai prosentase dari jumlah baris sebelumnya (dalam tabel pajak). - **Aktual** (seperti yang disebutkan). 2. Akun Kepala: Akun buku di mana pajak ini akan dibukukan. 3. Pusat Biaya: Jika pajak / ongkos adalah penghasilan (seperti pengiriman) atau beban maka harus dibukukan terhadap Pusat Biaya. 4. Keterangan: Deskripsi pajak (yang akan dicetak dalam faktur / penawaran). 5. Tarif: Tarif Pajak. 6. Jumlah: Jumlah Pajak. 7. Total: Total kumulatif sampai baris ini. 8. Baris Entri: Jika berdasarkan ""Jumlah Baris Sebelumnya"" Anda dapat memilih nomor baris yang akan diambil sebagai dasar perhitungan (standarnya adalah baris sebelumnya). 9. Apakah Pajak ini termasuk dalam Tarif Dasar?: Jika Anda tandai ini, berarti pajak ini tidak akan ditampilkan di bawah tabel barang, tapi akan dimasukkan dalam Tarif Dasar dalam tabel utama barang Anda. Hal ini berguna jika Anda ingin memberikan harga datar /flat price (semua pajak sudah termasuk) untuk pelanggan.",
* Will be calculated in the transaction.,* Akan dihitung dalam transaksi.,
From No,Dari No,
To No,Ke no,
Is Company,Apakah perusahaan,
Current State,Kondisi saat ini,
Purchased,Dibeli,
From Shareholder,Dari Pemegang Saham,
From Folio No,Dari Folio No,
To Shareholder,Kepada Pemegang Saham,
To Folio No,Untuk Folio No,
Equity/Liability Account,Akun Ekuitas / Kewajiban,
Asset Account,Akun Aset,
(including),(termasuk),
ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
Folio no.,Folio no.,
Address and Contacts,Alamat dan Kontak,
Contact List,Daftar kontak,
Hidden list maintaining the list of contacts linked to Shareholder,Daftar tersembunyi menyimpan daftar kontak yang terhubung dengan Pemegang Saham,
Specify conditions to calculate shipping amount,Tentukan kondisi untuk menghitung jumlah pengiriman,
Shipping Rule Label,Peraturan Pengiriman Label,
example: Next Day Shipping,Contoh: Hari Berikutnya Pengiriman,
Shipping Rule Type,Jenis aturan pengiriman,
Shipping Account,Account Pengiriman,
Calculate Based On,Hitung Berbasis On,
Fixed,Tetap,
Net Weight,Berat Bersih,
Shipping Amount,Jumlah Pengiriman,
Shipping Rule Conditions,Aturan Pengiriman Kondisi,
Restrict to Countries,Batasi ke Negara,
Valid for Countries,Berlaku untuk Negara,
Shipping Rule Condition,Kondisi / Aturan Pengiriman,
A condition for a Shipping Rule,Sebuah kondisi untuk Aturan Pengiriman,
From Value,Dari Nilai,
To Value,Untuk Dinilai,
Shipping Rule Country,Aturan Pengiriman – Negara,
Subscription Period,Periode Langganan,
Subscription Start Date,Tanggal Mulai Berlangganan,
Cancelation Date,Tanggal Pembatalan,
Trial Period Start Date,Tanggal Mulai Periode Percobaan,
Trial Period End Date,Tanggal Akhir Periode Uji Coba,
Current Invoice Start Date,Tanggal Mulai Faktur Saat Ini,
Current Invoice End Date,Tanggal Akhir Faktur Saat Ini,
Days Until Due,Hari Sampai Karena,
Number of days that the subscriber has to pay invoices generated by this subscription,Jumlah hari di mana pelanggan harus membayar faktur yang dihasilkan oleh langganan ini,
Cancel At End Of Period,Batalkan Pada Akhir Periode,
Generate Invoice At Beginning Of Period,Hasilkan Faktur Pada Awal Periode,
Plans,Rencana,
Discounts,Diskon,
Additional DIscount Percentage,Persentase Diskon Tambahan,
Additional DIscount Amount,Jumlah Potongan Tambahan,
Subscription Invoice,Berlangganan Faktur,
Subscription Plan,Paket Langganan,
Cost,Biaya,
Billing Interval,Interval Penagihan,
Billing Interval Count,Jumlah Interval Penagihan,
"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","Jumlah interval untuk bidang interval misalnya jika Interval adalah &#39;Hari&#39; dan Billing Interval Count adalah 3, faktur akan dihasilkan setiap 3 hari",
Payment Plan,Rencana pembayaran,
Subscription Plan Detail,Detail Paket Langganan,
Plan,Rencana,
Subscription Settings,Pengaturan Langganan,
Grace Period,Masa tenggang,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Jumlah hari setelah tanggal faktur telah berlalu sebelum membatalkan langganan atau menandai langganan sebagai tidak dibayar,
Prorate,Prorata,
Tax Rule,Aturan pajak,
Tax Type,Jenis pajak,
Use for Shopping Cart,Gunakan untuk Keranjang Belanja,
Billing City,Kota Penagihan,
Billing County,Daerah Penagihan,
Billing State,Negara penagihan,
Billing Zipcode,Penagihan Kode Pos,
Billing Country,Negara Penagihan,
Shipping City,Pengiriman Kota,
Shipping County,Pengiriman County,
Shipping State,Negara Pengirim,
Shipping Zipcode,Pengiriman Kode Pos,
Shipping Country,Pengiriman Negara,
Tax Withholding Account,Akun Pemotongan Pajak,
Tax Withholding Rates,Tarif Pemotongan Pajak,
Rates,Tarif,
Tax Withholding Rate,Tingkat Pemotongan Pajak,
Single Transaction Threshold,Ambang Transaksi Tunggal,
Cumulative Transaction Threshold,Ambang Transaksi Kumulatif,
Agriculture Analysis Criteria,Kriteria Analisis Pertanian,
Linked Doctype,Linked Doctype,
Water Analysis,Analisis air,
Soil Analysis,Analisis tanah,
Plant Analysis,Analisis Tanaman,
Fertilizer,Pupuk,
Soil Texture,Tekstur Tanah,
Weather,Cuaca,
Agriculture Manager,Manajer Pertanian,
Agriculture User,Pengguna pertanian,
Agriculture Task,Tugas Pertanian,
Task Name,Tugas Nama,
Start Day,Mulai hari,
End Day,Hari Akhir,
Holiday Management,Manajemen liburan,
Ignore holidays,Abaikan hari libur,
Previous Business Day,Hari Bisnis Sebelumnya,
Next Business Day,Hari bisnis selanjutnya,
Urgent,Mendesak,
Crop Name,Nama tanaman,
Scientific Name,Nama ilmiah,
"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 dapat menentukan semua tugas yang perlu dilakukan untuk tanaman ini di sini. Bidang hari digunakan untuk menyebutkan hari dimana tugas tersebut perlu dilakukan, 1 menjadi hari pertama, dll.",
Crop Spacing,Jarak tanam,
Crop Spacing UOM,Tanaman Jarak UOM,
Row Spacing,Row Spacing,
Row Spacing UOM,Row Spacing UOM,
Perennial,Abadi,
Biennial,Dua tahunan,
Planting UOM,Menanam UOM,
Planting Area,Luas Tanam,
Yield UOM,Hasil UOM,
Materials Required,Bahan yang dibutuhkan,
Produced Items,Item yang Diproduksi,
Produce,Menghasilkan,
Byproducts,Produk sampingan,
Linked Location,Lokasi Terhubung,
A link to all the Locations in which the Crop is growing,Tautan ke semua Lokasi tempat Crop tumbuh,
This will be day 1 of the crop cycle,Ini akan menjadi hari 1 dari siklus panen,
ISO 8601 standard,Standar ISO 8601,
Cycle Type,Tipe siklus,
Less than a year,Kurang dari setahun,
The minimum length between each plant in the field for optimum growth,Panjang minimum antara masing-masing pabrik di lapangan untuk pertumbuhan optimum,
The minimum distance between rows of plants for optimum growth,Jarak minimum antara deretan tanaman untuk pertumbuhan optimum,
Detected Diseases,Penyakit Terdeteksi,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,Daftar penyakit yang terdeteksi di lapangan. Bila dipilih maka secara otomatis akan menambahkan daftar tugas untuk mengatasi penyakit tersebut,
Detected Disease,Penyakit Terdeteksi,
LInked Analysis,Analisis LInked,
Disease,Penyakit,
Tasks Created,Tugas Dibuat,
Common Name,Nama yang umum,
Treatment Task,Tugas Pengobatan,
Treatment Period,Periode Pengobatan,
Fertilizer Name,Nama pupuk,
Density (if liquid),Densitas (jika cair),
Fertilizer Contents,Isi pupuk,
Fertilizer Content,Isi pupuk,
Linked Plant Analysis,Analisis Tanaman Tertanam,
Linked Soil Analysis,Analisis Tanah Terkait,
Linked Soil Texture,Tekstur Tanah Tertib,
Collection Datetime,Koleksi Datetime,
Laboratory Testing Datetime,Uji Laboratorium Datetime,
Result Datetime,Hasil Datetime,
Plant Analysis Criterias,Kriteria Analisis Tanaman,
Plant Analysis Criteria,Kriteria Analisis Tanaman,
Minimum Permissible Value,Nilai Diijinkan Minimal,
Maximum Permissible Value,Nilai Maksimum yang Diijinkan,
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,Kriteria Analisis Tanah,
Soil Analysis Criteria,Kriteria Analisis Tanah,
Soil Type,Jenis tanah,
Loamy Sand,Pasir Loamy,
Sandy Loam,Sandy Loam,
Loam,Lempung,
Silt Loam,Silt Loam,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Silty Clay Loam,
Sandy Clay,Sandy Clay,
Silty Clay,Silty Clay,
Clay Composition (%),Komposisi Tanah Liar (%),
Sand Composition (%),Komposisi Pasir (%),
Silt Composition (%),Komposisi Silt (%),
Ternary Plot,Ternary Plot,
Soil Texture Criteria,Kriteria Tekstur Tanah,
Type of Sample,Jenis Sampel,
Container,Wadah,
Origin,Asal,
Collection Temperature ,Suhu Koleksi,
Storage Temperature,Suhu Penyimpanan,
Appearance,Penampilan,
Person Responsible,Orang yang bertanggung jawab,
Water Analysis Criteria,Kriteria Analisis Air,
Weather Parameter,Parameter Cuaca,
ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
Asset Owner,Pemilik aset,
Asset Owner Company,Perusahaan Pemilik Aset,
Custodian,Pemelihara,
Disposal Date,pembuangan Tanggal,
Journal Entry for Scrap,Jurnal masuk untuk Scrap,
Available-for-use Date,Tanggal yang tersedia untuk penggunaan,
Calculate Depreciation,Hitung Depresiasi,
Allow Monthly Depreciation,Izinkan Penyusutan Bulanan,
Number of Depreciations Booked,Jumlah Penyusutan Dipesan,
Finance Books,Buku Keuangan,
Straight Line,Garis lurus,
Double Declining Balance,Ganda Saldo Menurun,
Manual,panduan,
Value After Depreciation,Nilai Setelah Penyusutan,
Total Number of Depreciations,Total Jumlah Penyusutan,
Frequency of Depreciation (Months),Frekuensi Penyusutan (Bulan),
Next Depreciation Date,Berikutnya Penyusutan Tanggal,
Depreciation Schedule,Jadwal penyusutan,
Depreciation Schedules,Jadwal penyusutan,
Insurance details,Detail asuransi,
Policy number,Nomor polisi,
Insurer,Penanggung,
Insured value,Nilai yang diasuransikan,
Insurance Start Date,Tanggal Mulai Asuransi,
Insurance End Date,Tanggal Akhir Asuransi,
Comprehensive Insurance,Asuransi Komprehensif,
Maintenance Required,Pemeliharaan Diperlukan,
Check if Asset requires Preventive Maintenance or Calibration,Periksa apakah Aset memerlukan Pemeliharaan atau Kalibrasi Pencegahan,
Booked Fixed Asset,Aset Tetap yang Dipesan,
Purchase Receipt Amount,Jumlah Penerimaan Pembelian,
Default Finance Book,Buku Keuangan Default,
Quality Manager,Manajer Mutu,
Asset Category Name,Aset Kategori Nama,
Depreciation Options,Opsi Penyusutan,
Enable Capital Work in Progress Accounting,Aktifkan Modal Kerja dalam Progress Accounting,
Finance Book Detail,Detail Buku Keuangan,
Asset Category Account,Aset Kategori Akun,
Fixed Asset Account,Akun Aset Tetap,
Accumulated Depreciation Account,Akun Penyusutan Akumulasi,
Depreciation Expense Account,Akun Beban Penyusutan,
Capital Work In Progress Account,Modal Bekerja di Akun Kemajuan,
Asset Finance Book,Buku Aset Keuangan,
Written Down Value,Nilai Tertulis,
Expected Value After Useful Life,Nilai diharapkan Setelah Hidup Berguna,
Rate of Depreciation,Tingkat Depresiasi,
In Percentage,Dalam Persentase,
Maintenance Team,Tim Pemeliharaan,
Maintenance Manager Name,Nama Manajer Pemeliharaan,
Maintenance Tasks,Tugas pemeliharaan,
Manufacturing User,Manufaktur Pengguna,
Asset Maintenance Log,Log pemeliharaan aset,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Tipe Pemeliharaan,
Maintenance Status,Status pemeliharaan,
Planned,Berencana,
Has Certificate ,Memiliki Sertifikat,
Certificate,Sertifikat,
Actions performed,Tindakan dilakukan,
Asset Maintenance Task,Tugas Pemeliharaan Aset,
Maintenance Task,Tugas pemeliharaan,
Preventive Maintenance,Pemeliharaan preventif,
Calibration,Kalibrasi,
2 Yearly,2 Tahunan,
Certificate Required,Sertifikat yang dibutuhkan,
Assign to Name,Tetapkan ke Nama,
Next Due Date,Tanggal Jatuh Tempo Berikutnya,
Last Completion Date,Tanggal penyelesaian terakhir,
Asset Maintenance Team,Tim Pemeliharaan Aset,
Maintenance Team Name,Nama Tim Pemeliharaan,
Maintenance Team Members,Anggota Tim Pemeliharaan,
Purpose,Tujuan,
Stock Manager,Pengelola Persediaan,
Asset Movement Item,Item Pergerakan Aset,
Source Location,Sumber Lokasi,
From Employee,Dari Karyawan,
Target Location,Lokasi Target,
To Employee,Kepada Karyawan,
Asset Repair,Perbaikan Aset,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Tanggal Kegagalan,
Assign To Name,Berikan nama,
Repair Status,Status perbaikan,
Error Description,Deskripsi kesalahan,
Downtime,Downtime,
Repair Cost,Biaya perbaikan,
Manufacturing Manager,Manajer Manufaktur,
Current Asset Value,Nilai Aktiva Lancar,
New Asset Value,Nilai Aset Baru,
Make Depreciation Entry,Membuat Penyusutan Masuk,
Finance Book Id,Id Buku Keuangan,
Location Name,Nama lokasi,
Parent Location,Lokasi Orangtua,
Is Container,Adalah kontainer,
Check if it is a hydroponic unit,Periksa apakah itu unit hidroponik,
Location Details,Detail Lokasi,
Latitude,Lintang,
Longitude,Garis bujur,
Area,Daerah,
Area UOM,Area UOM,
Tree Details,Detail pohon,
Maintenance Team Member,Anggota Tim Pemeliharaan,
Team Member,Anggota tim,
Maintenance Role,Peran Pemeliharaan,
Buying Settings,Setting Pembelian,
Settings for Buying Module,Pengaturan untuk Modul Pembelian,
Supplier Naming By,Penamaan Supplier Berdasarkan,
Default Supplier Group,Grup Pemasok Default,
Default Buying Price List,Standar Membeli Daftar Harga,
Backflush Raw Materials of Subcontract Based On,Bahan Baku Backflush dari Subkontrak Berdasarkan,
Material Transferred for Subcontract,Material Ditransfer untuk Subkontrak,
Over Transfer Allowance (%),Kelebihan Transfer (%),
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.,Persentase Anda dapat mentransfer lebih banyak dari jumlah yang dipesan. Misalnya: Jika Anda telah memesan 100 unit. dan Tunjangan Anda 10% maka Anda diizinkan mentransfer 110 unit.,
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Dapatkan Produk dari Permintaan Buka Material,
Fetch items based on Default Supplier.,Ambil item berdasarkan Pemasok Default.,
Required By,Diperlukan Oleh,
Order Confirmation No,Konfirmasi Pesanan No,
Order Confirmation Date,Tanggal Konfirmasi Pesanan,
Customer Mobile No,Nomor Seluler Pelanggan,
Customer Contact Email,Email Kontak Pelanggan,
Set Target Warehouse,Tetapkan Gudang Target,
Sets 'Warehouse' in each row of the Items table.,Set &#39;Gudang&#39; di setiap baris tabel Item.,
Supply Raw Materials,Pasokan Bahan Baku,
Purchase Order Pricing Rule,Aturan Harga Pesanan Pembelian,
Set Reserve Warehouse,Tetapkan Gudang Cadangan,
In Words will be visible once you save the Purchase Order.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Purchase Order.,
Advance Paid,Pembayaran Dimuka,
Tracking,Pelacakan,
% Billed,Ditagih %,
% Received,% Diterima,
Ref SQ,Ref SQ,
Inter Company Order Reference,Referensi Pesanan Antar Perusahaan,
Supplier Part Number,Supplier Part Number,
Billed Amt,Nilai Tagihan,
Warehouse and Reference,Gudang dan Referensi,
To be delivered to customer,Akan dikirimkan ke pelanggan,
Material Request Item,Item Permintaan Material,
Supplier Quotation Item,Quotation Stok Barang Supplier,
Against Blanket Order,Menentang Pesanan Selimut,
Blanket Order,Pesanan Selimut,
Blanket Order Rate,Tingkat Pesanan Selimut,
Returned Qty,Qty Retur,
Purchase Order Item Supplied,Purchase Order Stok Barang Disediakan,
BOM Detail No,No. Rincian BOM,
Stock Uom,UOM Persediaan,
Raw Material Item Code,Bahan Baku Item Code,
Supplied Qty,Qty Disupply,
Purchase Receipt Item Supplied,Nota Penerimaan Stok Barang Disediakan,
Current Stock,Persediaan saat ini,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Untuk pemasok individual,
Link to Material Requests,Tautan ke Permintaan Material,
Message for Supplier,Pesan Supplier,
Request for Quotation Item,Permintaan Quotation Barang,
Required Date,Diperlukan Tanggal,
Request for Quotation Supplier,Permintaan Quotation Pemasok,
Send Email,Kirim Email,
Quote Status,Status Penawaran,
Download PDF,Unduh PDF,
Supplier of Goods or Services.,Supplier Stok Barang atau Jasa.,
Name and Type,Nama dan Jenis,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Standar Rekening Bank,
Is Transporter,Apakah Transporter,
Represents Company,Mewakili Perusahaan,
Supplier Type,Supplier Type,
Allow Purchase Invoice Creation Without Purchase Order,Izinkan Pembuatan Faktur Pembelian Tanpa Pesanan Pembelian,
Allow Purchase Invoice Creation Without Purchase Receipt,Izinkan Pembuatan Faktur Pembelian Tanpa Tanda Terima Pembelian,
Warn RFQs,Peringatkan untuk RFQs,
Warn POs,Peringatkan untuk POs,
Prevent RFQs,Mencegah RFQs,
Prevent POs,Mencegah PO,
Billing Currency,Mata Uang Penagihan,
Default Payment Terms Template,Template Persyaratan Pembayaran Default,
Block Supplier,Blokir Pemasok,
Hold Type,Hold Type,
Leave blank if the Supplier is blocked indefinitely,Biarkan kosong jika Pemasok diblokir tanpa batas,
Default Payable Accounts,Standar Akun Hutang,
Mention if non-standard payable account,Sebutkan jika akun hutang non-standar,
Default Tax Withholding Config,Default Pemotongan Pajak Pajak,
Supplier Details,Rincian Supplier,
Statutory info and other general information about your Supplier,Info Statutory dan informasi umum lainnya tentang Supplier Anda,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Supplier Alamat,
Link to material requests,Link ke permintaan bahan,
Rounding Adjustment (Company Currency,Penyesuaian Pembulatan (Mata Uang Perusahaan,
Auto Repeat Section,Bagian Ulangi Otomatis,
Is Subcontracted,Apakah Subkontrak?,
Lead Time in days,Masa Tenggang dalam hari,
Supplier Score,Skor Pemasok,
Indicator Color,Indikator Warna,
Evaluation Period,Periode Evaluasi,
Per Week,Per minggu,
Per Month,Per bulan,
Per Year,Per tahun,
Scoring Setup,Setup Scoring,
Weighting Function,Fungsi pembobotan,
"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","Variabel Scorecard dapat digunakan, dan juga: {total_score} (skor total dari periode tersebut), {period_number} (jumlah periode sampai sekarang)",
Scoring Standings,Klasemen Skor,
Criteria Setup,Setup kriteria,
Load All Criteria,Muat Semua Kriteria,
Scoring Criteria,Kriteria penilaian,
Scorecard Actions,Tindakan Scorecard,
Warn for new Request for Quotations,Peringatkan untuk Permintaan Kuotasi baru,
Warn for new Purchase Orders,Peringatkan untuk Pesanan Pembelian baru,
Notify Supplier,Beritahu Pemasok,
Notify Employee,Beritahu Karyawan,
Supplier Scorecard Criteria,Kriteria Scorecard Pemasok,
Criteria Name,Nama kriteria,
Max Score,Skor Maks,
Criteria Formula,Formula Kriteria,
Criteria Weight,Kriteria Berat,
Supplier Scorecard Period,Periode Scorecard Supplier,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Skor Periode,
Calculations,Perhitungan,
Criteria,Kriteria,
Variables,Variabel,
Supplier Scorecard Setup,Penyiapan Scorecard Pemasok,
Supplier Scorecard Scoring Criteria,Kriteria penilaian scorecard pemasok,
Score,Skor,
Supplier Scorecard Scoring Standing,Penilai Scorecard Penilai Berdiri,
Standing Name,Nama berdiri,
Purple,Ungu,
Yellow,Kuning,
Orange,Jeruk,
Min Grade,Min Grade,
Max Grade,Max Grade,
Warn Purchase Orders,Peringatkan untuk Pesanan Pembelian,
Prevent Purchase Orders,Cegah Pesanan Pembelian,
Employee ,Karyawan,
Supplier Scorecard Scoring Variable,Variabel Scorecard Supplier Variabel,
Variable Name,Nama variabel,
Parameter Name,Nama parameter,
Supplier Scorecard Standing,Supplier Scorecard Berdiri,
Notify Other,Beritahu Lainnya,
Supplier Scorecard Variable,Supplier Scorecard Variabel,
Call Log,Laporan panggilan,
Received By,Diterima oleh,
Caller Information,Informasi Penelepon,
Contact Name,Nama Kontak,
Lead ,Memimpin,
Lead Name,Nama Prospek,
Ringing,Dering,
Missed,Tidak terjawab,
Call Duration in seconds,Durasi Panggilan dalam detik,
Recording URL,Merekam URL,
Communication Medium,Komunikasi Medium,
Communication Medium Type,Jenis Media Komunikasi,
Voice,Suara,
Catch All,Tangkap Semua,
"If there is no assigned timeslot, then communication will be handled by this group","Jika tidak ada slot waktu yang ditetapkan, maka komunikasi akan ditangani oleh grup ini",
Timeslots,Slot waktu,
Communication Medium Timeslot,Timeslot Komunikasi Sedang,
Employee Group,Grup Karyawan,
Appointment,Janji,
Scheduled Time,Waktu yang Dijadwalkan,
Unverified,Tidak diverifikasi,
Customer Details,Rincian Pelanggan,
Phone Number,Nomor telepon,
Skype ID,ID Skype,
Linked Documents,Dokumen Tertaut,
Appointment With,Janji dengan,
Calendar Event,Acara Kalender,
Appointment Booking Settings,Pengaturan Pemesanan Pengangkatan,
Enable Appointment Scheduling,Aktifkan Penjadwalan Janji Temu,
Agent Details,Detail Agen,
Availability Of Slots,Ketersediaan Slot,
Number of Concurrent Appointments,Jumlah Janji Serentak,
Agents,Agen,
Appointment Details,Detail Pengangkatan,
Appointment Duration (In Minutes),Durasi Pengangkatan (Dalam Menit),
Notify Via Email,Beritahu Via Email,
Notify customer and agent via email on the day of the appointment.,Beri tahu pelanggan dan agen melalui email pada hari perjanjian.,
Number of days appointments can be booked in advance,Jumlah hari janji dapat dipesan terlebih dahulu,
Success Settings,Pengaturan Sukses,
Success Redirect URL,URL Pengalihan Sukses,
"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 relatif terhadap URL situs, misalnya &quot;tentang&quot; akan dialihkan ke &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Slot Pemesanan Janji Temu,
Day Of Week,Hari dalam seminggu,
From Time ,Dari Waktu,
Campaign Email Schedule,Jadwal Email Kampanye,
Send After (days),Kirim Setelah (hari),
Signed,Tertanda,
Party User,Pengguna Partai,
Unsigned,Tidak bertanda tangan,
Fulfilment Status,Status Pemenuhan,
N/A,T / A,
Unfulfilled,Tidak terpenuhi,
Partially Fulfilled,Sebagian Terpenuhi,
Fulfilled,Terpenuhi,
Lapsed,Bekas,
Contract Period,Masa kontrak,
Signee Details,Detail Signee,
Signee,Signee,
Signed On,Masuk,
Contract Details,Detail Kontrak,
Contract Template,Template Kontrak,
Contract Terms,Ketentuan Kontrak,
Fulfilment Details,Rincian Pemenuhan,
Requires Fulfilment,Membutuhkan Pemenuhan,
Fulfilment Deadline,Batas Waktu Pemenuhan,
Fulfilment Terms,Syarat Pemenuhan,
Contract Fulfilment Checklist,Daftar Periksa Pemenuhan Kontrak,
Requirement,Kebutuhan,
Contract Terms and Conditions,Syarat dan Ketentuan Kontrak,
Fulfilment Terms and Conditions,Syarat dan Ketentuan Pemenuhan,
Contract Template Fulfilment Terms,Ketentuan Pemenuhan Template Kontrak,
Email Campaign,Kampanye Email,
Email Campaign For ,Kampanye Email Untuk,
Lead is an Organization,Lead adalah sebuah Organisasi,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Nama orang,
Lost Quotation,Quotation hilang,
Interested,Tertarik,
Converted,Dikonversi,
Do Not Contact,Jangan Hubungi,
From Customer,Dari Pelanggan,
Campaign Name,Nama Promosi Kampanye,
Follow Up,Mengikuti,
Next Contact By,Kontak Selanjutnya Oleh,
Next Contact Date,Tanggal Komunikasi Selanjutnya,
Ends On,Berakhir Pada,
Address & Contact,Alamat & Kontak,
Mobile No.,Nomor Ponsel,
Lead Type,Jenis Prospek,
Channel Partner,Chanel Mitra,
Consultant,Konsultan,
Market Segment,Segmen Pasar,
Industry,Industri,
Request Type,Permintaan Type,
Product Enquiry,Produk Enquiry,
Request for Information,Request for Information,
Suggestions,Saran,
Blog Subscriber,Pelanggan Blog,
LinkedIn Settings,Pengaturan LinkedIn,
Company ID,identitas perusahaan,
OAuth Credentials,Kredensial OAuth,
Consumer Key,Kunci Konsumen,
Consumer Secret,Rahasia Konsumen,
User Details,Detail Pengguna,
Person URN,Orang URN,
Session Status,Status Sesi,
Lost Reason Detail,Detail Alasan yang Hilang,
Opportunity Lost Reason,Peluang Hilang Alasan,
Potential Sales Deal,Kesepakatan potensial Penjualan,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Peluang Dari,
Customer / Lead Name,Nama Pelanggan / Prospek,
Opportunity Type,Peluang Type,
Converted By,Dikonversi oleh,
Sales Stage,Panggung Penjualan,
Lost Reason,Alasan Kehilangan,
Expected Closing Date,Tanggal Penutupan yang Diharapkan,
To Discuss,Untuk Diskusikan,
With Items,Dengan Produk,
Probability (%),Probabilitas (%),
Contact Info,Informasi Kontak,
Customer / Lead Address,Alamat Pelanggan / Prospek,
Contact Mobile No,Kontak Mobile No,
Enter name of campaign if source of enquiry is campaign,Entrikan nama kampanye jika sumber penyelidikan adalah kampanye,
Opportunity Date,Peluang Tanggal,
Opportunity Item,Peluang Stok Barang,
Basic Rate,Tarif Dasar,
Stage Name,Nama panggung,
Social Media Post,Posting Media Sosial,
Post Status,Status Posting,
Posted,Diposting,
Share On,Bagikan Di,
Twitter,Indonesia,
LinkedIn,LinkedIn,
Twitter Post Id,ID Posting Twitter,
LinkedIn Post Id,ID Posting LinkedIn,
Tweet,Menciak,
Twitter Settings,Pengaturan Twitter,
API Secret Key,Kunci Rahasia API,
Term Name,istilah Nama,
Term Start Date,Jangka Mulai Tanggal,
Term End Date,Istilah Tanggal Akhir,
Academics User,Pengguna Akademis,
Academic Year Name,Nama Tahun Akademis,
Article,Artikel,
LMS User,Pengguna LMS,
Assessment Criteria Group,Kriteria penilaian Grup,
Assessment Group Name,Nama penilaian Grup,
Parent Assessment Group,Induk Penilaian Grup,
Assessment Name,penilaian Nama,
Grading Scale,Skala penilaian,
Examiner,Pemeriksa,
Examiner Name,Nama pemeriksa,
Supervisor,Pengawas,
Supervisor Name,Nama pengawas,
Evaluate,Evaluasi,
Maximum Assessment Score,Skor Penilaian Maksimum,
Assessment Plan Criteria,Kriteria Rencana Penilaian,
Maximum Score,Skor maksimum,
Grade,Kelas,
Assessment Result Detail,Penilaian Detil Hasil,
Assessment Result Tool,Alat Hasil penilaian,
Result HTML,hasil HTML,
Content Activity,Kegiatan Konten,
Last Activity ,aktivitas terakhir,
Content Question,Pertanyaan Konten,
Question Link,Tautan Pertanyaan,
Course Name,Nama kursus,
Topics,Topik,
Hero Image,Gambar Pahlawan,
Default Grading Scale,Skala Grading bawaan,
Education Manager,Manajer Pendidikan,
Course Activity,Kegiatan Kursus,
Course Enrollment,Pendaftaran Kursus,
Activity Date,Tanggal Aktivitas,
Course Assessment Criteria,Kriteria Penilaian saja,
Weightage,Weightage,
Course Content,Konten Kursus,
Quiz,Ulangan,
Program Enrollment,Program Pendaftaran,
Enrollment Date,tanggal pendaftaran,
Instructor Name,instruktur Nama,
EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
Course Scheduling Tool,Tentu saja Penjadwalan Perangkat,
Course Start Date,Tentu saja Tanggal Mulai,
To TIme,Untuk Waktu,
Course End Date,Tentu saja Tanggal Akhir,
Course Topic,Topik Kursus,
Topic Name,topik Nama,
Education Settings,Pengaturan Pendidikan,
Current Academic Year,Tahun Akademik Saat Ini,
Current Academic Term,Istilah Akademik Saat Ini,
Attendance Freeze Date,Tanggal Pembekuan Kehadiran,
Validate Batch for Students in Student Group,Validasi Batch untuk Siswa di Kelompok Pelajar,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Untuk Kelompok Siswa berbasis Batch, Student Batch akan divalidasi untuk setiap Siswa dari Program Enrollment.",
Validate Enrolled Course for Students in Student Group,Validasi Kursus Terdaftar untuk Siswa di Kelompok Pelajar,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Untuk Kelompok Siswa Berbasis Kursus, Kursus akan divalidasi untuk setiap Siswa dari Program Pendaftaran Pendaftaran Program yang terdaftar.",
Make Academic Term Mandatory,Jadikan Istilah Akademis Wajib,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Jika diaktifkan, bidang Istilah Akademik akan Wajib di Alat Pendaftaran Program.",
Skip User creation for new Student,Lewati pembuatan Pengguna untuk Siswa 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 default, Pengguna baru dibuat untuk setiap Siswa baru. Jika diaktifkan, tidak ada Pengguna baru yang akan dibuat saat Siswa baru dibuat.",
Instructor Records to be created by,Catatan Instruktur yang akan dibuat oleh,
Employee Number,Jumlah Karyawan,
Fee Category,biaya Kategori,
Fee Component,biaya Komponen,
Fees Category,biaya Kategori,
Fee Schedule,Jadwal biaya,
Fee Structure,Struktur biaya,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Status Penciptaan Biaya,
In Process,Dalam Proses,
Send Payment Request Email,Kirim Permintaan Pembayaran Email,
Student Category,Mahasiswa Kategori,
Fee Breakup for each student,Fee Breakup untuk setiap siswa,
Total Amount per Student,Jumlah Total per Siswa,
Institution,Lembaga,
Fee Schedule Program,Program Jadwal Biaya,
Student Batch,Mahasiswa Batch,
Total Students,Jumlah Siswa,
Fee Schedule Student Group,Jadwal Biaya Kelompok Pelajar,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Sertakan Pembayaran,
Send Payment Request,Kirim Permintaan Pembayaran,
Student Details,Rincian siswa,
Student Email,Email Siswa,
Grading Scale Name,Skala Grading Nama,
Grading Scale Intervals,Grading Scale Interval,
Intervals,interval,
Grading Scale Interval,Grading Scale Interval,
Grade Code,Kode kelas,
Threshold,Ambang,
Grade Description,kelas Keterangan,
Guardian,Wali,
Guardian Name,Nama wali,
Alternate Number,Jumlah alternatif,
Occupation,Pendudukan,
Work Address,kerja Alamat,
Guardian Of ,wali Of,
Students,siswa,
Guardian Interests,wali Minat,
Guardian Interest,wali Tujuan,
Interest,Bunga,
Guardian Student,wali Mahasiswa,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Log Instruktur,
Other details,Detail lainnya,
Option,Pilihan,
Is Correct,Benar,
Program Name,Program Nama,
Program Abbreviation,Singkatan Program,
Courses,Kursus,
Is Published,Diterbitkan,
Allow Self Enroll,Izinkan Self Enroll,
Is Featured,Diunggulkan,
Intro Video,Video Pengantar,
Program Course,Kursus Program,
School House,Asrama Sekolah,
Boarding Student,Siswa Asrama,
Check this if the Student is residing at the Institute's Hostel.,Periksa ini jika Siswa berada di Institute&#39;s Hostel.,
Walking,Berjalan,
Institute's Bus,Bus Institut,
Self-Driving Vehicle,Kendaraan Mengemudi Sendiri,
Pick/Drop by Guardian,Pick / Drop oleh Guardian,
Enrolled courses,Kursus yang terdaftar,
Program Enrollment Course,Kursus Pendaftaran Program,
Program Enrollment Fee,Program Pendaftaran Biaya,
Program Enrollment Tool,Program Pendaftaran Alat,
Get Students From,Dapatkan Siswa Dari,
Student Applicant,Mahasiswa Pemohon,
Get Students,Dapatkan Siswa,
Enrollment Details,Rincian pendaftaran,
New Program,Program baru,
New Student Batch,Batch Siswa Baru,
Enroll Students,Daftarkan Siswa,
New Academic Year,Baru Tahun Akademik,
New Academic Term,Istilah Akademik Baru,
Program Enrollment Tool Student,Program Pendaftaran Alat Mahasiswa,
Student Batch Name,Mahasiswa Nama Batch,
Program Fee,Biaya Program,
Question,Pertanyaan,
Single Correct Answer,Jawaban Benar Tunggal,
Multiple Correct Answer,Jawaban Benar,
Quiz Configuration,Konfigurasi Kuis,
Passing Score,Nilai kelulusan,
Score out of 100,Skor dari 100,
Max Attempts,Upaya Max,
Enter 0 to waive limit,Masukkan 0 untuk mengesampingkan batas,
Grading Basis,Dasar Grading,
Latest Highest Score,Skor Tertinggi Terbaru,
Latest Attempt,Percobaan terbaru,
Quiz Activity,Kegiatan Kuis,
Enrollment,Pendaftaran,
Pass,Lulus,
Quiz Question,Pertanyaan Kuis,
Quiz Result,Hasil Kuis,
Selected Option,Opsi yang Dipilih,
Correct,Benar,
Wrong,Salah,
Room Name,Nama ruangan,
Room Number,Nomor kamar,
Seating Capacity,Kapasitas tempat duduk,
House Name,Nama rumah,
EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
Student Mobile Number,Mahasiswa Nomor Ponsel,
Blood Group,Golongan Darah,
A+,A +,
A-,A-,
B+,B +,
B-,B-,
O+,O +,
O-,HAI-,
AB+,AB +,
AB-,AB-,
Nationality,Kebangsaan,
Home Address,Alamat rumah,
Guardian Details,Detail wali,
Guardians,Penjaga,
Sibling Details,Detail saudara,
Siblings,saudara,
Exit,Keluar,
Date of Leaving,Tanggal Meninggalkan,
Leaving Certificate Number,Meninggalkan Sertifikat Nomor,
Reason For Leaving,Alasan untuk pergi,
Student Admission,Mahasiswa Pendaftaran,
Admission Start Date,Pendaftaran Mulai Tanggal,
Admission End Date,Pendaftaran Tanggal Akhir,
Eligibility and Details,Kelayakan dan Detail,
Student Admission Program,Program Penerimaan Mahasiswa,
Minimum Age,Usia Minimum,
Maximum Age,Usia Maksimum,
Application Fee,Biaya aplikasi,
Naming Series (for Student Applicant),Penamaan Series (untuk Mahasiswa Pemohon),
LMS Only,LMS Saja,
EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
Application Date,Tanggal Aplikasi,
Student Attendance Tool,Alat Kehadiran Siswa,
Group Based On,Kelompok Berdasarkan,
Students HTML,siswa HTML,
Group Based on,Grup Berdasarkan,
Student Group Name,Nama Kelompok Mahasiswa,
Max Strength,Max Kekuatan,
Set 0 for no limit,Set 0 untuk tidak ada batas,
Instructors,instruktur,
Student Group Creation Tool,Alat Grup Pelajar Creation,
Leave blank if you make students groups per year,Biarkan kosong jika Anda membuat kelompok siswa per tahun,
Get Courses,Dapatkan Program,
Separate course based Group for every Batch,Kelompok terpisah berdasarkan Kelompok untuk setiap Batch,
Leave unchecked if you don't want to consider batch while making course based groups. ,Biarkan tidak dicentang jika Anda tidak ingin mempertimbangkan batch sambil membuat kelompok berbasis kursus.,
Student Group Creation Tool Course,Kursus Grup Pelajar Penciptaan Alat,
Course Code,Kode Course,
Student Group Instructor,Instruktur Kelompok Mahasiswa,
Student Group Student,Mahasiswa Grup Pelajar,
Group Roll Number,Nomor roll grup,
Student Guardian,Wali murid,
Relation,Hubungan,
Mother,Ibu,
Father,Ayah,
Student Language,Bahasa siswa,
Student Leave Application,Mahasiswa Cuti Aplikasi,
Mark as Present,Tandai sebagai Hadir,
Student Log,Mahasiswa Log,
Academic,Akademis,
Achievement,Pencapaian,
Student Report Generation Tool,Alat Pembangkitan Laporan Siswa,
Include All Assessment Group,Termasuk Semua Kelompok Penilaian,
Show Marks,Tampilkan Tanda,
Add letterhead,Tambahkan kop surat,
Print Section,Bagian Cetak,
Total Parents Teacher Meeting,Pertemuan Guru Orang Tua Total,
Attended by Parents,Diikuti oleh Orangtua,
Assessment Terms,Ketentuan Penilaian,
Student Sibling,Mahasiswa Sibling,
Studying in Same Institute,Belajar di Same Institute,
NO,TIDAK,
YES,IYA,
Student Siblings,Saudara mahasiswa,
Topic Content,Konten Topik,
Amazon MWS Settings,Pengaturan MWS Amazon,
ERPNext Integrations,ERPNext Integrasi,
Enable Amazon,Aktifkan 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 Place Pasar,
AE,AE,
AU,AU,
BR,BR,
CA,CA,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
JP,JP,
IT,SAYA T,
MX,MX,
UK,UK,
US,KAMI,
Customer Type,Tipe pelanggan,
Market Place Account Group,Kelompok Akun Market Place,
After Date,Setelah Tanggal,
Amazon will synch data updated after this date,Amazon akan menyinkronkan data yang diperbarui setelah tanggal ini,
Sync Taxes and Charges,Sinkronkan Pajak dan Tagihan,
Get financial breakup of Taxes and charges data by Amazon ,Dapatkan perpisahan keuangan dari Pajak dan biaya data oleh Amazon,
Sync Products,Sinkronkan Produk,
Always sync your products from Amazon MWS before synching the Orders details,Selalu sinkronkan produk Anda dari Amazon MWS sebelum menyinkronkan detail Pesanan,
Sync Orders,Sinkronkan Pesanan,
Click this button to pull your Sales Order data from Amazon MWS.,Klik tombol ini untuk mengambil data Sales Order Anda dari Amazon MWS.,
Enable Scheduled Sync,Aktifkan Sinkronisasi Terjadwal,
Check this to enable a scheduled Daily synchronization routine via scheduler,Periksa ini untuk mengaktifkan rutin sinkronisasi harian yang dijadwalkan melalui penjadwal,
Max Retry Limit,Max Retry Limit,
Exotel Settings,Pengaturan Exotel,
Account SID,SID Akun,
API Token,Token API,
GoCardless Mandate,Mandat GoCardless,
Mandate,Mandat,
GoCardless Customer,Pelanggan GoCardless,
GoCardless Settings,Pengaturan GoCardless,
Webhooks Secret,Webhooks Secret,
Plaid Settings,Pengaturan Kotak-kotak,
Synchronize all accounts every hour,Sinkronkan semua akun setiap jam,
Plaid Client ID,ID Klien Kotak-kotak,
Plaid Secret,Rahasia Kotak-kotak,
Plaid Environment,Lingkungan Kotak-kotak,
sandbox,bak pasir,
development,pengembangan,
production,produksi,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Pengaturan aplikasi,
Token Endpoint,Token Endpoint,
Scope,Cakupan,
Authorization Settings,Pengaturan Otorisasi,
Authorization Endpoint,Endpoint Otorisasi,
Authorization URL,URL otorisasi,
Quickbooks Company ID,ID Perusahaan Quickbooks,
Company Settings,Pengaturan Perusahaan,
Default Shipping Account,Akun Pengiriman Default,
Default Warehouse,Standar Gudang,
Default Cost Center,Standar Biaya Pusat,
Undeposited Funds Account,Rekening Dana yang Belum Ditentukan,
Shopify Log,Shopify Log,
Shopify Settings,Pengaturan Shopify,
status html,status html,
Enable Shopify,Aktifkan Shopify,
App Type,Jenis Aplikasi,
Last Sync Datetime,Last Sync Datetime,
Shop URL,URL Toko,
eg: frappe.myshopify.com,mis: frappe.myshopify.com,
Shared secret,Rahasia bersama,
Webhooks Details,Detail Webhooks,
Webhooks,Webhooks,
Customer Settings,Pengaturan Pelanggan,
Default Customer,Pelanggan default,
Customer Group will set to selected group while syncing customers from Shopify,Grup Pelanggan akan diatur ke grup yang dipilih saat menyinkronkan pelanggan dari Shopify,
For Company,Untuk Perusahaan,
Cash Account will used for Sales Invoice creation,Cash Account akan digunakan untuk kreasi Sales Invoice,
Update Price from Shopify To ERPNext Price List,Perbarui Harga dari Shopify Ke Daftar Harga ERPNext,
Default Warehouse to to create Sales Order and Delivery Note,Gudang Default untuk membuat Urutan Penjualan dan Catatan Pengiriman,
Sales Order Series,Seri Pesanan Penjualan,
Import Delivery Notes from Shopify on Shipment,Catatan Pengiriman Impor dari Shopify on Shipment,
Delivery Note Series,Seri Catatan Pengiriman,
Import Sales Invoice from Shopify if Payment is marked,Impor Faktur Penjualan dari Shopify jika Pembayaran ditandai,
Sales Invoice Series,Seri Invoice Penjualan,
Shopify Tax Account,Akun Pajak Shopify,
Shopify Tax/Shipping Title,Judul Pajak / Pengiriman Shopify,
ERPNext Account,Akun ERPNext,
Shopify Webhook Detail,Detail Shopify Webhook,
Webhook ID,ID Webhook,
Tally Migration,Tally Migration,
Master Data,Data master,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Data yang diekspor dari Tally yang terdiri dari Bagan Akun, Pelanggan, Pemasok, Alamat, Item, dan UOM",
Is Master Data Processed,Apakah Data Master Diproses,
Is Master Data Imported,Apakah Data Master Diimpor,
Tally Creditors Account,Akun Tally Kreditor,
Creditors Account set in Tally,Akun Kreditur diatur dalam Penghitungan,
Tally Debtors Account,Rekening Debitur Tally,
Debtors Account set in Tally,Akun Debitur diatur dalam Penghitungan,
Tally Company,Tally Company,
Company Name as per Imported Tally Data,Nama Perusahaan sesuai Data Penghitungan yang Diimpor,
Default UOM,UOM default,
UOM in case unspecified in imported data,UOM jika tidak ditentukan dalam data yang diimpor,
ERPNext Company,Perusahaan ERPN,
Your Company set in ERPNext,Perusahaan Anda diatur di ERPNext,
Processed Files,File yang Diproses,
Parties,Pesta,
UOMs,UOMs,
Vouchers,Voucher,
Round Off Account,Akun Pembulatan,
Day Book Data,Data Buku Hari,
Day Book Data exported from Tally that consists of all historic transactions,Data Buku Harian diekspor dari Tally yang terdiri dari semua transaksi bersejarah,
Is Day Book Data Processed,Apakah Data Buku Hari Diproses,
Is Day Book Data Imported,Apakah Data Buku Hari Diimpor,
Woocommerce Settings,Pengaturan Woocommerce,
Enable Sync,Aktifkan Sinkronisasi,
Woocommerce Server URL,URL Server Woocommerce,
Secret,Rahasia,
API consumer key,Kunci konsumen API,
API consumer secret,Rahasia konsumen API,
Tax Account,Akun Pajak,
Freight and Forwarding Account,Akun Freight dan Forwarding,
Creation User,Pengguna Pembuatan,
"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, Barang dan Pesanan Penjualan. Pengguna ini harus memiliki izin yang relevan.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Gudang ini akan digunakan untuk membuat Pesanan Penjualan. Gudang fallback adalah &quot;Toko&quot;.,
"The fallback series is ""SO-WOO-"".",Seri fallback adalah &quot;SO-WOO-&quot;.,
This company will be used to create Sales Orders.,Perusahaan ini akan digunakan untuk membuat Pesanan Penjualan.,
Delivery After (Days),Pengiriman setelah (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 default (hari) untuk Tanggal Pengiriman dalam Pesanan Penjualan. Pengganti mundur adalah 7 hari dari tanggal penempatan pesanan.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Ini adalah UOM default yang digunakan untuk item dan pesanan Penjualan. UOM mundur adalah &quot;Tidak&quot;.,
Endpoints,Titik akhir,
Endpoint,Endpoint,
Antibiotic Name,Nama Antibiotik,
Healthcare Administrator,Administrator Kesehatan,
Laboratory User,Pengguna Laboratorium,
Is Inpatient,Apakah rawat inap,
Default Duration (In Minutes),Durasi Default (Dalam Menit),
Body Part,Bagian tubuh,
Body Part Link,Tautan Bagian Tubuh,
HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
Procedure Template,Template Prosedur,
Procedure Prescription,Prosedur Resep,
Service Unit,Unit Layanan,
Consumables,Bahan habis pakai,
Consume Stock,Konsumsi Saham,
Invoice Consumables Separately,Faktur Habis Secara Terpisah,
Consumption Invoiced,Konsumsi Faktur,
Consumable Total Amount,Jumlah Total Habis,
Consumption Details,Rincian Konsumsi,
Nursing User,Pengguna perawatan,
Clinical Procedure Item,Item Prosedur Klinis,
Invoice Separately as Consumables,Invoice secara terpisah sebagai Consumable,
Transfer Qty,Transfer Qty,
Actual Qty (at source/target),Jumlah Aktual (di sumber/target),
Is Billable,Apakah bisa ditagih,
Allow Stock Consumption,Izinkan Konsumsi Saham,
Sample UOM,Contoh UOM,
Collection Details,Detail Koleksi,
Change In Item,Ubah Item,
Codification Table,Tabel Kodifikasi,
Complaints,Keluhan,
Dosage Strength,Kekuatan Dosis,
Strength,Kekuatan,
Drug Prescription,Resep obat,
Drug Name / Description,Nama / Deskripsi Obat,
Dosage,Dosis,
Dosage by Time Interval,Dosis berdasarkan interval waktu,
Interval,Selang,
Interval UOM,Interval UOM,
Hour,Jam,
Update Schedule,Perbarui Jadwal,
Exercise,Olahraga,
Difficulty Level,Tingkat kesulitan,
Counts Target,Menghitung Target,
Counts Completed,Hitungan Selesai,
Assistance Level,Tingkat Bantuan,
Active Assist,Bantuan Aktif,
Exercise Name,Nama Latihan,
Body Parts,Bagian tubuh,
Exercise Instructions,Instruksi Latihan,
Exercise Video,Video Latihan,
Exercise Steps,Langkah Latihan,
Steps Table,Tabel Langkah,
Exercise Type Step,Langkah Jenis Latihan,
Max number of visit,Jumlah kunjungan maksimal,
Visited yet,Dikunjungi belum,
Reference Appointments,Janji Referensi,
Valid till,Berlaku sampai,
Fee Validity Reference,Referensi Validitas Biaya,
Basic Details,Detail Dasar,
HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
Mobile,Mobile,
Phone (R),Telepon (R),
Phone (Office),Telepon (Kantor),
Employee and User Details,Detail Karyawan dan Pengguna,
Hospital,RSUD,
Appointments,Janji,
Practitioner Schedules,Jadwal Praktisi,
Charges,Biaya,
Out Patient Consulting Charge,Biaya Konsultasi Pasien Keluar,
Default Currency,Standar Mata Uang,
Healthcare Schedule Time Slot,Slot Waktu Jadwal Perawatan Kesehatan,
Parent Service Unit,Unit Layanan Orang Tua,
Service Unit Type,Jenis Unit Layanan,
Allow Appointments,Izinkan Janji,
Allow Overlap,Izinkan Tumpang Tindih,
Inpatient Occupancy,Hunian Pasien Rawat Inap,
Occupancy Status,Status Hunian,
Vacant,Kosong,
Occupied,Sibuk,
Item Details,Item detail,
UOM Conversion in Hours,Konversi UOM dalam Jam,
Rate / UOM,Rate / UOM,
Change in Item,Ubah Item,
Out Patient Settings,Keluar Pengaturan Pasien,
Patient Name By,Nama Pasien Oleh,
Patient Name,Nama pasien,
Link Customer to Patient,Tautkan Pelanggan ke Pasien,
"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.","Jika dicek, pelanggan akan dibuat, dipetakan ke Patient. Faktur pasien akan dibuat terhadap Nasabah ini. Anda juga bisa memilih Customer yang ada saat membuat Patient.",
Default Medical Code Standard,Standar Kode Standar Medis,
Collect Fee for Patient Registration,Kumpulkan Biaya untuk Registrasi Pasien,
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 Pasien baru dengan status Dinonaktifkan secara default dan hanya akan diaktifkan setelah menagih Biaya Pendaftaran.,
Registration Fee,Biaya pendaftaran,
Automate Appointment Invoicing,Otomatiskan Faktur Janji Temu,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Kelola submisi Invoice Janji Pasien dan batalkan secara otomatis Pertemuan Pasien,
Enable Free Follow-ups,Aktifkan Tindak Lanjut Gratis,
Number of Patient Encounters in Valid Days,Jumlah Pertemuan Pasien di Hari yang Berlaku,
The number of free follow ups (Patient Encounters in valid days) allowed,Jumlah tindak lanjut gratis (Pertemuan Pasien dalam hari yang valid) yang diizinkan,
Valid Number of Days,Jumlah hari yang valid,
Time period (Valid number of days) for free consultations,Jangka waktu (Jumlah hari yang valid) untuk konsultasi gratis,
Default Healthcare Service Items,Item Layanan Kesehatan Default,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Anda dapat mengkonfigurasi Item default untuk biaya konsultasi penagihan, item konsumsi prosedur dan kunjungan rawat inap",
Clinical Procedure Consumable Item,Prosedur Klinis Barang Konsumsi,
Default Accounts,Akun Default,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Akun pendapatan default yang akan digunakan jika tidak ditetapkan di Praktisi Kesehatan untuk memesan biaya Penunjukan.,
Default receivable accounts to be used to book Appointment charges.,Akun piutang default yang akan digunakan untuk memesan biaya janji temu.,
Out Patient SMS Alerts,SMS Pemberitahuan Pasien Luar,
Patient Registration,Pendaftaran Pasien,
Registration Message,Pesan Pendaftaran,
Confirmation Message,Pesan Konfirmasi,
Avoid Confirmation,Hindari Konfirmasi,
Do not confirm if appointment is created for the same day,Jangan mengkonfirmasi jika janji dibuat untuk hari yang sama,
Appointment Reminder,Pengingat Penunjukan,
Reminder Message,Pesan pengingat,
Laboratory Settings,Pengaturan Laboratorium,
Create Lab Test(s) on Sales Invoice Submission,Buat Tes Lab pada Pengiriman Faktur Penjualan,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Memeriksa ini akan membuat Tes Lab yang ditentukan dalam Faktur Penjualan saat dikirimkan.,
Create Sample Collection document for Lab Test,Buat dokumen Pengumpulan Sampel untuk Uji Lab,
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 Tes Lab,
Employee name and designation in print,Nama karyawan dan sebutan di cetak,
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.,Centang ini jika Anda ingin Nama dan Penunjukan Karyawan terkait dengan Pengguna yang mengirimkan dokumen untuk dicetak di Laporan Tes Lab.,
Do not print or email Lab Tests without Approval,Jangan cetak atau email Tes Lab tanpa Persetujuan,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,Memeriksa ini akan membatasi pencetakan dan pengiriman dokumen Lab Test melalui email kecuali berstatus Disetujui.,
Custom Signature in Print,Tanda Tangan Khusus di Cetak,
Laboratory SMS Alerts,SMS Pemberitahuan Laboratorium,
Result Printed Message,Hasil Cetak Pesan,
Result Emailed Message,Hasil Pesan Email,
Check In,Mendaftar,
Check Out,Periksa,
HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
A Positive,Positif,
A Negative,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,Tanggal Lahir,
Admission Scheduled,Pendaftaran Terjadwal,
Discharge Scheduled,Discharge Dijadwalkan,
Discharged,Boleh pulang,
Admission Schedule Date,Jadwal Pendaftaran Tanggal,
Admitted Datetime,Tanggal Data yang Diakui,
Expected Discharge,Expected Discharge,
Discharge Date,Tanggal Discharge,
Lab Prescription,Resep Lab,
Lab Test Name,Nama Tes Lab,
Test Created,Uji coba,
Submitted Date,Tanggal dikirim,
Approved Date,Tanggal yang Disetujui,
Sample ID,Contoh ID,
Lab Technician,Teknisi laboratorium,
Report Preference,Preferensi Laporan,
Test Name,Nama uji,
Test Template,Uji Template,
Test Group,Grup Uji,
Custom Result,Hasil Kustom,
LabTest Approver,Pendekatan LabTest,
Add Test,Tambahkan Test,
Normal Range,Jarak normal,
Result Format,Format Hasil,
Single,Tunggal,
Compound,Senyawa,
Descriptive,Deskriptif,
Grouped,Dikelompokkan,
No Result,Tidak ada hasil,
This value is updated in the Default Sales Price List.,Nilai ini diperbarui dalam Daftar Harga Penjualan Standar.,
Lab Routine,Lab Rutin,
Result Value,Nilai hasil,
Require Result Value,Mengharuskan Nilai Hasil,
Normal Test Template,Template Uji Normal,
Patient Demographics,Demografi pasien,
HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
Middle Name (optional),Nama Tengah (Opsional),
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.","Jika &quot;Tautkan Pelanggan ke Pasien&quot; dicentang di Pengaturan Perawatan Kesehatan dan Pelanggan yang ada tidak dipilih, Pelanggan akan dibuat untuk Pasien ini untuk mencatat transaksi di modul Akun.",
Personal and Social History,Sejarah Pribadi dan Sosial,
Marital Status,Status Perkawinan,
Married,Menikah,
Divorced,Bercerai,
Widow,Janda,
Patient Relation,Hubungan Pasien,
"Allergies, Medical and Surgical History","Alergi, Riwayat Medis dan Bedah",
Allergies,Alergi,
Medication,Obat,
Medical History,Riwayat kesehatan,
Surgical History,Sejarah Bedah,
Risk Factors,Faktor risiko,
Occupational Hazards and Environmental Factors,Bahaya Kerja dan Faktor Lingkungan,
Other Risk Factors,Faktor Risiko Lainnya,
Patient Details,Rincian pasien,
Additional information regarding the patient,Informasi tambahan mengenai pasien,
HLC-APP-.YYYY.-,APLIKASI-HLC-.YYYY.-,
Patient Age,Usia pasien,
Get Prescribed Clinical Procedures,Dapatkan Prosedur Klinis yang Diresepkan,
Therapy,Terapi,
Get Prescribed Therapies,Dapatkan Terapi Resep,
Appointment Datetime,Tanggal Janji Temu,
Duration (In Minutes),Durasi (Dalam Menit),
Reference Sales Invoice,Referensi Faktur Penjualan,
More Info,Info Selengkapnya,
Referring Practitioner,Merujuk Praktisi,
HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
Assessment Template,Template Penilaian,
Assessment Datetime,Waktu Penilaian,
Assessment Description,Deskripsi Penilaian,
Assessment Sheet,Lembar Penilaian,
Total Score Obtained,Total Skor yang Diperoleh,
Scale Min,Skala Min,
Scale Max,Skala Max,
Patient Assessment Detail,Detail Penilaian Pasien,
Assessment Parameter,Parameter Penilaian,
Patient Assessment Parameter,Parameter Penilaian Pasien,
Patient Assessment Sheet,Lembar Penilaian Pasien,
Patient Assessment Template,Template Penilaian Pasien,
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,Tanggal Pertemuan,
Encounter Time,Waktu Pertemuan,
Encounter Impression,Tayangan Pertemuan,
Symptoms,Gejala,
In print,Di cetak,
Medical Coding,Pengkodean medis,
Procedures,Prosedur,
Therapies,Terapi,
Review Details,Rincian ulasan,
Patient Encounter Diagnosis,Diagnosis Pertemuan Pasien,
Patient Encounter Symptom,Gejala Pertemuan Pasien,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Attach Medical Record,Lampirkan Rekam Medis,
Spouse,Pasangan,
Family,Keluarga,
Schedule Details,Detail Jadwal,
Schedule Name,Nama Jadwal,
Time Slots,Slot waktu,
Practitioner Service Unit Schedule,Jadwal Unit Pelayanan Praktisi,
Procedure Name,Nama Prosedur,
Appointment Booked,Penunjukan Dipesan,
Procedure Created,Prosedur Dibuat,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Dikumpulkan Oleh,
Particulars,Particulars,
Result Component,Komponen Hasil,
HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
Therapy Plan Details,Rincian Rencana Terapi,
Total Sessions,Sesi Total,
Total Sessions Completed,Total Sesi Selesai,
Therapy Plan Detail,Detail Rencana Terapi,
No of Sessions,Jumlah Sesi,
Sessions Completed,Sesi Selesai,
Tele,Tele,
Exercises,Latihan,
Therapy For,Terapi Untuk,
Add Exercises,Tambahkan Latihan,
Body Temperature,Suhu tubuh,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Adanya demam (suhu&gt; 38,5 ° C / 101,3 ° F atau suhu bertahan&gt; 38 ° C / 100,4 ° F)",
Heart Rate / Pulse,Heart Rate / Pulse,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Denyut nadi orang dewasa adalah antara 50 dan 80 denyut per menit.,
Respiratory rate,Tingkat pernapasan,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Rentang referensi normal untuk orang dewasa adalah 16-20 napas / menit (RCP 2012),
Tongue,Lidah,
Coated,Dilapisi,
Very Coated,Sangat Dilapisi,
Normal,Normal,
Furry,Berbulu,
Cuts,Potongan,
Abdomen,Abdomen,
Bloated,Bengkak,
Fluid,Cairan,
Constipated,Sembelit,
Reflexes,Refleks,
Hyper,Hiper,
Very Hyper,Sangat Hebat,
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 istirahat normal pada orang dewasa sekitar 120 mmHg sistolik, dan diastolik 80 mmHg, disingkat &quot;120/80 mmHg&quot;",
Nutrition Values,Nilai gizi,
Height (In Meter),Tinggi (In Meter),
Weight (In Kilogram),Berat (dalam Kilogram),
BMI,BMI,
Hotel Room,Ruang hotel,
Hotel Room Type,Tipe kamar hotel,
Capacity,Kapasitas,
Extra Bed Capacity,Kapasitas Tempat Tidur Tambahan,
Hotel Manager,Manajer hotel,
Hotel Room Amenity,Kamar Hotel Amenity,
Billable,Dapat ditagih,
Hotel Room Package,Paket kamar hotel,
Amenities,Fasilitas,
Hotel Room Pricing,Harga kamar hotel,
Hotel Room Pricing Item,Item Harga Kamar Hotel,
Hotel Room Pricing Package,Paket Harga Kamar Hotel,
Hotel Room Reservation,Reservasi Kamar Hotel,
Guest Name,Nama tamu,
Late Checkin,Late Checkin,
Booked,Memesan,
Hotel Reservation User,Pengguna Reservasi Hotel,
Hotel Room Reservation Item,Item Pemesanan Kamar Hotel,
Hotel Settings,Pengaturan Hotel,
Default Taxes and Charges,Pajak default dan Biaya,
Default Invoice Naming Series,Seri Penamaan Faktur Default,
HR,HR,
Date on which this component is applied,Tanggal komponen ini diterapkan,
Salary Slip,Slip Gaji,
HR User,HR Pengguna,
Job Applicant,Pemohon Kerja,
Body,Tubuh,
Appraisal Template,Template Penilaian,
Parent Department,Departemen Orang Tua,
Leave Block List,Cuti Block List,
Days for which Holidays are blocked for this department.,Hari yang Holidays diblokir untuk departemen ini.,
Leave Approver,Approver Cuti,
Expense Approver,Approver Klaim Biaya,
Required Skills,Keterampilan yang Dibutuhkan,
Skills,Keterampilan,
Driver,Sopir,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,Tergantung,
Transporter,Transporter,
Applicable for external driver,Berlaku untuk driver eksternal,
Cellphone Number,Nomor ponsel,
License Details,Rincian lisensi,
License Number,Nomor lisensi,
Issuing Date,Tanggal penerbitan,
Driving License Categories,Kategori Lisensi Mengemudi,
Driving License Category,Kategori Lisensi Mengemudi,
Fleet Manager,armada Manajer,
Driver licence class,Kelas SIM,
HR-EMP-,HR-EMP-,
Employment Type,Jenis Pekerjaan,
Emergency Contact,Darurat Kontak,
Emergency Contact Name,Nama kontak darurat,
Emergency Phone,Telepon Darurat,
ERPNext User,Pengguna ERPNext,
"System User (login) ID. If set, it will become default for all HR forms.","Pengguna Sistem (login) ID. Jika diset, itu akan menjadi default untuk semua bentuk HR.",
Create User Permission,Buat Izin Pengguna,
This will restrict user access to other employee records,Ini akan membatasi akses pengguna ke catatan karyawan lain,
Joining Details,Bergabung dengan Detail,
Offer Date,Penawaran Tanggal,
Confirmation Date,Konfirmasi Tanggal,
Contract End Date,Tanggal Kontrak End,
Notice (days),Notice (hari),
Date Of Retirement,Tanggal Pensiun,
Department and Grade,Departemen dan Grade,
Reports to,Laporan untuk,
Attendance and Leave Details,Detail Kehadiran dan Cuti,
Attendance Device ID (Biometric/RF tag ID),ID Perangkat Kehadiran (ID tag Biometrik / RF),
Applicable Holiday List,Daftar Hari Libur yang Berlaku,
Default Shift,Pergeseran Default,
Salary Mode,Mode Gaji,
Bank A/C No.,Rekening Bank No.,
Health Insurance,Asuransi Kesehatan,
Health Insurance Provider,Penyedia Asuransi Kesehatan,
Health Insurance No,Asuransi Kesehatan No,
Prefered Email,Email Utama,
Personal Email,Email Pribadi,
Permanent Address Is,Alamat Permanen Adalah:,
Rented,Sewaan,
Owned,Dimiliki,
Permanent Address,Alamat Tetap,
Prefered Contact Email,Email Kontak Utama,
Company Email,Email Perusahaan,
Provide Email Address registered in company,Sediakan Alamat Email yang terdaftar di perusahaan,
Current Address Is,Alamat saat ini adalah,
Current Address,Alamat saat ini,
Personal Bio,Bio Pribadi,
Bio / Cover Letter,Bio / Cover Letter,
Short biography for website and other publications.,Biografi singkat untuk website dan publikasi lainnya.,
Passport Number,Nomor Paspor,
Date of Issue,Tanggal Issue,
Place of Issue,Tempat Issue,
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 dapat mempertahankan rincian keluarga seperti nama dan pekerjaan orang tua, pasangan dan anak-anak",
Health Details,Detail Kesehatan,
"Here you can maintain height, weight, allergies, medical concerns etc","Di sini Anda dapat mempertahankan tinggi, berat, alergi, masalah medis dll",
Educational Qualification,Kualifikasi Pendidikan,
Previous Work Experience,Pengalaman Kerja Sebelumnya,
External Work History,Pengalaman Kerja Diluar,
History In Company,Sejarah Dalam Perusahaan,
Internal Work History,Sejarah Kerja internal,
Resignation Letter Date,Tanggal Surat Pengunduran Diri,
Relieving Date,Menghilangkan Tanggal,
Reason for Leaving,Alasan Meninggalkan,
Leave Encashed?,Cuti dicairkan?,
Encashment Date,Pencairan Tanggal,
New Workplace,Tempat Kerja Baru,
Returned Amount,Jumlah yang dikembalikan,
Advance Account,Uang muka,
Benefits Applied,Manfaat Diterapkan,
Benefit Type and Amount,Jenis dan Jumlah Manfaat,
Task Weight,tugas Berat,
Employee Education,Pendidikan Karyawan,
School/University,Sekolah / Universitas,
Graduate,Lulusan,
Post Graduate,Pasca Sarjana,
Under Graduate,Sarjana,
Year of Passing,Tahun Berjalan,
Class / Percentage,Kelas / Persentase,
Major/Optional Subjects,Mayor / Opsional Subjek,
Employee External Work History,Karyawan Eksternal Riwayat Pekerjaan,
Total Experience,Jumlah Pengalaman,
Default Leave Policy,Kebijakan Cuti Default,
Employee Group Table,Tabel Grup Karyawan,
ERPNext User ID,ID Pengguna ERPNext,
Employee Internal Work History,Riwayat Kerja Karyawan Internal,
Activities,Kegiatan,
Employee Onboarding Activity,Aktivitas Onboarding Karyawan,
Employee Promotion Detail,Detail Promosi Karyawan,
Employee Transfer Property,Properti Transfer Karyawan,
Unclaimed amount,Jumlah yang tidak diklaim,
Holiday List Name,Daftar Nama Hari Libur,
Total Holidays,Total Hari Libur,
Add Weekly Holidays,Tambahkan Liburan Mingguan,
Weekly Off,Weekly Off,
Add to Holidays,Tambahkan ke Hari Libur,
Holidays,Hari Libur,
Clear Table,Bersihkan Table,
Retirement Age,Umur pensiun,
Enter retirement age in years,Memasuki usia pensiun di tahun,
Stop Birthday Reminders,Stop Pengingat Ulang Tahun,
Leave Settings,Tinggalkan Pengaturan,
Accepted,Diterima,
Printing Details,Detai Print dan Cetak,
Job Title,Jabatan,
Allocation,Alokasi,
Select Employees,Pilih Karyawan,
Allocate,Alokasi,
Max Leaves Allowed,Max Leaves Diizinkan,
Maximum Continuous Days Applicable,Maksimum Berlanjut Hari Berlaku,
Select Payroll Period,Pilih Payroll Periode,
Abbr,Singkatan,
Condition and Formula,Kondisi dan Formula,
Total Working Hours,Jumlah Jam Kerja,
Hour Rate,Nilai per Jam,
Bank Account No.,No Rekening Bank,
Earning & Deduction,Earning & Pengurangan,
Loan repayment,Pembayaran pinjaman,
Employee Loan,Pinjaman karyawan,
Total Principal Amount,Jumlah Pokok Jumlah,
Total Interest Amount,Jumlah Bunga Total,
Total Loan Repayment,Total Pembayaran Pinjaman,
net pay info,net Info pay,
Gross Pay - Total Deduction - Loan Repayment,Pay Gross - Jumlah Pengurangan - Pelunasan Pinjaman,
Net Pay (in words) will be visible once you save the Salary Slip.,Pay Bersih (dalam kata-kata) akan terlihat setelah Anda menyimpan Slip Gaji.,
Staffing Plan Details,Detail Rencana Penetapan Staf,
Optional,Pilihan,
Costing,Biaya,
Vehicle,Kendaraan,
License Plate,Pelat,
Odometer Value (Last),Odometer Nilai (terakhir),
Acquisition Date,Tanggal akuisisi,
Chassis No,Nomor Rangka,
Vehicle Value,Nilai kendaraan,
Insurance Details,Detail asuransi,
Insurance Company,Perusahaan asuransi,
Policy No,Kebijakan Tidak ada,
Additional Details,Rincian Tambahan,
Fuel Type,Jenis bahan bakar,
Petrol,Bensin,
Diesel,disel,
Natural Gas,Gas alam,
Electric,listrik,
Fuel UOM,BBM UOM,
Last Carbon Check,Terakhir Carbon Periksa,
Wheels,roda,
Doors,pintu,
last Odometer Value ,Nilai Odometer terakhir,
Service Detail,layanan Detil,
Hub Tracked Item,Item yang Dilacak Hub,
Hub Node,Hub Node,
Image List,Daftar Gambar,
Item Manager,Item Manajer,
Hub User,Pengguna Hub,
Hub Password,Kata Sandi Hub,
Hub Users,Pengguna Hub,
Marketplace Settings,Pengaturan Marketplace,
Disable Marketplace,Nonaktifkan Marketplace,
Marketplace URL (to hide and update label),URL Marketplace (untuk menyembunyikan dan memperbarui label),
Registered,Terdaftar,
Sync in Progress,Sinkron Sedang Berlangsung,
Hub Seller Name,Nama Penjual Hub,
Custom Data,Data Khusus,
Repay From Salary,Membayar dari Gaji,
Regular Payment,Pembayaran Reguler,
Loan Closure,Penutupan Pinjaman,
Rate of Interest (%) Yearly,Tingkat bunga (%) Tahunan,
MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
Generate Schedule,Hasilkan Jadwal,
Schedules,Jadwal,
Maintenance Schedule Detail,Jadwal pemeliharaan Detil,
Scheduled Date,Dijadwalkan Tanggal,
Actual Date,Tanggal Aktual,
Maintenance Schedule Item,Jadwal pemeliharaan Stok Barang,
Random,Acak,
No of Visits,Tidak ada Kunjungan,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Tanggal Pemeliharaan,
Maintenance Time,Waktu Pemeliharaan,
Completion Status,Status Penyelesaian,
Partially Completed,Selesai Sebagian,
Fully Completed,Sepenuhnya Selesai,
Unscheduled,Tidak Terjadwal,
Breakdown,Rincian,
Purposes,Tujuan,
Customer Feedback,Umpan balik Pelanggan,
Maintenance Visit Purpose,Pemeliharaan Visit Tujuan,
Work Done,Pekerjaan Selesai,
Against Document No,Terhadap No. Dokumen,
Against Document Detail No,Terhadap Detail Dokumen No.,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Tipe Order,
Blanket Order Item,Blanket Order Item,
Ordered Quantity,Qty Terpesan/Terorder,
Item to be manufactured or repacked,Item yang akan diproduksi atau dikemas ulang,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Jumlah Kuantitas Produk yang dihasilkan dari proses manufakturing / repacking dari jumlah kuantitas bahan baku yang disediakan,
Set rate of sub-assembly item based on BOM,Tetapkan tarif barang sub-rakitan berdasarkan BOM,
Allow Alternative Item,Izinkan Item Alternatif,
Item UOM,Stok Barang UOM,
Conversion Rate,Tingkat konversi,
Rate Of Materials Based On,Laju Bahan Berbasis On,
With Operations,Dengan Operasi,
Manage cost of operations,Kelola biaya operasional,
Transfer Material Against,Transfer Material Terhadap,
Routing,Rute,
Materials,Material/Barang,
Quality Inspection Required,Diperlukan Inspeksi Kualitas,
Quality Inspection Template,Template Inspeksi Kualitas,
Scrap,Membatalkan,
Scrap Items,scrap Produk,
Operating Cost,Biaya Operasi,
Raw Material Cost,Biaya Bahan Baku,
Scrap Material Cost,Scrap Material Biaya,
Operating Cost (Company Currency),Biaya operasi (Perusahaan Mata Uang),
Raw Material Cost (Company Currency),Biaya Bahan Baku (Mata Uang Perusahaan),
Scrap Material Cost(Company Currency),Scrap Material Cost (Perusahaan Mata Uang),
Total Cost,Total Biaya,
Total Cost (Company Currency),Total Biaya (Mata Uang Perusahaan),
Materials Required (Exploded),Bahan yang dibutuhkan (Meledak),
Exploded Items,Item yang meledak,
Show in Website,Tampilkan di Situs Web,
Item Image (if not slideshow),Gambar Stok Barang (jika tidak slideshow),
Thumbnail,Kuku ibu jari,
Website Specifications,Website Spesifikasi,
Show Items,Tampilkan Produk,
Show Operations,Tampilkan Operasi,
Website Description,Website Description,
BOM Explosion Item,Rincian Barang BOM,
Qty Consumed Per Unit,Kuantitas Dikonsumsi Per Unit,
Include Item In Manufacturing,Sertakan Barang Dalam Manufaktur,
BOM Item,Komponen BOM,
Item operation,Operasi barang,
Rate & Amount,Tarif &amp; Jumlah,
Basic Rate (Company Currency),Tarif Dasar (Mata Uang Perusahaan),
Scrap %,Scrap%,
Original Item,Barang Asli,
BOM Operation,BOM Operation,
Operation Time ,Waktu operasi,
In minutes,Dalam menit,
Batch Size,Ukuran Batch,
Base Hour Rate(Company Currency),Dasar Tarif Perjam (Mata Uang Perusahaan),
Operating Cost(Company Currency),Biaya operasi (Perusahaan Mata Uang),
BOM Scrap Item,BOM Scrap Barang,
Basic Amount (Company Currency),Nilai Dasar (Mata Uang Perusahaan),
BOM Update Tool,Alat Pembaruan 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.","Ganti BOM tertentu di semua BOM lain yang menggunakannya. Hal ini akan mengganti link BOM lama, memperbarui biaya dan membuat ulang tabel ""Rincian Barang BOM"" sesuai BOM baru. Juga memperbarui harga terbaru di semua BOM.",
Replace BOM,Ganti BOM,
Current BOM,BOM saat ini,
The BOM which will be replaced,BOM yang akan diganti,
The new BOM after replacement,The BOM baru setelah penggantian,
Replace,Mengganti,
Update latest price in all BOMs,Perbarui harga terbaru di semua BOM,
BOM Website Item,BOM Situs Persediaan,
BOM Website Operation,BOM Operasi Situs,
Operation Time,Waktu Operasi,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Detail waktu,
Time Logs,Log Waktu,
Total Time in Mins,Total Waktu dalam Menit,
Operation ID,ID Operasi,
Transferred Qty,Ditransfer Qty,
Job Started,Pekerjaan Dimulai,
Started Time,Waktu mulai,
Current Time,Waktu saat ini,
Job Card Item,Item Kartu Kerja,
Job Card Time Log,Log Waktu Kartu Pekerjaan,
Time In Mins,Time In Mins,
Completed Qty,Qty Selesai,
Manufacturing Settings,Pengaturan manufaktur,
Raw Materials Consumption,Konsumsi Bahan Baku,
Allow Multiple Material Consumption,Izinkan Penggunaan Beberapa Material Sekaligus,
Backflush Raw Materials Based On,Backflush Bahan Baku Berbasis Pada,
Material Transferred for Manufacture,Bahan Ditransfer untuk Produksi,
Capacity Planning,Perencanaan Kapasitas,
Disable Capacity Planning,Nonaktifkan Perencanaan Kapasitas,
Allow Overtime,Izinkan Lembur,
Allow Production on Holidays,Izinkan Produksi di hari libur,
Capacity Planning For (Days),Perencanaan Kapasitas Untuk (Hari),
Default Warehouses for Production,Gudang Default untuk Produksi,
Default Work In Progress Warehouse,Standar Gudang Work In Progress,
Default Finished Goods Warehouse,Gudang bawaan Selesai Stok Barang,
Default Scrap Warehouse,Gudang Memo Default,
Overproduction Percentage For Sales Order,Overproduction Persentase Untuk Order Penjualan,
Overproduction Percentage For Work Order,Overproduction Persentase Untuk Pesanan Pekerjaan,
Other Settings,Pengaturan lainnya,
Update BOM Cost Automatically,Perbarui Biaya BOM secara otomatis,
Material Request Plan Item,Item Rencana Permintaan Material,
Material Request Type,Permintaan Jenis Bahan,
Material Issue,Keluar Barang,
Customer Provided,Pelanggan Disediakan,
Minimum Order Quantity,Jumlah Pesanan Minimum,
Default Workstation,Standar Workstation,
Production Plan,Rencana produksi,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Mendapatkan Stok Barang-Stok Barang dari,
Get Sales Orders,Dapatkan Order Penjualan,
Material Request Detail,Detail Permintaan Material,
Get Material Request,Dapatkan Material Permintaan,
Material Requests,Permintaan bahan,
Get Items For Work Order,Dapatkan Item Untuk Perintah Kerja,
Material Request Planning,Perencanaan Permintaan Material,
Include Non Stock Items,Sertakan Item Non Stok,
Include Subcontracted Items,Sertakan Subkontrak Items,
Ignore Existing Projected Quantity,Abaikan Kuantitas Proyeksi yang 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 tentang jumlah yang diproyeksikan, <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,Unduh Materi yang Diperlukan,
Get Raw Materials For Production,Dapatkan Bahan Baku untuk Produksi,
Total Planned Qty,Total Rencana Qty,
Total Produced Qty,Total Diproduksi Qty,
Material Requested,Bahan yang diminta,
Production Plan Item,Rencana Produksi Stok Barang,
Make Work Order for Sub Assembly Items,Buat Perintah Kerja untuk Item Sub Majelis,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Jika diaktifkan, sistem akan membuat perintah kerja untuk item yang meledak terhadap BOM yang tersedia.",
Planned Start Date,Direncanakan Tanggal Mulai,
Quantity and Description,Kuantitas dan Deskripsi,
material_request_item,material_request_item,
Product Bundle Item,Barang Bundel Produk,
Production Plan Material Request,Produksi Permintaan Rencana Material,
Production Plan Sales Order,Rencana Produksi berdasar Order Penjualan,
Sales Order Date,Tanggal Nota Penjualan,
Routing Name,Nama Routing,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Stok Barang Untuk Produksi,
Material Transferred for Manufacturing,Bahan Ditransfer untuk Manufaktur,
Manufactured Qty,Qty Diproduksi,
Use Multi-Level BOM,Gunakan Multi-Level BOM,
Plan material for sub-assemblies,Planning Material untuk Barang Rakitan,
Skip Material Transfer to WIP Warehouse,Abaikan Transfer Bahan ke Gudang WIP,
Check if material transfer entry is not required,Periksa apakah entri pemindahan material tidak diperlukan,
Backflush Raw Materials From Work-in-Progress Warehouse,Bahan baku backflush dari gudang yang sedang dalam proses,
Update Consumed Material Cost In Project,Perbarui Biaya Bahan Konsumsi Dalam Proyek,
Warehouses,Gudang,
This is a location where raw materials are available.,Ini adalah lokasi di mana bahan baku tersedia.,
Work-in-Progress Warehouse,Gudang Work In Progress,
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 penyimpanan produk akhir.,
Scrap Warehouse,Gudang memo,
This is a location where scraped materials are stored.,Ini adalah lokasi penyimpanan bahan bekas.,
Required Items,Produk yang dibutuhkan,
Actual Start Date,Tanggal Mulai Aktual,
Planned End Date,Tanggal Akhir Planning,
Actual End Date,Tanggal Akhir Aktual,
Operation Cost,Biaya Operasi,
Planned Operating Cost,Direncanakan Biaya Operasi,
Actual Operating Cost,Biaya Operasi Aktual,
Additional Operating Cost,Biaya Operasi Tambahan,
Total Operating Cost,Total Biaya Operasional,
Manufacture against Material Request,Memproduksi terhadap Permintaan Bahan,
Work Order Item,Item Pesanan Kerja,
Available Qty at Source Warehouse,Tersedia Qty di Gudang Sumber,
Available Qty at WIP Warehouse,Tersedia Qty di WIP Warehouse,
Work Order Operation,Operasi Orde Kerja,
Operation Description,Deskripsi Operasi,
Operation completed for how many finished goods?,Operasi selesai untuk berapa banyak Stok Barang jadi?,
Work in Progress,Pekerjaan dalam proses,
Estimated Time and Cost,Perkiraan Waktu dan Biaya,
Planned Start Time,Rencana Start Time,
Planned End Time,Rencana Waktu Berakhir,
in Minutes,Dalam menit,
Actual Time and Cost,Waktu dan Biaya Aktual,
Actual Start Time,Waktu Mulai Aktual,
Actual End Time,Waktu Akhir Aktual,
Updated via 'Time Log',Diperbarui melalui 'Log Waktu',
Actual Operation Time,Waktu Operasi Aktual,
in Minutes\nUpdated via 'Time Log',di Menit Diperbarui melalui 'Log Waktu',
(Hour Rate / 60) * Actual Operation Time,(Tarif per Jam / 60) * Masa Beroperasi Sebenarnya,
Workstation Name,Nama Workstation,
Production Capacity,Kapasitas produksi,
Operating Costs,Biaya Operasional,
Electricity Cost,Biaya Listrik,
per hour,per jam,
Consumable Cost,Biaya Consumable,
Rent Cost,Biaya Sewa,
Wages,Upah,
Wages per hour,Upah per jam,
Net Hour Rate,Jumlah Jam Bersih,
Workstation Working Hour,Jam Kerja Workstation,
Certification Application,Aplikasi Sertifikasi,
Name of Applicant,Nama Pemohon,
Certification Status,Status Sertifikasi,
Yet to appear,Belum muncul,
Certified,Bersertifikat,
Not Certified,Tidak Bersertifikat,
USD,USD,
INR,INR,
Certified Consultant,Konsultan Bersertifikat,
Name of Consultant,Nama Konsultan,
Certification Validity,Validitas Sertifikasi,
Discuss ID,Diskusikan ID,
GitHub ID,ID GitHub,
Non Profit Manager,Manajer Non Profit,
Chapter Head,Kepala Bab,
Meetup Embed HTML,Meetup Embed HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,bab / chapter_name kosongkan secara otomatis setelah bab save.,
Chapter Members,Anggota Bab,
Members,Anggota,
Chapter Member,Bab Anggota,
Website URL,URL situs,
Leave Reason,Tinggalkan Alasan,
Donor Name,Nama Donor,
Donor Type,Jenis Donor,
Withdrawn,pendiam,
Grant Application Details ,Berikan Rincian Aplikasi,
Grant Description,Deskripsi Donasi,
Requested Amount,Jumlah yang diminta,
Has any past Grant Record,Memiliki Record Grant masa lalu,
Show on Website,Tampilkan di Website,
Assessment  Mark (Out of 10),Tanda Penilaian (Dari 10),
Assessment  Manager,Manajer Penilaian,
Email Notification Sent,Notifikasi Email Terkirim,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Tanggal Kedaluwarsa Keanggotaan,
Razorpay Details,Detail Razorpay,
Subscription ID,ID Langganan,
Customer ID,ID Pelanggan,
Subscription Activated,Langganan Diaktifkan,
Subscription Start ,Berlangganan Mulai,
Subscription End,Langganan Berakhir,
Non Profit Member,Anggota nirlaba,
Membership Status,Status Keanggotaan,
Member Since,Anggota Sejak,
Payment ID,ID Pembayaran,
Membership Settings,Pengaturan Keanggotaan,
Enable RazorPay For Memberships,Aktifkan RazorPay Untuk Keanggotaan,
RazorPay Settings,Pengaturan RazorPay,
Billing Cycle,Siklus Penagihan,
Billing Frequency,Frekuensi Penagihan,
"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.","Jumlah siklus penagihan yang harus ditagih kepada pelanggan. Misalnya, jika pelanggan membeli keanggotaan 1 tahun yang harus ditagih setiap bulan, nilai ini harus 12.",
Razorpay Plan ID,ID Paket Razorpay,
Volunteer Name,Nama Relawan,
Volunteer Type,Jenis Relawan,
Availability and Skills,Ketersediaan dan Keterampilan,
Availability,Tersedianya,
Weekends,Akhir pekan,
Availability Timeslot,Ketersediaan Timeslot,
Morning,Pagi,
Afternoon,Sore,
Evening,Malam,
Anytime,Kapan saja,
Volunteer Skills,Keterampilan Relawan,
Volunteer Skill,Keterampilan Relawan,
Homepage,Homepage,
Hero Section Based On,Bagian Pahlawan Berdasarkan,
Homepage Section,Bagian Beranda,
Hero Section,Bagian Pahlawan,
Tag Line,klimaks,
Company Tagline for website homepage,Perusahaan Tagline untuk homepage website,
Company Description for website homepage,Deskripsi Perusahaan untuk homepage website,
Homepage Slideshow,Tampilan Beranda Beranda,
"URL for ""All Products""",URL untuk &quot;Semua Produk&quot;,
Products to be shown on website homepage,Produk yang akan ditampilkan pada homepage website,
Homepage Featured Product,Homepage Produk Pilihan,
route,rute,
Section Based On,Bagian Berdasarkan,
Section Cards,Kartu Bagian,
Number of Columns,Jumlah kolom,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Jumlah kolom untuk bagian ini. 3 kartu akan ditampilkan per baris jika Anda memilih 3 kolom.,
Section HTML,Bagian HTML,
Use this field to render any custom HTML in the section.,Gunakan bidang ini untuk menyajikan HTML khusus apa pun di bagian.,
Section Order,Bagian pesanan,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Urutan bagian mana yang akan muncul. 0 adalah yang pertama, 1 yang kedua dan seterusnya.",
Homepage Section Card,Kartu Bagian Beranda,
Subtitle,Subtitle,
Products Settings,Pengaturan produk,
Home Page is Products,Home Page adalah Produk,
"If checked, the Home page will be the default Item Group for the website","Jika diperiksa, Home page akan menjadi default Barang Group untuk website",
Show Availability Status,Tampilkan Status Ketersediaan,
Product Page,Halaman Produk,
Products per Page,Produk per Halaman,
Enable Field Filters,Aktifkan Filter Bidang,
Item Fields,Bidang Barang,
Enable Attribute Filters,Aktifkan Filter Atribut,
Attributes,Atribut,
Hide Variants,Sembunyikan Varian,
Website Attribute,Atribut Situs Web,
Attribute,Atribut,
Website Filter Field,Bidang Filter Situs Web,
Activity Cost,Biaya Aktivitas,
Billing Rate,Tarip penagihan,
Costing Rate,Tingkat Biaya,
title,judul,
Projects User,Pengguna Proyek,
Default Costing Rate,Standar Tingkat Biaya,
Default Billing Rate,Standar Tingkat Penagihan,
Dependent Task,Tugas Dependent,
Project Type,Jenis proyek,
% Complete Method,% Metode Lengkap,
Task Completion,tugas Penyelesaian,
Task Progress,tugas Kemajuan,
% Completed,Selesai %,
From Template,Dari Templat,
Project will be accessible on the website to these users,Proyek akan dapat diakses di website pengguna ini,
Copied From,Disalin dari,
Start and End Dates,Mulai dan Akhir Tanggal,
Actual Time in Hours (via Timesheet),Waktu Aktual (dalam Jam),
Costing and Billing,Biaya dan Penagihan,
Total Costing Amount (via Timesheet),Total Costing Amount (melalui Timesheets),
Total Expense Claim (via Expense Claim),Jumlah Klaim Beban (via Klaim Beban),
Total Purchase Cost (via Purchase Invoice),Total Biaya Pembelian (Purchase Invoice via),
Total Sales Amount (via Sales Order),Total Jumlah Penjualan (via Sales Order),
Total Billable Amount (via Timesheet),Total Jumlah yang Dapat Ditagih (via Timesheets),
Total Billed Amount (via Sales Invoice),Total Jumlah Bills (via Faktur Penjualan),
Total Consumed Material Cost (via Stock Entry),Total Biaya Bahan yang Dikonsumsi (melalui Entri Stok),
Gross Margin,Margin kotor,
Gross Margin %,Gross Margin%,
Monitor Progress,Pantau Kemajuan,
Collect Progress,Kumpulkan Kemajuan,
Frequency To Collect Progress,Frekuensi Untuk Mengumpulkan Kemajuan,
Twice Daily,Dua kali sehari,
First Email,Email Pertama,
Second Email,Email Kedua,
Time to send,Saatnya mengirim,
Day to Send,Hari ke Kirim,
Message will be sent to the users to get their status on the Project,Pesan akan dikirim ke pengguna untuk mendapatkan status mereka di Proyek,
Projects Manager,Manajer Proyek,
Project Template,Template Proyek,
Project Template Task,Tugas Template Proyek,
Begin On (Days),Mulai Pada (Hari),
Duration (Days),Durasi (Hari),
Project Update,Pembaruan Proyek,
Project User,proyek Pengguna,
View attachments,Lihat lampiran,
Projects Settings,Pengaturan Proyek,
Ignore Workstation Time Overlap,Abaikan Waktu Workstation Tumpang Tindih,
Ignore User Time Overlap,Abaikan Waktu Pengguna Tumpang Tindih,
Ignore Employee Time Overlap,Abaikan Waktu Karyawan Tumpang Tindih,
Weight,Berat,
Parent Task,Tugas orang tua,
Timeline,Garis waktu,
Expected Time (in hours),Waktu yang diharapkan (dalam jam),
% Progress,% Selesai,
Is Milestone,Adalah tonggak,
Task Description,Deskripsi Tugas,
Dependencies,Ketergantungan,
Dependent Tasks,Tugas Tanggungan,
Depends on Tasks,Tergantung pada Tugas,
Actual Start Date (via Timesheet),Aktual Mulai Tanggal (via Waktu Lembar),
Actual Time in Hours (via Timesheet),Waktu Aktual (dalam Jam),
Actual End Date (via Timesheet),Tanggal Akhir Aktual (dari Lembar Waktu),
Total Expense Claim (via Expense Claim),Jumlah Klaim Beban (via Beban Klaim),
Review Date,Tanggal Ulasan,
Closing Date,Tanggal Penutupan,
Task Depends On,Tugas Tergantung Pada,
Task Type,Jenis Tugas,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Detil karyawan,
Billing Details,Detail penagihan,
Total Billable Hours,Total Jam Ditagih,
Total Billed Hours,Total Jam Ditagih,
Total Costing Amount,Jumlah Total Biaya,
Total Billable Amount,Jumlah Total Ditagih,
Total Billed Amount,Jumlah Total Ditagih,
% Amount Billed,% Jumlah Ditagih,
Hrs,Hrs,
Costing Amount,Nilai Jumlah Biaya,
Corrective/Preventive,Korektif / Pencegahan,
Corrective,Perbaikan,
Preventive,Pencegahan,
Resolution,Resolusi,
Resolutions,Resolusi,
Quality Action Resolution,Resolusi Tindakan Kualitas,
Quality Feedback Parameter,Parameter Umpan Balik Kualitas,
Quality Feedback Template Parameter,Parameter Template Umpan Balik Kualitas,
Quality Goal,Tujuan Kualitas,
Monitoring Frequency,Frekuensi Pemantauan,
Weekday,Hari kerja,
Objectives,Tujuan,
Quality Goal Objective,Tujuan Sasaran Kualitas,
Objective,Objektif,
Agenda,Jadwal acara,
Minutes,Menit,
Quality Meeting Agenda,Agenda Rapat Berkualitas,
Quality Meeting Minutes,Risalah Rapat Kualitas,
Minute,Menit,
Parent Procedure,Prosedur Induk,
Processes,Proses,
Quality Procedure Process,Proses Prosedur Mutu,
Process Description,Deskripsi proses,
Link existing Quality Procedure.,Tautkan Prosedur Mutu yang ada.,
Additional Information,informasi tambahan,
Quality Review Objective,Tujuan Tinjauan Kualitas,
DATEV Settings,Pengaturan DATEV,
Regional,Daerah,
Consultant ID,ID Konsultan,
GST HSN Code,Kode HSN GST,
HSN Code,Kode HSN,
GST Settings,Pengaturan GST,
GST Summary,Ringkasan GST,
GSTIN Email Sent On,Email GSTIN Terkirim Pada,
GST Accounts,Akun GST,
B2C Limit,Batas B2C,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Tetapkan Nilai Faktur untuk B2C. B2CL dan B2CS dihitung berdasarkan nilai faktur ini.,
GSTR 3B Report,Laporan GSTR 3B,
January,Januari,
February,Februari,
March,Maret,
April,April,
August,Agustus,
September,September,
October,Oktober,
November,November,
December,Desember,
JSON Output,Output JSON,
Invoices with no Place Of Supply,Faktur tanpa Tempat Persediaan,
Import Supplier Invoice,Faktur Pemasok Impor,
Invoice Series,Seri Faktur,
Upload XML Invoices,Unggah Faktur XML,
Zip File,File Zip,
Import Invoices,Impor Faktur,
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 tombol Impor Faktur setelah file zip dilampirkan ke dokumen. Kesalahan apa pun yang terkait dengan pemrosesan akan ditampilkan di Log Kesalahan.,
Lower Deduction Certificate,Sertifikat Pemotongan Lebih Rendah,
Certificate Details,Rincian Sertifikat,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194Aku,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,nomor sertifikat,
Deductee Details,Rincian Pemotongan,
PAN No,PAN Tidak,
Validity Details,Detail Validitas,
Rate Of TDS As Per Certificate,Tarif TDS Sesuai Sertifikat,
Certificate Limit,Batas Sertifikat,
Invoice Series Prefix,Awalan Seri Faktur,
Active Menu,Menu Aktif,
Restaurant Menu,Menu Restoran,
Price List (Auto created),Daftar Harga (Auto dibuat),
Restaurant Manager,Manajer restoran,
Restaurant Menu Item,Item Menu Restoran,
Restaurant Order Entry,Entri Pemesanan Restoran,
Restaurant Table,Meja restoran,
Click Enter To Add,Klik Enter To Add,
Last Sales Invoice,Faktur penjualan terakhir,
Current Order,Pesanan saat ini,
Restaurant Order Entry Item,Item Item Pemesanan Restoran,
Served,Melayani,
Restaurant Reservation,Reservasi Restoran,
Waitlisted,Daftar tunggu,
No Show,Tidak menunjukkan,
No of People,Tidak ada orang,
Reservation Time,Waktu Reservasi,
Reservation End Time,Reservasi Akhir Waktu,
No of Seats,Tidak ada tempat duduk,
Minimum Seating,Tempat Duduk Minimal,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Pantau Kampanye Penjualan. Pantau Prospek, Penawaran, Perintah Penjualan dll dari Kampanye untuk mengukur Return on Investment.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Jadwal Kampanye,
Buyer of Goods and Services.,Pembeli Stok Barang dan Jasa.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Akun Bank Perusahaan Default,
From Lead,Dari Prospek,
Account Manager,Manajer Akuntansi,
Allow Sales Invoice Creation Without Sales Order,Izinkan Pembuatan Faktur Penjualan Tanpa Pesanan Penjualan,
Allow Sales Invoice Creation Without Delivery Note,Izinkan Pembuatan Faktur Penjualan Tanpa Nota Pengiriman,
Default Price List,Standar List Harga,
Primary Address and Contact Detail,Alamat Utama dan Detail Kontak,
"Select, to make the customer searchable with these fields","Pilih, untuk membuat pelanggan dapat ditelusuri dengan bidang ini",
Customer Primary Contact,Kontak utama pelanggan,
"Reselect, if the chosen contact is edited after save","Pilih ulang, jika kontak yang dipilih akan diedit setelah menyimpan",
Customer Primary Address,Alamat utama pelanggan,
"Reselect, if the chosen address is edited after save","Pilih ulang, jika alamat yang dipilih diedit setelah simpan",
Primary Address,alamat utama,
Mention if non-standard receivable account,Menyebutkan jika non-standar piutang,
Credit Limit and Payment Terms,Batas Kredit dan Persyaratan Pembayaran,
Additional information regarding the customer.,Informasi tambahan mengenai customer.,
Sales Partner and Commission,Penjualan Mitra dan Komisi,
Commission Rate,Tingkat Komisi,
Sales Team Details,Rincian Tim Penjualan,
Customer POS id,ID POS pelanggan,
Customer Credit Limit,Batas Kredit Pelanggan,
Bypass Credit Limit Check at Sales Order,Bataskan cek batas kredit pada Sales Order,
Industry Type,Jenis Produksi,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Instalasi Tanggal,
Installation Time,Waktu Installasi,
Installation Note Item,Laporan Instalasi Stok Barang,
Installed Qty,Terpasang Qty,
Lead Source,Sumber Prospek,
Period Start Date,Tanggal Mulai Periode,
Period End Date,Tanggal Akhir Masa,
Cashier,Kasir,
Difference,Perbedaan,
Modes of Payment,Mode Pembayaran,
Linked Invoices,Faktur Tertaut,
POS Closing Voucher Details,Detail Voucher Penutupan POS,
Collected Amount,Jumlah yang Dikumpulkan,
Expected Amount,Jumlah yang Diharapkan,
POS Closing Voucher Invoices,Faktur Voucher Penutupan POS,
Quantity of Items,Kuantitas 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","Menggabungkan sekumpulan **Barang-barang** menjadi **Barang** lain. Hal ini berguna bila anda menyusun **Barang-barang** tertentu menjadi sebuah paket dan anda mengelola persediaan **Barang-barang** paket dan bukan sekumpulan **Barang**. **Barang** paket akan menampilkan ""Tidak"" pada ""Barang Stok"" dan ""Ya"" pada ""Barang Jualan"". Sebagai contoh: jika anda menjual Laptop dan Ransel secara terpisah namun memiliki harga khusus bila pelanggan membeli keduanya, maka Laptop + Backpack akan menjadi barang Bundel Produk baru. Catatan: BOM = Bill of Materials",
Parent Item,Induk Stok Barang,
List items that form the package.,Daftar item yang membentuk paket.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Penawaran Kepada,
Rate at which customer's currency is converted to company's base currency,Tingkat di mana mata uang pelanggan dikonversi ke mata uang dasar perusahaan,
Rate at which Price list currency is converted to company's base currency,Tingkat di mana mata uang Daftar Harga dikonversi ke mata uang dasar perusahaan,
Additional Discount and Coupon Code,Diskon Tambahan dan Kode Kupon,
Referral Sales Partner,Rujukan Mitra Penjualan,
In Words will be visible once you save the Quotation.,Dalam Kata-kata akan terlihat sekali Anda menyimpan Quotation tersebut.,
Term Details,Rincian Term,
Quotation Item,Produk/Barang Penawaran,
Against Doctype,Terhadap Doctype,
Against Docname,Terhadap Docname,
Additional Notes,catatan tambahan,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Lewati Catatan Pengiriman,
In Words will be visible once you save the Sales Order.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Sales Order.,
Track this Sales Order against any Project,Melacak Order Penjualan ini terhadap Proyek apapun,
Billing and Delivery Status,Status Penagihan dan Pengiriman,
Not Delivered,Tidak Terkirim,
Fully Delivered,Sepenuhnya Terkirim,
Partly Delivered,Terkirim Sebagian,
Not Applicable,Tidak Berlaku,
%  Delivered,% Terkirim,
% of materials delivered against this Sales Order,% Dari materi yang Terkirim terhadap Sales Order ini,
% of materials billed against this Sales Order,% Bahan ditagih terhadap Sales Order ini,
Not Billed,Tidak Ditagih,
Fully Billed,Sepenuhnya Ditagih,
Partly Billed,Sebagian Ditagih,
Ensure Delivery Based on Produced Serial No,Pastikan Pengiriman Berdasarkan Nomor Seri yang Diproduksi No,
Supplier delivers to Customer,Pemasok mengirim ke Pelanggan,
Delivery Warehouse,Gudang Pengiriman,
Planned Quantity,Direncanakan Kuantitas,
For Production,Untuk Produksi,
Work Order Qty,Perintah Kerja Qty,
Produced Quantity,Jumlah Diproduksi,
Used for Production Plan,Digunakan untuk Rencana Produksi,
Sales Partner Type,Jenis Mitra Penjualan,
Contact No.,Hubungi Nomor,
Contribution (%),Kontribusi (%),
Contribution to Net Total,Kontribusi terhadap Net Jumlah,
Selling Settings,Pengaturan Penjualan,
Settings for Selling Module,Pengaturan untuk Jual Modul,
Customer Naming By,Penamaan Pelanggan Dengan,
Campaign Naming By,Penamaan Kampanye Promosi dengan,
Default Customer Group,Kelompok Pelanggan Standar,
Default Territory,Wilayah Standar,
Close Opportunity After Days,Tutup Peluang Setelah Days,
Default Quotation Validity Days,Hari Validasi Kutipan Default,
Sales Update Frequency,Frekuensi Pembaruan Penjualan,
Each Transaction,Setiap Transaksi,
SMS Center,SMS Center,
Send To,Kirim Ke,
All Contact,Semua Kontak,
All Customer Contact,Semua Kontak Pelanggan,
All Supplier Contact,Kontak semua Supplier,
All Sales Partner Contact,Semua Kontak Mitra Penjualan,
All Lead (Open),Semua Prospek (Terbuka),
All Employee (Active),Semua Karyawan (Aktif),
All Sales Person,Semua Salesmen,
Create Receiver List,Buat Daftar Penerima,
Receiver List,Daftar Penerima,
Messages greater than 160 characters will be split into multiple messages,Pesan lebih dari 160 karakter akan dipecah menjadi beberapa pesan,
Total Characters,Jumlah Karakter,
Total Message(s),Total Pesan (s),
Authorization Control,Pengendali Otorisasi,
Authorization Rule,Regulasi Autorisasi,
Average Discount,Rata-rata Diskon,
Customerwise Discount,Diskon Pelanggan,
Itemwise Discount,Diskon berdasarkan Item/Stok,
Customer or Item,Pelanggan atau Produk,
Customer / Item Name,Nama Pelanggan / Barang,
Authorized Value,Nilai Disetujui,
Applicable To (Role),Berlaku Untuk (Peran),
Applicable To (Employee),Berlaku Untuk (Karyawan),
Applicable To (User),Berlaku Untuk (User),
Applicable To (Designation),Berlaku Untuk (Penunjukan),
Approving Role (above authorized value),Menyetujui Peran (di atas nilai yang berwenang),
Approving User  (above authorized value),Approving User (di atas nilai yang berwenang),
Brand Defaults,Default Merek,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Badan Hukum / Anak dengan Bagan Akun terpisah milik Organisasi.,
Change Abbreviation,Ubah Singkatan,
Parent Company,Perusahaan utama,
Default Values,Nilai Default,
Default Holiday List,Standar Daftar Hari Libur,
Default Selling Terms,Ketentuan Penjualan Default,
Default Buying Terms,Ketentuan Pembelian Default,
Create Chart Of Accounts Based On,Buat Bagan Akun berbasis pada,
Standard Template,Template standar,
Existing Company,Perusahaan Yang Ada,
Chart Of Accounts Template,Pola Bagan Akun,
Existing Company ,Perusahaan yang ada,
Date of Establishment,tanggal pendirian,
Sales Settings,Pengaturan Penjualan,
Monthly Sales Target,Target Penjualan Bulanan,
Sales Monthly History,Riwayat Bulanan Penjualan,
Transactions Annual History,Transaksi Sejarah Tahunan,
Total Monthly Sales,Total Penjualan Bulanan,
Default Cash Account,Standar Rekening Kas,
Default Receivable Account,Standar Piutang Rekening,
Round Off Cost Center,Pembulatan Pusat Biaya,
Discount Allowed Account,Akun Diskon yang Diizinkan,
Discount Received Account,Diskon Akun yang Diterima,
Exchange Gain / Loss Account,Efek Gain / Loss Akun,
Unrealized Exchange Gain/Loss Account,Rekening Gain / Loss Exchange Belum Direalisasikan,
Allow Account Creation Against Child Company,Izinkan Pembuatan Akun Terhadap Perusahaan Anak,
Default Payable Account,Standar Akun Hutang,
Default Employee Advance Account,Akun uang muka karyawan,
Default Cost of Goods Sold Account,Standar Harga Pokok Penjualan,
Default Income Account,Akun Pendapatan standar,
Default Deferred Revenue Account,Akun Pendapatan Ditangguhkan Default,
Default Deferred Expense Account,Akun Beban Ditangguhkan Default,
Default Payroll Payable Account,Default Payroll Hutang Akun,
Default Expense Claim Payable Account,Akun Pembayaran Klaim Biaya Default,
Stock Settings,Pengaturan Persediaan,
Enable Perpetual Inventory,Aktifkan Inventaris Abadi,
Default Inventory Account,Akun Inventaris Default,
Stock Adjustment Account,Penyesuaian Akun Persediaan,
Fixed Asset Depreciation Settings,Pengaturan Penyusutan Aset Tetap,
Series for Asset Depreciation Entry (Journal Entry),Seri untuk Entry Depreciation Aset (Entri Jurnal),
Gain/Loss Account on Asset Disposal,Gain / Loss Account pada Asset Disposal,
Asset Depreciation Cost Center,Asset Pusat Penyusutan Biaya,
Budget Detail,Rincian Anggaran,
Exception Budget Approver Role,Peran Perwakilan Anggaran Pengecualian,
Company Info,Info Perusahaan,
For reference only.,Untuk referensi saja.,
Company Logo,Logo perusahaan,
Date of Incorporation,Tanggal Pendirian,
Date of Commencement,Tanggal dimulainya,
Phone No,No Telepon yang,
Company Description,Deskripsi Perusahaan,
Registration Details,Detail Pendaftaran,
Company registration numbers for your reference. Tax numbers etc.,Nomor registrasi perusahaan untuk referensi Anda. Nomor pajak dll,
Delete Company Transactions,Hapus Transaksi Perusahaan,
Currency Exchange,Kurs Mata Uang,
Specify Exchange Rate to convert one currency into another,Tentukan Nilai Tukar untuk mengkonversi satu mata uang ke yang lain,
From Currency,Dari mata uang,
To Currency,Untuk Mata,
For Buying,Untuk Membeli,
For Selling,Untuk Jual,
Customer Group Name,Nama Kelompok Pelanggan,
Parent Customer Group,Induk Kelompok Pelanggan,
Only leaf nodes are allowed in transaction,Hanya node cuti yang diperbolehkan dalam transaksi,
Mention if non-standard receivable account applicable,Sebutkan jika akun non-standar piutang yang berlaku,
Credit Limits,Batas Kredit,
Email Digest,Ringkasan Surel,
Send regular summary reports via Email.,Mengirim laporan ringkasan berkala melalui Email.,
Email Digest Settings,Pengaturan Surel Ringkasan,
How frequently?,Seberapa sering?,
Next email will be sent on:,Email berikutnya akan dikirim pada:,
Note: Email will not be sent to disabled users,Catatan: Surel tidak akan dikirim ke pengguna non-aktif,
Profit & Loss,Rugi laba,
New Income,Penghasilan baru,
New Expenses,Beban baru,
Annual Income,Pendapatan tahunan,
Annual Expenses,Beban Tahunan,
Bank Balance,Saldo bank,
Bank Credit Balance,Saldo Kredit Bank,
Receivables,Piutang,
Payables,Hutang,
Sales Orders to Bill,Pesanan Penjualan ke Bill,
Purchase Orders to Bill,Beli Pesanan ke Bill,
New Sales Orders,Penjualan New Orders,
New Purchase Orders,Pesanan Pembelian Baru,
Sales Orders to Deliver,Pesanan Penjualan untuk Mengirim,
Purchase Orders to Receive,Pesanan Pembelian untuk Menerima,
New Purchase Invoice,Faktur Pembelian Baru,
New Quotations,Kutipan Baru,
Open Quotations,Buka Kutipan,
Open Issues,Buka Masalah,
Open Projects,Buka Proyek,
Purchase Orders Items Overdue,Item Pesanan Pembelian terlambat,
Upcoming Calendar Events,Acara Kalender Mendatang,
Open To Do,Buka To Do,
Add Quote,Tambahkan Kutipan,
Global Defaults,Standar Global,
Default Company,Standar Perusahaan,
Current Fiscal Year,Tahun Anggaran saat ini,
Default Distance Unit,Unit Jarak Default,
Hide Currency Symbol,Sembunyikan Mata Uang,
Do not show any symbol like $ etc next to currencies.,Jangan menunjukkan simbol seperti $ etc sebelah mata uang.,
"If disable, 'Rounded Total' field will not be visible in any transaction","Jika disable, lapangan 'Rounded Jumlah' tidak akan terlihat dalam setiap transaksi",
Disable In Words,Nonaktifkan Dalam Kata-kata,
"If disable, 'In Words' field will not be visible in any transaction","Jika menonaktifkan, &#39;Dalam Kata-kata&#39; bidang tidak akan terlihat di setiap transaksi",
Item Classification,Klasifikasi Stok Barang,
General Settings,Pengaturan Umum,
Item Group Name,Nama Item Grup,
Parent Item Group,Induk Stok Barang Grup,
Item Group Defaults,Default Item Group,
Item Tax,Pajak Stok Barang,
Check this if you want to show in website,Periksa ini jika Anda ingin menunjukkan di website,
Show this slideshow at the top of the page,Tampilkan slide ini di bagian atas halaman,
HTML / Banner that will show on the top of product list.,HTML / Banner yang akan muncul di bagian atas daftar produk.,
Set prefix for numbering series on your transactions,Mengatur awalan untuk penomoran seri pada transaksi Anda,
Setup Series,Pengaturan Series,
Update Series,Perbarui Seri,
Change the starting / current sequence number of an existing series.,Mengubah mulai / nomor urut saat ini dari seri yang ada.,
Quotation Lost Reason,Alasan Kalah Penawaran,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Seorang distributor pihak ketiga / agen / komisi agen / affiliate / reseller yang menjual produk-produk perusahaan untuk komisi.,
Sales Partner Name,Penjualan Mitra Nama,
Partner Type,Tipe Mitra/Partner,
Address & Contacts,Alamat & Kontak,
Address Desc,Deskripsi Alamat,
Contact Desc,Contact Info,
Sales Partner Target,Sasaran Mitra Penjualan,
Targets,Target,
Show In Website,Tampilkan Di Website,
Referral Code,Kode Rujukan,
To Track inbound purchase,Untuk Melacak pembelian masuk,
Logo,Logo,
Partner website,situs mitra,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Semua Transaksi Penjualan dapat ditandai terhadap beberapa ** Orang Penjualan ** sehingga Anda dapat mengatur dan memonitor target.,
Name and Employee ID,Nama dan ID Karyawan,
Sales Person Name,Penjualan Person Nama,
Parent Sales Person,Induk Sales Person,
Select company name first.,Pilih nama perusahaan terlebih dahulu.,
Sales Person Targets,Target Sales Person,
Set targets Item Group-wise for this Sales Person.,Target Set Stok Barang Group-bijaksana untuk Sales Person ini.,
Supplier Group Name,Nama Grup Pemasok,
Parent Supplier Group,Grup Pemasok Induk,
Target Detail,Sasaran Detil,
Target Qty,Qty Target,
Target  Amount,Target Jumlah,
Target Distribution,Target Distribusi,
"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.","Syarat dan Ketentuan Standar yang dapat ditambahkan ke Penjualan dan Pembelian. Contoh : 1. Validitas tawaran. 1. Termin Pembayaran (Pembayaran Dimuka, Secara Kredit, pembayaran dimuka sebagian, dll). 1. Apa yang ekstra (atau dibayar oleh Pelanggan). 1. Peringatan keamanan / penggunaan. 1. Garansi jika ada. 1. Kebijakan Retur. 1. Syarat pengiriman, jika berlaku. 1. Cara menangani sengketa, ganti rugi, kewajiban, dll. 1. Alamat dan Kontak Perusahaan Anda.",
Applicable Modules,Modul yang Berlaku,
Terms and Conditions Help,Syarat dan Ketentuan Bantuan,
Classification of Customers by region,Klasifikasi Pelanggan menurut wilayah,
Territory Name,Nama Wilayah,
Parent Territory,Wilayah Induk,
Territory Manager,Manager Wilayah,
For reference,Untuk referensi,
Territory Targets,Target Wilayah,
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Menetapkan anggaran Group-bijaksana Stok Barang di Wilayah ini. Anda juga bisa memasukkan musiman dengan menetapkan Distribusi.,
UOM Name,Nama UOM,
Check this to disallow fractions. (for Nos),Centang untuk melarang fraksi. (Untuk Nos),
Website Item Group,Situs Stok Barang Grup,
Cross Listing of Item in multiple groups,Daftar Lintas Item dalam beberapa kelompok,
Default settings for Shopping Cart,Pengaturan default untuk Belanja,
Enable Shopping Cart,Aktifkan Keranjang Belanja,
Display Settings,Pengaturan Tampilan,
Show Public Attachments,Tampilkan Lampiran Umum,
Show Price,Tampilkan Harga,
Show Stock Availability,Tampilkan Ketersediaan Stok,
Show Contact Us Button,Tampilkan Tombol Hubungi Kami,
Show Stock Quantity,Tampilkan Kuantitas Saham,
Show Apply Coupon Code,Tampilkan Terapkan Kode Kupon,
Allow items not in stock to be added to cart,Izinkan item yang tidak ada stok ditambahkan ke troli,
Prices will not be shown if Price List is not set,Harga tidak akan ditampilkan jika Harga Daftar tidak diatur,
Quotation Series,Seri Penawaran,
Checkout Settings,Pengaturan Checkout,
Enable Checkout,aktifkan Checkout,
Payment Success Url,Pembayaran Sukses URL,
After payment completion redirect user to selected page.,Setelah selesai pembayaran mengarahkan pengguna ke halaman yang dipilih.,
Batch Details,Rincian Tumpak,
Batch ID,Batch ID,
image,gambar,
Parent Batch,Induk induk,
Manufacturing Date,Tanggal pembuatan,
Batch Quantity,Kuantitas Batch,
Batch UOM,Batch UOM,
Source Document Type,Jenis Dokumen Sumber,
Source Document Name,Nama dokumen sumber,
Batch Description,Kumpulan Keterangan,
Bin,Tong Sampah,
Reserved Quantity,Reserved Kuantitas,
Actual Quantity,Kuantitas Aktual,
Requested Quantity,diminta Kuantitas,
Reserved Qty for sub contract,Reserved Qty untuk sub kontrak,
Moving Average Rate,Tingkat Moving Average,
FCFS Rate,FCFS Tingkat,
Customs Tariff Number,Tarif Bea Nomor,
Tariff Number,tarif Nomor,
Delivery To,Pengiriman Untuk,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,Retur Barang,
Issue Credit Note,Terbitkan Catatan Kredit,
Return Against Delivery Note,Retur Terhadap Nota Pengiriman,
Customer's Purchase Order No,Nomor Order Pembelian Pelanggan,
Billing Address Name,Nama Alamat Penagihan,
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 membuat template standar dalam Penjualan Pajak dan Biaya Template, pilih salah satu dan klik pada tombol di bawah ini.",
In Words will be visible once you save the Delivery Note.,Dalam Kata-kata akan terlihat sekali Anda menyimpan Delivery Note.,
In Words (Export) will be visible once you save the Delivery Note.,Dalam Kata-kata (Ekspor) akan terlihat sekali Anda menyimpan Delivery Note.,
Transporter Info,Info Transporter,
Driver Name,Nama pengemudi,
Track this Delivery Note against any Project,Lacak Pengiriman ini Catatan terhadap Proyek manapun,
Inter Company Reference,Referensi Perusahaan Antar,
Print Without Amount,Cetak Tanpa Jumlah,
% Installed,% Terpasang,
% of materials delivered against this Delivery Note,% Dari materi yang Terkirim terhadap Pengiriman ini Note,
Installation Status,Status Instalasi,
Excise Page Number,Jumlah Halaman Excise,
Instructions,Instruksi,
From Warehouse,Dari Gudang,
Against Sales Order,Berdasarkan Order Penjualan,
Against Sales Order Item,Terhadap Barang di Order Penjualan,
Against Sales Invoice,Terhadap Faktur Penjualan,
Against Sales Invoice Item,Terhadap Barang di Faktur Penjualan,
Available Batch Qty at From Warehouse,Tersedia Batch Qty di Gudang Dari,
Available Qty at From Warehouse,Jumlah yang tersedia di Gudang Dari,
Delivery Settings,Pengaturan Pengiriman,
Dispatch Settings,Pengaturan Pengiriman,
Dispatch Notification Template,Template Pemberitahuan Pengiriman,
Dispatch Notification Attachment,Lampiran Pemberitahuan Pemberitahuan,
Leave blank to use the standard Delivery Note format,Biarkan kosong untuk menggunakan format Catatan Pengiriman standar,
Send with Attachment,Kirim dengan Lampiran,
Delay between Delivery Stops,Penundaan antara Stop Pengiriman,
Delivery Stop,Berhenti pengiriman,
Lock,Mengunci,
Visited,Dikunjungi,
Order Information,informasi pemesanan,
Contact Information,Kontak informasi,
Email sent to,Surel Dikirim Ke,
Dispatch Information,Informasi Pengiriman,
Estimated Arrival,perkiraan kedatangan,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Pemberitahuan email awal terkirim,
Delivery Details,Detail Pengiriman,
Driver Email,Email Pengemudi,
Driver Address,Alamat Pengemudi,
Total Estimated Distance,Perkiraan Jarak Total,
Distance UOM,Jarak UOM,
Departure Time,Waktu keberangkatan,
Delivery Stops,Pengiriman Berhenti,
Calculate Estimated Arrival Times,Hitung Perkiraan Waktu Kedatangan,
Use Google Maps Direction API to calculate estimated arrival times,Gunakan Google Maps Direction API untuk menghitung perkiraan waktu kedatangan,
Optimize Route,Optimalkan Rute,
Use Google Maps Direction API to optimize route,Gunakan Google Maps Direction API untuk mengoptimalkan rute,
In Transit,Sedang transit,
Fulfillment User,Pengguna Pemenuhan,
"A Product or a Service that is bought, sold or kept in stock.","Produk atau Jasa yang dibeli, dijual atau disimpan dalam persediaan.",
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 varian dari item lain maka deskripsi, gambar, harga, pajak dll akan ditetapkan dari template kecuali secara eksplisit ditentukan",
Is Item from Hub,Adalah Item dari Hub,
Default Unit of Measure,Standar Satuan Ukur,
Maintain Stock,Jaga Persediaan,
Standard Selling Rate,Standard Jual Tingkat,
Auto Create Assets on Purchase,Otomatis Buat Aset saat Pembelian,
Asset Naming Series,Seri Penamaan Aset,
Over Delivery/Receipt Allowance (%),Kelebihan Pengiriman / Penerimaan Kwitansi (%),
Barcodes,Barcode,
Shelf Life In Days,Shelf Life In Days,
End of Life,Akhir Riwayat,
Default Material Request Type,Default Bahan Jenis Permintaan,
Valuation Method,Metode Perhitungan,
FIFO,FIFO,
Moving Average,Moving Average,
Warranty Period (in days),Masa Garansi (dalam hari),
Auto re-order,Auto re-order,
Reorder level based on Warehouse,Tingkat Re-Order berdasarkan Gudang,
Will also apply for variants unless overrridden,Juga akan berlaku untuk varian kecuali tertimpa,
Units of Measure,Satuan ukur,
Will also apply for variants,Juga akan berlaku untuk varian,
Serial Nos and Batches,Nomor Seri dan Partai,
Has Batch No,Bernomor Batch,
Automatically Create New Batch,Buat Batch Baru secara otomatis,
Batch Number Series,Batch Number Series,
"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 seri disetel dan Batch No tidak disebutkan dalam transaksi, maka nomor bets otomatis akan dibuat berdasarkan seri ini. Jika Anda selalu ingin menyebutkan secara eksplisit Batch No untuk item ini, biarkan ini kosong. Catatan: pengaturan ini akan menjadi prioritas di atas Awalan Seri Penamaan dalam Pengaturan Stok.",
Has Expiry Date,Memiliki Tanggal Kedaluwarsa,
Retain Sample,Simpan sampel,
Max Sample Quantity,Jumlah Kuantitas Maks,
Maximum sample quantity that can be retained,Jumlah sampel maksimal yang bisa dipertahankan,
Has Serial No,Bernomor Seri,
Serial Number Series,Serial Number Series,
"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 ##### \n Jika seri diatur dan Nomor Seri tidak disebutkan dalam transaksi, maka nomor seri otomatis akan dibuat berdasarkan seri ini. Jika Anda ingin selalu menetapkan Nomor Seri untuk item ini, biarkan kosong.",
Variants,Varian,
Has Variants,Memiliki Varian,
"If this item has variants, then it cannot be selected in sales orders etc.","Jika item ini memiliki varian, maka tidak dapat dipilih dalam order penjualan dll",
Variant Based On,Varian Berbasis Pada,
Item Attribute,Item Atribut,
"Sales, Purchase, Accounting Defaults","Sales, Purchase, Accounting Defaults",
Item Defaults,Default Barang,
"Purchase, Replenishment Details","Rincian Pembelian, Pengisian",
Is Purchase Item,Stok Dibeli dari Supplier,
Default Purchase Unit of Measure,Unit Pembelian Default,
Minimum Order Qty,Minimum Order Qty,
Minimum quantity should be as per Stock UOM,Jumlah minimum harus sesuai Stock UOM,
Average time taken by the supplier to deliver,Rata-rata waktu yang dibutuhkan oleh Supplier untuk memberikan,
Is Customer Provided Item,Apakah Barang Yang Disediakan Pelanggan,
Delivered by Supplier (Drop Ship),Dikirim oleh Supplier (Drop Shipment),
Supplier Items,Supplier Produk,
Foreign Trade Details,Rincian Perdagangan Luar Negeri,
Country of Origin,Negara Asal,
Sales Details,Detail Penjualan,
Default Sales Unit of Measure,Unit Penjualan Default Ukur,
Is Sales Item,Barang Jualan,
Max Discount (%),Max Diskon (%),
No of Months,Tidak Ada Bulan,
Customer Items,Produk Pelanggan,
Inspection Criteria,Kriteria Inspeksi,
Inspection Required before Purchase,Inspeksi Diperlukan sebelum Pembelian,
Inspection Required before Delivery,Inspeksi Diperlukan sebelum Pengiriman,
Default BOM,BOM Standar,
Supply Raw Materials for Purchase,Bahan pasokan baku untuk Pembelian,
If subcontracted to a vendor,Jika subkontrak ke pemasok,
Customer Code,Kode Pelanggan,
Default Item Manufacturer,Produsen Item Default,
Default Manufacturer Part No,Bagian Pabrikan Default No,
Show in Website (Variant),Tampilkan Website (Variant),
Items with higher weightage will be shown higher,Item dengan weightage lebih tinggi akan ditampilkan lebih tinggi,
Show a slideshow at the top of the page,Tampilkan slideshow di bagian atas halaman,
Website Image,Gambar Situs Web,
Website Warehouse,Situs Gudang,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Tampilkan ""Tersedia"" atau ""Tidak Tersedia"" berdasarkan persediaan di gudang ini.",
Website Item Groups,Situs Grup Stok Barang,
List this Item in multiple groups on the website.,Daftar Stok Barang ini dalam beberapa kelompok di website.,
Copy From Item Group,Salin Dari Grup Stok Barang,
Website Content,Konten situs web,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Anda dapat menggunakan markah Bootstrap 4 apa pun yang valid di bidang ini. Itu akan ditampilkan pada Halaman Item Anda.,
Total Projected Qty,Total Proyeksi Jumlah,
Hub Publishing Details,Rincian Hub Publishing,
Publish in Hub,Publikasikan di Hub,
Publish Item to hub.erpnext.com,Publikasikan Item untuk hub.erpnext.com,
Hub Category to Publish,Kategori Hub untuk Publikasikan,
Hub Warehouse,Gudang Hub,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Publish &quot;In Stock&quot; atau &quot;Not in Stock&quot; di Hub berdasarkan stok yang ada di gudang ini.,
Synced With Hub,Disinkronkan Dengan Hub,
Item Alternative,Alternatif Barang,
Alternative Item Code,Kode Barang Alternatif,
Two-way,Dua arah,
Alternative Item Name,Nama Item Alternatif,
Attribute Name,Nama Atribut,
Numeric Values,Nilai numerik,
From Range,Dari Rentang,
Increment,Kenaikan,
To Range,Berkisar,
Item Attribute Values,Item Nilai Atribut,
Item Attribute Value,Nilai Item Atribut,
Attribute Value,Nilai Atribut,
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 ditambahkan ke Item Code dari varian. Sebagai contoh, jika Anda adalah singkatan ""SM"", dan kode Stok Barang adalah ""T-SHIRT"", kode item varian akan ""T-SHIRT-SM""",
Item Barcode,Item Barcode,
Barcode Type,Jenis Barcode,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Rincian Barang Pelanggan,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Untuk kenyamanan pelanggan, kode ini dapat digunakan dalam format cetak seperti Faktur dan Nota Pengiriman",
Ref Code,Ref Kode,
Item Default,Default Barang,
Purchase Defaults,Beli Default,
Default Buying Cost Center,Standar Biaya Pusat Pembelian,
Default Supplier,Supplier Standar,
Default Expense Account,Beban standar Akun,
Sales Defaults,Default Penjualan,
Default Selling Cost Center,Standar Pusat Biaya Jual,
Item Manufacturer,Item Produsen,
Item Price,Item Price,
Packing Unit,Unit Pengepakan,
Quantity  that must be bought or sold per UOM,Kuantitas yang harus dibeli atau dijual per UOM,
Item Quality Inspection Parameter,Stok Barang Kualitas Parameter Inspeksi,
Acceptance Criteria,Kriteria Penerimaan,
Item Reorder,Item Reorder,
Check in (group),Check in (kelompok),
Request for,Meminta,
Re-order Level,Tingkat Re-order,
Re-order Qty,Re-order Qty,
Item Supplier,Item Supplier,
Item Variant,Item Variant,
Item Variant Attribute,Item Varian Atribut,
Do not update variants on save,Jangan perbarui varian pada saat menyimpan data,
Fields will be copied over only at time of creation.,Fields akan disalin hanya pada saat penciptaan.,
Allow Rename Attribute Value,Izinkan Ganti Nama Nilai Atribut,
Rename Attribute Value in Item Attribute.,Ubah Nama Nilai Atribut di Atribut Item.,
Copy Fields to Variant,Copy Fields ke Variant,
Item Website Specification,Item Situs Spesifikasi,
Table for Item that will be shown in Web Site,Tabel untuk Item yang akan ditampilkan di Situs Web,
Landed Cost Item,Jenis Barang Biaya Landing,
Receipt Document Type,Dokumen penerimaan Type,
Receipt Document,Dokumen penerimaan,
Applicable Charges,Biaya yang Berlaku,
Purchase Receipt Item,Nota Penerimaan Stok Barang,
Landed Cost Purchase Receipt,Biaya Landing Cost Nota Penerimaan,
Landed Cost Taxes and Charges,Biaya Pajak dan Landing Cost,
Landed Cost Voucher,Voucher Landing Cost,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Nota Penerimaan,
Purchase Receipt Items,Nota Penerimaan Produk,
Get Items From Purchase Receipts,Dapatkan Produk Dari Pembelian Penerimaan,
Distribute Charges Based On,Distribusi Biaya Berdasarkan,
Landed Cost Help,Bantuan Biaya Landed,
Manufacturers used in Items,Produsen yang digunakan dalam Produk,
Limited to 12 characters,Terbatas untuk 12 karakter,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Partially Ordered,Dipesan Sebagian,
Transferred,Ditransfer,
% Ordered,% Tersusun,
Terms and Conditions Content,Syarat dan Ketentuan Konten,
Quantity and Warehouse,Kuantitas dan Gudang,
Lead Time Date,Tanggal Masa Tenggang,
Min Order Qty,Min Order Qty,
Packed Item,Stok Barang Kemasan,
To Warehouse (Optional),Untuk Gudang (pilihan),
Actual Batch Quantity,Kuantitas Batch yang Sebenarnya,
Prevdoc DocType,Prevdoc DocType,
Parent Detail docname,Induk Detil docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Menghasilkan kemasan slip paket yang akan dikirimkan. Digunakan untuk memberitahu nomor paket, isi paket dan berat.",
Indicates that the package is a part of this delivery (Only Draft),Menunjukkan bahwa paket tersebut merupakan bagian dari pengiriman ini (Hanya Draft),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Dari Package No,
Identification of the package for the delivery (for print),Identifikasi paket untuk pengiriman (untuk mencetak),
To Package No.,Untuk Paket No,
If more than one package of the same type (for print),Jika lebih dari satu paket dari jenis yang sama (untuk mencetak),
Package Weight Details,Paket Berat Detail,
The net weight of this package. (calculated automatically as sum of net weight of items),Berat bersih package ini. (Dihitung secara otomatis sebagai jumlah berat bersih item),
Net Weight UOM,Uom Berat Bersih,
Gross Weight,Berat Kotor,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Berat kotor paket. Berat + kemasan biasanya net berat bahan. (Untuk mencetak),
Gross Weight UOM,UOM Berat Kotor,
Packing Slip Item,Packing Slip Stok Barang,
DN Detail,DN Detil,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Alih Material untuk Produksi,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Jumlah bahan baku akan ditentukan berdasarkan jumlah Barang Jadi,
Parent Warehouse,Gudang tua,
Items under this warehouse will be suggested,Barang-barang di bawah gudang ini akan disarankan,
Get Item Locations,Dapatkan Lokasi Item,
Item Locations,Lokasi barang,
Pick List Item,Pilih Item Daftar,
Picked Qty,Memilih Qty,
Price List Master,Daftar Harga Guru,
Price List Name,Daftar Harga Nama,
Price Not UOM Dependent,Harga Tidak Tergantung UOM,
Applicable for Countries,Berlaku untuk Negara,
Price List Country,Negara Daftar Harga,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Catatan Pengiriman Supplier,
Time at which materials were received,Waktu di mana bahan yang diterima,
Return Against Purchase Receipt,Retur Terhadap Nota Pembelian,
Rate at which supplier's currency is converted to company's base currency,Tingkat di mana mata uang Supplier dikonversi ke mata uang dasar perusahaan,
Sets 'Accepted Warehouse' in each row of the items table.,Set &#39;Gudang Diterima&#39; di setiap baris tabel item.,
Sets 'Rejected Warehouse' in each row of the items table.,Set &#39;Gudang yang Ditolak&#39; di setiap baris tabel item.,
Raw Materials Consumed,Bahan Baku yang Dikonsumsi,
Get Current Stock,Dapatkan Persediaan saat ini,
Consumed Items,Barang Konsumsi,
Add / Edit Taxes and Charges,Tambah / Edit Pajak dan Biaya,
Auto Repeat Detail,Auto Repeat Detail,
Transporter Details,Detail transporter,
Vehicle Number,Nomor Kendaraan,
Vehicle Date,Tanggal Kendaraan,
Received and Accepted,Diterima dan Diterima,
Accepted Quantity,Qty Diterima,
Rejected Quantity,Kuantitas Ditolak,
Accepted Qty as per Stock UOM,Qty Diterima sesuai Stock UOM,
Sample Quantity,Jumlah sampel,
Rate and Amount,Rate dan Jumlah,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Tanggal Laporan,
Inspection Type,Tipe Inspeksi,
Item Serial No,Item Serial No,
Sample Size,Ukuran Sampel,
Inspected By,Diperiksa Oleh,
Readings,Bacaan,
Quality Inspection Reading,Nilai Inspeksi Mutu,
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 Template Inspeksi Kualitas,
Quick Stock Balance,Saldo Stok Cepat,
Available Quantity,Jumlah yang tersedia,
Distinct unit of an Item,Unit berbeda Item,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Gudang hanya dapat diubah melalui Entri Persediaan / Nota Pengiriman / Nota Pembelian,
Purchase / Manufacture Details,Detail Pembelian / Produksi,
Creation Document Type,Pembuatan Dokumen Type,
Creation Document No,Nomor Dokumen,
Creation Date,Tanggal Pembuatan,
Creation Time,Waktu Pembuatan,
Asset Details,Detail Aset,
Asset Status,Status Aset,
Delivery Document Type,Tipe Nota Pengiriman,
Delivery Document No,Nomor Dokumen Pengiriman,
Delivery Time,Waktu Pengiriman,
Invoice Details,Detail faktur,
Warranty / AMC Details,Garansi / Detail AMC,
Warranty Expiry Date,Tanggal Berakhir Garansi,
AMC Expiry Date,Tanggal Kadaluarsa AMC,
Under Warranty,Masih Garansi,
Out of Warranty,Out of Garansi,
Under AMC,Di bawah AMC,
Out of AMC,Dari AMC,
Warranty Period (Days),Masa Garansi (Hari),
Serial No Details,Nomor Detail Serial,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Jenis Entri Saham,
Stock Entry (Outward GIT),Entri Masuk (GIT Keluar),
Material Consumption for Manufacture,Konsumsi Bahan untuk Industri,
Repack,Repack,
Send to Subcontractor,Kirim ke Subkontraktor,
Delivery Note No,Pengiriman Note No,
Sales Invoice No,Nomor Faktur Penjualan,
Purchase Receipt No,No Nota Penerimaan,
Inspection Required,Inspeksi Diperlukan,
From BOM,Dari BOM,
For Quantity,Untuk Kuantitas,
As per Stock UOM,Sesuai UOM Persediaan,
Including items for sub assemblies,Termasuk item untuk sub rakitan,
Default Source Warehouse,Standar Gudang Sumber,
Source Warehouse Address,Sumber Alamat Gudang,
Default Target Warehouse,Standar Sasaran Gudang,
Target Warehouse Address,Target Gudang Alamat,
Update Rate and Availability,Perbarui Hitungan dan Ketersediaan,
Total Incoming Value,Total nilai masuk,
Total Outgoing Value,Nilai Total Keluaran,
Total Value Difference (Out - In),Total Nilai Selisih (Out - Dalam),
Additional Costs,Biaya-biaya tambahan,
Total Additional Costs,Total Biaya Tambahan,
Customer or Supplier Details,Rincian Pelanggan atau Pemasok,
Per Transferred,Per Dipindahkan,
Stock Entry Detail,Rincian Entri Persediaan,
Basic Rate (as per Stock UOM),Tarif Dasar (sesuai UOM Persediaan),
Basic Amount,Nilai Dasar,
Additional Cost,Biaya tambahan,
Serial No / Batch,Serial No / Batch,
BOM No. for a Finished Good Item,No. BOM untuk Barang Jadi,
Material Request used to make this Stock Entry,Permintaan Material yang digunakan untuk membuat Entri Persediaan ini,
Subcontracted Item,Item Subkontrak,
Against Stock Entry,Terhadap Entri Saham,
Stock Entry Child,Anak Masuk Stock,
PO Supplied Item,PO Barang yang Disediakan,
Reference Purchase Receipt,Referensi Kwitansi Pembelian,
Stock Ledger Entry,Entri Buku Persediaan,
Outgoing Rate,Tingkat keluar,
Actual Qty After Transaction,Jumlah Aktual Setelah Transaksi,
Stock Value Difference,Perbedaan Nilai Persediaan,
Stock Queue (FIFO),Antrian Persediaan (FIFO),
Is Cancelled,Apakah Dibatalkan,
Stock Reconciliation,Rekonsiliasi Persediaan,
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 memperbarui atau memperbaiki kuantitas dan valuasi persediaan di sistem. Biasanya digunakan untuk menyelaraskan sistem dengan aktual barang yang ada di gudang.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Rekonsiliasi JSON,
Stock Reconciliation Item,Barang Rekonsiliasi Persediaan,
Before reconciliation,Sebelum rekonsiliasi,
Current Serial No,Nomor Seri Saat Ini,
Current Valuation Rate,Nilai Tingkat Penilaian Saat ini,
Current Amount,Jumlah saat ini,
Quantity Difference,Perbedaan Kuantitas,
Amount Difference,jumlah Perbedaan,
Item Naming By,Item Penamaan Dengan,
Default Item Group,Standar Item Grup,
Default Stock UOM,UOM Persediaan Standar,
Sample Retention Warehouse,Contoh Retensi Gudang,
Default Valuation Method,Metode Perhitungan Standar,
Show Barcode Field,Tampilkan Barcode Lapangan,
Convert Item Description to Clean HTML,Mengkonversi Deskripsi Item untuk Bersihkan HTML,
Allow Negative Stock,Izinkan persediaan negatif,
Automatically Set Serial Nos based on FIFO,Nomor Seri Otomatis berdasarkan FIFO,
Auto Material Request,Permintaan Material Otomatis,
Inter Warehouse Transfer Settings,Pengaturan Transfer Antar Gudang,
Freeze Stock Entries,Bekukan Entri Persediaan,
Stock Frozen Upto,Stock Frozen Upto,
Batch Identification,Identifikasi Batch,
Use Naming Series,Gunakan Seri Penamaan,
Naming Series Prefix,Awalan Seri Penamaan,
UOM Category,Kategori UOM,
UOM Conversion Detail,Detil UOM Konversi,
Variant Field,Bidang Varian,
A logical Warehouse against which stock entries are made.,Suatu Gudang maya dimana entri persediaan dibuat.,
Warehouse Detail,Detail Gudang,
Warehouse Name,Nama Gudang,
Warehouse Contact Info,Info Kontak Gudang,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Dimunculkan Oleh (Email),
Issue Type,Jenis Isu,
Issue Split From,Masalah Berpisah Dari,
Service Level,Tingkat Layanan,
Response By,Tanggapan oleh,
Response By Variance,Respon Berdasarkan Varians,
Ongoing,Sedang berlangsung,
Resolution By,Resolusi oleh,
Resolution By Variance,Resolusi oleh Varians,
Service Level Agreement Creation,Pembuatan Perjanjian Tingkat Layanan,
First Responded On,Ditangani Pertama kali pada,
Resolution Details,Detail Resolusi,
Opening Date,Tanggal Pembukaan,
Opening Time,Membuka Waktu,
Resolution Date,Tanggal Resolusi,
Via Customer Portal,Melalui Portal Pelanggan,
Support Team,Tim Support,
Issue Priority,Prioritas Masalah,
Service Day,Hari Layanan,
Workday,Hari kerja,
Default Priority,Prioritas Default,
Priorities,Prioritas,
Support Hours,Jam Dukungan,
Support and Resolution,Dukungan dan Resolusi,
Default Service Level Agreement,Perjanjian Tingkat Layanan Default,
Entity,Kesatuan,
Agreement Details,Detail Perjanjian,
Response and Resolution Time,Waktu Respons dan Resolusi,
Service Level Priority,Prioritas Tingkat Layanan,
Resolution Time,Waktu resolusi,
Support Search Source,Mendukung Sumber Pencarian,
Source Type,Jenis Sumber,
Query Route String,String Rute Kueri,
Search Term Param Name,Nama Param Istilah Pencarian,
Response Options,Opsi Tanggapan,
Response Result Key Path,Jalur Kunci Hasil Tanggapan,
Post Route String,Posting String Rute,
Post Route Key List,Posting Daftar Kunci Rute,
Post Title Key,Posting Kunci Judul,
Post Description Key,Kunci Deskripsi Posting,
Link Options,Opsi Tautan,
Source DocType,Sumber DocType,
Result Title Field,Bidang Judul Hasil,
Result Preview Field,Bidang Pratinjau Hasil,
Result Route Field,Bidang Rute Hasil,
Service Level Agreements,Tingkatan Jasa Persetujuan,
Track Service Level Agreement,Lacak Perjanjian Tingkat Layanan,
Allow Resetting Service Level Agreement,Izinkan Mengatur Ulang Perjanjian Tingkat Layanan,
Close Issue After Days,Tutup Isu Setelah Days,
Auto close Issue after 7 days,Auto Issue dekat setelah 7 hari,
Support Portal,Portal Dukungan,
Get Started Sections,Mulai Bagian,
Show Latest Forum Posts,Tampilkan Posting Forum Terbaru,
Forum Posts,Kiriman Forum,
Forum URL,URL Forum,
Get Latest Query,Dapatkan Permintaan Terbaru,
Response Key List,Daftar Kunci Respons,
Post Route Key,Posting Kunci Rute,
Search APIs,API Pencarian,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Tanggal dibuat,
Item and Warranty Details,Item dan Garansi Detail,
Warranty / AMC Status,Garansi / Status AMC,
Resolved By,Terselesaikan Dengan,
Service Address,Alamat Layanan,
If different than customer address,Jika berbeda dari alamat pelanggan,
Raised By,Diangkat Oleh,
From Company,Dari Perusahaan,
Rename Tool,Alat Perubahan Nama,
Utilities,Utilitas,
Type of document to rename.,Jenis dokumen untuk mengubah nama.,
File to Rename,Nama File untuk Diganti,
"Attach .csv file with two columns, one for the old name and one for the new name","Melampirkan file .csv dengan dua kolom, satu untuk nama lama dan satu untuk nama baru",
Rename Log,Log Riwayat Ganti Nama,
SMS Log,SMS Log,
Sender Name,Nama Pengirim,
Sent On,Dikirim Pada,
No of Requested SMS,Tidak ada dari Diminta SMS,
Requested Numbers,Nomor yang Diminta,
No of Sent SMS,Tidak ada dari Sent SMS,
Sent To,Dikirim Ke,
Absent Student Report,Laporan Absen Siswa,
Assessment Plan Status,Status Rencana Penilaian,
Asset Depreciation Ledger,Aset Penyusutan Ledger,
Asset Depreciations and Balances,Penyusutan aset dan Saldo,
Available Stock for Packing Items,Tersedia untuk Barang Paket,
Bank Clearance Summary,Ringkasan Kliring Bank,
Batch Item Expiry Status,Status Kadaluarsa Persediaan Batch,
Batch-Wise Balance History,Rekap Saldo menurut Kumpulan,
BOM Explorer,BOM Explorer,
BOM Search,Pencarian BOM,
BOM Stock Calculated,BOM Stock Dihitung,
BOM Variance Report,Laporan Varians BOM,
Campaign Efficiency,Efisiensi Promosi,
Cash Flow,Arus kas,
Completed Work Orders,Perintah Kerja Selesai,
To Produce,Untuk Menghasilkan,
Produced,Diproduksi,
Consolidated Financial Statement,Laporan Keuangan Konsolidasi,
Course wise Assessment Report,Laporan Penilaian yang tepat,
Customer Acquisition and Loyalty,Akuisisi dan Loyalitas Pelanggan,
Customer Credit Balance,Saldo Kredit Pelanggan,
Customer Ledger Summary,Ringkasan Buku Besar Pelanggan,
Customer-wise Item Price,Harga Barang menurut pelanggan,
Customers Without Any Sales Transactions,Pelanggan Tanpa Transaksi Penjualan apa pun,
Daily Timesheet Summary,Timesheet Ringkasan Harian,
DATEV,DATEV,
Delayed Item Report,Laporan Item Tertunda,
Delayed Order Report,Laporan Pesanan Tertunda,
Delivered Items To Be Billed,Produk Terkirim untuk Ditagih,
Delivery Note Trends,Tren pengiriman Note,
Electronic Invoice Register,Daftar Faktur Elektronik,
Employee Billing Summary,Ringkasan Penagihan Karyawan,
Employee Birthday,Ulang Tahun Karyawan,
Employee Information,Informasi Karyawan,
Employee Leave Balance,Nilai Cuti Karyawan,
Employee Leave Balance Summary,Ringkasan Saldo Cuti Karyawan,
Eway Bill,Eway Bill,
Expiring Memberships,Kedaluwarsa Keanggotaan,
Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
Final Assessment Grades,Penilaian Akhir Kelas,
Fixed Asset Register,Daftar Aset Tetap,
Gross and Net Profit Report,Laporan Laba Kotor dan Laba Bersih,
GST Itemised Purchase Register,Daftar Pembelian Item GST,
GST Itemised Sales Register,Daftar Penjualan Item GST,
GST Purchase Register,Daftar Pembelian GST,
GST Sales Register,Daftar Penjualan GST,
GSTR-1,GSTR-1,
GSTR-2,GSTR-2,
Hotel Room Occupancy,Kamar Hotel Okupansi,
HSN-wise-summary of outward supplies,HSN-bijaksana-ringkasan persediaan luar,
Inactive Customers,Pelanggan tidak aktif,
Inactive Sales Items,Barang Penjualan Tidak Aktif,
IRS 1099,IRS 1099,
Issued Items Against Work Order,Item yang Diterbitkan Melawan Perintah Kerja,
Projected Quantity as Source,Proyeksi Jumlah sebagai Sumber,
Item Balance (Simple),Item Balance (Sederhana),
Item Price Stock,Stok Harga Barang,
Item Prices,Harga Barang/Item,
Item Shortage Report,Laporan Kekurangan Barang / Item,
Item Variant Details,Rincian Item Variant,
Item-wise Price List Rate,Stok Barang-bijaksana Daftar Harga Tingkat,
Item-wise Purchase History,Laporan Riwayat Pembelian berdasarkan Stok Barang/Item,
Item-wise Purchase Register,Stok Barang-bijaksana Pembelian Register,
Item-wise Sales History,Item-wise Penjualan Sejarah,
Item-wise Sales Register,Item-wise Daftar Penjualan,
Items To Be Requested,Items Akan Diminta,
Reserved,Ditahan,
Itemwise Recommended Reorder Level,Itemwise Rekomendasi Reorder Tingkat,
Lead Details,Rincian Prospek,
Lead Owner Efficiency,Efisiensi Pemilik Prospek,
Lost Opportunity,Peluang Hilang,
Maintenance Schedules,Jadwal pemeliharaan,
Material Requests for which Supplier Quotations are not created,Permintaan Material yang Supplier Quotation tidak diciptakan,
Open Work Orders,Buka Perintah Kerja,
Qty to Deliver,Kuantitas Pengiriman,
Patient Appointment Analytics,Analisis Pengangkatan Pasien,
Payment Period Based On Invoice Date,Masa Pembayaran Berdasarkan Faktur Tanggal,
Pending SO Items For Purchase Request,Pending SO Items Untuk Pembelian Permintaan,
Procurement Tracker,Pelacak Pengadaan,
Product Bundle Balance,Saldo Bundel Produk,
Production Analytics,Analytics produksi,
Profit and Loss Statement,Laba Rugi,
Profitability Analysis,Analisis profitabilitas,
Project Billing Summary,Ringkasan Penagihan Proyek,
Project wise Stock Tracking,Pelacakan Stok proyek yang bijaksana,
Project wise Stock Tracking ,Pelacakan Persediaan menurut Proyek,
Prospects Engaged But Not Converted,Prospek Terlibat Tapi Tidak Dikonversi,
Purchase Analytics,Pembelian Analytics,
Purchase Invoice Trends,Pembelian Faktur Trends,
Qty to Receive,Kuantitas untuk diterima,
Received Qty Amount,Menerima Jumlah Jumlah,
Billed Qty,Jumlah Tagihan,
Purchase Order Trends,Trend Order Pembelian,
Purchase Receipt Trends,Tren Nota Penerimaan,
Purchase Register,Register Pembelian,
Quotation Trends,Trend Penawaran,
Received Items To Be Billed,Produk Diterima Akan Ditagih,
Qty to Order,Kuantitas untuk diorder,
Requested Items To Be Transferred,Permintaan Produk Akan Ditransfer,
Qty to Transfer,Kuantitas untuk ditransfer,
Sales Analytics,Analitika Penjualan,
Sales Invoice Trends,Trend Faktur Penjualan,
Sales Order Trends,Sales Order Trends,
Sales Partner Commission Summary,Ringkasan Komisi Mitra Penjualan,
Sales Partner Target Variance based on Item Group,Varians Target Mitra Penjualan berdasarkan Item Group,
Sales Partner Transaction Summary,Ringkasan Transaksi Mitra Penjualan,
Sales Partners Commission,Komisi Mitra Penjualan,
Invoiced Amount (Exclusive Tax),Jumlah yang Ditagih (Pajak Eksklusif),
Average Commission Rate,Rata-rata Komisi Tingkat,
Sales Payment Summary,Ringkasan Pembayaran Penjualan,
Sales Person Commission Summary,Ringkasan Komisi Personel Penjualan,
Sales Person Target Variance Based On Item Group,Varians Target Tenaga Penjual Berdasarkan Kelompok Barang,
Sales Person-wise Transaction Summary,Sales Person-bijaksana Rangkuman Transaksi,
Sales Register,Daftar Penjualan,
Serial No Service Contract Expiry,Masa Kadaluwarsa Nomor Seri Kontrak Jasa,
Serial No Status,Status Nomor Serial,
Serial No Warranty Expiry,Nomor Serial Garansi telah kadaluarsa,
Stock Ageing,Usia Persediaan,
Stock and Account Value Comparison,Perbandingan Nilai Saham dan Akun,
Stock Projected Qty,Proyeksi Jumlah Persediaan,
Student and Guardian Contact Details,Mahasiswa dan Wali Detail Kontak,
Student Batch-Wise Attendance,Mahasiswa Batch-Wise Kehadiran,
Student Fee Collection,Mahasiswa Koleksi Fee,
Student Monthly Attendance Sheet,Mahasiswa Lembar Kehadiran Bulanan,
Subcontracted Item To Be Received,Barang Subkontrak Untuk Diterima,
Subcontracted Raw Materials To Be Transferred,Bahan Baku Subkontrak Akan Ditransfer,
Supplier Ledger Summary,Ringkasan Buku Besar Pemasok,
Supplier-Wise Sales Analytics,Sales Analitikal berdasarkan Supplier,
Support Hour Distribution,Distribusi Jam Dukungan,
TDS Computation Summary,Ringkasan Perhitungan TDS,
TDS Payable Monthly,TDS Hutang Bulanan,
Territory Target Variance Based On Item Group,Varians Target Wilayah Berdasarkan Kelompok Barang,
Territory-wise Sales,Penjualan Wilayah-bijaksana,
Total Stock Summary,Ringkasan Persediaan Total,
Trial Balance,Trial Balance,
Trial Balance (Simple),Balance Trial (Sederhana),
Trial Balance for Party,Trial Balance untuk Partai,
Warehouse wise Item Balance Age and Value,Gudang Item yang bijak Saldo Umur dan Nilai,
Work Order Stock Report,Laporan Stock Pesanan Kerja,
Work Orders in Progress,Perintah Kerja Sedang Berlangsung,
Automatically Process Deferred Accounting Entry,Secara Otomatis Memproses Entri Akuntansi yang Ditangguhkan,
Bank Clearance,Izin Bank,
Bank Clearance Detail,Detail Izin Bank,
Update Cost Center Name / Number,Perbarui Nama / Nomor Pusat Biaya,
Journal Entry Template,Template Entri Jurnal,
Template Title,Judul Template,
Journal Entry Type,Jenis Entri Jurnal,
Journal Entry Template Account,Akun Template Entri Jurnal,
Process Deferred Accounting,Proses Akuntansi yang Ditangguhkan,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Entri manual tidak dapat dibuat! Nonaktifkan entri otomatis untuk akuntansi yang ditangguhkan dalam pengaturan akun dan coba lagi,
End date cannot be before start date,Tanggal akhir tidak boleh sebelum tanggal mulai,
Total Counts Targeted,Jumlah Total yang Ditargetkan,
Total Counts Completed,Jumlah Total Selesai,
Counts Targeted: {0},Jumlah yang Ditargetkan: {0},
Material Request Warehouse,Gudang Permintaan Material,
Select warehouse for material requests,Pilih gudang untuk permintaan material,
Transfer Materials For Warehouse {0},Mentransfer Bahan Untuk Gudang {0},
Production Plan Material Request Warehouse,Gudang Permintaan Material Rencana Produksi,
Sets 'Source Warehouse' in each row of the items table.,Set &#39;Source Warehouse&#39; di setiap baris tabel item.,
Sets 'Target Warehouse' in each row of the items table.,Menetapkan &#39;Gudang Target&#39; di setiap baris tabel item.,
Show Cancelled Entries,Tunjukkan Entri yang Dibatalkan,
Backdated Stock Entry,Entri Stok Backdated,
Row #{}: Currency of {} - {} doesn't matches company currency.,Baris # {}: Mata uang {} - {} tidak cocok dengan mata uang perusahaan.,
{} Assets created for {},{} Aset dibuat untuk {},
{0} Number {1} is already used in {2} {3},{0} Nomor {1} sudah digunakan di {2} {3},
Update Bank Clearance Dates,Perbarui Tanggal Izin Bank,
Healthcare Practitioner: ,Praktisi Kesehatan:,
Lab Test Conducted: ,Uji Lab Dilakukan:,
Lab Test Event: ,Acara Uji Lab:,
Lab Test Result: ,Hasil Uji Lab:,
Clinical Procedure conducted: ,Prosedur Klinis dilakukan:,
Therapy Session Charges: {0},Biaya Sesi Terapi: {0},
Therapy: ,Terapi:,
Therapy Plan: ,Rencana Terapi:,
Total Counts Targeted: ,Jumlah Total yang Ditargetkan:,
Total Counts Completed: ,Jumlah Total Selesai:,
Is Mandatory,Apakah Wajib,
Service Received But Not Billed,Layanan Diterima Tapi Tidak Ditagih,
Deferred Accounting Settings,Pengaturan Akuntansi yang Ditangguhkan,
Book Deferred Entries Based On,Buku Entri Ditunda Berdasarkan,
Days,Hari,
Months,Bulan,
Book Deferred Entries Via Journal Entry,Buku Entri Ditunda Melalui Entri Jurnal,
Submit Journal Entries,Kirimkan Entri Jurnal,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Jika ini tidak dicentang, Entri Jurnal akan disimpan dalam status Draf dan harus diserahkan secara manual",
Enable Distributed Cost Center,Aktifkan Pusat Biaya Terdistribusi,
Distributed Cost Center,Pusat Biaya Terdistribusi,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Hari Terlambat,
Dunning Type,Jenis Dunning,
Dunning Fee,Biaya Dunning,
Dunning Amount,Jumlah Dunning,
Resolved,Terselesaikan,
Unresolved,Belum terselesaikan,
Printing Setting,Pengaturan Pencetakan,
Body Text,Teks Tubuh,
Closing Text,Teks Penutup,
Resolve,Menyelesaikan,
Dunning Letter Text,Teks Surat Dunning,
Is Default Language,Apakah Bahasa Default,
Letter or Email Body Text,Teks Isi Surat atau Email,
Letter or Email Closing Text,Teks Penutupan Surat atau Email,
Body and Closing Text Help,Bantuan Isi dan Teks Penutup,
Overdue Interval,Interval Terlambat,
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.","Bagian ini memungkinkan pengguna untuk mengatur Isi dan Teks Penutup dari Surat Dunning untuk Jenis Dunning berdasarkan bahasa, yang dapat digunakan dalam Cetak.",
Reference Detail No,Referensi Detail No,
Custom Remarks,Keterangan Kustom,
Please select a Company first.,Pilih Perusahaan terlebih dahulu.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Baris # {0}: Jenis Dokumen Referensi harus salah satu dari Pesanan Penjualan, Faktur Penjualan, Entri Jurnal atau Dunning",
POS Closing Entry,Entri Penutupan POS,
POS Opening Entry,Entri Pembukaan POS,
POS Transactions,Transaksi POS,
POS Closing Entry Detail,Detail Entri Penutupan POS,
Opening Amount,Jumlah Pembukaan,
Closing Amount,Jumlah Penutupan,
POS Closing Entry Taxes,Pajak Entri Penutupan POS,
POS Invoice,Faktur POS,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Faktur Penjualan Konsolidasi,
Return Against POS Invoice,Kembali Terhadap Faktur POS,
Consolidated,Konsolidasi,
POS Invoice Item,Item Faktur POS,
POS Invoice Merge Log,Log Penggabungan Faktur POS,
POS Invoices,Faktur POS,
Consolidated Credit Note,Nota Kredit Konsolidasi,
POS Invoice Reference,Referensi Faktur POS,
Set Posting Date,Tetapkan Tanggal Posting,
Opening Balance Details,Membuka Detail Saldo,
POS Opening Entry Detail,Detail Entri Pembukaan POS,
POS Payment Method,Metode Pembayaran POS,
Payment Methods,cara Pembayaran,
Process Statement Of Accounts,Proses Pernyataan Akun,
General Ledger Filters,Filter Buku Besar,
Customers,Pelanggan,
Select Customers By,Pilih Pelanggan Menurut,
Fetch Customers,Ambil Pelanggan,
Send To Primary Contact,Kirim Ke Kontak Utama,
Print Preferences,Preferensi Cetak,
Include Ageing Summary,Sertakan Ringkasan Penuaan,
Enable Auto Email,Aktifkan Email Otomatis,
Filter Duration (Months),Durasi Filter (Bulan),
CC To,CC Ke,
Help Text,Teks Bantuan,
Emails Queued,Email Mengantri,
Process Statement Of Accounts Customer,Proses Laporan Rekening Pelanggan,
Billing Email,Email Penagihan,
Primary Contact Email,Email Kontak Utama,
PSOA Cost Center,Pusat Biaya PSOA,
PSOA Project,Proyek PSOA,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Supplier GSTIN,
Place of Supply,Tempat Persediaan,
Select Billing Address,Pilih Alamat Penagihan,
GST Details,Detail GST,
GST Category,Kategori GST,
Registered Regular,Reguler Terdaftar,
Registered Composition,Komposisi Terdaftar,
Unregistered,Tidak terdaftar,
SEZ,SEZ,
Overseas,Luar negeri,
UIN Holders,Pemegang UIN,
With Payment of Tax,Dengan Pembayaran Pajak,
Without Payment of Tax,Tanpa Pembayaran Pajak,
Invoice Copy,Salinan Faktur,
Original for Recipient,Asli untuk Penerima,
Duplicate for Transporter,Duplikat untuk Transporter,
Duplicate for Supplier,Duplikat untuk Pemasok,
Triplicate for Supplier,Rangkap tiga untuk Pemasok,
Reverse Charge,Pengisian Balik,
Y,Y,
N,N,
E-commerce GSTIN,GSTIN E-niaga,
Reason For Issuing document,Alasan Penerbitan dokumen,
01-Sales Return,01-Retur Penjualan,
02-Post Sale Discount,Diskon 02-Post Sale,
03-Deficiency in services,03-Kekurangan dalam layanan,
04-Correction in Invoice,04-Koreksi dalam Faktur,
05-Change in POS,05-Ubah POS,
06-Finalization of Provisional assessment,06-Finalisasi penilaian Sementara,
07-Others,07-Lainnya,
Eligibility For ITC,Persyaratan Untuk ITC,
Input Service Distributor,Distributor Layanan Input,
Import Of Service,Impor Layanan,
Import Of Capital Goods,Impor Barang Modal,
Ineligible,Tidak memenuhi syarat,
All Other ITC,Semua ITC Lainnya,
Availed ITC Integrated Tax,Tersedia Pajak Terpadu ITC,
Availed ITC Central Tax,Tersedia Pajak Pusat ITC,
Availed ITC State/UT Tax,Tersedia Pajak Negara Bagian / UT ITC,
Availed ITC Cess,Tersedia ITC Cess,
Is Nil Rated or Exempted,Apakah Nihil Dinilai atau Dikecualikan,
Is Non GST,Apakah Non GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,E-Way Bill No.,
Is Consolidated,Apakah Konsolidasi,
Billing Address GSTIN,Alamat Penagihan GSTIN,
Customer GSTIN,GSTIN pelanggan,
GST Transporter ID,ID Pengangkut GST,
Distance (in km),Jarak (dalam km),
Road,Jalan,
Air,Udara,
Rail,Rel,
Ship,Kapal,
GST Vehicle Type,Jenis Kendaraan GST,
Over Dimensional Cargo (ODC),Over Dimensional Cargo (ODC),
Consumer,Konsumen,
Deemed Export,Ekspor yang Dianggap,
Port Code,Kode Port,
 Shipping Bill Number,Nomor Tagihan Pengiriman,
Shipping Bill Date,Tanggal Tagihan Pengiriman,
Subscription End Date,Tanggal Akhir Langganan,
Follow Calendar Months,Ikuti Bulan Kalender,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Jika ini dicentang, faktur baru berikutnya akan dibuat pada bulan kalender dan tanggal mulai kuartal terlepas dari tanggal mulai faktur saat ini",
Generate New Invoices Past Due Date,Buat Faktur Baru Tanggal Jatuh Tempo,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,Faktur baru akan dibuat sesuai jadwal meskipun faktur saat ini belum dibayar atau lewat jatuh tempo,
Document Type ,tipe dokumen,
Subscription Price Based On,Harga Langganan Berdasarkan,
Fixed Rate,Tarif Tetap,
Based On Price List,Berdasarkan Daftar Harga,
Monthly Rate,Tarif Bulanan,
Cancel Subscription After Grace Period,Batalkan Langganan Setelah Masa Tenggang,
Source State,Status Sumber,
Is Inter State,Apakah Inter State,
Purchase Details,Rincian Pembelian,
Depreciation Posting Date,Tanggal Posting Depresiasi,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Secara default, Nama Pemasok diatur sesuai Nama Pemasok yang dimasukkan. Jika Anda ingin Pemasok diberi nama oleh a",
 choose the 'Naming Series' option.,pilih opsi &#39;Seri Penamaan&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga default saat membuat transaksi Pembelian baru. Harga item 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.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Pembelian atau Tanda Terima tanpa membuat Pesanan Pembelian terlebih dahulu. Konfigurasi ini dapat diganti untuk pemasok tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Pembelian Tanpa Pesanan Pembelian&#39; di master Pemasok.",
"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.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Pembelian tanpa membuat Tanda Terima Pembelian terlebih dahulu. Konfigurasi ini dapat diganti untuk pemasok tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Pembelian Tanpa Tanda Terima Pembelian&#39; di master Pemasok.",
Quantity & Stock,Kuantitas &amp; Stok,
Call Details,Detail Panggilan,
Authorised By,Diotorisasi Oleh,
Signee (Company),Signee (Perusahaan),
Signed By (Company),Ditandatangani Oleh (Perusahaan),
First Response Time,Waktu Respon Pertama,
Request For Quotation,Permintaan Penawaran,
Opportunity Lost Reason Detail,Detail Opportunity Lost Reason,
Access Token Secret,Akses Rahasia Token,
Add to Topics,Tambahkan ke Topik,
...Adding Article to Topics,... Menambahkan Artikel ke Topik,
Add Article to Topics,Tambahkan Artikel ke Topik,
This article is already added to the existing topics,Artikel ini telah ditambahkan ke topik yang ada,
Add to Programs,Tambahkan ke Program,
Programs,Program,
...Adding Course to Programs,... Menambahkan Kursus ke Program,
Add Course to Programs,Tambahkan Kursus ke Program,
This course is already added to the existing programs,Kursus ini sudah ditambahkan ke program yang ada,
Learning Management System Settings,Pengaturan Sistem Manajemen Pembelajaran,
Enable Learning Management System,Aktifkan Sistem Manajemen Pembelajaran,
Learning Management System Title,Judul Sistem Manajemen Pembelajaran,
...Adding Quiz to Topics,... Menambahkan Kuis ke Topik,
Add Quiz to Topics,Tambahkan Kuis ke Topik,
This quiz is already added to the existing topics,Kuis ini telah ditambahkan ke topik yang ada,
Enable Admission Application,Aktifkan Aplikasi Penerimaan,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Menandai kehadiran,
Add Guardians to Email Group,Tambahkan Wali ke Grup Email,
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,Centang ini untuk menandai siswa sebagai hadir seandainya siswa tidak menghadiri institut untuk berpartisipasi atau mewakili institut dalam acara apa pun.,
Add to Courses,Tambahkan ke Kursus,
...Adding Topic to Courses,... Menambahkan Topik ke Kursus,
Add Topic to Courses,Tambahkan Topik ke Kursus,
This topic is already added to the existing courses,Topik ini sudah ditambahkan 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","Jika Shopify tidak memiliki pelanggan dalam pesanan, maka saat menyinkronkan pesanan, sistem akan mempertimbangkan pelanggan default untuk pesanan tersebut.",
The accounts are set by the system automatically but do confirm these defaults,"Akun-akun tersebut ditetapkan oleh sistem secara otomatis, tetapi pastikan akun-akun tersebut ditetapkan secara default",
Default Round Off Account,Akun Round Off Default,
Failed Import Log,Log Impor Gagal,
Fixed Error Log,Memperbaiki Error Log,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Perusahaan {0} sudah ada. Melanjutkan akan menimpa Perusahaan dan Bagan Akun,
Meta Data,Meta Data,
Unresolve,Tidak terselesaikan,
Create Document,Buat Dokumen,
Mark as unresolved,Tandai belum terselesaikan,
TaxJar Settings,Pengaturan TaxJar,
Sandbox Mode,Mode Sandbox,
Enable Tax Calculation,Aktifkan Perhitungan Pajak,
Create TaxJar Transaction,Buat Transaksi TaxJar,
Credentials,Kredensial,
Live API Key,Kunci API Langsung,
Sandbox API Key,Kunci API Kotak Pasir,
Configuration,Konfigurasi,
Tax Account Head,Kepala Rekening Pajak,
Shipping Account Head,Kepala Akun Pengiriman,
Practitioner Name,Nama Praktisi,
Enter a name for the Clinical Procedure Template,Masukkan nama untuk Template Prosedur Klinis,
Set the Item Code which will be used for billing the Clinical Procedure.,Tetapkan Kode Item yang akan digunakan untuk penagihan Prosedur Klinis.,
Select an Item Group for the Clinical Procedure Item.,Pilih Grup Item untuk Item Prosedur Klinis.,
Clinical Procedure Rate,Tingkat Prosedur Klinis,
Check this if the Clinical Procedure is billable and also set the rate.,Periksa ini jika Prosedur Klinis dapat ditagih dan juga tetapkan tarif.,
Check this if the Clinical Procedure utilises consumables. Click ,Periksa ini jika Prosedur Klinis 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 dapat mengatur Departemen Medis untuk templatnya. Setelah menyimpan dokumen, Item secara otomatis akan dibuat untuk penagihan Prosedur Klinis ini. Anda kemudian dapat menggunakan templat ini saat membuat Prosedur Klinis untuk Pasien. Template menyelamatkan Anda dari mengisi data yang berlebihan setiap saat. Anda juga dapat membuat template untuk operasi lain seperti Tes Lab, Sesi Terapi, dll.",
Descriptive Test Result,Hasil Tes Deskriptif,
Allow Blank,Izinkan Kosong,
Descriptive Test Template,Template Tes Deskriptif,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Jika Anda ingin melacak Penggajian dan operasi HRMS lainnya untuk seorang Praktisi, buatlah Karyawan dan tautkan di sini.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Tetapkan Jadwal Praktisi yang baru saja Anda buat. Ini akan digunakan saat memesan janji temu.,
Create a service item for Out Patient Consulting.,Buat item layanan untuk Konsultasi Pasien Keluar.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Jika Praktisi Perawatan Kesehatan ini bekerja untuk Departemen Rawat Inap, buat item layanan untuk Kunjungan Rawat Inap.",
Set the Out Patient Consulting Charge for this Practitioner.,Tetapkan Biaya Konsultasi Pasien Keluar untuk Praktisi ini.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Jika Praktisi Perawatan Kesehatan ini juga bekerja di Bagian Rawat Inap, tetapkan biaya kunjungan rawat inap untuk Praktisi 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.","Jika dicentang, pelanggan akan dibuat untuk setiap Pasien. Faktur Pasien akan dibuat untuk Pelanggan ini. Anda juga dapat memilih Pelanggan yang ada saat membuat Pasien. Bidang ini dicentang secara default.",
Collect Registration Fee,Kumpulkan Biaya 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.","Jika fasilitas Kesehatan Anda menagih pendaftaran Pasien, Anda dapat memeriksa ini dan mengatur Biaya Pendaftaran di bidang di bawah ini. Memeriksa ini akan membuat Pasien baru dengan status Dinonaktifkan secara default dan hanya akan diaktifkan setelah menagih Biaya Pendaftaran.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Memeriksa ini akan secara otomatis membuat Faktur Penjualan setiap kali janji temu dipesan untuk Pasien.,
Healthcare Service Items,Item Layanan Kesehatan,
"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 dapat membuat item layanan untuk Biaya Kunjungan Rawat Inap dan mengaturnya di sini. Demikian pula, Anda dapat mengatur Item Layanan Kesehatan lainnya untuk penagihan di bagian ini. Klik",
Set up default Accounts for the Healthcare Facility,Atur Akun default untuk Fasilitas Kesehatan,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Jika Anda ingin mengganti pengaturan akun default dan mengkonfigurasi akun Pendapatan dan Piutang untuk Perawatan Kesehatan, Anda dapat melakukannya di sini.",
Out Patient SMS alerts,Peringatan SMS Keluar Pasien,
"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 ","Jika Anda ingin mengirim peringatan SMS pada Pendaftaran Pasien, Anda dapat mengaktifkan opsi ini. Serupa dengan itu, Anda dapat mengatur peringatan SMS Keluar Pasien untuk fungsi lain di bagian ini. Klik",
Admission Order Details,Detail Pesanan Pendaftaran,
Admission Ordered For,Pendaftaran Dipesan Untuk,
Expected Length of Stay,Perkiraan Lama Tinggal,
Admission Service Unit Type,Jenis Unit Layanan Penerimaan,
Healthcare Practitioner (Primary),Praktisi Kesehatan (Utama),
Healthcare Practitioner (Secondary),Praktisi Kesehatan (Sekunder),
Admission Instruction,Instruksi Pendaftaran,
Chief Complaint,Pengaduan Utama,
Medications,Pengobatan,
Investigations,Investigasi,
Discharge Detials,Discharge Detials,
Discharge Ordered Date,Tanggal Pemesanan Discharge,
Discharge Instructions,Instruksi Pembuangan,
Follow Up Date,Tanggal Tindak Lanjut,
Discharge Notes,Catatan Discharge,
Processing Inpatient Discharge,Memproses Debit Rawat Inap,
Processing Patient Admission,Memproses Penerimaan Pasien,
Check-in time cannot be greater than the current time,Waktu check-in tidak boleh lebih dari waktu saat ini,
Process Transfer,Proses Transfer,
HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
Expected Result Date,Tanggal Hasil yang Diharapkan,
Expected Result Time,Waktu Hasil yang Diharapkan,
Printed on,Tercetak,
Requesting Practitioner,Meminta Praktisi,
Requesting Department,Departemen Permintaan,
Employee (Lab Technician),Karyawan (Teknisi Lab),
Lab Technician Name,Nama Teknisi Lab,
Lab Technician Designation,Penunjukan Teknisi Lab,
Compound Test Result,Hasil Uji Senyawa,
Organism Test Result,Hasil Uji Organisme,
Sensitivity Test Result,Hasil Uji Sensitivitas,
Worksheet Print,Cetak Lembar Kerja,
Worksheet Instructions,Instruksi Lembar Kerja,
Result Legend Print,Hasil Legenda Cetak,
Print Position,Posisi Cetak,
Both,Kedua,
Result Legend,Hasil Legenda,
Lab Tests,Tes Lab,
No Lab Tests found for the Patient {0},Tidak ada Tes Lab untuk Pasien {0},
"Did not send SMS, missing patient mobile number or message content.","Tidak mengirim SMS, nomor ponsel pasien hilang, atau konten pesan.",
No Lab Tests created,Tidak ada Tes Lab yang dibuat,
Creating Lab Tests...,Membuat Tes Lab ...,
Lab Test Group Template,Template Kelompok Uji Lab,
Add New Line,Tambahkan 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 hanya membutuhkan satu masukan.<br> <b>Gabungan</b> : Hasil yang membutuhkan banyak masukan peristiwa.<br> <b>Deskriptif</b> : Tes yang memiliki banyak komponen hasil dengan entri hasil manual.<br> <b>Dikelompokkan</b> : Template uji yang merupakan grup template uji lainnya.<br> <b>Tidak Ada Hasil</b> : Tes tanpa hasil, dapat dipesan dan ditagih tetapi tidak ada Tes Lab yang akan dibuat. misalnya. Sub Tes untuk hasil yang dikelompokkan",
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Jika tidak dicentang, item tidak akan tersedia di Faktur Penjualan untuk penagihan tetapi dapat digunakan dalam pembuatan uji grup.",
Description ,Deskripsi,
Descriptive Test,Tes Deskriptif,
Group Tests,Tes Kelompok,
Instructions to be printed on the worksheet,Instruksi untuk dicetak di lembar kerja,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.","Informasi untuk membantu menafsirkan laporan tes dengan mudah, akan dicetak sebagai bagian dari hasil Tes Lab.",
Normal Test Result,Hasil Tes Normal,
Secondary UOM Result,Hasil UOM Sekunder,
Italic,Miring,
Underline,Menggarisbawahi,
Organism,Organisme,
Organism Test Item,Item Uji Organisme,
Colony Population,Populasi Koloni,
Colony UOM,Koloni UOM,
Tobacco Consumption (Past),Konsumsi Tembakau (Dulu),
Tobacco Consumption (Present),Konsumsi Tembakau (Sekarang),
Alcohol Consumption (Past),Konsumsi Alkohol (Dulu),
Alcohol Consumption (Present),Konsumsi Alkohol (Sekarang),
Billing Item,Item Penagihan,
Medical Codes,Kode Medis,
Clinical Procedures,Prosedur Klinis,
Order Admission,Penerimaan Pesanan,
Scheduling Patient Admission,Menjadwalkan Penerimaan Pasien,
Order Discharge,Order Discharge,
Sample Details,Rincian Sampel,
Collected On,Dikumpulkan Pada,
No. of prints,Jumlah cetakan,
Number of prints required for labelling the samples,Jumlah cetakan yang diperlukan untuk memberi label pada sampel,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
Payroll Cost Center,Pusat Biaya Penggajian,
Approvers,Pemberi persetujuan,
The first Approver in the list will be set as the default Approver.,Pemberi Persetujuan pertama dalam daftar akan ditetapkan sebagai Pemberi Persetujuan default.,
Shift Request Approver,Penyetuju Permintaan Shift,
PAN Number,Nomor PAN,
Provident Fund Account,Rekening Dana Provident,
MICR Code,Kode MICR,
Repay unclaimed amount from salary,Membayar kembali jumlah gaji yang belum diklaim,
Deduction from salary,Pemotongan gaji,
Expired Leaves,Daun kadaluarsa,
If this is not checked the loan by default will be considered as a Demand Loan,"Jika tidak dicentang, pinjaman secara default akan dianggap sebagai Pinjaman Permintaan",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Rekening ini digunakan untuk membukukan pembayaran pinjaman dari peminjam dan juga menyalurkan pinjaman kepada peminjam,
This account is capital account which is used to allocate capital for loan disbursal account ,Akun ini adalah akun modal yang digunakan untuk mengalokasikan modal ke akun pencairan pinjaman,
This account will be used for booking loan interest accruals,Akun ini akan digunakan untuk membukukan akrual bunga pinjaman,
This account will be used for booking penalties levied due to delayed repayments,Rekening ini akan digunakan untuk membayar denda karena penundaan pembayaran,
Variant BOM,Varian BOM,
Template Item,Item Template,
Select template item,Pilih item template,
Select variant item code for the template item {0},Pilih kode item varian untuk item template {0},
Downtime Entry,Masuk Waktu Henti,
DT-,DT-,
Workstation / Machine,Workstation / Mesin,
Operator,Operator,
In Mins,Dalam Mins,
Downtime Reason,Alasan Downtime,
Stop Reason,Hentikan Alasan,
Excessive machine set up time,Waktu penyetelan mesin yang berlebihan,
Unplanned machine maintenance,Perawatan mesin yang tidak direncanakan,
On-machine press checks,Pemeriksaan pers di mesin,
Machine operator errors,Kesalahan operator mesin,
Machine malfunction,Kerusakan mesin,
Electricity down,Listrik mati,
Operation Row Number,Nomor Baris Operasi,
Operation {0} added multiple times in the work order {1},Operasi {0} ditambahkan beberapa kali dalam perintah 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.","Jika dicentang, beberapa bahan dapat digunakan untuk satu Perintah Kerja. Ini berguna jika satu atau lebih produk yang memakan waktu sedang diproduksi.",
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;Manufaktur&#39; dikenal sebagai backflush. Bahan mentah yang dikonsumsi untuk memproduksi barang jadi dikenal sebagai pembilasan balik.<br><br> Saat membuat Entri Manufaktur, item bahan baku di-backflush berdasarkan BOM item produksi. Jika Anda ingin item bahan mentah di-backflush berdasarkan entri Transfer Material yang dibuat berdasarkan Perintah Kerja tersebut, Anda dapat mengaturnya di bawah bidang ini.",
Work In Progress Warehouse,Pekerjaan Di Gudang Sedang Berlangsung,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Gudang ini akan diperbarui secara otomatis di bidang Work In Progress Warehouse dari Perintah Kerja.,
Finished Goods Warehouse,Gudang Barang Jadi,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Gudang ini akan diperbarui secara otomatis dalam bidang Pesanan Kerja Gudang Target.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Jika dicentang, biaya BOM akan otomatis terupdate berdasarkan Harga Penilaian / Harga Daftar Harga / harga pembelian terakhir bahan baku.",
Source Warehouses (Optional),Gudang Sumber (Opsional),
"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 yang dipilih. Jika tidak ditentukan, sistem akan membuat permintaan material untuk pembelian.",
Lead Time,Waktu Pimpin,
PAN Details,Detail PAN,
Create Customer,Buat Pelanggan,
Invoicing,Faktur,
Enable Auto Invoicing,Aktifkan Faktur Otomatis,
Send Membership Acknowledgement,Kirim Pengakuan Keanggotaan,
Send Invoice with Email,Kirim Faktur dengan Email,
Membership Print Format,Format Cetak Keanggotaan,
Invoice Print Format,Format Cetak Faktur,
Revoke <Key></Key>,Mencabut&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,Anda dapat mempelajari lebih lanjut tentang keanggotaan di manual.,
ERPNext Docs,ERPNext Docs,
Regenerate Webhook Secret,Buat Ulang Rahasia Webhook,
Generate Webhook Secret,Hasilkan Rahasia Webhook,
Copy Webhook URL,Salin URL Webhook,
Linked Item,Item Tertaut,
Feedback By,Umpan Balik Oleh,
Manufacturing Section,Bagian Manufaktur,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Secara default, Nama Pelanggan diatur sesuai Nama Lengkap yang dimasukkan. Jika Anda ingin 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 default saat membuat transaksi Penjualan baru. Harga item 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.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Penjualan atau Nota Pengiriman tanpa membuat Pesanan Penjualan terlebih dahulu. Konfigurasi ini dapat diganti untuk Pelanggan tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur 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.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Penjualan tanpa membuat Nota Pengiriman terlebih dahulu. Konfigurasi ini dapat diganti untuk Pelanggan tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Penjualan Tanpa Catatan Pengiriman&#39; di master Pelanggan.",
Default Warehouse for Sales Return,Gudang Default untuk Retur Penjualan,
Default In Transit Warehouse,Default Di Gudang Transit,
Enable Perpetual Inventory For Non Stock Items,Aktifkan Persediaan Abadi Untuk Item Non Stok,
HRA Settings,Pengaturan HRA,
Basic Component,Komponen Dasar,
HRA Component,Komponen HRA,
Arrear Component,Komponen Tunggakan,
Please enter the company name to confirm,Silakan masukkan nama perusahaan untuk konfirmasi,
Quotation Lost Reason Detail,Detail Quotation Lost Reason,
Enable Variants,Aktifkan Varian,
Save Quotations as Draft,Simpan Kutipan sebagai Draf,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Harap Pilih Pelanggan,
Against Delivery Note Item,Terhadap Item Nota Pengiriman,
Is Non GST ,Apakah Non GST,
Image Description,Uraian gambar; kesan,
Transfer Status,Status Transfer,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Lacak Tanda Terima Pembelian ini terhadap Proyek apa pun,
Please Select a Supplier,Silakan Pilih Pemasok,
Add to Transit,Tambahkan ke Transit,
Set Basic Rate Manually,Tetapkan Tarif Dasar 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 default, Nama Item diatur sesuai Kode Item yang dimasukkan. Jika Anda ingin Item diberi nama dengan a",
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Tetapkan Gudang Default untuk Transaksi Persediaan. Ini akan diambil ke Gudang Default di master 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 memungkinkan stok barang untuk ditampilkan dalam nilai negatif. Penggunaan opsi ini bergantung pada kasus penggunaan Anda. Dengan opsi ini tidak dicentang, sistem memperingatkan sebelum menghalangi transaksi yang menyebabkan stok negatif.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Pilih antara Metode Penilaian FIFO dan Moving Average. Klik,
 to know more about them.,untuk mengetahui lebih banyak tentang mereka.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Tampilkan bidang &#39;Pindai Kode Batang&#39; di atas setiap tabel anak 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.","Nomor seri untuk stok akan diatur secara otomatis berdasarkan Item yang dimasukkan berdasarkan pertama masuk pertama keluar dalam transaksi seperti Faktur Pembelian / Penjualan, Catatan Pengiriman, dll.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Jika kosong, Akun Gudang induk atau default perusahaan akan dipertimbangkan dalam transaksi",
Service Level Agreement Details,Detail Perjanjian Tingkat Layanan,
Service Level Agreement Status,Status Perjanjian Tingkat Layanan,
On Hold Since,Ditahan Sejak,
Total Hold Time,Total Waktu Penahanan,
Response Details,Detail Tanggapan,
Average Response Time,Waktu Respon Rata-Rata,
User Resolution Time,Waktu Resolusi Pengguna,
SLA is on hold since {0},SLA ditahan sejak {0},
Pause SLA On Status,Jeda SLA Pada Status,
Pause SLA On,Jeda SLA Aktif,
Greetings Section,Bagian Salam,
Greeting Title,Judul Ucapan,
Greeting Subtitle,Subtitel Salam,
Youtube ID,ID Youtube,
Youtube Statistics,Statistik Youtube,
Views,Tampilan,
Dislikes,Tidak suka,
Video Settings,Pengaturan video,
Enable YouTube Tracking,Aktifkan Pelacakan YouTube,
30 mins,30 menit,
1 hr,1 jam,
6 hrs,6 jam,
Patient Progress,Kemajuan Pasien,
Targetted,Targetted,
Score Obtained,Skor Diperoleh,
Sessions,Sesi,
Average Score,Skor rata - rata,
Select Assessment Template,Pilih Template Penilaian,
 out of ,dari,
Select Assessment Parameter,Pilih Parameter Penilaian,
Gender: ,Jenis kelamin:,
Contact: ,Kontak:,
Total Therapy Sessions: ,Sesi Terapi Total:,
Monthly Therapy Sessions: ,Sesi Terapi Bulanan:,
Patient Profile,Profil Pasien,
Point Of Sale,Titik penjualan,
Email sent successfully.,Email berhasil dikirim.,
Search by invoice id or customer name,Cari berdasarkan id faktur atau nama pelanggan,
Invoice Status,Status Faktur,
Filter by invoice status,Filter berdasarkan status faktur,
Select item group,Pilih grup item,
No items found. Scan barcode again.,Tidak ada item yang ditemukan. Pindai kode batang lagi.,
"Search by customer name, phone, email.","Cari berdasarkan nama pelanggan, telepon, email.",
Enter discount percentage.,Masukkan persentase diskon.,
Discount cannot be greater than 100%,Diskon tidak boleh lebih dari 100%,
Enter customer's email,Masukkan email pelanggan,
Enter customer's phone number,Masukkan nomor telepon pelanggan,
Customer contact updated successfully.,Kontak pelanggan berhasil diperbarui.,
Item will be removed since no serial / batch no selected.,Item akan dihapus karena tidak ada serial / batch yang dipilih.,
Discount (%),Diskon (%),
You cannot submit the order without payment.,Anda tidak dapat mengirimkan pesanan tanpa pembayaran.,
You cannot submit empty order.,Anda tidak dapat mengirimkan pesanan kosong.,
To Be Paid,Untuk dibayar,
Create POS Opening Entry,Buat Entri Pembukaan POS,
Please add Mode of payments and opening balance details.,Harap tambahkan Cara pembayaran dan detail saldo pembukaan.,
Toggle Recent Orders,Alihkan Pesanan Terbaru,
Save as Draft,Simpan sebagai draf,
You must add atleast one item to save it as draft.,Anda harus menambahkan setidaknya satu item untuk menyimpannya sebagai draf.,
There was an error saving the document.,Terjadi kesalahan saat menyimpan dokumen.,
You must select a customer before adding an item.,Anda harus memilih pelanggan sebelum menambahkan item.,
Please Select a Company,Harap Pilih Perusahaan,
Active Leads,Pimpinan Aktif,
Please Select a Company.,Harap Pilih Perusahaan.,
BOM Operations Time,Waktu Operasi BOM,
BOM ID,ID BOM,
BOM Item Code,Kode Barang BOM,
Time (In Mins),Waktu (Dalam Menit),
Sub-assembly BOM Count,Sub-perakitan BOM Count,
View Type,Jenis Tampilan,
Total Delivered Amount,Jumlah Total yang Dikirim,
Downtime Analysis,Analisis Waktu Henti,
Machine,Mesin,
Downtime (In Hours),Waktu Henti (Dalam Jam),
Employee Analytics,Analisis Karyawan,
"""From date"" can not be greater than or equal to ""To date""",&quot;Dari tanggal&quot; tidak boleh lebih dari atau sama dengan &quot;Sampai saat ini&quot;,
Exponential Smoothing Forecasting,Peramalan Pemulusan Eksponensial,
First Response Time for Issues,Waktu Respons Pertama untuk Masalah,
First Response Time for Opportunity,Waktu Respons Pertama untuk Peluang,
Depreciatied Amount,Jumlah yang Disusutkan,
Period Based On,Berdasarkan Periode,
Date Based On,Tanggal Berdasarkan,
{0} and {1} are mandatory,{0} dan {1} adalah wajib,
Consider Accounting Dimensions,Pertimbangkan Dimensi Akuntansi,
Reserved Quantity for Production,Kuantitas yang Dicadangkan untuk Produksi,
Projected Quantity,Kuantitas yang Diproyeksikan,
 Total Sales Amount,Jumlah Penjualan Total,
Job Card Summary,Ringkasan Kartu Pekerjaan,
Id,Indo,
Time Required (In Mins),Waktu yang Dibutuhkan (Dalam Menit),
From Posting Date,Dari Tanggal Posting,
To Posting Date,Untuk Tanggal Posting,
No records found,Tidak ada catatan yang ditemukan,
Customer/Lead Name,Nama Pelanggan / Prospek,
Production Planning Report,Laporan Perencanaan Produksi,
Order Qty,Pesan Qty,
Raw Material Code,Kode Bahan Baku,
Raw Material Name,Nama Bahan Baku,
Allotted Qty,Qty yang dialokasikan,
Expected Arrival Date,Tanggal Kedatangan yang Diharapkan,
Arrival Quantity,Kuantitas Kedatangan,
Raw Material Warehouse,Gudang Bahan Baku,
Order By,Dipesan oleh,
Include Sub-assembly Raw Materials,Sertakan Bahan Baku Sub-perakitan,
Program wise Fee Collection,Pengumpulan Biaya Program bijaksana,
Fees Collected,Biaya yang Dikumpulkan,
Project Summary,Ringkasan proyek,
Total Tasks,Total Tugas,
Tasks Completed,Tugas Selesai,
Tasks Overdue,Tugas Terlambat,
Completion,Penyelesaian,
Purchase Order Analysis,Analisis Pesanan Pembelian,
From and To Dates are required.,Dari dan Ke Tanggal wajib diisi.,
To Date cannot be before From Date.,To Date tidak boleh sebelum From Date.,
Qty to Bill,Jumlah hingga Bill,
Group by Purchase Order,Kelompokkan berdasarkan Pesanan Pembelian,
 Purchase Value,Nilai pembelian,
Total Received Amount,Jumlah Total yang Diterima,
Quality Inspection Summary,Ringkasan Pemeriksaan Kualitas,
 Quoted Amount,Jumlah yang Dikutip,
Lead Time (Days),Waktu Pimpin (Hari),
Include Expired,Sertakan Kedaluwarsa,
Requested Items to Order and Receive,Item yang Diminta untuk Dipesan dan Diterima,
Sales Order Analysis,Analisis Pesanan Penjualan,
Amount Delivered,Jumlah Terkirim,
Delay (in Days),Penundaan (dalam Hari),
Group by Sales Order,Kelompokkan berdasarkan Pesanan Penjualan,
 Sales Value,Nilai penjualan,
Stock Qty vs Serial No Count,Stock Qty vs Serial No Count,
Serial No Count,Serial No Count,
Work Order Summary,Ringkasan Perintah Kerja,
Produce Qty,Menghasilkan Qty,
Lead Time (in mins),Waktu Pimpin (dalam menit),
Charts Based On,Grafik Berdasarkan,
YouTube Interactions,Interaksi YouTube,
Published Date,Tanggal publikasi,
Barnch,Barnch,
Select a Company,Pilih Perusahaan,
Opportunity {0} created,Peluang {0} dibuat,
Kindly select the company first,Pilih perusahaan terlebih dahulu,
Please enter From Date and To Date to generate JSON,Harap masukkan From Date dan To Date untuk menghasilkan JSON,
Download DATEV File,Unduh File DATEV,
Numero has not set in the XML file,Numero belum disetel di file XML,
Inward Supplies(liable to reverse charge),Inward Supplies (dapat ditagih balik),
This is based on the course schedules of this Instructor,Ini didasarkan pada jadwal kursus Instruktur ini,
Course and Assessment,Kursus dan Penilaian,
Course {0} has been added to all the selected programs successfully.,Kursus {0} berhasil ditambahkan ke semua program yang dipilih.,
Programs updated,Program diperbarui,
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},Siswa {0}: {1} bukan dari Kelompok Siswa {2},
Student Attendance record {0} already exists against the Student {1},Catatan Kehadiran Siswa {0} sudah ada terhadap Siswa {1},
Course and Fee,Kursus dan Biaya,
Not eligible for the admission in this program as per Date Of Birth,Tidak memenuhi syarat untuk masuk dalam program ini sesuai Tanggal Lahir,
Topic {0} has been added to all the selected courses successfully.,Topik {0} berhasil ditambahkan ke semua kursus yang dipilih.,
Courses updated,Kursus diperbarui,
{0} {1} has been added to all the selected topics successfully.,{0} {1} berhasil ditambahkan ke semua topik yang dipilih.,
Topics updated,Topik diperbarui,
Academic Term and Program,Istilah dan Program Akademik,
Please remove this item and try to submit again or update the posting time.,Harap hapus item ini dan coba kirim lagi atau perbarui waktu posting.,
Failed to Authenticate the API key.,Gagal Mengautentikasi kunci API.,
Invalid Credentials,Kredensial tidak valid,
URL can only be a string,URL hanya boleh berupa string,
"Here is your webhook secret, this will be shown to you only once.","Ini rahasia webhook Anda, ini hanya akan ditampilkan kepada Anda sekali.",
The payment for this membership is not paid. To generate invoice fill the payment details,"Pembayaran untuk keanggotaan ini tidak dibayar. Untuk membuat faktur, isi detail pembayaran",
An invoice is already linked to this document,Faktur sudah ditautkan ke dokumen ini,
No customer linked to member {},Tidak ada pelanggan yang ditautkan ke anggota {},
You need to set <b>Debit Account</b> in Membership Settings,Anda perlu mengatur <b>Akun Debit</b> di Pengaturan Keanggotaan,
You need to set <b>Default Company</b> for invoicing in Membership Settings,Anda perlu mengatur <b>Perusahaan Default</b> untuk pembuatan faktur di Pengaturan Keanggotaan,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Anda harus mengaktifkan <b>Kirim Email Pengakuan</b> di Pengaturan Keanggotaan,
Error creating membership entry for {0},Galat membuat entri keanggotaan untuk {0},
A customer is already linked to this Member,Pelanggan sudah ditautkan ke Anggota ini,
End Date must not be lesser than Start Date,Tanggal Akhir tidak boleh kurang dari Tanggal Mulai,
Employee {0} already has Active Shift {1}: {2},Karyawan {0} sudah memiliki Shift Aktif {1}: {2},
 from {0},dari {0},
 to {0},kepada {0},
Please set {0} for the Employee or for Department: {1},Harap tetapkan {0} untuk Karyawan atau untuk Departemen: {1},
Employee Onboarding: {0} is already for Job Applicant: {1},Orientasi Karyawan: {0} sudah untuk Pelamar Kerja: {1},
Asset Value Analytics,Analisis Nilai Aset,
Category-wise Asset Value,Nilai Aset berdasarkan kategori,
Total Assets,Total aset,
New Assets (This Year),Aset Baru (Tahun Ini),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Baris # {}: Tanggal Pengiriman Penyusutan tidak boleh sama dengan Tanggal Tersedia untuk Digunakan.,
Incorrect Date,Tanggal Salah,
Invalid Gross Purchase Amount,Jumlah Pembelian Kotor Tidak Valid,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Ada pemeliharaan atau perbaikan aktif terhadap aset. Anda harus menyelesaikan semuanya sebelum membatalkan aset.,
% Complete,% Selesai,
Back to Course,Kembali ke Kursus,
Finish Topic,Selesaikan Topik,
Mins,Mnt,
by,oleh,
Back to,Kembali ke,
Enrolling...,Mendaftarkan ...,
You have successfully enrolled for the program ,Anda berhasil mendaftar untuk program ini,
Enrolled,Terdaftar,
Watch Intro,Tonton Intro,
We're here to help!,Kami di sini untuk membantu!,
Frequently Read Articles,Sering Membaca Artikel,
Please set a default company address,Harap setel alamat perusahaan default,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} bukan negara bagian yang valid! Periksa kesalahan ketik atau masukkan kode ISO untuk negara bagian Anda.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Terjadi kesalahan saat mengurai Bagan Akun: Pastikan tidak ada dua akun yang memiliki nama yang sama,
Plaid invalid request error,Kesalahan permintaan kotak-kotak tidak valid,
Please check your Plaid client ID and secret values,Harap periksa ID klien Kotak-kotak dan nilai rahasia Anda,
Bank transaction creation error,Kesalahan pembuatan transaksi bank,
Unit of Measurement,Satuan 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,Biaya jenis penilaian tidak dapat ditandai sebagai Inklusif,
You do not have permissions to {} items in a {}.,Anda tidak memiliki izin untuk {} item dalam {}.,
Insufficient Permissions,Izin Tidak Cukup,
You are not allowed to update as per the conditions set in {} Workflow.,Anda tidak diperbolehkan memperbarui sesuai kondisi yang ditetapkan dalam {} Alur Kerja.,
Expense Account Missing,Akun Beban Hilang,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} bukan Nilai yang valid untuk Atribut {1} Butir {2}.,
Invalid Value,Nilai Tidak Valid,
The value {0} is already assigned to an existing Item {1}.,Nilai {0} sudah ditetapkan ke Item yang ada {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Untuk tetap melanjutkan mengedit Nilai Atribut ini, aktifkan {0} di Item Variant Settings.",
Edit Not Allowed,Edit Tidak Diizinkan,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Baris # {0}: Item {1} telah diterima sepenuhnya di Pesanan Pembelian {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Anda tidak dapat membuat atau membatalkan entri akuntansi apa pun dengan dalam Periode Akuntansi tertutup {0},
POS Invoice should have {} field checked.,Faktur POS harus {} dicentang.,
Invalid Item,Item Tidak Valid,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Baris # {}: Anda tidak dapat menambahkan jumlah postive dalam faktur pengembalian. Harap hapus item {} untuk menyelesaikan pengembalian.,
The selected change account {} doesn't belongs to Company {}.,Akun perubahan yang dipilih {} bukan milik Perusahaan {}.,
Atleast one invoice has to be selected.,Setidaknya satu faktur harus dipilih.,
Payment methods are mandatory. Please add at least one payment method.,Metode pembayaran wajib diisi. Harap tambahkan setidaknya satu metode pembayaran.,
Please select a default mode of payment,Harap pilih cara pembayaran default,
You can only select one mode of payment as default,Anda hanya dapat memilih satu jenis pembayaran sebagai default,
Missing Account,Akun Hilang,
Customers not selected.,Pelanggan tidak dipilih.,
Statement of Accounts,Laporan Akun,
Ageing Report Based On ,Laporan Penuaan Berdasarkan,
Please enter distributed cost center,Harap masukkan pusat biaya terdistribusi,
Total percentage allocation for distributed cost center should be equal to 100,Alokasi persentase total untuk pusat biaya terdistribusi harus sama dengan 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Tidak dapat mengaktifkan Pusat Biaya Terdistribusi untuk Pusat Biaya yang sudah dialokasikan di Pusat Biaya Terdistribusi lain,
Parent Cost Center cannot be added in Distributed Cost Center,Pusat Biaya Induk tidak dapat ditambahkan di Pusat Biaya Terdistribusi,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Pusat Biaya Terdistribusi tidak dapat ditambahkan dalam tabel alokasi Pusat Biaya Terdistribusi.,
Cost Center with enabled distributed cost center can not be converted to group,Pusat Biaya dengan pusat biaya terdistribusi yang diaktifkan tidak dapat dikonversi ke grup,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Pusat Biaya yang Sudah Dialokasikan di Pusat Biaya Terdistribusi tidak dapat dikonversi ke grup,
Trial Period Start date cannot be after Subscription Start Date,Tanggal Mulai Periode Uji Coba tidak boleh setelah Tanggal Mulai Langganan,
Subscription End Date must be after {0} as per the subscription plan,Tanggal Akhir Langganan harus setelah {0} sesuai rencana langganan,
Subscription End Date is mandatory to follow calendar months,Tanggal Akhir Langganan wajib mengikuti bulan kalender,
Row #{}: POS Invoice {} is not against customer {},Baris # {}: POS Faktur {} tidak melawan pelanggan {},
Row #{}: POS Invoice {} is not submitted yet,Baris # {}: Faktur POS {} belum dikirim,
Row #{}: POS Invoice {} has been {},Baris # {}: POS Faktur {} telah {},
No Supplier found for Inter Company Transactions which represents company {0},Tidak ada Pemasok yang ditemukan untuk Transaksi Antar Perusahaan yang mewakili perusahaan {0},
No Customer found for Inter Company Transactions which represents company {0},Tidak ada Pelanggan yang ditemukan untuk Transaksi Antar Perusahaan yang mewakili perusahaan {0},
Invalid Period,Periode Tidak Valid,
Selected POS Opening Entry should be open.,Entri Pembukaan POS yang dipilih harus terbuka.,
Invalid Opening Entry,Entri Pembukaan Tidak Valid,
Please set a Company,Harap tetapkan Perusahaan,
"Sorry, this coupon code's validity has not started","Maaf, validitas kode kupon ini belum dimulai",
"Sorry, this coupon code's validity has expired","Maaf, masa berlaku kode kupon ini telah kedaluwarsa",
"Sorry, this coupon code is no longer valid","Maaf, kode kupon ini sudah tidak valid",
For the 'Apply Rule On Other' condition the field {0} is mandatory,"Untuk ketentuan &#39;Terapkan Aturan Pada Lainnya&#39;, bidang {0} wajib diisi",
{1} Not in Stock,{1} Tidak Tersedia,
Only {0} in Stock for item {1},Hanya {0} tersedia untuk item {1},
Please enter a coupon code,Harap masukkan kode kupon,
Please enter a valid coupon code,Harap masukkan kode kupon yang valid,
Invalid Child Procedure,Prosedur Anak Tidak Valid,
Import Italian Supplier Invoice.,Impor Faktur Pemasok Italia.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","Nilai Penilaian untuk Item {0}, diperlukan untuk melakukan entri akuntansi untuk {1} {2}.",
 Here are the options to proceed:,Berikut opsi untuk melanjutkan:,
"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.","Jika item bertransaksi sebagai item dengan Nilai Penilaian Nol di entri ini, harap aktifkan &#39;Izinkan Tingkat Penilaian Nol&#39; di {0} tabel Item.",
"If not, you can Cancel / Submit this entry ","Jika tidak, Anda dapat Membatalkan / Mengirimkan entri ini",
 performing either one below:,melakukan salah satu di bawah ini:,
Create an incoming stock transaction for the Item.,Buat transaksi stok masuk untuk Item tersebut.,
Mention Valuation Rate in the Item master.,Sebutkan Nilai Penilaian di master Item.,
Valuation Rate Missing,Tingkat Penilaian Tidak Ada,
Serial Nos Required,Serial Nos Diperlukan,
Quantity Mismatch,Kuantitas Tidak Sesuai,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Harap Restock Item dan Perbarui Daftar Pilih untuk melanjutkan. Untuk menghentikan, batalkan Pilih Daftar.",
Out of Stock,Kehabisan persediaan,
{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 cocok dengan Permintaan Material,
Warehouse for row {0} does not match Material Request,Gudang untuk baris {0} tidak cocok dengan Permintaan Material,
Accounting Entry for Service,Entri Akuntansi untuk Layanan,
All items have already been Invoiced/Returned,Semua item sudah Ditagih / Dikembalikan,
All these items have already been Invoiced/Returned,Semua item ini telah Ditagih / Dikembalikan,
Stock Reconciliations,Rekonsiliasi Stok,
Merge not allowed,Penggabungan tidak diperbolehkan,
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 ini ada di Varian tetapi tidak ada di Template. Anda dapat menghapus Varian atau mempertahankan atribut di template.,
Variant Items,Item Varian,
Variant Attribute Error,Kesalahan Atribut Varian,
The serial no {0} does not belong to item {1},Nomor seri {0} bukan milik item {1},
There is no batch found against the {0}: {1},Tidak ada kelompok yang ditemukan terhadap {0}: {1},
Completed Operation,Operasi Selesai,
Work Order Analysis,Analisis Perintah Kerja,
Quality Inspection Analysis,Analisis Pemeriksaan Kualitas,
Pending Work Order,Perintah Kerja Tertunda,
Last Month Downtime Analysis,Analisis Waktu Henti Bulan Lalu,
Work Order Qty Analysis,Analisis Qty Perintah Kerja,
Job Card Analysis,Analisis Kartu Pekerjaan,
Monthly Total Work Orders,Total Perintah Kerja Bulanan,
Monthly Completed Work Orders,Perintah Kerja Selesai Bulanan,
Ongoing Job Cards,Kartu Pekerjaan yang Sedang Berlangsung,
Monthly Quality Inspections,Pemeriksaan Kualitas Bulanan,
(Forecast),(Ramalan cuaca),
Total Demand (Past Data),Total Permintaan (Data Sebelumnya),
Total Forecast (Past Data),Perkiraan Total (Data Sebelumnya),
Total Forecast (Future Data),Perkiraan Total (Data Mendatang),
Based On Document,Berdasarkan Dokumen,
Based On Data ( in years ),Berdasarkan Data (dalam tahun),
Smoothing Constant,Menghaluskan Konstan,
Please fill the Sales Orders table,Harap isi tabel Pesanan Penjualan,
Sales Orders Required,Pesanan Penjualan Diperlukan,
Please fill the Material Requests table,Harap isi tabel Permintaan Material,
Material Requests Required,Permintaan Material Diperlukan,
Items to Manufacture are required to pull the Raw Materials associated with it.,Item untuk Pembuatan diminta untuk menarik Bahan Baku yang terkait dengannya.,
Items Required,Item yang Diperlukan,
Operation {0} does not belong to the work order {1},Operasi {0} bukan milik perintah kerja {1},
Print UOM after Quantity,Cetak UOM setelah Kuantitas,
Set default {0} account for perpetual inventory for non stock items,Tetapkan akun {0} default untuk persediaan perpetual untuk item non-stok,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Baris # {0}: Item Anak tidak boleh menjadi Paket Produk. Harap hapus Item {1} dan Simpan,
Credit limit reached for customer {0},Batas kredit tercapai untuk pelanggan {0},
Could not auto create Customer due to the following missing mandatory field(s):,Tidak dapat membuat Pelanggan secara otomatis karena bidang wajib berikut tidak ada:,
Please create Customer from Lead {0}.,Harap buat Pelanggan dari Prospek {0}.,
Mandatory Missing,Hilang Wajib,
From Date can not be greater than To Date.,From Date tidak boleh lebih besar dari To Date.,
Row #{0}: Please enter the result value for {1},Baris # {0}: Harap masukkan nilai hasil untuk {1},
Mandatory Results,Hasil Wajib,
Sales Invoice or Patient Encounter is required to create Lab Tests,Faktur Penjualan atau Pertemuan Pasien diperlukan untuk membuat Tes Lab,
Insufficient Data,Data Tidak Cukup,
Lab Test(s) {0} created successfully,Uji Lab {0} berhasil dibuat,
Test :,Uji :,
Sample Collection {0} has been created,Koleksi Sampel {0} telah dibuat,
Normal Range: ,Jarak normal:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Baris # {0}: Tanggal waktu keluar tidak boleh kurang dari tanggal waktu Check In,
"Missing required details, did not create Inpatient Record","Detail yang diperlukan tidak ada, tidak membuat Catatan Rawat Inap",
Unbilled Invoices,Faktur Belum Ditagih,
Standard Selling Rate should be greater than zero.,Tarif Jual Standar harus lebih besar dari nol.,
Conversion Factor is mandatory,Faktor Konversi adalah wajib,
Row #{0}: Conversion Factor is mandatory,Baris # {0}: Faktor Konversi wajib diisi,
Sample Quantity cannot be negative or 0,Jumlah Sampel tidak boleh negatif atau 0,
Invalid Quantity,Kuantitas Tidak Valid,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Harap setel default untuk Kelompok Pelanggan, Wilayah dan Daftar Harga Jual di Pengaturan Penjualan",
{0} on {1},{0} pada {1},
{0} with {1},{0} dengan {1},
Appointment Confirmation Message Not Sent,Pesan Konfirmasi Janji Temu Tidak Terkirim,
"SMS not sent, please check SMS Settings","SMS tidak terkirim, periksa Pengaturan SMS",
Healthcare Service Unit Type cannot have both {0} and {1},Jenis Unit Layanan Kesehatan tidak boleh memiliki {0} dan {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Jenis Unit Layanan Perawatan Kesehatan harus mengizinkan setidaknya satu di antara {0} dan {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Tetapkan Waktu Respons dan Waktu Resolusi untuk Prioritas {0} di baris {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Waktu Respons untuk {0} prioritas di baris {1} tidak boleh lebih dari Waktu Resolusi.,
{0} is not enabled in {1},{0} tidak diaktifkan di {1},
Group by Material Request,Kelompokkan berdasarkan Permintaan Material,
Email Sent to Supplier {0},Email Dikirim ke Pemasok {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Akses ke Permintaan Penawaran Dari Portal Dinonaktifkan. Untuk Mengizinkan Akses, Aktifkan di Pengaturan Portal.",
Supplier Quotation {0} Created,Penawaran Pemasok {0} Dibuat,
Valid till Date cannot be before Transaction Date,Berlaku hingga Tanggal tidak boleh sebelum Tanggal Transaksi,
Unlink Advance Payment on Cancellation of Order,Batalkan Tautan Pembayaran Di Muka pada Pembatalan Pesanan,
"Simple Python Expression, Example: territory != 'All Territories'","Ekspresi Python Sederhana, Contoh: teritori! = &#39;Semua Wilayah&#39;",
Sales Contributions and Incentives,Kontribusi Penjualan dan Insentif,
Sourced by Supplier,Bersumber dari Pemasok,
Total weightage assigned should be 100%.<br>It is {0},Bobot total yang ditetapkan harus 100%.<br> Ini adalah {0},
Account {0} exists in parent company {1}.,Akun {0} ada di perusahaan induk {1}.,
"To overrule this, enable '{0}' in company {1}","Untuk mengesampingkan ini, aktifkan &#39;{0}&#39; di perusahaan {1}",
Invalid condition expression,Ekspresi kondisi tidak valid,
Please Select a Company First,Harap Pilih Perusahaan Terlebih Dahulu,
Please Select Both Company and Party Type First,Harap Pilih Kedua Perusahaan dan Jenis Pesta Pertama,
Provide the invoice portion in percent,Berikan porsi faktur dalam persen,
Give number of days according to prior selection,Beri jumlah hari menurut seleksi sebelumnya,
Email Details,Rincian Email,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Pilih salam untuk penerima. Misal Mr., Ms., dll.",
Preview Email,Pratinjau Email,
Please select a Supplier,Silakan pilih a Pemasok,
Supplier Lead Time (days),Supplier Lead Time (hari),
"Home, Work, etc.","Rumah, Kantor, dll.",
Exit Interview Held On,Exit Interview Diadakan,
Sets 'Target Warehouse' in each row of the Items table.,Set &#39;Gudang Target&#39; di setiap baris tabel Item.,
Sets 'Source Warehouse' in each row of the Items table.,Set &#39;Source Warehouse&#39; di setiap baris tabel Item.,
POS Register,Daftar POS,
"Can not filter based on POS Profile, if grouped by POS Profile","Tidak dapat memfilter berdasarkan Profil POS, jika dikelompokkan berdasarkan Profil POS",
"Can not filter based on Customer, if grouped by Customer","Tidak dapat memfilter berdasarkan Pelanggan, jika dikelompokkan berdasarkan Pelanggan",
"Can not filter based on Cashier, if grouped by Cashier","Tidak dapat memfilter berdasarkan Kasir, jika dikelompokkan berdasarkan Kasir",
Payment Method,Cara Pembayaran,
"Can not filter based on Payment Method, if grouped by Payment Method","Tidak dapat memfilter berdasarkan Metode Pembayaran, jika dikelompokkan berdasarkan Metode Pembayaran",
Supplier Quotation Comparison,Perbandingan Penawaran Pemasok,
Price per Unit (Stock UOM),Harga per Unit (Stock UOM),
Group by Supplier,Kelompokkan berdasarkan Pemasok,
Group by Item,Kelompokkan berdasarkan Item,
Remember to set {field_label}. It is required by {regulation}.,Ingatlah untuk menyetel {field_label}. Ini diwajibkan oleh {regulasi}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},Tanggal Pendaftaran tidak boleh sebelum Tanggal Mulai Tahun Akademik {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},Tanggal Pendaftaran tidak boleh setelah Tanggal Akhir Masa Akademik {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},Tanggal Pendaftaran tidak boleh sebelum Tanggal Mulai dari Syarat Akademik {0},
Future Posting Not Allowed,Posting Mendatang Tidak Diizinkan,
"To enable Capital Work in Progress Accounting, ","Untuk mengaktifkan Capital Work dalam Progress Accounting,",
you must select Capital Work in Progress Account in accounts table,Anda harus memilih Capital Work in Progress Account di tabel akun,
You can also set default CWIP account in Company {},Anda juga dapat menyetel akun CWIP default di Perusahaan {},
The Request for Quotation can be accessed by clicking on the following button,Permintaan Penawaran dapat diakses dengan mengklik tombol berikut,
Regards,Salam,
Please click on the following button to set your new password,Silakan klik tombol berikut untuk menyetel kata sandi baru Anda,
Update Password,Perbarui Kata Sandi,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Baris # {}: Tarif jual item {} lebih rendah daripada {}. Menjual {} harus minimal {},
You can alternatively disable selling price validation in {} to bypass this validation.,Anda juga bisa menonaktifkan validasi harga jual di {} untuk melewati validasi ini.,
Invalid Selling Price,Harga Jual Tidak Valid,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,Alamat harus ditautkan ke Perusahaan. Harap tambahkan baris untuk Perusahaan di tabel Tautan.,
Company Not Linked,Perusahaan Tidak Tertaut,
Import Chart of Accounts from CSV / Excel files,Impor Bagan Akun dari file CSV / Excel,
Completed Qty cannot be greater than 'Qty to Manufacture',Kuantitas Lengkap tidak boleh lebih besar dari &#39;Kuantitas hingga Pembuatan&#39;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email","Baris {0}: Untuk Pemasok {1}, Alamat Email Diperlukan untuk mengirim email",
"If enabled, the system will post accounting entries for inventory automatically","Jika diaktifkan, sistem akan memposting entri akuntansi untuk inventaris secara otomatis",
Accounts Frozen Till Date,Akun Dibekukan Hingga Tanggal,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Entri akuntansi dibekukan sampai tanggal ini. Tidak ada yang dapat membuat atau mengubah entri kecuali pengguna dengan peran yang ditentukan di bawah ini,
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Peran Diizinkan untuk Mengatur Akun Beku dan Mengedit Entri Beku,
Address used to determine Tax Category in transactions,Alamat yang digunakan untuk menentukan Kategori Pajak dalam transaksi,
"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Persentase Anda diizinkan untuk menagih lebih banyak dari jumlah yang dipesan. Misalnya, jika nilai pesanan adalah $ 100 untuk satu item dan toleransi ditetapkan sebagai 10%, maka Anda diizinkan untuk menagih hingga $ 110",
This role is allowed to submit transactions that exceed credit limits,Peran ini diperbolehkan untuk mengirimkan transaksi yang melebihi batas kredit,
"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Jika &quot;Bulan&quot; dipilih, jumlah tetap akan dibukukan sebagai pendapatan atau beban yang ditangguhkan untuk setiap bulan terlepas dari jumlah hari dalam sebulan. Ini akan diprorata jika pendapatan atau beban yang ditangguhkan tidak dibukukan selama satu bulan penuh",
"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Jika ini tidak dicentang, entri GL langsung akan dibuat untuk membukukan pendapatan atau beban yang ditangguhkan",
Show Inclusive Tax in Print,Tunjukkan Pajak Termasuk dalam Cetakan,
Only select this if you have set up the Cash Flow Mapper documents,Pilih ini hanya jika Anda telah menyiapkan dokumen Pemeta Arus Kas,
Payment Channel,Saluran Pembayaran,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Apakah Pesanan Pembelian Diperlukan untuk Pembuatan Faktur Pembelian &amp; Tanda Terima?,
Is Purchase Receipt Required for Purchase Invoice Creation?,Apakah Bukti Pembelian Diperlukan untuk Pembuatan Faktur Pembelian?,
Maintain Same Rate Throughout the Purchase Cycle,Pertahankan Tarif yang Sama Sepanjang Siklus Pembelian,
Allow Item To Be Added Multiple Times in a Transaction,Izinkan Item Ditambahkan Beberapa Kali dalam Transaksi,
Suppliers,Pemasok,
Send Emails to Suppliers,Kirim Email ke Pemasok,
Select a Supplier,Pilih Pemasok,
Cannot mark attendance for future dates.,Tidak dapat menandai kehadiran untuk tanggal yang akan datang.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Apakah Anda ingin memperbarui kehadiran?<br> Sekarang: {0}<br> Absen: {1},
Mpesa Settings,Pengaturan Mpesa,
Initiator Name,Nama Pemrakarsa,
Till Number,Sampai Nomor,
Sandbox,Bak pasir,
 Online PassKey,PassKey Online,
Security Credential,Kredensial Keamanan,
Get Account Balance,Dapatkan Saldo Akun,
Please set the initiator name and the security credential,Harap setel nama pemrakarsa dan kredensial keamanan,
Inpatient Medication Entry,Masuk Obat Rawat Inap,
HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
Item Code (Drug),Kode Barang (Obat),
Medication Orders,Perintah Pengobatan,
Get Pending Medication Orders,Dapatkan Pesanan Obat Tertunda,
Inpatient Medication Orders,Perintah Pengobatan Rawat Inap,
Medication Warehouse,Gudang Obat,
Warehouse from where medication stock should be consumed,Gudang tempat persediaan obat harus dikonsumsi,
Fetching Pending Medication Orders,Mengambil Perintah Obat yang Tertunda,
Inpatient Medication Entry Detail,Detail Entri Obat Rawat Inap,
Medication Details,Rincian Obat,
Drug Code,Kode Obat,
Drug Name,Nama Obat,
Against Inpatient Medication Order,Terhadap Perintah Pengobatan Rawat Inap,
Against Inpatient Medication Order Entry,Terhadap Masuknya Pesanan Obat Rawat Inap,
Inpatient Medication Order,Perintah Pengobatan Rawat Inap,
HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
Total Orders,Total Pesanan,
Completed Orders,Pesanan Selesai,
Add Medication Orders,Tambahkan Perintah Pengobatan,
Adding Order Entries,Menambahkan Entri Pesanan,
{0} medication orders completed,{0} pesanan pengobatan selesai,
{0} medication order completed,{0} pesanan pengobatan selesai,
Inpatient Medication Order Entry,Entri Pesanan Obat Rawat Inap,
Is Order Completed,Apakah Pesanan Selesai,
Employee Records to Be Created By,Catatan Karyawan yang Akan Dibuat,
Employee records are created using the selected field,Catatan karyawan dibuat menggunakan bidang yang dipilih,
Don't send employee birthday reminders,Jangan mengirim pengingat ulang tahun karyawan,
Restrict Backdated Leave Applications,Batasi Aplikasi Cuti Berawal,
Sequence ID,ID Urutan,
Sequence Id,Id Urutan,
Allow multiple material consumptions against a Work Order,Izinkan beberapa konsumsi material terhadap Perintah Kerja,
Plan time logs outside Workstation working hours,Rencanakan log waktu di luar jam kerja Workstation,
Plan operations X days in advance,Rencanakan operasi X hari sebelumnya,
Time Between Operations (Mins),Waktu Antar Operasi (Menit),
Default: 10 mins,Default: 10 menit,
Overproduction for Sales and Work Order,Produksi Berlebih untuk Penjualan dan Perintah Kerja,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Perbarui biaya BOM secara otomatis melalui penjadwal, berdasarkan Tingkat Penilaian / Harga Daftar Harga / Tingkat Pembelian Terakhir bahan baku terbaru",
Purchase Order already created for all Sales Order items,Pesanan Pembelian telah dibuat untuk semua item Pesanan Penjualan,
Select Items,Pilih Item,
Against Default Supplier,Melawan Pemasok Default,
Auto close Opportunity after the no. of days mentioned above,Peluang tutup otomatis setelah no. hari yang disebutkan di atas,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Apakah Sales Order Diperlukan untuk Pembuatan Faktur Penjualan &amp; Nota Pengiriman?,
Is Delivery Note Required for Sales Invoice Creation?,Apakah Nota Pengiriman Diperlukan untuk Pembuatan Faktur Penjualan?,
How often should Project and Company be updated based on Sales Transactions?,Seberapa sering Proyek dan Perusahaan harus diperbarui berdasarkan Transaksi Penjualan?,
Allow User to Edit Price List Rate in Transactions,Izinkan Pengguna untuk Mengedit Tarif Daftar Harga dalam Transaksi,
Allow Item to Be Added Multiple Times in a Transaction,Izinkan Item Ditambahkan Beberapa Kali dalam Transaksi,
Allow Multiple Sales Orders Against a Customer's Purchase Order,Izinkan Beberapa Pesanan Penjualan Terhadap Pesanan Pembelian Pelanggan,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Validasi Harga Jual untuk Item Terhadap Tingkat Pembelian atau Tingkat Penilaian,
Hide Customer's Tax ID from Sales Transactions,Sembunyikan ID Pajak Pelanggan dari Transaksi Penjualan,
"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Persentase Anda diperbolehkan untuk menerima atau mengirim lebih dari jumlah yang dipesan. Misalnya, jika Anda sudah memesan 100 unit, dan Tunjangan Anda 10%, maka Anda boleh menerima 110 unit.",
Action If Quality Inspection Is Not Submitted,Tindakan Jika Pemeriksaan Kualitas Tidak Diserahkan,
Auto Insert Price List Rate If Missing,Sisipkan Otomatis Harga Daftar Harga Jika Hilang,
Automatically Set Serial Nos Based on FIFO,Atur Nomor Seri Secara Otomatis Berdasarkan FIFO,
Set Qty in Transactions Based on Serial No Input,Atur Qty dalam Transaksi Berdasarkan Serial No Input,
Raise Material Request When Stock Reaches Re-order Level,Angkat Permintaan Material Saat Stok Mencapai Tingkat Pemesanan Ulang,
Notify by Email on Creation of Automatic Material Request,Beritahu melalui Email tentang Pembuatan Permintaan Material Otomatis,
Allow Material Transfer from Delivery Note to Sales Invoice,Izinkan Transfer Material dari Nota Pengiriman ke Faktur Penjualan,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Izinkan Transfer Material dari Tanda Terima Pembelian ke Faktur Pembelian,
Freeze Stocks Older Than (Days),Bekukan Saham Lebih Lama Dari (Hari),
Role Allowed to Edit Frozen Stock,Peran Diizinkan untuk Mengedit Stok Beku,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Jumlah Entri Pembayaran yang tidak dialokasikan {0} lebih besar daripada jumlah Transaksi Bank yang tidak dialokasikan,
Payment Received,Pembayaran diterima,
Attendance cannot be marked outside of Academic Year {0},Kehadiran tidak dapat ditandai di luar Tahun Akademik {0},
Student is already enrolled via Course Enrollment {0},Siswa sudah terdaftar melalui Pendaftaran Kursus {0},
Attendance cannot be marked for future dates.,Kehadiran tidak dapat ditandai untuk tanggal yang akan datang.,
Please add programs to enable admission application.,Harap tambahkan program untuk mengaktifkan aplikasi penerimaan.,
The following employees are currently still reporting to {0}:,Karyawan berikut saat ini masih melapor ke {0}:,
Please make sure the employees above report to another Active employee.,Harap pastikan karyawan di atas melapor kepada karyawan Aktif lainnya.,
Cannot Relieve Employee,Tidak Bisa Meringankan Karyawan,
Please enter {0},Harap masukkan {0},
Please select another payment method. Mpesa does not support transactions in currency '{0}',Pilih metode pembayaran lain. Mpesa tidak mendukung transaksi dalam mata uang &#39;{0}&#39;,
Transaction Error,Kesalahan Transaksi,
Mpesa Express Transaction Error,Kesalahan Transaksi Mpesa Express,
"Issue detected with Mpesa configuration, check the error logs for more details","Masalah terdeteksi dengan konfigurasi Mpesa, periksa log kesalahan untuk lebih jelasnya",
Mpesa Express Error,Kesalahan Mpesa Express,
Account Balance Processing Error,Kesalahan Pemrosesan Saldo Akun,
Please check your configuration and try again,Harap periksa konfigurasi Anda dan coba lagi,
Mpesa Account Balance Processing Error,Kesalahan Pemrosesan Saldo Akun Mpesa,
Balance Details,Rincian Saldo,
Current Balance,Saldo saat ini,
Available Balance,Saldo Tersedia,
Reserved Balance,Saldo Cadangan,
Uncleared Balance,Saldo Tidak Jelas,
Payment related to {0} is not completed,Pembayaran yang terkait dengan {0} tidak selesai,
Row #{}: Item Code: {} is not available under warehouse {}.,Baris # {}: Kode Item: {} tidak tersedia di gudang {}.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Baris # {}: Jumlah stok tidak cukup untuk Kode Barang: {} di bawah gudang {}. Kuantitas yang tersedia {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Baris # {}: Pilih nomor seri dan kelompokkan terhadap item: {} atau hapus untuk menyelesaikan transaksi.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Baris # {}: Tidak ada nomor seri yang dipilih terhadap item: {}. Pilih satu atau hapus untuk menyelesaikan transaksi.,
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Baris # {}: Tidak ada kelompok yang dipilih terhadap item: {}. Pilih kelompok atau hapus untuk menyelesaikan transaksi.,
Payment amount cannot be less than or equal to 0,Jumlah pembayaran tidak boleh kurang dari atau sama dengan 0,
Please enter the phone number first,Harap masukkan nomor telepon terlebih dahulu,
Row #{}: {} {} does not exist.,Baris # {}: {} {} tidak ada.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Baris # {0}: {1} diperlukan untuk membuat Faktur {2} Pembukaan,
You had {} errors while creating opening invoices. Check {} for more details,Anda mengalami {} kesalahan saat membuat pembukaan faktur. Periksa {} untuk detail selengkapnya,
Error Occured,Terjadi kesalahan,
Opening Invoice Creation In Progress,Pembukaan Pembuatan Faktur Sedang Berlangsung,
Creating {} out of {} {},Membuat {} dari {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Nomor Seri: {0}) tidak dapat digunakan karena disimpan ulang untuk memenuhi Pesanan Penjualan {1}.,
Item {0} {1},Item {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Transaksi Stok Terakhir untuk item {0} dalam gudang {1} adalah pada {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Transaksi Stok untuk Item {0} di bawah gudang {1} tidak dapat dikirim sebelum waktu ini.,
Posting future stock transactions are not allowed due to Immutable Ledger,Memposting transaksi saham di masa depan tidak diperbolehkan karena Immutable Ledger,
A BOM with name {0} already exists for item {1}.,BOM dengan nama {0} sudah ada untuk item {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Apakah Anda mengganti nama item? Silakan hubungi Administrator / dukungan Teknis,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},Di baris # {0}: id urutan {1} tidak boleh kurang dari id urutan baris sebelumnya {2},
The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) harus sama dengan {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, selesaikan operasi {1} sebelum operasi {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Tidak dapat memastikan pengiriman dengan Serial No karena Item {0} ditambahkan dengan dan tanpa Pastikan Pengiriman dengan Serial No.,
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Butir {0} tidak memiliki No. Seri. Hanya item serilialisasi yang dapat dikirimkan berdasarkan No. Seri,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Tidak ada BOM aktif yang ditemukan untuk item {0}. Pengiriman dengan Serial No tidak dapat dipastikan,
No pending medication orders found for selected criteria,Tidak ada pesanan obat yang tertunda ditemukan untuk kriteria yang dipilih,
From Date cannot be after the current date.,Dari Tanggal tidak boleh setelah tanggal sekarang.,
To Date cannot be after the current date.,To Date tidak boleh setelah tanggal sekarang.,
From Time cannot be after the current time.,Dari Waktu tidak boleh setelah waktu saat ini.,
To Time cannot be after the current time.,Ke Waktu tidak bisa setelah waktu saat ini.,
Stock Entry {0} created and ,Entri Saham {0} dibuat dan,
Inpatient Medication Orders updated successfully,Perintah Pengobatan Rawat Inap berhasil diperbarui,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Baris {0}: Tidak dapat membuat Entri Obat Rawat Inap terhadap Pesanan Obat Rawat Inap yang dibatalkan {1},
Row {0}: This Medication Order is already marked as completed,Baris {0}: Perintah Obat ini telah ditandai sebagai selesai,
Quantity not available for {0} in warehouse {1},Kuantitas tidak tersedia untuk {0} di gudang {1},
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Silakan aktifkan Izinkan Stok Negatif dalam Pengaturan Stok atau buat Entri Stok untuk melanjutkan.,
No Inpatient Record found against patient {0},Tidak ada Catatan Rawat Inap yang ditemukan terhadap pasien {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Perintah Pengobatan Rawat Inap {0} terhadap Pertemuan Pasien {1} sudah ada.,
Allow In Returns,Izinkan Pengembalian,
Hide Unavailable Items,Sembunyikan Item yang Tidak Tersedia,
Apply Discount on Discounted Rate,Terapkan Diskon untuk Tarif Diskon,
Therapy Plan Template,Template Rencana Terapi,
Fetching Template Details,Mengambil Detail Template,
Linked Item Details,Detail Item Tertaut,
Therapy Types,Jenis Terapi,
Therapy Plan Template Detail,Detail Template Rencana Terapi,
Non Conformance,Ketidaksesuaian,
Process Owner,Pemilik Proses,
Corrective Action,Tindakan perbaikan,
Preventive Action,Aksi Pencegahan,
Problem,Masalah,
Responsible,Bertanggung jawab,
Completion By,Penyelesaian Oleh,
Process Owner Full Name,Nama Lengkap Pemilik Proses,
Right Index,Indeks Kanan,
Left Index,Indeks Kiri,
Sub Procedure,Sub Prosedur,
Passed,Lulus,
Print Receipt,Cetak Kwitansi,
Edit Receipt,Edit Tanda Terima,
Focus on search input,Fokus pada input pencarian,
Focus on Item Group filter,Fokus pada filter Grup Item,
Checkout Order / Submit Order / New Order,Pesanan Checkout / Kirim Pesanan / Pesanan Baru,
Add Order Discount,Tambahkan Diskon Pesanan,
Item Code: {0} is not available under warehouse {1}.,Kode Barang: {0} tidak tersedia di gudang {1}.,
Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Nomor seri tidak tersedia untuk Item {0} di bawah gudang {1}. Silakan coba ganti gudang.,
Fetched only {0} available serial numbers.,Mengambil hanya {0} nomor seri yang tersedia.,
Switch Between Payment Modes,Beralih Antar Mode Pembayaran,
Enter {0} amount.,Masukkan {0} jumlah.,
You don't have enough points to redeem.,Anda tidak memiliki cukup poin untuk ditukarkan.,
You can redeem upto {0}.,Anda dapat menebus hingga {0}.,
Enter amount to be redeemed.,Masukkan jumlah yang akan ditebus.,
You cannot redeem more than {0}.,Anda tidak dapat menebus lebih dari {0}.,
Open Form View,Buka Tampilan Formulir,
POS invoice {0} created succesfully,Faktur POS {0} berhasil dibuat,
Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Kuantitas stok tidak cukup untuk Kode Barang: {0} di bawah gudang {1}. Kuantitas yang tersedia {2}.,
Serial No: {0} has already been transacted into another POS Invoice.,Nomor Seri: {0} sudah ditransaksikan menjadi Faktur POS lain.,
Balance Serial No,Balance Serial No,
Warehouse: {0} does not belong to {1},Gudang: {0} bukan milik {1},
Please select batches for batched item {0},Pilih kelompok untuk item kelompok {0},
Please select quantity on row {0},Pilih jumlah di baris {0},
Please enter serial numbers for serialized item {0},Silakan masukkan nomor seri untuk item serial {0},
Batch {0} already selected.,Kelompok {0} sudah dipilih.,
Please select a warehouse to get available quantities,Pilih gudang untuk mendapatkan jumlah yang tersedia,
"For transfer from source, selected quantity cannot be greater than available quantity","Untuk transfer dari sumber, kuantitas yang dipilih tidak boleh lebih besar dari kuantitas yang tersedia",
Cannot find Item with this Barcode,Tidak dapat menemukan Item dengan Barcode ini,
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} adalah wajib. Mungkin catatan Penukaran Mata Uang tidak dibuat untuk {1} hingga {2},
{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} telah mengirimkan aset yang terkait dengannya. Anda perlu membatalkan aset untuk membuat pengembalian pembelian.,
Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Tidak dapat membatalkan dokumen ini karena terkait dengan aset yang dikirim {0}. Harap batalkan untuk melanjutkan.,
Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: No. Seri {} telah ditransaksikan menjadi Faktur POS lain. Pilih nomor seri yang valid.,
Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: Nomor Seri. {} Telah ditransaksikan menjadi Faktur POS lain. Pilih nomor seri yang valid.,
Item Unavailable,Item Tidak Tersedia,
Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Baris # {}: Nomor Seri {} tidak dapat dikembalikan karena tidak ditransaksikan dalam faktur asli {},
Please set default Cash or Bank account in Mode of Payment {},Harap setel Rekening Tunai atau Bank default dalam Cara Pembayaran {},
Please set default Cash or Bank account in Mode of Payments {},Harap setel rekening Tunai atau Bank default dalam Mode Pembayaran {},
Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Harap pastikan akun {} adalah akun Neraca. Anda dapat mengubah akun induk menjadi akun Neraca atau memilih akun lain.,
Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Harap pastikan akun {} adalah akun Hutang. Ubah jenis akun menjadi Hutang atau pilih akun lain.,
Row {}: Expense Head changed to {} ,Baris {}: Expense Head diubah menjadi {},
because account {} is not linked to warehouse {} ,karena akun {} tidak ditautkan ke gudang {},
or it is not the default inventory account,atau bukan akun inventaris default,
Expense Head Changed,Expense Head Berubah,
because expense is booked against this account in Purchase Receipt {},karena biaya dibukukan ke akun ini di Tanda Terima Pembelian {},
as no Purchase Receipt is created against Item {}. ,karena tidak ada Tanda Terima Pembelian yang dibuat untuk Item {}.,
This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Ini dilakukan untuk menangani akuntansi untuk kasus-kasus ketika Tanda Terima Pembelian dibuat setelah Faktur Pembelian,
Purchase Order Required for item {},Pesanan Pembelian Diperlukan untuk item {},
To submit the invoice without purchase order please set {} ,"Untuk mengirimkan faktur tanpa pesanan pembelian, harap setel {}",
as {} in {},seperti dalam {},
Mandatory Purchase Order,Pesanan Pembelian Wajib,
Purchase Receipt Required for item {},Tanda Terima Pembelian Diperlukan untuk item {},
To submit the invoice without purchase receipt please set {} ,"Untuk mengirimkan faktur tanpa tanda terima pembelian, harap setel {}",
Mandatory Purchase Receipt,Kwitansi Pembelian Wajib,
POS Profile {} does not belongs to company {},Profil POS {} bukan milik perusahaan {},
User {} is disabled. Please select valid user/cashier,Pengguna {} dinonaktifkan. Pilih pengguna / kasir yang valid,
Row #{}: Original Invoice {} of return invoice {} is {}. ,Baris # {}: Faktur Asli {} dari faktur pengembalian {} adalah {}.,
Original invoice should be consolidated before or along with the return invoice.,Faktur asli harus digabungkan sebelum atau bersama dengan faktur kembali.,
You can add original invoice {} manually to proceed.,Anda bisa menambahkan faktur asli {} secara manual untuk melanjutkan.,
Please ensure {} account is a Balance Sheet account. ,Harap pastikan akun {} adalah akun Neraca.,
You can change the parent account to a Balance Sheet account or select a different account.,Anda dapat mengubah akun induk menjadi akun Neraca atau memilih akun lain.,
Please ensure {} account is a Receivable account. ,Harap pastikan akun {} adalah akun Piutang.,
Change the account type to Receivable or select a different account.,Ubah jenis akun menjadi Piutang atau pilih akun lain.,
{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} tidak dapat dibatalkan karena Poin Loyalitas yang diperoleh telah ditukarkan. Pertama batalkan {} Tidak {},
already exists,sudah ada,
POS Closing Entry {} against {} between selected period,Entri Penutupan POS {} terhadap {} antara periode yang dipilih,
POS Invoice is {},Faktur POS adalah {},
POS Profile doesn't matches {},Profil POS tidak cocok {},
POS Invoice is not {},Faktur POS bukan {},
POS Invoice isn't created by user {},Faktur POS tidak dibuat oleh pengguna {},
Row #{}: {},Baris # {}: {},
Invalid POS Invoices,Faktur POS tidak valid,
Please add the account to root level Company - {},Harap tambahkan akun ke Perusahaan tingkat akar - {},
"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Saat membuat akun untuk Perusahaan Anak {0}, akun induk {1} tidak ditemukan. Harap buat akun induk dengan COA yang sesuai",
Account Not Found,Akun tidak ditemukan,
"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Saat membuat akun untuk Perusahaan Anak {0}, akun induk {1} ditemukan sebagai akun buku besar.",
Please convert the parent account in corresponding child company to a group account.,Harap ubah akun induk di perusahaan anak yang sesuai menjadi akun grup.,
Invalid Parent Account,Akun Induk Tidak Valid,
"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Mengganti nama hanya diperbolehkan melalui perusahaan induk {0}, untuk menghindari ketidakcocokan.",
"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Jika Anda {0} {1} jumlah item {2}, skema {3} akan diterapkan pada item tersebut.",
"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Jika Anda {0} {1} item bernilai {2}, skema {3} akan diterapkan pada item tersebut.",
"As the field {0} is enabled, the field {1} is mandatory.","Saat bidang {0} diaktifkan, bidang {1} wajib diisi.",
"As the field {0} is enabled, the value of the field {1} should be more than 1.","Saat bidang {0} diaktifkan, nilai bidang {1} harus lebih dari 1.",
Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Tidak dapat mengirim Nomor Seri {0} item {1} karena dicadangkan untuk memenuhi Pesanan Penjualan {2},
"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Pesanan Penjualan {0} memiliki reservasi untuk item {1}, Anda hanya dapat mengirimkan reservasi {1} terhadap {0}.",
{0} Serial No {1} cannot be delivered,{0} Serial No {1} tidak dapat dikirim,
Row {0}: Subcontracted Item is mandatory for the raw material {1},Baris {0}: Item Subkontrak wajib untuk bahan mentah {1},
"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Karena ada bahan baku yang cukup, Permintaan Material tidak diperlukan untuk Gudang {0}.",
" If you still want to proceed, please enable {0}.","Jika Anda masih ingin melanjutkan, aktifkan {0}.",
The item referenced by {0} - {1} is already invoiced,Item yang direferensikan oleh {0} - {1} sudah ditagih,
Therapy Session overlaps with {0},Sesi Terapi tumpang tindih dengan {0},
Therapy Sessions Overlapping,Sesi Terapi Tumpang Tindih,
Therapy Plans,Rencana Terapi,
"Item Code, warehouse, quantity are required on row {0}","Kode Barang, gudang, kuantitas diperlukan di baris {0}",
Get Items from Material Requests against this Supplier,Dapatkan Item dari Permintaan Material terhadap Pemasok ini,
Enable European Access,Aktifkan Akses Eropa,
Creating Purchase Order ...,Membuat Pesanan Pembelian ...,
"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Pilih Pemasok dari Pemasok Default item di bawah ini. Saat dipilih, Pesanan Pembelian akan dibuat terhadap barang-barang milik Pemasok terpilih saja.",
Row #{}: You must select {} serial numbers for item {}.,Baris # {}: Anda harus memilih {} nomor seri untuk item {}.,
Add Comment,Tambahkan komentar,
More...,Lebih...,
Notes,Catatan,
Payment Gateway,Gerbang pembayaran,
Payment Gateway Name,Nama Gateway Pembayaran,
Payments,2. Payment (Pembayaran),
Plan Name,Nama rencana,
Portal,Pintu gerbang,
Scan Barcode,Pindai Kode Batang,
Some information is missing,Beberapa informasi yang hilang,
Successful,Sukses,
Tools,Alat-alat,
Use Sandbox,Gunakan Sandbox,
Busy,Sibuk,
Completed By,Diselesaikan oleh,
Payment Failed,Pembayaran gagal,
Column {0},Kolom {0},
Field Mapping,Pemetaan Bidang,
Not Specified,Tidak ditentukan,
Update Type,Jenis Pembaruan,
Dr,Dr,
End Time,Waktu Akhir,
Fetching...,Mengambil ...,
"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Tampaknya ada masalah dengan konfigurasi strip server. Jika terjadi kegagalan, jumlah itu akan dikembalikan ke akun Anda.",
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Sepertinya seseorang mengirimkan ke URL yang tidak lengkap. Silakan meminta mereka untuk melihat ke dalamnya.,
Master,Nahkoda,
Pay,Membayar,
You can also copy-paste this link in your browser,Anda juga dapat copy-paste link ini di browser Anda,
Verified By,Diverifikasi oleh,
Invalid naming series (. missing) for {0},Seri penamaan tidak valid (. Hilang) untuk {0},
Phone Number,Nomor telepon,
Account SID,SID Akun,
Global Defaults,Standar Global,
Is Mandatory,Apakah Wajib,
WhatsApp,Ada apa,
Make a call,Menelpon,
