"""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,
) for {0},) untuk {0},
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,
A {0} exists between {1} and {2} (,A {0} ada antara {1} dan {2} (,
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,
Absent,Absen,
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.,
Accrual Journal Entry for salaries from {0} to {1},Entri Jurnal Akrual untuk gaji dari {0} ke {1},
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,
Active Leads / Customers,Prospek / Pelanggan 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 All Suppliers,Tambahkan Semua Pemasok,
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 Row,Menambahkan baris,
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 to Details,Tambahkan ke Detail,
Add/Remove Recipients,Tambah / Hapus Penerima,
Added,Ditambahkan,
Added to details,Ditambahkan ke detail,
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 Jobs,Semua Pekerjaan,
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 invoiced,Semua Stok Barang telah tertagih,
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.,
All these items have already been invoiced,Semua Stok Barang-Stok Barang tersebut telah ditagih,
Allocate Payment Amount,Alokasikan Jumlah Pembayaran,
Allocated Amount,Jumlah yang dialokasikan,
Allocated Leaves,Cuti Yang Dialokasikan,
Allocating leaves...,Mengalokasikan daun ...,
Allow Delete,Izinkan Hapus,
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,
Analytics,Analytics,
Annual Billing: {0},Tagihan Tahunan: {0},
Annual Salary,Gaji tahunan,
Anonymous,Anonim,
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,
Applicant,Pemohon,
Applicant Type,Jenis Pemohon,
Application of Funds (Assets),Penerapan Dana (Aset),
Application period cannot be across two allocation records,Periode aplikasi tidak dapat melewati dua catatan alokasi,
Application period cannot be outside leave allocation period,Periode aplikasi tidak bisa periode alokasi cuti di luar,
Applied,Telah Diterapkan,
Apply Now,Terapkan Sekarang,
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,
Apprentice,Magang,
Approval Status,Approval Status,
Approval Status must be 'Approved' or 'Rejected',Status Persetujuan harus 'Disetujui' atau 'Ditolak',
Approve,Menyetujui,
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),
As per your assigned Salary Structure you cannot apply for benefits,"Sesuai dengan Struktur Gaji yang ditugaskan, Anda tidak dapat mengajukan permohonan untuk tunjangan",
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,Menetapkan,
Assign Salary Structure,Tetapkan Struktur Gaji,
Assign To,Tugaskan Kepada,
Assign to Employees,Serahkan ke Karyawan,
Assigning Structures...,Menetapkan Struktur...,
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,Absensi,
Attendance From Date and Attendance To Date is mandatory,Kehadiran Dari Tanggal dan Kehadiran Sampai Tanggal adalah wajib,
Attendance Record {0} exists against Student {1},Kehadiran Rekam {0} ada terhadap Mahasiswa {1},
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 for employee {0} is already marked for this day,Kehadiran bagi karyawan {0} sudah ditandai untuk hari ini,
Attendance has been marked successfully.,Kehadiran telah ditandai berhasil.,
Attendance not submitted for {0} as it is a Holiday.,Kehadiran tidak dikirim untuk {0} karena ini adalah hari libur.,
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,
Author,Penulis,
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 Entries,Entri Bank,
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,Dasar,
Base URL,URL dasar,
Based On,Berdasarkan,
Based On Payment Terms,Berdasarkan Ketentuan Pembayaran,
Basic,Dasar,
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,
Beginner,Pemula,
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,Penagihan,
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,
Birthday Reminder,Pengingat Ulang Tahun,
Black,Hitam,
Blanket Orders from Costumers.,Pesanan Selimut dari Pelanggan.,
Block Invoice,Blokir Faktur,
Boms,Boms,
Bonus Payment Date cannot be a past date,Tanggal Pembayaran Bonus tidak bisa menjadi tanggal yang lalu,
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,
Calls,Panggilan,
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 find Item with this barcode,Tidak dapat menemukan Item dengan barcode ini,
Cannot find active Leave Period,Tidak dapat menemukan Periode Keluar aktif,
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 a received RFQ to No Quote,Tidak dapat mengatur RFQ yang diterima ke No Quote,
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,
Casual Leave,Santai Cuti,
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 POS Profile,Ubah Profil POS,
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 Accounts,Bagan Akun,
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 Item should not be a Product Bundle. Please remove item `{0}` and save,Barang Turunan tidak boleh berupa sebuah Bundel Produk. Silahkan hapus barang `{0}` dan simpan,
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,
Claimed Amount,Jumlah klaim,
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,
"Company, Payment Account, From Date and To Date is mandatory","Perusahaan, Akun Pembayaran, Dari Tanggal dan Sampai Tanggal adalah wajib",
Compensatory Off,Kompensasi Off,
Compensatory leave request days not in valid holidays,Hari permintaan cuti kompensasi tidak dalam hari libur yang sah,
Complaint,Keluhan,
Completed Qty can not be greater than 'Qty to Manufacture',Selesai Qty tidak dapat lebih besar dari 'Jumlah untuk Produksi',
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 Details,Kontak Detail,
Contact Number,Nomor 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,kuliah,
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 Disbursement Entry,Buat Entri Pencairan,
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 Lab Test,Buat Uji Lab,
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 Salary Slip,Buat Slip Gaji,
Create Salary Slips,Buat Slip Gaji,
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 a new Customer,Buat Pelanggan baru,
"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 By,Dibuat oleh,
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 Payment Entries......,Membuat Entri Pembayaran ......,
Creating Salary Slips...,Menciptakan Slip Gaji ...,
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,Arus,
Current Assets,Aset lancar,
Current BOM and New BOM can not be same,BOM Lancar dan New BOM tidak bisa sama,
Current Job Openings,Job Openings saat,
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 Group is Required in POS Profile,Grup Pelanggan Diperlukan di Profil POS,
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,
Daily Work Summary,Ringkasan Pekerjaan sehari-hari,
Daily Work Summary Group,Kelompok Ringkasan Pekerjaan 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 is repeated,Tanggal diulang,
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,
Datetime,Datetime,
Day,Hari,
Debit,Debet,
Debit ({0}),Debit ({0}),
Debit A/C Number,Nomor A / C debit,
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,
Deduction,Deduksi,
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.,
Default warehouse is required for selected item,gudang standar diperlukan untuk item yang dipilih,
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,
Delete permanently?,Hapus secara permanen?,
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 amount cannot be greater than 100%,Jumlah diskon tidak boleh lebih dari 100%,
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 Status,Dokumen Status,
Document Type,Jenis Dokumen,
Documentation,Dokumentasi,
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,
Earning,Pendapatan,
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 supplier {0},Email dikirim ke pemasok {0},
Email sent to {0},Email dikirim ke {0},
Employee,Karyawan,
Employee A/C Number,Nomor A / C Karyawan,
Employee Advances,Uang Muka Karyawan,
Employee Benefits,Manfaat Karyawan,
Employee Grade,Kelas 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 Referral,Rujukan karyawan,
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 relieved on {0} must be set as 'Left',Karyawan lega pada {0} harus ditetapkan sebagai 'Kiri',
Employee status cannot be set to 'Left' as following employees are currently reporting to this employee:&nbsp;,Status karyawan tidak dapat diatur ke &#39;Kiri&#39; karena karyawan berikut sedang melaporkan kepada karyawan ini:,
Employee {0} already submited an apllication {1} for the payroll period {2},Karyawan {0} sudah mengajukan apllication {1} untuk periode penggajian {2},
Employee {0} has already applied for {1} between {2} and {3} : ,Karyawan {0} telah mengajukan permohonan untuk {1} antara {2} dan {3}:,
Employee {0} has already applied for {1} on {2} : ,Pegawai {0} telah mengajukan permohonan untuk {1} pada {2}:,
Employee {0} has no maximum benefit amount,Karyawan {0} tidak memiliki jumlah manfaat maksimal,
Employee {0} is not active or does not exist,Karyawan {0} tidak aktif atau tidak ada,
Employee {0} is on Leave on {1},Karyawan {0} sedang Meninggalkan pada {1},
Employee {0} of grade {1} have no default leave policy,Karyawan {0} kelas {1} tidak memiliki kebijakan cuti default,
Employee {0} on Half day on {1},Karyawan {0} tentang Half hari {1},
Enable,Aktifkan,
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,
End time cannot be before start time,Waktu akhir tidak boleh sebelum waktu mulai,
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},
Enter value must be positive,Masukkan nilai harus positif,
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 while processing deferred accounting for {0},Kesalahan saat memproses akuntansi yang ditangguhkan untuk {0},
Error: Not a valid id?,Kesalahan: Tidak id valid?,
Estimated Cost,Estimasi biaya,
Evaluation,Evaluasi,
"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:",
Event,Acara,
Event Location,Lokasi acara,
Event Name,Nama Acara,
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 Claim for Vehicle Log {0},Beban Klaim untuk Kendaraan Log {0},
Expense Claim {0} already exists for the Vehicle Log,Beban Klaim {0} sudah ada untuk Kendaraan Log,
Expense Claims,Beban Klaim,
Expense account is mandatory for item {0},Rekening pengeluaran adalah wajib untuk item {0},
Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,Akun Beban atau Selisih adalah wajib untuk Barang {0} karena berdampak pada keseluruhan nilai persediaan,
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,
Fill the form and save it,Isi formulir dan menyimpannya,
Filter Employees By (Optional),Filter Karyawan Menurut (Opsional),
"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,
Fiscal Year {0} not found,Tahun fiskal {0} tidak ditemukan,
Fiscal Year: {0} does not exists,Tahun Anggaran: {0} tidak ada,
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,Makanan,
"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 Employee,Untuk Karyawan,
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",
Form View,Tampilan Formulir,
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 Date {0} cannot be after employee's relieving Date {1},Dari Tanggal {0} tidak boleh setelah Tanggal Pelepasan karyawan {1},
From Date {0} cannot be before employee's joining Date {1},Dari Tanggal {0} tidak boleh sebelum karyawan bergabung Tanggal {1},
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 date can not be less than employee's joining date,Dari tanggal tidak boleh kurang dari tanggal bergabung karyawan,
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},
Fuel Price,Harga BBM,
Fuel Qty,BBM Qty,
Fulfillment,Pemenuhan,
Full,Penuh,
Full Name,Nama lengkap,
Full-time,Full-time,
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',
Future dates not allowed,Tanggal mendatang tidak diizinkan,
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 Details From Declaration,Dapatkan Detail Dari Deklarasi,
Get Employees,Dapatkan Karyawan,
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 Pay,Nilai Gross Bayar,
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,
Guest,Tamu,
HR Manager,HR Manager,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Day,Setengah hari,
Half Day Date is mandatory,Setengah Hari Tanggal adalah wajib,
Half Day Date should be between From Date and To Date,Tanggal Setengah Hari harus di antara Tanggal Mulai dan Tanggal Akhir,
Half Day Date should be in between Work From Date and Work End Date,Setengah Hari Tanggal harus di antara Work From Date dan Work End Date,
Half Yearly,Setengah Tahunan,
Half day date should be in between from date and to date,Tanggal setengah hari harus di antara dari tanggal dan tanggal,
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,
Hello,Halo,
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,
House rent paid days overlapping with {0},Sewa rumah dibayar hari tumpang tindih dengan {0},
House rented dates required for exemption calculation,Tanggal sewa rumah yang diperlukan untuk perhitungan pengecualian,
House rented dates should be atleast 15 days apart,Tanggal sewa rumah harus setidaknya 15 hari terpisah,
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 Successfull,Impor Berhasil,
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,
Insert,Insert,
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,
Interest Amount,Jumlah Bunga,
Interests,Minat,
Intern,Menginternir,
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(liable to reverse charge,Persediaan Ke Dalam (bertanggung jawab untuk membalikkan biaya,
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 or Warehouse for row {0} does not match Material Request,Item atau Gudang untuk baris {0} Material tidak cocok Permintaan,
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 Description,Deskripsi Bidang Kerja,
Job Offer,Tawaran pekerjaan,
Job card {0} created,Kartu kerja {0} dibuat,
Jobs,Pekerjaan,
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 Prescriptions,Resep 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,
Language Name,nama bahasa,
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 Approval Notification,Tinggalkan Pemberitahuan Persetujuan,
Leave Blocked,Cuti Diblokir,
Leave Encashment,Tinggalkan Pencairan,
Leave Management,Manajemen Cuti,
Leave Status Notification,Tinggalkan Pemberitahuan Status,
Leave Type,Cuti Type,
Leave Type is madatory,Cuti Jenis adalah madatory,
Leave Type {0} cannot be allocated since it is leave without pay,Tinggalkan Jenis {0} tidak dapat dialokasikan karena itu pergi tanpa membayar,
Leave Type {0} cannot be carry-forwarded,Cuti Jenis {0} tidak dapat membawa-diteruskan,
Leave Type {0} is not encashable,Tinggalkan Jenis {0} tidak dapat dicampuri,
Leave Without Pay,Cuti Tanpa Bayar,
Leave and Attendance,Tinggalkan dan Kehadiran,
Leave application {0} already exists against the student {1},Tinggalkan aplikasi {0} sudah ada terhadap siswa {1},
"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Cuti tidak dapat dialokasikan sebelum {0}, saldo cuti sudah pernah membawa-diteruskan dalam catatan alokasi cuti masa depan {1}",
"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Cuti tidak dapat diterapkan / dibatalkan sebelum {0}, saldo cuti sudah pernah membawa-diteruskan dalam catatan alokasi cuti masa depan {1}",
Leave of type {0} cannot be longer than {1},Cuti jenis {0} tidak boleh lebih dari {1},
Leave the field empty to make purchase orders for all suppliers,Biarkan bidang kosong untuk membuat pesanan pembelian untuk semua pemasok,
Leaves,Daun-daun,
Leaves Allocated Successfully for {0},cuti Dialokasikan Berhasil untuk {0},
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",
Leaves per Year,cuti per Tahun,
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,
License,Lisensi,
Lifecycle,Lingkaran kehidupan,
Limit,Membatasi,
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 Amount cannot exceed Maximum Loan Amount of {0},Jumlah Pinjaman tidak dapat melebihi Jumlah pinjaman maksimum {0},
Loan Application,Permohonan pinjaman,
Loan Management,Manajemen Pinjaman,
Loan Repayment,Pembayaran 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,
"LocalStorage is full , did not save","LocalStorage penuh, tidak menyimpan",
"LocalStorage is full, did not save","LocalStorage penuh, tidak menyimpan",
Log,Log,
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 Attendance,Mark Kehadiran,
Mark Half Day,Mark Half Day,
Mark Present,Mark Hadir,
Marketing,Marketing,
Marketing Expenses,Beban Pemasaran,
Marketplace,Marketplace,
Marketplace Error,Kesalahan Pasar,
"Master data syncing, it might take some time","Data master sinkronisasi, itu mungkin memakan waktu",
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 Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Jumlah Pembebasan Maks. Tidak boleh lebih dari jumlah pembebasan maksimum {0} dari Kategori Pembebasan Pajak {1},
Max benefits should be greater than zero to dispense benefits,Manfaat maksimal harus lebih besar dari nol untuk mendapatkan manfaat,
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 amount eligible for the component {0} exceeds {1},Jumlah maksimum yang memenuhi syarat untuk komponen {0} melebihi {1},
Maximum benefit amount of component {0} exceeds {1},Jumlah manfaat maksimum komponen {0} melebihi {1},
Maximum benefit amount of employee {0} exceeds {1},Jumlah tunjangan maksimum karyawan {0} melebihi {1},
Maximum discount for Item {0} is {1}%,Diskon maksimum untuk Item {0} adalah {1}%,
Maximum leave allowed in the leave type {0} is {1},Cuti maksimum yang diizinkan dalam jenis cuti {0} adalah {1},
Medical,Medis,
Medical Code,Kode Medis,
Medical Code Standard,Standar Kode Medis,
Medical Department,Departemen Kesehatan,
Medical Record,Rekam medis,
Medium,Sedang,
Meeting,Pertemuan,
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,
Mode of payment is required to make a payment,Cara pembayaran yang diperlukan untuk melakukan pembayaran,
Model,Model,
Moderate Sensitivity,Sensitivitas Sedang,
Monday,Senin,
Monthly,Bulanan,
Monthly Distribution,Distribusi Bulanan,
Monthly Repayment Amount cannot be greater than Loan Amount,Bulanan Pembayaran Jumlah tidak dapat lebih besar dari Jumlah Pinjaman,
More,Lanjut,
More Information,Informasi lebih,
More than one selection for {0} not allowed,Lebih dari satu pilihan untuk {0} tidak diizinkan,
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 default mode of payment is not allowed,Beberapa modus pembayaran default tidak diperbolehkan,
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,
My Account,Akun saya,
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 Pay,Nilai Bersih Terbayar,
Net Pay cannot be less than 0,Pay bersih yang belum bisa kurang dari 0,
Net Profit,Laba bersih,
Net Salary Amount,Jumlah Gaji Bersih,
Net Total,Jumlah Bersih,
Net pay cannot be negative,Gaji bersih yang belum dapat negatif,
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 Cart,Cart baru,
New Company,Perusahaan Baru,
New Contact,Kontak 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,
Newsletters,Surat edaran,
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 Employee Found,Tidak Ada Karyawan yang Ditemukan,
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 added to cart,Tidak ada Item yang ditambahkan ke keranjang,
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 Lab Test created,Tidak ada Uji Lab yang dibuat,
No Permission,Tidak ada izin,
No Quote,Tidak ada kutipan,
No Remarks,Tidak ada Keterangan,
No Result to submit,Tidak ada hasil untuk disampaikan,
No Salary Structure assigned for Employee {0} on given date {1},Tidak ada Struktur Gaji yang ditugaskan untuk Karyawan {0} pada tanggal tertentu {1},
No Staffing Plans found for this Designation,Tidak ada Rencana Kepegawaian yang ditemukan untuk Penunjukan ini,
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 active or default Salary Structure found for employee {0} for the given dates,Tidak ada yang aktif atau gaji standar Struktur ditemukan untuk karyawan {0} untuk tanggal tertentu,
No address added yet.,Belum ditambahkan alamat,
No contacts added yet.,Tidak ada kontak belum ditambahkan.,
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 more updates,Tidak ada perbaruan lagi,
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 replies from,Tidak ada balasan dari,
No salary slip found to submit for the above selected criteria OR salary slip already submitted,Tidak ada slip gaji yang ditemukan untuk memenuhi kriteria yang dipilih di atas ATAU slip gaji yang telah diajukan,
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 eligible for the admission in this program as per DOB,Tidak memenuhi syarat untuk masuk dalam program ini sesuai DOB,
Not items found,Tidak item yang ditemukan,
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.,
Nothing to change,Tidak ada yang berubah,
Notice Period,Masa Pemberitahuan,
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,On line,
Online Auctions,Lelang Online,
Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Hanya Tinggalkan Aplikasi status &#39;Disetujui&#39; dan &#39;Ditolak&#39; dapat disampaikan,
"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,
Only {0} in stock for item {1},Hanya {0} yang tersedia untuk item {1},
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 Holiday List not set for leave period {0},Daftar Holiday Opsional tidak ditetapkan untuk periode cuti {0},
"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,
PO already created for all sales order items,PO sudah dibuat untuk semua item pesanan penjualan,
POS,POS,
POS Closing Voucher alreday exists for {0} between date {1} and {2},Voucher Penutupan POS sudah ada untuk {0} antara tanggal {1} dan {2},
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,
Part-time,Part-time,
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,
Password,Kata sandi,
Password policy for Salary Slips is not set,Kebijakan kata sandi untuk Slip Gaji tidak diatur,
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,
Payable Amount,Jumlah 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 Date,Tanggal pembayaran,
Payment Days,Hari Jeda 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 Mode is not configured. Please check, whether account has been set on Mode of Payments or on POS Profile.","Modus pembayaran tidak dikonfigurasi. Silakan periksa, apakah akun telah ditetapkan pada Cara Pembayaran atau POS Profil.",
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 of {0} from {1} to {2},Pembayaran {0} dari {1} ke {2},
Payment request {0} created,Permintaan pembayaran {0} dibuat,
Payments,2. Payment (Pembayaran),
Payroll,Daftar gaji,
Payroll Number,Nomor Penggajian,
Payroll Payable,Payroll Hutang,
Payroll date can not be less than employee's joining date,Tanggal penggajian tidak boleh kurang dari tanggal bergabung karyawan,
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,
Piecework,Pekerjaan yg dibayar menurut hasil yg dikerjakan,
Pin Code,Kode PIN,
Pincode,Kode PIN,
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 add the remaining benefits {0} to any of the existing component,Harap tambahkan manfaat yang tersisa {0} ke salah satu komponen yang ada,
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 confirm once you have completed your training,Harap konfirmasi setelah Anda menyelesaikan pelatihan Anda,
Please contact to the user who have Sales Master Manager {0} role,Silahkan hubungi untuk pengguna yang memiliki penjualan Guru Manajer {0} peran,
Please create Customer from Lead {0},Silakan membuat Pelanggan dari Prospek {0},
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 default incoming account before creating Daily Work Summary Group,Harap aktifkan akun masuk default sebelum membuat Grup Ringkasan Pekerjaan Harian,
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 Material Requests in the above table,Cukup masukkan Permintaan Bahan dalam tabel di atas,
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 Repayment Periods,Masukkan Periode Pembayaran,
Please enter Reqd by Date,Masukkan Reqd menurut Tanggal,
Please enter Sales Orders in the above table,Cukup masukkan Penjualan Pesanan dalam tabel di atas,
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 repayment Amount,Masukkan pembayaran Jumlah,
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 input all required Result Value(s),Harap masukan semua Nilai Hasil yang dibutuhkan,
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 re-type company name to confirm,Mohon tipe nama perusahaan untuk mengkonfirmasi,
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 Designation,Silakan pilih Perusahaan dan Penunjukan,
Please select Company and Party Type first,Silakan pilih Perusahaan dan Partai Jenis terlebih dahulu,
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 Employee,Silahkan pilih Karyawan,
Please select Employee Record first.,Silakan pilih Rekam Karyawan terlebih dahulu.,
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 csv file,Silakan pilih file csv,
Please select a customer,Silakan pilih pelanggan,
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 an item in the cart,Harap pilih item di keranjang,
Please select at least one domain.,Pilih setidaknya satu domain.,
Please select correct account,Silakan pilih akun yang benar,
Please select customer,Silakan pilih pelanggan,
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 prefix first,Silakan pilih awalan terlebih dahulu,
Please select the Company,Silahkan pilih Perusahaan,
Please select the Company first,Silahkan pilih Perusahaan terlebih dahulu,
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 Email Address,Silahkan tetapkan Alamat Email,
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 group and territory in Selling Settings,Harap atur grup pelanggan dan wilayah default di Setelan Penjualan,
Please set default customer in Restaurant Settings,Harap tetapkan pelanggan default di Pengaturan Restoran,
Please set default template for Leave Approval Notification in HR Settings.,Silakan mengatur template default untuk Meninggalkan Pemberitahuan Persetujuan di Pengaturan HR.,
Please set default template for Leave Status Notification in HR Settings.,Silakan mengatur template default untuk Pemberitahuan Status Cuti di Pengaturan HR.,
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 Company,Harap atur Perusahaan,
Please set the Customer Address,Silakan atur Alamat Pelanggan,
Please set the Date Of Joining for employee {0},Harap atur tanggal bergabung untuk karyawan {0},
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 the series to be used.,Silakan mengatur seri yang akan digunakan.,
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 share your feedback to the training by clicking on 'Training Feedback' and then 'New',Silakan bagikan umpan balik Anda ke pelatihan dengan mengklik &#39;Feedback Training&#39; dan kemudian &#39;New&#39;,
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 update your status for this training event,Harap perbarui status anda untuk acara pelatihan ini,
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,
Portal Settings,Pengaturan Portal,
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,
Present,ada,
Prev,Sebelumnya,
Preview,Pratayang,
Preview Salary Slip,Slip Gaji Preview,
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 not found or disabled,Daftar Harga tidak ditemukan atau dinonaktifkan,
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,Utama,
Primary Address Details,Rincian Alamat Utama,
Primary Contact Details,Rincian Kontak Utama,
Principal Amount,Jumlah Pokok,
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,
Privilege Leave,Privilege Cuti,
Probation,Percobaan,
Probationary Period,Masa percobaan,
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,
Property,Harta benda,
Property already added,Properti sudah ditambahkan,
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 be positive,Kuantitas harus positif,
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,
Receive at Warehouse Entry,Terima di Entri Gudang,
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 Owner,referensi Pemilik,
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,
Region,Wilayah,
Register,Daftar,
Reject,Menolak,
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,
Replies,Balasan,
Report,Laporan,
Report Builder,Report Builder,
Report Type,Jenis Laporan,
Report Type is mandatory,Jenis Laporan adalah wajib,
Report an Issue,Laporkan Masalah,
Reports,Laporan,
Reqd By Date,Reqd By Date,
Reqd Qty,Reqd Qty,
Request for Quotation,Permintaan Quotation,
"Request for Quotation is disabled to access from portal, for more check portal settings.","Permintaan Quotation dinonaktifkan untuk akses dari portal, untuk pengaturan Portal cek lagi.",
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.,
Response,Tanggapan,
Responsibilities,Tanggung jawab,
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,
Role,Peran,
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}: Returned Item {1} does not exists in {2} {3},Baris # {0}: Barang Retur {1} tidak ada dalam {2} {3},
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}: Reference Document Type must be one of Sales Order, Sales Invoice or Journal Entry","Row # {0}: Dokumen Referensi Type harus menjadi salah satu Sales Order, Faktur Penjualan 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}# Allocated amount {1} cannot be greater than unclaimed amount {2},Baris {0} # Jumlah alokasi {1} tidak boleh lebih besar dari jumlah yang tidak diklaim {2},
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}# Paid Amount cannot be greater than requested advance amount,Baris {0} # Jumlah yang Dibayar tidak boleh lebih besar dari jumlah uang muka yang diminta,
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}: For supplier {0} Email Address is required to send email,Baris {0}: Untuk pemasok {0} Alamat Email diperlukan untuk mengirim email,
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} is required to create the Opening {2} Invoices,Baris {0}: {1} diperlukan untuk membuat Pembukaan {2} Faktur,
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 ID,Slip Gaji ID,
Salary Slip of employee {0} already created for this period,Slip Gaji karyawan {0} sudah dibuat untuk periode ini,
Salary Slip of employee {0} already created for time sheet {1},Slip Gaji karyawan {0} sudah dibuat untuk daftar absen {1},
Salary Slip submitted for period from {0} to {1},Slip Gaji dikirim untuk periode dari {0} sampai {1},
Salary Structure Assignment for Employee already exists,Penugasan Struktur Gaji untuk Karyawan sudah ada,
Salary Structure Missing,Struktur Gaji Hilang,
Salary Structure must be submitted before submission of Tax Ememption Declaration,Struktur Gaji harus diserahkan sebelum pengajuan Deklarasi Pembebasan Pajak,
Salary Structure not found for employee {0} and date {1},Struktur Gaji tidak ditemukan untuk karyawan {0} dan tanggal {1},
Salary Structure should have flexible benefit component(s) to dispense benefit amount,Struktur Gaji harus memiliki komponen manfaat fleksibel (s) untuk memberikan jumlah manfaat,
"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Gaji sudah diproses untuk periode antara {0} dan {1}, Tinggalkan periode aplikasi tidak dapat antara rentang tanggal ini.",
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,Sampel,
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,
Sanctioned Amount,Jumlah sanksi,
Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Sanksi Jumlah tidak dapat lebih besar dari Klaim Jumlah dalam Row {0}.,
Sand,Pasir,
Saturday,Sabtu,
Saved,Disimpan,
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,
Score must be less than or equal to 5,Skor harus kurang dari atau sama dengan 5,
Scorecards,Scorecard,
Scrapped,membatalkan,
Search,Pencarian,
Search Item,Cari Barang,
Search Item (Ctrl + i),Search Item (Ctrl + i),
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 No,Pilih Batch No,
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 POS Profile,Pilih Profil POS,
Select Patient,Pilih Pasien,
Select Possible Supplier,Pilih Kemungkinan Pemasok,
Select Property,Pilih Properti,
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 an employee to get the employee advance.,Pilih karyawan untuk mendapatkan uang muka karyawan.,
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 items to save the invoice,Pilih item untuk menyimpan faktur,
Select or add new customer,Pilih atau menambahkan pelanggan baru,
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}",
Selling rate for item {0} is lower than its {1}. Selling rate should be atleast {2},Tingkat penjualan untuk item {0} lebih rendah dari {1} nya. Tingkat penjualan harus atleast {2},
Send Grant Review Email,Kirim Email Peninjauan Donasi,
Send Now,Kirim Sekarang,
Send SMS,Kirim SMS,
Send Supplier Emails,Kirim Email Pemasok,
Send mass SMS to your contacts,Kirim SMS massal ke kontak Anda,
Sensitivity,Kepekaan,
Sent,Terkirim,
Serial #,Serial #,
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 item cannot be a fraction,Serial Item tidak dapat pecahan,
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,
Series {0} already used in {1},Seri {0} sudah digunakan dalam {1},
Service,Jasa,
Service Expense,Beban layanan,
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 Default,Set sebagai Default,
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 default mode of payment,Tetapkan mode pembayaran default,
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,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 Employee,Tampilkan Karyawan,
Show Open,Tampilkan Terbuka,
Show Opening Entries,Tampilkan Entri Pembukaan,
Show Payment Details,Tampilkan Rincian Pembayaran,
Show Return Entries,Tampilkan Entri Kembali,
Show Salary Slip,Slip acara Gaji,
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,
Sick Leave,Cuti sakit,
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}",
"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Melewati Penugasan Struktur Gaji untuk karyawan berikut, karena catatan Penugasan Struktur Gaji sudah ada terhadap 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,
Staffing Plan {0} already exist for designation {1},Rencana Kepegawaian {0} sudah ada untuk penunjukan {1},
Standard,Standar,
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 and end dates not in a valid Payroll Period, cannot calculate {0}","Tanggal mulai dan berakhir tidak dalam Periode Penggajian yang valid, tidak dapat menghitung {0}",
"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Tanggal mulai dan akhir tidak dalam Periode Penggajian yang valid, tidak dapat menghitung {0}.",
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 Options,Opsi 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,
Structures have been assigned successfully,Struktur telah ditetapkan dengan sukses,
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 or Course Schedule is mandatory,Student Group atau Jadwal Kursus adalah wajib,
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 Proof,Kirim Bukti,
Submit Salary Slip,Kirim Slip Gaji,
Submit this Work Order for further processing.,Kirimkan Pesanan Kerja ini untuk diproses lebih lanjut.,
Submit this to create the Employee record,Kirimkan ini untuk membuat catatan Karyawan,
Submitted orders can not be deleted,perintah yang disampaikan tidak dapat dihapus,
Submitting Salary Slips...,Mengirimkan Slip Gaji ...,
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,
Suplier Name,Nama 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 Quotation {0} created,Pemasok Quotation {0} dibuat,
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 Master Data,Sync Master Data,
Sync Offline Invoices,Sinkronisasi Offline Faktur,
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,
Team Updates,Pembaruan Tim,
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,
Territory is Required in POS Profile,Wilayah Diperlukan di Profil POS,
Test,tes,
Thank you,Terima kasih,
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 day(s) on which you are applying for leave are holidays. You need not apply for leave.,Hari (s) yang Anda lamar cuti adalah hari libur. Anda tidak perlu mengajukan cuti.,
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 request for quotation can be accessed by clicking on the following link,Permintaan untuk kutipan dapat diakses dengan mengklik link berikut,
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 are more holidays than working days this month.,Ada lebih dari hari kerja libur bulan ini.,
There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,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 no leave period in between {0} and {1},Tidak ada periode cuti di antara {0} dan {1},
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 Employee,Hal ini didasarkan pada kehadiran Karyawan 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 will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Ini akan mengirimkan Slip Gaji dan membuat Entri Jurnal akrual. Apakah kamu ingin melanjutkan?,
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 date can not be equal or less than from date,Hingga saat ini tidak bisa sama atau kurang dari dari tanggal,
To date can not be less than from date,Hingga saat ini tidak boleh kurang dari dari tanggal,
To date can not greater than employee's relieving date,Hingga saat ini tidak dapat lebih besar dari tanggal pelepasan karyawan,
"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 Absent,Jumlah Absen,
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 Amount {0},Jumlah Total {0},
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 Deduction,Jumlah Deduksi,
Total Invoiced Amount,Jumlah Total Tagihan,
Total Leaves,Total Cuti,
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 Present,Total Hadir,
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 advance amount cannot be greater than total sanctioned amount,Jumlah uang muka tidak boleh lebih besar dari jumlah sanksi,
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 flexible benefit component amount {0} should not be less than max benefits {1},Total jumlah komponen manfaat fleksibel {0} tidak boleh kurang dari manfaat maksimal {1},
Total hours: {0},Jumlah jam: {0},
Total leaves allocated is mandatory for Leave Type {0},Total cuti yang dialokasikan adalah wajib untuk Tipe Cuti {0},
Total weightage assigned should be 100%. It is {0},Jumlah weightage ditugaskan harus 100%. Ini adalah {0},
Total working hours should not be greater than max working hours {0},Jumlah jam kerja tidak boleh lebih besar dari max jam kerja {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,
Traceback,Melacak kembali,
Track Leads by Lead Source.,Lacak Memimpin oleh Sumber Utama.,
Training,Latihan,
Training Event,pelatihan Kegiatan,
Training Events,Acara Pelatihan,
Training Feedback,pelatihan Masukan,
Training Result,pelatihan Hasil,
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,Perjalanan,
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 DocType {0},Tidak dapat menemukan DocType {0},
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 Bank Transaction Dates,Perbarui Tanggal Transaksi Bank,
Update Cost,Perbarui Biaya,
Update Cost Center Number,Perbarui Nomor Pusat Biaya,
Update Email Group,Perbarui Email Kelompok,
Update Items,Perbarui Item,
Update Print Format,Perbarui Format Cetak,
Update Response,Perbarui Tanggapan,
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 Forum,Forum 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 missing,Nilai hilang,
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",
Variable,Variabel,
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,
Walk In,Walk In,
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: Leave application contains following block dates,Peringatan: Cuti aplikasi berisi tanggal blok berikut,
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 Listing,Daftar Situs Web,
Website Manager,Website Manager,
Website Settings,Pengaturan situs web,
Wednesday,Rabu,
Week,Minggu,
Weekdays,Hari kerja,
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.,
"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 di COA yang sesuai",
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 Summary for {0},Ringkasan Kerja untuk {0},
Work-in-Progress Warehouse is required before Submit,Kerja-in-Progress Gudang diperlukan sebelum Submit,
Workflow,Alur kerja,
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 in offline mode. You will not be able to reload until you have network.,Anda berada dalam mode offline. Anda tidak akan dapat memuat sampai Anda memiliki jaringan.,
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 approve leaves on Block Dates,Anda tidak berwenang untuk menyetujui cuti di Blok Tanggal,
You are not authorized to set Frozen value,Anda tidak diizinkan menetapkan nilai yg sedang dibekukan,
You are not present all day(s) between compensatory leave request days,Anda tidak hadir sepanjang hari di antara hari-hari pembayaran cuti kompensasi,
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 only submit Leave Encashment for a valid encashment amount,Anda hanya dapat mengirim Tinggalkan Cadangan untuk jumlah pencairan yang valid,
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 enought 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 be logged in to access this page,Anda harus login untuk mengakses halaman ini,
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} Number {1} already used in account {2},{0} Nomor {1} sudah digunakan di akun {2},
{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} already allocated for Employee {1} for period {2} to {3},{0} sudah dialokasikan bagi Karyawan {1} untuk periode {2} ke {3},
{0} applicable after {1} working days,{0} berlaku setelah {1} hari kerja,
{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 not in Optional Holiday List,{0} tidak ada dalam Daftar Holiday Opsional,
{0} is not in a valid Payroll Period,{0} tidak dalam Periode Penggajian yang valid,
{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} must be submitted,{0} harus diserahkan,
{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} 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} cannot be a Group,{0} {1}: Akun {2} tidak boleh Kelompok,
{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}: Employee email not found, hence email not sent","{0}: email Karyawan tidak ditemukan, maka email tidak dikirim",
{0}: From {0} of type {1},{0}: Dari {0} tipe {1},
{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 {},
Chat,Obrolan,
Completed By,Diselesaikan oleh,
Conditions,Kondisi,
County,daerah,
Day of Week,Hari dalam seminggu,
"Dear System Manager,","Kepada System Manager Yth.,",
Default Value,Nilai Awal,
Email Group,Kelompok Surel,
Fieldtype,Fieldtype,
ID,ID,
Images,Gambar,
Import,Impor,
Office,Kantor,
Passive,Pasif,
Percent,Persen,
Permanent,Permanen,
Personal,Pribadi,
Plant,Tanaman,
Post,Post,
Postal,Pos,
Postal Code,Kode Pos,
Provider,Pemberi,
Read Only,Read Only,
Recipient,Penerima,
Reviews,Ulasan,
Sender,Pengirim,
Shop,Toko,
Subsidiary,Anak perusahaan,
There is some problem with the file url: {0},Ada beberapa masalah dengan url berkas: {0},
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",
Error in some rows,Kesalahan dalam beberapa baris,
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,
Benefit,Manfaat,
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},
Import Chart Of Accounts from CSV / Excel files,Impor Bagan Akun dari file CSV / Excel,
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.,
Shift,Bergeser,
Show {0},Tampilkan {0},
"Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Karakter Khusus kecuali &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Dan &quot;}&quot; tidak diizinkan dalam rangkaian penamaan",
Target Details,Detail Target,
{0} already has a Parent Procedure {1}.,{0} sudah memiliki Prosedur Induk {1}.,
API,API,
Annual,Tahunan,
Approved,Disetujui,
Change,Perubahan,
Contact Email,Email Kontak,
From Date,Dari tanggal,
Group By,Dikelompokkan oleh,
Importing {0} of {1},Mengimpor {0} dari {1},
Last Sync On,Sinkron Terakhir Aktif,
Naming Series,Series Penamaan,
No data to export,Tidak ada data untuk diekspor,
Print Heading,Cetak Pos,
Video,Video,
% Of Grand Total,% Dari Total Grand,
'employee_field_value' and 'timestamp' are required.,&#39;employee_field_value&#39; dan &#39;timestamp&#39; diperlukan.,
<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 belong to company {1},Akun {0} bukan milik perusahaan {1},
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 Loan Security,Tambahkan Keamanan Pinjaman,
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.,
Against Loan,Terhadap Pinjaman,
Against Loan:,Terhadap Pinjaman:,
All,Semua,
All bank transactions have been created,Semua transaksi bank telah dibuat,
All the depreciations has been booked,Semua penyusutan telah dipesan,
Allocation Expired!,Alokasi Berakhir!,
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,
Amount paid cannot be zero,Jumlah yang dibayarkan tidak boleh nol,
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.,
Attendance Marked,Kehadiran Ditandai,
Attendance has been marked as per employee check-ins,Kehadiran telah ditandai sesuai dengan check-in karyawan,
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 Home,Kembali ke rumah,
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 Unpledge, loan security value is greater than the repaid amount","Tidak Dapat Dijanjikan, nilai keamanan pinjaman lebih besar dari jumlah yang dibayarkan",
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 create loan until application is approved,Tidak dapat membuat pinjaman sampai permohonan disetujui,
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",
Cannot unpledge more than {0} qty of {0},Tidak dapat membatalkan janji lebih dari {0} qty dari {0},
"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 ...,
Creating {0},Membuat {0},
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,
Customize,Sesuaikan,
Daily,Sehari-hari,
Date,Tanggal,
Date Range,Rentang 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,
Disbursed Amount cannot be greater than loan amount,Jumlah yang Dicairkan tidak boleh lebih besar dari jumlah pinjaman,
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,
Edit Profile,Edit Profile,
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,
Event Link,Tautan Acara,
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,
Expire Allocation,Kedaluwarsa Alokasi,
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,
File Manager,File Manager,
Filters,Penyaring,
Finding linked payments,Menemukan pembayaran yang tertaut,
Finished Product,Produk jadi,
Finished Qty,Qty jadi,
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 date can not be greater than than To date,Dari tanggal tidak boleh lebih dari dari Tanggal,
From employee is required while receiving Asset {0} to a target location,Dari karyawan diperlukan saat menerima Aset {0} ke lokasi target,
Fuel Expense,Biaya Bahan Bakar,
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,
Interest Amount is mandatory,Jumlah Bunga wajib,
Intermediate,Menengah,
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,
Invite as User,Undang sebagai Pengguna,
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.,
Items are required to pull the raw materials which is associated with it.,Item diperlukan untuk menarik bahan baku yang terkait dengannya.,
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,
Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Aplikasi cuti dikaitkan dengan alokasi cuti {0}. Aplikasi cuti tidak dapat ditetapkan sebagai cuti tanpa membayar,
Leaves Taken,Daun Diambil,
Less Than Amount,Jumlah Kurang Dari,
Liabilities,Kewajiban,
Loading...,Memuat...,
Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Jumlah Pinjaman melebihi jumlah maksimum pinjaman {0} sesuai dengan sekuritas yang diusulkan,
Loan Applications from customers and employees.,Aplikasi Pinjaman dari pelanggan dan karyawan.,
Loan Disbursement,Pencairan Pinjaman,
Loan Processes,Proses Pinjaman,
Loan Security,Keamanan Pinjaman,
Loan Security Pledge,Ikrar Keamanan Pinjaman,
Loan Security Pledge Company and Loan Company must be same,Perusahaan Sumpah Keamanan Pinjaman dan Perusahaan Pinjaman harus sama,
Loan Security Pledge Created : {0},Ikrar Keamanan Pinjaman Dibuat: {0},
Loan Security Pledge already pledged against loan {0},Ikrar Keamanan Pinjaman telah dijaminkan terhadap pinjaman {0},
Loan Security Pledge is mandatory for secured loan,Ikrar Keamanan Pinjaman wajib untuk pinjaman yang dijamin,
Loan Security Price,Harga Keamanan Pinjaman,
Loan Security Price overlapping with {0},Harga Keamanan Pinjaman tumpang tindih dengan {0},
Loan Security Unpledge,Jaminan Keamanan Pinjaman,
Loan Security Value,Nilai Keamanan Pinjaman,
Loan Type for interest and penalty rates,Jenis Pinjaman untuk suku bunga dan penalti,
Loan amount cannot be greater than {0},Jumlah pinjaman tidak boleh lebih dari {0},
Loan is mandatory,Pinjaman wajib,
Loans,Pinjaman,
Loans provided to customers and employees.,Pinjaman diberikan kepada pelanggan dan karyawan.,
Location,Lokasi,
Log Type is required for check-ins falling in the shift: {0}.,Jenis Log diperlukan untuk lapor masuk yang jatuh di shift: {0}.,
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,
Newsletter,Laporan berkala,
No Account matched these filters: {},Tidak ada Akun yang cocok dengan filter ini: {},
No Employee found for the given employee field value. '{}': {},Karyawan tidak ditemukan untuk nilai bidang karyawan yang diberikan. &#39;{}&#39;: {},
No Leaves Allocated to Employee: {0} for Leave Type: {1},Tidak Ada Daun yang Dialokasikan untuk Karyawan: {0} untuk Tipe Cuti: {1},
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:,
Offline,Offline,
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,
Only expired allocation can be cancelled,Hanya alokasi yang kedaluwarsa yang dapat dibatalkan,
Only users with the {0} role can create backdated leave applications,Hanya pengguna dengan peran {0} yang dapat membuat aplikasi cuti yang ketinggalan zaman,
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,
Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Kebijakan kata sandi tidak boleh mengandung spasi atau tanda hubung simultan. Format akan direstrukturisasi secara otomatis,
Patient History,Riwayat Pasien,
Pause,berhenti sebentar,
Pay,Membayar,
Payment Document Type,Jenis Dokumen Pembayaran,
Payment Name,Nama Pembayaran,
Penalty Amount,Jumlah Penalti,
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 click on the following link to set your new password,Silahkan klik pada link berikut untuk mengatur password baru anda,
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 enter coupon code !!,Silakan masukkan kode kupon !!,
Please enter the designation,Silakan masukkan nama,
Please enter valid coupon code !!,Silakan masukkan kode kupon yang valid !!,
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 Applicant Type first,Silakan pilih Jenis Pemohon terlebih dahulu,
Please select Customer first,Silakan pilih Pelanggan terlebih dahulu,
Please select Item Code first,Silakan pilih Kode Barang terlebih dahulu,
Please select Loan Type for company {0},Silakan pilih Jenis Pinjaman untuk perusahaan {0},
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
Pledge Status,Status Ikrar,
Pledge Time,Waktu Ikrar,
Printing,Pencetakan,
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,
Proposed Pledges are mandatory for secured Loans,Janji yang Diusulkan adalah wajib untuk Pinjaman yang dijamin,
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,Menerbitkan,
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,
Qty or Amount is mandatroy for loan security,Jumlah atau Jumlah adalah mandatroy untuk keamanan pinjaman,
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,
Refreshing,Segar,
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,
Repayment Method is mandatory for term loans,Metode Pembayaran wajib untuk pinjaman berjangka,
Repayment Start Date is mandatory for term loans,Tanggal Mulai Pembayaran wajib untuk pinjaman berjangka,
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.,
Response Time for {0} at index {1} can't be greater than Resolution Time.,Waktu Respons untuk {0} pada indeks {1} tidak boleh lebih besar dari Waktu Resolusi.,
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},
Sanctioned Amount limit crossed for {0} {1},Batas Jumlah yang disetujui terlampaui untuk {0} {1},
Sanctioned Loan Amount already exists for {0} against company {1},Jumlah Pinjaman yang Diberi Sanksi sudah ada untuk {0} melawan perusahaan {1},
Save,Simpan,
Save Item,Simpan Barang,
Saved Items,Item Tersimpan,
Scheduled and Admitted dates can not be less than today,Tanggal yang Dijadwalkan dan Diakui tidak boleh kurang dari hari ini,
Search Items ...,Cari Item ...,
Search for a payment,Cari pembayaran,
Search for anything ...,Cari apa saja ...,
Search results for,Hasil pencarian,
Select All,Pilih Semua,
Select Difference Account,Pilih Perbedaan Akun,
Select a Default Priority.,Pilih Prioritas Default.,
Select a Supplier from the Default Supplier List of the items below.,Pilih Pemasok dari Daftar Pemasok Default untuk item di bawah ini.,
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 tracking is not enabled.,Pelacakan Perjanjian Tingkat Layanan tidak diaktifkan.,
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,Tetapkan,
Set Meta Tags,Setel Tag Meta,
Set Response Time and Resolution for Priority {0} at index {1}.,Tetapkan Waktu Respons dan Resolusi untuk Prioritas {0} di indeks {1}.,
Set {0} in company {1},Setel {0} di perusahaan {1},
Setup,Pengaturan,
Setup Wizard,Setup Wizard,
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.,
"Sorry,coupon code are exhausted","Maaf, kode kupon habis",
"Sorry,coupon code validity has expired","Maaf, validitas kode kupon telah kedaluwarsa",
"Sorry,coupon code validity has not started","Maaf, validitas kode kupon belum dimulai",
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}).,
The value {0} is already assigned to an exisiting Item {2}.,Nilai {0} sudah ditetapkan untuk Item yang sudah ada {2}.,
There are no vacancies under staffing plan {0},Tidak ada lowongan di bawah rencana kepegawaian {0},
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 employee already has a log with the same timestamp.{0},Karyawan ini sudah memiliki log dengan stempel waktu yang sama. {0},
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,
Timing,Pengaturan waktu,
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.",
To date needs to be before from date,Sampai saat ini perlu sebelum dari tanggal,
Total,Total,
Total Early Exits,Total Keluar Awal,
Total Late Entries,Total Entri Terlambat,
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,
Training Event:,Acara Pelatihan:,
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 Salary Component {0},Tidak dapat menemukan Komponen Gaji {0},
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,
Unmarked Attendance for days,Kehadiran tanpa tanda selama berhari-hari,
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 Details,Perbarui Rincian,
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,
Vacancies cannot be lower than the current openings,Lowongan tidak boleh lebih rendah dari pembukaan saat ini,
Valid From Time must be lesser than Valid Upto Time.,Berlaku Dari Waktu harus lebih kecil dari Waktu Berlaku yang Valid.,
Valuation Rate required for Item {0} at row {1},Diperlukan Tingkat Penilaian untuk Item {0} di baris {1},
"Valuation rate not found for the Item {0}, which is required to do accounting entries for {1} {2}. If the item is transacting as a zero valuation rate item in the {1}, please mention that in the {1} Item table. Otherwise, please create an incoming stock transaction for the item or mention valuation rate in the Item record, and then try submiting / cancelling this entry.","Tingkat penilaian tidak ditemukan untuk Item {0}, yang diperlukan untuk melakukan entri akuntansi untuk {1} {2}. Jika item bertransaksi sebagai item tingkat penilaian nol di {1}, harap sebutkan di tabel {1} Item. Jika tidak, silakan buat transaksi stok masuk untuk item atau sebutkan nilai penilaian dalam catatan Item, dan kemudian coba kirim / batalkan entri ini.",
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,Anda,
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 can't create accounting entries in the closed accounting period {0},Anda tidak dapat membuat entri akuntansi dalam periode akuntansi tertutup {0},
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:,
Zero qty of {0} pledged against loan {0},Nol qty dari {0} dijaminkan terhadap pinjaman {0},
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} Name,{0} Nama,
{0} Operations: {1},{0} Operasi: {1},
{0} bank transaction(s) created,{0} transaksi bank dibuat,
{0} bank transaction(s) created and {1} errors,{0} transaksi bank dibuat dan {1} 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} units of {1} is not available.,{0} unit {1} tidak tersedia.,
{0}: {1} must be less than {2},{0}: {1} harus kurang dari {2},
{} is an invalid Attendance Status.,{} adalah Status Kehadiran yang tidak valid.,
{} 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,
Center,Pusat,
Clear,Bersih,
Comment,Komentar,
Comments,Komentar,
Download,Unduh,
Left,Waktu tersisa,
Link,Tautan,
New,Baru,
Not Found,Tidak ditemukan,
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,
Loan Amount is mandatory,Jumlah pinjaman adalah wajib,
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,
Printed On,Printed On,
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,
User Id,Identitas pengguna,
Yes,Ya,
Actual ,Aktual,
Add to cart,Tambahkan ke Keranjang Belanja,
Budget,Anggaran belanja,
Chart Of Accounts Importer,Grafik Pengimpor Akun,
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,
Get items from,Mendapatkan Stok Barang-Stok Barang dari,
Group by,Kelompok Dengan,
In stock,Persediaan,
Item name,Nama Item,
Loan amount is mandatory,Jumlah pinjaman adalah wajib,
Minimum Qty,Minimum Qty,
More details,Detail Lebih,
Nature of Supplies,Sifat Pasokan,
No Items found.,Tidak ada item yang ditemukan.,
No employee found,Tidak ada karyawan 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,
Set as default,Set sebagai Default,
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,
Write off Amount,Jumlah Nilai Write Off,
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,
Please setup Employee Naming System in Human Resource > HR Settings,Silakan atur Sistem Penamaan Karyawan di Sumber Daya Manusia&gt; Pengaturan SDM,
Please setup numbering series for Attendance via Setup > Numbering Series,Silakan atur seri penomoran untuk Kehadiran melalui Pengaturan&gt; Seri Penomoran,
Purchase Order Required,Order Pembelian Diperlukan,
Purchase Receipt Required,Diperlukan Nota Penerimaan,
Requested,Diminta,
YouTube,Youtube,
Vimeo,Vimeo,
Publish Date,Tanggal Terbit,
Duration,Lamanya,
Advanced Settings,Pengaturan lanjutan,
Path,Jalan,
Components,komponen,
Verified By,Diverifikasi oleh,
Maintain Same Rate Throughout Sales Cycle,Pertahankan Tarif Sama Sepanjang Siklus Penjualan,
Must be Whole Number,Harus Nomor Utuh,
GL Entry,GL Entri,
Fee Validity,Validitas biaya,
Dosage Form,Formulir Dosis,
Patient Medical Record,Catatan Medis Pasien,
Total Completed Qty,Total Qty yang Diselesaikan,
Qty to Manufacture,Kuantitas untuk diproduksi,
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,
Check Availability,Cek ketersediaan,
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,
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,
"If enabled, the system will post accounting entries for inventory automatically.","Jika diaktifkan, sistem akan posting entri akuntansi untuk persediaan otomatis.",
Accounts Frozen Upto,Akun dibekukan sampai dengan,
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Pencatatan Akuntansi telah dibekukan sampai tanggal ini, tidak seorang pun yang bisa melakukan / memodifikasi pencatatan kecuali peran yang telah ditentukan di bawah ini.",
Role Allowed to Set Frozen Accounts & Edit Frozen Entries,Peran Diizinkan Set Beku Account & Edit Frozen Entri,
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,
Address used to determine Tax Category in transactions.,Alamat yang digunakan untuk menentukan Kategori Pajak dalam transaksi.,
Over Billing Allowance (%),Kelonggaran Penagihan Berlebih (%),
Percentage you are allowed to bill more against the amount ordered. For example: If the order value is $100 for an item and tolerance is set as 10% then you are allowed to bill for $110.,"Persentase Anda dapat menagih lebih banyak dari jumlah yang dipesan. Misalnya: Jika nilai pesanan adalah $ 100 untuk item dan toleransi ditetapkan 10%, maka Anda diizinkan untuk menagih $ 110.",
Credit Controller,Kredit Kontroller,
Role that is allowed to submit transactions that exceed credit limits set.,Peran yang diperbolehkan untuk mengirimkan transaksi yang melebihi batas kredit yang ditetapkan.,
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,
Unlink Advance Payment on Cancelation of Order,Putuskan Tautan Pembayaran Muka pada Pembatalan pesanan,
Book Asset Depreciation Entry Automatically,Rekam Entri Depresiasi Asset secara Otomatis,
Allow Cost Center In Entry of Balance Sheet Account,Izinkan Pusat Biaya Masuk Rekening Neraca,
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 Inclusive Tax In Print,Menunjukkan Pajak Inklusif Dalam Cetak,
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,
Only select if you have setup Cash Flow Mapper documents,Pilih saja apakah Anda sudah menyiapkan dokumen Flow Flow Mapper,
Allowed To Transact With,Diizinkan Untuk Bertransaksi Dengan,
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 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,
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,
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,
Position,Posisi,
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,
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,
Maximum Use,Penggunaan Maksimum,
Used,Bekas,
Coupon Description,Deskripsi Kupon,
Discounted Invoice,Faktur Diskon,
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,
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,
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,
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,
[Select],[Pilih],
Company Address,Alamat perusahaan,
Update Stock,Perbarui Persediaan,
Ignore Pricing Rule,Abaikan Aturan Harga,
Allow user to edit Rate,Izinkan pengguna untuk mengedit Nilai,
Allow user to edit Discount,Izinkan pengguna mengedit Diskon,
Allow Print Before Pay,Izinkan Cetak Sebelum Bayar,
Display Items In Stock,Item Tampilan Dalam Stok,
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,
Print Format for Online,Format Cetak untuk Online,
Offline POS Settings,Pengaturan POS Offline,
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,
Use POS in Offline Mode,Gunakan POS dalam Mode Offline,
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),
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,
"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.",
Salary Component Account,Akun Komponen Gaji,
Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Akun standar Bank / Cash akan otomatis diperbarui di Entri Jurnal Gaji saat mode ini dipilih.,
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.,
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,
Price Determination,Penentuan Harga,
Fixed rate,Suku bunga tetap,
Based on price list,Berdasarkan daftar harga,
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,
Cancel Invoice After Grace Period,Batalkan Faktur Setelah Masa Tenggang,
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,
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,Tanaman,
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,
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,
Depreciation Start Date,Tanggal Mulai Depresiasi,
Expected Value After Useful Life,Nilai diharapkan Setelah Hidup Berguna,
Rate of Depreciation,Tingkat Depresiasi,
In Percentage,Dalam Persentase,
Select Serial No,Pilih Serial No,
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,
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,
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,
Maintain same rate throughout purchase cycle,Pertahankan tarif yang sama sepanjang siklus pembelian,
Allow Item to be added multiple times in a transaction,Izinkan Stok Barang yang sama untuk ditambahkan beberapa kali dalam suatu transaksi,
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,
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,
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,
% 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,
Supplier Detail,pemasok Detil,
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,
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,
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 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,
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,
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,
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,
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,
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,
Total Score,Skor total,
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,Tema,
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.",
Instructor Records to be created by,Catatan Instruktur yang akan dibuat oleh,
Employee Number,Jumlah Karyawan,
LMS Settings,Pengaturan LMS,
Enable LMS,Aktifkan LMS,
LMS Title,Judul LMS,
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,
Public Transport,Transportasi umum,
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,
Joining Date,Tanggal Bergabung,
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,
Student Admission,Mahasiswa Pendaftaran,
Application Form Route,Form aplikasi Route,
Admission Start Date,Pendaftaran Mulai Tanggal,
Admission End Date,Pendaftaran Tanggal Akhir,
Publish on website,Mempublikasikan di website,
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 Status,Status aplikasi,
Application Date,Tanggal Aplikasi,
Student Attendance Tool,Alat Kehadiran Siswa,
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,
Will show the student as Present in Student Monthly Attendance Report,Akan menampilkan siswa sebagai Hadir di Student Bulanan Kehadiran Laporan,
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,
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,
AU,AU,
BR,BR,
CA,CA,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
JP,JP,
IT,SAYA T,
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,
Get financial breakup of Taxes and charges data by Amazon ,Dapatkan perpisahan keuangan dari Pajak dan biaya data oleh Amazon,
Click this button to pull your Sales Order data from Amazon MWS.,Klik tombol ini untuk mengambil data Sales Order Anda dari Amazon MWS.,
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 Public Key,Kunci Publik Kotak-kotak,
Plaid Environment,Lingkungan Kotak-kotak,
sandbox,bak pasir,
development,pengembangan,
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,
Request Data,Meminta Data,
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,
"If Shopify not contains a customer in Order, then while syncing Orders, the system will consider default customer for order","Jika Shopify tidak berisi pelanggan di Order, maka ketika menyinkronkan Pesanan, sistem akan mempertimbangkan pelanggan default untuk pesanan",
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,
Is Master Data Processed,Apakah Data Master Diproses,
Is Master Data Imported,Apakah Data Master Diimpor,
Tally Creditors Account,Akun Tally Kreditor,
Tally Debtors Account,Rekening Debitur Tally,
Tally Company,Tally Company,
ERPNext Company,Perusahaan ERPN,
Processed Files,File yang Diproses,
Parties,Pesta,
UOMs,UOMs,
Vouchers,Voucher,
Round Off Account,Akun Pembulatan,
Day Book Data,Data Buku Hari,
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,
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,
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,
Collection Details,Detail Koleksi,
Codification Table,Tabel Kodifikasi,
Complaints,Keluhan,
Dosage Strength,Kekuatan Dosis,
Strength,Kekuatan,
Drug Prescription,Resep obat,
Dosage,Dosis,
Dosage by Time Interval,Dosis berdasarkan interval waktu,
Interval,Selang,
Interval UOM,Interval UOM,
Hour,Jam,
Update Schedule,Perbarui Jadwal,
Max number of visit,Jumlah kunjungan maksimal,
Visited yet,Dikunjungi belum,
Mobile,Mobile,
Phone (R),Telepon (R),
Phone (Office),Telepon (Kantor),
Hospital,RSUD,
Appointments,Janji,
Practitioner Schedules,Jadwal Praktisi,
Charges,Biaya,
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,
"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,
Registration Fee,Biaya pendaftaran,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Kelola submisi Invoice Janji Pasien dan batalkan secara otomatis Pertemuan Pasien,
Valid Number of Days,Jumlah hari yang valid,
Clinical Procedure Consumable Item,Prosedur Klinis Barang Konsumsi,
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.,
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,
Remind Before,Ingatkan sebelumnya,
Laboratory Settings,Pengaturan Laboratorium,
Employee name and designation in print,Nama karyawan dan sebutan di cetak,
Custom Signature in Print,Tanda Tangan Khusus di Cetak,
Laboratory SMS Alerts,SMS Pemberitahuan Laboratorium,
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,
Discharge Note,Catatan Discharge,
Lab Prescription,Resep Lab,
Test Created,Uji coba,
LP-,LP-,
Submitted Date,Tanggal dikirim,
Approved Date,Tanggal yang Disetujui,
Sample ID,Contoh ID,
Lab Technician,Teknisi laboratorium,
Technician Name,Nama teknisi,
Report Preference,Preferensi Laporan,
Test Name,Nama uji,
Test Template,Uji Template,
Test Group,Grup Uji,
Custom Result,Hasil Kustom,
LabTest Approver,Pendekatan LabTest,
Lab Test Groups,Kelompok Uji Lab,
Add Test,Tambahkan Test,
Add new line,Tambahkan baris baru,
Normal Range,Jarak normal,
Result Format,Format Hasil,
"Single for results which require only a single input, result UOM and normal value \n<br>\nCompound for results which require multiple input fields with corresponding event names, result UOMs and normal values\n<br>\nDescriptive for tests which have multiple result components and corresponding result entry fields. \n<br>\nGrouped for test templates which are a group of other test templates.\n<br>\nNo Result for tests with no results. Also, no Lab Test is created. e.g.. Sub Tests for Grouped results.","Single untuk hasil yang hanya memerlukan satu input saja, hasil UOM dan nilai normal <br> Senyawa untuk hasil yang membutuhkan banyak field masukan dengan nama acara yang sesuai, hasil UOM dan nilai normal <br> Deskriptif untuk tes yang memiliki beberapa komponen hasil dan bidang entri hasil yang sesuai. <br> Dikelompokkan untuk template uji yang merupakan kelompok dari template uji lainnya. <br> Tidak ada hasil untuk tes tanpa hasil. Juga, tidak ada Lab Test yang dibuat. misalnya. Sub Tes untuk hasil yang dikelompokkan.",
Single,Tunggal,
Compound,Senyawa,
Descriptive,Deskriptif,
Grouped,Dikelompokkan,
No Result,Tidak ada hasil,
"If unchecked, the item wont be appear in Sales Invoice, but can be used in group test creation. ","Jika tidak dicentang, item tersebut tidak akan muncul dalam Sales Invoice, namun dapat digunakan dalam pembuatan uji kelompok.",
This value is updated in the Default Sales Price List.,Nilai ini diperbarui dalam Daftar Harga Penjualan Standar.,
Lab Routine,Lab Rutin,
Special,Khusus,
Normal Test Items,Item Uji Normal,
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.-,
Inpatient Status,Status Rawat Inap,
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,
Patient Age,Usia pasien,
More Info,Info Selengkapnya,
Referring Practitioner,Merujuk Praktisi,
Reminded,Mengingatkan,
Parameters,Parameter,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Tanggal Pertemuan,
Encounter Time,Waktu Pertemuan,
Encounter Impression,Tayangan Pertemuan,
In print,Di cetak,
Medical Coding,Pengkodean medis,
Procedures,Prosedur,
Review Details,Rincian ulasan,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Spouse,Pasangan,
Family,Keluarga,
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,
Collected Time,Waktu yang Dikumpulkan,
No. of print,Jumlah cetak,
Sensitivity Test Items,Item Uji Sensitivitas,
Special Test Items,Item Uji Khusus,
Particulars,Particulars,
Special Test Template,Template Uji Khusus,
Result Component,Komponen Hasil,
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,
Additional Salary,Gaji Tambahan,
HR,HR,
HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
Salary Component,Komponen gaji,
Overwrite Salary Structure Amount,Timpa Jumlah Struktur Gaji,
Deduct Full Tax on Selected Payroll Date,Pengurangan Pajak Penuh pada Tanggal Penggajian Terpilih,
Payroll Date,Tanggal Pembayaran,
Date on which this component is applied,Tanggal komponen ini diterapkan,
Salary Slip,Slip Gaji,
Salary Component Type,Tipe Komponen Gaji,
HR User,HR Pengguna,
Appointment Letter,Surat Pengangkatan,
Job Applicant,Pemohon Kerja,
Applicant Name,Nama Pemohon,
Appointment Date,Tanggal Pengangkatan,
Appointment Letter Template,Templat Surat Pengangkatan,
Body,Tubuh,
Closing Notes,Catatan Penutup,
Appointment Letter content,Isi Surat Pengangkatan,
Appraisal,Penilaian,
HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
Appraisal Template,Template Penilaian,
For Employee Name,Untuk Nama Karyawan,
Goals,tujuan,
Calculate Total Score,Hitung Total Skor,
Total Score (Out of 5),Skor Total (Out of 5),
"Any other remarks, noteworthy effort that should go in the records.","Setiap komentar lain, upaya penting yang harus pergi dalam catatan.",
Appraisal Goal,Penilaian Pencapaian,
Key Responsibility Area,Key Responsibility area,
Weightage (%),Weightage (%),
Score (0-5),Skor (0-5),
Score Earned,Skor Earned,
Appraisal Template Title,Judul Template Penilaian,
Appraisal Template Goal,Template Target Penilaian Pencapaian,
KRA,KRA,
Key Performance Area,Area Kinerja Kunci,
HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
On Leave,Sedang cuti,
Work From Home,Bekerja dari rumah,
Leave Application,Aplikasi Cuti,
Attendance Date,Tanggal Kehadiran,
Attendance Request,Permintaan Kehadiran,
Late Entry,Entri Terlambat,
Early Exit,Keluar awal,
Half Day Date,Tanggal Setengah Hari,
On Duty,Sedang bertugas,
Explanation,Penjelasan,
Compensatory Leave Request,Permintaan Tinggalkan Kompensasi,
Leave Allocation,Alokasi Cuti,
Worked On Holiday,Bekerja Pada Hari Libur,
Work From Date,Bekerja Dari Tanggal,
Work End Date,Tanggal Akhir Pekerjaan,
Select Users,Pilih Pengguna,
Send Emails At,Kirim Email pada,
Reminder,Peringatan,
Daily Work Summary Group User,Pengguna Grup Ringkasan Pekerjaan Harian,
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 Approvers,Approval Cuti,
Leave Approver,Approver Cuti,
The first Leave Approver in the list will be set as the default Leave Approver.,The Leave Approver pertama dalam daftar akan ditetapkan sebagai Default Leave Approver.,
Expense Approvers,Aplaus Beban,
Expense Approver,Approver Klaim Biaya,
The first Expense Approver in the list will be set as the default Expense Approver.,Expense Approver pertama dalam daftar akan ditetapkan sebagai Approver Approver default.,
Department Approver,Persetujuan Departemen,
Approver,Approver,
Required Skills,Keterampilan yang Dibutuhkan,
Skills,Keterampilan,
Designation Skill,Keterampilan Penunjukan,
Skill,Ketrampilan,
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,
Leave Policy,Tinggalkan Kebijakan,
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 Details,Detail Gaji,
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,
Exit Interview Details,Detail Exit Interview,
Held On,Diadakan Pada,
Reason for Resignation,Alasan pengunduran diri,
Better Prospects,Prospek yang Lebih Baik,
Health Concerns,Kekhawatiran Kesehatan,
New Workplace,Tempat Kerja Baru,
HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
Due Advance Amount,Jumlah Uang Muka Sebelumnya,
Returned Amount,Jumlah yang dikembalikan,
Claimed,Diklaim,
Advance Account,Uang muka,
Employee Attendance Tool,Alat Absensi Karyawan,
Unmarked Attendance,Kehadiran non-absen,
Employees HTML,Karyawan HTML,
Marked Attendance,Absensi Terdaftar,
Marked Attendance HTML,Kehadiran ditandai HTML,
Employee Benefit Application,Aplikasi Manfaat Karyawan,
Max Benefits (Yearly),Manfaat Maks (Tahunan),
Remaining Benefits (Yearly),Manfaat Tersisa (Tahunan),
Payroll Period,Periode Penggajian,
Benefits Applied,Manfaat Diterapkan,
Dispensed Amount (Pro-rated),Jumlah Dispensing (Pro-rated),
Employee Benefit Application Detail,Detail Aplikasi Tunjangan Pegawai,
Earning Component,Komponen Penghasilan,
Pay Against Benefit Claim,Membayar Terhadap Klaim Manfaat,
Max Benefit Amount,Jumlah Manfaat Maks,
Employee Benefit Claim,Klaim Manfaat Karyawan,
Claim Date,Tanggal Klaim,
Benefit Type and Amount,Jenis dan Jumlah Manfaat,
Claim Benefit For,Manfaat Klaim Untuk,
Max Amount Eligible,Jumlah Maksimal Memenuhi Syarat,
Expense Proof,Bukti Biaya,
Employee Boarding Activity,Aktivitas Boarding Karyawan,
Activity Name,Nama Kegiatan,
Task Weight,tugas Berat,
Required for Employee Creation,Diperlukan untuk Penciptaan Karyawan,
Applicable in the case of Employee Onboarding,Berlaku dalam kasus Employee Onboarding,
Employee Checkin,Lapor masuk karyawan,
Log Type,Jenis Log,
OUT,DI LUAR,
Location / Device ID,Lokasi / ID Perangkat,
Skip Auto Attendance,Lewati Kehadiran Otomatis,
Shift Start,Shift Mulai,
Shift End,Shift End,
Shift Actual Start,Pergeseran Mulai Aktual,
Shift Actual End,Pergeseran Akhir Aktual,
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,
Default Salary Structure,Struktur Gaji Default,
Employee Group Table,Tabel Grup Karyawan,
ERPNext User ID,ID Pengguna ERPNext,
Employee Health Insurance,Asuransi Kesehatan Pegawai,
Health Insurance Name,Nama Asuransi Kesehatan,
Employee Incentive,Insentif Karyawan,
Incentive Amount,Jumlah Insentif,
Employee Internal Work History,Riwayat Kerja Karyawan Internal,
Employee Onboarding,Onboarding Karyawan,
Notify users by email,Beri tahu pengguna melalui email,
Employee Onboarding Template,Template Onboarding Karyawan,
Activities,Kegiatan,
Employee Onboarding Activity,Aktivitas Onboarding Karyawan,
Employee Promotion,Promosi Karyawan,
Promotion Date,Tanggal Promosi,
Employee Promotion Details,Detail Promosi Karyawan,
Employee Promotion Detail,Detail Promosi Karyawan,
Employee Property History,Sejarah Kekayaan Karyawan,
Employee Separation,Pemisahan Karyawan,
Employee Separation Template,Template Pemisahan Karyawan,
Exit Interview Summary,Ringkasan Keluar Wawancara,
Employee Skill,Keterampilan Karyawan,
Proficiency,Kecakapan,
Evaluation Date,Tanggal Evaluasi,
Employee Skill Map,Peta Keterampilan Karyawan,
Employee Skills,Keterampilan Karyawan,
Trainings,Pelatihan,
Employee Tax Exemption Category,Kategori Pembebasan Pajak Karyawan,
Max Exemption Amount,Jumlah Pembebasan Maks,
Employee Tax Exemption Declaration,Deklarasi Pembebasan Pajak Karyawan,
Declarations,Deklarasi,
Total Declared Amount,Total Jumlah Yang Dinyatakan,
Total Exemption Amount,Jumlah Pembebasan Total,
Employee Tax Exemption Declaration Category,Deklarasi Pembebasan Pajak Pengusaha Kategori,
Exemption Sub Category,Sub Kategori Pembebasan,
Exemption Category,Kategori Pembebasan,
Maximum Exempted Amount,Jumlah Pembebasan Maksimum,
Declared Amount,Jumlah yang Dinyatakan,
Employee Tax Exemption Proof Submission,Pengajuan Bukti Pembebasan Pajak Karyawan,
Submission Date,Tanggal penyerahan,
Tax Exemption Proofs,Bukti Pembebasan Pajak,
Total Actual Amount,Jumlah Total Aktual,
Employee Tax Exemption Proof Submission Detail,Pemberitahuan Pembebasan Pajak Karyawan Bukti Pengajuan,
Maximum Exemption Amount,Jumlah Pembebasan Maksimum,
Type of Proof,Jenis Bukti,
Actual Amount,Jumlah sebenarnya,
Employee Tax Exemption Sub Category,Sub Bidang Pembebasan Pajak Pegawai,
Tax Exemption Category,Kategori Pembebasan Pajak,
Employee Training,Pelatihan Pegawai,
Training Date,Tanggal Pelatihan,
Employee Transfer,Transfer Pegawai,
Transfer Date,Tanggal Transfer,
Employee Transfer Details,Detail Transfer Karyawan,
Employee Transfer Detail,Detail Transfer Karyawan,
Re-allocate Leaves,Alokasi Ulang Cuti,
Create New Employee Id,Buat ID Karyawan Baru,
New Employee ID,ID Karyawan Baru,
Employee Transfer Property,Properti Transfer Karyawan,
HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
Expense Taxes and Charges,Pajak Biaya dan Beban,
Total Sanctioned Amount,Jumlah Total Disahkan,
Total Advance Amount,Jumlah Uang Muka Total,
Total Claimed Amount,Jumlah Total Diklaim,
Total Amount Reimbursed,Jumlah Total diganti,
Vehicle Log,kendaraan Log,
Employees Email Id,ID Email Karyawan,
Expense Claim Account,Akun Beban Klaim,
Expense Claim Advance,Klaim Biaya Klaim,
Unclaimed amount,Jumlah yang tidak diklaim,
Expense Claim Detail,Detail Klaim Biaya,
Expense Date,Beban Tanggal,
Expense Claim Type,Tipe Beban Klaim,
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,
HR Settings,Pengaturan Sumber Daya Manusia,
Employee Settings,Pengaturan Karyawan,
Retirement Age,Umur pensiun,
Enter retirement age in years,Memasuki usia pensiun di tahun,
Employee Records to be created by,Rekaman Karyawan yang akan dibuat oleh,
Employee record is created using selected field. ,,
Stop Birthday Reminders,Stop Pengingat Ulang Tahun,
Don't send Employee Birthday Reminders,Jangan Kirim Pengingat Ulang Tahun,
Expense Approver Mandatory In Expense Claim,Expense Approver Mandatory In Expense Claim,
Payroll Settings,Pengaturan Payroll,
Max working hours against Timesheet,Max jam bekerja melawan Timesheet,
Include holidays in Total no. of Working Days,Sertakan Hari Libur di total no. dari Hari Kerja,
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Jika dicentang, total ada. dari Hari Kerja akan mencakup libur, dan ini akan mengurangi nilai Gaji Per Hari",
"If checked, hides and disables Rounded Total field in Salary Slips","Jika dicentang, sembunyikan dan nonaktifkan bidang Rounded Total dalam Slip Gaji",
Email Salary Slip to Employee,Email Slip Gaji ke Karyawan,
Emails salary slip to employee based on preferred email selected in Employee,Surel slip gaji ke karyawan berdasarkan surel utama yang dipilih dalam Karyawan,
Encrypt Salary Slips in Emails,Enkripsi Slip Gaji dalam Email,
"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Slip gaji yang diemailkan ke karyawan akan dilindungi kata sandi, kata sandi akan dibuat berdasarkan kebijakan kata sandi.",
Password Policy,Kebijakan Kata Sandi,
<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Contoh:</b> SAL- {first_name} - {date_of_birth.year} <br> Ini akan menghasilkan kata sandi seperti SAL-Jane-1972,
Leave Settings,Tinggalkan Pengaturan,
Leave Approval Notification Template,Tinggalkan Template Pemberitahuan Persetujuan,
Leave Status Notification Template,Tinggalkan Template Pemberitahuan Status,
Role Allowed to Create Backdated Leave Application,Peran Diizinkan untuk Membuat Aplikasi Cuti Backdated,
Leave Approver Mandatory In Leave Application,Tinggalkan Persetujuan Wajib Di Tinggalkan Aplikasi,
Show Leaves Of All Department Members In Calendar,Tampilkan Cuti Dari Semua Anggota Departemen Dalam Kalender,
Auto Leave Encashment,Encashment Cuti Otomatis,
Restrict Backdated Leave Application,Batasi Aplikasi Cuti Backdated,
Hiring Settings,Pengaturan Perekrutan,
Check Vacancies On Job Offer Creation,Lihat Lowongan Penciptaan Tawaran Kerja,
Identification Document Type,Identifikasi Jenis Dokumen,
Standard Tax Exemption Amount,Jumlah Bebas Pajak Standar,
Taxable Salary Slabs,LABA Gaji Kena Pajak,
Applicant for a Job,Pemohon untuk Lowongan Kerja,
Accepted,Diterima,
Job Opening,Lowongan Pekerjaan,
Cover Letter,Sampul surat,
Resume Attachment,Lanjutkan Lampiran,
Job Applicant Source,Sumber Pemohon Pekerjaan,
Applicant Email Address,Alamat Email Pemohon,
Awaiting Response,Menunggu Respon,
Job Offer Terms,Persyaratan Penawaran Pekerjaan,
Select Terms and Conditions,Pilih Syarat dan Ketentuan,
Printing Details,Detai Print dan Cetak,
Job Offer Term,Job Offer Term,
Offer Term,Penawaran Term,
Value / Description,Nilai / Keterangan,
Description of a Job Opening,Deskripsi dari Lowongan Pekerjaan,
Job Title,Jabatan,
Staffing Plan,Rencana Kepegawaian,
Planned number of Positions,Jumlah Posisi yang direncanakan,
"Job profile, qualifications required etc.","Profil pekerjaan, kualifikasi yang dibutuhkan dll",
HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
Allocation,Alokasi,
New Leaves Allocated,cuti baru Dialokasikan,
Add unused leaves from previous allocations,Tambahkan 'cuti tak terpakai' dari alokasi sebelumnya,
Unused leaves,cuti terpakai,
Total Leaves Allocated,Jumlah cuti Dialokasikan,
Total Leaves Encashed,Total Cuti Yang Diuangkan,
Leave Period,Tinggalkan Periode,
Carry Forwarded Leaves,Carry Leaves Diteruskan,
Apply / Approve Leaves,Terapkan / Menyetujui Cuti,
HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
Leave Balance Before Application,Cuti Saldo Sebelum Aplikasi,
Total Leave Days,Jumlah Cuti Hari,
Leave Approver Name,Nama Approver Cuti,
Follow via Email,Ikuti via Email,
Block Holidays on important days.,Blok Hari Libur pada hari-hari penting.,
Leave Block List Name,Cuti Nama Block List,
Applies to Company,Berlaku untuk Perusahaan,
"If not checked, the list will have to be added to each Department where it has to be applied.","Jika tidak diperiksa, daftar harus ditambahkan ke setiap departemen di mana itu harus diterapkan.",
Block Days,Blok Hari,
Stop users from making Leave Applications on following days.,Menghentikan pengguna dari membuat Aplikasi Leave pada hari-hari berikutnya.,
Leave Block List Dates,Tanggal Blok List Cuti,
Allow Users,Izinkan Pengguna,
Allow the following users to approve Leave Applications for block days.,Izinkan pengguna ini untuk menyetujui aplikasi izin cuti untuk hari yang terpilih(blocked).,
Leave Block List Allowed,Cuti Block List Diizinkan,
Leave Block List Allow,Cuti Block List Izinkan,
Allow User,Izinkan Pengguna,
Leave Block List Date,Tanggal Block List Cuti,
Block Date,Blok Tanggal,
Leave Control Panel,Cuti Control Panel,
Select Employees,Pilih Karyawan,
Employment Type (optional),Jenis Pekerjaan (opsional),
Branch (optional),Cabang (opsional),
Department (optional),Departemen (opsional),
Designation (optional),Penunjukan (opsional),
Employee Grade (optional),Kelas Karyawan (opsional),
Employee (optional),Karyawan (opsional),
Allocate Leaves,Alokasikan Daun,
Carry Forward,Carry Teruskan,
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Silakan pilih Carry Teruskan jika Anda juga ingin menyertakan keseimbangan fiskal tahun sebelumnya cuti tahun fiskal ini,
New Leaves Allocated (In Days),cuti baru Dialokasikan (Dalam Hari),
Allocate,Alokasi,
Leave Balance,Tinggalkan Saldo,
Encashable days,Hari-hari yang bisa dikompresi,
Encashment Amount,Jumlah Pemblokiran,
Leave Ledger Entry,Tinggalkan Entri Buku Besar,
Transaction Name,Nama Transaksi,
Is Carry Forward,Apakah Carry Teruskan,
Is Expired,Kadaluarsa,
Is Leave Without Pay,Apakah Cuti Tanpa Bayar,
Holiday List for Optional Leave,Daftar Liburan untuk Cuti Opsional,
Leave Allocations,Tinggalkan Alokasi,
Leave Policy Details,Tinggalkan Detail Kebijakan,
Leave Policy Detail,Tinggalkan Detail Kebijakan,
Annual Allocation,Alokasi Tahunan,
Leave Type Name,Nama Tipe Cuti,
Max Leaves Allowed,Max Leaves Diizinkan,
Applicable After (Working Days),Setelah Berlaku (Hari Kerja),
Maximum Continuous Days Applicable,Maksimum Berlanjut Hari Berlaku,
Is Optional Leave,Adalah Cuti Opsional,
Allow Negative Balance,Izinkan Saldo Negatif,
Include holidays within leaves as leaves,Sertakan libur dalam cuti cuti,
Is Compensatory,Adalah Kompensasi,
Maximum Carry Forwarded Leaves,Daun Penerusan Maksimum,
Expire Carry Forwarded Leaves (Days),Expire Carry Forwarded Leaves (Days),
Calculated in days,Dihitung dalam hitungan hari,
Encashment,Encashment,
Allow Encashment,Izinkan Penyandian,
Encashment Threshold Days,Hari Ambang Penyandian,
Earned Leave,Mendapatkan cuti,
Is Earned Leave,Adalah Perolehan Cuti,
Earned Leave Frequency,Perolehan Frekuensi Cuti,
Rounding,Pembulatan,
Payroll Employee Detail,Daftar gaji karyawan,
Payroll Frequency,Payroll Frekuensi,
Fortnightly,sekali dua minggu,
Bimonthly,Dua bulan sekali,
Employees,Para karyawan,
Number Of Employees,Jumlah Karyawan,
Employee Details,Detail Karyawan,
Validate Attendance,Validasi Hadir,
Salary Slip Based on Timesheet,Slip Gaji Berdasarkan Daftar Absen,
Select Payroll Period,Pilih Payroll Periode,
Deduct Tax For Unclaimed Employee Benefits,Pengurangan Pajak Untuk Manfaat Karyawan Tidak Diklaim,
Deduct Tax For Unsubmitted Tax Exemption Proof,Kurangi Pajak Untuk Bukti Pembebasan Pajak yang Tidak Diperbolehkan,
Select Payment Account to make Bank Entry,Pilih Account Pembayaran untuk membuat Bank Masuk,
Salary Slips Created,Slip gaji dibuat,
Salary Slips Submitted,Slip Gaji Diserahkan,
Payroll Periods,Periode Penggajian,
Payroll Period Date,Tanggal Periode Penggajian,
Purpose of Travel,Tujuan Perjalanan,
Retention Bonus,Bonus Retensi,
Bonus Payment Date,Tanggal Pembayaran Bonus,
Bonus Amount,Jumlah Bonus,
Abbr,Singkatan,
Depends on Payment Days,Tergantung pada Hari Pembayaran,
Is Tax Applicable,Apakah Pajak itu Berlaku,
Variable Based On Taxable Salary,Variabel Berdasarkan Gaji Kena Pajak,
Round to the Nearest Integer,Membulatkan ke Integer Terdekat,
Statistical Component,Komponen statistik,
"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Jika dipilih, nilai yang ditentukan atau dihitung dalam komponen ini tidak akan berkontribusi pada pendapatan atau deduksi. Namun, nilai itu bisa direferensikan oleh komponen lain yang bisa ditambah atau dikurangkan.",
Flexible Benefits,Manfaat Fleksibel,
Is Flexible Benefit,Apakah Manfaat Fleksibel,
Max Benefit Amount (Yearly),Maksimal Jumlah Manfaat (Tahunan),
Only Tax Impact (Cannot Claim But Part of Taxable Income),Hanya Dampak Pajak (Tidak Dapat Menglaim Tetapi Bagian dari Penghasilan Kena Pajak),
Create Separate Payment Entry Against Benefit Claim,Buat Entri Pembayaran Terpisah Terhadap Klaim Manfaat,
Condition and Formula,Kondisi dan Formula,
Amount based on formula,Jumlah berdasarkan formula,
Formula,Rumus,
Salary Detail,Detil gaji,
Component,Komponen,
Do not include in total,Jangan termasuk secara total,
Default Amount,Jumlah Standar,
Additional Amount,Jumlah tambahan,
Tax on flexible benefit,Pajak atas manfaat fleksibel,
Tax on additional salary,Pajak atas gaji tambahan,
Condition and Formula Help,Kondisi dan Formula Bantuan,
Salary Structure,Struktur Gaji,
Working Days,Hari Kerja,
Salary Slip Timesheet,Daftar Absen Slip Gaji,
Total Working Hours,Jumlah Jam Kerja,
Hour Rate,Nilai per Jam,
Bank Account No.,No Rekening Bank,
Earning & Deduction,Earning & Pengurangan,
Earnings,Pendapatan,
Deductions,Pengurangan,
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,
Total in words,Jumlah kata,
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.,
Salary Component for timesheet based payroll.,Komponen gaji untuk gaji berdasarkan absen.,
Leave Encashment Amount Per Day,Tinggalkan Jumlah Pemblokiran Per Hari,
Max Benefits (Amount),Manfaat Maks (Jumlah),
Salary breakup based on Earning and Deduction.,Gaji perpisahan berdasarkan Produktif dan Pengurangan.,
Total Earning,Total Penghasilan,
Salary Structure Assignment,Penetapan Struktur Gaji,
Shift Assignment,Pergeseran Tugas,
Shift Type,Tipe Shift,
Shift Request,Permintaan Shift,
Enable Auto Attendance,Aktifkan Kehadiran Otomatis,
Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Tandai kehadiran berdasarkan &#39;Checkin Karyawan&#39; untuk Karyawan yang ditugaskan dalam shift ini.,
Auto Attendance Settings,Pengaturan Kehadiran Otomatis,
Determine Check-in and Check-out,Tentukan Check-in dan Check-out,
Alternating entries as IN and OUT during the same shift,Entri bergantian sebagai IN dan OUT selama shift yang sama,
Strictly based on Log Type in Employee Checkin,Ketat berdasarkan pada Jenis Log di Checkin Karyawan,
Working Hours Calculation Based On,Perhitungan Jam Kerja Berdasarkan,
First Check-in and Last Check-out,Check-in Pertama dan Check-out Terakhir,
Every Valid Check-in and Check-out,Setiap check-in dan check-out yang valid,
Begin check-in before shift start time (in minutes),Mulai check-in sebelum waktu mulai shift (dalam menit),
The time before the shift start time during which Employee Check-in is considered for attendance.,Waktu sebelum shift dimulai saat di mana Karyawan Masuk dianggap hadir.,
Allow check-out after shift end time (in minutes),Izinkan check-out setelah waktu akhir shift (dalam menit),
Time after the end of shift during which check-out is considered for attendance.,Waktu setelah akhir shift dimana check-out dipertimbangkan untuk hadir.,
Working Hours Threshold for Half Day,Ambang Batas Jam Kerja untuk Setengah Hari,
Working hours below which Half Day is marked. (Zero to disable),Jam kerja di bawah setengah Hari ditandai. (Nol untuk menonaktifkan),
Working Hours Threshold for Absent,Ambang Jam Kerja untuk Absen,
Working hours below which Absent is marked. (Zero to disable),Jam kerja di bawah ini Absen ditandai. (Nol untuk menonaktifkan),
Process Attendance After,Proses Kehadiran Setelah,
Attendance will be marked automatically only after this date.,Kehadiran akan ditandai secara otomatis hanya setelah tanggal ini.,
Last Sync of Checkin,Sinkronisasi Checkin Terakhir,
Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,Sinkronisasi Keberhasilan Terakhir Yang Diketahui Dari Karyawan Setel ulang ini hanya jika Anda yakin bahwa semua Log disinkronkan dari semua lokasi. Tolong jangan modifikasi ini jika Anda tidak yakin.,
Grace Period Settings For Auto Attendance,Pengaturan Periode Rahmat Untuk Kehadiran Otomatis,
Enable Entry Grace Period,Aktifkan Periode Rahmat Masuk,
Late Entry Grace Period,Periode Rahmat Entri yang Terlambat,
The time after the shift start time when check-in is considered as late (in minutes).,Waktu setelah shift mulai waktu ketika check-in dianggap terlambat (dalam menit).,
Enable Exit Grace Period,Aktifkan Periode Grace Keluar,
Early Exit Grace Period,Periode Grace Keluar Awal,
The time before the shift end time when check-out is considered as early (in minutes).,Waktu sebelum waktu akhir shift ketika check-out dianggap sebagai awal (dalam menit).,
Skill Name,nama skill,
Staffing Plan Details,Detail Rencana Penetapan Staf,
Staffing Plan Detail,Detail Rencana Penetapan Staf,
Total Estimated Budget,Estimasi Total Anggaran,
Vacancies,Lowongan,
Estimated Cost Per Position,Perkiraan Biaya Per Posisi,
Total Estimated Cost,Total Estimasi Biaya,
Current Count,Hitungan Saat Ini,
Current Openings,Bukaan Saat Ini,
Number Of Positions,Jumlah Posisi,
Taxable Salary Slab,Saldo Gaji Kena Pajak,
From Amount,Dari Jumlah,
To Amount,Untuk Jumlah,
Percent Deduction,Pengurangan Persen,
Training Program,Program pelatihan,
Event Status,Status acara,
Has Certificate,Memiliki sertifikat,
Seminar,Seminar,
Theory,Teori,
Workshop,Bengkel,
Conference,Konferensi,
Exam,Ujian,
Internet,Internet,
Self-Study,Belajar sendiri,
Advance,Muka,
Trainer Name,Nama pelatih,
Trainer Email,Email Pelatih,
Attendees,peserta,
Employee Emails,Email Karyawan,
Training Event Employee,Acara Pelatihan Karyawan,
Invited,diundang,
Feedback Submitted,Masukan Dikirim,
Optional,Pilihan,
Training Result Employee,Pelatihan Hasil Karyawan,
Travel Itinerary,Rencana perjalanan,
Travel From,Perjalanan Dari,
Travel To,Perjalanan Ke,
Mode of Travel,Mode Perjalanan,
Flight,Penerbangan,
Train,Melatih,
Taxi,Taksi,
Rented Car,Mobil sewaan,
Meal Preference,Preferensi Makanan,
Vegetarian,Vegetarian,
Non-Vegetarian,Bukan vegetarian,
Gluten Free,Bebas gula,
Non Diary,Non Diary,
Travel Advance Required,Diperlukan Advance Travel,
Departure Datetime,Berangkat Datetime,
Arrival Datetime,Tanggal Kedatangan,
Lodging Required,Penginapan Diperlukan,
Preferred Area for Lodging,Area Pilihan untuk Penginapan,
Check-in Date,Tanggal Check-in,
Check-out Date,Tanggal keluar,
Travel Request,Permintaan perjalanan,
Travel Type,Travel Type,
Domestic,Lokal,
International,Internasional,
Travel Funding,Pendanaan Perjalanan,
Require Full Funding,Memerlukan Pendanaan Penuh,
Fully Sponsored,Sepenuhnya Disponsori,
"Partially Sponsored, Require Partial Funding","Sebagian Disponsori, Memerlukan Pendanaan Sebagian",
Copy of Invitation/Announcement,Salinan Undangan / Pengumuman,
"Details of Sponsor (Name, Location)","Rincian Sponsor (Nama, Lokasi)",
Identification Document Number,Nomor Dokumen Identifikasi,
Any other details,Detail lainnya,
Costing Details,Detail Biaya,
Costing,Biaya,
Event Details,detail acara,
Name of Organizer,Nama Penyelenggara,
Address of Organizer,Alamat Organizer,
Travel Request Costing,Biaya Permintaan Perjalanan,
Expense Type,Jenis Pengeluaran,
Sponsored Amount,Jumlah Sponsor,
Funded Amount,Jumlah yang Didanai,
Upload Attendance,Unggah Kehadiran,
Attendance From Date,Absensi Kehadiran dari Tanggal,
Attendance To Date,Kehadiran Sampai Tanggal,
Get Template,Dapatkan Template,
Import Attendance,Impor Absensi,
Upload HTML,Unggah HTML,
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,
HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
Odometer Reading,Pembacaan odometer,
Current Odometer value ,Nilai Odometer saat ini,
last Odometer Value ,Nilai Odometer terakhir,
Refuelling Details,Detail Pengisian,
Invoice Ref,faktur Ref,
Service Details,Rincian layanan,
Service Detail,layanan Detil,
Vehicle Service,Layanan kendaraan,
Service Item,layanan Barang,
Brake Oil,Minyak Rem,
Brake Pad,Bantalan Rem,
Clutch Plate,clutch Plat,
Engine Oil,Oli mesin,
Oil Change,Ganti oli,
Inspection,Inspeksi,
Mileage,Jarak tempuh,
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,
Member,Anggota,
Partially Disbursed,sebagian Dicairkan,
Loan Closure Requested,Penutupan Pinjaman Diminta,
Repay From Salary,Membayar dari Gaji,
Loan Details,Detail pinjaman,
Loan Type,Jenis pinjaman,
Loan Amount,Jumlah pinjaman,
Is Secured Loan,Apakah Pinjaman Terjamin,
Rate of Interest (%) / Year,Tingkat bunga (%) / Tahun,
Disbursement Date,pencairan Tanggal,
Disbursed Amount,Jumlah yang Dicairkan,
Is Term Loan,Apakah Term Loan,
Repayment Method,Metode pembayaran,
Repay Fixed Amount per Period,Membayar Jumlah Tetap per Periode,
Repay Over Number of Periods,Membayar Lebih dari Jumlah Periode,
Repayment Period in Months,Periode pembayaran di Bulan,
Monthly Repayment Amount,Bulanan Pembayaran Jumlah,
Repayment Start Date,Tanggal Mulai Pembayaran Kembali,
Loan Security Details,Detail Keamanan Pinjaman,
Maximum Loan Value,Nilai Pinjaman Maksimal,
Account Info,Info akun,
Loan Account,Rekening Pinjaman,
Interest Income Account,Akun Pendapatan Bunga,
Penalty Income Account,Akun Penghasilan Denda,
Repayment Schedule,Jadwal pembayaran,
Total Payable Amount,Jumlah Total Hutang,
Total Principal Paid,Total Pokok yang Dibayar,
Total Interest Payable,Total Utang Bunga,
Total Amount Paid,Jumlah Total yang Dibayar,
Loan Manager,Manajer Pinjaman,
Loan Info,Info kredit,
Rate of Interest,Tingkat Tujuan,
Proposed Pledges,Janji yang Diusulkan,
Maximum Loan Amount,Maksimum Jumlah Pinjaman,
Repayment Info,Info pembayaran,
Total Payable Interest,Total Utang Bunga,
Loan Interest Accrual,Bunga Kredit Akrual,
Amounts,Jumlah,
Pending Principal Amount,Jumlah Pokok Tertunda,
Payable Principal Amount,Jumlah Pokok Hutang,
Process Loan Interest Accrual,Memproses Bunga Pinjaman Akrual,
Regular Payment,Pembayaran Reguler,
Loan Closure,Penutupan Pinjaman,
Payment Details,Rincian Pembayaran,
Interest Payable,Hutang bunga,
Amount Paid,Jumlah Dibayar,
Principal Amount Paid,Jumlah Pokok yang Dibayar,
Loan Security Name,Nama Keamanan Pinjaman,
Loan Security Code,Kode Keamanan Pinjaman,
Loan Security Type,Jenis Keamanan Pinjaman,
Haircut %,Potongan rambut%,
Loan  Details,Rincian Pinjaman,
Unpledged,Tidak dijanjikan,
Pledged,Dijanjikan,
Partially Pledged,Diagunkan Sebagian,
Securities,Efek,
Total Security Value,Nilai Keamanan Total,
Loan Security Shortfall,Kekurangan Keamanan Pinjaman,
Loan ,Pinjaman,
Shortfall Time,Waktu Kekurangan,
America/New_York,America / New_York,
Shortfall Amount,Jumlah Shortfall,
Security Value ,Nilai Keamanan,
Process Loan Security Shortfall,Proses Kekurangan Keamanan Pinjaman,
Loan To Value Ratio,Rasio Pinjaman Terhadap Nilai,
Unpledge Time,Unpledge Time,
Unpledge Type,Jenis tidak dijamin,
Loan Name,pinjaman Nama,
Rate of Interest (%) Yearly,Tingkat bunga (%) Tahunan,
Penalty Interest Rate (%) Per Day,Tingkat Bunga Penalti (%) Per Hari,
Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Suku Bunga Denda dikenakan pada jumlah bunga tertunda setiap hari jika terjadi keterlambatan pembayaran,
Grace Period in Days,Periode Rahmat dalam hitungan Hari,
Pledge,Janji,
Post Haircut Amount,Posting Jumlah Potong Rambut,
Update Time,Perbarui Waktu,
Proposed Pledge,Usulan Ikrar,
Total Payment,Total pembayaran,
Balance Loan Amount,Saldo Jumlah Pinjaman,
Is Accrued,Dikumpulkan,
Salary Slip Loan,Pinjaman Saldo Gaji,
Loan Repayment Entry,Entri Pembayaran Pinjaman,
Sanctioned Loan Amount,Jumlah Pinjaman Yang Diberi Sanksi,
Sanctioned Amount Limit,Batas Jumlah Yang Diberi Sanksi,
Unpledge,Tidak ada janji,
Against Pledge,Melawan Ikrar,
Haircut,Potong rambut,
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,
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,
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,
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,
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,
Allow multiple Material Consumption against a Work Order,Perbolehkan beberapa Konsumsi Material terhadap Perintah Kerja,
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,
Plan time logs outside Workstation Working Hours.,Rencana waktu log luar Jam Kerja Workstation.,
Allow Production on Holidays,Izinkan Produksi di hari libur,
Capacity Planning For (Days),Perencanaan Kapasitas Untuk (Hari),
Try planning operations for X days in advance.,Coba operasi untuk hari X perencanaan di muka.,
Time Between Operations (in mins),Waktu diantara Operasi (di menit),
Default 10 mins,Standar 10 menit,
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,
Over Production for Sales and Work Order,Kelebihan Produksi untuk Penjualan dan Perintah Kerja,
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,
"Update BOM cost automatically via Scheduler, based on latest valuation rate / price list rate / last purchase rate of raw materials.","Perbarui biaya BOM secara otomatis melalui Penjadwalan, berdasarkan hitungan penilaian / daftar harga / hitungan pembelian bahan baku terakhir.",
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,
Non Profit Member,Anggota nirlaba,
Membership Status,Status Keanggotaan,
Member Since,Anggota Sejak,
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,
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,
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,
Costing and Billing,Biaya dan Penagihan,
Total Costing Amount (via Timesheets),Total Costing Amount (melalui Timesheets),
Total Expense Claim (via Expense Claims),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 Timesheets),Total Jumlah yang Dapat Ditagih (via Timesheets),
Total Billed Amount (via Sales Invoices),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,
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 Time Sheet),Aktual Mulai Tanggal (via Waktu Lembar),
Actual Time (in hours),Waktu Aktual (dalam Jam),
Actual End Date (via Time Sheet),Tanggal Akhir Aktual (dari Lembar Waktu),
Total Costing Amount (via Time Sheet),Total Costing Jumlah (via Waktu Lembar),
Total Expense Claim (via Expense Claim),Jumlah Klaim Beban (via Beban Klaim),
Total Billing Amount (via Time Sheet),Jumlah Total Penagihan (via Waktu Lembar),
Review Date,Tanggal Ulasan,
Closing Date,Tanggal Penutupan,
Task Depends On,Tugas Tergantung Pada,
Task Type,Jenis Tugas,
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,
January-April-July-October,Januari-April-Juli-Oktober,
Revision and Revised On,Revisi dan Revisi Aktif,
Revision,Revisi,
Revised On,Direvisi Aktif,
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,
May,Mei,
June,Juni,
July,Juli,
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.,
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,
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 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,
POS Closing Voucher,Voucher Penutupan POS,
Period Start Date,Tanggal Mulai Periode,
Period End Date,Tanggal Akhir Masa,
Cashier,Kasir,
Expense Details,Rincian Biaya,
Expense Amount,Jumlah Biaya,
Amount in Custody,Jumlah dalam Penahanan,
Total Collected Amount,Jumlah Yang Dikumpulkan Total,
Difference,Perbedaan,
Modes of Payment,Mode Pembayaran,
Linked Invoices,Faktur Tertaut,
Sales Invoices Summary,Ringkasan Penjualan Faktur,
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,
POS Closing Voucher Taxes,Pajak Voucher Penutupan POS,
"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,
Auto close Opportunity after 15 days,Auto Peluang dekat setelah 15 hari,
Default Quotation Validity Days,Hari Validasi Kutipan Default,
Sales Order Required,Nota Penjualan Diperlukan,
Delivery Note Required,Nota Pengiriman Diperlukan,
Sales Update Frequency,Frekuensi Pembaruan Penjualan,
How often should project and company be updated based on Sales Transactions.,Seberapa sering proyek dan perusahaan harus diperbarui berdasarkan Transaksi Penjualan.,
Each Transaction,Setiap Transaksi,
Allow user to edit Price List Rate in transactions,Izinkan user/pengguna untuk mengubah rate daftar harga di dalam transaksi,
Allow multiple Sales Orders against a Customer's Purchase Order,Memungkinkan beberapa Order Penjualan terhadap Order Pembelian dari Pelanggan,
Validate Selling Price for Item against Purchase Rate or Valuation Rate,Memvalidasi Harga Jual untuk Item terhadap Purchase Rate atau Tingkat Penilaian,
Hide Customer's Tax Id from Sales Transactions,Menyembunyikan Id Pajak Nasabah Transaksi Penjualan,
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,
Standard Working Hours,Jam Kerja Standar,
Default Selling Terms,Ketentuan Penjualan Default,
Default Buying Terms,Ketentuan Pembelian Default,
Default warehouse for Sales Return,Gudang default untuk Pengembalian Penjualan,
Create Chart Of Accounts Based On,Buat Bagan Akun berbasis pada,
Standard Template,Template standar,
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,
Purchase Orders Items Overdue,Item Pesanan Pembelian terlambat,
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,
Select Transaction,Pilih Transaksi,
Help HTML,Bantuan HTML,
Series List for this Transaction,Daftar Series Transaksi ini,
User must always select,Pengguna harus selalu pilih,
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Periksa ini jika Anda ingin untuk memaksa pengguna untuk memilih seri sebelum menyimpan. Tidak akan ada default jika Anda memeriksa ini.,
Update Series,Perbarui Seri,
Change the starting / current sequence number of an existing series.,Mengubah mulai / nomor urut saat ini dari seri yang ada.,
Prefix,Awalan,
Current Value,Nilai saat ini,
This is the number of the last created transaction with this prefix,Ini adalah jumlah transaksi yang diciptakan terakhir dengan awalan ini,
Update Series Number,Perbarui Nomor Seri,
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 Configure Button,Tampilkan Tombol Konfigurasi,
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 ID,Batch ID,
Parent Batch,Induk induk,
Manufacturing Date,Tanggal pembuatan,
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,
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.-,
"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,
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,
Valid From ,Valid Dari,
Valid Upto ,Valid Upto,
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.-,
Requested For,Diminta Untuk,
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,
Get Current Stock,Dapatkan Persediaan saat ini,
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,
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,
Send to Warehouse,Kirim ke Gudang,
Receive at Warehouse,Terima di Gudang,
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,
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 diijinkan untuk menerima atau memberikan lebih terhadap kuantitas memerintahkan. Misalnya: Jika Anda telah memesan 100 unit. dan Tunjangan Anda adalah 10% maka Anda diperbolehkan untuk menerima 110 unit.,
Action if Quality inspection is not submitted,Tindakan jika Pemeriksaan mutu tidak diajukan,
Show Barcode Field,Tampilkan Barcode Lapangan,
Convert Item Description to Clean HTML,Mengkonversi Deskripsi Item untuk Bersihkan HTML,
Auto insert Price List rate if missing,Insert auto tingkat Daftar Harga jika hilang,
Allow Negative Stock,Izinkan persediaan negatif,
Automatically Set Serial Nos based on FIFO,Nomor Seri Otomatis berdasarkan FIFO,
Set Qty in Transactions based on Serial No Input,Tentukan Qty dalam Transaksi berdasarkan Serial No Input,
Auto Material Request,Permintaan Material Otomatis,
Raise Material Request when stock reaches re-order level,Munculkan Permintaan Material ketika persediaan mencapai tingkat pesan ulang,
Notify by Email on creation of automatic Material Request,Beritahu melalui Surel pada pembuatan Permintaan Material otomatis,
Freeze Stock Entries,Bekukan Entri Persediaan,
Stock Frozen Upto,Stock Frozen Upto,
Freeze Stocks Older Than [Days],Bekukan Persediaan Lebih Lama Dari [Hari],
Role Allowed to edit frozen stock,Peran diizinkan mengedit persediaan dibekukan,
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,
"If blank, parent Warehouse Account or company default will be considered","Jika kosong, Akun Gudang induk atau standar perusahaan akan dipertimbangkan",
Warehouse Contact Info,Info Kontak Gudang,
PIN,PIN,
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,
Service Level Agreement Fulfilled,Perjanjian Tingkat Layanan Terpenuhi,
Ongoing,Sedang berlangsung,
Resolution By,Resolusi oleh,
Resolution By Variance,Resolusi oleh Varians,
Service Level Agreement Creation,Pembuatan Perjanjian Tingkat Layanan,
Mins to First Response,Menit untuk Respon Pertama,
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,
Holiday List (ignored during SLA calculation),Daftar Liburan (diabaikan selama perhitungan SLA),
Default Priority,Prioritas Default,
Response and Resoution Time,Waktu Respon dan Resoution,
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,
Response Time,Waktu merespon,
Response Time Period,Periode Waktu Respons,
Resolution Time,Waktu resolusi,
Resolution Time Period,Periode 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,
Bank Remittance,Remitansi 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,
Daily Work Summary Replies,Ringkasan Ringkasan Pekerjaan 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,
Department Analytics,Analisis Departemen,
Electronic Invoice Register,Daftar Faktur Elektronik,
Employee Advance Summary,Ringkasan Uang Muka Karyawan,
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,
Employees working on a holiday,Karyawan yang bekerja pada hari libur,
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,
Project Quantity,proyek Kuantitas,
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 Id,Id Prospek,
Lead Owner Efficiency,Efisiensi Pemilik Prospek,
Loan Repayment and Closure,Pembayaran dan Penutupan Pinjaman,
Loan Security Status,Status Keamanan Pinjaman,
Lost Opportunity,Peluang Hilang,
Maintenance Schedules,Jadwal pemeliharaan,
Material Requests for which Supplier Quotations are not created,Permintaan Material yang Supplier Quotation tidak diciptakan,
Minutes to First Response for Issues,Menit ke Response Pertama untuk Masalah,
Minutes to First Response for Opportunity,Menit ke Response Pertama untuk Peluang,
Monthly Attendance Sheet,Lembar Kehadiran Bulanan,
Open Work Orders,Buka Perintah Kerja,
Ordered Items To Be Billed,Item Pesanan Tertagih,
Ordered Items To Be Delivered,Ordered Items Akan Terkirim,
Qty to Deliver,Kuantitas Pengiriman,
Amount to Deliver,Jumlah untuk Dikirim,
Item Delivery Date,Tanggal Pengiriman Barang,
Delay Days,Tunda hari,
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 Persediaan menurut Proyek,
Prospects Engaged But Not Converted,Prospek Terlibat Tapi Tidak Dikonversi,
Purchase Analytics,Pembelian Analytics,
Purchase Invoice Trends,Pembelian Faktur Trends,
Purchase Order Items To Be Billed,Purchase Order Items Akan Ditagih,
Purchase Order Items To Be Received,Order Pembelian Stok Barang Akan Diterima,
Qty to Receive,Kuantitas untuk diterima,
Purchase Order Items To Be Received or Billed,Beli Barang Pesanan Yang Akan Diterima atau Ditagih,
Base Amount,Jumlah dasar,
Received Qty Amount,Menerima Jumlah Jumlah,
Amount to Receive,Jumlah yang Diterima,
Amount To Be Billed,Jumlah Yang Akan Ditagih,
Billed Qty,Jumlah Tagihan,
Qty To Be Billed,Qty To Be Billed,
Purchase Order Trends,Trend Order Pembelian,
Purchase Receipt Trends,Tren Nota Penerimaan,
Purchase Register,Register Pembelian,
Quotation Trends,Trend Penawaran,
Quoted Item Comparison,Perbandingan Produk/Barang yang ditawarkan,
Received Items To Be Billed,Produk Diterima Akan Ditagih,
Requested Items To Be Ordered,Produk Diminta Akan Memerintahkan,
Qty to Order,Kuantitas untuk diorder,
Requested Items To Be Transferred,Permintaan Produk Akan Ditransfer,
Qty to Transfer,Kuantitas untuk ditransfer,
Salary Register,Register Gaji,
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,
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,
Unpaid Expense Claim,Tunggakan Beban Klaim,
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,
