"""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,
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 transferred for this Work Order.,Semua item telah ditransfer untuk Perintah Kerja ini.,
All other ITC,Semua ITC lainnya,
All the mandatory Task for employee creation hasn't been done yet.,Semua Tugas wajib untuk penciptaan karyawan belum selesai.,
Allocate Payment Amount,Alokasikan Jumlah Pembayaran,
Allocated Amount,Jumlah yang dialokasikan,
Allocated Leaves,Cuti Yang Dialokasikan,
Allocating leaves...,Mengalokasikan daun ...,
Already record exists for the item {0},Sudah ada catatan untuk item {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Sudah menetapkan default pada profil pos {0} untuk pengguna {1}, dengan baik dinonaktifkan secara default",
Alternate Item,Item Alternatif,
Alternative item must not be same as item code,Barang alternatif tidak boleh sama dengan kode barang,
Amended From,Diubah Dari,
Amount,Total,
Amount After Depreciation,Jumlah Setelah Penyusutan,
Amount of Integrated Tax,Jumlah Pajak Terpadu,
Amount of TDS Deducted,Jumlah TDS Dikurangkan,
Amount should not be less than zero.,Jumlahnya tidak boleh kurang dari nol.,
Amount to Bill,Nilai Tertagih,
Amount {0} {1} against {2} {3},Jumlah {0} {1} terhadap {2} {3},
Amount {0} {1} deducted against {2},Jumlah {0} {1} dipotong terhadap {2},
Amount {0} {1} transferred from {2} to {3},Jumlah {0} {1} ditransfer dari {2} untuk {3},
Amount {0} {1} {2} {3},Jumlah {0} {1} {2} {3},
Amt,Amt,
"An Item Group exists with same name, please change the item name or rename the item group","Item Grup ada dengan nama yang sama, ubah nama item atau mengubah nama kelompok Stok Barang",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Istilah akademik dengan ini &#39;Tahun Akademik&#39; {0} dan &#39;Nama Term&#39; {1} sudah ada. Harap memodifikasi entri ini dan coba lagi.,
An error occurred during the update process,Kesalahan terjadi selama proses pembaruan,
"An item exists with same name ({0}), please change the item group name or rename the item","Sebuah item yang ada dengan nama yang sama ({0}), silakan mengubah nama kelompok Stok Barang atau mengubah nama item",
Analyst,Analis,
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 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 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 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,
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 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 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 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.,
Defaults,Standar,
Defense,Pertahanan,
Define Project type.,Tentukan jenis Proyek.,
Define budget for a financial year.,Tentukan anggaran untuk tahun keuangan.,
Define various loan types,Mendefinisikan berbagai jenis pinjaman,
Del,Del,
Delay in payment (Days),Keterlambatan pembayaran (Hari),
Delete all the Transactions for this Company,Hapus semua Transaksi untuk Perusahaan ini,
Deletion is not permitted for country {0},Penghapusan tidak diizinkan untuk negara {0},
Delivered,Dikirim,
Delivered Amount,Jumlah Telah Terikirim,
Delivered Qty,Qty Terkirim,
Delivered: {0},Terkirim: {0},
Delivery,Pengiriman,
Delivery Date,Tanggal pengiriman,
Delivery Note,Nota Pengiriman,
Delivery Note {0} is not submitted,Nota pengiriman {0} tidak Terkirim,
Delivery Note {0} must not be submitted,Pengiriman Note {0} tidak boleh Terkirim,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Catatan pengiriman {0} harus dibatalkan sebelum membatalkan Sales Order ini,
Delivery Notes {0} updated,Catatan Pengiriman {0} diperbarui,
Delivery Status,Status Pengiriman,
Delivery Trip,Perjalanan Pengiriman,
Delivery warehouse required for stock item {0},Gudang pengiriman diperlukan untuk persediaan barang {0},
Department,Departemen,
Department Stores,Departmen Store,
Depreciation,Penyusutan,
Depreciation Amount,penyusutan Jumlah,
Depreciation Amount during the period,Penyusutan Jumlah selama periode tersebut,
Depreciation Date,penyusutan Tanggal,
Depreciation Eliminated due to disposal of assets,Penyusutan Dieliminasi karena pelepasan aset,
Depreciation Entry,penyusutan Masuk,
Depreciation Method,Metode Penyusutan,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Baris Depresiasi {0}: Tanggal Mulai Penyusutan dimasukkan sebagai tanggal terakhir,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Baris Penyusutan {0}: Nilai yang diharapkan setelah masa manfaat harus lebih besar dari atau sama dengan {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Depreciation Row {0}: Next Depreciation Date tidak boleh sebelum Tersedia-untuk-digunakan Tanggal,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Depreciation Row {0}: Next Depreciation Date tidak boleh sebelum Tanggal Pembelian,
Designer,Perancang,
Detailed Reason,Alasan terperinci,
Details,Penjelasan,
Details of Outward Supplies and inward supplies liable to reverse charge,Rincian Persediaan Keluar dan persediaan ke dalam bertanggung jawab untuk membalikkan biaya,
Details of the operations carried out.,Rincian operasi yang dilakukan.,
Diagnosis,Diagnosa,
Did not find any item called {0},Tidak menemukan item yang disebut {0},
Diff Qty,Qty Diff,
Difference Account,Perbedaan Akun,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Akun Perbedaan harus jenis rekening Aset / Kewajiban, karena Rekonsiliasi Persediaan adalah Entri Pembukaan",
Difference Amount,Jumlah Perbedaan,
Difference Amount must be zero,Perbedaan Jumlah harus nol,
Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,UOM berbeda akan menyebabkan kesalahan Berat Bersih (Total). Pastikan Berat Bersih untuk setiap barang memakai UOM yang sama.,
Direct Expenses,Beban Langsung,
Direct Income,Pendapatan Langsung,
Disable,Nonaktifkan,
Disabled template must not be default template,Template cacat tidak harus template default,
Disburse Loan,Pinjaman Pinjaman,
Disbursed,Dicairkan,
Disc,Cakram,
Discharge,Melepaskan,
Discount,Diskon,
Discount Percentage can be applied either against a Price List or for all Price List.,Persentase Diskon dapat diterapkan baik terhadap Daftar Harga atau untuk semua List Price.,
Discount must be less than 100,Diskon harus kurang dari 100,
Diseases & Fertilizers,Penyakit &amp; Pupuk,
Dispatch,Pengiriman,
Dispatch Notification,Pemberitahuan Pengiriman,
Dispatch State,Negara Pengiriman,
Distance,Jarak,
Distribution,Distribusi,
Distributor,Distributor,
Dividends Paid,Dividen Dibagi,
Do you really want to restore this scrapped asset?,Apakah Anda benar-benar ingin mengembalikan aset dibuang ini?,
Do you really want to scrap this asset?,Apakah Anda benar-benar ingin membatalkan aset ini?,
Do you want to notify all the customers by email?,Apakah Anda ingin memberi tahu semua pelanggan melalui email?,
Doc Date,Tanggal Dokumen,
Doc Name,Doc Nama,
Doc Type,Doc Type,
Docs Search,Pencarian Docs,
Document Name,Dokumen Nama,
Document Status,Dokumen Status,
Document Type,Jenis Dokumen,
Domain,Domain,
Domains,Domain,
Done,Matang,
Donor,Donatur,
Donor Type information.,Informasi Jenis Donor.,
Donor information.,Informasi donor,
Download JSON,Unduh JSON,
Draft,Draf,
Drop Ship,Pengiriman Drop Ship,
Drug,Obat,
Due / Reference Date cannot be after {0},Karena / Referensi Tanggal tidak boleh setelah {0},
Due Date cannot be before Posting / Supplier Invoice Date,Tanggal Jatuh Tempo tidak boleh sebelum Posting / Tanggal Faktur Pemasok,
Due Date is mandatory,Due Date adalah wajib,
Duplicate Entry. Please check Authorization Rule {0},Gandakan entri. Silakan periksa Peraturan Otorisasi {0},
Duplicate Serial No entered for Item {0},Gandakan Serial ada dimasukkan untuk Item {0},
Duplicate customer group found in the cutomer group table,kelompok pelanggan duplikat ditemukan di tabel kelompok cutomer,
Duplicate entry,Entri Ganda/Duplikat,
Duplicate item group found in the item group table,Kelompok barang duplikat yang ditemukan dalam tabel grup item,
Duplicate roll number for student {0},Nomor pengguliran duplikat untuk siswa {0},
Duplicate row {0} with same {1},Baris duplikat {0} dengan sama {1},
Duplicate {0} found in the table,Duplikat {0} ditemukan dalam tabel,
Duration in Days,Durasi dalam Hari,
Duties and Taxes,Tarif dan Pajak,
E-Invoicing Information Missing,Informasi E-Faktur Tidak Ada,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,Pengaturan ERPN,
Earliest,Paling awal,
Earnest Money,Uang Earnest,
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 {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 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},
Entertainment & Leisure,Hiburan & Kenyamanan,
Entertainment Expenses,Beban Hiburan,
Equity,Modal,
Error Log,Catatan eror,
Error evaluating the criteria formula,Kesalahan dalam mengevaluasi rumus kriteria,
Error in formula or condition: {0},Kesalahan dalam rumus atau kondisi: {0},
Error: Not a valid id?,Kesalahan: Tidak id valid?,
Estimated Cost,Estimasi biaya,
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},
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,
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 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 from ISD,Pasokan ke dalam dari ISD,
Inward supplies liable to reverse charge (other than 1 & 2 above),Persediaan ke dalam bertanggung jawab untuk membalikkan biaya (selain 1 &amp; 2 di atas),
Is Active,Aktif,
Is Default,Apakah default,
Is Existing Asset,Apakah ada Asset,
Is Frozen,Dibekukan,
Is Group,Apakah Group?,
Issue,Masalah / Isu,
Issue Material,Isu Material,
Issued,Diterbitkan,
Issues,Isu,
It is needed to fetch Item Details.,Hal ini diperlukan untuk mengambil Item detail.,
Item,Barang,
Item 1,Item 1,
Item 2,Item 2,
Item 3,Butir 3,
Item 4,Item 4,
Item 5,Butir 5,
Item Cart,Item Cart,
Item Code,Kode Item,
Item Code cannot be changed for Serial No.,Item Code tidak dapat diubah untuk Serial Number,
Item Code required at Row No {0},Item Code dibutuhkan pada Row ada {0},
Item Description,Deskripsi barang,
Item Group,Item Grup,
Item Group Tree,Tree Item Grup,
Item Group not mentioned in item master for item {0},Item Grup tidak disebutkan dalam master Stok Barang untuk item {0},
Item Name,Nama barang,
Item Price added for {0} in Price List {1},Item Harga ditambahkan untuk {0} di Daftar Harga {1},
"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Harga Barang muncul beberapa kali berdasarkan Daftar Harga, Pemasok / Pelanggan, Mata Uang, Item, UOM, Qty dan Tanggal.",
Item Price updated for {0} in Price List {1},Harga Barang diperbarui untuk {0} di Daftar Harga {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Baris Item {0}: {1} {2} tidak ada di atas tabel &#39;{1}&#39;,
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Item Pajak Row {0} harus memiliki akun Pajak jenis atau Penghasilan atau Beban atau Dibebankan,
Item Template,Item Template,
Item Variant Settings,Pengaturan Variasi Item,
Item Variant {0} already exists with same attributes,Item Varian {0} sudah ada dengan atribut yang sama,
Item Variants,Item Varian,
Item Variants updated,Varian Item diperbarui,
Item has variants.,Item memiliki varian.,
Item must be added using 'Get Items from Purchase Receipts' button,Item harus ditambahkan dengan menggunakan 'Dapatkan Produk dari Pembelian Penerimaan' tombol,
Item valuation rate is recalculated considering landed cost voucher amount,Tingkat penilaian Item dihitung ulang mengingat mendarat biaya jumlah voucher,
Item variant {0} exists with same attributes,Item varian {0} ada dengan atribut yang sama,
Item {0} does not exist,Item {0} tidak ada,
Item {0} does not exist in the system or has expired,Item {0} tidak ada dalam sistem atau telah berakhir,
Item {0} has already been returned,Item {0} telah dikembalikan,
Item {0} has been disabled,Item {0} telah dinonaktifkan,
Item {0} has reached its end of life on {1},Item {0} telah mencapai akhir hidupnya pada {1},
Item {0} ignored since it is not a stock item,Barang {0} diabaikan karena bukan barang persediaan,
"Item {0} is a template, please select one of its variants","Item {0} adalah template, silahkan pilih salah satu variannya",
Item {0} is cancelled,Item {0} dibatalkan,
Item {0} is disabled,Item {0} dinonaktifkan,
Item {0} is not a serialized Item,Item {0} bukan merupakan Stok Barang serial,
Item {0} is not a stock Item,Barang {0} bukan merupakan Barang persediaan,
Item {0} is not active or end of life has been reached,Item {0} tidak aktif atau akhir hidup telah tercapai,
Item {0} is not setup for Serial Nos. Check Item master,Stok Barang {0} tidak setup untuk Nomor Seri. Periksa Induk Barang,
Item {0} is not setup for Serial Nos. Column must be blank,Stok Barang {0} tidak diatur untuk Nomor Seri. Kolom harus kosong,
Item {0} must be a Fixed Asset Item,Item {0} harus menjadi Asset barang Tetap,
Item {0} must be a Sub-contracted Item,Item {0} harus Item Sub-kontrak,
Item {0} must be a non-stock item,Barang {0} harus barang non-persediaan,
Item {0} must be a stock Item,Barang {0} harus barang persediaan,
Item {0} not found,Item {0} tidak ditemukan,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Item {0} tidak ditemukan dalam &#39;Bahan Baku Disediakan&#39; tabel dalam Purchase Order {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Item {0}: qty Memerintahkan {1} tidak bisa kurang dari qty minimum order {2} (didefinisikan dalam Butir).,
Item: {0} does not exist in the system,Item: {0} tidak ada dalam sistem,
Items,Items,
Items Filter,Filter Item,
Items and Pricing,Item dan Harga,
Items for Raw Material Request,Item untuk Permintaan Bahan Baku,
Job Card,Kartu Kerja,
Job 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 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,
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,
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 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 Company,Perusahaan Baru,
New Cost Center Name,Baru Nama Biaya Pusat,
New Customer Revenue,Pendapatan Pelanggan Baru,
New Customers,pelanggan baru,
New Department,Departemen baru,
New Employee,Karyawan baru,
New Location,Lokasi baru,
New Quality Procedure,Prosedur Kualitas Baru,
New Sales Invoice,Baru Faktur Penjualan,
New Sales Person Name,Nama baru Sales Person,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,No. Seri baru tidak dapat memiliki Gudang. Gudang harus diatur oleh Entri Persediaan atau Nota Pembelian,
New Warehouse Name,Gudang baru Nama,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},batas kredit baru kurang dari jumlah yang luar biasa saat ini bagi pelanggan. batas kredit harus minimal {0},
New task,Tugas baru,
New {0} pricing rules are created,{0} aturan penetapan harga baru dibuat,
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 available for transfer,Tidak ada item yang tersedia untuk transfer,
No Items selected for transfer,Tidak ada item yang dipilih untuk transfer,
No Items to pack,Tidak ada item untuk dikemas,
No Items with Bill of Materials to Manufacture,Tidak ada Item dengan Bill of Material untuk Industri,
No Items with Bill of Materials.,Tidak Ada Item dengan Bill of Material.,
No Permission,Tidak ada izin,
No 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 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 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 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,
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 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 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,
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,
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 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 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 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 login as another user to register on Marketplace,Harap masuk sebagai pengguna lain untuk mendaftar di Marketplace,
Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,Pastikan Anda benar-benar ingin menghapus semua transaksi untuk perusahaan ini. Data master Anda akan tetap seperti itu. Tindakan ini tidak bisa dibatalkan.,
Please mention Basic and HRA component in Company,Harap sebutkan komponen Dasar dan HRA di Perusahaan,
Please mention Round Off Account in Company,Sebutkan Round Off Akun/ Akun Pembulatan di Perusahaan,
Please mention Round Off Cost Center in Company,Sebutkan Putaran Off Biaya Pusat di Perusahaan,
Please mention no of visits required,Harap menyebutkan tidak ada kunjungan yang diperlukan,
Please mention the Lead Name in Lead {0},Harap sebutkan Nama Prospek di Prospek {0},
Please pull items from Delivery Note,Silakan tarik item dari Pengiriman Note,
Please register the SIREN number in the company information file,Silakan daftar nomor SIREN di file informasi perusahaan,
Please remove this Invoice {0} from C-Form {1},Hapus Invoice ini {0} dari C-Form {1},
Please save the patient first,Tolong simpan pasien dulu,
Please save the report again to rebuild or update,Harap simpan laporan lagi untuk membangun kembali atau memperbarui,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Silakan pilih Jumlah Alokasi, Faktur Jenis dan Faktur Nomor di minimal satu baris",
Please select Apply Discount On,Silakan pilih Terapkan Diskon Pada,
Please select BOM against item {0},Silahkan pilih BOM terhadap item {0},
Please select BOM for Item in Row {0},Silakan pilih BOM untuk Item di Row {0},
Please select BOM in BOM field for Item {0},Silakan pilih BOM BOM di lapangan untuk Item {0},
Please select Category first,Silahkan pilih Kategori terlebih dahulu,
Please select Charge Type first,Silakan pilih Mengisi Tipe terlebih dahulu,
Please select Company,Silakan pilih Perusahaan,
Please select Company and 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 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 field to edit from numpad,Harap pilih bidang yang akan diedit dari numpad,
Please select a table,Silahkan pilih sebuah tabel,
Please select a valid Date,Silakan pilih tanggal yang valid,
Please select a value for {0} quotation_to {1},Silakan pilih nilai untuk {0} quotation_to {1},
Please select a warehouse,Silahkan pilih gudang,
Please select at least one domain.,Pilih setidaknya satu domain.,
Please select correct account,Silakan pilih akun yang benar,
Please select date,Silakan pilih tanggal,
Please select item code,Silahkan pilih kode Stok Barang,
Please select month and year,Silakan pilih bulan dan tahun,
Please select prefix first,Silakan pilih awalan terlebih dahulu,
Please select the Company,Silahkan pilih Perusahaan,
Please select the Multiple Tier Program type for more than one collection rules.,Silakan pilih tipe Program Multi Tier untuk lebih dari satu aturan koleksi.,
Please select the assessment group other than 'All Assessment Groups',Harap pilih kelompok penilaian selain &#39;Semua Kelompok Penilaian&#39;,
Please select the document type first,Silakan pilih jenis dokumen terlebih dahulu,
Please select weekly off day,Silakan pilih dari hari mingguan,
Please select {0},Silahkan pilih {0},
Please select {0} first,Silahkan pilih {0} terlebih dahulu,
Please set 'Apply Additional Discount On',Silahkan mengatur &#39;Terapkan Diskon tambahan On&#39;,
Please set 'Asset Depreciation Cost Center' in Company {0},Silahkan mengatur &#39;Biaya Penyusutan Asset Center di Perusahaan {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Silahkan mengatur &#39;Gain / Loss Account pada Asset Disposal&#39; di Perusahaan {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Setel Akun di Gudang {0} atau Akun Inventaris Default di Perusahaan {1},
Please set B2C Limit in GST Settings.,Harap atur Batas B2C di Setelan GST.,
Please set Company,Harap set Perusahaan,
Please set Company filter blank if Group By is 'Company',Harap tentukan filter Perusahaan jika Group By &#39;Company&#39;,
Please set Default Payroll Payable Account in Company {0},Silahkan mengatur default Payroll Hutang Akun di Perusahaan {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Silahkan mengatur Penyusutan Akun terkait Aset Kategori {0} atau Perusahaan {1},
Please set 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 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 {0} is disabled or does not exist,Daftar Harga {0} dinonaktifkan atau tidak ada,
Price or product discount slabs are required,Diperlukan harga atau potongan diskon produk,
Pricing,Harga,
Pricing Rule,Aturan Harga,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Rule harga terlebih dahulu dipilih berdasarkan 'Terapkan On' lapangan, yang dapat Stok Barang, Stok Barang Grup atau Merek.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Rule harga dibuat untuk menimpa Daftar Harga / mendefinisikan persentase diskon, berdasarkan beberapa kriteria.",
Pricing Rule {0} is updated,Aturan Harga {0} diperbarui,
Pricing Rules are further filtered based on quantity.,Aturan Harga selanjutnya disaring berdasarkan kuantitas.,
Primary Address Details,Rincian Alamat Utama,
Primary Contact Details,Rincian Kontak Utama,
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 not be more than {0},Kuantitas tidak boleh lebih dari {0},
Quantity required for Item {0} in row {1},Kuantitas yang dibutuhkan untuk Item {0} di baris {1},
Quantity should be greater than 0,Kuantitas harus lebih besar dari 0,
Quantity to Make,Kuantitas untuk Membuat,
Quantity to Manufacture must be greater than 0.,Kuantitas untuk Produksi harus lebih besar dari 0.,
Quantity to Produce,Kuantitas untuk Menghasilkan,
Quantity to Produce can not be less than Zero,Kuantitas untuk Menghasilkan tidak boleh kurang dari Nol,
Query Options,Opsi Query,
Queued for replacing the BOM. It may take a few minutes.,Antri untuk mengganti BOM. Mungkin perlu beberapa menit.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,"Diantrikan untuk memperbaharui harga terakhir di ""Bill of Material"". Akan memakan waktu beberapa menit.",
Quick Journal Entry,Jurnal Entry Cepat,
Quot Count,"Jumlah ""Penawaran""",
Quot/Lead %,Penawaran/Prospek %,
Quotation,Penawaran,
Quotation {0} is cancelled,Quotation {0} dibatalkan,
Quotation {0} not of type {1},Penawaran {0} bukan jenis {1},
Quotations,Penawaran,
"Quotations are proposals, bids you have sent to your customers","Penawaran adalah proposal, tawaran yang anda kirim kepada pelanggan",
Quotations received from Suppliers.,Penawaran Diterima dari Supplier,
Quotations: ,Penawaran:,
Quotes to Leads or Customers.,Penawaran terhadap Prospek atau Pelanggan,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ tidak diizinkan untuk {0} karena kartu skor berdiri dari {1},
Range,Jarak,
Rate,Harga,
Rate:,Menilai:,
Rating,penilaian,
Raw Material,Bahan baku,
Raw Materials,Bahan baku,
Raw Materials cannot be blank.,Bahan Baku tidak boleh kosong.,
Re-open,Re-terbuka,
Read blog,Baca blog,
Read the ERPNext Manual,Baca Pedoman ERPNEXT,
Reading Uploaded File,Membaca File yang Diunggah,
Real Estate,Real Estate,
Reason For Putting On Hold,Alasan untuk Puting On Hold,
Reason for Hold,Alasan Penahanan,
Reason for hold: ,Alasan penahanan:,
Receipt,Penerimaan,
Receipt document must be submitted,Dokumen tanda terima harus diserahkan,
Receivable,Piutang,
Receivable Account,Akun Piutang,
Received,Diterima,
Received On,Diterima pada,
Received Quantity,Jumlah yang Diterima,
Received Stock Entries,Entri Saham yang Diterima,
Receiver List is empty. Please create Receiver List,Receiver List kosong. Silakan membuat Receiver List,
Recipients,Penerima,
Reconcile,Rekonsiliasi,
"Record of all communications of type email, phone, chat, visit, etc.","Catatan dari semua komunikasi email, telepon, chatting, kunjungan, dll",
Records,Catatan,
Redirect URL,redirect URL,
Ref,Ref,
Ref Date,Ref Tanggal,
Reference,Referensi,
Reference #{0} dated {1},Referensi # {0} tanggal {1},
Reference Date,Referensi Tanggal,
Reference Doctype must be one of {0},Referensi DOCTYPE harus menjadi salah satu {0},
Reference Document,Dokumen referensi,
Reference Document Type,Tipe Dokumen Referensi,
Reference No & Reference Date is required for {0},Referensi ada & Referensi Tanggal diperlukan untuk {0},
Reference No and Reference Date is mandatory for Bank transaction,Referensi ada dan Tanggal referensi wajib untuk transaksi Bank,
Reference No is mandatory if you entered Reference Date,Referensi ada adalah wajib jika Anda memasukkan Referensi Tanggal,
Reference No.,Nomor referensi.,
Reference Number,Nomor referensi,
Reference 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,
Reports,Laporan,
Reqd By Date,Reqd By Date,
Reqd Qty,Reqd Qty,
Request for Quotation,Permintaan Quotation,
Request for Quotations,Permintaan Kutipan,
Request for Raw Materials,Permintaan Bahan Baku,
Request for purchase.,Form Permintaan pembelian.,
Request for quotation.,Meminta kutipan.,
Requested Qty,Diminta Qty,
"Requested Qty: Quantity requested for purchase, but not ordered.","Diminta Qty: Jumlah yang diminta untuk pembelian, tetapi tidak memerintahkan.",
Requesting Site,Situs yang Meminta,
Requesting payment against {0} {1} for amount {2},Meminta pembayaran terhadap {0} {1} untuk jumlah {2},
Requestor,Pemohon,
Required On,Diperlukan Pada,
Required Qty,Qty Diperlukan,
Required Quantity,Kuantitas yang Diperlukan,
Reschedule,Penjadwalan ulang,
Research,Penelitian,
Research & Development,Penelitian & Pengembangan,
Researcher,Peneliti,
Resend Payment Email,Kirim Ulang Email Pembayaran,
Reserve Warehouse,Gudang Cadangan,
Reserved Qty,Reserved Qty,
Reserved Qty for Production,Dicadangkan Jumlah Produksi,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Jumlah Pesanan untuk Produksi: Jumlah bahan baku untuk membuat barang-barang manufaktur.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Reserved Qty: Jumlah memerintahkan untuk dijual, tapi tidak disampaikan.",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Reserved Warehouse adalah wajib untuk Item {0} dalam Bahan Baku yang disediakan,
Reserved for manufacturing,Dicadangkan untuk manufaktur,
Reserved for sale,Dicadangkan untuk dijual,
Reserved for sub contracting,Dicadangkan untuk sub kontrak,
Resistant,Tahan,
Resolve error and upload again.,Selesaikan kesalahan dan unggah lagi.,
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}: Serial No is mandatory,Row # {0}: Serial ada adalah wajib,
Row # {0}: Serial No {1} does not match with {2} {3},Row # {0}: Serial No {1} tidak sesuai dengan {2} {3},
Row #{0} (Payment Table): Amount must be negative,Baris # {0} (Tabel Pembayaran): Jumlah harus negatif,
Row #{0} (Payment Table): Amount must be positive,Baris # {0} (Tabel Pembayaran): Jumlah harus positif,
Row #{0}: Account {1} does not belong to company {2},Baris # {0}: Akun {1} bukan milik perusahaan {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Baris # {0}: Alokasi Jumlah tidak boleh lebih besar dari jumlah yang terutang.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Row # {0}: Aset {1} tidak dapat disampaikan, itu sudah {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Baris # {0}: Tidak dapat menetapkan Nilai jika jumlahnya lebih besar dari jumlah yang ditagih untuk Item {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Row # {0}: tanggal Jarak {1} tidak bisa sebelum Cek Tanggal {2},
Row #{0}: Duplicate entry in References {1} {2},Baris # {0}: Entri duplikat di Referensi {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Baris # {0}: Tanggal Pengiriman yang diharapkan tidak boleh sebelum Tanggal Pemesanan Pembelian,
Row #{0}: Item added,Baris # {0}: Item ditambahkan,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Row # {0}: Journal Entri {1} tidak memiliki akun {2} atau sudah cocok dengan voucher lain,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Row # {0}: Tidak diperbolehkan untuk mengubah Supplier sebagai Purchase Order sudah ada,
Row #{0}: Please set reorder quantity,Row # {0}: Silakan mengatur kuantitas menyusun ulang,
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Silakan tentukan Serial ada untuk Item {1},
Row #{0}: Qty increased by 1,Baris # {0}: Jumlah bertambah 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Tingkat harus sama dengan {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Baris # {0}: Jenis Dokumen Referensi harus menjadi salah satu Klaim Biaya atau Entri Jurnal,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: Dokumen Referensi Type harus menjadi salah satu Purchase Order, Faktur Pembelian atau Journal Entri",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Baris # {0}: Jumlah yang ditolak tidak dapat dimasukkan dalam Retur Pembelian,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Ditolak Gudang adalah wajib terhadap ditolak Stok Barang {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Baris # {0}: Reqd by Date tidak boleh sebelum Tanggal Transaksi,
Row #{0}: Set Supplier for item {1},Row # {0}: Set Supplier untuk item {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Baris # {0}: Status harus {1} untuk Diskon Faktur {2},
"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches","Baris # {0}: Kumpulan {1} hanya memiliki {2} qty. Silakan pilih batch lain yang memiliki {3} qty available atau membagi baris menjadi beberapa baris, untuk mengirimkan / mengeluarkan dari beberapa batch",
Row #{0}: Timings conflicts with row {1},Row # {0}: konflik Timing dengan baris {1},
Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} tidak bisa menjadi negatif untuk item {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Row ada {0}: Jumlah dapat tidak lebih besar dari Pending Jumlah terhadap Beban Klaim {1}. Pending Jumlah adalah {2},
Row {0} : Operation is required against the raw material item {1},Baris {0}: Operasi diperlukan terhadap item bahan baku {1},
Row {0}# 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}: 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 Results,Hasil Pencarian,
Search Sub Assemblies,Cari Barang Sub Assembly,
"Search by item code, serial number, batch no or barcode","Cari berdasarkan kode barang, nomor seri, no batch atau barcode",
"Seasonality for setting budgets, targets etc.","Musiman untuk menetapkan anggaran, target dll",
Secret Key,Kunci rahasia,
Secretary,Sekretaris,
Section Code,Kode Bagian,
Secured Loans,Pinjaman Aman,
Securities & Commodity Exchanges,Efek & Bursa Komoditi,
Securities and Deposits,Efek Saham dan Deposit,
See All Articles,Lihat Semua Artikel,
See all open tickets,Lihat semua tiket terbuka,
See past orders,Lihat pesanan sebelumnya,
See past quotations,Lihat kutipan sebelumnya,
Select,Pilih,
Select Alternate Item,Pilih Item Alternatif,
Select Attribute Values,Pilih Nilai Atribut,
Select BOM,Pilih BOM,
Select BOM and Qty for Production,Pilih BOM dan Qty untuk Produksi,
"Select BOM, Qty and For Warehouse","Pilih BOM, Jumlah dan Untuk Gudang",
Select Batch,Pilih Batch,
Select Batch Numbers,Pilih Batch Numbers,
Select Brand...,Pilih Merek ...,
Select Company,Pilih Perusahaan,
Select Company...,Pilih Perusahaan ...,
Select Customer,Pilih Pelanggan,
Select Days,Pilih hari,
Select Default Supplier,Pilih Default Pemasok,
Select DocType,Pilih DocType,
Select Fiscal Year...,Pilih Tahun Anggaran ...,
Select Item (optional),Pilih Item (opsional),
Select Items based on Delivery Date,Pilih Item berdasarkan Tanggal Pengiriman,
Select Items to Manufacture,Pilih Produk untuk Industri,
Select Loyalty Program,Pilih Program Loyalitas,
Select Patient,Pilih Pasien,
Select Possible Supplier,Pilih Kemungkinan Pemasok,
Select 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 students manually for the Activity based Group,Pilih siswa secara manual untuk Activity based Group,
Select the customer or supplier.,Pilih pelanggan atau pemasok.,
Select the nature of your business.,Pilih jenis bisnis anda.,
Select the program first,Pilih programnya dulu,
Select to add Serial Number.,Pilih untuk menambahkan Nomor Seri.,
Select your Domains,Pilih Bidang Usaha Anda,
Selected Price List should have buying and selling fields checked.,Daftar Harga yang Dipilih harus memiliki bidang penjualan dan pembelian yang dicentang.,
Sell,Menjual,
Selling,Penjualan,
Selling Amount,Nilai Penjualan,
Selling Price List,Daftar Harga Jual,
Selling Rate,Tingkat penjualan,
"Selling must be checked, if Applicable For is selected as {0}","Jual harus diperiksa, jika Berlaku Untuk dipilih sebagai {0}",
Send Grant Review Email,Kirim Email Peninjauan Donasi,
Send Now,Kirim sekarang,
Send SMS,Kirim SMS,
Send 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 {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 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: ,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,
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,
Supplier,Supplier,
Supplier Group,Grup Pemasok,
Supplier Group master.,Master Grup Pemasok.,
Supplier Id,Supplier Id,
Supplier Invoice Date cannot be greater than Posting Date,Pemasok Faktur Tanggal tidak dapat lebih besar dari Posting Tanggal,
Supplier Invoice No,Nomor Faktur Supplier,
Supplier Invoice No exists in Purchase Invoice {0},Pemasok Faktur ada ada di Purchase Invoice {0},
Supplier Name,Nama Supplier,
Supplier Part No,Pemasok Bagian Tidak,
Supplier Quotation,Supplier Quotation,
Supplier Scorecard,Supplier Scorecard,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Supplier Gudang wajib untuk Pembelian Penerimaan sub-kontrak,
Supplier database.,Database Supplier.,
Supplier {0} not found in {1},Pemasok {0} tidak ditemukan di {1},
Supplier(s),Supplier (s),
Supplies made to UIN holders,Persediaan dibuat untuk pemegang UIN,
Supplies made to Unregistered Persons,Persediaan dibuat untuk Orang Tidak Terdaftar,
Suppliies made to Composition Taxable Persons,Suplemen yang dibuat untuk Komposisi Orang Kena Pajak,
Supply Type,Jenis Suplai,
Support,Support,
Support Analytics,Dukungan Analytics,
Support Settings,Pengaturan Dukungan,
Support Tickets,Tiket Dukungan,
Support queries from customers.,Permintaan dukungan dari pelanggan.,
Susceptible,Rentan,
Sync has been temporarily disabled because maximum retries have been exceeded,Sinkronisasi telah dinonaktifkan sementara karena percobaan ulang maksimum telah terlampaui,
Syntax error in condition: {0},Kesalahan sintaks dalam kondisi: {0},
Syntax error in formula or condition: {0},kesalahan sintaks dalam formula atau kondisi: {0},
System Manager,System Manager,
TDS Rate %,Nilai TDS%,
Tap items to add them here,Ketuk item untuk menambahkannya di sini,
Target,Sasaran,
Target ({}),Target ({}),
Target On,Sasaran On,
Target Warehouse,Target Gudang,
Target warehouse is mandatory for row {0},Target gudang adalah wajib untuk baris {0},
Task,Tugas,
Tasks,Tugas,
Tasks have been created for managing the {0} disease (on row {1}),Tugas telah dibuat untuk mengelola {0} penyakit (pada baris {1}),
Tax,PPN,
Tax Assets,Aset Pajak,
Tax Category,Kategori Pajak,
Tax Category for overriding tax rates.,Kategori Pajak untuk mengesampingkan tarif pajak.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items","Kategori Pajak telah diubah menjadi ""Total"" karena semua barang adalah barang non-persediaan",
Tax ID,Id pajak,
Tax Id: ,Id pajak:,
Tax Rate,Tarif Pajak,
Tax Rule Conflicts with {0},Aturan pajak Konflik dengan {0},
Tax Rule for transactions.,Aturan Pajak untuk transaksi.,
Tax Template is mandatory.,Template pajak adalah wajib.,
Tax Withholding rates to be applied on transactions.,Tarif Pajak Pemotongan yang akan diterapkan pada transaksi.,
Tax template for buying transactions.,Template pajak untuk membeli transaksi.,
Tax template for item tax rates.,Templat pajak untuk tarif pajak barang.,
Tax template for selling transactions.,Template Pajak transaksi penjualan,
Taxable Amount,Jumlah kena pajak,
Taxes,PPN,
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,
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 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 Cost,Perbarui Biaya,
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 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 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} 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} 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,
Email Settings,Pengaturan Email,
Email not sent to {0} (unsubscribed / disabled),Surel tidak dikirim ke {0} (tidak berlangganan / dinonaktifkan),
Error Message,Pesan eror,
Fieldtype,Fieldtype,
Help Articles,Bantuan Artikel,
ID,ID,
Images,Gambar,
Import,Impor,
Language,Bahasa,
Likes,Suka,
Merge with existing,Merger dengan yang ada,
Office,Kantor,
Orientation,Orientasi,
Passive,Pasif,
Percent,Persen,
Permanent,Permanen,
Personal,Pribadi,
Plant,Tanaman,
Post,Post,
Postal,Pos,
Postal Code,kode Pos,
Previous,Kembali,
Provider,Pemberi,
Read Only,Read Only,
Recipient,Penerima,
Reviews,Ulasan,
Sender,Pengirim,
Shop,Toko,
Sign Up,Daftar,
Subsidiary,Anak Perusahaan,
There is some problem with the file url: {0},Ada beberapa masalah dengan url berkas: {0},
There were errors while sending email. Please try again.,Ada kesalahan saat mengirim email. Silakan coba lagi.,
Values Changed,Nilai Berubah,
or,atau,
Ageing Range 4,Rentang Penuaan 4,
Allocated amount cannot be greater than unadjusted amount,Jumlah yang dialokasikan tidak boleh lebih besar dari jumlah yang tidak disesuaikan,
Allocated amount cannot be negative,Jumlah yang dialokasikan tidak boleh negatif,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Akun Selisih harus merupakan akun jenis Aset / Kewajiban, karena Entri Saham ini adalah Entri Pembuka",
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,
API,API,
Annual,Tahunan,
Approved,Disetujui,
Change,Perubahan,
Contact Email,Email Kontak,
Export Type,Jenis ekspor,
From Date,Dari Tanggal,
Group By,Dikelompokkan oleh,
Importing {0} of {1},Mengimpor {0} dari {1},
Invalid URL,URL tidak valid,
Landscape,Pemandangan,
Last Sync On,Sinkron Terakhir Aktif,
Naming Series,Series Penamaan,
No data to export,Tidak ada data untuk diekspor,
Portrait,Potret,
Print Heading,Cetak Pos,
Show Document,Perlihatkan Dokumen,
Show Traceback,Perlihatkan Traceback,
Video,Video,
Webhook Secret,Rahasia Webhook,
% 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 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",
"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,
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,
Fleet Management,Manajemen armada,
Following fields are mandatory to create address:,Bidang-bidang berikut wajib untuk membuat alamat:,
For Month,Untuk Bulan,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Untuk item {0} di baris {1}, hitungan nomor seri tidak sesuai dengan jumlah yang dipilih",
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Untuk operasi {0}: Kuantitas ({1}) tidak dapat lebih baik daripada kuantitas yang menunggu ({2}),
For quantity {0} should not be greater than work order quantity {1},Untuk kuantitas {0} tidak boleh lebih besar dari kuantitas pesanan kerja {1},
Free item not set in the pricing rule {0},Item gratis tidak diatur dalam aturan harga {0},
From Date and To Date are Mandatory,Dari Tanggal dan Sampai Tanggal adalah Wajib,
From employee is required while receiving Asset {0} to a target location,Dari karyawan diperlukan saat menerima Aset {0} ke lokasi target,
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,
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.,
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 Created : {0},Ikrar Keamanan Pinjaman Dibuat: {0},
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:,
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 the designation,Silakan masukkan nama,
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,
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.,
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,
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 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 {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.,
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}).,
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},
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 have to enable auto re-order in Stock Settings to maintain re-order levels.,Anda harus mengaktifkan pemesanan ulang otomatis di Pengaturan Saham untuk mempertahankan tingkat pemesanan ulang.,
You must be a registered supplier to generate e-Way Bill,Anda harus menjadi pemasok terdaftar untuk menghasilkan RUU e-Way,
You need to login as a Marketplace User before you can add any reviews.,Anda harus masuk sebagai Pengguna Marketplace sebelum dapat menambahkan ulasan apa pun.,
Your Featured Items,Item Unggulan Anda,
Your Items,Barang Anda,
Your Profile,Profil kamu,
Your rating:,Rating Anda:,
and,dan,
e-Way Bill already exists for this document,RUU e-Way sudah ada untuk dokumen ini,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Kupon yang digunakan adalah {1}. Kuantitas yang diizinkan habis,
{0} 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}: {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,
Bold,Mencolok,
Center,Pusat,
Clear,Bersih,
Comment,Komentar,
Comments,Komentar,
DocType,DocType,
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,
Source Location is required for the Asset {0},Lokasi Sumber diperlukan untuk Aset {0},
Tax Id,Id pajak,
To Time,Untuk waktu,
To date cannot be before from date,To Date tidak bisa sebelum From Date,
Total Taxable value,Total Nilai Kena Pajak,
Upcoming Calendar Events ,Mendatang Kalender Acara,
Value or Qty,Nilai atau Qty,
Variance ,Perbedaan,
Variant of,Varian Of,
Write off,Mencoret,
hours,jam,
received from,diterima dari,
to,untuk,
Cards,Kartu-kartu,
Percentage,Persentase,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Gagal mengatur default untuk negara {0}. Silakan hubungi support@erpnext.com,
Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Baris # {0}: Item {1} bukan Item Serialized / Batched. Itu tidak dapat memiliki Serial No / Batch No terhadapnya.,
Please set {0},Silakan set {0},
Please set {0},Silakan atur {0},supplier
Draft,Minuman,"docstatus,=,0"
Cancelled,Dibatalkan,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Silakan mengatur Sistem Penamaan Instruktur di Pendidikan&gt; Pengaturan Pendidikan,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Silakan tentukan Seri Penamaan untuk {0} melalui Pengaturan&gt; Pengaturan&gt; Seri Penamaan,
UOM Conversion factor ({0} -> {1}) not found for item: {2},Faktor Konversi UOM ({0} -&gt; {1}) tidak ditemukan untuk item: {2},
Item Code > Item Group > Brand,Kode Barang&gt; Grup Barang&gt; Merek,
Customer > Customer Group > Territory,Pelanggan&gt; Grup Pelanggan&gt; Wilayah,
Supplier > Supplier Type,Pemasok&gt; Jenis Pemasok,
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,
The value of {0} differs between Items {1} and {2},Nilai {0} berbeda antara Item {1} dan {2},
Auto Fetch,Ambil Otomatis,
Fetch Serial Numbers based on FIFO,Ambil Nomor Seri berdasarkan FIFO,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Perlengkapan kena pajak luar (selain nilai nol, nilai nihil dan pengecualian)",
"To allow different rates, disable the {0} checkbox in {1}.","Untuk mengizinkan tarif yang berbeda, nonaktifkan {0} kotak centang di {1}.",
Current Odometer Value should be greater than Last Odometer Value {0},Nilai Odometer Saat Ini harus lebih besar dari Nilai Odometer Terakhir {0},
No additional expenses has been added,Tidak ada biaya tambahan yang ditambahkan,
Asset{} {assets_link} created for {},Aset {} {assets_link} dibuat untuk {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Baris {}: Asset Naming Series wajib untuk pembuatan otomatis untuk item {},
Assets not created for {0}. You will have to create asset manually.,Aset tidak dibuat untuk {0}. Anda harus membuat aset secara manual.,
{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} memiliki entri akuntansi dalam mata uang {2} untuk perusahaan {3}. Pilih akun piutang atau hutang dengan mata uang {2}.,
Invalid Account,Akun tidak berlaku,
Purchase Order Required,Order Pembelian Diperlukan,
Purchase Receipt Required,Diperlukan Nota Penerimaan,
Account Missing,Akun Hilang,
Requested,Diminta,
Partially Paid,Dibayar Sebagian,
Invalid Account Currency,Mata Uang Akun Tidak Valid,
"Row {0}: The item {1}, quantity must be positive number","Baris {0}: Item {1}, kuantitas harus bilangan positif",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Harap setel {0} untuk Batched Item {1}, yang digunakan untuk menyetel {2} pada Kirim.",
Expiry Date Mandatory,Tanggal Kedaluwarsa Wajib,
Variant Item,Item Varian,
BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} dan BOM 2 {1} tidak boleh sama,
Note: Item {0} added multiple times,Catatan: Item {0} ditambahkan beberapa kali,
YouTube,Youtube,
Vimeo,Vimeo,
Publish Date,Tanggal Terbit,
Duration,Lamanya,
Advanced Settings,Pengaturan lanjutan,
Path,Jalan,
Components,komponen,
Verified By,Diverifikasi oleh,
Invalid naming series (. missing) for {0},Seri penamaan tidak valid (. Hilang) untuk {0},
Filter Based On,Filter Berdasarkan,
Reqd by date,Diperlukan menurut tanggal,
Manufacturer Part Number <b>{0}</b> is invalid,Nomor <b>Suku</b> Cadang Produsen <b>{0}</b> tidak valid,
Invalid Part Number,Nomor Bagian Tidak Valid,
Select atleast one Social Media from Share on.,Pilih setidaknya satu Media Sosial dari Bagikan di.,
Invalid Scheduled Time,Waktu Terjadwal Tidak Valid,
Length Must be less than 280.,Panjang Harus kurang dari 280.,
Error while POSTING {0},Galat saat MEMPOSTING {0},
"Session not valid, Do you want to login?","Sesi tidak valid, Apakah Anda ingin masuk?",
Session Active,Sesi Aktif,
Session Not Active. Save doc to login.,Sesi Tidak Aktif. Simpan dokumen untuk login.,
Error! Failed to get request token.,Kesalahan! Gagal mendapatkan token permintaan.,
Invalid {0} or {1},{0} atau {1} tidak valid,
Error! Failed to get access token.,Kesalahan! Gagal mendapatkan token akses.,
Invalid Consumer Key or Consumer Secret Key,Kunci Konsumen atau Kunci Rahasia Konsumen Tidak Valid,
Your Session will be expire in ,Sesi Anda akan berakhir dalam,
 days.,hari.,
Session is expired. Save doc to login.,Sesi kedaluwarsa. Simpan dokumen untuk login.,
Error While Uploading Image,Kesalahan Saat Mengupload Gambar,
You Didn't have permission to access this API,Anda tidak memiliki izin untuk mengakses API ini,
Valid Upto date cannot be before Valid From date,Tanggal Valid Upto tidak boleh sebelum tanggal Valid From,
Valid From date not in Fiscal Year {0},Berlaku Sejak tanggal tidak dalam Tahun Anggaran {0},
Valid Upto date not in Fiscal Year {0},Berlaku Sampai saat ini bukan dalam Tahun Anggaran {0},
Group Roll No,Grup Roll No,
Maintain Same Rate Throughout Sales Cycle,Pertahankan Tarif Sama Sepanjang Siklus Penjualan,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Baris {1}: Kuantitas ({0}) tidak boleh pecahan. Untuk mengizinkan ini, nonaktifkan &#39;{2}&#39; di UOM {3}.",
Must be Whole Number,Harus Nomor Utuh,
Please setup Razorpay Plan ID,Harap siapkan ID Paket Razorpay,
Contact Creation Failed,Pembuatan Kontak Gagal,
{0} already exists for employee {1} and period {2},{0} sudah ada untuk karyawan {1} dan periode {2},
Leaves Allocated,Daun Dialokasikan,
Leaves Expired,Daun Kedaluwarsa,
Leave Without Pay does not match with approved {} records,Leave Without Pay tidak cocok dengan catatan {} yang disetujui,
Income Tax Slab not set in Salary Structure Assignment: {0},Lembaran Pajak Pendapatan tidak disetel dalam Penetapan Struktur Gaji: {0},
Income Tax Slab: {0} is disabled,Lembaran Pajak Penghasilan: {0} dinonaktifkan,
Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Lembaran Pajak Pendapatan harus berlaku pada atau sebelum Tanggal Mulai Periode Penggajian: {0},
No leave record found for employee {0} on {1},Tidak ada catatan cuti yang ditemukan untuk karyawan {0} di {1},
Row {0}: {1} is required in the expenses table to book an expense claim.,Baris {0}: {1} harus ada di tabel pengeluaran untuk memesan klaim pengeluaran.,
Set the default account for the {0} {1},Setel akun bawaan untuk {0} {1},
(Half Day),(Setengah hari),
Income Tax Slab,Slab Pajak Penghasilan,
Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Baris # {0}: Tidak dapat menetapkan jumlah atau rumus untuk Komponen Gaji {1} dengan Variabel Berdasarkan Gaji Kena Pajak,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Baris # {}: {} dari {} harus {}. Harap ubah akun atau pilih akun lain.,
Row #{}: Please asign task to a member.,Baris # {}: Berikan tugas kepada anggota.,
Process Failed,Proses Gagal,
Tally Migration Error,Kesalahan Migrasi Penghitungan,
Please set Warehouse in Woocommerce Settings,Silakan atur Gudang di Pengaturan Woocommerce,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Baris {0}: Gudang Pengiriman ({1}) dan Gudang Pelanggan ({2}) tidak boleh sama,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Baris {0}: Tanggal Jatuh Tempo di tabel Ketentuan Pembayaran tidak boleh sebelum Tanggal Pengiriman,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Tidak dapat menemukan {} untuk item {}. Silakan atur yang sama di Master Item atau Pengaturan Stok.,
Row #{0}: The batch {1} has already expired.,Baris # {0}: Kelompok {1} telah kedaluwarsa.,
Start Year and End Year are mandatory,Tahun Awal dan Tahun Akhir wajib diisi,
GL Entry,GL Entri,
Cannot allocate more than {0} against payment term {1},Tidak dapat mengalokasikan lebih dari {0} terhadap jangka waktu pembayaran {1},
The root account {0} must be a group,Akun root {0} haruslah sebuah grup,
Shipping rule not applicable for country {0} in Shipping Address,Aturan pengiriman tidak berlaku untuk negara {0} di Alamat Pengiriman,
Get Payments from,Dapatkan Pembayaran dari,
Set Shipping Address or Billing Address,Tetapkan Alamat Pengiriman atau Alamat Penagihan,
Consultation Setup,Pengaturan Konsultasi,
Fee Validity,Validitas biaya,
Laboratory Setup,Setup Laboratorium,
Dosage Form,Formulir Dosis,
Records and History,Catatan dan Sejarah,
Patient Medical Record,Catatan Medis Pasien,
Rehabilitation,Rehabilitasi,
Exercise Type,Jenis Latihan,
Exercise Difficulty Level,Tingkat Kesulitan Latihan,
Therapy Type,Jenis Terapi,
Therapy Plan,Rencana Terapi,
Therapy Session,Sesi Terapi,
Motor Assessment Scale,Skala Penilaian Motorik,
[Important] [ERPNext] Auto Reorder Errors,[Penting] [ERPNext] Kesalahan Penyusunan Ulang Otomatis,
"Regards,","Salam,",
The following {0} were created: {1},Berikut ini {0} telah dibuat: {1},
Work Orders,Perintah Kerja,
The {0} {1} created sucessfully,{0} {1} berhasil dibuat,
Work Order cannot be created for following reason: <br> {0},Perintah Kerja tidak dapat dibuat karena alasan berikut:<br> {0},
Add items in the Item Locations table,Tambahkan item di tabel Lokasi Item,
Update Current Stock,Perbarui Stok Saat Ini,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Mempertahankan Sampel berdasarkan kelompok, harap centang Memiliki Nomor Kelompok untuk menyimpan sampel item",
Empty,Kosong,
Currently no stock available in any warehouse,Saat ini tidak ada stok yang tersedia di gudang mana pun,
BOM Qty,BOM Qty,
Time logs are required for {0} {1},Log waktu diperlukan untuk {0} {1},
Total Completed Qty,Total Qty yang Diselesaikan,
Qty to Manufacture,Kuantitas untuk diproduksi,
Repay From Salary can be selected only for term loans,Bayar Dari Gaji hanya dapat dipilih untuk pinjaman berjangka,
No valid Loan Security Price found for {0},Tidak ada Harga Jaminan Pinjaman yang valid untuk {0},
Loan Account and Payment Account cannot be same,Rekening Pinjaman dan Rekening Pembayaran tidak boleh sama,
Loan Security Pledge can only be created for secured loans,Janji Keamanan Pinjaman hanya dapat dibuat untuk pinjaman dengan jaminan,
Social Media Campaigns,Kampanye Media Sosial,
From Date can not be greater than To Date,From Date tidak boleh lebih dari To Date,
Please set a Customer linked to the Patient,Harap tetapkan Pelanggan yang ditautkan ke Pasien,
Customer Not Found,Pelanggan Tidak Ditemukan,
Please Configure Clinical Procedure Consumable Item in ,Harap Konfigurasikan Item Konsumsi Prosedur Klinis di,
Missing Configuration,Konfigurasi Hilang,
Out Patient Consulting Charge Item,Out Item Biaya Konsultasi Pasien,
Inpatient Visit Charge Item,Barang Kiriman Kunjungan Rawat Inap,
OP Consulting Charge,OP Consulting Charge,
Inpatient Visit Charge,Biaya Kunjungan Rawat Inap,
Appointment Status,Status Pengangkatan,
Test: ,Uji:,
Collection Details: ,Detail Koleksi:,
{0} out of {1},{0} dari {1},
Select Therapy Type,Pilih Jenis Terapi,
{0} sessions completed,{0} sesi selesai,
{0} session completed,{0} sesi selesai,
 out of {0},dari {0},
Therapy Sessions,Sesi Terapi,
Add Exercise Step,Tambahkan Langkah Latihan,
Edit Exercise Step,Edit Langkah Latihan,
Patient Appointments,Janji Pasien,
Item with Item Code {0} already exists,Item dengan Kode Item {0} sudah ada,
Registration Fee cannot be negative or zero,Biaya Pendaftaran tidak boleh negatif atau nol,
Configure a service Item for {0},Konfigurasikan Item layanan untuk {0},
Temperature: ,Suhu:,
Pulse: ,Nadi:,
Respiratory Rate: ,Tingkat Pernapasan:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,catatan:,
Check Availability,Cek ketersediaan,
Please select Patient first,Pilih Pasien dulu,
Please select a Mode of Payment first,Pilih salah satu Mode Pembayaran terlebih dahulu,
Please set the Paid Amount first,Harap setel Jumlah Berbayar terlebih dahulu,
Not Therapies Prescribed,Bukan Terapi yang Diresepkan,
There are no Therapies prescribed for Patient {0},Tidak ada Terapi yang diresepkan untuk Pasien {0},
Appointment date and Healthcare Practitioner are Mandatory,Tanggal pengangkatan dan Praktisi Perawatan Kesehatan adalah Wajib,
No Prescribed Procedures found for the selected Patient,Tidak ada Prosedur yang Diresepkan ditemukan untuk Pasien yang dipilih,
Please select a Patient first,Silakan pilih a Pasien dulu,
There are no procedure prescribed for ,Tidak ada prosedur yang ditentukan untuk,
Prescribed Therapies,Terapi yang Diresepkan,
Appointment overlaps with ,Janji temu tumpang tindih dengan,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} memiliki janji temu dengan {1} pada {2} memiliki durasi {3} menit.,
Appointments Overlapping,Janji Tumpang tindih,
Consulting Charges: {0},Biaya Konsultasi: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Janji Dibatalkan. Harap tinjau dan batalkan faktur {0},
Appointment Cancelled.,Janji Dibatalkan.,
Fee Validity {0} updated.,Validitas Biaya {0} diperbarui.,
Practitioner Schedule Not Found,Jadwal Praktisi Tidak Ditemukan,
{0} is on a Half day Leave on {1},{0} sedang Cuti Setengah hari pada {1},
{0} is on Leave on {1},{0} sedang Berangkat pada {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} tidak memiliki Jadwal Praktisi Perawatan Kesehatan. Tambahkan di Praktisi Perawatan Kesehatan,
Healthcare Service Units,Unit Layanan Kesehatan,
Complete and Consume,Lengkapi dan Konsumsi,
Complete {0} and Consume Stock?,Selesaikan {0} dan Konsumsi Stok?,
Complete {0}?,Selesaikan {0}?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Kuantitas stok untuk memulai Prosedur tidak tersedia di Gudang {0}. Apakah Anda ingin merekam Entri Saham?,
{0} as on {1},{0} seperti pada {1},
Clinical Procedure ({0}):,Prosedur Klinis ({0}):,
Please set Customer in Patient {0},Harap tetapkan Pelanggan dalam Pasien {0},
Item {0} is not active,Item {0} tidak aktif,
Therapy Plan {0} created successfully.,Rencana Terapi {0} berhasil dibuat.,
Symptoms: ,Gejala:,
No Symptoms,Tidak Ada Gejala,
Diagnosis: ,Diagnosa:,
No Diagnosis,Tidak Ada Diagnosis,
Drug(s) Prescribed.,Obat yang Diresepkan.,
Test(s) Prescribed.,Tes Diresepkan.,
Procedure(s) Prescribed.,Prosedur (s) Diresepkan.,
Counts Completed: {0},Hitungan Selesai: {0},
Patient Assessment,Penilaian Pasien,
Assessments,Penilaian,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Kepala (atau kelompok) terhadap yang Entri Akuntansi dibuat dan saldo dipertahankan.,
Account Name,Nama Akun,
Inter Company Account,Akun Perusahaan Inter,
Parent Account,Rekening Induk,
Setting Account Type helps in selecting this Account in transactions.,Mengatur Tipe Akun membantu dalam memilih Akun ini dalam transaksi.,
Chargeable,Dapat Dibebankan,
Rate at which this tax is applied,Tingkat di mana pajak ini diterapkan,
Frozen,Beku,
"If the account is frozen, entries are allowed to restricted users.","Jika account beku, entri yang diizinkan untuk pengguna terbatas.",
Balance must be,Saldo harus,
Lft,Lft,
Rgt,Rgt,
Old Parent,Old Parent,
Include in gross,Termasuk dalam jumlah besar,
Auditor,Akuntan,
Accounting Dimension,Dimensi Akuntansi,
Dimension Name,Nama Dimensi,
Dimension Defaults,Default Dimensi,
Accounting Dimension Detail,Detail Dimensi Akuntansi,
Default Dimension,Dimensi Default,
Mandatory For Balance Sheet,Wajib Untuk Neraca,
Mandatory For Profit and Loss Account,Wajib Untuk Akun Untung dan Rugi,
Accounting Period,Periode akuntansi,
Period Name,Nama Periode,
Closed Documents,Dokumen Tertutup,
Accounts Settings,Pengaturan Akun,
Settings for Accounts,Pengaturan Akun,
Make Accounting Entry For Every Stock Movement,Membuat Entri Akuntansi Untuk Setiap Perpindahan Persediaan,
"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,
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,
SWIFT number,Nomor SWIFT,
Branch Code,Kode cabang,
Address and Contact,Alamat dan Kontak,
Address HTML,Alamat HTML,
Contact HTML,Hubungi HTML,
Data Import Configuration,Konfigurasi Impor Data,
Bank Transaction Mapping,Pemetaan Transaksi Bank,
Plaid Access Token,Token Akses Kotak-kotak,
Company Account,Akun Perusahaan,
Account Subtype,Subtipe Akun,
Is Default Account,Apakah Akun Default,
Is Company Account,Apakah Akun Perusahaan,
Party Details,Detail Partai,
Account Details,Rincian Account,
IBAN,IBAN,
Bank Account No,Rekening Bank No,
Integration Details,Detail Integrasi,
Integration ID,ID Integrasi,
Last Integration Date,Tanggal Integrasi Terakhir,
Change this date manually to setup the next synchronization start date,Ubah tanggal ini secara manual untuk mengatur tanggal mulai sinkronisasi berikutnya,
Mask,Topeng,
Bank Account Subtype,Subjenis Rekening Bank,
Bank Account Type,Jenis Rekening Bank,
Bank Guarantee,Bank Garansi,
Bank Guarantee Type,Jenis Garansi Bank,
Receiving,Menerima,
Providing,Menyediakan,
Reference Document Name,Nama Dokumen Referensi,
Validity in Days,Validitas dalam hari,
Bank Account Info,Info Rekening Bank,
Clauses and Conditions,Klausul dan Ketentuan,
Other Details,Detail lainnya,
Bank Guarantee Number,Nomor Bank Garansi,
Name of Beneficiary,Nama Penerima Manfaat,
Margin Money,Uang Marjin,
Charges Incurred,Biaya yang Ditimbulkan,
Fixed Deposit Number,Fixed Deposit Number,
Account Currency,Mata Uang Akun,
Select the Bank Account to reconcile.,Pilih Rekening Bank untuk didamaikan.,
Include Reconciled Entries,Termasuk Entri Rekonsiliasi,
Get Payment Entries,Dapatkan Entries Pembayaran,
Payment Entries,Entries pembayaran,
Update Clearance Date,Perbarui Tanggal Kliring,
Bank Reconciliation Detail,Rincian Rekonsiliasi Bank,
Cheque Number,Nomor Cek,
Cheque Date,Cek Tanggal,
Statement Header Mapping,Pemetaan Header Pernyataan,
Statement Headers,Tajuk Pernyataan,
Transaction Data Mapping,Pemetaan Data Transaksi,
Mapped Items,Item yang Dipetakan,
Bank Statement Settings Item,Item Pengaturan Pernyataan Bank,
Mapped Header,Header yang Dipetakan,
Bank Header,Header Bank,
Bank Statement Transaction Entry,Entri Transaksi Pernyataan Bank,
Bank Transaction Entries,Entri Transaksi Bank,
New Transactions,Transaksi Baru,
Match Transaction to Invoices,Cocokkan Transaksi ke Faktur,
Create New Payment/Journal Entry,Buat Pembayaran Baru / Entri Jurnal,
Submit/Reconcile Payments,Serahkan / Rekonsiliasi Pembayaran,
Matching Invoices,Mencocokkan Faktur,
Payment Invoice Items,Item Faktur Pembayaran,
Reconciled Transactions,Rekonsiliasi Transaksi,
Bank Statement Transaction Invoice Item,Item Faktur Transaksi Pernyataan Bank,
Payment Description,Deskripsi pembayaran,
Invoice Date,Faktur Tanggal,
invoice,faktur,
Bank Statement Transaction Payment Item,Item Pembayaran Transaksi Pernyataan Bank,
outstanding_amount,Jumlah yang luar biasa,
Payment Reference,Referensi pembayaran,
Bank Statement Transaction Settings Item,Item Pengaturan Transaksi Pernyataan Bank,
Bank Data,Data Bank,
Mapped Data Type,Dipetakan Jenis Data,
Mapped Data,Data yang Dipetakan,
Bank Transaction,Transaksi bank,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,ID transaksi,
Unallocated Amount,Jumlah yang tidak terisi,
Field in Bank Transaction,Bidang dalam Transaksi Bank,
Column in Bank File,Kolom dalam File Bank,
Bank Transaction Payments,Pembayaran Transaksi Bank,
Control Action,Tindakan Kontrol,
Applicable on Material Request,Berlaku pada Permintaan Material,
Action if Annual Budget Exceeded on MR,Tindakan jika Anggaran Tahunan Melebihi MR,
Warn,Peringatan: Cuti aplikasi berisi tanggal blok berikut,
Ignore,Diabaikan,
Action if Accumulated Monthly Budget Exceeded on MR,Tindakan jika Akumulasi Anggaran Bulanan Melebihi MR,
Applicable on Purchase Order,Berlaku pada Purchase Order,
Action if Annual Budget Exceeded on PO,Tindakan jika Anggaran Tahunan Terlampaui pada PO,
Action if Accumulated Monthly Budget Exceeded on PO,Tindakan jika Akumulasi Anggaran Bulanan Melebihi pada PO,
Applicable on booking actual expenses,Berlaku untuk memesan biaya sebenarnya,
Action if Annual Budget Exceeded on Actual,Tindakan jika Anggaran Tahunan Terlampaui pada Aktual,
Action if Accumulated Monthly Budget Exceeded on Actual,Tindakan jika Akumulasi Anggaran Bulanan Melebihi Aktual,
Budget Accounts,Akun anggaran,
Budget Account,Akun anggaran,
Budget Amount,Jumlah anggaran,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-Form ada,
Received Date,Diterima Tanggal,
Quarter,Seperempat,
I,saya,
II,II,
III,AKU AKU AKU,
IV,IV,
C-Form Invoice Detail,C-Form Faktur Detil,
Invoice No,Nomor Faktur,
Cash Flow Mapper,Kas Arus Mapper,
Section Name,nama bagian,
Section Header,Bagian Header,
Section Leader,Pemimpin Seksi,
e.g Adjustments for:,misalnya Penyesuaian untuk:,
Section Subtotal,Bagian Subtotal,
Section Footer,Bagian footer,
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,
Chart of Accounts Importer,Bagan Importir Akun,
Import Chart of Accounts from a csv file,Impor Bagan Akun dari file csv,
Attach custom Chart of Accounts file,Lampirkan bagan Akun kustom file,
Chart Preview,Pratinjau Bagan,
Chart Tree,Bagan Pohon,
Cheque Print Template,Template Print Cek,
Has Print Format,Memiliki Print Format,
Primary Settings,Pengaturan utama,
Cheque Size,Cek Ukuran,
Regular,Reguler,
Starting position from top edge,Mulai posisi dari tepi atas,
Cheque Width,Lebar Cek,
Cheque Height,Cek Tinggi,
Scanned Cheque,Cek Terpindai,
Is Account Payable,Apakah Account Payable,
Distance from top edge,Jarak dari tepi atas,
Distance from left edge,Jarak dari tepi kiri,
Message to show,Pesan untuk menunjukkan,
Date Settings,Pengaturan Tanggal,
Starting location from left edge,Mulai lokasi dari tepi kiri,
Payer Settings,Pengaturan Wajib,
Width of amount in word,Lebar jumlah dalam kata,
Line spacing for amount in words,spasi untuk jumlah kata,
Amount In Figure,Jumlah Dalam Gambar,
Signatory Position,Posisi penandatangan,
Closed Document,Dokumen Tertutup,
Track separate Income and Expense for product verticals or divisions.,Melacak Penghasilan terpisah dan Beban untuk vertikal produk atau divisi.,
Cost Center Name,Nama Pusat Biaya,
Parent Cost Center,Parent Biaya Pusat,
lft,lft,
rgt,rgt,
Coupon Code,Kode Kupon,
Coupon Name,Nama Kupon,
"e.g. ""Summer Holiday 2019 Offer 20""",mis. &quot;Liburan Musim Panas 2019 Penawaran 20&quot;,
Coupon Type,Jenis Kupon,
Promotional,Promosi,
Gift Card,Kartu ucapan,
unique e.g. SAVE20  To be used to get discount,unik misalkan SAVE20 Digunakan untuk mendapatkan diskon,
Validity and Usage,Validitas dan Penggunaan,
Valid From,Berlaku dari,
Valid Upto,Berlaku Hingga,
Maximum Use,Penggunaan Maksimum,
Used,Bekas,
Coupon Description,Deskripsi Kupon,
Discounted Invoice,Faktur Diskon,
Debit to,Debit ke,
Exchange Rate Revaluation,Revaluasi Nilai Tukar,
Get Entries,Dapatkan Entri,
Exchange Rate Revaluation Account,Akun Revaluasi Nilai Tukar,
Total Gain/Loss,Total Keuntungan / Kerugian,
Balance In Account Currency,Saldo dalam Mata Uang Akun,
Current Exchange Rate,Nilai Tukar Saat Ini,
Balance In Base Currency,Saldo dalam Mata Uang Dasar,
New Exchange Rate,Nilai Tukar Baru,
New Balance In Base Currency,Saldo Baru Dalam Mata Uang Dasar,
Gain/Loss,Merugi,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Tahun Anggaran ** mewakili Tahun Keuangan. Semua entri akuntansi dan transaksi besar lainnya dilacak terhadap Tahun Anggaran ** **.,
Year Name,Nama Tahun,
"For e.g. 2012, 2012-13","Untuk misalnya 2012, 2012-13",
Year Start Date,Tanggal Mulai Tahun,
Year End Date,Tanggal Akhir Tahun,
Companies,Perusahaan,
Auto Created,Dibuat Otomatis,
Stock User,Pengguna Persediaan,
Fiscal Year Company,Tahun Fiskal Perusahaan,
Debit Amount,Jumlah Debit,
Credit Amount,Jumlah kredit,
Debit Amount in Account Currency,Jumlah Debit di Akun Mata Uang,
Credit Amount in Account Currency,Jumlah kredit di Akun Mata Uang,
Voucher Detail No,Nomor Detail Voucher,
Is Opening,Apakah Membuka,
Is Advance,Apakah Muka,
To Rename,Untuk Mengganti Nama,
GST Account,Akun GST,
CGST Account,Akun CGST,
SGST Account,Akun SGST,
IGST Account,Akun IGST,
CESS Account,Akun CESS,
Loan Start Date,Tanggal Mulai Pinjaman,
Loan Period (Days),Periode Pinjaman (Hari),
Loan End Date,Tanggal Akhir Pinjaman,
Bank Charges,Biaya Bank,
Short Term Loan Account,Rekening Pinjaman Jangka Pendek,
Bank Charges Account,Rekening Biaya Bank,
Accounts Receivable Credit Account,Akun Piutang Kredit,
Accounts Receivable Discounted Account,"Rekening yang Dapat Diterima, Akun yang Didiskon",
Accounts Receivable Unpaid Account,"Piutang Akun, Akun yang Belum Dibayar",
Item Tax Template,Template Pajak Barang,
Tax Rates,Tarif pajak,
Item Tax Template Detail,Rincian Templat Pajak Barang,
Entry Type,Entri Type,
Inter Company Journal Entry,Entri Jurnal Perusahaan Inter,
Bank Entry,Entri Bank,
Cash Entry,Entri Kas,
Credit Card Entry,Entri Kartu Kredit,
Contra Entry,Contra Entri,
Excise Entry,Cukai Entri,
Write Off Entry,Menulis Off Entri,
Opening Entry,Entri Pembukaan,
ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
Accounting Entries,Entri Akuntansi,
Total Debit,Jumlah Debit,
Total Credit,Jumlah Kredit,
Difference (Dr - Cr),Perbedaan (Dr - Cr),
Make Difference Entry,Buat Entri Perbedaan,
Total Amount Currency,Jumlah Total Mata Uang,
Total Amount in Words,Jumlah Total dalam Kata,
Remark,Komentar,
Paid Loan,Pinjaman Berbayar,
Inter Company Journal Entry Reference,Referensi Entri Jurnal Perusahaan Inter,
Write Off Based On,Menulis Off Berbasis On,
Get Outstanding Invoices,Dapatkan Faktur Berjalan,
Write Off Amount,Hapus Jumlah,
Printing Settings,Pengaturan pencetakan,
Pay To / Recd From,Pay To / RECD Dari,
Payment Order,Pesanan Pembayaran,
Subscription Section,Bagian Langganan,
Journal Entry Account,Akun Jurnal Entri,
Account Balance,Saldo Akun Rekening,
Party Balance,Saldo Partai,
Accounting Dimensions,Dimensi Akuntansi,
If Income or Expense,Jika Penghasilan atau Beban,
Exchange Rate,Nilai Tukar,
Debit in Company Currency,Debit di Mata Uang Perusahaan,
Credit in Company Currency,Kredit di Perusahaan Mata,
Payroll Entry,Entri Penggajian,
Employee Advance,Uang muka karyawan,
Reference Due Date,Tanggal Jatuh Tempo Referensi,
Loyalty Program Tier,Tingkat Program Loyalitas,
Redeem Against,Redeem Against,
Expiry Date,Tanggal Berakhir,
Loyalty Point Entry Redemption,Penukaran Masuk Poin Loyalitas,
Redemption Date,Tanggal Penebusan,
Redeemed Points,Poin yang Ditebus,
Loyalty Program Name,Nama Program Loyalitas,
Loyalty Program Type,Jenis Program Loyalitas,
Single Tier Program,Program Tier Tunggal,
Multiple Tier Program,Program Multi Tier,
Customer Territory,Wilayah Pelanggan,
Auto Opt In (For all customers),Keikutsertaan Otomatis (Untuk semua pelanggan),
Collection Tier,Tingkat Koleksi,
Collection Rules,Aturan Koleksi,
Redemption,Penebusan,
Conversion Factor,Faktor konversi,
1 Loyalty Points = How much base currency?,1 Poin Loyalitas = Berapa mata uang dasar?,
Expiry Duration (in days),Durasi Kedaluwarsa (dalam hari),
Help Section,Bagian Bantuan,
Loyalty Program Help,Bantuan Program Loyalitas,
Loyalty Program Collection,Koleksi Program Loyalitas,
Tier Name,Nama Tingkat,
Minimum Total Spent,Jumlah Total Minimum,
Collection Factor (=1 LP),Faktor Pengumpulan (= 1 LP),
For how much spent = 1 Loyalty Point,Untuk berapa banyak yang dihabiskan = 1 Loyalty Point,
Mode of Payment Account,Mode Akun Pembayaran Rekening,
Default Account,Akun Standar,
Default account will be automatically updated in POS Invoice when this mode is selected.,Akun default akan diperbarui secara otomatis di Faktur POS saat mode ini dipilih.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Distribusi Bulanan ** membantu Anda mendistribusikan Anggaran / Target di antara bulan-bulan jika bisnis Anda memiliki musim.,
Distribution Name,Nama Distribusi,
Name of the Monthly Distribution,Nama Distribusi Bulanan,
Monthly Distribution Percentages,Persentase Distribusi bulanan,
Monthly Distribution Percentage,Bulanan Persentase Distribusi,
Percentage Allocation,Persentase Alokasi,
Create Missing Party,Buat Partai Hilang,
Create missing customer or supplier.,Buat pelanggan atau pemasok yang hilang,
Opening Invoice Creation Tool Item,Membuka Item Alat Pembuatan Faktur,
Temporary Opening Account,Rekening Pembukaan Sementara,
Party Account,Akun Party,
Type of Payment,Jenis Pembayaran,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Menerima,
Internal Transfer,internal transfer,
Payment Order Status,Status Pesanan Pembayaran,
Payment Ordered,Pembayaran Dipesan,
Payment From / To,Pembayaran Dari / Untuk,
Company Bank Account,Rekening Bank Perusahaan,
Party Bank Account,Rekening Bank Pihak,
Account Paid From,Akun Dibayar Dari,
Account Paid To,Akun Dibayar Kepada,
Paid Amount (Company Currency),Dibayar Jumlah (Perusahaan Mata Uang),
Received Amount,menerima Jumlah,
Received Amount (Company Currency),Menerima Jumlah (Perusahaan Mata Uang),
Get Outstanding Invoice,Dapatkan Faktur Luar Biasa,
Payment References,Referensi pembayaran,
Writeoff,writeoff,
Total Allocated Amount,Jumlah Total Dialokasikan,
Total Allocated Amount (Company Currency),Total Dialokasikan Jumlah (Perusahaan Mata Uang),
Set Exchange Gain / Loss,Set Efek Gain / Loss,
Difference Amount (Company Currency),Perbedaan Jumlah (Perusahaan Mata Uang),
Write Off Difference Amount,Menulis Off Perbedaan Jumlah,
Deductions or Loss,Pemotongan atau Rugi,
Payment Deductions or Loss,Pengurangan pembayaran atau Rugi,
Cheque/Reference Date,Cek / Tanggal Referensi,
Payment Entry Deduction,Pembayaran Masuk Pengurangan,
Payment Entry Reference,Pembayaran Referensi Masuk,
Allocated,Dialokasikan,
Payment Gateway Account,Pembayaran Rekening Gateway,
Payment Account,Akun Pembayaran,
Default Payment Request Message,Standar Pesan Permintaan Pembayaran,
PMO-,PMO-,
Payment Order Type,Jenis Pesanan Pembayaran,
Payment Order Reference,Referensi Order Pembayaran,
Bank Account Details,Detail Rekening Bank,
Payment Reconciliation,Rekonsiliasi Pembayaran,
Receivable / Payable Account,Piutang / Account Payable,
Bank / Cash Account,Bank / Rekening Kas,
From Invoice Date,Dari Tanggal Faktur,
To Invoice Date,Untuk Faktur Tanggal,
Minimum Invoice Amount,Nilai Minimum Faktur,
Maximum Invoice Amount,Maksimum Faktur Jumlah,
System will fetch all the entries if limit value is zero.,Sistem akan mengambil semua entri jika nilai batasnya nol.,
Get Unreconciled Entries,Dapatkan Entries Unreconciled,
Unreconciled Payment Details,Rincian Pembayaran Unreconciled,
Invoice/Journal Entry Details,Faktur / Jurnal entri Detail,
Payment Reconciliation Invoice,Rekonsiliasi Faktur Pembayaran,
Invoice Number,Nomor Faktur,
Payment Reconciliation Payment,Rekonsiliasi Pembayaran Pembayaran,
Reference Row,referensi Row,
Allocated amount,Jumlah yang dialokasikan,
Payment Request Type,Jenis Permintaan Pembayaran,
Outward,Ke luar,
Inward,Batin,
ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
Transaction Details,Detil transaksi,
Amount in customer's currency,Jumlah dalam mata uang pelanggan,
Is a Subscription,Apakah Berlangganan,
Transaction Currency,Mata uang transaksi,
Subscription Plans,Paket Langganan,
SWIFT Number,Nomor SWIFT,
Recipient Message And Payment Details,Penerima Pesan Dan Rincian Pembayaran,
Make Sales Invoice,Buat Faktur Penjualan,
Mute Email,Diamkan Surel,
payment_url,payment_url,
Payment Gateway Details,Pembayaran Detail Gateway,
Payment Schedule,Jadwal pembayaran,
Invoice Portion,Bagian faktur,
Payment Amount,Jumlah pembayaran,
Payment Term Name,Nama Istilah Pembayaran,
Due Date Based On,Tanggal Jatuh Tempo Berdasarkan,
Day(s) after invoice date,Hari setelah tanggal faktur,
Day(s) after the end of the invoice month,Hari setelah akhir bulan faktur,
Month(s) after the end of the invoice month,Bulan setelah akhir bulan faktur,
Credit Days,Hari Kredit,
Credit Months,Bulan kredit,
Allocate Payment Based On Payment Terms,Alokasikan Pembayaran Berdasarkan Ketentuan Pembayaran,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Jika kotak centang ini dicentang, jumlah yang dibayarkan akan dipisahkan dan dialokasikan sesuai dengan jumlah dalam jadwal pembayaran untuk setiap jangka waktu pembayaran",
Payment Terms Template Detail,Rincian Syarat Pembayaran,
Closing Fiscal Year,Penutup Tahun Anggaran,
Closing Account Head,Penutupan Akun Kepala,
"The account head under Liability or Equity, in which Profit/Loss will be booked","Account kepala di bawah Kewajiban atau Ekuitas, di mana Laba / Rugi akan dipesan",
POS Customer Group,POS Pelanggan Grup,
POS Field,Bidang POS,
POS Item Group,POS Barang Grup,
[Select],[Pilih],
Company Address,Alamat perusahaan,
Update Stock,Perbarui Persediaan,
Ignore Pricing Rule,Abaikan Aturan Harga,
Applicable for Users,Berlaku untuk Pengguna,
Sales Invoice Payment,Pembayaran Faktur Penjualan,
Item Groups,Grup Item,
Only show Items from these Item Groups,Hanya perlihatkan Item dari Grup Item ini,
Customer Groups,Grup Pelanggan,
Only show Customer of these Customer Groups,Hanya tunjukkan Pelanggan dari Grup Pelanggan ini,
Write Off Account,Akun Write Off,
Write Off Cost Center,Write Off Biaya Pusat,
Account for Change Amount,Akun untuk Perubahan Jumlah,
Taxes and Charges,Pajak dan Biaya,
Apply Discount On,Terapkan Diskon Pada,
POS Profile User,Profil Pengguna POS,
Apply On,Terapkan Pada,
Price or Product Discount,Harga atau Diskon Produk,
Apply Rule On Item Code,Terapkan Aturan Pada Item Kode,
Apply Rule On Item Group,Terapkan Grup Aturan Pada Item,
Apply Rule On Brand,Terapkan Aturan Pada Merek,
Mixed Conditions,Kondisi Campuran,
Conditions will be applied on all the selected items combined. ,Ketentuan akan diterapkan pada semua item yang dipilih digabungkan.,
Is Cumulative,Apakah Kumulatif,
Coupon Code Based,Berbasis Kode Kupon,
Discount on Other Item,Diskon untuk Barang Lainnya,
Apply Rule On Other,Terapkan Aturan Pada Lainnya,
Party Information,Informasi Pesta,
Quantity and Amount,Kuantitas dan Jumlah,
Min Qty,Min Qty,
Max Qty,Qty Maksimum,
Min Amt,Min Amt,
Max Amt,Max Amt,
Period Settings,Pengaturan Periode,
Margin,Margin,
Margin Type,Margin Jenis,
Margin Rate or Amount,Tingkat margin atau Jumlah,
Price Discount Scheme,Skema Diskon Harga,
Rate or Discount,Tarif atau Diskon,
Discount Percentage,Persentase Diskon,
Discount Amount,Jumlah Diskon,
For Price List,Untuk Daftar Harga,
Product Discount Scheme,Skema Diskon Produk,
Same Item,Barang yang sama,
Free Item,Barang Gratis,
Threshold for Suggestion,Ambang Batas untuk Saran,
System will notify to increase or decrease quantity or amount ,Sistem akan memberi tahu untuk menambah atau mengurangi kuantitas atau jumlah,
"Higher the number, higher the priority","Semakin tinggi angkanya, semakin tinggi prioritas",
Apply Multiple Pricing Rules,Terapkan Beberapa Aturan Harga,
Apply Discount on Rate,Terapkan Diskon pada Harga,
Validate Applied Rule,Validasikan Aturan yang Diterapkan,
Rule Description,Deskripsi Aturan,
Pricing Rule Help,Aturan Harga Bantuan,
Promotional Scheme Id,Id Skema Promosi,
Promotional Scheme,Skema Promosi,
Pricing Rule Brand,Merek Aturan Harga,
Pricing Rule Detail,Detail Aturan Harga,
Child Docname,Docname anak,
Rule Applied,Aturan Diterapkan,
Pricing Rule Item Code,Kode Item Aturan Harga,
Pricing Rule Item Group,Grup Item Aturan Harga,
Price Discount Slabs,Potongan Harga Diskon,
Promotional Scheme Price Discount,Diskon Harga Skema Promosi,
Product Discount Slabs,Potongan Diskon Produk,
Promotional Scheme Product Discount,Diskon Produk Skema Promosi,
Min Amount,Jumlah Min,
Max Amount,Jumlah Maks,
Discount Type,Jenis Diskon,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Kategori Pemotongan Pajak,
Edit Posting Date and Time,Mengedit Posting Tanggal dan Waktu,
Is Paid,Telah dibayar,
Is Return (Debit Note),Is Return (Debit Note),
Apply Tax Withholding Amount,Terapkan Pajak Pemotongan Amount,
Accounting Dimensions ,Dimensi Akuntansi,
Supplier Invoice Details,Pemasok Rincian Faktur,
Supplier Invoice Date,Tanggal Faktur Supplier,
Return Against Purchase Invoice,Retur Terhadap Faktur Pembelian,
Select Supplier Address,Pilih Pemasok Alamat,
Contact Person,Contact Person,
Select Shipping Address,Pilih Alamat Pengiriman,
Currency and Price List,Mata Uang dan Daftar Harga,
Price List Currency,Daftar Harga Mata uang,
Price List Exchange Rate,Daftar Harga Tukar,
Set Accepted Warehouse,Tetapkan Gudang yang Diterima,
Rejected Warehouse,Gudang Reject,
Warehouse where you are maintaining stock of rejected items,Gudang di mana Anda menyimpan barang-barang yang ditolak/reject,
Raw Materials Supplied,Bahan Baku Disupply,
Supplier Warehouse,Gudang Supplier,
Pricing Rules,Aturan Harga,
Supplied Items,Produk Disupply,
Total (Company Currency),Total (Perusahaan Mata Uang),
Net Total (Company Currency),Jumlah Bersih (Perusahaan Mata Uang),
Total Net Weight,Total Berat Bersih,
Shipping Rule,Aturan Pengiriman,
Purchase Taxes and Charges Template,Membeli Pajak dan Biaya Template,
Purchase Taxes and Charges,Pajak Pembelian dan Biaya,
Tax Breakup,Rincian pajak,
Taxes and Charges Calculation,Pajak dan Biaya Dihitung,
Taxes and Charges Added (Company Currency),Pajak dan Biaya Ditambahkan (Perusahaan Mata Uang),
Taxes and Charges Deducted (Company Currency),Pajak dan Biaya Dikurangi (Perusahaan Mata Uang),
Total Taxes and Charges (Company Currency),Jumlah Pajak dan Biaya (Perusahaan Mata Uang),
Taxes and Charges Added,Pajak dan Biaya Ditambahkan,
Taxes and Charges Deducted,Pajak dan Biaya Dikurangi,
Total Taxes and Charges,Jumlah Pajak dan Biaya,
Additional Discount,Potongan Tambahan,
Apply Additional Discount On,Terapkan tambahan Diskon Pada,
Additional Discount Amount (Company Currency),Jumlah Diskon Tambahan (dalam Mata Uang Perusahaan),
Additional Discount Percentage,Persentase Diskon Tambahan,
Additional Discount Amount,Jumlah Diskon Tambahan,
Grand Total (Company Currency),Jumlah Nilai Total (Mata Uang Perusahaan),
Rounding Adjustment (Company Currency),Penyesuaian Pembulatan (Mata Uang Perusahaan),
Rounded Total (Company Currency),Rounded Jumlah (Perusahaan Mata Uang),
In Words (Company Currency),Dalam Kata-kata (Perusahaan Mata Uang),
Rounding Adjustment,Penyesuaian Pembulatan,
In Words,Dalam Kata,
Total Advance,Jumlah Uang Muka,
Disable Rounded Total,Nonaktifkan Pembulatan Jumlah,
Cash/Bank Account,Rekening Kas / Bank,
Write Off Amount (Company Currency),Jumlah Nilai Write Off (mata uang perusahaan),
Set Advances and Allocate (FIFO),Tetapkan Uang Muka dan Alokasikan (FIFO),
Get Advances Paid,Dapatkan Uang Muka Dibayar,
Advances,Advances,
Terms,Istilah,
Terms and Conditions1,Syarat dan Conditions1,
Group same items,Kelompok item yang sama,
Print Language,cetak Bahasa,
"Once set, this invoice will be on hold till the set date","Setelah ditetapkan, faktur ini akan ditahan hingga tanggal yang ditetapkan",
Credit To,Kredit Untuk,
Party Account Currency,Akun Mata Uang per Party,
Against Expense Account,Terhadap Akun Biaya,
Inter Company Invoice Reference,Referensi Faktur Perusahaan Inter,
Is Internal Supplier,Apakah Pemasok Internal,
Start date of current invoice's period,Tanggal faktur periode saat ini mulai,
End date of current invoice's period,Tanggal akhir periode faktur saat ini,
Update Auto Repeat Reference,Perbarui Referensi Ulangan Otomatis,
Purchase Invoice Advance,Uang Muka Faktur Pembelian,
Purchase Invoice Item,Stok Barang Faktur Pembelian,
Quantity and Rate,Kuantitas dan Harga,
Received Qty,Qty Diterima,
Accepted Qty,Jumlah yang Diterima,
Rejected Qty,ditolak Qty,
UOM Conversion Factor,Faktor Konversi UOM,
Discount on Price List Rate (%),Diskon Harga Daftar Rate (%),
Price List Rate (Company Currency),Daftar Harga Rate (Perusahaan Mata Uang),
Rate ,Harga,
Rate (Company Currency),Rate (Perusahaan Mata Uang),
Amount (Company Currency),Nilai Jumlah (mata uang perusahaan),
Is Free Item,Apakah Barang Gratis,
Net Rate,Nilai Bersih / Net,
Net Rate (Company Currency),Tingkat Net (Perusahaan Mata Uang),
Net Amount (Company Currency),Jumlah Bersih (Perusahaan Mata Uang),
Item Tax Amount Included in Value,Jumlah Pajak Barang Termasuk dalam Nilai,
Landed Cost Voucher Amount,Jumlah Nilai Voucher Landing Cost,
Raw Materials Supplied Cost,Biaya Bahan Baku Disediakan,
Accepted Warehouse,Gudang Barang Diterima,
Serial No,Serial ada,
Rejected Serial No,Serial No Barang Ditolak,
Expense Head,Akun Kepala Biaya,
Is Fixed Asset,Apakah Aset Tetap,
Asset Location,Lokasi Aset,
Deferred Expense,Beban Ditangguhkan,
Deferred Expense Account,Akun Beban Ditangguhkan,
Service Stop Date,Tanggal Berhenti Layanan,
Enable Deferred Expense,Aktifkan Beban Ditangguhkan,
Service Start Date,Tanggal Mulai Layanan,
Service End Date,Tanggal Akhir Layanan,
Allow Zero Valuation Rate,Biarkan Zero Valuation Rate,
Item Tax Rate,Tarif Pajak Stok Barang,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Rinci tabel pajak diambil dari master Stok Barang sebagai string dan disimpan dalam bidang ini.\n Digunakan untuk Pajak dan Biaya,
Purchase Order Item,Stok Barang Order Pembelian,
Purchase Receipt Detail,Detail Kwitansi Pembelian,
Item Weight Details,Rincian Berat Item,
Weight Per Unit,Berat Per Unit,
Total Weight,Berat keseluruhan,
Weight UOM,Berat UOM,
Page Break,Halaman Istirahat,
Consider Tax or Charge for,Pertimbangkan Pajak atau Biaya untuk,
Valuation and Total,Penilaian dan Total,
Valuation,Valuation,
Add or Deduct,Penambahan atau Pengurangan,
Deduct,Pengurangan,
On Previous Row Amount,Pada Sebelumnya Row Jumlah,
On Previous Row Total,Jumlah Pada Row Sebelumnya,
On Item Quantity,Pada Kuantitas Barang,
Reference Row #,Referensi Row #,
Is this Tax included in Basic Rate?,Apakah Pajak ini termasuk dalam Basic Rate?,
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Jika dicentang, jumlah pajak akan dianggap sebagai sudah termasuk dalam Jumlah Tingkat Cetak / Print",
Account Head,Akun Kepala,
Tax Amount After Discount Amount,Jumlah pajak Setelah Diskon Jumlah,
Item Wise Tax Detail ,Rincian Pajak Bijak Item,
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Pajak standar template yang dapat diterapkan untuk semua Transaksi Pembelian. Template ini dapat berisi daftar kepala pajak dan juga kepala biaya lain seperti ""Pengiriman"", ""Asuransi"", ""Penanganan"" dll \n\n #### Catatan \n\n Tarif pajak Anda mendefinisikan sini akan menjadi tarif pajak standar untuk semua item ** **. Jika ada Item ** ** yang memiliki tarif yang berbeda, mereka harus ditambahkan dalam ** Pajak Stok Barang ** meja di ** Stok Barang ** menguasai.\n\n #### Deskripsi Kolom \n\n 1. Perhitungan Type: \n - Ini bisa berada di ** Net Jumlah ** (yang adalah jumlah dari jumlah dasar).\n - ** Pada Row Sebelumnya Jumlah / Amount ** (untuk pajak kumulatif atau biaya). Jika Anda memilih opsi ini, pajak akan diterapkan sebagai persentase dari baris sebelumnya (dalam tabel pajak) jumlah atau total.\n - ** Aktual ** (seperti yang disebutkan).\n 2. Akun Kepala: Account buku di mana pajak ini akan dipesan \n 3. Biaya Center: Jika pajak / biaya adalah penghasilan (seperti pengiriman) atau beban perlu dipesan terhadap Cost Center.\n 4. Keterangan: Deskripsi pajak (yang akan dicetak dalam faktur / tanda kutip).\n 5. Tarif: Tarif Pajak.\n 6. Jumlah: Jumlah Pajak.\n 7. Total: Total kumulatif ke titik ini.\n 8. Entrikan Row: Jika berdasarkan ""Sebelumnya Row Jumlah"" Anda dapat memilih nomor baris yang akan diambil sebagai dasar untuk perhitungan ini (default adalah baris sebelumnya).\n 9. Pertimbangkan Pajak atau Biaya untuk: Pada bagian ini Anda dapat menentukan apakah pajak / biaya hanya untuk penilaian (bukan bagian dari total) atau hanya total (tidak menambah nilai Stok Barang) atau keduanya.\n 10. Menambah atau Dikurangi: Apakah Anda ingin menambah atau mengurangi pajak.",
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.,
Address and Contacts,Alamat dan Kontak,
Contact List,Daftar kontak,
Hidden list maintaining the list of contacts linked to Shareholder,Daftar tersembunyi menyimpan daftar kontak yang terhubung dengan Pemegang Saham,
Specify conditions to calculate shipping amount,Tentukan kondisi untuk menghitung jumlah pengiriman,
Shipping Rule Label,Peraturan Pengiriman Label,
example: Next Day Shipping,Contoh: Hari Berikutnya Pengiriman,
Shipping Rule Type,Jenis aturan pengiriman,
Shipping Account,Account Pengiriman,
Calculate Based On,Hitung Berbasis On,
Fixed,Tetap,
Net Weight,Berat Bersih,
Shipping Amount,Jumlah Pengiriman,
Shipping Rule Conditions,Aturan Pengiriman Kondisi,
Restrict to Countries,Batasi ke Negara,
Valid for Countries,Berlaku untuk Negara,
Shipping Rule Condition,Kondisi / Aturan Pengiriman,
A condition for a Shipping Rule,Sebuah kondisi untuk Aturan Pengiriman,
From Value,Dari Nilai,
To Value,Untuk Dinilai,
Shipping Rule Country,Aturan Pengiriman – Negara,
Subscription Period,Periode Langganan,
Subscription Start Date,Tanggal Mulai Berlangganan,
Cancelation Date,Tanggal Pembatalan,
Trial Period Start Date,Tanggal Mulai Periode Percobaan,
Trial Period End Date,Tanggal Akhir Periode Uji Coba,
Current Invoice Start Date,Tanggal Mulai Faktur Saat Ini,
Current Invoice End Date,Tanggal Akhir Faktur Saat Ini,
Days Until Due,Hari Sampai Karena,
Number of days that the subscriber has to pay invoices generated by this subscription,Jumlah hari di mana pelanggan harus membayar faktur yang dihasilkan oleh langganan ini,
Cancel At End Of Period,Batalkan Pada Akhir Periode,
Generate Invoice At Beginning Of Period,Hasilkan Faktur Pada Awal Periode,
Plans,Rencana,
Discounts,Diskon,
Additional DIscount Percentage,Persentase Diskon Tambahan,
Additional DIscount Amount,Jumlah Potongan Tambahan,
Subscription Invoice,Berlangganan Faktur,
Subscription Plan,Paket Langganan,
Cost,Biaya,
Billing Interval,Interval Penagihan,
Billing Interval Count,Jumlah Interval Penagihan,
"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Jumlah interval untuk bidang interval misalnya jika Interval adalah &#39;Hari&#39; dan Billing Interval Count adalah 3, faktur akan dihasilkan setiap 3 hari",
Payment Plan,Rencana pembayaran,
Subscription Plan Detail,Detail Paket Langganan,
Plan,Rencana,
Subscription Settings,Pengaturan Langganan,
Grace Period,Masa tenggang,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Jumlah hari setelah tanggal faktur telah berlalu sebelum membatalkan langganan atau menandai langganan sebagai tidak dibayar,
Prorate,Prorata,
Tax Rule,Aturan pajak,
Tax Type,Jenis pajak,
Use for Shopping Cart,Gunakan untuk Keranjang Belanja,
Billing City,Kota Penagihan,
Billing County,Daerah Penagihan,
Billing State,Negara penagihan,
Billing Zipcode,Penagihan Kode Pos,
Billing Country,Negara Penagihan,
Shipping City,Pengiriman Kota,
Shipping County,Pengiriman County,
Shipping State,Negara Pengirim,
Shipping Zipcode,Pengiriman Kode Pos,
Shipping Country,Pengiriman Negara,
Tax Withholding Account,Akun Pemotongan Pajak,
Tax Withholding Rates,Tarif Pemotongan Pajak,
Rates,Tarif,
Tax Withholding Rate,Tingkat Pemotongan Pajak,
Single Transaction Threshold,Ambang Transaksi Tunggal,
Cumulative Transaction Threshold,Ambang Transaksi Kumulatif,
Agriculture Analysis Criteria,Kriteria Analisis Pertanian,
Linked Doctype,Linked Doctype,
Water Analysis,Analisis air,
Soil Analysis,Analisis tanah,
Plant Analysis,Analisis Tanaman,
Fertilizer,Pupuk,
Soil Texture,Tekstur Tanah,
Weather,Cuaca,
Agriculture Manager,Manajer Pertanian,
Agriculture User,Pengguna pertanian,
Agriculture Task,Tugas Pertanian,
Task Name,Tugas Nama,
Start Day,Mulai hari,
End Day,Hari Akhir,
Holiday Management,Manajemen liburan,
Ignore holidays,Abaikan hari libur,
Previous Business Day,Hari Bisnis Sebelumnya,
Next Business Day,Hari bisnis selanjutnya,
Urgent,Mendesak,
Crop,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,
Insurance details,Detail asuransi,
Policy number,Nomor polisi,
Insurer,Penanggung,
Insured value,Nilai yang diasuransikan,
Insurance Start Date,Tanggal Mulai Asuransi,
Insurance End Date,Tanggal Akhir Asuransi,
Comprehensive Insurance,Asuransi Komprehensif,
Maintenance Required,Pemeliharaan Diperlukan,
Check if Asset requires Preventive Maintenance or Calibration,Periksa apakah Aset memerlukan Pemeliharaan atau Kalibrasi Pencegahan,
Booked Fixed Asset,Aset Tetap yang Dipesan,
Purchase Receipt Amount,Jumlah Penerimaan Pembelian,
Default Finance Book,Buku Keuangan Default,
Quality Manager,Manajer Mutu,
Asset Category Name,Aset Kategori Nama,
Depreciation Options,Opsi Penyusutan,
Enable Capital Work in Progress Accounting,Aktifkan Modal Kerja dalam Progress Accounting,
Finance Book Detail,Detail Buku Keuangan,
Asset Category Account,Aset Kategori Akun,
Fixed Asset Account,Akun Aset Tetap,
Accumulated Depreciation Account,Akun Penyusutan Akumulasi,
Depreciation Expense Account,Akun Beban Penyusutan,
Capital Work In Progress Account,Modal Bekerja di Akun Kemajuan,
Asset Finance Book,Buku Aset Keuangan,
Written Down Value,Nilai Tertulis,
Expected Value After Useful Life,Nilai diharapkan Setelah Hidup Berguna,
Rate of Depreciation,Tingkat Depresiasi,
In Percentage,Dalam Persentase,
Maintenance Team,Tim Pemeliharaan,
Maintenance Manager Name,Nama Manajer Pemeliharaan,
Maintenance Tasks,Tugas pemeliharaan,
Manufacturing User,Manufaktur Pengguna,
Asset Maintenance Log,Log pemeliharaan aset,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Tipe Pemeliharaan,
Maintenance Status,Status pemeliharaan,
Planned,Berencana,
Has Certificate ,Memiliki Sertifikat,
Certificate,Sertifikat,
Actions performed,Tindakan dilakukan,
Asset Maintenance Task,Tugas Pemeliharaan Aset,
Maintenance Task,Tugas pemeliharaan,
Preventive Maintenance,Pemeliharaan preventif,
Calibration,Kalibrasi,
2 Yearly,2 Tahunan,
Certificate Required,Sertifikat yang dibutuhkan,
Assign to Name,Tetapkan ke Nama,
Next Due Date,Tanggal Jatuh Tempo Berikutnya,
Last Completion Date,Tanggal penyelesaian terakhir,
Asset Maintenance Team,Tim Pemeliharaan Aset,
Maintenance Team Name,Nama Tim Pemeliharaan,
Maintenance Team Members,Anggota Tim Pemeliharaan,
Purpose,Tujuan,
Stock Manager,Pengelola Persediaan,
Asset Movement Item,Item Pergerakan Aset,
Source Location,Sumber Lokasi,
From Employee,Dari Karyawan,
Target Location,Lokasi Target,
To Employee,Kepada Karyawan,
Asset Repair,Perbaikan Aset,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Tanggal Kegagalan,
Assign To Name,Berikan nama,
Repair Status,Status perbaikan,
Error Description,Deskripsi kesalahan,
Downtime,Downtime,
Repair Cost,Biaya perbaikan,
Manufacturing Manager,Manajer Manufaktur,
Current Asset Value,Nilai Aktiva Lancar,
New Asset Value,Nilai Aset Baru,
Make Depreciation Entry,Membuat Penyusutan Masuk,
Finance Book Id,Id Buku Keuangan,
Location Name,Nama lokasi,
Parent Location,Lokasi Orangtua,
Is Container,Adalah kontainer,
Check if it is a hydroponic unit,Periksa apakah itu unit hidroponik,
Location Details,Detail Lokasi,
Latitude,Lintang,
Longitude,Garis bujur,
Area,Daerah,
Area UOM,Area UOM,
Tree Details,Detail pohon,
Maintenance Team Member,Anggota Tim Pemeliharaan,
Team Member,Anggota tim,
Maintenance Role,Peran Pemeliharaan,
Buying Settings,Setting Pembelian,
Settings for Buying Module,Pengaturan untuk Modul Pembelian,
Supplier Naming By,Penamaan Supplier Berdasarkan,
Default Supplier Group,Grup Pemasok Default,
Default Buying Price List,Standar Membeli Daftar Harga,
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,
Fetch items based on Default Supplier.,Ambil item berdasarkan Pemasok Default.,
Required By,Diperlukan Oleh,
Order Confirmation No,Konfirmasi Pesanan No,
Order Confirmation Date,Tanggal Konfirmasi Pesanan,
Customer Mobile No,Nomor Seluler Pelanggan,
Customer Contact Email,Email Kontak Pelanggan,
Set Target Warehouse,Tetapkan Gudang Target,
Sets 'Warehouse' in each row of the Items table.,Set &#39;Gudang&#39; di setiap baris tabel Item.,
Supply Raw Materials,Pasokan Bahan Baku,
Purchase Order Pricing Rule,Aturan Harga Pesanan Pembelian,
Set Reserve Warehouse,Tetapkan Gudang Cadangan,
In Words will be visible once you save the Purchase Order.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Purchase Order.,
Advance Paid,Pembayaran Dimuka,
Tracking,Pelacakan,
% Billed,Ditagih %,
% Received,% Diterima,
Ref SQ,Ref SQ,
Inter Company Order Reference,Referensi Pesanan Antar Perusahaan,
Supplier Part Number,Supplier Part Number,
Billed Amt,Nilai Tagihan,
Warehouse and Reference,Gudang dan Referensi,
To be delivered to customer,Akan dikirimkan ke pelanggan,
Material Request Item,Item Permintaan Material,
Supplier Quotation Item,Quotation Stok Barang Supplier,
Against Blanket Order,Menentang Pesanan Selimut,
Blanket Order,Pesanan Selimut,
Blanket Order Rate,Tingkat Pesanan Selimut,
Returned Qty,Qty Retur,
Purchase Order Item Supplied,Purchase Order Stok Barang Disediakan,
BOM Detail No,No. Rincian BOM,
Stock Uom,UOM Persediaan,
Raw Material Item Code,Bahan Baku Item Code,
Supplied Qty,Qty Disupply,
Purchase Receipt Item Supplied,Nota Penerimaan Stok Barang Disediakan,
Current Stock,Persediaan saat ini,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Untuk pemasok individual,
Supplier Detail,pemasok Detil,
Link to Material Requests,Tautan ke Permintaan Material,
Message for Supplier,Pesan Supplier,
Request for Quotation Item,Permintaan Quotation Barang,
Required Date,Diperlukan Tanggal,
Request for Quotation Supplier,Permintaan Quotation Pemasok,
Send Email,Kirim Email,
Quote Status,Status Penawaran,
Download PDF,Unduh PDF,
Supplier of Goods or Services.,Supplier Stok Barang atau Jasa.,
Name and Type,Nama dan Jenis,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Standar Rekening Bank,
Is Transporter,Apakah Transporter,
Represents Company,Mewakili Perusahaan,
Supplier Type,Supplier Type,
Allow Purchase Invoice Creation Without Purchase Order,Izinkan Pembuatan Faktur Pembelian Tanpa Pesanan Pembelian,
Allow Purchase Invoice Creation Without Purchase Receipt,Izinkan Pembuatan Faktur Pembelian Tanpa Tanda Terima Pembelian,
Warn RFQs,Peringatkan untuk RFQs,
Warn POs,Peringatkan untuk POs,
Prevent RFQs,Mencegah RFQs,
Prevent POs,Mencegah PO,
Billing Currency,Mata Uang Penagihan,
Default Payment Terms Template,Template Persyaratan Pembayaran Default,
Block Supplier,Blokir Pemasok,
Hold Type,Hold Type,
Leave blank if the Supplier is blocked indefinitely,Biarkan kosong jika Pemasok diblokir tanpa batas,
Default Payable Accounts,Standar Akun Hutang,
Mention if non-standard payable account,Sebutkan jika akun hutang non-standar,
Default Tax Withholding Config,Default Pemotongan Pajak Pajak,
Supplier Details,Rincian Supplier,
Statutory info and other general information about your Supplier,Info Statutory dan informasi umum lainnya tentang Supplier Anda,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Supplier Alamat,
Link to material requests,Link ke permintaan bahan,
Rounding Adjustment (Company Currency,Penyesuaian Pembulatan (Mata Uang Perusahaan,
Auto Repeat Section,Bagian Ulangi Otomatis,
Is Subcontracted,Apakah Subkontrak?,
Lead Time in days,Masa Tenggang dalam hari,
Supplier Score,Skor Pemasok,
Indicator Color,Indikator Warna,
Evaluation Period,Periode Evaluasi,
Per Week,Per minggu,
Per Month,Per bulan,
Per Year,Per tahun,
Scoring Setup,Setup Scoring,
Weighting Function,Fungsi pembobotan,
"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Variabel Scorecard dapat digunakan, dan juga: {total_score} (skor total dari periode tersebut), {period_number} (jumlah periode sampai sekarang)",
Scoring Standings,Klasemen Skor,
Criteria Setup,Setup kriteria,
Load All Criteria,Muat Semua Kriteria,
Scoring Criteria,Kriteria penilaian,
Scorecard Actions,Tindakan Scorecard,
Warn for new Request for Quotations,Peringatkan untuk Permintaan Kuotasi baru,
Warn for new Purchase Orders,Peringatkan untuk Pesanan Pembelian baru,
Notify Supplier,Beritahu Pemasok,
Notify Employee,Beritahu Karyawan,
Supplier Scorecard Criteria,Kriteria Scorecard Pemasok,
Criteria Name,Nama kriteria,
Max Score,Skor Maks,
Criteria Formula,Formula Kriteria,
Criteria Weight,Kriteria Berat,
Supplier Scorecard Period,Periode Scorecard Supplier,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Skor Periode,
Calculations,Perhitungan,
Criteria,Kriteria,
Variables,Variabel,
Supplier Scorecard Setup,Penyiapan Scorecard Pemasok,
Supplier Scorecard Scoring Criteria,Kriteria penilaian scorecard pemasok,
Score,Skor,
Supplier Scorecard Scoring Standing,Penilai Scorecard Penilai Berdiri,
Standing Name,Nama berdiri,
Purple,Ungu,
Yellow,Kuning,
Orange,Jeruk,
Min Grade,Min Grade,
Max Grade,Max Grade,
Warn Purchase Orders,Peringatkan untuk Pesanan Pembelian,
Prevent Purchase Orders,Cegah Pesanan Pembelian,
Employee ,Karyawan,
Supplier Scorecard Scoring Variable,Variabel Scorecard Supplier Variabel,
Variable Name,Nama variabel,
Parameter Name,Nama parameter,
Supplier Scorecard Standing,Supplier Scorecard Berdiri,
Notify Other,Beritahu Lainnya,
Supplier Scorecard Variable,Supplier Scorecard Variabel,
Call Log,Laporan panggilan,
Received By,Diterima oleh,
Caller Information,Informasi Penelepon,
Contact Name,Nama Kontak,
Lead ,Memimpin,
Lead Name,Nama Prospek,
Ringing,Dering,
Missed,Tidak terjawab,
Call Duration in seconds,Durasi Panggilan dalam detik,
Recording URL,Merekam URL,
Communication Medium,Komunikasi Medium,
Communication Medium Type,Jenis Media Komunikasi,
Voice,Suara,
Catch All,Tangkap Semua,
"If there is no assigned timeslot, then communication will be handled by this group","Jika tidak ada slot waktu yang ditetapkan, maka komunikasi akan ditangani oleh grup ini",
Timeslots,Slot waktu,
Communication Medium Timeslot,Timeslot Komunikasi Sedang,
Employee Group,Grup Karyawan,
Appointment,Janji,
Scheduled Time,Waktu yang Dijadwalkan,
Unverified,Tidak diverifikasi,
Customer Details,Rincian Pelanggan,
Phone Number,Nomor telepon,
Skype ID,ID Skype,
Linked Documents,Dokumen Tertaut,
Appointment With,Janji dengan,
Calendar Event,Acara Kalender,
Appointment Booking Settings,Pengaturan Pemesanan Pengangkatan,
Enable Appointment Scheduling,Aktifkan Penjadwalan Janji Temu,
Agent Details,Detail Agen,
Availability Of Slots,Ketersediaan Slot,
Number of Concurrent Appointments,Jumlah Janji Serentak,
Agents,Agen,
Appointment Details,Detail Pengangkatan,
Appointment Duration (In Minutes),Durasi Pengangkatan (Dalam Menit),
Notify Via Email,Beritahu Via Email,
Notify customer and agent via email on the day of the appointment.,Beri tahu pelanggan dan agen melalui email pada hari perjanjian.,
Number of days appointments can be booked in advance,Jumlah hari janji dapat dipesan terlebih dahulu,
Success Settings,Pengaturan Sukses,
Success Redirect URL,URL Pengalihan Sukses,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Biarkan kosong untuk rumah. Ini relatif terhadap URL situs, misalnya &quot;tentang&quot; akan dialihkan ke &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Slot Pemesanan Janji Temu,
Day Of Week,Hari dalam seminggu,
From Time ,Dari Waktu,
Campaign Email Schedule,Jadwal Email Kampanye,
Send After (days),Kirim Setelah (hari),
Signed,Tertanda,
Party User,Pengguna Partai,
Unsigned,Tidak bertanda tangan,
Fulfilment Status,Status Pemenuhan,
N/A,T / A,
Unfulfilled,Tidak terpenuhi,
Partially Fulfilled,Sebagian Terpenuhi,
Fulfilled,Terpenuhi,
Lapsed,Bekas,
Contract Period,Masa kontrak,
Signee Details,Detail Signee,
Signee,Signee,
Signed On,Masuk,
Contract Details,Detail Kontrak,
Contract Template,Template Kontrak,
Contract Terms,Ketentuan Kontrak,
Fulfilment Details,Rincian Pemenuhan,
Requires Fulfilment,Membutuhkan Pemenuhan,
Fulfilment Deadline,Batas Waktu Pemenuhan,
Fulfilment Terms,Syarat Pemenuhan,
Contract Fulfilment Checklist,Daftar Periksa Pemenuhan Kontrak,
Requirement,Kebutuhan,
Contract Terms and Conditions,Syarat dan Ketentuan Kontrak,
Fulfilment Terms and Conditions,Syarat dan Ketentuan Pemenuhan,
Contract Template Fulfilment Terms,Ketentuan Pemenuhan Template Kontrak,
Email Campaign,Kampanye Email,
Email Campaign For ,Kampanye Email Untuk,
Lead is an Organization,Lead adalah sebuah Organisasi,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Nama orang,
Lost Quotation,Quotation hilang,
Interested,Tertarik,
Converted,Dikonversi,
Do Not Contact,Jangan Hubungi,
From Customer,Dari Pelanggan,
Campaign Name,Nama Promosi Kampanye,
Follow Up,Mengikuti,
Next Contact By,Kontak Selanjutnya Oleh,
Next Contact Date,Tanggal Komunikasi Selanjutnya,
Ends On,Berakhir Pada,
Address & Contact,Alamat & Kontak,
Mobile No.,Nomor Ponsel,
Lead Type,Jenis Prospek,
Channel Partner,Chanel Mitra,
Consultant,Konsultan,
Market Segment,Segmen Pasar,
Industry,Industri,
Request Type,Permintaan Type,
Product Enquiry,Produk Enquiry,
Request for Information,Request for Information,
Suggestions,Saran,
Blog Subscriber,Pelanggan Blog,
LinkedIn Settings,Pengaturan LinkedIn,
Company ID,identitas perusahaan,
OAuth Credentials,Kredensial OAuth,
Consumer Key,Kunci Konsumen,
Consumer Secret,Rahasia Konsumen,
User Details,Detail Pengguna,
Person URN,Orang URN,
Session Status,Status Sesi,
Lost Reason Detail,Detail Alasan yang Hilang,
Opportunity Lost Reason,Peluang Hilang Alasan,
Potential Sales Deal,Kesepakatan potensial Penjualan,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Peluang Dari,
Customer / Lead Name,Nama Pelanggan / Prospek,
Opportunity Type,Peluang Type,
Converted By,Dikonversi oleh,
Sales Stage,Panggung Penjualan,
Lost Reason,Alasan Kehilangan,
Expected Closing Date,Tanggal Penutupan yang Diharapkan,
To Discuss,Untuk Diskusikan,
With Items,Dengan Produk,
Probability (%),Probabilitas (%),
Contact Info,Informasi Kontak,
Customer / Lead Address,Alamat Pelanggan / Prospek,
Contact Mobile No,Kontak Mobile No,
Enter name of campaign if source of enquiry is campaign,Entrikan nama kampanye jika sumber penyelidikan adalah kampanye,
Opportunity Date,Peluang Tanggal,
Opportunity Item,Peluang Stok Barang,
Basic Rate,Tarif Dasar,
Stage Name,Nama panggung,
Social Media Post,Posting Media Sosial,
Post Status,Status Posting,
Posted,Diposting,
Share On,Bagikan Di,
Twitter,Indonesia,
LinkedIn,LinkedIn,
Twitter Post Id,ID Posting Twitter,
LinkedIn Post Id,ID Posting LinkedIn,
Tweet,Menciak,
Twitter Settings,Pengaturan Twitter,
API Secret Key,Kunci Rahasia API,
Term Name,istilah Nama,
Term Start Date,Jangka Mulai Tanggal,
Term End Date,Istilah Tanggal Akhir,
Academics User,Pengguna Akademis,
Academic Year Name,Nama Tahun Akademis,
Article,Artikel,
LMS User,Pengguna LMS,
Assessment Criteria Group,Kriteria penilaian Grup,
Assessment Group Name,Nama penilaian Grup,
Parent Assessment Group,Induk Penilaian Grup,
Assessment Name,penilaian Nama,
Grading Scale,Skala penilaian,
Examiner,Pemeriksa,
Examiner Name,Nama pemeriksa,
Supervisor,Pengawas,
Supervisor Name,Nama pengawas,
Evaluate,Evaluasi,
Maximum Assessment Score,Skor Penilaian Maksimum,
Assessment Plan Criteria,Kriteria Rencana Penilaian,
Maximum Score,Skor maksimum,
Result,Hasil,
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.",
Skip User creation for new Student,Lewati pembuatan Pengguna untuk Siswa baru,
"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Secara default, Pengguna baru dibuat untuk setiap Siswa baru. Jika diaktifkan, tidak ada Pengguna baru yang akan dibuat saat Siswa baru dibuat.",
Instructor Records to be created by,Catatan Instruktur yang akan dibuat oleh,
Employee Number,Jumlah Karyawan,
Fee Category,biaya Kategori,
Fee Component,biaya Komponen,
Fees Category,biaya Kategori,
Fee Schedule,Jadwal biaya,
Fee Structure,Struktur biaya,
EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
Fee Creation Status,Status Penciptaan Biaya,
In Process,Dalam Proses,
Send Payment Request Email,Kirim Permintaan Pembayaran Email,
Student Category,Mahasiswa Kategori,
Fee Breakup for each student,Fee Breakup untuk setiap siswa,
Total Amount per Student,Jumlah Total per Siswa,
Institution,Lembaga,
Fee Schedule Program,Program Jadwal Biaya,
Student Batch,Mahasiswa Batch,
Total Students,Jumlah Siswa,
Fee Schedule Student Group,Jadwal Biaya Kelompok Pelajar,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Sertakan Pembayaran,
Send Payment Request,Kirim Permintaan Pembayaran,
Student Details,Rincian siswa,
Student Email,Email Siswa,
Grading Scale Name,Skala Grading Nama,
Grading Scale Intervals,Grading Scale Interval,
Intervals,interval,
Grading Scale Interval,Grading Scale Interval,
Grade Code,Kode kelas,
Threshold,Ambang,
Grade Description,kelas Keterangan,
Guardian,Wali,
Guardian Name,Nama wali,
Alternate Number,Jumlah alternatif,
Occupation,Pendudukan,
Work Address,kerja Alamat,
Guardian Of ,wali Of,
Students,siswa,
Guardian Interests,wali Minat,
Guardian Interest,wali Tujuan,
Interest,Bunga,
Guardian Student,wali Mahasiswa,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Log Instruktur,
Other details,Detail lainnya,
Option,Pilihan,
Is Correct,Benar,
Program Name,Program Nama,
Program Abbreviation,Singkatan Program,
Courses,Kursus,
Is Published,Diterbitkan,
Allow Self Enroll,Izinkan Self Enroll,
Is Featured,Diunggulkan,
Intro Video,Video Pengantar,
Program Course,Kursus Program,
School House,Asrama Sekolah,
Boarding Student,Siswa Asrama,
Check this if the Student is residing at the Institute's Hostel.,Periksa ini jika Siswa berada di Institute&#39;s Hostel.,
Walking,Berjalan,
Institute's Bus,Bus Institut,
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,
Reason For Leaving,Alasan untuk pergi,
Student Admission,Mahasiswa Pendaftaran,
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,
Group Based On,Kelompok Berdasarkan,
Students HTML,siswa HTML,
Group Based on,Grup Berdasarkan,
Student Group Name,Nama Kelompok Mahasiswa,
Max Strength,Max Kekuatan,
Set 0 for no limit,Set 0 untuk tidak ada batas,
Instructors,instruktur,
Student Group Creation Tool,Alat Grup Pelajar Creation,
Leave blank if you make students groups per year,Biarkan kosong jika Anda membuat kelompok siswa per tahun,
Get Courses,Dapatkan Program,
Separate course based Group for every Batch,Kelompok terpisah berdasarkan Kelompok untuk setiap Batch,
Leave unchecked if you don't want to consider batch while making course based groups. ,Biarkan tidak dicentang jika Anda tidak ingin mempertimbangkan batch sambil membuat kelompok berbasis kursus.,
Student Group Creation Tool Course,Kursus Grup Pelajar Penciptaan Alat,
Course Code,Kode Course,
Student Group Instructor,Instruktur Kelompok Mahasiswa,
Student Group Student,Mahasiswa Grup Pelajar,
Group Roll Number,Nomor roll grup,
Student Guardian,Wali murid,
Relation,Hubungan,
Mother,Ibu,
Father,Ayah,
Student Language,Bahasa siswa,
Student Leave Application,Mahasiswa Cuti Aplikasi,
Mark as Present,Tandai sebagai Hadir,
Student Log,Mahasiswa Log,
Academic,Akademis,
Achievement,Pencapaian,
Student Report Generation Tool,Alat Pembangkitan Laporan Siswa,
Include All Assessment Group,Termasuk Semua Kelompok Penilaian,
Show Marks,Tampilkan Tanda,
Add letterhead,Tambahkan kop surat,
Print Section,Bagian Cetak,
Total Parents Teacher Meeting,Pertemuan Guru Orang Tua Total,
Attended by Parents,Diikuti oleh Orangtua,
Assessment Terms,Ketentuan Penilaian,
Student Sibling,Mahasiswa Sibling,
Studying in Same Institute,Belajar di Same Institute,
NO,TIDAK,
YES,IYA,
Student Siblings,Saudara mahasiswa,
Topic Content,Konten Topik,
Amazon MWS Settings,Pengaturan MWS Amazon,
ERPNext Integrations,ERPNext Integrasi,
Enable Amazon,Aktifkan Amazon,
MWS Credentials,Kredensial MWS,
Seller ID,ID Penjual,
AWS Access Key ID,ID Kunci Akses AWS,
MWS Auth Token,MWS Auth Token,
Market Place ID,ID Place Pasar,
AE,AE,
AU,AU,
BR,BR,
CA,CA,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
IN,DI,
JP,JP,
IT,SAYA T,
MX,MX,
UK,UK,
US,KAMI,
Customer Type,Tipe pelanggan,
Market Place Account Group,Kelompok Akun Market Place,
After Date,Setelah Tanggal,
Amazon will synch data updated after this date,Amazon akan menyinkronkan data yang diperbarui setelah tanggal ini,
Sync Taxes and Charges,Sinkronkan Pajak dan Tagihan,
Get financial breakup of Taxes and charges data by Amazon ,Dapatkan perpisahan keuangan dari Pajak dan biaya data oleh Amazon,
Sync Products,Sinkronkan Produk,
Always sync your products from Amazon MWS before synching the Orders details,Selalu sinkronkan produk Anda dari Amazon MWS sebelum menyinkronkan detail Pesanan,
Sync Orders,Sinkronkan Pesanan,
Click this button to pull your Sales Order data from Amazon MWS.,Klik tombol ini untuk mengambil data Sales Order Anda dari Amazon MWS.,
Enable Scheduled Sync,Aktifkan Sinkronisasi Terjadwal,
Check this to enable a scheduled Daily synchronization routine via scheduler,Periksa ini untuk mengaktifkan rutin sinkronisasi harian yang dijadwalkan melalui penjadwal,
Max Retry Limit,Max Retry Limit,
Exotel Settings,Pengaturan Exotel,
Account SID,SID Akun,
API Token,Token API,
GoCardless Mandate,Mandat GoCardless,
Mandate,Mandat,
GoCardless Customer,Pelanggan GoCardless,
GoCardless Settings,Pengaturan GoCardless,
Webhooks Secret,Webhooks Secret,
Plaid Settings,Pengaturan Kotak-kotak,
Synchronize all accounts every hour,Sinkronkan semua akun setiap jam,
Plaid Client ID,ID Klien Kotak-kotak,
Plaid Secret,Rahasia Kotak-kotak,
Plaid Environment,Lingkungan Kotak-kotak,
sandbox,bak pasir,
development,pengembangan,
production,produksi,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Pengaturan aplikasi,
Token Endpoint,Token Endpoint,
Scope,Cakupan,
Authorization Settings,Pengaturan Otorisasi,
Authorization Endpoint,Endpoint Otorisasi,
Authorization URL,URL otorisasi,
Quickbooks Company ID,ID Perusahaan Quickbooks,
Company Settings,Pengaturan Perusahaan,
Default Shipping Account,Akun Pengiriman Default,
Default Warehouse,Standar Gudang,
Default Cost Center,Standar Biaya Pusat,
Undeposited Funds Account,Rekening Dana yang Belum Ditentukan,
Shopify Log,Shopify Log,
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,
Customer Group will set to selected group while syncing customers from Shopify,Grup Pelanggan akan diatur ke grup yang dipilih saat menyinkronkan pelanggan dari Shopify,
For Company,Untuk Perusahaan,
Cash Account will used for Sales Invoice creation,Cash Account akan digunakan untuk kreasi Sales Invoice,
Update Price from Shopify To ERPNext Price List,Perbarui Harga dari Shopify Ke Daftar Harga ERPNext,
Default Warehouse to to create Sales Order and Delivery Note,Gudang Default untuk membuat Urutan Penjualan dan Catatan Pengiriman,
Sales Order Series,Seri Pesanan Penjualan,
Import Delivery Notes from Shopify on Shipment,Catatan Pengiriman Impor dari Shopify on Shipment,
Delivery Note Series,Seri Catatan Pengiriman,
Import Sales Invoice from Shopify if Payment is marked,Impor Faktur Penjualan dari Shopify jika Pembayaran ditandai,
Sales Invoice Series,Seri Invoice Penjualan,
Shopify Tax Account,Akun Pajak Shopify,
Shopify Tax/Shipping Title,Judul Pajak / Pengiriman Shopify,
ERPNext Account,Akun ERPNext,
Shopify Webhook Detail,Detail Shopify Webhook,
Webhook ID,ID Webhook,
Tally Migration,Tally Migration,
Master Data,Data master,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Data yang diekspor dari Tally yang terdiri dari Bagan Akun, Pelanggan, Pemasok, Alamat, Item, dan UOM",
Is Master Data Processed,Apakah Data Master Diproses,
Is Master Data Imported,Apakah Data Master Diimpor,
Tally Creditors Account,Akun Tally Kreditor,
Creditors Account set in Tally,Akun Kreditur diatur dalam Penghitungan,
Tally Debtors Account,Rekening Debitur Tally,
Debtors Account set in Tally,Akun Debitur diatur dalam Penghitungan,
Tally Company,Tally Company,
Company Name as per Imported Tally Data,Nama Perusahaan sesuai Data Penghitungan yang Diimpor,
Default UOM,UOM default,
UOM in case unspecified in imported data,UOM jika tidak ditentukan dalam data yang diimpor,
ERPNext Company,Perusahaan ERPN,
Your Company set in ERPNext,Perusahaan Anda diatur di ERPNext,
Processed Files,File yang Diproses,
Parties,Pesta,
UOMs,UOMs,
Vouchers,Voucher,
Round Off Account,Akun Pembulatan,
Day Book Data,Data Buku Hari,
Day Book Data exported from Tally that consists of all historic transactions,Data Buku Harian diekspor dari Tally yang terdiri dari semua transaksi bersejarah,
Is Day Book Data Processed,Apakah Data Buku Hari Diproses,
Is Day Book Data Imported,Apakah Data Buku Hari Diimpor,
Woocommerce Settings,Pengaturan Woocommerce,
Enable Sync,Aktifkan Sinkronisasi,
Woocommerce Server URL,URL Server Woocommerce,
Secret,Rahasia,
API consumer key,Kunci konsumen API,
API consumer secret,Rahasia konsumen API,
Tax Account,Akun Pajak,
Freight and Forwarding Account,Akun Freight dan Forwarding,
Creation User,Pengguna Pembuatan,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Pengguna yang akan digunakan untuk membuat Pelanggan, Barang dan Pesanan Penjualan. Pengguna ini harus memiliki izin yang relevan.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Gudang ini akan digunakan untuk membuat Pesanan Penjualan. Gudang fallback adalah &quot;Toko&quot;.,
"The fallback series is ""SO-WOO-"".",Seri fallback adalah &quot;SO-WOO-&quot;.,
This company will be used to create Sales Orders.,Perusahaan ini akan digunakan untuk membuat Pesanan Penjualan.,
Delivery After (Days),Pengiriman setelah (hari),
This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Ini adalah offset default (hari) untuk Tanggal Pengiriman dalam Pesanan Penjualan. Pengganti mundur adalah 7 hari dari tanggal penempatan pesanan.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Ini adalah UOM default yang digunakan untuk item dan pesanan Penjualan. UOM mundur adalah &quot;Tidak&quot;.,
Endpoints,Titik akhir,
Endpoint,Endpoint,
Antibiotic Name,Nama Antibiotik,
Healthcare Administrator,Administrator Kesehatan,
Laboratory User,Pengguna Laboratorium,
Is Inpatient,Apakah rawat inap,
Default Duration (In Minutes),Durasi Default (Dalam Menit),
Body Part,Bagian tubuh,
Body Part Link,Tautan Bagian Tubuh,
HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
Procedure Template,Template Prosedur,
Procedure Prescription,Prosedur Resep,
Service Unit,Unit Layanan,
Consumables,Bahan habis pakai,
Consume Stock,Konsumsi Saham,
Invoice Consumables Separately,Faktur Habis Secara Terpisah,
Consumption Invoiced,Konsumsi Faktur,
Consumable Total Amount,Jumlah Total Habis,
Consumption Details,Rincian Konsumsi,
Nursing User,Pengguna perawatan,
Clinical Procedure Item,Item Prosedur Klinis,
Invoice Separately as Consumables,Invoice secara terpisah sebagai Consumable,
Transfer Qty,Transfer Qty,
Actual Qty (at source/target),Jumlah Aktual (di sumber/target),
Is Billable,Apakah bisa ditagih,
Allow Stock Consumption,Izinkan Konsumsi Saham,
Sample UOM,Contoh UOM,
Collection Details,Detail Koleksi,
Change In Item,Ubah Item,
Codification Table,Tabel Kodifikasi,
Complaints,Keluhan,
Dosage Strength,Kekuatan Dosis,
Strength,Kekuatan,
Drug Prescription,Resep obat,
Drug Name / Description,Nama / Deskripsi Obat,
Dosage,Dosis,
Dosage by Time Interval,Dosis berdasarkan interval waktu,
Interval,Selang,
Interval UOM,Interval UOM,
Hour,Jam,
Update Schedule,Perbarui Jadwal,
Exercise,Olahraga,
Difficulty Level,Tingkat kesulitan,
Counts Target,Menghitung Target,
Counts Completed,Hitungan Selesai,
Assistance Level,Tingkat Bantuan,
Active Assist,Bantuan Aktif,
Exercise Name,Nama Latihan,
Body Parts,Bagian tubuh,
Exercise Instructions,Instruksi Latihan,
Exercise Video,Video Latihan,
Exercise Steps,Langkah Latihan,
Steps,Langkah,
Steps Table,Tabel Langkah,
Exercise Type Step,Langkah Jenis Latihan,
Max number of visit,Jumlah kunjungan maksimal,
Visited yet,Dikunjungi belum,
Reference Appointments,Janji Referensi,
Valid till,Berlaku sampai,
Fee Validity Reference,Referensi Validitas Biaya,
Basic Details,Detail Dasar,
HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
Mobile,Mobile,
Phone (R),Telepon (R),
Phone (Office),Telepon (Kantor),
Employee and User Details,Detail Karyawan dan Pengguna,
Hospital,RSUD,
Appointments,Janji,
Practitioner Schedules,Jadwal Praktisi,
Charges,Biaya,
Out Patient Consulting Charge,Biaya Konsultasi Pasien Keluar,
Default Currency,Standar Mata Uang,
Healthcare Schedule Time Slot,Slot Waktu Jadwal Perawatan Kesehatan,
Parent Service Unit,Unit Layanan Orang Tua,
Service Unit Type,Jenis Unit Layanan,
Allow Appointments,Izinkan Janji,
Allow Overlap,Izinkan Tumpang Tindih,
Inpatient Occupancy,Hunian Pasien Rawat Inap,
Occupancy Status,Status Hunian,
Vacant,Kosong,
Occupied,Sibuk,
Item Details,Item detail,
UOM Conversion in Hours,Konversi UOM dalam Jam,
Rate / UOM,Rate / UOM,
Change in Item,Ubah Item,
Out Patient Settings,Keluar Pengaturan Pasien,
Patient Name By,Nama Pasien Oleh,
Patient Name,Nama pasien,
Link Customer to Patient,Tautkan Pelanggan ke Pasien,
"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Jika dicek, pelanggan akan dibuat, dipetakan ke Patient. Faktur pasien akan dibuat terhadap Nasabah ini. Anda juga bisa memilih Customer yang ada saat membuat Patient.",
Default Medical Code Standard,Standar Kode Standar Medis,
Collect Fee for Patient Registration,Kumpulkan Biaya untuk Registrasi Pasien,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Memeriksa ini akan membuat Pasien baru dengan status Dinonaktifkan secara default dan hanya akan diaktifkan setelah menagih Biaya Pendaftaran.,
Registration Fee,Biaya pendaftaran,
Automate Appointment Invoicing,Otomatiskan Faktur Janji Temu,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Kelola submisi Invoice Janji Pasien dan batalkan secara otomatis Pertemuan Pasien,
Enable Free Follow-ups,Aktifkan Tindak Lanjut Gratis,
Number of Patient Encounters in Valid Days,Jumlah Pertemuan Pasien di Hari yang Berlaku,
The number of free follow ups (Patient Encounters in valid days) allowed,Jumlah tindak lanjut gratis (Pertemuan Pasien dalam hari yang valid) yang diizinkan,
Valid Number of Days,Jumlah hari yang valid,
Time period (Valid number of days) for free consultations,Jangka waktu (Jumlah hari yang valid) untuk konsultasi gratis,
Default Healthcare Service Items,Item Layanan Kesehatan Default,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Anda dapat mengkonfigurasi Item default untuk biaya konsultasi penagihan, item konsumsi prosedur dan kunjungan rawat inap",
Clinical Procedure Consumable Item,Prosedur Klinis Barang Konsumsi,
Default Accounts,Akun Default,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Akun pendapatan default yang akan digunakan jika tidak ditetapkan di Praktisi Kesehatan untuk memesan biaya Penunjukan.,
Default receivable accounts to be used to book Appointment charges.,Akun piutang default yang akan digunakan untuk memesan biaya janji temu.,
Out Patient SMS Alerts,SMS Pemberitahuan Pasien Luar,
Patient Registration,Pendaftaran Pasien,
Registration Message,Pesan Pendaftaran,
Confirmation Message,Pesan Konfirmasi,
Avoid Confirmation,Hindari Konfirmasi,
Do not confirm if appointment is created for the same day,Jangan mengkonfirmasi jika janji dibuat untuk hari yang sama,
Appointment Reminder,Pengingat Penunjukan,
Reminder Message,Pesan pengingat,
Remind Before,Ingatkan sebelumnya,
Laboratory Settings,Pengaturan Laboratorium,
Create Lab Test(s) on Sales Invoice Submission,Buat Tes Lab pada Pengiriman Faktur Penjualan,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Memeriksa ini akan membuat Tes Lab yang ditentukan dalam Faktur Penjualan saat dikirimkan.,
Create Sample Collection document for Lab Test,Buat dokumen Pengumpulan Sampel untuk Uji Lab,
Checking this will create a Sample Collection document  every time you create a Lab Test,Memeriksa ini akan membuat dokumen Koleksi Sampel setiap kali Anda membuat Tes Lab,
Employee name and designation in print,Nama karyawan dan sebutan di cetak,
Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,Centang ini jika Anda ingin Nama dan Penunjukan Karyawan terkait dengan Pengguna yang mengirimkan dokumen untuk dicetak di Laporan Tes Lab.,
Do not print or email Lab Tests without Approval,Jangan cetak atau email Tes Lab tanpa Persetujuan,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,Memeriksa ini akan membatasi pencetakan dan pengiriman dokumen Lab Test melalui email kecuali berstatus Disetujui.,
Custom Signature in Print,Tanda Tangan Khusus di Cetak,
Laboratory SMS Alerts,SMS Pemberitahuan Laboratorium,
Result Printed Message,Hasil Cetak Pesan,
Result Emailed Message,Hasil Pesan Email,
Check In,Mendaftar,
Check Out,Periksa,
HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
A Positive,Positif,
A Negative,Negatif,
AB Positive,AB Positif,
AB Negative,AB Negatif,
B Positive,B Positif,
B Negative,B Negatif,
O Positive,O Positif,
O Negative,O negatif,
Date of birth,Tanggal Lahir,
Admission Scheduled,Pendaftaran Terjadwal,
Discharge Scheduled,Discharge Dijadwalkan,
Discharged,Boleh pulang,
Admission Schedule Date,Jadwal Pendaftaran Tanggal,
Admitted Datetime,Tanggal Data yang Diakui,
Expected Discharge,Expected Discharge,
Discharge Date,Tanggal Discharge,
Lab Prescription,Resep Lab,
Lab Test Name,Nama Tes Lab,
Test Created,Uji coba,
Submitted Date,Tanggal dikirim,
Approved Date,Tanggal yang Disetujui,
Sample ID,Contoh ID,
Lab Technician,Teknisi laboratorium,
Report Preference,Preferensi Laporan,
Test Name,Nama uji,
Test Template,Uji Template,
Test Group,Grup Uji,
Custom Result,Hasil Kustom,
LabTest Approver,Pendekatan LabTest,
Add Test,Tambahkan Test,
Normal Range,Jarak normal,
Result Format,Format Hasil,
Single,Tunggal,
Compound,Senyawa,
Descriptive,Deskriptif,
Grouped,Dikelompokkan,
No Result,Tidak ada hasil,
This value is updated in the Default Sales Price List.,Nilai ini diperbarui dalam Daftar Harga Penjualan Standar.,
Lab Routine,Lab Rutin,
Result Value,Nilai hasil,
Require Result Value,Mengharuskan Nilai Hasil,
Normal Test Template,Template Uji Normal,
Patient Demographics,Demografi pasien,
HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
Middle Name (optional),Nama Tengah (Opsional),
Inpatient Status,Status Rawat Inap,
"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Jika &quot;Tautkan Pelanggan ke Pasien&quot; dicentang di Pengaturan Perawatan Kesehatan dan Pelanggan yang ada tidak dipilih, Pelanggan akan dibuat untuk Pasien ini untuk mencatat transaksi di modul Akun.",
Personal and Social History,Sejarah Pribadi dan Sosial,
Marital Status,Status Perkawinan,
Married,Menikah,
Divorced,Bercerai,
Widow,Janda,
Patient Relation,Hubungan Pasien,
"Allergies, Medical and Surgical History","Alergi, Riwayat Medis dan Bedah",
Allergies,Alergi,
Medication,Obat,
Medical History,Riwayat kesehatan,
Surgical History,Sejarah Bedah,
Risk Factors,Faktor risiko,
Occupational Hazards and Environmental Factors,Bahaya Kerja dan Faktor Lingkungan,
Other Risk Factors,Faktor Risiko Lainnya,
Patient Details,Rincian pasien,
Additional information regarding the patient,Informasi tambahan mengenai pasien,
HLC-APP-.YYYY.-,APLIKASI-HLC-.YYYY.-,
Patient Age,Usia pasien,
Get Prescribed Clinical Procedures,Dapatkan Prosedur Klinis yang Diresepkan,
Therapy,Terapi,
Get Prescribed Therapies,Dapatkan Terapi Resep,
Appointment Datetime,Tanggal Janji Temu,
Duration (In Minutes),Durasi (Dalam Menit),
Reference Sales Invoice,Referensi Faktur Penjualan,
More Info,Info Selengkapnya,
Referring Practitioner,Merujuk Praktisi,
Reminded,Mengingatkan,
HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
Assessment Template,Template Penilaian,
Assessment Datetime,Waktu Penilaian,
Assessment Description,Deskripsi Penilaian,
Assessment Sheet,Lembar Penilaian,
Total Score Obtained,Total Skor yang Diperoleh,
Scale Min,Skala Min,
Scale Max,Skala Max,
Patient Assessment Detail,Detail Penilaian Pasien,
Assessment Parameter,Parameter Penilaian,
Patient Assessment Parameter,Parameter Penilaian Pasien,
Patient Assessment Sheet,Lembar Penilaian Pasien,
Patient Assessment Template,Template Penilaian Pasien,
Assessment Parameters,Parameter Penilaian,
Parameters,Parameter,
Assessment Scale,Skala Penilaian,
Scale Minimum,Skala Minimum,
Scale Maximum,Skala Maksimum,
HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
Encounter Date,Tanggal Pertemuan,
Encounter Time,Waktu Pertemuan,
Encounter Impression,Tayangan Pertemuan,
Symptoms,Gejala,
In print,Di cetak,
Medical Coding,Pengkodean medis,
Procedures,Prosedur,
Therapies,Terapi,
Review Details,Rincian ulasan,
Patient Encounter Diagnosis,Diagnosis Pertemuan Pasien,
Patient Encounter Symptom,Gejala Pertemuan Pasien,
HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
Attach Medical Record,Lampirkan Rekam Medis,
Reference DocType,Referensi DocType,
Spouse,Pasangan,
Family,Keluarga,
Schedule Details,Detail Jadwal,
Schedule Name,Nama Jadwal,
Time Slots,Slot waktu,
Practitioner Service Unit Schedule,Jadwal Unit Pelayanan Praktisi,
Procedure Name,Nama Prosedur,
Appointment Booked,Penunjukan Dipesan,
Procedure Created,Prosedur Dibuat,
HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
Collected By,Dikumpulkan Oleh,
Particulars,Particulars,
Result Component,Komponen Hasil,
HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
Therapy Plan Details,Rincian Rencana Terapi,
Total Sessions,Sesi Total,
Total Sessions Completed,Total Sesi Selesai,
Therapy Plan Detail,Detail Rencana Terapi,
No of Sessions,Jumlah Sesi,
Sessions Completed,Sesi Selesai,
Tele,Tele,
Exercises,Latihan,
Therapy For,Terapi Untuk,
Add Exercises,Tambahkan Latihan,
Body Temperature,Suhu tubuh,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Adanya demam (suhu&gt; 38,5 ° C / 101,3 ° F atau suhu bertahan&gt; 38 ° C / 100,4 ° F)",
Heart Rate / Pulse,Heart Rate / Pulse,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Denyut nadi orang dewasa adalah antara 50 dan 80 denyut per menit.,
Respiratory rate,Tingkat pernapasan,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Rentang referensi normal untuk orang dewasa adalah 16-20 napas / menit (RCP 2012),
Tongue,Lidah,
Coated,Dilapisi,
Very Coated,Sangat Dilapisi,
Normal,Normal,
Furry,Berbulu,
Cuts,Potongan,
Abdomen,Abdomen,
Bloated,Bengkak,
Fluid,Cairan,
Constipated,Sembelit,
Reflexes,Refleks,
Hyper,Hiper,
Very Hyper,Sangat Hebat,
One Sided,Satu Sisi,
Blood Pressure (systolic),Tekanan Darah (sistolik),
Blood Pressure (diastolic),Tekanan Darah (diastolik),
Blood Pressure,Tekanan darah,
"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Tekanan darah istirahat normal pada orang dewasa sekitar 120 mmHg sistolik, dan diastolik 80 mmHg, disingkat &quot;120/80 mmHg&quot;",
Nutrition Values,Nilai gizi,
Height (In Meter),Tinggi (In Meter),
Weight (In Kilogram),Berat (dalam Kilogram),
BMI,BMI,
Hotel Room,Ruang hotel,
Hotel Room Type,Tipe kamar hotel,
Capacity,Kapasitas,
Extra Bed Capacity,Kapasitas Tempat Tidur Tambahan,
Hotel Manager,Manajer hotel,
Hotel Room Amenity,Kamar Hotel Amenity,
Billable,Dapat ditagih,
Hotel Room Package,Paket kamar hotel,
Amenities,Fasilitas,
Hotel Room Pricing,Harga kamar hotel,
Hotel Room Pricing Item,Item Harga Kamar Hotel,
Hotel Room Pricing Package,Paket Harga Kamar Hotel,
Hotel Room Reservation,Reservasi Kamar Hotel,
Guest Name,Nama tamu,
Late Checkin,Late Checkin,
Booked,Memesan,
Hotel Reservation User,Pengguna Reservasi Hotel,
Hotel Room Reservation Item,Item Pemesanan Kamar Hotel,
Hotel Settings,Pengaturan Hotel,
Default Taxes and Charges,Pajak default dan Biaya,
Default Invoice Naming Series,Seri Penamaan Faktur Default,
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,
Email Sent To,Email dikirim ke,
Select Users,Pilih Pengguna,
Send Emails At,Kirim Email pada,
Reminder,Peringatan,
Daily Work Summary Group User,Pengguna Grup Ringkasan Pekerjaan Harian,
email,surel,
Parent Department,Departemen Orang Tua,
Leave Block List,Cuti Block List,
Days for which Holidays are blocked for this department.,Hari yang Holidays diblokir untuk departemen ini.,
Leave Approver,Approver Cuti,
Expense Approver,Approver Klaim Biaya,
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.-,
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 Other Income,Pendapatan Karyawan Lainnya,
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,
More Details,Keterangan lebih lanjut,
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,
Leave,Meninggalkan,
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",
The fraction of daily wages to be paid for half-day attendance,Bagian dari gaji harian yang harus dibayar untuk kehadiran setengah hari,
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,
Effective from,Efektif dari,
Allow Tax Exemption,Izinkan Pembebasan Pajak,
"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Jika diaktifkan, Pernyataan Pembebasan Pajak akan dipertimbangkan untuk penghitungan pajak pendapatan.",
Standard Tax Exemption Amount,Jumlah Bebas Pajak Standar,
Taxable Salary Slabs,LABA Gaji Kena Pajak,
Taxes and Charges on Income Tax,Pajak dan Retribusi atas Pajak Pendapatan,
Other Taxes and Charges,Pajak dan Biaya Lainnya,
Income Tax Slab Other Charges,Pajak Penghasilan Slab Biaya Lain,
Min Taxable Income,Penghasilan Kena Pajak Min,
Max Taxable Income,Penghasilan Kena Pajak Maks,
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,
Exempted from Income Tax,Dibebaskan dari Pajak Pendapatan,
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.",
Do Not Include in Total,Jangan Sertakan Total,
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,
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,
Loan repayment,Pembayaran pinjaman,
Employee Loan,Pinjaman karyawan,
Total Principal Amount,Jumlah Pokok Jumlah,
Total Interest Amount,Jumlah Bunga Total,
Total Loan Repayment,Total Pembayaran Pinjaman,
net pay info,net Info pay,
Gross Pay - Total Deduction - Loan Repayment,Pay Gross - Jumlah Pengurangan - Pelunasan Pinjaman,
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,
Against Loan ,Melawan Pinjaman,
Loan Interest Accrual,Bunga Kredit Akrual,
Amounts,Jumlah,
Pending Principal Amount,Jumlah Pokok Tertunda,
Payable Principal Amount,Jumlah Pokok Hutang,
Paid Principal Amount,Jumlah Pokok yang Dibayar,
Paid Interest Amount,Jumlah Bunga yang Dibayar,
Process Loan Interest Accrual,Memproses Bunga Pinjaman Akrual,
Repayment Schedule Name,Nama Jadwal Pembayaran,
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,
Repayment Details,Rincian Pembayaran,
Loan Repayment Detail,Detail Pembayaran Pinjaman,
Loan Security Name,Nama Keamanan Pinjaman,
Unit Of Measure,Satuan ukuran,
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,
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,
No. of days from due date until which penalty won't be charged in case of delay in loan repayment,Jumlah hari dari tanggal jatuh tempo hingga denda tidak akan dibebankan jika terjadi keterlambatan pembayaran pinjaman,
Pledge,Janji,
Post Haircut Amount,Posting Jumlah Potong Rambut,
Process Type,Jenis Proses,
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,
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,
Random,Acak,
No of Visits,Tidak ada Kunjungan,
MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
Maintenance Date,Tanggal Pemeliharaan,
Maintenance Time,Waktu Pemeliharaan,
Completion Status,Status Penyelesaian,
Partially Completed,Selesai Sebagian,
Fully Completed,Sepenuhnya Selesai,
Unscheduled,Tidak Terjadwal,
Breakdown,Rincian,
Purposes,Tujuan,
Customer Feedback,Umpan balik Pelanggan,
Maintenance Visit Purpose,Pemeliharaan Visit Tujuan,
Work Done,Pekerjaan Selesai,
Against Document No,Terhadap No. Dokumen,
Against Document Detail No,Terhadap Detail Dokumen No.,
MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
Order Type,Tipe Order,
Blanket Order Item,Blanket Order Item,
Ordered Quantity,Qty Terpesan/Terorder,
Item to be manufactured or repacked,Item yang akan diproduksi atau dikemas ulang,
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Jumlah Kuantitas Produk yang dihasilkan dari proses manufakturing / repacking dari jumlah kuantitas bahan baku yang disediakan,
Set rate of sub-assembly item based on BOM,Tetapkan tarif barang sub-rakitan berdasarkan BOM,
Allow Alternative Item,Izinkan Item Alternatif,
Item UOM,Stok Barang UOM,
Conversion Rate,Tingkat konversi,
Rate Of Materials Based On,Laju Bahan Berbasis On,
With Operations,Dengan Operasi,
Manage cost of operations,Kelola biaya operasional,
Transfer Material Against,Transfer Material Terhadap,
Routing,Rute,
Materials,Material/Barang,
Quality Inspection Required,Diperlukan Inspeksi Kualitas,
Quality Inspection Template,Template Inspeksi Kualitas,
Scrap,Membatalkan,
Scrap Items,scrap Produk,
Operating Cost,Biaya Operasi,
Raw Material Cost,Biaya Bahan Baku,
Scrap Material Cost,Scrap Material Biaya,
Operating Cost (Company Currency),Biaya operasi (Perusahaan Mata Uang),
Raw Material Cost (Company Currency),Biaya Bahan Baku (Mata Uang Perusahaan),
Scrap Material Cost(Company Currency),Scrap Material Cost (Perusahaan Mata Uang),
Total Cost,Total Biaya,
Total Cost (Company Currency),Total Biaya (Mata Uang Perusahaan),
Materials Required (Exploded),Bahan yang dibutuhkan (Meledak),
Exploded Items,Item yang meledak,
Show in Website,Tampilkan di Situs Web,
Item Image (if not slideshow),Gambar Stok Barang (jika tidak slideshow),
Thumbnail,Kuku ibu jari,
Website Specifications,Website Spesifikasi,
Show Items,Tampilkan Produk,
Show Operations,Tampilkan Operasi,
Website Description,Website Description,
BOM Explosion Item,Rincian Barang BOM,
Qty Consumed Per Unit,Kuantitas Dikonsumsi Per Unit,
Include Item In Manufacturing,Sertakan Barang Dalam Manufaktur,
BOM Item,Komponen BOM,
Item operation,Operasi barang,
Rate & Amount,Tarif &amp; Jumlah,
Basic Rate (Company Currency),Tarif Dasar (Mata Uang Perusahaan),
Scrap %,Scrap%,
Original Item,Barang Asli,
BOM Operation,BOM Operation,
Operation Time ,Waktu operasi,
In minutes,Dalam menit,
Batch Size,Ukuran Batch,
Base Hour Rate(Company Currency),Dasar Tarif Perjam (Mata Uang Perusahaan),
Operating Cost(Company Currency),Biaya operasi (Perusahaan Mata Uang),
BOM Scrap Item,BOM Scrap Barang,
Basic Amount (Company Currency),Nilai Dasar (Mata Uang Perusahaan),
BOM Update Tool,Alat Pembaruan BOM,
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Ganti BOM tertentu di semua BOM lain yang menggunakannya. Hal ini akan mengganti link BOM lama, memperbarui biaya dan membuat ulang tabel ""Rincian Barang BOM"" sesuai BOM baru. Juga memperbarui harga terbaru di semua BOM.",
Replace BOM,Ganti BOM,
Current BOM,BOM saat ini,
The BOM which will be replaced,BOM yang akan diganti,
The new BOM after replacement,The BOM baru setelah penggantian,
Replace,Mengganti,
Update latest price in all BOMs,Perbarui harga terbaru di semua BOM,
BOM Website Item,BOM Situs Persediaan,
BOM Website Operation,BOM Operasi Situs,
Operation Time,Waktu Operasi,
PO-JOB.#####,PO-JOB. #####,
Timing Detail,Detail waktu,
Time Logs,Log Waktu,
Total Time in Mins,Total Waktu dalam Menit,
Operation ID,ID Operasi,
Transferred Qty,Ditransfer Qty,
Job Started,Pekerjaan Dimulai,
Started Time,Waktu mulai,
Current Time,Waktu saat ini,
Job Card Item,Item Kartu Kerja,
Job Card Time Log,Log Waktu Kartu Pekerjaan,
Time In Mins,Time In Mins,
Completed Qty,Qty Selesai,
Manufacturing Settings,Pengaturan manufaktur,
Raw Materials Consumption,Konsumsi Bahan Baku,
Allow Multiple Material Consumption,Izinkan Penggunaan Beberapa Material Sekaligus,
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,
Razorpay Details,Detail Razorpay,
Subscription ID,ID Langganan,
Customer ID,ID Pelanggan,
Subscription Activated,Langganan Diaktifkan,
Subscription Start ,Berlangganan Mulai,
Subscription End,Langganan Berakhir,
Non Profit Member,Anggota nirlaba,
Membership Status,Status Keanggotaan,
Member Since,Anggota Sejak,
Payment ID,ID Pembayaran,
Membership Settings,Pengaturan Keanggotaan,
Enable RazorPay For Memberships,Aktifkan RazorPay Untuk Keanggotaan,
RazorPay Settings,Pengaturan RazorPay,
Billing Cycle,Siklus Penagihan,
Billing Frequency,Frekuensi Penagihan,
"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Jumlah siklus penagihan yang harus ditagih kepada pelanggan. Misalnya, jika pelanggan membeli keanggotaan 1 tahun yang harus ditagih setiap bulan, nilai ini harus 12.",
Razorpay Plan ID,ID Paket Razorpay,
Volunteer Name,Nama Relawan,
Volunteer Type,Jenis Relawan,
Availability and Skills,Ketersediaan dan Keterampilan,
Availability,Tersedianya,
Weekends,Akhir pekan,
Availability Timeslot,Ketersediaan Timeslot,
Morning,Pagi,
Afternoon,Sore,
Evening,Malam,
Anytime,Kapan saja,
Volunteer Skills,Keterampilan Relawan,
Volunteer Skill,Keterampilan Relawan,
Homepage,Homepage,
Hero Section Based On,Bagian Pahlawan Berdasarkan,
Homepage Section,Bagian Beranda,
Hero Section,Bagian Pahlawan,
Tag Line,klimaks,
Company Tagline for website homepage,Perusahaan Tagline untuk homepage website,
Company Description for website homepage,Deskripsi Perusahaan untuk homepage website,
Homepage Slideshow,Tampilan Beranda Beranda,
"URL for ""All Products""",URL untuk &quot;Semua Produk&quot;,
Products to be shown on website homepage,Produk yang akan ditampilkan pada homepage website,
Homepage Featured Product,Homepage Produk Pilihan,
route,rute,
Section Based On,Bagian Berdasarkan,
Section Cards,Kartu Bagian,
Number of Columns,Jumlah kolom,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Jumlah kolom untuk bagian ini. 3 kartu akan ditampilkan per baris jika Anda memilih 3 kolom.,
Section HTML,Bagian HTML,
Use this field to render any custom HTML in the section.,Gunakan bidang ini untuk menyajikan HTML khusus apa pun di bagian.,
Section Order,Bagian pesanan,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Urutan bagian mana yang akan muncul. 0 adalah yang pertama, 1 yang kedua dan seterusnya.",
Homepage Section Card,Kartu Bagian Beranda,
Subtitle,Subtitle,
Products Settings,Pengaturan produk,
Home Page is Products,Home Page adalah Produk,
"If checked, the Home page will be the default Item Group for the website","Jika diperiksa, Home page akan menjadi default Barang Group untuk website",
Show Availability Status,Tampilkan Status Ketersediaan,
Product Page,Halaman Produk,
Products per Page,Produk per Halaman,
Enable Field Filters,Aktifkan Filter Bidang,
Item Fields,Bidang Barang,
Enable Attribute Filters,Aktifkan Filter Atribut,
Attributes,Atribut,
Hide Variants,Sembunyikan Varian,
Website Attribute,Atribut Situs Web,
Attribute,Atribut,
Website Filter Field,Bidang Filter Situs Web,
Activity Cost,Biaya Aktivitas,
Billing Rate,Tarip penagihan,
Costing Rate,Tingkat Biaya,
title,judul,
Projects User,Pengguna Proyek,
Default Costing Rate,Standar Tingkat Biaya,
Default Billing Rate,Standar Tingkat Penagihan,
Dependent Task,Tugas Dependent,
Project Type,Jenis proyek,
% Complete Method,% Metode Lengkap,
Task Completion,tugas Penyelesaian,
Task Progress,tugas Kemajuan,
% Completed,Selesai %,
From Template,Dari Templat,
Project will be accessible on the website to these users,Proyek akan dapat diakses di website pengguna ini,
Copied From,Disalin dari,
Start and End Dates,Mulai dan Akhir Tanggal,
Actual Time (in Hours),Waktu Aktual (dalam Jam),
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,
Message will be sent to the users to get their status on the Project,Pesan akan dikirim ke pengguna untuk mendapatkan status mereka di Proyek,
Projects Manager,Manajer Proyek,
Project Template,Template Proyek,
Project Template Task,Tugas Template Proyek,
Begin On (Days),Mulai Pada (Hari),
Duration (Days),Durasi (Hari),
Project Update,Pembaruan Proyek,
Project User,proyek Pengguna,
View attachments,Lihat lampiran,
Projects Settings,Pengaturan Proyek,
Ignore Workstation Time Overlap,Abaikan Waktu Workstation Tumpang Tindih,
Ignore User Time Overlap,Abaikan Waktu Pengguna Tumpang Tindih,
Ignore Employee Time Overlap,Abaikan Waktu Karyawan Tumpang Tindih,
Weight,Berat,
Parent Task,Tugas orang tua,
Timeline,Garis waktu,
Expected Time (in hours),Waktu yang diharapkan (dalam jam),
% Progress,% Selesai,
Is Milestone,Adalah tonggak,
Task Description,Deskripsi Tugas,
Dependencies,Ketergantungan,
Dependent Tasks,Tugas Tanggungan,
Depends on Tasks,Tergantung pada Tugas,
Actual Start Date (via 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,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Detil karyawan,
Billing Details,Detail penagihan,
Total Billable Hours,Total Jam Ditagih,
Total Billed Hours,Total Jam Ditagih,
Total Costing Amount,Jumlah Total Biaya,
Total Billable Amount,Jumlah Total Ditagih,
Total Billed Amount,Jumlah Total Ditagih,
% Amount Billed,% Jumlah Ditagih,
Hrs,Hrs,
Costing Amount,Nilai Jumlah Biaya,
Corrective/Preventive,Korektif / Pencegahan,
Corrective,Perbaikan,
Preventive,Pencegahan,
Resolution,Resolusi,
Resolutions,Resolusi,
Quality Action Resolution,Resolusi Tindakan Kualitas,
Quality Feedback Parameter,Parameter Umpan Balik Kualitas,
Quality Feedback Template Parameter,Parameter Template Umpan Balik Kualitas,
Quality Goal,Tujuan Kualitas,
Monitoring Frequency,Frekuensi Pemantauan,
Weekday,Hari kerja,
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,
Child Procedure,Prosedur Anak,
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.,
Lower Deduction Certificate,Sertifikat Pemotongan Lebih Rendah,
Certificate Details,Rincian Sertifikat,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194Aku,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,nomor sertifikat,
Deductee Details,Rincian Pemotongan,
PAN No,PAN Tidak,
Validity Details,Detail Validitas,
Rate Of TDS As Per Certificate,Tarif TDS Sesuai Sertifikat,
Certificate Limit,Batas Sertifikat,
Invoice Series Prefix,Awalan Seri Faktur,
Active Menu,Menu Aktif,
Restaurant Menu,Menu Restoran,
Price List (Auto created),Daftar Harga (Auto dibuat),
Restaurant Manager,Manajer restoran,
Restaurant Menu Item,Item Menu Restoran,
Restaurant Order Entry,Entri Pemesanan Restoran,
Restaurant Table,Meja restoran,
Click Enter To Add,Klik Enter To Add,
Last Sales Invoice,Faktur penjualan terakhir,
Current Order,Pesanan saat ini,
Restaurant Order Entry Item,Item Item Pemesanan Restoran,
Served,Melayani,
Restaurant Reservation,Reservasi Restoran,
Waitlisted,Daftar tunggu,
No Show,Tidak menunjukkan,
No of People,Tidak ada orang,
Reservation Time,Waktu Reservasi,
Reservation End Time,Reservasi Akhir Waktu,
No of Seats,Tidak ada tempat duduk,
Minimum Seating,Tempat Duduk Minimal,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Pantau Kampanye Penjualan. Pantau Prospek, Penawaran, Perintah Penjualan dll dari Kampanye untuk mengukur Return on Investment.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Jadwal Kampanye,
Buyer of Goods and Services.,Pembeli Stok Barang dan Jasa.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Akun Bank Perusahaan Default,
From Lead,Dari Prospek,
Account Manager,Manajer Akuntansi,
Allow Sales Invoice Creation Without Sales Order,Izinkan Pembuatan Faktur Penjualan Tanpa Pesanan Penjualan,
Allow Sales Invoice Creation Without Delivery Note,Izinkan Pembuatan Faktur Penjualan Tanpa Nota Pengiriman,
Default Price List,Standar List Harga,
Primary Address and Contact Detail,Alamat Utama dan Detail Kontak,
"Select, to make the customer searchable with these fields","Pilih, untuk membuat pelanggan dapat ditelusuri dengan bidang ini",
Customer Primary Contact,Kontak utama pelanggan,
"Reselect, if the chosen contact is edited after save","Pilih ulang, jika kontak yang dipilih akan diedit setelah menyimpan",
Customer Primary Address,Alamat utama pelanggan,
"Reselect, if the chosen address is edited after save","Pilih ulang, jika alamat yang dipilih diedit setelah simpan",
Primary Address,alamat utama,
Mention if non-standard receivable account,Menyebutkan jika non-standar piutang,
Credit Limit and Payment Terms,Batas Kredit dan Persyaratan Pembayaran,
Additional information regarding the customer.,Informasi tambahan mengenai customer.,
Sales Partner and Commission,Penjualan Mitra dan Komisi,
Commission Rate,Tingkat Komisi,
Sales Team Details,Rincian Tim Penjualan,
Customer POS id,ID POS pelanggan,
Customer Credit Limit,Batas Kredit Pelanggan,
Bypass Credit Limit Check at Sales Order,Bataskan cek batas kredit pada Sales Order,
Industry Type,Jenis Produksi,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Instalasi Tanggal,
Installation Time,Waktu Installasi,
Installation Note Item,Laporan Instalasi Stok Barang,
Installed Qty,Terpasang Qty,
Lead Source,Sumber Prospek,
Period Start Date,Tanggal Mulai Periode,
Period End Date,Tanggal Akhir Masa,
Cashier,Kasir,
Difference,Perbedaan,
Modes of Payment,Mode Pembayaran,
Linked Invoices,Faktur Tertaut,
POS Closing Voucher Details,Detail Voucher Penutupan POS,
Collected Amount,Jumlah yang Dikumpulkan,
Expected Amount,Jumlah yang Diharapkan,
POS Closing Voucher Invoices,Faktur Voucher Penutupan POS,
Quantity of Items,Kuantitas Item,
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Menggabungkan sekumpulan **Barang-barang** menjadi **Barang** lain. Hal ini berguna bila anda menyusun **Barang-barang** tertentu menjadi sebuah paket dan anda mengelola persediaan **Barang-barang** paket dan bukan sekumpulan **Barang**. **Barang** paket akan menampilkan ""Tidak"" pada ""Barang Stok"" dan ""Ya"" pada ""Barang Jualan"". Sebagai contoh: jika anda menjual Laptop dan Ransel secara terpisah namun memiliki harga khusus bila pelanggan membeli keduanya, maka Laptop + Backpack akan menjadi barang Bundel Produk baru. Catatan: BOM = Bill of Materials",
Parent Item,Induk Stok Barang,
List items that form the package.,Daftar item yang membentuk paket.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Penawaran Kepada,
Rate at which customer's currency is converted to company's base currency,Tingkat di mana mata uang pelanggan dikonversi ke mata uang dasar perusahaan,
Rate at which Price list currency is converted to company's base currency,Tingkat di mana mata uang Daftar Harga dikonversi ke mata uang dasar perusahaan,
Additional Discount and Coupon Code,Diskon Tambahan dan Kode Kupon,
Referral Sales Partner,Rujukan Mitra Penjualan,
In Words will be visible once you save the Quotation.,Dalam Kata-kata akan terlihat sekali Anda menyimpan Quotation tersebut.,
Term Details,Rincian Term,
Quotation Item,Produk/Barang Penawaran,
Against Doctype,Terhadap Doctype,
Against Docname,Terhadap Docname,
Additional Notes,catatan tambahan,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Lewati Catatan Pengiriman,
In Words will be visible once you save the Sales Order.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Sales Order.,
Track this Sales Order against any Project,Melacak Order Penjualan ini terhadap Proyek apapun,
Billing and Delivery Status,Status Penagihan dan Pengiriman,
Not Delivered,Tidak Terkirim,
Fully Delivered,Sepenuhnya Terkirim,
Partly Delivered,Terkirim Sebagian,
Not Applicable,Tidak Berlaku,
%  Delivered,% Terkirim,
% of materials delivered against this Sales Order,% Dari materi yang Terkirim terhadap Sales Order ini,
% of materials billed against this Sales Order,% Bahan ditagih terhadap Sales Order ini,
Not Billed,Tidak Ditagih,
Fully Billed,Sepenuhnya Ditagih,
Partly Billed,Sebagian Ditagih,
Ensure Delivery Based on Produced Serial No,Pastikan Pengiriman Berdasarkan Nomor Seri yang Diproduksi No,
Supplier delivers to Customer,Pemasok mengirim ke Pelanggan,
Delivery Warehouse,Gudang Pengiriman,
Planned Quantity,Direncanakan Kuantitas,
For Production,Untuk Produksi,
Work Order Qty,Perintah Kerja Qty,
Produced Quantity,Jumlah Diproduksi,
Used for Production Plan,Digunakan untuk Rencana Produksi,
Sales Partner Type,Jenis Mitra Penjualan,
Contact No.,Hubungi Nomor,
Contribution (%),Kontribusi (%),
Contribution to Net Total,Kontribusi terhadap Net Jumlah,
Selling Settings,Pengaturan Penjualan,
Settings for Selling Module,Pengaturan untuk Jual Modul,
Customer Naming By,Penamaan Pelanggan Dengan,
Campaign Naming By,Penamaan Kampanye Promosi dengan,
Default Customer Group,Kelompok Pelanggan Standar,
Default Territory,Wilayah Standar,
Close Opportunity After Days,Tutup Peluang Setelah Days,
Auto close Opportunity after 15 days,Auto Peluang dekat setelah 15 hari,
Default Quotation Validity Days,Hari Validasi Kutipan Default,
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,
Default Selling Terms,Ketentuan Penjualan Default,
Default Buying Terms,Ketentuan Pembelian Default,
Create Chart Of Accounts Based On,Buat Bagan Akun berbasis pada,
Standard Template,Template standar,
Existing Company,Perusahaan Yang Ada,
Chart Of Accounts Template,Pola Bagan Akun,
Existing Company ,Perusahaan yang ada,
Date of Establishment,tanggal pendirian,
Sales Settings,Pengaturan Penjualan,
Monthly Sales Target,Target Penjualan Bulanan,
Sales Monthly History,Riwayat Bulanan Penjualan,
Transactions Annual History,Transaksi Sejarah Tahunan,
Total Monthly Sales,Total Penjualan Bulanan,
Default Cash Account,Standar Rekening Kas,
Default Receivable Account,Standar Piutang Rekening,
Round Off Cost Center,Pembulatan Pusat Biaya,
Discount Allowed Account,Akun Diskon yang Diizinkan,
Discount Received Account,Diskon Akun yang Diterima,
Exchange Gain / Loss Account,Efek Gain / Loss Akun,
Unrealized Exchange Gain/Loss Account,Rekening Gain / Loss Exchange Belum Direalisasikan,
Allow Account Creation Against Child Company,Izinkan Pembuatan Akun Terhadap Perusahaan Anak,
Default Payable Account,Standar Akun Hutang,
Default Employee Advance Account,Akun uang muka karyawan,
Default Cost of Goods Sold Account,Standar Harga Pokok Penjualan,
Default Income Account,Akun Pendapatan standar,
Default Deferred Revenue Account,Akun Pendapatan Ditangguhkan Default,
Default Deferred Expense Account,Akun Beban Ditangguhkan Default,
Default Payroll Payable Account,Default Payroll Hutang Akun,
Default Expense Claim Payable Account,Akun Pembayaran Klaim Biaya Default,
Stock Settings,Pengaturan Persediaan,
Enable Perpetual Inventory,Aktifkan Inventaris Abadi,
Default Inventory Account,Akun Inventaris Default,
Stock Adjustment Account,Penyesuaian Akun Persediaan,
Fixed Asset Depreciation Settings,Pengaturan Penyusutan Aset Tetap,
Series for Asset Depreciation Entry (Journal Entry),Seri untuk Entry Depreciation Aset (Entri Jurnal),
Gain/Loss Account on Asset Disposal,Gain / Loss Account pada Asset Disposal,
Asset Depreciation Cost Center,Asset Pusat Penyusutan Biaya,
Budget Detail,Rincian Anggaran,
Exception Budget Approver Role,Peran Perwakilan Anggaran Pengecualian,
Company Info,Info Perusahaan,
For reference only.,Untuk referensi saja.,
Company Logo,Logo perusahaan,
Date of Incorporation,Tanggal Pendirian,
Date of Commencement,Tanggal dimulainya,
Phone No,No Telepon yang,
Company Description,Deskripsi Perusahaan,
Registration Details,Detail Pendaftaran,
Company registration numbers for your reference. Tax numbers etc.,Nomor registrasi perusahaan untuk referensi Anda. Nomor pajak dll,
Delete Company Transactions,Hapus Transaksi Perusahaan,
Currency Exchange,Kurs Mata Uang,
Specify Exchange Rate to convert one currency into another,Tentukan Nilai Tukar untuk mengkonversi satu mata uang ke yang lain,
From Currency,Dari mata uang,
To Currency,Untuk Mata,
For Buying,Untuk Membeli,
For Selling,Untuk Jual,
Customer Group Name,Nama Kelompok Pelanggan,
Parent Customer Group,Induk Kelompok Pelanggan,
Only leaf nodes are allowed in transaction,Hanya node cuti yang diperbolehkan dalam transaksi,
Mention if non-standard receivable account applicable,Sebutkan jika akun non-standar piutang yang berlaku,
Credit Limits,Batas Kredit,
Email Digest,Ringkasan Surel,
Send regular summary reports via Email.,Mengirim laporan ringkasan berkala melalui Email.,
Email Digest Settings,Pengaturan Surel Ringkasan,
How frequently?,Seberapa sering?,
Next email will be sent on:,Email berikutnya akan dikirim pada:,
Note: Email will not be sent to disabled users,Catatan: Surel tidak akan dikirim ke pengguna non-aktif,
Profit & Loss,Rugi laba,
New Income,Penghasilan baru,
New Expenses,Beban baru,
Annual Income,Pendapatan tahunan,
Annual Expenses,Beban Tahunan,
Bank Balance,Saldo bank,
Bank Credit Balance,Saldo Kredit Bank,
Receivables,Piutang,
Payables,Hutang,
Sales Orders to Bill,Pesanan Penjualan ke Bill,
Purchase Orders to Bill,Beli Pesanan ke Bill,
New Sales Orders,Penjualan New Orders,
New Purchase Orders,Pesanan Pembelian Baru,
Sales Orders to Deliver,Pesanan Penjualan untuk Mengirim,
Purchase Orders to Receive,Pesanan Pembelian untuk Menerima,
New Purchase Invoice,Faktur Pembelian Baru,
New Quotations,Kutipan Baru,
Open Quotations,Buka Kutipan,
Open Issues,Buka Masalah,
Open Projects,Buka Proyek,
Purchase Orders Items Overdue,Item Pesanan Pembelian terlambat,
Upcoming Calendar Events,Acara Kalender Mendatang,
Open To Do,Buka To Do,
Add Quote,Tambahkan Kutipan,
Global Defaults,Standar Global,
Default Company,Standar Perusahaan,
Current Fiscal Year,Tahun Anggaran saat ini,
Default Distance Unit,Unit Jarak Default,
Hide Currency Symbol,Sembunyikan Mata Uang,
Do not show any symbol like $ etc next to currencies.,Jangan menunjukkan simbol seperti $ etc sebelah mata uang.,
"If disable, 'Rounded Total' field will not be visible in any transaction","Jika disable, lapangan 'Rounded Jumlah' tidak akan terlihat dalam setiap transaksi",
Disable In Words,Nonaktifkan Dalam Kata-kata,
"If disable, 'In Words' field will not be visible in any transaction","Jika menonaktifkan, &#39;Dalam Kata-kata&#39; bidang tidak akan terlihat di setiap transaksi",
Item Classification,Klasifikasi Stok Barang,
General Settings,Pengaturan Umum,
Item Group Name,Nama Item Grup,
Parent Item Group,Induk Stok Barang Grup,
Item Group Defaults,Default Item Group,
Item Tax,Pajak Stok Barang,
Check this if you want to show in website,Periksa ini jika Anda ingin menunjukkan di website,
Show this slideshow at the top of the page,Tampilkan slide ini di bagian atas halaman,
HTML / Banner that will show on the top of product list.,HTML / Banner yang akan muncul di bagian atas daftar produk.,
Set prefix for numbering series on your transactions,Mengatur awalan untuk penomoran seri pada transaksi Anda,
Setup Series,Pengaturan Series,
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 Contact Us Button,Tampilkan Tombol Hubungi Kami,
Show Stock Quantity,Tampilkan Kuantitas Saham,
Show Apply Coupon Code,Tampilkan Terapkan Kode Kupon,
Allow items not in stock to be added to cart,Izinkan item yang tidak ada stok ditambahkan ke troli,
Prices will not be shown if Price List is not set,Harga tidak akan ditampilkan jika Harga Daftar tidak diatur,
Quotation Series,Seri Penawaran,
Checkout Settings,Pengaturan Checkout,
Enable Checkout,aktifkan Checkout,
Payment Success Url,Pembayaran Sukses URL,
After payment completion redirect user to selected page.,Setelah selesai pembayaran mengarahkan pengguna ke halaman yang dipilih.,
Batch Details,Rincian Tumpak,
Batch ID,Batch ID,
image,gambar,
Parent Batch,Induk induk,
Manufacturing Date,Tanggal pembuatan,
Batch Quantity,Kuantitas Batch,
Batch UOM,Batch UOM,
Source Document Type,Jenis Dokumen Sumber,
Source Document Name,Nama dokumen sumber,
Batch Description,Kumpulan Keterangan,
Bin,Tong Sampah,
Reserved Quantity,Reserved Kuantitas,
Actual Quantity,Kuantitas Aktual,
Requested Quantity,diminta Kuantitas,
Reserved Qty for sub contract,Reserved Qty untuk sub kontrak,
Moving Average Rate,Tingkat Moving Average,
FCFS Rate,FCFS Tingkat,
Customs Tariff Number,Tarif Bea Nomor,
Tariff Number,tarif Nomor,
Delivery To,Pengiriman Untuk,
MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
Is Return,Retur Barang,
Issue Credit Note,Terbitkan Catatan Kredit,
Return Against Delivery Note,Retur Terhadap Nota Pengiriman,
Customer's Purchase Order No,Nomor Order Pembelian Pelanggan,
Billing Address Name,Nama Alamat Penagihan,
Required only for sample item.,Diperlukan hanya untuk item sampel.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Jika Anda telah membuat template standar dalam Penjualan Pajak dan Biaya Template, pilih salah satu dan klik pada tombol di bawah ini.",
In Words will be visible once you save the Delivery Note.,Dalam Kata-kata akan terlihat sekali Anda menyimpan Delivery Note.,
In Words (Export) will be visible once you save the Delivery Note.,Dalam Kata-kata (Ekspor) akan terlihat sekali Anda menyimpan Delivery Note.,
Transporter Info,Info Transporter,
Driver Name,Nama pengemudi,
Track this Delivery Note against any Project,Lacak Pengiriman ini Catatan terhadap Proyek manapun,
Inter Company Reference,Referensi Perusahaan Antar,
Print Without Amount,Cetak Tanpa Jumlah,
% Installed,% Terpasang,
% of materials delivered against this Delivery Note,% Dari materi yang Terkirim terhadap Pengiriman ini Note,
Installation Status,Status Instalasi,
Excise Page Number,Jumlah Halaman Excise,
Instructions,Instruksi,
From Warehouse,Dari Gudang,
Against Sales Order,Berdasarkan Order Penjualan,
Against Sales Order Item,Terhadap Barang di Order Penjualan,
Against Sales Invoice,Terhadap Faktur Penjualan,
Against Sales Invoice Item,Terhadap Barang di Faktur Penjualan,
Available Batch Qty at From Warehouse,Tersedia Batch Qty di Gudang Dari,
Available Qty at From Warehouse,Jumlah yang tersedia di Gudang Dari,
Delivery Settings,Pengaturan Pengiriman,
Dispatch Settings,Pengaturan Pengiriman,
Dispatch Notification Template,Template Pemberitahuan Pengiriman,
Dispatch Notification Attachment,Lampiran Pemberitahuan Pemberitahuan,
Leave blank to use the standard Delivery Note format,Biarkan kosong untuk menggunakan format Catatan Pengiriman standar,
Send with Attachment,Kirim dengan Lampiran,
Delay between Delivery Stops,Penundaan antara Stop Pengiriman,
Delivery Stop,Berhenti pengiriman,
Lock,Mengunci,
Visited,Dikunjungi,
Order Information,informasi pemesanan,
Contact Information,Kontak informasi,
Email sent to,Surel Dikirim Ke,
Dispatch Information,Informasi Pengiriman,
Estimated Arrival,perkiraan kedatangan,
MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
Initial Email Notification Sent,Pemberitahuan email awal terkirim,
Delivery Details,Detail Pengiriman,
Driver Email,Email Pengemudi,
Driver Address,Alamat Pengemudi,
Total Estimated Distance,Perkiraan Jarak Total,
Distance UOM,Jarak UOM,
Departure Time,Waktu keberangkatan,
Delivery Stops,Pengiriman Berhenti,
Calculate Estimated Arrival Times,Hitung Perkiraan Waktu Kedatangan,
Use Google Maps Direction API to calculate estimated arrival times,Gunakan Google Maps Direction API untuk menghitung perkiraan waktu kedatangan,
Optimize Route,Optimalkan Rute,
Use Google Maps Direction API to optimize route,Gunakan Google Maps Direction API untuk mengoptimalkan rute,
In Transit,Sedang transit,
Fulfillment User,Pengguna Pemenuhan,
"A Product or a Service that is bought, sold or kept in stock.","Produk atau Jasa yang dibeli, dijual atau disimpan dalam persediaan.",
STO-ITEM-.YYYY.-,STO-ITEM-.YYYY.-,
Variant Of,Varian Dari,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Jika item adalah varian dari item lain maka deskripsi, gambar, harga, pajak dll akan ditetapkan dari template kecuali secara eksplisit ditentukan",
Is Item from Hub,Adalah Item dari Hub,
Default Unit of Measure,Standar Satuan Ukur,
Maintain Stock,Jaga Persediaan,
Standard Selling Rate,Standard Jual Tingkat,
Auto Create Assets on Purchase,Otomatis Buat Aset saat Pembelian,
Asset Naming Series,Seri Penamaan Aset,
Over Delivery/Receipt Allowance (%),Kelebihan Pengiriman / Penerimaan Kwitansi (%),
Barcodes,Barcode,
Shelf Life In Days,Shelf Life In Days,
End of Life,Akhir Riwayat,
Default Material Request Type,Default Bahan Jenis Permintaan,
Valuation Method,Metode Perhitungan,
FIFO,FIFO,
Moving Average,Moving Average,
Warranty Period (in days),Masa Garansi (dalam hari),
Auto re-order,Auto re-order,
Reorder level based on Warehouse,Tingkat Re-Order berdasarkan Gudang,
Will also apply for variants unless overrridden,Juga akan berlaku untuk varian kecuali tertimpa,
Units of Measure,Satuan ukur,
Will also apply for variants,Juga akan berlaku untuk varian,
Serial Nos and Batches,Nomor Seri dan Partai,
Has Batch No,Bernomor Batch,
Automatically Create New Batch,Buat Batch Baru secara otomatis,
Batch Number Series,Batch Number Series,
"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Contoh: ABCD. #####. Jika seri disetel dan Batch No tidak disebutkan dalam transaksi, maka nomor bets otomatis akan dibuat berdasarkan seri ini. Jika Anda selalu ingin menyebutkan secara eksplisit Batch No untuk item ini, biarkan ini kosong. Catatan: pengaturan ini akan menjadi prioritas di atas Awalan Seri Penamaan dalam Pengaturan Stok.",
Has Expiry Date,Memiliki Tanggal Kedaluwarsa,
Retain Sample,Simpan sampel,
Max Sample Quantity,Jumlah Kuantitas Maks,
Maximum sample quantity that can be retained,Jumlah sampel maksimal yang bisa dipertahankan,
Has Serial No,Bernomor Seri,
Serial Number Series,Serial Number Series,
"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Contoh:. ABCD ##### \n Jika seri diatur dan Nomor Seri tidak disebutkan dalam transaksi, maka nomor seri otomatis akan dibuat berdasarkan seri ini. Jika Anda ingin selalu menetapkan Nomor Seri untuk item ini, biarkan kosong.",
Variants,Varian,
Has Variants,Memiliki Varian,
"If this item has variants, then it cannot be selected in sales orders etc.","Jika item ini memiliki varian, maka tidak dapat dipilih dalam order penjualan dll",
Variant Based On,Varian Berbasis Pada,
Item Attribute,Item Atribut,
"Sales, Purchase, Accounting Defaults","Sales, Purchase, Accounting Defaults",
Item Defaults,Default Barang,
"Purchase, Replenishment Details","Rincian Pembelian, Pengisian",
Is Purchase Item,Stok Dibeli dari Supplier,
Default Purchase Unit of Measure,Unit Pembelian Default,
Minimum Order Qty,Minimum Order Qty,
Minimum quantity should be as per Stock UOM,Jumlah minimum harus sesuai Stock UOM,
Average time taken by the supplier to deliver,Rata-rata waktu yang dibutuhkan oleh Supplier untuk memberikan,
Is Customer Provided Item,Apakah Barang Yang Disediakan Pelanggan,
Delivered by Supplier (Drop Ship),Dikirim oleh Supplier (Drop Shipment),
Supplier Items,Supplier Produk,
Foreign Trade Details,Rincian Perdagangan Luar Negeri,
Country of Origin,Negara Asal,
Sales Details,Detail Penjualan,
Default Sales Unit of Measure,Unit Penjualan Default Ukur,
Is Sales Item,Barang Jualan,
Max Discount (%),Max Diskon (%),
No of Months,Tidak Ada Bulan,
Customer Items,Produk Pelanggan,
Inspection Criteria,Kriteria Inspeksi,
Inspection Required before Purchase,Inspeksi Diperlukan sebelum Pembelian,
Inspection Required before Delivery,Inspeksi Diperlukan sebelum Pengiriman,
Default BOM,BOM Standar,
Supply Raw Materials for Purchase,Bahan pasokan baku untuk Pembelian,
If subcontracted to a vendor,Jika subkontrak ke pemasok,
Customer Code,Kode Pelanggan,
Default Item Manufacturer,Produsen Item Default,
Default Manufacturer Part No,Bagian Pabrikan Default No,
Show in Website (Variant),Tampilkan Website (Variant),
Items with higher weightage will be shown higher,Item dengan weightage lebih tinggi akan ditampilkan lebih tinggi,
Show a slideshow at the top of the page,Tampilkan slideshow di bagian atas halaman,
Website Image,Gambar Situs Web,
Website Warehouse,Situs Gudang,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Tampilkan ""Tersedia"" atau ""Tidak Tersedia"" berdasarkan persediaan di gudang ini.",
Website Item Groups,Situs Grup Stok Barang,
List this Item in multiple groups on the website.,Daftar Stok Barang ini dalam beberapa kelompok di website.,
Copy From Item Group,Salin Dari Grup Stok Barang,
Website Content,Konten situs web,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Anda dapat menggunakan markah Bootstrap 4 apa pun yang valid di bidang ini. Itu akan ditampilkan pada Halaman Item Anda.,
Total Projected Qty,Total Proyeksi Jumlah,
Hub Publishing Details,Rincian Hub Publishing,
Publish in Hub,Publikasikan di Hub,
Publish Item to hub.erpnext.com,Publikasikan Item untuk hub.erpnext.com,
Hub Category to Publish,Kategori Hub untuk Publikasikan,
Hub Warehouse,Gudang Hub,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Publish &quot;In Stock&quot; atau &quot;Not in Stock&quot; di Hub berdasarkan stok yang ada di gudang ini.,
Synced With Hub,Disinkronkan Dengan Hub,
Item Alternative,Alternatif Barang,
Alternative Item Code,Kode Barang Alternatif,
Two-way,Dua arah,
Alternative Item Name,Nama Item Alternatif,
Attribute Name,Nama Atribut,
Numeric Values,Nilai numerik,
From Range,Dari Rentang,
Increment,Kenaikan,
To Range,Berkisar,
Item Attribute Values,Item Nilai Atribut,
Item Attribute Value,Nilai Item Atribut,
Attribute Value,Nilai Atribut,
Abbreviation,Singkatan,
"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Ini akan ditambahkan ke Item Code dari varian. Sebagai contoh, jika Anda adalah singkatan ""SM"", dan kode Stok Barang adalah ""T-SHIRT"", kode item varian akan ""T-SHIRT-SM""",
Item Barcode,Item Barcode,
Barcode Type,Jenis Barcode,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Rincian Barang Pelanggan,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Untuk kenyamanan pelanggan, kode ini dapat digunakan dalam format cetak seperti Faktur dan Nota Pengiriman",
Ref Code,Ref Kode,
Item Default,Default Barang,
Purchase Defaults,Beli Default,
Default Buying Cost Center,Standar Biaya Pusat Pembelian,
Default Supplier,Supplier Standar,
Default Expense Account,Beban standar Akun,
Sales Defaults,Default Penjualan,
Default Selling Cost Center,Standar Pusat Biaya Jual,
Item Manufacturer,Item Produsen,
Item Price,Item Price,
Packing Unit,Unit Pengepakan,
Quantity  that must be bought or sold per UOM,Kuantitas yang harus dibeli atau dijual per UOM,
Item Quality Inspection Parameter,Stok Barang Kualitas Parameter Inspeksi,
Acceptance Criteria,Kriteria Penerimaan,
Item Reorder,Item Reorder,
Check in (group),Check in (kelompok),
Request for,Meminta,
Re-order Level,Tingkat Re-order,
Re-order Qty,Re-order Qty,
Item Supplier,Item Supplier,
Item Variant,Item Variant,
Item Variant Attribute,Item Varian Atribut,
Do not update variants on save,Jangan perbarui varian pada saat menyimpan data,
Fields will be copied over only at time of creation.,Fields akan disalin hanya pada saat penciptaan.,
Allow Rename Attribute Value,Izinkan Ganti Nama Nilai Atribut,
Rename Attribute Value in Item Attribute.,Ubah Nama Nilai Atribut di Atribut Item.,
Copy Fields to Variant,Copy Fields ke Variant,
Item Website Specification,Item Situs Spesifikasi,
Table for Item that will be shown in Web Site,Tabel untuk Item yang akan ditampilkan di Situs Web,
Landed Cost Item,Jenis Barang Biaya Landing,
Receipt Document Type,Dokumen penerimaan Type,
Receipt Document,Dokumen penerimaan,
Applicable Charges,Biaya yang Berlaku,
Purchase Receipt Item,Nota Penerimaan Stok Barang,
Landed Cost Purchase Receipt,Biaya Landing Cost Nota Penerimaan,
Landed Cost Taxes and Charges,Biaya Pajak dan Landing Cost,
Landed Cost Voucher,Voucher Landing Cost,
MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
Purchase Receipts,Nota Penerimaan,
Purchase Receipt Items,Nota Penerimaan Produk,
Get Items From Purchase Receipts,Dapatkan Produk Dari Pembelian Penerimaan,
Distribute Charges Based On,Distribusi Biaya Berdasarkan,
Landed Cost Help,Bantuan Biaya Landed,
Manufacturers used in Items,Produsen yang digunakan dalam Produk,
Limited to 12 characters,Terbatas untuk 12 karakter,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Set Warehouse,Atur Gudang,
Sets 'For Warehouse' in each row of the Items table.,Set &#39;Untuk Gudang&#39; di setiap baris tabel Item.,
Requested For,Diminta Untuk,
Partially Ordered,Dipesan Sebagian,
Transferred,Ditransfer,
% Ordered,% Tersusun,
Terms and Conditions Content,Syarat dan Ketentuan Konten,
Quantity and Warehouse,Kuantitas dan Gudang,
Lead Time Date,Tanggal Masa Tenggang,
Min Order Qty,Min Order Qty,
Packed Item,Stok Barang Kemasan,
To Warehouse (Optional),Untuk Gudang (pilihan),
Actual Batch Quantity,Kuantitas Batch yang Sebenarnya,
Prevdoc DocType,Prevdoc DocType,
Parent Detail docname,Induk Detil docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Menghasilkan kemasan slip paket yang akan dikirimkan. Digunakan untuk memberitahu nomor paket, isi paket dan berat.",
Indicates that the package is a part of this delivery (Only Draft),Menunjukkan bahwa paket tersebut merupakan bagian dari pengiriman ini (Hanya Draft),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Dari Package No,
Identification of the package for the delivery (for print),Identifikasi paket untuk pengiriman (untuk mencetak),
To Package No.,Untuk Paket No,
If more than one package of the same type (for print),Jika lebih dari satu paket dari jenis yang sama (untuk mencetak),
Package Weight Details,Paket Berat Detail,
The net weight of this package. (calculated automatically as sum of net weight of items),Berat bersih package ini. (Dihitung secara otomatis sebagai jumlah berat bersih item),
Net Weight UOM,Uom Berat Bersih,
Gross Weight,Berat Kotor,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Berat kotor paket. Berat + kemasan biasanya net berat bahan. (Untuk mencetak),
Gross Weight UOM,UOM Berat Kotor,
Packing Slip Item,Packing Slip Stok Barang,
DN Detail,DN Detil,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Alih Material untuk Produksi,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Jumlah bahan baku akan ditentukan berdasarkan jumlah Barang Jadi,
Parent Warehouse,Gudang tua,
Items under this warehouse will be suggested,Barang-barang di bawah gudang ini akan disarankan,
Get Item Locations,Dapatkan Lokasi Item,
Item Locations,Lokasi barang,
Pick List Item,Pilih Item Daftar,
Picked Qty,Memilih Qty,
Price List Master,Daftar Harga Guru,
Price List Name,Daftar Harga Nama,
Price Not UOM Dependent,Harga Tidak Tergantung UOM,
Applicable for Countries,Berlaku untuk Negara,
Price List Country,Negara Daftar Harga,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Catatan Pengiriman Supplier,
Time at which materials were received,Waktu di mana bahan yang diterima,
Return Against Purchase Receipt,Retur Terhadap Nota Pembelian,
Rate at which supplier's currency is converted to company's base currency,Tingkat di mana mata uang Supplier dikonversi ke mata uang dasar perusahaan,
Sets 'Accepted Warehouse' in each row of the items table.,Set &#39;Gudang Diterima&#39; di setiap baris tabel item.,
Sets 'Rejected Warehouse' in each row of the items table.,Set &#39;Gudang yang Ditolak&#39; di setiap baris tabel item.,
Raw Materials Consumed,Bahan Baku yang Dikonsumsi,
Get Current Stock,Dapatkan Persediaan saat ini,
Consumed Items,Barang Konsumsi,
Add / Edit Taxes and Charges,Tambah / Edit Pajak dan Biaya,
Auto Repeat Detail,Auto Repeat Detail,
Transporter Details,Detail transporter,
Vehicle Number,Nomor Kendaraan,
Vehicle Date,Tanggal Kendaraan,
Received and Accepted,Diterima dan Diterima,
Accepted Quantity,Qty Diterima,
Rejected Quantity,Kuantitas Ditolak,
Accepted Qty as per Stock UOM,Qty Diterima sesuai Stock UOM,
Sample Quantity,Jumlah sampel,
Rate and Amount,Rate dan Jumlah,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Tanggal Laporan,
Inspection Type,Tipe Inspeksi,
Item Serial No,Item Serial No,
Sample Size,Ukuran Sampel,
Inspected By,Diperiksa Oleh,
Readings,Bacaan,
Quality Inspection Reading,Nilai Inspeksi Mutu,
Reading 1,Membaca 1,
Reading 2,Membaca 2,
Reading 3,Membaca 3,
Reading 4,Membaca 4,
Reading 5,Membaca 5,
Reading 6,Membaca 6,
Reading 7,Membaca 7,
Reading 8,Membaca 8,
Reading 9,Membaca 9,
Reading 10,Membaca 10,
Quality Inspection Template Name,Nama Template Inspeksi Kualitas,
Quick Stock Balance,Saldo Stok Cepat,
Available Quantity,Jumlah yang tersedia,
Distinct unit of an Item,Unit berbeda Item,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Gudang hanya dapat diubah melalui Entri Persediaan / Nota Pengiriman / Nota Pembelian,
Purchase / Manufacture Details,Detail Pembelian / Produksi,
Creation Document Type,Pembuatan Dokumen Type,
Creation Document No,Nomor Dokumen,
Creation Date,Tanggal Pembuatan,
Creation Time,Waktu Pembuatan,
Asset Details,Detail Aset,
Asset Status,Status Aset,
Delivery Document Type,Tipe Nota Pengiriman,
Delivery Document No,Nomor Dokumen Pengiriman,
Delivery Time,Waktu Pengiriman,
Invoice Details,Detail faktur,
Warranty / AMC Details,Garansi / Detail AMC,
Warranty Expiry Date,Tanggal Berakhir Garansi,
AMC Expiry Date,Tanggal Kadaluarsa AMC,
Under Warranty,Masih Garansi,
Out of Warranty,Out of Garansi,
Under AMC,Di bawah AMC,
Out of AMC,Dari AMC,
Warranty Period (Days),Masa Garansi (Hari),
Serial No Details,Nomor Detail Serial,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Jenis Entri Saham,
Stock Entry (Outward GIT),Entri Masuk (GIT Keluar),
Material Consumption for Manufacture,Konsumsi Bahan untuk Industri,
Repack,Repack,
Send to Subcontractor,Kirim ke Subkontraktor,
Delivery Note No,Pengiriman Note No,
Sales Invoice No,Nomor Faktur Penjualan,
Purchase Receipt No,No Nota Penerimaan,
Inspection Required,Inspeksi Diperlukan,
From BOM,Dari BOM,
For Quantity,Untuk Kuantitas,
As per Stock UOM,Sesuai UOM Persediaan,
Including items for sub assemblies,Termasuk item untuk sub rakitan,
Default Source Warehouse,Standar Gudang Sumber,
Source Warehouse Address,Sumber Alamat Gudang,
Default Target Warehouse,Standar Sasaran Gudang,
Target Warehouse Address,Target Gudang Alamat,
Update Rate and Availability,Perbarui Hitungan dan Ketersediaan,
Total Incoming Value,Total nilai masuk,
Total Outgoing Value,Nilai Total Keluaran,
Total Value Difference (Out - In),Total Nilai Selisih (Out - Dalam),
Additional Costs,Biaya-biaya tambahan,
Total Additional Costs,Total Biaya Tambahan,
Customer or Supplier Details,Rincian Pelanggan atau Pemasok,
Per Transferred,Per Dipindahkan,
Stock Entry Detail,Rincian Entri Persediaan,
Basic Rate (as per Stock UOM),Tarif Dasar (sesuai UOM Persediaan),
Basic Amount,Nilai Dasar,
Additional Cost,Biaya tambahan,
Serial No / Batch,Serial No / Batch,
BOM No. for a Finished Good Item,No. BOM untuk Barang Jadi,
Material Request used to make this Stock Entry,Permintaan Material yang digunakan untuk membuat Entri Persediaan ini,
Subcontracted Item,Item Subkontrak,
Against Stock Entry,Terhadap Entri Saham,
Stock Entry Child,Anak Masuk Stock,
PO Supplied Item,PO Barang yang Disediakan,
Reference Purchase Receipt,Referensi Kwitansi Pembelian,
Stock Ledger Entry,Entri Buku Persediaan,
Outgoing Rate,Tingkat keluar,
Actual Qty After Transaction,Jumlah Aktual Setelah Transaksi,
Stock Value Difference,Perbedaan Nilai Persediaan,
Stock Queue (FIFO),Antrian Persediaan (FIFO),
Is Cancelled,Apakah Dibatalkan,
Stock Reconciliation,Rekonsiliasi Persediaan,
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Alat ini membantu Anda memperbarui atau memperbaiki kuantitas dan valuasi persediaan di sistem. Biasanya digunakan untuk menyelaraskan sistem dengan aktual barang yang ada di gudang.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Rekonsiliasi JSON,
Stock Reconciliation Item,Barang Rekonsiliasi Persediaan,
Before reconciliation,Sebelum rekonsiliasi,
Current Serial No,Nomor Seri Saat Ini,
Current Valuation Rate,Nilai Tingkat Penilaian Saat ini,
Current Amount,Jumlah saat ini,
Quantity Difference,Perbedaan Kuantitas,
Amount Difference,jumlah Perbedaan,
Item Naming By,Item Penamaan Dengan,
Default Item Group,Standar Item Grup,
Default Stock UOM,UOM Persediaan Standar,
Sample Retention Warehouse,Contoh Retensi Gudang,
Default Valuation Method,Metode Perhitungan Standar,
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,
Inter Warehouse Transfer Settings,Pengaturan Transfer Antar Gudang,
Allow Material Transfer From Delivery Note and Sales Invoice,Izinkan Transfer Material Dari Nota Pengiriman dan Faktur Penjualan,
Allow Material Transfer From Purchase Receipt and Purchase Invoice,Izinkan Transfer Material Dari Tanda Terima Pembelian dan Faktur Pembelian,
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,
Warehouse Contact Info,Info Kontak Gudang,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Dimunculkan Oleh (Email),
Issue Type,Jenis Isu,
Issue Split From,Masalah Berpisah Dari,
Service Level,Tingkat Layanan,
Response By,Tanggapan oleh,
Response By Variance,Respon Berdasarkan Varians,
Ongoing,Sedang berlangsung,
Resolution By,Resolusi oleh,
Resolution By Variance,Resolusi oleh Varians,
Service Level Agreement Creation,Pembuatan Perjanjian Tingkat Layanan,
First Responded On,Ditangani Pertama kali pada,
Resolution Details,Detail Resolusi,
Opening Date,Tanggal Pembukaan,
Opening Time,Membuka Waktu,
Resolution Date,Tanggal Resolusi,
Via Customer Portal,Melalui Portal Pelanggan,
Support Team,Tim Support,
Issue Priority,Prioritas Masalah,
Service Day,Hari Layanan,
Workday,Hari kerja,
Default Priority,Prioritas Default,
Priorities,Prioritas,
Support Hours,Jam Dukungan,
Support and Resolution,Dukungan dan Resolusi,
Default Service Level Agreement,Perjanjian Tingkat Layanan Default,
Entity,Kesatuan,
Agreement Details,Detail Perjanjian,
Response and Resolution Time,Waktu Respons dan Resolusi,
Service Level Priority,Prioritas Tingkat Layanan,
Resolution Time,Waktu resolusi,
Support Search Source,Mendukung Sumber Pencarian,
Source Type,Jenis Sumber,
Query Route String,String Rute Kueri,
Search Term Param Name,Nama Param Istilah Pencarian,
Response Options,Opsi Tanggapan,
Response Result Key Path,Jalur Kunci Hasil Tanggapan,
Post Route String,Posting String Rute,
Post Route Key List,Posting Daftar Kunci Rute,
Post Title Key,Posting Kunci Judul,
Post Description Key,Kunci Deskripsi Posting,
Link Options,Opsi Tautan,
Source DocType,Sumber DocType,
Result Title Field,Bidang Judul Hasil,
Result Preview Field,Bidang Pratinjau Hasil,
Result Route Field,Bidang Rute Hasil,
Service Level Agreements,Tingkatan Jasa Persetujuan,
Track Service Level Agreement,Lacak Perjanjian Tingkat Layanan,
Allow Resetting Service Level Agreement,Izinkan Mengatur Ulang Perjanjian Tingkat Layanan,
Close Issue After Days,Tutup Isu Setelah Days,
Auto close Issue after 7 days,Auto Issue dekat setelah 7 hari,
Support Portal,Portal Dukungan,
Get Started Sections,Mulai Bagian,
Show Latest Forum Posts,Tampilkan Posting Forum Terbaru,
Forum Posts,Kiriman Forum,
Forum URL,URL Forum,
Get Latest Query,Dapatkan Permintaan Terbaru,
Response Key List,Daftar Kunci Respons,
Post Route Key,Posting Kunci Rute,
Search APIs,API Pencarian,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Tanggal dibuat,
Item and Warranty Details,Item dan Garansi Detail,
Warranty / AMC Status,Garansi / Status AMC,
Resolved By,Terselesaikan Dengan,
Service Address,Alamat Layanan,
If different than customer address,Jika berbeda dari alamat pelanggan,
Raised By,Diangkat Oleh,
From Company,Dari Perusahaan,
Rename Tool,Alat Perubahan Nama,
Utilities,Utilitas,
Type of document to rename.,Jenis dokumen untuk mengubah nama.,
File to Rename,Nama File untuk Diganti,
"Attach .csv file with two columns, one for the old name and one for the new name","Melampirkan file .csv dengan dua kolom, satu untuk nama lama dan satu untuk nama baru",
Rename Log,Log Riwayat Ganti Nama,
SMS Log,SMS Log,
Sender Name,Nama Pengirim,
Sent On,Dikirim Pada,
No of Requested SMS,Tidak ada dari Diminta SMS,
Requested Numbers,Nomor yang Diminta,
No of Sent SMS,Tidak ada dari Sent SMS,
Sent To,Dikirim Ke,
Absent Student Report,Laporan Absen Siswa,
Assessment Plan Status,Status Rencana Penilaian,
Asset Depreciation Ledger,Aset Penyusutan Ledger,
Asset Depreciations and Balances,Penyusutan aset dan Saldo,
Available Stock for Packing Items,Tersedia untuk Barang Paket,
Bank Clearance Summary,Ringkasan Kliring Bank,
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,
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,
Item Variant Details,Rincian Item Variant,
Item-wise Price List Rate,Stok Barang-bijaksana Daftar Harga Tingkat,
Item-wise Purchase History,Laporan Riwayat Pembelian berdasarkan Stok Barang/Item,
Item-wise Purchase Register,Stok Barang-bijaksana Pembelian Register,
Item-wise Sales History,Item-wise Penjualan Sejarah,
Item-wise Sales Register,Item-wise Daftar Penjualan,
Items To Be Requested,Items Akan Diminta,
Reserved,Ditahan,
Itemwise Recommended Reorder Level,Itemwise Rekomendasi Reorder Tingkat,
Lead Details,Rincian Prospek,
Lead Owner Efficiency,Efisiensi Pemilik Prospek,
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,
Monthly Attendance Sheet,Lembar Kehadiran Bulanan,
Open Work Orders,Buka Perintah Kerja,
Qty to Deliver,Kuantitas Pengiriman,
Patient Appointment Analytics,Analisis Pengangkatan Pasien,
Payment Period Based On Invoice Date,Masa Pembayaran Berdasarkan Faktur Tanggal,
Pending SO Items For Purchase Request,Pending SO Items Untuk Pembelian Permintaan,
Procurement Tracker,Pelacak Pengadaan,
Product Bundle Balance,Saldo Bundel Produk,
Production Analytics,Analytics produksi,
Profit and Loss Statement,Laba Rugi,
Profitability Analysis,Analisis profitabilitas,
Project Billing Summary,Ringkasan Penagihan Proyek,
Project wise Stock Tracking,Pelacakan Stok proyek yang bijaksana,
Project wise Stock Tracking ,Pelacakan Persediaan menurut Proyek,
Prospects Engaged But Not Converted,Prospek Terlibat Tapi Tidak Dikonversi,
Purchase Analytics,Pembelian Analytics,
Purchase Invoice Trends,Pembelian Faktur Trends,
Qty to Receive,Kuantitas untuk diterima,
Received Qty Amount,Menerima Jumlah Jumlah,
Billed Qty,Jumlah Tagihan,
Purchase Order Trends,Trend Order Pembelian,
Purchase Receipt Trends,Tren Nota Penerimaan,
Purchase Register,Register Pembelian,
Quotation Trends,Trend Penawaran,
Quoted Item Comparison,Perbandingan Produk/Barang yang ditawarkan,
Received Items To Be Billed,Produk Diterima Akan Ditagih,
Qty to Order,Kuantitas untuk diorder,
Requested Items To Be Transferred,Permintaan Produk Akan Ditransfer,
Qty to Transfer,Kuantitas untuk ditransfer,
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,
Invoiced Amount (Exclusive Tax),Jumlah yang Ditagih (Pajak Eksklusif),
Average Commission Rate,Rata-rata Komisi Tingkat,
Sales Payment Summary,Ringkasan Pembayaran Penjualan,
Sales Person Commission Summary,Ringkasan Komisi Personel Penjualan,
Sales Person Target Variance Based On Item Group,Varians Target Tenaga Penjual Berdasarkan Kelompok Barang,
Sales Person-wise Transaction Summary,Sales Person-bijaksana Rangkuman Transaksi,
Sales Register,Daftar Penjualan,
Serial No Service Contract Expiry,Masa Kadaluwarsa Nomor Seri Kontrak Jasa,
Serial No Status,Status Nomor Serial,
Serial No Warranty Expiry,Nomor Serial Garansi telah kadaluarsa,
Stock Ageing,Usia Persediaan,
Stock and Account Value Comparison,Perbandingan Nilai Saham dan Akun,
Stock Projected Qty,Proyeksi Jumlah Persediaan,
Student and Guardian Contact Details,Mahasiswa dan Wali Detail Kontak,
Student Batch-Wise Attendance,Mahasiswa Batch-Wise Kehadiran,
Student Fee Collection,Mahasiswa Koleksi Fee,
Student Monthly Attendance Sheet,Mahasiswa Lembar Kehadiran Bulanan,
Subcontracted Item To Be Received,Barang Subkontrak Untuk Diterima,
Subcontracted Raw Materials To Be Transferred,Bahan Baku Subkontrak Akan Ditransfer,
Supplier Ledger Summary,Ringkasan Buku Besar Pemasok,
Supplier-Wise Sales Analytics,Sales Analitikal berdasarkan Supplier,
Support Hour Distribution,Distribusi Jam Dukungan,
TDS Computation Summary,Ringkasan Perhitungan TDS,
TDS Payable Monthly,TDS Hutang Bulanan,
Territory Target Variance Based On Item Group,Varians Target Wilayah Berdasarkan Kelompok Barang,
Territory-wise Sales,Penjualan Wilayah-bijaksana,
Total Stock Summary,Ringkasan Persediaan Total,
Trial Balance,Trial Balance,
Trial Balance (Simple),Balance Trial (Sederhana),
Trial Balance for Party,Trial Balance untuk Partai,
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,
Validation Error,Kesalahan Validasi,
Automatically Process Deferred Accounting Entry,Secara Otomatis Memproses Entri Akuntansi yang Ditangguhkan,
Bank Clearance,Izin Bank,
Bank Clearance Detail,Detail Izin Bank,
Update Cost Center Name / Number,Perbarui Nama / Nomor Pusat Biaya,
Journal Entry Template,Template Entri Jurnal,
Template Title,Judul Template,
Journal Entry Type,Jenis Entri Jurnal,
Journal Entry Template Account,Akun Template Entri Jurnal,
Process Deferred Accounting,Proses Akuntansi yang Ditangguhkan,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Entri manual tidak dapat dibuat! Nonaktifkan entri otomatis untuk akuntansi yang ditangguhkan dalam pengaturan akun dan coba lagi,
End date cannot be before start date,Tanggal akhir tidak boleh sebelum tanggal mulai,
Total Counts Targeted,Jumlah Total yang Ditargetkan,
Total Counts Completed,Jumlah Total Selesai,
Counts Targeted: {0},Jumlah yang Ditargetkan: {0},
Payment Account is mandatory,Akun Pembayaran adalah wajib,
"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Jika dicentang, jumlah penuh akan dipotong dari penghasilan kena pajak sebelum menghitung pajak penghasilan tanpa pernyataan atau penyerahan bukti.",
Disbursement Details,Detail Pencairan,
Material Request Warehouse,Gudang Permintaan Material,
Select warehouse for material requests,Pilih gudang untuk permintaan material,
Transfer Materials For Warehouse {0},Mentransfer Bahan Untuk Gudang {0},
Production Plan Material Request Warehouse,Gudang Permintaan Material Rencana Produksi,
Set From Warehouse,Atur Dari Gudang,
Source Warehouse (Material Transfer),Gudang Sumber (Transfer Material),
Sets 'Source Warehouse' in each row of the items table.,Set &#39;Source Warehouse&#39; di setiap baris tabel item.,
Sets 'Target Warehouse' in each row of the items table.,Menetapkan &#39;Gudang Target&#39; di setiap baris tabel item.,
Show Cancelled Entries,Tunjukkan Entri yang Dibatalkan,
Backdated Stock Entry,Entri Stok Backdated,
Row #{}: Currency of {} - {} doesn't matches company currency.,Baris # {}: Mata uang {} - {} tidak cocok dengan mata uang perusahaan.,
{} Assets created for {},{} Aset dibuat untuk {},
{0} Number {1} is already used in {2} {3},{0} Nomor {1} sudah digunakan di {2} {3},
Update Bank Clearance Dates,Perbarui Tanggal Izin Bank,
Healthcare Practitioner: ,Praktisi Kesehatan:,
Lab Test Conducted: ,Uji Lab Dilakukan:,
Lab Test Event: ,Acara Uji Lab:,
Lab Test Result: ,Hasil Uji Lab:,
Clinical Procedure conducted: ,Prosedur Klinis dilakukan:,
Therapy Session Charges: {0},Biaya Sesi Terapi: {0},
Therapy: ,Terapi:,
Therapy Plan: ,Rencana Terapi:,
Total Counts Targeted: ,Jumlah Total yang Ditargetkan:,
Total Counts Completed: ,Jumlah Total Selesai:,
Andaman and Nicobar Islands,Kepulauan Andaman dan Nicobar,
Andhra Pradesh,Andhra Pradesh,
Arunachal Pradesh,Arunachal Pradesh,
Assam,Assam,
Bihar,Bihar,
Chandigarh,Chandigarh,
Chhattisgarh,Chhattisgarh,
Dadra and Nagar Haveli,Dadra dan Nagar Haveli,
Daman and Diu,Daman dan Diu,
Delhi,Delhi,
Goa,Goa,
Gujarat,Gujarat,
Haryana,Haryana,
Himachal Pradesh,Himachal Pradesh,
Jammu and Kashmir,Jammu dan Kashmir,
Jharkhand,Jharkhand,
Karnataka,Karnataka,
Kerala,Kerala,
Lakshadweep Islands,Kepulauan Lakshadweep,
Madhya Pradesh,Madhya Pradesh,
Maharashtra,Maharashtra,
Manipur,Manipur,
Meghalaya,Meghalaya,
Mizoram,Mizoram,
Nagaland,Nagaland,
Odisha,Odisha,
Other Territory,Wilayah Lain,
Pondicherry,Pondicherry,
Punjab,Punjab,
Rajasthan,Rajasthan,
Sikkim,Sikkim,
Tamil Nadu,Tamil Nadu,
Telangana,Telangana,
Tripura,Tripura,
Uttar Pradesh,Uttar Pradesh,
Uttarakhand,Uttarakhand,
West Bengal,Benggala Barat,
Is Mandatory,Apakah Wajib,
Published on,Diterbitkan di,
Service Received But Not Billed,Layanan Diterima Tapi Tidak Ditagih,
Deferred Accounting Settings,Pengaturan Akuntansi yang Ditangguhkan,
Book Deferred Entries Based On,Buku Entri Ditunda Berdasarkan,
"If ""Months"" is selected then fixed amount will be booked as deferred revenue or expense for each month irrespective of number of days in a month. Will be prorated if deferred revenue or expense is not booked for an entire month.","Jika &quot;Bulan&quot; dipilih, jumlah tetap akan dibukukan sebagai pendapatan atau beban yang ditangguhkan untuk setiap bulan terlepas dari jumlah hari dalam sebulan. Akan diprorata jika pendapatan atau beban yang ditangguhkan tidak dipesan untuk satu bulan penuh.",
Days,Hari,
Months,Bulan,
Book Deferred Entries Via Journal Entry,Buku Entri Ditunda Melalui Entri Jurnal,
If this is unchecked direct GL Entries will be created to book Deferred Revenue/Expense,"Jika ini tidak dicentang, Entri GL langsung akan dibuat untuk memesan Pendapatan / Beban yang Ditangguhkan",
Submit Journal Entries,Kirimkan Entri Jurnal,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Jika ini tidak dicentang, Entri Jurnal akan disimpan dalam status Draf dan harus diserahkan secara manual",
Enable Distributed Cost Center,Aktifkan Pusat Biaya Terdistribusi,
Distributed Cost Center,Pusat Biaya Terdistribusi,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Hari Terlambat,
Dunning Type,Jenis Dunning,
Dunning Fee,Biaya Dunning,
Dunning Amount,Jumlah Dunning,
Resolved,Terselesaikan,
Unresolved,Belum terselesaikan,
Printing Setting,Pengaturan Pencetakan,
Body Text,Teks Tubuh,
Closing Text,Teks Penutup,
Resolve,Menyelesaikan,
Dunning Letter Text,Teks Surat Dunning,
Is Default Language,Apakah Bahasa Default,
Letter or Email Body Text,Teks Isi Surat atau Email,
Letter or Email Closing Text,Teks Penutupan Surat atau Email,
Body and Closing Text Help,Bantuan Isi dan Teks Penutup,
Overdue Interval,Interval Terlambat,
Dunning Letter,Surat Dunning,
"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","Bagian ini memungkinkan pengguna untuk mengatur Isi dan Teks Penutup dari Surat Dunning untuk Jenis Dunning berdasarkan bahasa, yang dapat digunakan dalam Cetak.",
Reference Detail No,Referensi Detail No,
Custom Remarks,Keterangan Kustom,
Please select a Company first.,Pilih Perusahaan terlebih dahulu.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Baris # {0}: Jenis Dokumen Referensi harus salah satu dari Pesanan Penjualan, Faktur Penjualan, Entri Jurnal atau Dunning",
POS Closing Entry,Entri Penutupan POS,
POS Opening Entry,Entri Pembukaan POS,
POS Transactions,Transaksi POS,
POS Closing Entry Detail,Detail Entri Penutupan POS,
Opening Amount,Jumlah Pembukaan,
Closing Amount,Jumlah Penutupan,
POS Closing Entry Taxes,Pajak Entri Penutupan POS,
POS Invoice,Faktur POS,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Faktur Penjualan Konsolidasi,
Return Against POS Invoice,Kembali Terhadap Faktur POS,
Consolidated,Konsolidasi,
POS Invoice Item,Item Faktur POS,
POS Invoice Merge Log,Log Penggabungan Faktur POS,
POS Invoices,Faktur POS,
Consolidated Credit Note,Nota Kredit Konsolidasi,
POS Invoice Reference,Referensi Faktur POS,
Set Posting Date,Tetapkan Tanggal Posting,
Opening Balance Details,Membuka Detail Saldo,
POS Opening Entry Detail,Detail Entri Pembukaan POS,
POS Payment Method,Metode Pembayaran POS,
Payment Methods,cara Pembayaran,
Process Statement Of Accounts,Proses Pernyataan Akun,
General Ledger Filters,Filter Buku Besar,
Customers,Pelanggan,
Select Customers By,Pilih Pelanggan Menurut,
Fetch Customers,Ambil Pelanggan,
Send To Primary Contact,Kirim Ke Kontak Utama,
Print Preferences,Preferensi Cetak,
Include Ageing Summary,Sertakan Ringkasan Penuaan,
Enable Auto Email,Aktifkan Email Otomatis,
Filter Duration (Months),Durasi Filter (Bulan),
CC To,CC Ke,
Help Text,Teks Bantuan,
Emails Queued,Email Mengantri,
Process Statement Of Accounts Customer,Proses Laporan Rekening Pelanggan,
Billing Email,Email Penagihan,
Primary Contact Email,Email Kontak Utama,
PSOA Cost Center,Pusat Biaya PSOA,
PSOA Project,Proyek PSOA,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Supplier GSTIN,
Place of Supply,Tempat Persediaan,
Select Billing Address,Pilih Alamat Penagihan,
GST Details,Detail GST,
GST Category,Kategori GST,
Registered Regular,Reguler Terdaftar,
Registered Composition,Komposisi Terdaftar,
Unregistered,Tidak terdaftar,
SEZ,SEZ,
Overseas,Luar negeri,
UIN Holders,Pemegang UIN,
With Payment of Tax,Dengan Pembayaran Pajak,
Without Payment of Tax,Tanpa Pembayaran Pajak,
Invoice Copy,Salinan Faktur,
Original for Recipient,Asli untuk Penerima,
Duplicate for Transporter,Duplikat untuk Transporter,
Duplicate for Supplier,Duplikat untuk Pemasok,
Triplicate for Supplier,Rangkap tiga untuk Pemasok,
Reverse Charge,Pengisian Balik,
Y,Y,
N,N,
E-commerce GSTIN,GSTIN E-niaga,
Reason For Issuing document,Alasan Penerbitan dokumen,
01-Sales Return,01-Retur Penjualan,
02-Post Sale Discount,Diskon 02-Post Sale,
03-Deficiency in services,03-Kekurangan dalam layanan,
04-Correction in Invoice,04-Koreksi dalam Faktur,
05-Change in POS,05-Ubah POS,
06-Finalization of Provisional assessment,06-Finalisasi penilaian Sementara,
07-Others,07-Lainnya,
Eligibility For ITC,Persyaratan Untuk ITC,
Input Service Distributor,Distributor Layanan Input,
Import Of Service,Impor Layanan,
Import Of Capital Goods,Impor Barang Modal,
Ineligible,Tidak memenuhi syarat,
All Other ITC,Semua ITC Lainnya,
Availed ITC Integrated Tax,Tersedia Pajak Terpadu ITC,
Availed ITC Central Tax,Tersedia Pajak Pusat ITC,
Availed ITC State/UT Tax,Tersedia Pajak Negara Bagian / UT ITC,
Availed ITC Cess,Tersedia ITC Cess,
Is Nil Rated or Exempted,Apakah Nihil Dinilai atau Dikecualikan,
Is Non GST,Apakah Non GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,E-Way Bill No.,
Is Consolidated,Apakah Konsolidasi,
Billing Address GSTIN,Alamat Penagihan GSTIN,
Customer GSTIN,GSTIN pelanggan,
GST Transporter ID,ID Pengangkut GST,
Distance (in km),Jarak (dalam km),
Road,Jalan,
Air,Udara,
Rail,Rel,
Ship,Kapal,
GST Vehicle Type,Jenis Kendaraan GST,
Over Dimensional Cargo (ODC),Over Dimensional Cargo (ODC),
Consumer,Konsumen,
Deemed Export,Ekspor yang Dianggap,
Port Code,Kode Port,
 Shipping Bill Number,Nomor Tagihan Pengiriman,
Shipping Bill Date,Tanggal Tagihan Pengiriman,
Subscription End Date,Tanggal Akhir Langganan,
Follow Calendar Months,Ikuti Bulan Kalender,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Jika ini dicentang, faktur baru berikutnya akan dibuat pada bulan kalender dan tanggal mulai kuartal terlepas dari tanggal mulai faktur saat ini",
Generate New Invoices Past Due Date,Buat Faktur Baru Tanggal Jatuh Tempo,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,Faktur baru akan dibuat sesuai jadwal meskipun faktur saat ini belum dibayar atau lewat jatuh tempo,
Document Type ,tipe dokumen,
Subscription Price Based On,Harga Langganan Berdasarkan,
Fixed Rate,Tarif Tetap,
Based On Price List,Berdasarkan Daftar Harga,
Monthly Rate,Tarif Bulanan,
Cancel Subscription After Grace Period,Batalkan Langganan Setelah Masa Tenggang,
Source State,Status Sumber,
Is Inter State,Apakah Inter State,
Purchase Details,Rincian Pembelian,
Depreciation Posting Date,Tanggal Posting Depresiasi,
Purchase Order Required for Purchase Invoice & Receipt Creation,Pesanan Pembelian Diperlukan untuk Pembuatan Faktur Pembelian &amp; Tanda Terima,
Purchase Receipt Required for Purchase Invoice Creation,Tanda Terima Pembelian Diperlukan untuk Pembuatan Faktur Pembelian,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Secara default, Nama Pemasok diatur sesuai Nama Pemasok yang dimasukkan. Jika Anda ingin Pemasok diberi nama oleh a",
 choose the 'Naming Series' option.,pilih opsi &#39;Seri Penamaan&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga default saat membuat transaksi Pembelian baru. Harga item akan diambil dari Daftar Harga ini.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Pembelian atau Tanda Terima tanpa membuat Pesanan Pembelian terlebih dahulu. Konfigurasi ini dapat diganti untuk pemasok tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Pembelian Tanpa Pesanan Pembelian&#39; di master Pemasok.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Pembelian tanpa membuat Tanda Terima Pembelian terlebih dahulu. Konfigurasi ini dapat diganti untuk pemasok tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Pembelian Tanpa Tanda Terima Pembelian&#39; di master Pemasok.",
Quantity & Stock,Kuantitas &amp; Stok,
Call Details,Detail Panggilan,
Authorised By,Diotorisasi Oleh,
Signee (Company),Signee (Perusahaan),
Signed By (Company),Ditandatangani Oleh (Perusahaan),
First Response Time,Waktu Respon Pertama,
Request For Quotation,Permintaan Penawaran,
Opportunity Lost Reason Detail,Detail Opportunity Lost Reason,
Access Token Secret,Akses Rahasia Token,
Add to Topics,Tambahkan ke Topik,
...Adding Article to Topics,... Menambahkan Artikel ke Topik,
Add Article to Topics,Tambahkan Artikel ke Topik,
This article is already added to the existing topics,Artikel ini telah ditambahkan ke topik yang ada,
Add to Programs,Tambahkan ke Program,
Programs,Program,
...Adding Course to Programs,... Menambahkan Kursus ke Program,
Add Course to Programs,Tambahkan Kursus ke Program,
This course is already added to the existing programs,Kursus ini sudah ditambahkan ke program yang ada,
Learning Management System Settings,Pengaturan Sistem Manajemen Pembelajaran,
Enable Learning Management System,Aktifkan Sistem Manajemen Pembelajaran,
Learning Management System Title,Judul Sistem Manajemen Pembelajaran,
...Adding Quiz to Topics,... Menambahkan Kuis ke Topik,
Add Quiz to Topics,Tambahkan Kuis ke Topik,
This quiz is already added to the existing topics,Kuis ini telah ditambahkan ke topik yang ada,
Enable Admission Application,Aktifkan Aplikasi Penerimaan,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Menandai kehadiran,
Add Guardians to Email Group,Tambahkan Wali ke Grup Email,
Attendance Based On,Kehadiran Berdasarkan,
Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Centang ini untuk menandai siswa sebagai hadir seandainya siswa tidak menghadiri institut untuk berpartisipasi atau mewakili institut dalam acara apa pun.,
Add to Courses,Tambahkan ke Kursus,
...Adding Topic to Courses,... Menambahkan Topik ke Kursus,
Add Topic to Courses,Tambahkan Topik ke Kursus,
This topic is already added to the existing courses,Topik ini sudah ditambahkan ke kursus yang ada,
"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Jika Shopify tidak memiliki pelanggan dalam pesanan, maka saat menyinkronkan pesanan, sistem akan mempertimbangkan pelanggan default untuk pesanan tersebut.",
The accounts are set by the system automatically but do confirm these defaults,"Akun-akun tersebut ditetapkan oleh sistem secara otomatis, tetapi pastikan akun-akun tersebut ditetapkan secara default",
Default Round Off Account,Akun Round Off Default,
Failed Import Log,Log Impor Gagal,
Fixed Error Log,Memperbaiki Error Log,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Perusahaan {0} sudah ada. Melanjutkan akan menimpa Perusahaan dan Bagan Akun,
Meta Data,Meta Data,
Unresolve,Tidak terselesaikan,
Create Document,Buat Dokumen,
Mark as unresolved,Tandai belum terselesaikan,
TaxJar Settings,Pengaturan TaxJar,
Sandbox Mode,Mode Sandbox,
Enable Tax Calculation,Aktifkan Perhitungan Pajak,
Create TaxJar Transaction,Buat Transaksi TaxJar,
Credentials,Kredensial,
Live API Key,Kunci API Langsung,
Sandbox API Key,Kunci API Kotak Pasir,
Configuration,Konfigurasi,
Tax Account Head,Kepala Rekening Pajak,
Shipping Account Head,Kepala Akun Pengiriman,
Practitioner Name,Nama Praktisi,
Enter a name for the Clinical Procedure Template,Masukkan nama untuk Template Prosedur Klinis,
Set the Item Code which will be used for billing the Clinical Procedure.,Tetapkan Kode Item yang akan digunakan untuk penagihan Prosedur Klinis.,
Select an Item Group for the Clinical Procedure Item.,Pilih Grup Item untuk Item Prosedur Klinis.,
Clinical Procedure Rate,Tingkat Prosedur Klinis,
Check this if the Clinical Procedure is billable and also set the rate.,Periksa ini jika Prosedur Klinis dapat ditagih dan juga tetapkan tarif.,
Check this if the Clinical Procedure utilises consumables. Click ,Periksa ini jika Prosedur Klinis menggunakan bahan habis pakai. Klik,
 to know more,untuk mengetahui lebih lanjut,
"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","Anda juga dapat mengatur Departemen Medis untuk templatnya. Setelah menyimpan dokumen, Item secara otomatis akan dibuat untuk penagihan Prosedur Klinis ini. Anda kemudian dapat menggunakan templat ini saat membuat Prosedur Klinis untuk Pasien. Template menyelamatkan Anda dari mengisi data yang berlebihan setiap saat. Anda juga dapat membuat template untuk operasi lain seperti Tes Lab, Sesi Terapi, dll.",
Descriptive Test Result,Hasil Tes Deskriptif,
Allow Blank,Izinkan Kosong,
Descriptive Test Template,Template Tes Deskriptif,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Jika Anda ingin melacak Penggajian dan operasi HRMS lainnya untuk seorang Praktisi, buatlah Karyawan dan tautkan di sini.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Tetapkan Jadwal Praktisi yang baru saja Anda buat. Ini akan digunakan saat memesan janji temu.,
Create a service item for Out Patient Consulting.,Buat item layanan untuk Konsultasi Pasien Keluar.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Jika Praktisi Perawatan Kesehatan ini bekerja untuk Departemen Rawat Inap, buat item layanan untuk Kunjungan Rawat Inap.",
Set the Out Patient Consulting Charge for this Practitioner.,Tetapkan Biaya Konsultasi Pasien Keluar untuk Praktisi ini.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Jika Praktisi Perawatan Kesehatan ini juga bekerja di Bagian Rawat Inap, tetapkan biaya kunjungan rawat inap untuk Praktisi ini.",
"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Jika dicentang, pelanggan akan dibuat untuk setiap Pasien. Faktur Pasien akan dibuat untuk Pelanggan ini. Anda juga dapat memilih Pelanggan yang ada saat membuat Pasien. Bidang ini dicentang secara default.",
Collect Registration Fee,Kumpulkan Biaya Pendaftaran,
"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Jika fasilitas Kesehatan Anda menagih pendaftaran Pasien, Anda dapat memeriksa ini dan mengatur Biaya Pendaftaran di bidang di bawah ini. Memeriksa ini akan membuat Pasien baru dengan status Dinonaktifkan secara default dan hanya akan diaktifkan setelah menagih Biaya Pendaftaran.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Memeriksa ini akan secara otomatis membuat Faktur Penjualan setiap kali janji temu dipesan untuk Pasien.,
Healthcare Service Items,Item Layanan Kesehatan,
"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","Anda dapat membuat item layanan untuk Biaya Kunjungan Rawat Inap dan mengaturnya di sini. Demikian pula, Anda dapat mengatur Item Layanan Kesehatan lainnya untuk penagihan di bagian ini. Klik",
Set up default Accounts for the Healthcare Facility,Atur Akun default untuk Fasilitas Kesehatan,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Jika Anda ingin mengganti pengaturan akun default dan mengkonfigurasi akun Pendapatan dan Piutang untuk Perawatan Kesehatan, Anda dapat melakukannya di sini.",
Out Patient SMS alerts,Peringatan SMS Keluar Pasien,
"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Jika Anda ingin mengirim peringatan SMS pada Pendaftaran Pasien, Anda dapat mengaktifkan opsi ini. Serupa dengan itu, Anda dapat mengatur peringatan SMS Keluar Pasien untuk fungsi lain di bagian ini. Klik",
Admission Order Details,Detail Pesanan Pendaftaran,
Admission Ordered For,Pendaftaran Dipesan Untuk,
Expected Length of Stay,Perkiraan Lama Tinggal,
Admission Service Unit Type,Jenis Unit Layanan Penerimaan,
Healthcare Practitioner (Primary),Praktisi Kesehatan (Utama),
Healthcare Practitioner (Secondary),Praktisi Kesehatan (Sekunder),
Admission Instruction,Instruksi Pendaftaran,
Chief Complaint,Pengaduan Utama,
Medications,Pengobatan,
Investigations,Investigasi,
Discharge Detials,Discharge Detials,
Discharge Ordered Date,Tanggal Pemesanan Discharge,
Discharge Instructions,Instruksi Pembuangan,
Follow Up Date,Tanggal Tindak Lanjut,
Discharge Notes,Catatan Discharge,
Processing Inpatient Discharge,Memproses Debit Rawat Inap,
Processing Patient Admission,Memproses Penerimaan Pasien,
Check-in time cannot be greater than the current time,Waktu check-in tidak boleh lebih dari waktu saat ini,
Process Transfer,Proses Transfer,
HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
Expected Result Date,Tanggal Hasil yang Diharapkan,
Expected Result Time,Waktu Hasil yang Diharapkan,
Printed on,Tercetak,
Requesting Practitioner,Meminta Praktisi,
Requesting Department,Departemen Permintaan,
Employee (Lab Technician),Karyawan (Teknisi Lab),
Lab Technician Name,Nama Teknisi Lab,
Lab Technician Designation,Penunjukan Teknisi Lab,
Compound Test Result,Hasil Uji Senyawa,
Organism Test Result,Hasil Uji Organisme,
Sensitivity Test Result,Hasil Uji Sensitivitas,
Worksheet Print,Cetak Lembar Kerja,
Worksheet Instructions,Instruksi Lembar Kerja,
Result Legend Print,Hasil Legenda Cetak,
Print Position,Posisi Cetak,
Bottom,Bawah,
Top,Puncak,
Both,Kedua,
Result Legend,Hasil Legenda,
Lab Tests,Tes Lab,
No Lab Tests found for the Patient {0},Tidak ada Tes Lab untuk Pasien {0},
"Did not send SMS, missing patient mobile number or message content.","Tidak mengirim SMS, nomor ponsel pasien hilang, atau konten pesan.",
No Lab Tests created,Tidak ada Tes Lab yang dibuat,
Creating Lab Tests...,Membuat Tes Lab ...,
Lab Test Group Template,Template Kelompok Uji Lab,
Add New Line,Tambahkan Baris Baru,
Secondary UOM,UOM Sekunder,
"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Tunggal</b> : Hasil yang hanya membutuhkan satu masukan.<br> <b>Gabungan</b> : Hasil yang membutuhkan banyak masukan peristiwa.<br> <b>Deskriptif</b> : Tes yang memiliki banyak komponen hasil dengan entri hasil manual.<br> <b>Dikelompokkan</b> : Template uji yang merupakan grup template uji lainnya.<br> <b>Tidak Ada Hasil</b> : Tes tanpa hasil, dapat dipesan dan ditagih tetapi tidak ada Tes Lab yang akan dibuat. misalnya. Sub Tes untuk hasil yang dikelompokkan",
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Jika tidak dicentang, item tidak akan tersedia di Faktur Penjualan untuk penagihan tetapi dapat digunakan dalam pembuatan uji grup.",
Description ,Deskripsi,
Descriptive Test,Tes Deskriptif,
Group Tests,Tes Kelompok,
Instructions to be printed on the worksheet,Instruksi untuk dicetak di lembar kerja,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.","Informasi untuk membantu menafsirkan laporan tes dengan mudah, akan dicetak sebagai bagian dari hasil Tes Lab.",
Normal Test Result,Hasil Tes Normal,
Secondary UOM Result,Hasil UOM Sekunder,
Italic,Miring,
Underline,Menggarisbawahi,
Organism,Organisme,
Organism Test Item,Item Uji Organisme,
Colony Population,Populasi Koloni,
Colony UOM,Koloni UOM,
Tobacco Consumption (Past),Konsumsi Tembakau (Dulu),
Tobacco Consumption (Present),Konsumsi Tembakau (Sekarang),
Alcohol Consumption (Past),Konsumsi Alkohol (Dulu),
Alcohol Consumption (Present),Konsumsi Alkohol (Sekarang),
Billing Item,Item Penagihan,
Medical Codes,Kode Medis,
Clinical Procedures,Prosedur Klinis,
Order Admission,Penerimaan Pesanan,
Scheduling Patient Admission,Menjadwalkan Penerimaan Pasien,
Order Discharge,Order Discharge,
Sample Details,Rincian Sampel,
Collected On,Dikumpulkan Pada,
No. of prints,Jumlah cetakan,
Number of prints required for labelling the samples,Jumlah cetakan yang diperlukan untuk memberi label pada sampel,
HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
In Time,Pada waktunya,
Out Time,Waktu Keluar,
Payroll Cost Center,Pusat Biaya Penggajian,
Approvers,Pemberi persetujuan,
The first Approver in the list will be set as the default Approver.,Pemberi Persetujuan pertama dalam daftar akan ditetapkan sebagai Pemberi Persetujuan default.,
Shift Request Approver,Penyetuju Permintaan Shift,
PAN Number,Nomor PAN,
Provident Fund Account,Rekening Dana Provident,
MICR Code,Kode MICR,
Repay unclaimed amount from salary,Membayar kembali jumlah gaji yang belum diklaim,
Deduction from salary,Pemotongan gaji,
Expired Leaves,Daun kadaluarsa,
Reference No,nomor referensi,
Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,Persentase potongan rambut adalah perbedaan persentase antara nilai pasar dari Jaminan Pinjaman dan nilai yang dianggap berasal dari Jaminan Pinjaman tersebut ketika digunakan sebagai jaminan untuk pinjaman tersebut.,
Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,Loan To Value Ratio mengungkapkan rasio jumlah pinjaman dengan nilai jaminan yang dijaminkan. Kekurangan jaminan pinjaman akan dipicu jika jumlahnya di bawah nilai yang ditentukan untuk pinjaman apa pun,
If this is not checked the loan by default will be considered as a Demand Loan,"Jika tidak dicentang, pinjaman secara default akan dianggap sebagai Pinjaman Permintaan",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Rekening ini digunakan untuk membukukan pembayaran pinjaman dari peminjam dan juga menyalurkan pinjaman kepada peminjam,
This account is capital account which is used to allocate capital for loan disbursal account ,Akun ini adalah akun modal yang digunakan untuk mengalokasikan modal ke akun pencairan pinjaman,
This account will be used for booking loan interest accruals,Akun ini akan digunakan untuk membukukan akrual bunga pinjaman,
This account will be used for booking penalties levied due to delayed repayments,Rekening ini akan digunakan untuk membayar denda karena penundaan pembayaran,
Variant BOM,Varian BOM,
Template Item,Item Template,
Select template item,Pilih item template,
Select variant item code for the template item {0},Pilih kode item varian untuk item template {0},
Downtime Entry,Masuk Waktu Henti,
DT-,DT-,
Workstation / Machine,Workstation / Mesin,
Operator,Operator,
In Mins,Dalam Mins,
Downtime Reason,Alasan Downtime,
Stop Reason,Hentikan Alasan,
Excessive machine set up time,Waktu penyetelan mesin yang berlebihan,
Unplanned machine maintenance,Perawatan mesin yang tidak direncanakan,
On-machine press checks,Pemeriksaan pers di mesin,
Machine operator errors,Kesalahan operator mesin,
Machine malfunction,Kerusakan mesin,
Electricity down,Listrik mati,
Operation Row Number,Nomor Baris Operasi,
Operation {0} added multiple times in the work order {1},Operasi {0} ditambahkan beberapa kali dalam perintah kerja {1},
"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Jika dicentang, beberapa bahan dapat digunakan untuk satu Perintah Kerja. Ini berguna jika satu atau lebih produk yang memakan waktu sedang diproduksi.",
Backflush Raw Materials,Bahan Baku Backflush,
"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","Entri Stok jenis &#39;Manufaktur&#39; dikenal sebagai backflush. Bahan mentah yang dikonsumsi untuk memproduksi barang jadi dikenal sebagai pembilasan balik.<br><br> Saat membuat Entri Manufaktur, item bahan baku di-backflush berdasarkan BOM item produksi. Jika Anda ingin item bahan mentah di-backflush berdasarkan entri Transfer Material yang dibuat berdasarkan Perintah Kerja tersebut, Anda dapat mengaturnya di bawah bidang ini.",
Work In Progress Warehouse,Pekerjaan Di Gudang Sedang Berlangsung,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Gudang ini akan diperbarui secara otomatis di bidang Work In Progress Warehouse dari Perintah Kerja.,
Finished Goods Warehouse,Gudang Barang Jadi,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Gudang ini akan diperbarui secara otomatis dalam bidang Pesanan Kerja Gudang Target.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Jika dicentang, biaya BOM akan otomatis terupdate berdasarkan Harga Penilaian / Harga Daftar Harga / harga pembelian terakhir bahan baku.",
Source Warehouses (Optional),Gudang Sumber (Opsional),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Sistem akan mengambil bahan dari gudang yang dipilih. Jika tidak ditentukan, sistem akan membuat permintaan material untuk pembelian.",
Lead Time,Waktu Pimpin,
PAN Details,Detail PAN,
Create Customer,Buat Pelanggan,
Invoicing,Faktur,
Enable Auto Invoicing,Aktifkan Faktur Otomatis,
Send Membership Acknowledgement,Kirim Pengakuan Keanggotaan,
Send Invoice with Email,Kirim Faktur dengan Email,
Membership Print Format,Format Cetak Keanggotaan,
Invoice Print Format,Format Cetak Faktur,
Revoke <Key></Key>,Mencabut&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,Anda dapat mempelajari lebih lanjut tentang keanggotaan di manual.,
ERPNext Docs,ERPNext Docs,
Regenerate Webhook Secret,Buat Ulang Rahasia Webhook,
Generate Webhook Secret,Hasilkan Rahasia Webhook,
Copy Webhook URL,Salin URL Webhook,
Linked Item,Item Tertaut,
Is Recurring,Apakah Berulang,
HRA Exemption,Pembebasan HRA,
Monthly House Rent,Sewa Rumah Bulanan,
Rented in Metro City,Disewakan di Kota Metro,
HRA as per Salary Structure,HRA sesuai Struktur Gaji,
Annual HRA Exemption,Pembebasan HRA Tahunan,
Monthly HRA Exemption,Pembebasan HRA Bulanan,
House Rent Payment Amount,Jumlah Pembayaran Sewa Rumah,
Rented From Date,Disewakan Dari Tanggal,
Rented To Date,Disewakan Sampai Saat Ini,
Monthly Eligible Amount,Jumlah yang Layak Bulanan,
Total Eligible HRA Exemption,Total Pembebasan HRA yang Memenuhi Syarat,
Validating Employee Attendance...,Memvalidasi Kehadiran Karyawan ...,
Submitting Salary Slips and creating Journal Entry...,Mengirimkan Slip Gaji dan membuat Entri Jurnal ...,
Calculate Payroll Working Days Based On,Hitung Hari Kerja Penggajian Berdasarkan,
Consider Unmarked Attendance As,Pertimbangkan Kehadiran Tanpa Tanda Sebagai,
Fraction of Daily Salary for Half Day,Bagian Gaji Harian untuk Setengah Hari,
Component Type,Jenis Komponen,
Provident Fund,dana penghematan,
Additional Provident Fund,Dana Provident Tambahan,
Provident Fund Loan,Pinjaman Dana Provident,
Professional Tax,Pajak Profesional,
Is Income Tax Component,Adalah Komponen Pajak Penghasilan,
Component properties and references ,Properti dan referensi komponen,
Additional Salary ,Gaji Tambahan,
Condtion and formula,Condtion dan formula,
Unmarked days,Hari tak bertanda,
Absent Days,Hari Absen,
Conditions and Formula variable and example,Kondisi dan variabel Rumus dan contoh,
Feedback By,Umpan Balik Oleh,
MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
Manufacturing Section,Bagian Manufaktur,
Sales Order Required for Sales Invoice & Delivery Note Creation,Pesanan Penjualan Diperlukan untuk Pembuatan Faktur Penjualan &amp; Nota Pengiriman,
Delivery Note Required for Sales Invoice Creation,Nota Pengiriman Diperlukan untuk Pembuatan Faktur Penjualan,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Secara default, Nama Pelanggan diatur sesuai Nama Lengkap yang dimasukkan. Jika Anda ingin Pelanggan diberi nama oleh a",
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga default saat membuat transaksi Penjualan baru. Harga item akan diambil dari Daftar Harga ini.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Penjualan atau Nota Pengiriman tanpa membuat Pesanan Penjualan terlebih dahulu. Konfigurasi ini dapat diganti untuk Pelanggan tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Penjualan Tanpa Pesanan Penjualan&#39; di master Pelanggan.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Penjualan tanpa membuat Nota Pengiriman terlebih dahulu. Konfigurasi ini dapat diganti untuk Pelanggan tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Penjualan Tanpa Catatan Pengiriman&#39; di master Pelanggan.",
Default Warehouse for Sales Return,Gudang Default untuk Retur Penjualan,
Default In Transit Warehouse,Default Di Gudang Transit,
Enable Perpetual Inventory For Non Stock Items,Aktifkan Persediaan Abadi Untuk Item Non Stok,
HRA Settings,Pengaturan HRA,
Basic Component,Komponen Dasar,
HRA Component,Komponen HRA,
Arrear Component,Komponen Tunggakan,
Please enter the company name to confirm,Silakan masukkan nama perusahaan untuk konfirmasi,
Quotation Lost Reason Detail,Detail Quotation Lost Reason,
Enable Variants,Aktifkan Varian,
Save Quotations as Draft,Simpan Kutipan sebagai Draf,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Harap Pilih Pelanggan,
Against Delivery Note Item,Terhadap Item Nota Pengiriman,
Is Non GST ,Apakah Non GST,
Image Description,Uraian gambar; kesan,
Transfer Status,Status Transfer,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Lacak Tanda Terima Pembelian ini terhadap Proyek apa pun,
Please Select a Supplier,Silakan Pilih Pemasok,
Add to Transit,Tambahkan ke Transit,
Set Basic Rate Manually,Tetapkan Tarif Dasar Secara Manual,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Secara default, Nama Item diatur sesuai Kode Item yang dimasukkan. Jika Anda ingin Item diberi nama dengan a",
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Tetapkan Gudang Default untuk Transaksi Persediaan. Ini akan diambil ke Gudang Default di master Item.,
"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Ini akan memungkinkan stok barang untuk ditampilkan dalam nilai negatif. Penggunaan opsi ini bergantung pada kasus penggunaan Anda. Dengan opsi ini tidak dicentang, sistem memperingatkan sebelum menghalangi transaksi yang menyebabkan stok negatif.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Pilih antara Metode Penilaian FIFO dan Moving Average. Klik,
 to know more about them.,untuk mengetahui lebih banyak tentang mereka.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Tampilkan bidang &#39;Pindai Kode Batang&#39; di atas setiap tabel anak untuk memasukkan Item dengan mudah.,
"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Nomor seri untuk stok akan diatur secara otomatis berdasarkan Item yang dimasukkan berdasarkan pertama masuk pertama keluar dalam transaksi seperti Faktur Pembelian / Penjualan, Catatan Pengiriman, dll.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Jika kosong, Akun Gudang induk atau default perusahaan akan dipertimbangkan dalam transaksi",
Service Level Agreement Details,Detail Perjanjian Tingkat Layanan,
Service Level Agreement Status,Status Perjanjian Tingkat Layanan,
On Hold Since,Ditahan Sejak,
Total Hold Time,Total Waktu Penahanan,
Response Details,Detail Tanggapan,
Average Response Time,Waktu Respon Rata-Rata,
User Resolution Time,Waktu Resolusi Pengguna,
SLA is on hold since {0},SLA ditahan sejak {0},
Pause SLA On Status,Jeda SLA Pada Status,
Pause SLA On,Jeda SLA Aktif,
Greetings Section,Bagian Salam,
Greeting Title,Judul Ucapan,
Greeting Subtitle,Subtitel Salam,
Youtube ID,ID Youtube,
Youtube Statistics,Statistik Youtube,
Views,Tampilan,
Dislikes,Tidak suka,
Video Settings,Pengaturan video,
Enable YouTube Tracking,Aktifkan Pelacakan YouTube,
30 mins,30 menit,
1 hr,1 jam,
6 hrs,6 jam,
Patient Progress,Kemajuan Pasien,
Targetted,Targetted,
Score Obtained,Skor Diperoleh,
Sessions,Sesi,
Average Score,Skor rata - rata,
Select Assessment Template,Pilih Template Penilaian,
 out of ,dari,
Select Assessment Parameter,Pilih Parameter Penilaian,
Gender: ,Jenis kelamin:,
Contact: ,Kontak:,
Total Therapy Sessions: ,Sesi Terapi Total:,
Monthly Therapy Sessions: ,Sesi Terapi Bulanan:,
Patient Profile,Profil Pasien,
Point Of Sale,Titik penjualan,
Email sent successfully.,Email berhasil dikirim.,
Search by invoice id or customer name,Cari berdasarkan id faktur atau nama pelanggan,
Invoice Status,Status Faktur,
Filter by invoice status,Filter berdasarkan status faktur,
Select item group,Pilih grup item,
No items found. Scan barcode again.,Tidak ada item yang ditemukan. Pindai kode batang lagi.,
"Search by customer name, phone, email.","Cari berdasarkan nama pelanggan, telepon, email.",
Enter discount percentage.,Masukkan persentase diskon.,
Discount cannot be greater than 100%,Diskon tidak boleh lebih dari 100%,
Enter customer's email,Masukkan email pelanggan,
Enter customer's phone number,Masukkan nomor telepon pelanggan,
Customer contact updated successfully.,Kontak pelanggan berhasil diperbarui.,
Item will be removed since no serial / batch no selected.,Item akan dihapus karena tidak ada serial / batch yang dipilih.,
Discount (%),Diskon (%),
You cannot submit the order without payment.,Anda tidak dapat mengirimkan pesanan tanpa pembayaran.,
You cannot submit empty order.,Anda tidak dapat mengirimkan pesanan kosong.,
To Be Paid,Untuk dibayar,
Create POS Opening Entry,Buat Entri Pembukaan POS,
Please add Mode of payments and opening balance details.,Harap tambahkan Cara pembayaran dan detail saldo pembukaan.,
Toggle Recent Orders,Alihkan Pesanan Terbaru,
Save as Draft,Simpan sebagai draf,
You must add atleast one item to save it as draft.,Anda harus menambahkan setidaknya satu item untuk menyimpannya sebagai draf.,
There was an error saving the document.,Terjadi kesalahan saat menyimpan dokumen.,
You must select a customer before adding an item.,Anda harus memilih pelanggan sebelum menambahkan item.,
Please Select a Company,Harap Pilih Perusahaan,
Active Leads,Pimpinan Aktif,
Please Select a Company.,Harap Pilih Perusahaan.,
BOM Operations Time,Waktu Operasi BOM,
BOM ID,ID BOM,
BOM Item Code,Kode Barang BOM,
Time (In Mins),Waktu (Dalam Menit),
Sub-assembly BOM Count,Sub-perakitan BOM Count,
View Type,Jenis Tampilan,
Total Delivered Amount,Jumlah Total yang Dikirim,
Downtime Analysis,Analisis Waktu Henti,
Machine,Mesin,
Downtime (In Hours),Waktu Henti (Dalam Jam),
Employee Analytics,Analisis Karyawan,
"""From date"" can not be greater than or equal to ""To date""",&quot;Dari tanggal&quot; tidak boleh lebih dari atau sama dengan &quot;Sampai saat ini&quot;,
Exponential Smoothing Forecasting,Peramalan Pemulusan Eksponensial,
First Response Time for Issues,Waktu Respons Pertama untuk Masalah,
First Response Time for Opportunity,Waktu Respons Pertama untuk Peluang,
Depreciatied Amount,Jumlah yang Disusutkan,
Period Based On,Berdasarkan Periode,
Date Based On,Tanggal Berdasarkan,
{0} and {1} are mandatory,{0} dan {1} adalah wajib,
Consider Accounting Dimensions,Pertimbangkan Dimensi Akuntansi,
Income Tax Deductions,Pemotongan Pajak Pendapatan,
Income Tax Component,Komponen Pajak Penghasilan,
Income Tax Amount,Jumlah Pajak Penghasilan,
Reserved Quantity for Production,Kuantitas yang Dicadangkan untuk Produksi,
Projected Quantity,Kuantitas yang Diproyeksikan,
 Total Sales Amount,Jumlah Penjualan Total,
Job Card Summary,Ringkasan Kartu Pekerjaan,
Id,Indo,
Time Required (In Mins),Waktu yang Dibutuhkan (Dalam Menit),
From Posting Date,Dari Tanggal Posting,
To Posting Date,Untuk Tanggal Posting,
No records found,Tidak ada catatan yang ditemukan,
Customer/Lead Name,Nama Pelanggan / Prospek,
Unmarked Days,Hari Tidak Bertanda,
Jan,Jan,
Feb,Feb,
Mar,Merusak,
Apr,Apr,
Aug,Agustus,
Sep,Sep,
Oct,Okt,
Nov,Nov,
Dec,Des,
Summarized View,Tampilan Ringkas,
Production Planning Report,Laporan Perencanaan Produksi,
Order Qty,Pesan Qty,
Raw Material Code,Kode Bahan Baku,
Raw Material Name,Nama Bahan Baku,
Allotted Qty,Qty yang dialokasikan,
Expected Arrival Date,Tanggal Kedatangan yang Diharapkan,
Arrival Quantity,Kuantitas Kedatangan,
Raw Material Warehouse,Gudang Bahan Baku,
Order By,Dipesan oleh,
Include Sub-assembly Raw Materials,Sertakan Bahan Baku Sub-perakitan,
Professional Tax Deductions,Pemotongan Pajak Profesional,
Program wise Fee Collection,Pengumpulan Biaya Program bijaksana,
Fees Collected,Biaya yang Dikumpulkan,
Project Summary,Ringkasan proyek,
Total Tasks,Total Tugas,
Tasks Completed,Tugas Selesai,
Tasks Overdue,Tugas Terlambat,
Completion,Penyelesaian,
Provident Fund Deductions,Pemotongan Dana Provident,
Purchase Order Analysis,Analisis Pesanan Pembelian,
From and To Dates are required.,Dari dan Ke Tanggal wajib diisi.,
To Date cannot be before From Date.,To Date tidak boleh sebelum From Date.,
Qty to Bill,Jumlah hingga Bill,
Group by Purchase Order,Kelompokkan berdasarkan Pesanan Pembelian,
 Purchase Value,Nilai pembelian,
Total Received Amount,Jumlah Total yang Diterima,
Quality Inspection Summary,Ringkasan Pemeriksaan Kualitas,
 Quoted Amount,Jumlah yang Dikutip,
Lead Time (Days),Waktu Pimpin (Hari),
Include Expired,Sertakan Kedaluwarsa,
Recruitment Analytics,Analitik Rekrutmen,
Applicant name,Nama pelamar,
Job Offer status,Status Tawaran Pekerjaan,
On Date,Pada Tanggal,
Requested Items to Order and Receive,Item yang Diminta untuk Dipesan dan Diterima,
Salary Payments Based On Payment Mode,Pembayaran Gaji Berdasarkan Mode Pembayaran,
Salary Payments via ECS,Pembayaran Gaji melalui ECS,
Account No,No rekening,
IFSC,IFSC,
MICR,MICR,
Sales Order Analysis,Analisis Pesanan Penjualan,
Amount Delivered,Jumlah Terkirim,
Delay (in Days),Penundaan (dalam Hari),
Group by Sales Order,Kelompokkan berdasarkan Pesanan Penjualan,
 Sales Value,Nilai penjualan,
Stock Qty vs Serial No Count,Stock Qty vs Serial No Count,
Serial No Count,Serial No Count,
Work Order Summary,Ringkasan Perintah Kerja,
Produce Qty,Menghasilkan Qty,
Lead Time (in mins),Waktu Pimpin (dalam menit),
Charts Based On,Grafik Berdasarkan,
YouTube Interactions,Interaksi YouTube,
Published Date,Tanggal publikasi,
Barnch,Barnch,
Select a Company,Pilih Perusahaan,
Opportunity {0} created,Peluang {0} dibuat,
Kindly select the company first,Pilih perusahaan terlebih dahulu,
Please enter From Date and To Date to generate JSON,Harap masukkan From Date dan To Date untuk menghasilkan JSON,
PF Account,Akun PF,
PF Amount,Jumlah PF,
Additional PF,PF tambahan,
PF Loan,Pinjaman PF,
Download DATEV File,Unduh File DATEV,
Numero has not set in the XML file,Numero belum disetel di file XML,
Inward Supplies(liable to reverse charge),Inward Supplies (dapat ditagih balik),
This is based on the course schedules of this Instructor,Ini didasarkan pada jadwal kursus Instruktur ini,
Course and Assessment,Kursus dan Penilaian,
Course {0} has been added to all the selected programs successfully.,Kursus {0} berhasil ditambahkan ke semua program yang dipilih.,
Programs updated,Program diperbarui,
Program and Course,Program dan Kursus,
{0} or {1} is mandatory,{0} atau {1} adalah wajib,
Mandatory Fields,Bidang wajib,
Student {0}: {1} does not belong to Student Group {2},Siswa {0}: {1} bukan dari Kelompok Siswa {2},
Student Attendance record {0} already exists against the Student {1},Catatan Kehadiran Siswa {0} sudah ada terhadap Siswa {1},
Duplicate Entry,Duplikat Entri,
Course and Fee,Kursus dan Biaya,
Not eligible for the admission in this program as per Date Of Birth,Tidak memenuhi syarat untuk masuk dalam program ini sesuai Tanggal Lahir,
Topic {0} has been added to all the selected courses successfully.,Topik {0} berhasil ditambahkan ke semua kursus yang dipilih.,
Courses updated,Kursus diperbarui,
{0} {1} has been added to all the selected topics successfully.,{0} {1} berhasil ditambahkan ke semua topik yang dipilih.,
Topics updated,Topik diperbarui,
Academic Term and Program,Istilah dan Program Akademik,
Last Stock Transaction for item {0} was on {1}.,Transaksi Stok Terakhir untuk item {0} adalah pada {1}.,
Stock Transactions for Item {0} cannot be posted before this time.,Transaksi Stok untuk Item {0} tidak dapat diposting sebelum waktu ini.,
Please remove this item and try to submit again or update the posting time.,Harap hapus item ini dan coba kirim lagi atau perbarui waktu posting.,
Failed to Authenticate the API key.,Gagal Mengautentikasi kunci API.,
Invalid Credentials,Kredensial tidak valid,
URL can only be a string,URL hanya boleh berupa string,
"Here is your webhook secret, this will be shown to you only once.","Ini rahasia webhook Anda, ini hanya akan ditampilkan kepada Anda sekali.",
The payment for this membership is not paid. To generate invoice fill the payment details,"Pembayaran untuk keanggotaan ini tidak dibayar. Untuk membuat faktur, isi detail pembayaran",
An invoice is already linked to this document,Faktur sudah ditautkan ke dokumen ini,
No customer linked to member {},Tidak ada pelanggan yang ditautkan ke anggota {},
You need to set <b>Debit Account</b> in Membership Settings,Anda perlu mengatur <b>Akun Debit</b> di Pengaturan Keanggotaan,
You need to set <b>Default Company</b> for invoicing in Membership Settings,Anda perlu mengatur <b>Perusahaan Default</b> untuk pembuatan faktur di Pengaturan Keanggotaan,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Anda harus mengaktifkan <b>Kirim Email Pengakuan</b> di Pengaturan Keanggotaan,
Error creating membership entry for {0},Galat membuat entri keanggotaan untuk {0},
A customer is already linked to this Member,Pelanggan sudah ditautkan ke Anggota ini,
End Date must not be lesser than Start Date,Tanggal Akhir tidak boleh kurang dari Tanggal Mulai,
Employee {0} already has Active Shift {1}: {2},Karyawan {0} sudah memiliki Shift Aktif {1}: {2},
 from {0},dari {0},
 to {0},kepada {0},
Please select Employee first.,Pilih Karyawan terlebih dahulu.,
Please set {0} for the Employee or for Department: {1},Harap tetapkan {0} untuk Karyawan atau untuk Departemen: {1},
To Date should be greater than From Date,To Date harus lebih besar dari From Date,
Employee Onboarding: {0} is already for Job Applicant: {1},Orientasi Karyawan: {0} sudah untuk Pelamar Kerja: {1},
Job Offer: {0} is already for Job Applicant: {1},Tawaran Pekerjaan: {0} sudah untuk Pelamar Kerja: {1},
Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Hanya Permintaan Shift dengan status &#39;Disetujui&#39; dan &#39;Ditolak&#39; yang dapat diajukan,
Shift Assignment: {0} created for Employee: {1},Tugas Shift: {0} dibuat untuk Karyawan: {1},
You can not request for your Default Shift: {0},Anda tidak dapat meminta Shift Default Anda: {0},
Only Approvers can Approve this Request.,Hanya Pemberi Persetujuan yang dapat Menyetujui Permintaan ini.,
Asset Value Analytics,Analisis Nilai Aset,
Category-wise Asset Value,Nilai Aset berdasarkan kategori,
Total Assets,Total aset,
New Assets (This Year),Aset Baru (Tahun Ini),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Baris # {}: Tanggal Pengiriman Penyusutan tidak boleh sama dengan Tanggal Tersedia untuk Digunakan.,
Incorrect Date,Tanggal Salah,
Invalid Gross Purchase Amount,Jumlah Pembelian Kotor Tidak Valid,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Ada pemeliharaan atau perbaikan aktif terhadap aset. Anda harus menyelesaikan semuanya sebelum membatalkan aset.,
% Complete,% Selesai,
Back to Course,Kembali ke Kursus,
Finish Topic,Selesaikan Topik,
Mins,Mnt,
by,oleh,
Back to,Kembali ke,
Enrolling...,Mendaftarkan ...,
You have successfully enrolled for the program ,Anda berhasil mendaftar untuk program ini,
Enrolled,Terdaftar,
Watch Intro,Tonton Intro,
We're here to help!,Kami di sini untuk membantu!,
Frequently Read Articles,Sering Membaca Artikel,
Please set a default company address,Harap setel alamat perusahaan default,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} bukan negara bagian yang valid! Periksa kesalahan ketik atau masukkan kode ISO untuk negara bagian Anda.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Terjadi kesalahan saat mengurai Bagan Akun: Pastikan tidak ada dua akun yang memiliki nama yang sama,
Plaid invalid request error,Kesalahan permintaan kotak-kotak tidak valid,
Please check your Plaid client ID and secret values,Harap periksa ID klien Kotak-kotak dan nilai rahasia Anda,
Bank transaction creation error,Kesalahan pembuatan transaksi bank,
Unit of Measurement,Satuan Pengukuran,
Row #{}: Selling rate for item {} is lower than its {}. Selling rate should be atleast {},Baris # {}: Tarif jual item {} lebih rendah daripada {}. Tingkat penjualan harus minimal {},
Fiscal Year {0} Does Not Exist,Tahun Fiskal {0} Tidak Ada,
Row # {0}: Returned Item {1} does not exist in {2} {3},Baris # {0}: Item yang Dikembalikan {1} tidak ada di {2} {3},
Valuation type charges can not be marked as Inclusive,Biaya jenis penilaian tidak dapat ditandai sebagai Inklusif,
You do not have permissions to {} items in a {}.,Anda tidak memiliki izin untuk {} item dalam {}.,
Insufficient Permissions,Izin Tidak Cukup,
You are not allowed to update as per the conditions set in {} Workflow.,Anda tidak diperbolehkan memperbarui sesuai kondisi yang ditetapkan dalam {} Alur Kerja.,
Expense Account Missing,Akun Beban Hilang,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} bukan Nilai yang valid untuk Atribut {1} Butir {2}.,
Invalid Value,Nilai Tidak Valid,
The value {0} is already assigned to an existing Item {1}.,Nilai {0} sudah ditetapkan ke Item yang ada {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Untuk tetap melanjutkan mengedit Nilai Atribut ini, aktifkan {0} di Item Variant Settings.",
Edit Not Allowed,Edit Tidak Diizinkan,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Baris # {0}: Item {1} telah diterima sepenuhnya di Pesanan Pembelian {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Anda tidak dapat membuat atau membatalkan entri akuntansi apa pun dengan dalam Periode Akuntansi tertutup {0},
POS Invoice should have {} field checked.,Faktur POS harus {} dicentang.,
Invalid Item,Item Tidak Valid,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Baris # {}: Anda tidak dapat menambahkan jumlah postive dalam faktur pengembalian. Harap hapus item {} untuk menyelesaikan pengembalian.,
The selected change account {} doesn't belongs to Company {}.,Akun perubahan yang dipilih {} bukan milik Perusahaan {}.,
Atleast one invoice has to be selected.,Setidaknya satu faktur harus dipilih.,
Payment methods are mandatory. Please add at least one payment method.,Metode pembayaran wajib diisi. Harap tambahkan setidaknya satu metode pembayaran.,
Please select a default mode of payment,Harap pilih cara pembayaran default,
You can only select one mode of payment as default,Anda hanya dapat memilih satu jenis pembayaran sebagai default,
Missing Account,Akun Hilang,
Customers not selected.,Pelanggan tidak dipilih.,
Statement of Accounts,Laporan Akun,
Ageing Report Based On ,Laporan Penuaan Berdasarkan,
Please enter distributed cost center,Harap masukkan pusat biaya terdistribusi,
Total percentage allocation for distributed cost center should be equal to 100,Alokasi persentase total untuk pusat biaya terdistribusi harus sama dengan 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Tidak dapat mengaktifkan Pusat Biaya Terdistribusi untuk Pusat Biaya yang sudah dialokasikan di Pusat Biaya Terdistribusi lain,
Parent Cost Center cannot be added in Distributed Cost Center,Pusat Biaya Induk tidak dapat ditambahkan di Pusat Biaya Terdistribusi,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Pusat Biaya Terdistribusi tidak dapat ditambahkan dalam tabel alokasi Pusat Biaya Terdistribusi.,
Cost Center with enabled distributed cost center can not be converted to group,Pusat Biaya dengan pusat biaya terdistribusi yang diaktifkan tidak dapat dikonversi ke grup,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Pusat Biaya yang Sudah Dialokasikan di Pusat Biaya Terdistribusi tidak dapat dikonversi ke grup,
Trial Period Start date cannot be after Subscription Start Date,Tanggal Mulai Periode Uji Coba tidak boleh setelah Tanggal Mulai Langganan,
Subscription End Date must be after {0} as per the subscription plan,Tanggal Akhir Langganan harus setelah {0} sesuai rencana langganan,
Subscription End Date is mandatory to follow calendar months,Tanggal Akhir Langganan wajib mengikuti bulan kalender,
Row #{}: POS Invoice {} is not against customer {},Baris # {}: POS Faktur {} tidak melawan pelanggan {},
Row #{}: POS Invoice {} is not submitted yet,Baris # {}: Faktur POS {} belum dikirim,
Row #{}: POS Invoice {} has been {},Baris # {}: POS Faktur {} telah {},
No Supplier found for Inter Company Transactions which represents company {0},Tidak ada Pemasok yang ditemukan untuk Transaksi Antar Perusahaan yang mewakili perusahaan {0},
No Customer found for Inter Company Transactions which represents company {0},Tidak ada Pelanggan yang ditemukan untuk Transaksi Antar Perusahaan yang mewakili perusahaan {0},
Invalid Period,Periode Tidak Valid,
Selected POS Opening Entry should be open.,Entri Pembukaan POS yang dipilih harus terbuka.,
Invalid Opening Entry,Entri Pembukaan Tidak Valid,
Please set a Company,Harap tetapkan Perusahaan,
"Sorry, this coupon code's validity has not started","Maaf, validitas kode kupon ini belum dimulai",
"Sorry, this coupon code's validity has expired","Maaf, masa berlaku kode kupon ini telah kedaluwarsa",
"Sorry, this coupon code is no longer valid","Maaf, kode kupon ini sudah tidak valid",
For the 'Apply Rule On Other' condition the field {0} is mandatory,"Untuk ketentuan &#39;Terapkan Aturan Pada Lainnya&#39;, bidang {0} wajib diisi",
{1} Not in Stock,{1} Tidak Tersedia,
Only {0} in Stock for item {1},Hanya {0} tersedia untuk item {1},
Please enter a coupon code,Harap masukkan kode kupon,
Please enter a valid coupon code,Harap masukkan kode kupon yang valid,
Invalid Child Procedure,Prosedur Anak Tidak Valid,
Import Italian Supplier Invoice.,Impor Faktur Pemasok Italia.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","Nilai Penilaian untuk Item {0}, diperlukan untuk melakukan entri akuntansi untuk {1} {2}.",
 Here are the options to proceed:,Berikut opsi untuk melanjutkan:,
"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Jika item bertransaksi sebagai item dengan Nilai Penilaian Nol di entri ini, harap aktifkan &#39;Izinkan Tingkat Penilaian Nol&#39; di {0} tabel Item.",
"If not, you can Cancel / Submit this entry ","Jika tidak, Anda dapat Membatalkan / Mengirimkan entri ini",
 performing either one below:,melakukan salah satu di bawah ini:,
Create an incoming stock transaction for the Item.,Buat transaksi stok masuk untuk Item tersebut.,
Mention Valuation Rate in the Item master.,Sebutkan Nilai Penilaian di master Item.,
Valuation Rate Missing,Tingkat Penilaian Tidak Ada,
Serial Nos Required,Serial Nos Diperlukan,
Quantity Mismatch,Kuantitas Tidak Sesuai,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Harap Restock Item dan Perbarui Daftar Pilih untuk melanjutkan. Untuk menghentikan, batalkan Pilih Daftar.",
Out of Stock,Kehabisan persediaan,
{0} units of Item {1} is not available.,{0} unit Item {1} tidak tersedia.,
Item for row {0} does not match Material Request,Item untuk baris {0} tidak cocok dengan Permintaan Material,
Warehouse for row {0} does not match Material Request,Gudang untuk baris {0} tidak cocok dengan Permintaan Material,
Accounting Entry for Service,Entri Akuntansi untuk Layanan,
All items have already been Invoiced/Returned,Semua item sudah Ditagih / Dikembalikan,
All these items have already been Invoiced/Returned,Semua item ini telah Ditagih / Dikembalikan,
Stock Reconciliations,Rekonsiliasi Stok,
Merge not allowed,Penggabungan tidak diperbolehkan,
The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,Atribut yang dihapus berikut ini ada di Varian tetapi tidak ada di Template. Anda dapat menghapus Varian atau mempertahankan atribut di template.,
Variant Items,Item Varian,
Variant Attribute Error,Kesalahan Atribut Varian,
The serial no {0} does not belong to item {1},Nomor seri {0} bukan milik item {1},
There is no batch found against the {0}: {1},Tidak ada kelompok yang ditemukan terhadap {0}: {1},
Completed Operation,Operasi Selesai,
Work Order Analysis,Analisis Perintah Kerja,
Quality Inspection Analysis,Analisis Pemeriksaan Kualitas,
Pending Work Order,Perintah Kerja Tertunda,
Last Month Downtime Analysis,Analisis Waktu Henti Bulan Lalu,
Work Order Qty Analysis,Analisis Qty Perintah Kerja,
Job Card Analysis,Analisis Kartu Pekerjaan,
Monthly Total Work Orders,Total Perintah Kerja Bulanan,
Monthly Completed Work Orders,Perintah Kerja Selesai Bulanan,
Ongoing Job Cards,Kartu Pekerjaan yang Sedang Berlangsung,
Monthly Quality Inspections,Pemeriksaan Kualitas Bulanan,
(Forecast),(Ramalan cuaca),
Total Demand (Past Data),Total Permintaan (Data Sebelumnya),
Total Forecast (Past Data),Perkiraan Total (Data Sebelumnya),
Total Forecast (Future Data),Perkiraan Total (Data Mendatang),
Based On Document,Berdasarkan Dokumen,
Based On Data ( in years ),Berdasarkan Data (dalam tahun),
Smoothing Constant,Menghaluskan Konstan,
Please fill the Sales Orders table,Harap isi tabel Pesanan Penjualan,
Sales Orders Required,Pesanan Penjualan Diperlukan,
Please fill the Material Requests table,Harap isi tabel Permintaan Material,
Material Requests Required,Permintaan Material Diperlukan,
Items to Manufacture are required to pull the Raw Materials associated with it.,Item untuk Pembuatan diminta untuk menarik Bahan Baku yang terkait dengannya.,
Items Required,Item yang Diperlukan,
Operation {0} does not belong to the work order {1},Operasi {0} bukan milik perintah kerja {1},
Print UOM after Quantity,Cetak UOM setelah Kuantitas,
Set default {0} account for perpetual inventory for non stock items,Tetapkan akun {0} default untuk persediaan perpetual untuk item non-stok,
Loan Security {0} added multiple times,Jaminan Pinjaman {0} ditambahkan beberapa kali,
Loan Securities with different LTV ratio cannot be pledged against one loan,Efek Pinjaman dengan rasio LTV berbeda tidak dapat dijaminkan untuk satu pinjaman,
Qty or Amount is mandatory for loan security!,Qty atau Amount wajib untuk keamanan pinjaman!,
Only submittted unpledge requests can be approved,Hanya permintaan unpledge yang dikirim yang dapat disetujui,
Interest Amount or Principal Amount is mandatory,Jumlah Bunga atau Jumlah Pokok wajib diisi,
Disbursed Amount cannot be greater than {0},Jumlah yang Dicairkan tidak boleh lebih dari {0},
Row {0}: Loan Security {1} added multiple times,Baris {0}: Jaminan Pinjaman {1} ditambahkan beberapa kali,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Baris # {0}: Item Anak tidak boleh menjadi Paket Produk. Harap hapus Item {1} dan Simpan,
Credit limit reached for customer {0},Batas kredit tercapai untuk pelanggan {0},
Could not auto create Customer due to the following missing mandatory field(s):,Tidak dapat membuat Pelanggan secara otomatis karena bidang wajib berikut tidak ada:,
Please create Customer from Lead {0}.,Harap buat Pelanggan dari Prospek {0}.,
Mandatory Missing,Hilang Wajib,
Please set Payroll based on in Payroll settings,Harap setel Penggajian berdasarkan dalam pengaturan Penggajian,
Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Gaji Tambahan: {0} sudah ada untuk Komponen Gaji: {1} untuk periode {2} dan {3},
From Date can not be greater than To Date.,From Date tidak boleh lebih besar dari To Date.,
Payroll date can not be less than employee's joining date.,Tanggal penggajian tidak boleh kurang dari tanggal bergabung dengan karyawan.,
From date can not be less than employee's joining date.,Dari tanggal tidak boleh kurang dari tanggal bergabung dengan karyawan.,
To date can not be greater than employee's relieving date.,Sampai saat ini tidak bisa lebih besar dari tanggal pembebasan karyawan.,
Payroll date can not be greater than employee's relieving date.,Tanggal penggajian tidak bisa lebih besar dari tanggal pembebasan karyawan.,
Row #{0}: Please enter the result value for {1},Baris # {0}: Harap masukkan nilai hasil untuk {1},
Mandatory Results,Hasil Wajib,
Sales Invoice or Patient Encounter is required to create Lab Tests,Faktur Penjualan atau Pertemuan Pasien diperlukan untuk membuat Tes Lab,
Insufficient Data,Data Tidak Cukup,
Lab Test(s) {0} created successfully,Uji Lab {0} berhasil dibuat,
Test :,Uji :,
Sample Collection {0} has been created,Koleksi Sampel {0} telah dibuat,
Normal Range: ,Jarak normal:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Baris # {0}: Tanggal waktu keluar tidak boleh kurang dari tanggal waktu Check In,
"Missing required details, did not create Inpatient Record","Detail yang diperlukan tidak ada, tidak membuat Catatan Rawat Inap",
Unbilled Invoices,Faktur Belum Ditagih,
Standard Selling Rate should be greater than zero.,Tarif Jual Standar harus lebih besar dari nol.,
Conversion Factor is mandatory,Faktor Konversi adalah wajib,
Row #{0}: Conversion Factor is mandatory,Baris # {0}: Faktor Konversi wajib diisi,
Sample Quantity cannot be negative or 0,Jumlah Sampel tidak boleh negatif atau 0,
Invalid Quantity,Kuantitas Tidak Valid,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Harap setel default untuk Kelompok Pelanggan, Wilayah dan Daftar Harga Jual di Pengaturan Penjualan",
{0} on {1},{0} pada {1},
{0} with {1},{0} dengan {1},
Appointment Confirmation Message Not Sent,Pesan Konfirmasi Janji Temu Tidak Terkirim,
"SMS not sent, please check SMS Settings","SMS tidak terkirim, periksa Pengaturan SMS",
Healthcare Service Unit Type cannot have both {0} and {1},Jenis Unit Layanan Kesehatan tidak boleh memiliki {0} dan {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Jenis Unit Layanan Perawatan Kesehatan harus mengizinkan setidaknya satu di antara {0} dan {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Tetapkan Waktu Respons dan Waktu Resolusi untuk Prioritas {0} di baris {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Waktu Respons untuk {0} prioritas di baris {1} tidak boleh lebih dari Waktu Resolusi.,
{0} is not enabled in {1},{0} tidak diaktifkan di {1},
Group by Material Request,Kelompokkan berdasarkan Permintaan Material,
"Row {0}: For Supplier {0}, Email Address is Required to Send Email","Baris {0}: Untuk Pemasok {0}, Alamat Email Diperlukan untuk Mengirim Email",
Email Sent to Supplier {0},Email Dikirim ke Pemasok {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Akses ke Permintaan Penawaran Dari Portal Dinonaktifkan. Untuk Mengizinkan Akses, Aktifkan di Pengaturan Portal.",
Supplier Quotation {0} Created,Penawaran Pemasok {0} Dibuat,
Valid till Date cannot be before Transaction Date,Berlaku hingga Tanggal tidak boleh sebelum Tanggal Transaksi,
