"""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 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 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 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 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,
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 {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 {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",
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},
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 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,
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 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} 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 mass SMS to your contacts,Kirim SMS massal ke kontak Anda,
Sensitivity,Kepekaan,
Sent,Terkirim,
Serial No and Batch,Serial dan Batch,
Serial No is mandatory for Item {0},Serial ada adalah wajib untuk Item {0},
Serial No {0} does not belong to Batch {1},Serial No {0} bukan milik Batch {1},
Serial No {0} does not belong to Delivery Note {1},Serial ada {0} bukan milik Pengiriman Note {1},
Serial No {0} does not belong to Item {1},Serial ada {0} bukan milik Stok Barang {1},
Serial No {0} does not belong to Warehouse {1},Serial ada {0} bukan milik Gudang {1},
Serial No {0} does not belong to any Warehouse,Serial ada {0} bukan milik Gudang setiap,
Serial No {0} does not exist,Serial ada {0} tidak ada,
Serial No {0} has already been received,Serial ada {0} telah diterima,
Serial No {0} is under maintenance contract upto {1},Serial ada {0} berada di bawah kontrak pemeliharaan upto {1},
Serial No {0} is under warranty upto {1},Serial ada {0} masih dalam garansi upto {1},
Serial No {0} not found,Serial No {0} tidak ditemukan,
Serial No {0} not in stock,No. Seri {0} tidak tersedia,
Serial No {0} quantity {1} cannot be a fraction,Serial ada {0} kuantitas {1} tak bisa menjadi pecahan,
Serial Nos Required for Serialized Item {0},Nomor Seri Diperlukan untuk Barang Bernomor Seri {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Nomor Seri: {0} sudah dirujuk dalam Faktur Penjualan: {1},
Serial Numbers,Nomor serial,
Serial Numbers in row {0} does not match with Delivery Note,Nomor Seri di baris {0} tidak cocok dengan Catatan Pengiriman,
Serial no {0} has been already returned,Serial no {0} telah dikembalikan,
Serial number {0} entered more than once,Serial number {0} masuk lebih dari sekali,
Serialized Inventory,Persediaan memiliki serial,
Series Updated,Nomor Seri Diperbarui,
Series Updated Successfully,Nomor Seri Berhasil Diperbarui,
Series is mandatory,Series adalah wajib,
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 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 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.,
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} 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 {},
Assigned To,Ditugaskan Kepada,
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,
Parent,Induk,
Passive,Pasif,
Payment Failed,Pembayaran gagal,
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},
Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,GSTIN tidak valid! Input yang Anda masukkan tidak cocok dengan format GSTIN untuk Pemegang UIN atau Penyedia Layanan OIDAR Non-Resident,
Invoice Grand Total,Faktur Jumlah Total,
Last carbon check date cannot be a future date,Tanggal pemeriksaan karbon terakhir tidak bisa menjadi tanggal di masa depan,
Make Stock Entry,Masuk Stock,
Quality Feedback,Umpan Balik Kualitas,
Quality Feedback Template,Template Umpan Balik Kualitas,
Rules for applying different promotional schemes.,Aturan untuk menerapkan berbagai skema promosi.,
Shift,Bergeser,
Show {0},Tampilkan {0},
"Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Karakter Khusus kecuali &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Dan &quot;}&quot; tidak diizinkan dalam rangkaian penamaan",
Target Details,Detail Target,
{0} already has a Parent Procedure {1}.,{0} sudah memiliki Prosedur Induk {1}.,
API,API,
Annual,Tahunan,
Approved,Disetujui,
Change,Perubahan,
Contact Email,Email Kontak,
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,
Scheduler Inactive,Penjadwal Tidak Aktif,
Scheduler is inactive. Cannot import data.,Penjadwal tidak aktif. Tidak dapat mengimpor data.,
Show Document,Perlihatkan Dokumen,
Show Traceback,Perlihatkan Traceback,
Video,Video,
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 ...,
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 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,
Rename Not Allowed,Ganti nama Tidak Diizinkan,
Repayment Method is mandatory for term loans,Metode Pembayaran wajib untuk pinjaman berjangka,
Repayment Start Date is mandatory for term loans,Tanggal Mulai Pembayaran wajib untuk pinjaman berjangka,
Report Item,Laporkan Item,
Report this Item,Laporkan Item ini,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Jumlah Pesanan untuk Subkontrak: Jumlah bahan baku untuk membuat barang yang disubkontrakkan.,
Reset,ulang,
Reset Service Level Agreement,Setel Ulang Perjanjian Tingkat Layanan,
Resetting Service Level Agreement.,Menyetel Ulang Perjanjian Tingkat Layanan.,
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 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,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,
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Pengguna dengan peran ini diperbolehkan untuk mengatur account beku dan membuat / memodifikasi entri akuntansi terhadap rekening beku,
Determine Address Tax Category From,Tentukan Alamat Dari Kategori Pajak Dari,
Over Billing Allowance (%),Kelonggaran Penagihan Berlebih (%),
Credit Controller,Kredit Kontroller,
Check Supplier Invoice Number Uniqueness,Periksa keunikan nomor Faktur Supplier,
Make Payment via Journal Entry,Lakukan Pembayaran via Journal Entri,
Unlink Payment on Cancellation of Invoice,Membatalkan tautan Pembayaran pada Pembatalan Faktur,
Book Asset Depreciation Entry Automatically,Rekam Entri Depresiasi Asset secara Otomatis,
Automatically Add Taxes and Charges from Item Tax Template,Secara otomatis Menambahkan Pajak dan Tagihan dari Item Pajak Template,
Automatically Fetch Payment Terms,Ambil Ketentuan Pembayaran secara otomatis,
Show Payment Schedule in Print,Tampilkan Jadwal Pembayaran di Cetak,
Currency Exchange Settings,Pengaturan Pertukaran Mata Uang,
Allow Stale Exchange Rates,Izinkan Menggunakan Nilai Tukar Kaldaluarsa,
Stale Days,Hari basi,
Report Settings,Setelan Laporan,
Use Custom Cash Flow Format,Gunakan Format Arus Kas Khusus,
Allowed To Transact With,Diizinkan Untuk Bertransaksi Dengan,
SWIFT number,Nomor SWIFT,
Branch Code,Kode cabang,
Address and Contact,Alamat dan Kontak,
Address HTML,Alamat HTML,
Contact HTML,Hubungi HTML,
Data Import Configuration,Konfigurasi Impor Data,
Bank Transaction Mapping,Pemetaan Transaksi Bank,
Plaid Access Token,Token Akses Kotak-kotak,
Company Account,Akun Perusahaan,
Account Subtype,Subtipe Akun,
Is Default Account,Apakah Akun Default,
Is Company Account,Apakah Akun Perusahaan,
Party Details,Detail Partai,
Account Details,Rincian Account,
IBAN,IBAN,
Bank Account No,Rekening Bank No,
Integration Details,Detail Integrasi,
Integration ID,ID Integrasi,
Last Integration Date,Tanggal Integrasi Terakhir,
Change this date manually to setup the next synchronization start date,Ubah tanggal ini secara manual untuk mengatur tanggal mulai sinkronisasi berikutnya,
Mask,Topeng,
Bank Account Subtype,Subjenis Rekening Bank,
Bank Account Type,Jenis Rekening Bank,
Bank Guarantee,Bank Garansi,
Bank Guarantee Type,Jenis Garansi Bank,
Receiving,Menerima,
Providing,Menyediakan,
Reference Document Name,Nama Dokumen Referensi,
Validity in Days,Validitas dalam hari,
Bank Account Info,Info Rekening Bank,
Clauses and Conditions,Klausul dan Ketentuan,
Other Details,Detail lainnya,
Bank Guarantee Number,Nomor Bank Garansi,
Name of Beneficiary,Nama Penerima Manfaat,
Margin Money,Uang Marjin,
Charges Incurred,Biaya yang Ditimbulkan,
Fixed Deposit Number,Fixed Deposit Number,
Account Currency,Mata Uang Akun,
Select the Bank Account to reconcile.,Pilih Rekening Bank untuk didamaikan.,
Include Reconciled Entries,Termasuk Entri Rekonsiliasi,
Get Payment Entries,Dapatkan Entries Pembayaran,
Payment Entries,Entries pembayaran,
Update Clearance Date,Perbarui Tanggal Kliring,
Bank Reconciliation Detail,Rincian Rekonsiliasi Bank,
Cheque Number,Nomor Cek,
Cheque Date,Cek Tanggal,
Statement Header Mapping,Pemetaan Header Pernyataan,
Statement Headers,Tajuk Pernyataan,
Transaction Data Mapping,Pemetaan Data Transaksi,
Mapped Items,Item yang Dipetakan,
Bank Statement Settings Item,Item Pengaturan Pernyataan Bank,
Mapped Header,Header yang Dipetakan,
Bank Header,Header Bank,
Bank Statement Transaction Entry,Entri Transaksi Pernyataan Bank,
Bank Transaction Entries,Entri Transaksi Bank,
New Transactions,Transaksi Baru,
Match Transaction to Invoices,Cocokkan Transaksi ke Faktur,
Create New Payment/Journal Entry,Buat Pembayaran Baru / Entri Jurnal,
Submit/Reconcile Payments,Serahkan / Rekonsiliasi Pembayaran,
Matching Invoices,Mencocokkan Faktur,
Payment Invoice Items,Item Faktur Pembayaran,
Reconciled Transactions,Rekonsiliasi Transaksi,
Bank Statement Transaction Invoice Item,Item Faktur Transaksi Pernyataan Bank,
Payment Description,Deskripsi pembayaran,
Invoice Date,Faktur Tanggal,
invoice,faktur,
Bank Statement Transaction Payment Item,Item Pembayaran Transaksi Pernyataan Bank,
outstanding_amount,Jumlah yang luar biasa,
Payment Reference,Referensi pembayaran,
Bank Statement Transaction Settings Item,Item Pengaturan Transaksi Pernyataan Bank,
Bank Data,Data Bank,
Mapped Data Type,Dipetakan Jenis Data,
Mapped Data,Data yang Dipetakan,
Bank Transaction,Transaksi bank,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,ID transaksi,
Unallocated Amount,Jumlah yang tidak terisi,
Field in Bank Transaction,Bidang dalam Transaksi Bank,
Column in Bank File,Kolom dalam File Bank,
Bank Transaction Payments,Pembayaran Transaksi Bank,
Control Action,Tindakan Kontrol,
Applicable on Material Request,Berlaku pada Permintaan Material,
Action if Annual Budget Exceeded on MR,Tindakan jika Anggaran Tahunan Melebihi MR,
Warn,Peringatan: Cuti aplikasi berisi tanggal blok berikut,
Ignore,Diabaikan,
Action if Accumulated Monthly Budget Exceeded on MR,Tindakan jika Akumulasi Anggaran Bulanan Melebihi MR,
Applicable on Purchase Order,Berlaku pada Purchase Order,
Action if Annual Budget Exceeded on PO,Tindakan jika Anggaran Tahunan Terlampaui pada PO,
Action if Accumulated Monthly Budget Exceeded on PO,Tindakan jika Akumulasi Anggaran Bulanan Melebihi pada PO,
Applicable on booking actual expenses,Berlaku untuk memesan biaya sebenarnya,
Action if Annual Budget Exceeded on Actual,Tindakan jika Anggaran Tahunan Terlampaui pada Aktual,
Action if Accumulated Monthly Budget Exceeded on Actual,Tindakan jika Akumulasi Anggaran Bulanan Melebihi Aktual,
Budget Accounts,Akun anggaran,
Budget Account,Akun anggaran,
Budget Amount,Jumlah anggaran,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-Form ada,
Received Date,Diterima Tanggal,
Quarter,Seperempat,
I,saya,
II,II,
III,AKU AKU AKU,
IV,IV,
C-Form Invoice Detail,C-Form Faktur Detil,
Invoice No,Nomor Faktur,
Cash Flow Mapper,Kas Arus Mapper,
Section Name,nama bagian,
Section Header,Bagian Header,
Section Leader,Pemimpin Seksi,
e.g Adjustments for:,misalnya Penyesuaian untuk:,
Section Subtotal,Bagian Subtotal,
Section Footer,Bagian footer,
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,
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,
Backflush Raw Materials of Subcontract Based On,Bahan Baku Backflush dari Subkontrak Berdasarkan,
Material Transferred for Subcontract,Material Ditransfer untuk Subkontrak,
Over Transfer Allowance (%),Kelebihan Transfer (%),
Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,Persentase Anda dapat mentransfer lebih banyak dari jumlah yang dipesan. Misalnya: Jika Anda telah memesan 100 unit. dan Tunjangan Anda 10% maka Anda diizinkan mentransfer 110 unit.,
PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
Get Items from Open Material Requests,Dapatkan Produk dari Permintaan Buka Material,
Fetch items based on Default Supplier.,Ambil item berdasarkan Pemasok Default.,
Required By,Diperlukan Oleh,
Order Confirmation No,Konfirmasi Pesanan No,
Order Confirmation Date,Tanggal Konfirmasi Pesanan,
Customer Mobile No,Nomor Seluler Pelanggan,
Customer Contact Email,Email Kontak Pelanggan,
Set Target Warehouse,Tetapkan Gudang Target,
Sets 'Warehouse' in each row of the Items table.,Set &#39;Gudang&#39; di setiap baris tabel Item.,
Supply Raw Materials,Pasokan Bahan Baku,
Purchase Order Pricing Rule,Aturan Harga Pesanan Pembelian,
Set Reserve Warehouse,Tetapkan Gudang Cadangan,
In Words will be visible once you save the Purchase Order.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Purchase Order.,
Advance Paid,Pembayaran Dimuka,
Tracking,Pelacakan,
% Billed,Ditagih %,
% Received,% Diterima,
Ref SQ,Ref SQ,
Inter Company Order Reference,Referensi Pesanan Antar Perusahaan,
Supplier Part Number,Supplier Part Number,
Billed Amt,Nilai Tagihan,
Warehouse and Reference,Gudang dan Referensi,
To be delivered to customer,Akan dikirimkan ke pelanggan,
Material Request Item,Item Permintaan Material,
Supplier Quotation Item,Quotation Stok Barang Supplier,
Against Blanket Order,Menentang Pesanan Selimut,
Blanket Order,Pesanan Selimut,
Blanket Order Rate,Tingkat Pesanan Selimut,
Returned Qty,Qty Retur,
Purchase Order Item Supplied,Purchase Order Stok Barang Disediakan,
BOM Detail No,No. Rincian BOM,
Stock Uom,UOM Persediaan,
Raw Material Item Code,Bahan Baku Item Code,
Supplied Qty,Qty Disupply,
Purchase Receipt Item Supplied,Nota Penerimaan Stok Barang Disediakan,
Current Stock,Persediaan saat ini,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Untuk pemasok individual,
Link to Material Requests,Tautan ke Permintaan Material,
Message for Supplier,Pesan Supplier,
Request for Quotation Item,Permintaan Quotation Barang,
Required Date,Diperlukan Tanggal,
Request for Quotation Supplier,Permintaan Quotation Pemasok,
Send Email,Kirim Email,
Quote Status,Status Penawaran,
Download PDF,Unduh PDF,
Supplier of Goods or Services.,Supplier Stok Barang atau Jasa.,
Name and Type,Nama dan Jenis,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Standar Rekening Bank,
Is Transporter,Apakah Transporter,
Represents Company,Mewakili Perusahaan,
Supplier Type,Supplier Type,
Allow Purchase Invoice Creation Without Purchase Order,Izinkan Pembuatan Faktur Pembelian Tanpa Pesanan Pembelian,
Allow Purchase Invoice Creation Without Purchase Receipt,Izinkan Pembuatan Faktur Pembelian Tanpa Tanda Terima Pembelian,
Warn RFQs,Peringatkan untuk RFQs,
Warn POs,Peringatkan untuk POs,
Prevent RFQs,Mencegah RFQs,
Prevent POs,Mencegah PO,
Billing Currency,Mata Uang Penagihan,
Default Payment Terms Template,Template Persyaratan Pembayaran Default,
Block Supplier,Blokir Pemasok,
Hold Type,Hold Type,
Leave blank if the Supplier is blocked indefinitely,Biarkan kosong jika Pemasok diblokir tanpa batas,
Default Payable Accounts,Standar Akun Hutang,
Mention if non-standard payable account,Sebutkan jika akun hutang non-standar,
Default Tax Withholding Config,Default Pemotongan Pajak Pajak,
Supplier Details,Rincian Supplier,
Statutory info and other general information about your Supplier,Info Statutory dan informasi umum lainnya tentang Supplier Anda,
PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
Supplier Address,Supplier Alamat,
Link to material requests,Link ke permintaan bahan,
Rounding Adjustment (Company Currency,Penyesuaian Pembulatan (Mata Uang Perusahaan,
Auto Repeat Section,Bagian Ulangi Otomatis,
Is Subcontracted,Apakah Subkontrak?,
Lead Time in days,Masa Tenggang dalam hari,
Supplier Score,Skor Pemasok,
Indicator Color,Indikator Warna,
Evaluation Period,Periode Evaluasi,
Per Week,Per minggu,
Per Month,Per bulan,
Per Year,Per tahun,
Scoring Setup,Setup Scoring,
Weighting Function,Fungsi pembobotan,
"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Variabel Scorecard dapat digunakan, dan juga: {total_score} (skor total dari periode tersebut), {period_number} (jumlah periode sampai sekarang)",
Scoring Standings,Klasemen Skor,
Criteria Setup,Setup kriteria,
Load All Criteria,Muat Semua Kriteria,
Scoring Criteria,Kriteria penilaian,
Scorecard Actions,Tindakan Scorecard,
Warn for new Request for Quotations,Peringatkan untuk Permintaan Kuotasi baru,
Warn for new Purchase Orders,Peringatkan untuk Pesanan Pembelian baru,
Notify Supplier,Beritahu Pemasok,
Notify Employee,Beritahu Karyawan,
Supplier Scorecard Criteria,Kriteria Scorecard Pemasok,
Criteria Name,Nama kriteria,
Max Score,Skor Maks,
Criteria Formula,Formula Kriteria,
Criteria Weight,Kriteria Berat,
Supplier Scorecard Period,Periode Scorecard Supplier,
PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
Period Score,Skor Periode,
Calculations,Perhitungan,
Criteria,Kriteria,
Variables,Variabel,
Supplier Scorecard Setup,Penyiapan Scorecard Pemasok,
Supplier Scorecard Scoring Criteria,Kriteria penilaian scorecard pemasok,
Score,Skor,
Supplier Scorecard Scoring Standing,Penilai Scorecard Penilai Berdiri,
Standing Name,Nama berdiri,
Purple,Ungu,
Yellow,Kuning,
Orange,Jeruk,
Min Grade,Min Grade,
Max Grade,Max Grade,
Warn Purchase Orders,Peringatkan untuk Pesanan Pembelian,
Prevent Purchase Orders,Cegah Pesanan Pembelian,
Employee ,Karyawan,
Supplier Scorecard Scoring Variable,Variabel Scorecard Supplier Variabel,
Variable Name,Nama variabel,
Parameter Name,Nama parameter,
Supplier Scorecard Standing,Supplier Scorecard Berdiri,
Notify Other,Beritahu Lainnya,
Supplier Scorecard Variable,Supplier Scorecard Variabel,
Call Log,Laporan panggilan,
Received By,Diterima oleh,
Caller Information,Informasi Penelepon,
Contact Name,Nama Kontak,
Lead ,Memimpin,
Lead Name,Nama Prospek,
Ringing,Dering,
Missed,Tidak terjawab,
Call Duration in seconds,Durasi Panggilan dalam detik,
Recording URL,Merekam URL,
Communication Medium,Komunikasi Medium,
Communication Medium Type,Jenis Media Komunikasi,
Voice,Suara,
Catch All,Tangkap Semua,
"If there is no assigned timeslot, then communication will be handled by this group","Jika tidak ada slot waktu yang ditetapkan, maka komunikasi akan ditangani oleh grup ini",
Timeslots,Slot waktu,
Communication Medium Timeslot,Timeslot Komunikasi Sedang,
Employee Group,Grup Karyawan,
Appointment,Janji,
Scheduled Time,Waktu yang Dijadwalkan,
Unverified,Tidak diverifikasi,
Customer Details,Rincian Pelanggan,
Phone Number,Nomor telepon,
Skype ID,ID Skype,
Linked Documents,Dokumen Tertaut,
Appointment With,Janji dengan,
Calendar Event,Acara Kalender,
Appointment Booking Settings,Pengaturan Pemesanan Pengangkatan,
Enable Appointment Scheduling,Aktifkan Penjadwalan Janji Temu,
Agent Details,Detail Agen,
Availability Of Slots,Ketersediaan Slot,
Number of Concurrent Appointments,Jumlah Janji Serentak,
Agents,Agen,
Appointment Details,Detail Pengangkatan,
Appointment Duration (In Minutes),Durasi Pengangkatan (Dalam Menit),
Notify Via Email,Beritahu Via Email,
Notify customer and agent via email on the day of the appointment.,Beri tahu pelanggan dan agen melalui email pada hari perjanjian.,
Number of days appointments can be booked in advance,Jumlah hari janji dapat dipesan terlebih dahulu,
Success Settings,Pengaturan Sukses,
Success Redirect URL,URL Pengalihan Sukses,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Biarkan kosong untuk rumah. Ini relatif terhadap URL situs, misalnya &quot;tentang&quot; akan dialihkan ke &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Slot Pemesanan Janji Temu,
Day Of Week,Hari dalam seminggu,
From Time ,Dari Waktu,
Campaign Email Schedule,Jadwal Email Kampanye,
Send After (days),Kirim Setelah (hari),
Signed,Tertanda,
Party User,Pengguna Partai,
Unsigned,Tidak bertanda tangan,
Fulfilment Status,Status Pemenuhan,
N/A,T / A,
Unfulfilled,Tidak terpenuhi,
Partially Fulfilled,Sebagian Terpenuhi,
Fulfilled,Terpenuhi,
Lapsed,Bekas,
Contract Period,Masa kontrak,
Signee Details,Detail Signee,
Signee,Signee,
Signed On,Masuk,
Contract Details,Detail Kontrak,
Contract Template,Template Kontrak,
Contract Terms,Ketentuan Kontrak,
Fulfilment Details,Rincian Pemenuhan,
Requires Fulfilment,Membutuhkan Pemenuhan,
Fulfilment Deadline,Batas Waktu Pemenuhan,
Fulfilment Terms,Syarat Pemenuhan,
Contract Fulfilment Checklist,Daftar Periksa Pemenuhan Kontrak,
Requirement,Kebutuhan,
Contract Terms and Conditions,Syarat dan Ketentuan Kontrak,
Fulfilment Terms and Conditions,Syarat dan Ketentuan Pemenuhan,
Contract Template Fulfilment Terms,Ketentuan Pemenuhan Template Kontrak,
Email Campaign,Kampanye Email,
Email Campaign For ,Kampanye Email Untuk,
Lead is an Organization,Lead adalah sebuah Organisasi,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Nama orang,
Lost Quotation,Quotation hilang,
Interested,Tertarik,
Converted,Dikonversi,
Do Not Contact,Jangan Hubungi,
From Customer,Dari Pelanggan,
Campaign Name,Nama Promosi Kampanye,
Follow Up,Mengikuti,
Next Contact By,Kontak Selanjutnya Oleh,
Next Contact Date,Tanggal Komunikasi Selanjutnya,
Ends On,Berakhir Pada,
Address & Contact,Alamat & Kontak,
Mobile No.,Nomor Ponsel,
Lead Type,Jenis Prospek,
Channel Partner,Chanel Mitra,
Consultant,Konsultan,
Market Segment,Segmen Pasar,
Industry,Industri,
Request Type,Permintaan Type,
Product Enquiry,Produk Enquiry,
Request for Information,Request for Information,
Suggestions,Saran,
Blog Subscriber,Pelanggan Blog,
LinkedIn Settings,Pengaturan LinkedIn,
Company ID,identitas perusahaan,
OAuth Credentials,Kredensial OAuth,
Consumer Key,Kunci Konsumen,
Consumer Secret,Rahasia Konsumen,
User Details,Detail Pengguna,
Person URN,Orang URN,
Session Status,Status Sesi,
Lost Reason Detail,Detail Alasan yang Hilang,
Opportunity Lost Reason,Peluang Hilang Alasan,
Potential Sales Deal,Kesepakatan potensial Penjualan,
CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
Opportunity From,Peluang Dari,
Customer / Lead Name,Nama Pelanggan / Prospek,
Opportunity Type,Peluang Type,
Converted By,Dikonversi oleh,
Sales Stage,Panggung Penjualan,
Lost Reason,Alasan Kehilangan,
Expected Closing Date,Tanggal Penutupan yang Diharapkan,
To Discuss,Untuk Diskusikan,
With Items,Dengan Produk,
Probability (%),Probabilitas (%),
Contact Info,Informasi Kontak,
Customer / Lead Address,Alamat Pelanggan / Prospek,
Contact Mobile No,Kontak Mobile No,
Enter name of campaign if source of enquiry is campaign,Entrikan nama kampanye jika sumber penyelidikan adalah kampanye,
Opportunity Date,Peluang Tanggal,
Opportunity Item,Peluang Stok Barang,
Basic Rate,Tarif Dasar,
Stage Name,Nama panggung,
Social Media Post,Posting Media Sosial,
Post Status,Status Posting,
Posted,Diposting,
Share On,Bagikan Di,
Twitter,Indonesia,
LinkedIn,LinkedIn,
Twitter Post Id,ID Posting Twitter,
LinkedIn Post Id,ID Posting LinkedIn,
Tweet,Menciak,
Twitter Settings,Pengaturan Twitter,
API Secret Key,Kunci Rahasia API,
Term Name,istilah Nama,
Term Start Date,Jangka Mulai Tanggal,
Term End Date,Istilah Tanggal Akhir,
Academics User,Pengguna Akademis,
Academic Year Name,Nama Tahun Akademis,
Article,Artikel,
LMS User,Pengguna LMS,
Assessment Criteria Group,Kriteria penilaian Grup,
Assessment Group Name,Nama penilaian Grup,
Parent Assessment Group,Induk Penilaian Grup,
Assessment Name,penilaian Nama,
Grading Scale,Skala penilaian,
Examiner,Pemeriksa,
Examiner Name,Nama pemeriksa,
Supervisor,Pengawas,
Supervisor Name,Nama pengawas,
Evaluate,Evaluasi,
Maximum Assessment Score,Skor Penilaian Maksimum,
Assessment Plan Criteria,Kriteria Rencana Penilaian,
Maximum Score,Skor maksimum,
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,
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,
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,
Stop Birthday Reminders,Stop 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,
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,
Backflush Raw Materials Based On,Backflush Bahan Baku Berbasis Pada,
Material Transferred for Manufacture,Bahan Ditransfer untuk Produksi,
Capacity Planning,Perencanaan Kapasitas,
Disable Capacity Planning,Nonaktifkan Perencanaan Kapasitas,
Allow Overtime,Izinkan Lembur,
Allow Production on Holidays,Izinkan Produksi di hari libur,
Capacity Planning For (Days),Perencanaan Kapasitas Untuk (Hari),
Default Warehouses for Production,Gudang Default untuk Produksi,
Default Work In Progress Warehouse,Standar Gudang Work In Progress,
Default Finished Goods Warehouse,Gudang bawaan Selesai Stok Barang,
Default Scrap Warehouse,Gudang Memo Default,
Overproduction Percentage For Sales Order,Overproduction Persentase Untuk Order Penjualan,
Overproduction Percentage For Work Order,Overproduction Persentase Untuk Pesanan Pekerjaan,
Other Settings,Pengaturan lainnya,
Update BOM Cost Automatically,Perbarui Biaya BOM secara otomatis,
Material Request Plan Item,Item Rencana Permintaan Material,
Material Request Type,Permintaan Jenis Bahan,
Material Issue,Keluar Barang,
Customer Provided,Pelanggan Disediakan,
Minimum Order Quantity,Jumlah Pesanan Minimum,
Default Workstation,Standar Workstation,
Production Plan,Rencana produksi,
MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
Get Items From,Mendapatkan Stok Barang-Stok Barang dari,
Get Sales Orders,Dapatkan Order Penjualan,
Material Request Detail,Detail Permintaan Material,
Get Material Request,Dapatkan Material Permintaan,
Material Requests,Permintaan bahan,
Get Items For Work Order,Dapatkan Item Untuk Perintah Kerja,
Material Request Planning,Perencanaan Permintaan Material,
Include Non Stock Items,Sertakan Item Non Stok,
Include Subcontracted Items,Sertakan Subkontrak Items,
Ignore Existing Projected Quantity,Abaikan Kuantitas Proyeksi yang Ada,
"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","Untuk mengetahui lebih lanjut tentang jumlah yang diproyeksikan, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">klik di sini</a> .",
Download Required Materials,Unduh Materi yang Diperlukan,
Get Raw Materials For Production,Dapatkan Bahan Baku untuk Produksi,
Total Planned Qty,Total Rencana Qty,
Total Produced Qty,Total Diproduksi Qty,
Material Requested,Bahan yang diminta,
Production Plan Item,Rencana Produksi Stok Barang,
Make Work Order for Sub Assembly Items,Buat Perintah Kerja untuk Item Sub Majelis,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Jika diaktifkan, sistem akan membuat perintah kerja untuk item yang meledak terhadap BOM yang tersedia.",
Planned Start Date,Direncanakan Tanggal Mulai,
Quantity and Description,Kuantitas dan Deskripsi,
material_request_item,material_request_item,
Product Bundle Item,Barang Bundel Produk,
Production Plan Material Request,Produksi Permintaan Rencana Material,
Production Plan Sales Order,Rencana Produksi berdasar Order Penjualan,
Sales Order Date,Tanggal Nota Penjualan,
Routing Name,Nama Routing,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Stok Barang Untuk Produksi,
Material Transferred for Manufacturing,Bahan Ditransfer untuk Manufaktur,
Manufactured Qty,Qty Diproduksi,
Use Multi-Level BOM,Gunakan Multi-Level BOM,
Plan material for sub-assemblies,Planning Material untuk Barang Rakitan,
Skip Material Transfer to WIP Warehouse,Abaikan Transfer Bahan ke Gudang WIP,
Check if material transfer entry is not required,Periksa apakah entri pemindahan material tidak diperlukan,
Backflush Raw Materials From Work-in-Progress Warehouse,Bahan baku backflush dari gudang yang sedang dalam proses,
Update Consumed Material Cost In Project,Perbarui Biaya Bahan Konsumsi Dalam Proyek,
Warehouses,Gudang,
This is a location where raw materials are available.,Ini adalah lokasi di mana bahan baku tersedia.,
Work-in-Progress Warehouse,Gudang Work In Progress,
This is a location where operations are executed.,Ini adalah lokasi di mana operasi dijalankan.,
This is a location where final product stored.,Ini adalah lokasi penyimpanan produk akhir.,
Scrap Warehouse,Gudang memo,
This is a location where scraped materials are stored.,Ini adalah lokasi penyimpanan bahan bekas.,
Required Items,Produk yang dibutuhkan,
Actual Start Date,Tanggal Mulai Aktual,
Planned End Date,Tanggal Akhir Planning,
Actual End Date,Tanggal Akhir Aktual,
Operation Cost,Biaya Operasi,
Planned Operating Cost,Direncanakan Biaya Operasi,
Actual Operating Cost,Biaya Operasi Aktual,
Additional Operating Cost,Biaya Operasi Tambahan,
Total Operating Cost,Total Biaya Operasional,
Manufacture against Material Request,Memproduksi terhadap Permintaan Bahan,
Work Order Item,Item Pesanan Kerja,
Available Qty at Source Warehouse,Tersedia Qty di Gudang Sumber,
Available Qty at WIP Warehouse,Tersedia Qty di WIP Warehouse,
Work Order Operation,Operasi Orde Kerja,
Operation Description,Deskripsi Operasi,
Operation completed for how many finished goods?,Operasi selesai untuk berapa banyak Stok Barang jadi?,
Work in Progress,Pekerjaan dalam proses,
Estimated Time and Cost,Perkiraan Waktu dan Biaya,
Planned Start Time,Rencana Start Time,
Planned End Time,Rencana Waktu Berakhir,
in Minutes,Dalam menit,
Actual Time and Cost,Waktu dan Biaya Aktual,
Actual Start Time,Waktu Mulai Aktual,
Actual End Time,Waktu Akhir Aktual,
Updated via 'Time Log',Diperbarui melalui 'Log Waktu',
Actual Operation Time,Waktu Operasi Aktual,
in Minutes\nUpdated via 'Time Log',di Menit Diperbarui melalui 'Log Waktu',
(Hour Rate / 60) * Actual Operation Time,(Tarif per Jam / 60) * Masa Beroperasi Sebenarnya,
Workstation Name,Nama Workstation,
Production Capacity,Kapasitas produksi,
Operating Costs,Biaya Operasional,
Electricity Cost,Biaya Listrik,
per hour,per jam,
Consumable Cost,Biaya Consumable,
Rent Cost,Biaya Sewa,
Wages,Upah,
Wages per hour,Upah per jam,
Net Hour Rate,Jumlah Jam Bersih,
Workstation Working Hour,Jam Kerja Workstation,
Certification Application,Aplikasi Sertifikasi,
Name of Applicant,Nama Pemohon,
Certification Status,Status Sertifikasi,
Yet to appear,Belum muncul,
Certified,Bersertifikat,
Not Certified,Tidak Bersertifikat,
USD,USD,
INR,INR,
Certified Consultant,Konsultan Bersertifikat,
Name of Consultant,Nama Konsultan,
Certification Validity,Validitas Sertifikasi,
Discuss ID,Diskusikan ID,
GitHub ID,ID GitHub,
Non Profit Manager,Manajer Non Profit,
Chapter Head,Kepala Bab,
Meetup Embed HTML,Meetup Embed HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,bab / chapter_name kosongkan secara otomatis setelah bab save.,
Chapter Members,Anggota Bab,
Members,Anggota,
Chapter Member,Bab Anggota,
Website URL,URL situs,
Leave Reason,Tinggalkan Alasan,
Donor Name,Nama Donor,
Donor Type,Jenis Donor,
Withdrawn,pendiam,
Grant Application Details ,Berikan Rincian Aplikasi,
Grant Description,Deskripsi Donasi,
Requested Amount,Jumlah yang diminta,
Has any past Grant Record,Memiliki Record Grant masa lalu,
Show on Website,Tampilkan di Website,
Assessment  Mark (Out of 10),Tanda Penilaian (Dari 10),
Assessment  Manager,Manajer Penilaian,
Email Notification Sent,Notifikasi Email Terkirim,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Tanggal Kedaluwarsa Keanggotaan,
Razorpay Details,Detail Razorpay,
Subscription ID,ID Langganan,
Customer ID,ID Pelanggan,
Subscription Activated,Langganan Diaktifkan,
Subscription Start ,Berlangganan Mulai,
Subscription End,Langganan Berakhir,
Non Profit Member,Anggota nirlaba,
Membership Status,Status Keanggotaan,
Member Since,Anggota Sejak,
Payment ID,ID Pembayaran,
Membership Settings,Pengaturan Keanggotaan,
Enable RazorPay For Memberships,Aktifkan RazorPay Untuk Keanggotaan,
RazorPay Settings,Pengaturan RazorPay,
Billing Cycle,Siklus Penagihan,
Billing Frequency,Frekuensi Penagihan,
"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Jumlah siklus penagihan yang harus ditagih kepada pelanggan. Misalnya, jika pelanggan membeli keanggotaan 1 tahun yang harus ditagih setiap bulan, nilai ini harus 12.",
Razorpay Plan ID,ID Paket Razorpay,
Volunteer Name,Nama Relawan,
Volunteer Type,Jenis Relawan,
Availability and Skills,Ketersediaan dan Keterampilan,
Availability,Tersedianya,
Weekends,Akhir pekan,
Availability Timeslot,Ketersediaan Timeslot,
Morning,Pagi,
Afternoon,Sore,
Evening,Malam,
Anytime,Kapan saja,
Volunteer Skills,Keterampilan Relawan,
Volunteer Skill,Keterampilan Relawan,
Homepage,Homepage,
Hero Section Based On,Bagian Pahlawan Berdasarkan,
Homepage Section,Bagian Beranda,
Hero Section,Bagian Pahlawan,
Tag Line,klimaks,
Company Tagline for website homepage,Perusahaan Tagline untuk homepage website,
Company Description for website homepage,Deskripsi Perusahaan untuk homepage website,
Homepage Slideshow,Tampilan Beranda Beranda,
"URL for ""All Products""",URL untuk &quot;Semua Produk&quot;,
Products to be shown on website homepage,Produk yang akan ditampilkan pada homepage website,
Homepage Featured Product,Homepage Produk Pilihan,
route,rute,
Section Based On,Bagian Berdasarkan,
Section Cards,Kartu Bagian,
Number of Columns,Jumlah kolom,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Jumlah kolom untuk bagian ini. 3 kartu akan ditampilkan per baris jika Anda memilih 3 kolom.,
Section HTML,Bagian HTML,
Use this field to render any custom HTML in the section.,Gunakan bidang ini untuk menyajikan HTML khusus apa pun di bagian.,
Section Order,Bagian pesanan,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Urutan bagian mana yang akan muncul. 0 adalah yang pertama, 1 yang kedua dan seterusnya.",
Homepage Section Card,Kartu Bagian Beranda,
Subtitle,Subtitle,
Products Settings,Pengaturan produk,
Home Page is Products,Home Page adalah Produk,
"If checked, the Home page will be the default Item Group for the website","Jika diperiksa, Home page akan menjadi default Barang Group untuk website",
Show Availability Status,Tampilkan Status Ketersediaan,
Product Page,Halaman Produk,
Products per Page,Produk per Halaman,
Enable Field Filters,Aktifkan Filter Bidang,
Item Fields,Bidang Barang,
Enable Attribute Filters,Aktifkan Filter Atribut,
Attributes,Atribut,
Hide Variants,Sembunyikan Varian,
Website Attribute,Atribut Situs Web,
Attribute,Atribut,
Website Filter Field,Bidang Filter Situs Web,
Activity Cost,Biaya Aktivitas,
Billing Rate,Tarip penagihan,
Costing Rate,Tingkat Biaya,
title,judul,
Projects User,Pengguna Proyek,
Default Costing Rate,Standar Tingkat Biaya,
Default Billing Rate,Standar Tingkat Penagihan,
Dependent Task,Tugas Dependent,
Project Type,Jenis proyek,
% Complete Method,% Metode Lengkap,
Task Completion,tugas Penyelesaian,
Task Progress,tugas Kemajuan,
% Completed,Selesai %,
From Template,Dari Templat,
Project will be accessible on the website to these users,Proyek akan dapat diakses di website pengguna ini,
Copied From,Disalin dari,
Start and End Dates,Mulai dan Akhir Tanggal,
Actual Time (in Hours),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,
Objectives,Tujuan,
Quality Goal Objective,Tujuan Sasaran Kualitas,
Objective,Objektif,
Agenda,Jadwal acara,
Minutes,Menit,
Quality Meeting Agenda,Agenda Rapat Berkualitas,
Quality Meeting Minutes,Risalah Rapat Kualitas,
Minute,Menit,
Parent Procedure,Prosedur Induk,
Processes,Proses,
Quality Procedure Process,Proses Prosedur Mutu,
Process Description,Deskripsi proses,
Link existing Quality Procedure.,Tautkan Prosedur Mutu yang ada.,
Additional Information,informasi tambahan,
Quality Review Objective,Tujuan Tinjauan Kualitas,
DATEV Settings,Pengaturan DATEV,
Regional,Daerah,
Consultant ID,ID Konsultan,
GST HSN Code,Kode HSN GST,
HSN Code,Kode HSN,
GST Settings,Pengaturan GST,
GST Summary,Ringkasan GST,
GSTIN Email Sent On,Email GSTIN Terkirim Pada,
GST Accounts,Akun GST,
B2C Limit,Batas B2C,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Tetapkan Nilai Faktur untuk B2C. B2CL dan B2CS dihitung berdasarkan nilai faktur ini.,
GSTR 3B Report,Laporan GSTR 3B,
January,Januari,
February,Februari,
March,Maret,
April,April,
May,Mei,
June,Juni,
July,Juli,
August,Agustus,
September,September,
October,Oktober,
November,November,
December,Desember,
JSON Output,Output JSON,
Invoices with no Place Of Supply,Faktur tanpa Tempat Persediaan,
Import Supplier Invoice,Faktur Pemasok Impor,
Invoice Series,Seri Faktur,
Upload XML Invoices,Unggah Faktur XML,
Zip File,File Zip,
Import Invoices,Impor Faktur,
Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Klik tombol Impor Faktur setelah file zip dilampirkan ke dokumen. Kesalahan apa pun yang terkait dengan pemrosesan akan ditampilkan di Log Kesalahan.,
Lower Deduction Certificate,Sertifikat Pemotongan Lebih Rendah,
Certificate Details,Rincian Sertifikat,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194Aku,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,nomor sertifikat,
Deductee Details,Rincian Pemotongan,
PAN No,PAN Tidak,
Validity Details,Detail Validitas,
Rate Of TDS As Per Certificate,Tarif TDS Sesuai Sertifikat,
Certificate Limit,Batas Sertifikat,
Invoice Series Prefix,Awalan Seri Faktur,
Active Menu,Menu Aktif,
Restaurant Menu,Menu Restoran,
Price List (Auto created),Daftar Harga (Auto dibuat),
Restaurant Manager,Manajer restoran,
Restaurant Menu Item,Item Menu Restoran,
Restaurant Order Entry,Entri Pemesanan Restoran,
Restaurant Table,Meja restoran,
Click Enter To Add,Klik Enter To Add,
Last Sales Invoice,Faktur penjualan terakhir,
Current Order,Pesanan saat ini,
Restaurant Order Entry Item,Item Item Pemesanan Restoran,
Served,Melayani,
Restaurant Reservation,Reservasi Restoran,
Waitlisted,Daftar tunggu,
No Show,Tidak menunjukkan,
No of People,Tidak ada orang,
Reservation Time,Waktu Reservasi,
Reservation End Time,Reservasi Akhir Waktu,
No of Seats,Tidak ada tempat duduk,
Minimum Seating,Tempat Duduk Minimal,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Pantau Kampanye Penjualan. Pantau Prospek, Penawaran, Perintah Penjualan dll dari Kampanye untuk mengukur Return on Investment.",
SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
Campaign Schedules,Jadwal Kampanye,
Buyer of Goods and Services.,Pembeli Stok Barang dan Jasa.,
CUST-.YYYY.-,CUST-.YYYY.-,
Default Company Bank Account,Akun Bank Perusahaan Default,
From Lead,Dari Prospek,
Account Manager,Manajer Akuntansi,
Allow Sales Invoice Creation Without Sales Order,Izinkan Pembuatan Faktur Penjualan Tanpa Pesanan Penjualan,
Allow Sales Invoice Creation Without Delivery Note,Izinkan Pembuatan Faktur Penjualan Tanpa Nota Pengiriman,
Default Price List,Standar List Harga,
Primary Address and Contact Detail,Alamat Utama dan Detail Kontak,
"Select, to make the customer searchable with these fields","Pilih, untuk membuat pelanggan dapat ditelusuri dengan bidang ini",
Customer Primary Contact,Kontak utama pelanggan,
"Reselect, if the chosen contact is edited after save","Pilih ulang, jika kontak yang dipilih akan diedit setelah menyimpan",
Customer Primary Address,Alamat utama pelanggan,
"Reselect, if the chosen address is edited after save","Pilih ulang, jika alamat yang dipilih diedit setelah simpan",
Primary Address,alamat utama,
Mention if non-standard receivable account,Menyebutkan jika non-standar piutang,
Credit Limit and Payment Terms,Batas Kredit dan Persyaratan Pembayaran,
Additional information regarding the customer.,Informasi tambahan mengenai customer.,
Sales Partner and Commission,Penjualan Mitra dan Komisi,
Commission Rate,Tingkat Komisi,
Sales Team Details,Rincian Tim Penjualan,
Customer POS id,ID POS pelanggan,
Customer Credit Limit,Batas Kredit Pelanggan,
Bypass Credit Limit Check at Sales Order,Bataskan cek batas kredit pada Sales Order,
Industry Type,Jenis Produksi,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Instalasi Tanggal,
Installation Time,Waktu Installasi,
Installation Note Item,Laporan Instalasi Stok Barang,
Installed Qty,Terpasang Qty,
Lead Source,Sumber Prospek,
Period Start Date,Tanggal Mulai Periode,
Period End Date,Tanggal Akhir Masa,
Cashier,Kasir,
Difference,Perbedaan,
Modes of Payment,Mode Pembayaran,
Linked Invoices,Faktur Tertaut,
POS Closing Voucher Details,Detail Voucher Penutupan POS,
Collected Amount,Jumlah yang Dikumpulkan,
Expected Amount,Jumlah yang Diharapkan,
POS Closing Voucher Invoices,Faktur Voucher Penutupan POS,
Quantity of Items,Kuantitas Item,
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Menggabungkan sekumpulan **Barang-barang** menjadi **Barang** lain. Hal ini berguna bila anda menyusun **Barang-barang** tertentu menjadi sebuah paket dan anda mengelola persediaan **Barang-barang** paket dan bukan sekumpulan **Barang**. **Barang** paket akan menampilkan ""Tidak"" pada ""Barang Stok"" dan ""Ya"" pada ""Barang Jualan"". Sebagai contoh: jika anda menjual Laptop dan Ransel secara terpisah namun memiliki harga khusus bila pelanggan membeli keduanya, maka Laptop + Backpack akan menjadi barang Bundel Produk baru. Catatan: BOM = Bill of Materials",
Parent Item,Induk Stok Barang,
List items that form the package.,Daftar item yang membentuk paket.,
SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
Quotation To,Penawaran Kepada,
Rate at which customer's currency is converted to company's base currency,Tingkat di mana mata uang pelanggan dikonversi ke mata uang dasar perusahaan,
Rate at which Price list currency is converted to company's base currency,Tingkat di mana mata uang Daftar Harga dikonversi ke mata uang dasar perusahaan,
Additional Discount and Coupon Code,Diskon Tambahan dan Kode Kupon,
Referral Sales Partner,Rujukan Mitra Penjualan,
In Words will be visible once you save the Quotation.,Dalam Kata-kata akan terlihat sekali Anda menyimpan Quotation tersebut.,
Term Details,Rincian Term,
Quotation Item,Produk/Barang Penawaran,
Against Doctype,Terhadap Doctype,
Against Docname,Terhadap Docname,
Additional Notes,catatan tambahan,
SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
Skip Delivery Note,Lewati Catatan Pengiriman,
In Words will be visible once you save the Sales Order.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Sales Order.,
Track this Sales Order against any Project,Melacak Order Penjualan ini terhadap Proyek apapun,
Billing and Delivery Status,Status Penagihan dan Pengiriman,
Not Delivered,Tidak Terkirim,
Fully Delivered,Sepenuhnya Terkirim,
Partly Delivered,Terkirim Sebagian,
Not Applicable,Tidak Berlaku,
%  Delivered,% Terkirim,
% of materials delivered against this Sales Order,% Dari materi yang Terkirim terhadap Sales Order ini,
% of materials billed against this Sales Order,% Bahan ditagih terhadap Sales Order ini,
Not Billed,Tidak Ditagih,
Fully Billed,Sepenuhnya Ditagih,
Partly Billed,Sebagian Ditagih,
Ensure Delivery Based on Produced Serial No,Pastikan Pengiriman Berdasarkan Nomor Seri yang Diproduksi No,
Supplier delivers to Customer,Pemasok mengirim ke Pelanggan,
Delivery Warehouse,Gudang Pengiriman,
Planned Quantity,Direncanakan Kuantitas,
For Production,Untuk Produksi,
Work Order Qty,Perintah Kerja Qty,
Produced Quantity,Jumlah Diproduksi,
Used for Production Plan,Digunakan untuk Rencana Produksi,
Sales Partner Type,Jenis Mitra Penjualan,
Contact No.,Hubungi Nomor,
Contribution (%),Kontribusi (%),
Contribution to Net Total,Kontribusi terhadap Net Jumlah,
Selling Settings,Pengaturan Penjualan,
Settings for Selling Module,Pengaturan untuk Jual Modul,
Customer Naming By,Penamaan Pelanggan Dengan,
Campaign Naming By,Penamaan Kampanye Promosi dengan,
Default Customer Group,Kelompok Pelanggan Standar,
Default Territory,Wilayah Standar,
Close Opportunity After Days,Tutup Peluang Setelah Days,
Default Quotation Validity Days,Hari Validasi Kutipan Default,
Sales Update Frequency,Frekuensi Pembaruan Penjualan,
Each Transaction,Setiap Transaksi,
SMS Center,SMS Center,
Send To,Kirim Ke,
All Contact,Semua Kontak,
All Customer Contact,Semua Kontak Pelanggan,
All Supplier Contact,Kontak semua Supplier,
All Sales Partner Contact,Semua Kontak Mitra Penjualan,
All Lead (Open),Semua Prospek (Terbuka),
All Employee (Active),Semua Karyawan (Aktif),
All Sales Person,Semua Salesmen,
Create Receiver List,Buat Daftar Penerima,
Receiver List,Daftar Penerima,
Messages greater than 160 characters will be split into multiple messages,Pesan lebih dari 160 karakter akan dipecah menjadi beberapa pesan,
Total Characters,Jumlah Karakter,
Total Message(s),Total Pesan (s),
Authorization Control,Pengendali Otorisasi,
Authorization Rule,Regulasi Autorisasi,
Average Discount,Rata-rata Diskon,
Customerwise Discount,Diskon Pelanggan,
Itemwise Discount,Diskon berdasarkan Item/Stok,
Customer or Item,Pelanggan atau Produk,
Customer / Item Name,Nama Pelanggan / Barang,
Authorized Value,Nilai Disetujui,
Applicable To (Role),Berlaku Untuk (Peran),
Applicable To (Employee),Berlaku Untuk (Karyawan),
Applicable To (User),Berlaku Untuk (User),
Applicable To (Designation),Berlaku Untuk (Penunjukan),
Approving Role (above authorized value),Menyetujui Peran (di atas nilai yang berwenang),
Approving User  (above authorized value),Approving User (di atas nilai yang berwenang),
Brand Defaults,Default Merek,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Badan Hukum / Anak dengan Bagan Akun terpisah milik Organisasi.,
Change Abbreviation,Ubah Singkatan,
Parent Company,Perusahaan utama,
Default Values,Nilai Default,
Default Holiday List,Standar Daftar Hari Libur,
Default Selling Terms,Ketentuan Penjualan Default,
Default Buying Terms,Ketentuan Pembelian Default,
Create Chart Of Accounts Based On,Buat Bagan Akun berbasis pada,
Standard Template,Template standar,
Existing Company,Perusahaan Yang Ada,
Chart Of Accounts Template,Pola Bagan Akun,
Existing Company ,Perusahaan yang ada,
Date of Establishment,tanggal pendirian,
Sales Settings,Pengaturan Penjualan,
Monthly Sales Target,Target Penjualan Bulanan,
Sales Monthly History,Riwayat Bulanan Penjualan,
Transactions Annual History,Transaksi Sejarah Tahunan,
Total Monthly Sales,Total Penjualan Bulanan,
Default Cash Account,Standar Rekening Kas,
Default Receivable Account,Standar Piutang Rekening,
Round Off Cost Center,Pembulatan Pusat Biaya,
Discount Allowed Account,Akun Diskon yang Diizinkan,
Discount Received Account,Diskon Akun yang Diterima,
Exchange Gain / Loss Account,Efek Gain / Loss Akun,
Unrealized Exchange Gain/Loss Account,Rekening Gain / Loss Exchange Belum Direalisasikan,
Allow Account Creation Against Child Company,Izinkan Pembuatan Akun Terhadap Perusahaan Anak,
Default Payable Account,Standar Akun Hutang,
Default Employee Advance Account,Akun uang muka karyawan,
Default Cost of Goods Sold Account,Standar Harga Pokok Penjualan,
Default Income Account,Akun Pendapatan standar,
Default Deferred Revenue Account,Akun Pendapatan Ditangguhkan Default,
Default Deferred Expense Account,Akun Beban Ditangguhkan Default,
Default Payroll Payable Account,Default Payroll Hutang Akun,
Default Expense Claim Payable Account,Akun Pembayaran Klaim Biaya Default,
Stock Settings,Pengaturan Persediaan,
Enable Perpetual Inventory,Aktifkan Inventaris Abadi,
Default Inventory Account,Akun Inventaris Default,
Stock Adjustment Account,Penyesuaian Akun Persediaan,
Fixed Asset Depreciation Settings,Pengaturan Penyusutan Aset Tetap,
Series for Asset Depreciation Entry (Journal Entry),Seri untuk Entry Depreciation Aset (Entri Jurnal),
Gain/Loss Account on Asset Disposal,Gain / Loss Account pada Asset Disposal,
Asset Depreciation Cost Center,Asset Pusat Penyusutan Biaya,
Budget Detail,Rincian Anggaran,
Exception Budget Approver Role,Peran Perwakilan Anggaran Pengecualian,
Company Info,Info Perusahaan,
For reference only.,Untuk referensi saja.,
Company Logo,Logo perusahaan,
Date of Incorporation,Tanggal Pendirian,
Date of Commencement,Tanggal dimulainya,
Phone No,No Telepon yang,
Company Description,Deskripsi Perusahaan,
Registration Details,Detail Pendaftaran,
Company registration numbers for your reference. Tax numbers etc.,Nomor registrasi perusahaan untuk referensi Anda. Nomor pajak dll,
Delete Company Transactions,Hapus Transaksi Perusahaan,
Currency Exchange,Kurs Mata Uang,
Specify Exchange Rate to convert one currency into another,Tentukan Nilai Tukar untuk mengkonversi satu mata uang ke yang lain,
From Currency,Dari mata uang,
To Currency,Untuk Mata,
For Buying,Untuk Membeli,
For Selling,Untuk Jual,
Customer Group Name,Nama Kelompok Pelanggan,
Parent Customer Group,Induk Kelompok Pelanggan,
Only leaf nodes are allowed in transaction,Hanya node cuti yang diperbolehkan dalam transaksi,
Mention if non-standard receivable account applicable,Sebutkan jika akun non-standar piutang yang berlaku,
Credit Limits,Batas Kredit,
Email Digest,Ringkasan Surel,
Send regular summary reports via Email.,Mengirim laporan ringkasan berkala melalui Email.,
Email Digest Settings,Pengaturan Surel Ringkasan,
How frequently?,Seberapa sering?,
Next email will be sent on:,Email berikutnya akan dikirim pada:,
Note: Email will not be sent to disabled users,Catatan: Surel tidak akan dikirim ke pengguna non-aktif,
Profit & Loss,Rugi laba,
New Income,Penghasilan baru,
New Expenses,Beban baru,
Annual Income,Pendapatan tahunan,
Annual Expenses,Beban Tahunan,
Bank Balance,Saldo bank,
Bank Credit Balance,Saldo Kredit Bank,
Receivables,Piutang,
Payables,Hutang,
Sales Orders to Bill,Pesanan Penjualan ke Bill,
Purchase Orders to Bill,Beli Pesanan ke Bill,
New Sales Orders,Penjualan New Orders,
New Purchase Orders,Pesanan Pembelian Baru,
Sales Orders to Deliver,Pesanan Penjualan untuk Mengirim,
Purchase Orders to Receive,Pesanan Pembelian untuk Menerima,
New Purchase Invoice,Faktur Pembelian Baru,
New Quotations,Kutipan Baru,
Open Quotations,Buka Kutipan,
Open Issues,Buka Masalah,
Open Projects,Buka Proyek,
Purchase Orders Items Overdue,Item Pesanan Pembelian terlambat,
Upcoming Calendar Events,Acara Kalender Mendatang,
Open To Do,Buka To Do,
Add Quote,Tambahkan Kutipan,
Global Defaults,Standar Global,
Default Company,Standar Perusahaan,
Current Fiscal Year,Tahun Anggaran saat ini,
Default Distance Unit,Unit Jarak Default,
Hide Currency Symbol,Sembunyikan Mata Uang,
Do not show any symbol like $ etc next to currencies.,Jangan menunjukkan simbol seperti $ etc sebelah mata uang.,
"If disable, 'Rounded Total' field will not be visible in any transaction","Jika disable, lapangan 'Rounded Jumlah' tidak akan terlihat dalam setiap transaksi",
Disable In Words,Nonaktifkan Dalam Kata-kata,
"If disable, 'In Words' field will not be visible in any transaction","Jika menonaktifkan, &#39;Dalam Kata-kata&#39; bidang tidak akan terlihat di setiap transaksi",
Item Classification,Klasifikasi Stok Barang,
General Settings,Pengaturan Umum,
Item Group Name,Nama Item Grup,
Parent Item Group,Induk Stok Barang Grup,
Item Group Defaults,Default Item Group,
Item Tax,Pajak Stok Barang,
Check this if you want to show in website,Periksa ini jika Anda ingin menunjukkan di website,
Show this slideshow at the top of the page,Tampilkan slide ini di bagian atas halaman,
HTML / Banner that will show on the top of product list.,HTML / Banner yang akan muncul di bagian atas daftar produk.,
Set prefix for numbering series on your transactions,Mengatur awalan untuk penomoran seri pada transaksi Anda,
Setup Series,Pengaturan Series,
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.-,
Partially Ordered,Dipesan Sebagian,
Transferred,Ditransfer,
% Ordered,% Tersusun,
Terms and Conditions Content,Syarat dan Ketentuan Konten,
Quantity and Warehouse,Kuantitas dan Gudang,
Lead Time Date,Tanggal Masa Tenggang,
Min Order Qty,Min Order Qty,
Packed Item,Stok Barang Kemasan,
To Warehouse (Optional),Untuk Gudang (pilihan),
Actual Batch Quantity,Kuantitas Batch yang Sebenarnya,
Prevdoc DocType,Prevdoc DocType,
Parent Detail docname,Induk Detil docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Menghasilkan kemasan slip paket yang akan dikirimkan. Digunakan untuk memberitahu nomor paket, isi paket dan berat.",
Indicates that the package is a part of this delivery (Only Draft),Menunjukkan bahwa paket tersebut merupakan bagian dari pengiriman ini (Hanya Draft),
MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
From Package No.,Dari Package No,
Identification of the package for the delivery (for print),Identifikasi paket untuk pengiriman (untuk mencetak),
To Package No.,Untuk Paket No,
If more than one package of the same type (for print),Jika lebih dari satu paket dari jenis yang sama (untuk mencetak),
Package Weight Details,Paket Berat Detail,
The net weight of this package. (calculated automatically as sum of net weight of items),Berat bersih package ini. (Dihitung secara otomatis sebagai jumlah berat bersih item),
Net Weight UOM,Uom Berat Bersih,
Gross Weight,Berat Kotor,
The gross weight of the package. Usually net weight + packaging material weight. (for print),Berat kotor paket. Berat + kemasan biasanya net berat bahan. (Untuk mencetak),
Gross Weight UOM,UOM Berat Kotor,
Packing Slip Item,Packing Slip Stok Barang,
DN Detail,DN Detil,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Alih Material untuk Produksi,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Jumlah bahan baku akan ditentukan berdasarkan jumlah Barang Jadi,
Parent Warehouse,Gudang tua,
Items under this warehouse will be suggested,Barang-barang di bawah gudang ini akan disarankan,
Get Item Locations,Dapatkan Lokasi Item,
Item Locations,Lokasi barang,
Pick List Item,Pilih Item Daftar,
Picked Qty,Memilih Qty,
Price List Master,Daftar Harga Guru,
Price List Name,Daftar Harga Nama,
Price Not UOM Dependent,Harga Tidak Tergantung UOM,
Applicable for Countries,Berlaku untuk Negara,
Price List Country,Negara Daftar Harga,
MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
Supplier Delivery Note,Catatan Pengiriman Supplier,
Time at which materials were received,Waktu di mana bahan yang diterima,
Return Against Purchase Receipt,Retur Terhadap Nota Pembelian,
Rate at which supplier's currency is converted to company's base currency,Tingkat di mana mata uang Supplier dikonversi ke mata uang dasar perusahaan,
Sets 'Accepted Warehouse' in each row of the items table.,Set &#39;Gudang Diterima&#39; di setiap baris tabel item.,
Sets 'Rejected Warehouse' in each row of the items table.,Set &#39;Gudang yang Ditolak&#39; di setiap baris tabel item.,
Raw Materials Consumed,Bahan Baku yang Dikonsumsi,
Get Current Stock,Dapatkan Persediaan saat ini,
Consumed Items,Barang Konsumsi,
Add / Edit Taxes and Charges,Tambah / Edit Pajak dan Biaya,
Auto Repeat Detail,Auto Repeat Detail,
Transporter Details,Detail transporter,
Vehicle Number,Nomor Kendaraan,
Vehicle Date,Tanggal Kendaraan,
Received and Accepted,Diterima dan Diterima,
Accepted Quantity,Qty Diterima,
Rejected Quantity,Kuantitas Ditolak,
Accepted Qty as per Stock UOM,Qty Diterima sesuai Stock UOM,
Sample Quantity,Jumlah sampel,
Rate and Amount,Rate dan Jumlah,
MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
Report Date,Tanggal Laporan,
Inspection Type,Tipe Inspeksi,
Item Serial No,Item Serial No,
Sample Size,Ukuran Sampel,
Inspected By,Diperiksa Oleh,
Readings,Bacaan,
Quality Inspection Reading,Nilai Inspeksi Mutu,
Reading 1,Membaca 1,
Reading 2,Membaca 2,
Reading 3,Membaca 3,
Reading 4,Membaca 4,
Reading 5,Membaca 5,
Reading 6,Membaca 6,
Reading 7,Membaca 7,
Reading 8,Membaca 8,
Reading 9,Membaca 9,
Reading 10,Membaca 10,
Quality Inspection Template Name,Nama Template Inspeksi Kualitas,
Quick Stock Balance,Saldo Stok Cepat,
Available Quantity,Jumlah yang tersedia,
Distinct unit of an Item,Unit berbeda Item,
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Gudang hanya dapat diubah melalui Entri Persediaan / Nota Pengiriman / Nota Pembelian,
Purchase / Manufacture Details,Detail Pembelian / Produksi,
Creation Document Type,Pembuatan Dokumen Type,
Creation Document No,Nomor Dokumen,
Creation Date,Tanggal Pembuatan,
Creation Time,Waktu Pembuatan,
Asset Details,Detail Aset,
Asset Status,Status Aset,
Delivery Document Type,Tipe Nota Pengiriman,
Delivery Document No,Nomor Dokumen Pengiriman,
Delivery Time,Waktu Pengiriman,
Invoice Details,Detail faktur,
Warranty / AMC Details,Garansi / Detail AMC,
Warranty Expiry Date,Tanggal Berakhir Garansi,
AMC Expiry Date,Tanggal Kadaluarsa AMC,
Under Warranty,Masih Garansi,
Out of Warranty,Out of Garansi,
Under AMC,Di bawah AMC,
Out of AMC,Dari AMC,
Warranty Period (Days),Masa Garansi (Hari),
Serial No Details,Nomor Detail Serial,
MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
Stock Entry Type,Jenis Entri Saham,
Stock Entry (Outward GIT),Entri Masuk (GIT Keluar),
Material Consumption for Manufacture,Konsumsi Bahan untuk Industri,
Repack,Repack,
Send to Subcontractor,Kirim ke Subkontraktor,
Delivery Note No,Pengiriman Note No,
Sales Invoice No,Nomor Faktur Penjualan,
Purchase Receipt No,No Nota Penerimaan,
Inspection Required,Inspeksi Diperlukan,
From BOM,Dari BOM,
For Quantity,Untuk Kuantitas,
As per Stock UOM,Sesuai UOM Persediaan,
Including items for sub assemblies,Termasuk item untuk sub rakitan,
Default Source Warehouse,Standar Gudang Sumber,
Source Warehouse Address,Sumber Alamat Gudang,
Default Target Warehouse,Standar Sasaran Gudang,
Target Warehouse Address,Target Gudang Alamat,
Update Rate and Availability,Perbarui Hitungan dan Ketersediaan,
Total Incoming Value,Total nilai masuk,
Total Outgoing Value,Nilai Total Keluaran,
Total Value Difference (Out - In),Total Nilai Selisih (Out - Dalam),
Additional Costs,Biaya-biaya tambahan,
Total Additional Costs,Total Biaya Tambahan,
Customer or Supplier Details,Rincian Pelanggan atau Pemasok,
Per Transferred,Per Dipindahkan,
Stock Entry Detail,Rincian Entri Persediaan,
Basic Rate (as per Stock UOM),Tarif Dasar (sesuai UOM Persediaan),
Basic Amount,Nilai Dasar,
Additional Cost,Biaya tambahan,
Serial No / Batch,Serial No / Batch,
BOM No. for a Finished Good Item,No. BOM untuk Barang Jadi,
Material Request used to make this Stock Entry,Permintaan Material yang digunakan untuk membuat Entri Persediaan ini,
Subcontracted Item,Item Subkontrak,
Against Stock Entry,Terhadap Entri Saham,
Stock Entry Child,Anak Masuk Stock,
PO Supplied Item,PO Barang yang Disediakan,
Reference Purchase Receipt,Referensi Kwitansi Pembelian,
Stock Ledger Entry,Entri Buku Persediaan,
Outgoing Rate,Tingkat keluar,
Actual Qty After Transaction,Jumlah Aktual Setelah Transaksi,
Stock Value Difference,Perbedaan Nilai Persediaan,
Stock Queue (FIFO),Antrian Persediaan (FIFO),
Is Cancelled,Apakah Dibatalkan,
Stock Reconciliation,Rekonsiliasi Persediaan,
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Alat ini membantu Anda memperbarui atau memperbaiki kuantitas dan valuasi persediaan di sistem. Biasanya digunakan untuk menyelaraskan sistem dengan aktual barang yang ada di gudang.,
MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
Reconciliation JSON,Rekonsiliasi JSON,
Stock Reconciliation Item,Barang Rekonsiliasi Persediaan,
Before reconciliation,Sebelum rekonsiliasi,
Current Serial No,Nomor Seri Saat Ini,
Current Valuation Rate,Nilai Tingkat Penilaian Saat ini,
Current Amount,Jumlah saat ini,
Quantity Difference,Perbedaan Kuantitas,
Amount Difference,jumlah Perbedaan,
Item Naming By,Item Penamaan Dengan,
Default Item Group,Standar Item Grup,
Default Stock UOM,UOM Persediaan Standar,
Sample Retention Warehouse,Contoh Retensi Gudang,
Default Valuation Method,Metode Perhitungan Standar,
Show Barcode Field,Tampilkan Barcode Lapangan,
Convert Item Description to Clean HTML,Mengkonversi Deskripsi Item untuk Bersihkan HTML,
Allow Negative Stock,Izinkan persediaan negatif,
Automatically Set Serial Nos based on FIFO,Nomor Seri Otomatis berdasarkan FIFO,
Auto Material Request,Permintaan Material Otomatis,
Inter Warehouse Transfer Settings,Pengaturan Transfer Antar Gudang,
Freeze Stock Entries,Bekukan Entri Persediaan,
Stock Frozen Upto,Stock Frozen Upto,
Batch Identification,Identifikasi Batch,
Use Naming Series,Gunakan Seri Penamaan,
Naming Series Prefix,Awalan Seri Penamaan,
UOM Category,Kategori UOM,
UOM Conversion Detail,Detil UOM Konversi,
Variant Field,Bidang Varian,
A logical Warehouse against which stock entries are made.,Suatu Gudang maya dimana entri persediaan dibuat.,
Warehouse Detail,Detail Gudang,
Warehouse Name,Nama Gudang,
Warehouse Contact Info,Info Kontak Gudang,
PIN,PIN,
ISS-.YYYY.-,ISS-.YYYY.-,
Raised By (Email),Dimunculkan Oleh (Email),
Issue Type,Jenis Isu,
Issue Split From,Masalah Berpisah Dari,
Service Level,Tingkat Layanan,
Response By,Tanggapan oleh,
Response By Variance,Respon Berdasarkan Varians,
Ongoing,Sedang berlangsung,
Resolution By,Resolusi oleh,
Resolution By Variance,Resolusi oleh Varians,
Service Level Agreement Creation,Pembuatan Perjanjian Tingkat Layanan,
First Responded On,Ditangani Pertama kali pada,
Resolution Details,Detail Resolusi,
Opening Date,Tanggal Pembukaan,
Opening Time,Membuka Waktu,
Resolution Date,Tanggal Resolusi,
Via Customer Portal,Melalui Portal Pelanggan,
Support Team,Tim Support,
Issue Priority,Prioritas Masalah,
Service Day,Hari Layanan,
Workday,Hari kerja,
Default Priority,Prioritas Default,
Priorities,Prioritas,
Support Hours,Jam Dukungan,
Support and Resolution,Dukungan dan Resolusi,
Default Service Level Agreement,Perjanjian Tingkat Layanan Default,
Entity,Kesatuan,
Agreement Details,Detail Perjanjian,
Response and Resolution Time,Waktu Respons dan Resolusi,
Service Level Priority,Prioritas Tingkat Layanan,
Resolution Time,Waktu resolusi,
Support Search Source,Mendukung Sumber Pencarian,
Source Type,Jenis Sumber,
Query Route String,String Rute Kueri,
Search Term Param Name,Nama Param Istilah Pencarian,
Response Options,Opsi Tanggapan,
Response Result Key Path,Jalur Kunci Hasil Tanggapan,
Post Route String,Posting String Rute,
Post Route Key List,Posting Daftar Kunci Rute,
Post Title Key,Posting Kunci Judul,
Post Description Key,Kunci Deskripsi Posting,
Link Options,Opsi Tautan,
Source DocType,Sumber DocType,
Result Title Field,Bidang Judul Hasil,
Result Preview Field,Bidang Pratinjau Hasil,
Result Route Field,Bidang Rute Hasil,
Service Level Agreements,Tingkatan Jasa Persetujuan,
Track Service Level Agreement,Lacak Perjanjian Tingkat Layanan,
Allow Resetting Service Level Agreement,Izinkan Mengatur Ulang Perjanjian Tingkat Layanan,
Close Issue After Days,Tutup Isu Setelah Days,
Auto close Issue after 7 days,Auto Issue dekat setelah 7 hari,
Support Portal,Portal Dukungan,
Get Started Sections,Mulai Bagian,
Show Latest Forum Posts,Tampilkan Posting Forum Terbaru,
Forum Posts,Kiriman Forum,
Forum URL,URL Forum,
Get Latest Query,Dapatkan Permintaan Terbaru,
Response Key List,Daftar Kunci Respons,
Post Route Key,Posting Kunci Rute,
Search APIs,API Pencarian,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Tanggal dibuat,
Item and Warranty Details,Item dan Garansi Detail,
Warranty / AMC Status,Garansi / Status AMC,
Resolved By,Terselesaikan Dengan,
Service Address,Alamat Layanan,
If different than customer address,Jika berbeda dari alamat pelanggan,
Raised By,Diangkat Oleh,
From Company,Dari Perusahaan,
Rename Tool,Alat Perubahan Nama,
Utilities,Utilitas,
Type of document to rename.,Jenis dokumen untuk mengubah nama.,
File to Rename,Nama File untuk Diganti,
"Attach .csv file with two columns, one for the old name and one for the new name","Melampirkan file .csv dengan dua kolom, satu untuk nama lama dan satu untuk nama baru",
Rename Log,Log Riwayat Ganti Nama,
SMS Log,SMS Log,
Sender Name,Nama Pengirim,
Sent On,Dikirim Pada,
No of Requested SMS,Tidak ada dari Diminta SMS,
Requested Numbers,Nomor yang Diminta,
No of Sent SMS,Tidak ada dari Sent SMS,
Sent To,Dikirim Ke,
Absent Student Report,Laporan Absen Siswa,
Assessment Plan Status,Status Rencana Penilaian,
Asset Depreciation Ledger,Aset Penyusutan Ledger,
Asset Depreciations and Balances,Penyusutan aset dan Saldo,
Available Stock for Packing Items,Tersedia untuk Barang Paket,
Bank Clearance Summary,Ringkasan Kliring Bank,
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,
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,
Days,Hari,
Months,Bulan,
Book Deferred Entries Via Journal Entry,Buku Entri Ditunda Melalui Entri Jurnal,
Submit Journal Entries,Kirimkan Entri Jurnal,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Jika ini tidak dicentang, Entri Jurnal akan disimpan dalam status Draf dan harus diserahkan secara manual",
Enable Distributed Cost Center,Aktifkan Pusat Biaya Terdistribusi,
Distributed Cost Center,Pusat Biaya Terdistribusi,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Hari Terlambat,
Dunning Type,Jenis Dunning,
Dunning Fee,Biaya Dunning,
Dunning Amount,Jumlah Dunning,
Resolved,Terselesaikan,
Unresolved,Belum terselesaikan,
Printing Setting,Pengaturan Pencetakan,
Body Text,Teks Tubuh,
Closing Text,Teks Penutup,
Resolve,Menyelesaikan,
Dunning Letter Text,Teks Surat Dunning,
Is Default Language,Apakah Bahasa Default,
Letter or Email Body Text,Teks Isi Surat atau Email,
Letter or Email Closing Text,Teks Penutupan Surat atau Email,
Body and Closing Text Help,Bantuan Isi dan Teks Penutup,
Overdue Interval,Interval Terlambat,
Dunning Letter,Surat Dunning,
"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","Bagian ini memungkinkan pengguna untuk mengatur Isi dan Teks Penutup dari Surat Dunning untuk Jenis Dunning berdasarkan bahasa, yang dapat digunakan dalam Cetak.",
Reference Detail No,Referensi Detail No,
Custom Remarks,Keterangan Kustom,
Please select a Company first.,Pilih Perusahaan terlebih dahulu.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Baris # {0}: Jenis Dokumen Referensi harus salah satu dari Pesanan Penjualan, Faktur Penjualan, Entri Jurnal atau Dunning",
POS Closing Entry,Entri Penutupan POS,
POS Opening Entry,Entri Pembukaan POS,
POS Transactions,Transaksi POS,
POS Closing Entry Detail,Detail Entri Penutupan POS,
Opening Amount,Jumlah Pembukaan,
Closing Amount,Jumlah Penutupan,
POS Closing Entry Taxes,Pajak Entri Penutupan POS,
POS Invoice,Faktur POS,
ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
Consolidated Sales Invoice,Faktur Penjualan Konsolidasi,
Return Against POS Invoice,Kembali Terhadap Faktur POS,
Consolidated,Konsolidasi,
POS Invoice Item,Item Faktur POS,
POS Invoice Merge Log,Log Penggabungan Faktur POS,
POS Invoices,Faktur POS,
Consolidated Credit Note,Nota Kredit Konsolidasi,
POS Invoice Reference,Referensi Faktur POS,
Set Posting Date,Tetapkan Tanggal Posting,
Opening Balance Details,Membuka Detail Saldo,
POS Opening Entry Detail,Detail Entri Pembukaan POS,
POS Payment Method,Metode Pembayaran POS,
Payment Methods,cara Pembayaran,
Process Statement Of Accounts,Proses Pernyataan Akun,
General Ledger Filters,Filter Buku Besar,
Customers,Pelanggan,
Select Customers By,Pilih Pelanggan Menurut,
Fetch Customers,Ambil Pelanggan,
Send To Primary Contact,Kirim Ke Kontak Utama,
Print Preferences,Preferensi Cetak,
Include Ageing Summary,Sertakan Ringkasan Penuaan,
Enable Auto Email,Aktifkan Email Otomatis,
Filter Duration (Months),Durasi Filter (Bulan),
CC To,CC Ke,
Help Text,Teks Bantuan,
Emails Queued,Email Mengantri,
Process Statement Of Accounts Customer,Proses Laporan Rekening Pelanggan,
Billing Email,Email Penagihan,
Primary Contact Email,Email Kontak Utama,
PSOA Cost Center,Pusat Biaya PSOA,
PSOA Project,Proyek PSOA,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
Supplier GSTIN,Supplier GSTIN,
Place of Supply,Tempat Persediaan,
Select Billing Address,Pilih Alamat Penagihan,
GST Details,Detail GST,
GST Category,Kategori GST,
Registered Regular,Reguler Terdaftar,
Registered Composition,Komposisi Terdaftar,
Unregistered,Tidak terdaftar,
SEZ,SEZ,
Overseas,Luar negeri,
UIN Holders,Pemegang UIN,
With Payment of Tax,Dengan Pembayaran Pajak,
Without Payment of Tax,Tanpa Pembayaran Pajak,
Invoice Copy,Salinan Faktur,
Original for Recipient,Asli untuk Penerima,
Duplicate for Transporter,Duplikat untuk Transporter,
Duplicate for Supplier,Duplikat untuk Pemasok,
Triplicate for Supplier,Rangkap tiga untuk Pemasok,
Reverse Charge,Pengisian Balik,
Y,Y,
N,N,
E-commerce GSTIN,GSTIN E-niaga,
Reason For Issuing document,Alasan Penerbitan dokumen,
01-Sales Return,01-Retur Penjualan,
02-Post Sale Discount,Diskon 02-Post Sale,
03-Deficiency in services,03-Kekurangan dalam layanan,
04-Correction in Invoice,04-Koreksi dalam Faktur,
05-Change in POS,05-Ubah POS,
06-Finalization of Provisional assessment,06-Finalisasi penilaian Sementara,
07-Others,07-Lainnya,
Eligibility For ITC,Persyaratan Untuk ITC,
Input Service Distributor,Distributor Layanan Input,
Import Of Service,Impor Layanan,
Import Of Capital Goods,Impor Barang Modal,
Ineligible,Tidak memenuhi syarat,
All Other ITC,Semua ITC Lainnya,
Availed ITC Integrated Tax,Tersedia Pajak Terpadu ITC,
Availed ITC Central Tax,Tersedia Pajak Pusat ITC,
Availed ITC State/UT Tax,Tersedia Pajak Negara Bagian / UT ITC,
Availed ITC Cess,Tersedia ITC Cess,
Is Nil Rated or Exempted,Apakah Nihil Dinilai atau Dikecualikan,
Is Non GST,Apakah Non GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
E-Way Bill No.,E-Way Bill No.,
Is Consolidated,Apakah Konsolidasi,
Billing Address GSTIN,Alamat Penagihan GSTIN,
Customer GSTIN,GSTIN pelanggan,
GST Transporter ID,ID Pengangkut GST,
Distance (in km),Jarak (dalam km),
Road,Jalan,
Air,Udara,
Rail,Rel,
Ship,Kapal,
GST Vehicle Type,Jenis Kendaraan GST,
Over Dimensional Cargo (ODC),Over Dimensional Cargo (ODC),
Consumer,Konsumen,
Deemed Export,Ekspor yang Dianggap,
Port Code,Kode Port,
 Shipping Bill Number,Nomor Tagihan Pengiriman,
Shipping Bill Date,Tanggal Tagihan Pengiriman,
Subscription End Date,Tanggal Akhir Langganan,
Follow Calendar Months,Ikuti Bulan Kalender,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Jika ini dicentang, faktur baru berikutnya akan dibuat pada bulan kalender dan tanggal mulai kuartal terlepas dari tanggal mulai faktur saat ini",
Generate New Invoices Past Due Date,Buat Faktur Baru Tanggal Jatuh Tempo,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,Faktur baru akan dibuat sesuai jadwal meskipun faktur saat ini belum dibayar atau lewat jatuh tempo,
Document Type ,tipe dokumen,
Subscription Price Based On,Harga Langganan Berdasarkan,
Fixed Rate,Tarif Tetap,
Based On Price List,Berdasarkan Daftar Harga,
Monthly Rate,Tarif Bulanan,
Cancel Subscription After Grace Period,Batalkan Langganan Setelah Masa Tenggang,
Source State,Status Sumber,
Is Inter State,Apakah Inter State,
Purchase Details,Rincian Pembelian,
Depreciation Posting Date,Tanggal Posting Depresiasi,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Secara default, Nama Pemasok diatur sesuai Nama Pemasok yang dimasukkan. Jika Anda ingin Pemasok diberi nama oleh a",
 choose the 'Naming Series' option.,pilih opsi &#39;Seri Penamaan&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga default saat membuat transaksi Pembelian baru. Harga item akan diambil dari Daftar Harga ini.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Pembelian atau Tanda Terima tanpa membuat Pesanan Pembelian terlebih dahulu. Konfigurasi ini dapat diganti untuk pemasok tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Pembelian Tanpa Pesanan Pembelian&#39; di master Pemasok.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Pembelian tanpa membuat Tanda Terima Pembelian terlebih dahulu. Konfigurasi ini dapat diganti untuk pemasok tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Pembelian Tanpa Tanda Terima Pembelian&#39; di master Pemasok.",
Quantity & Stock,Kuantitas &amp; Stok,
Call Details,Detail Panggilan,
Authorised By,Diotorisasi Oleh,
Signee (Company),Signee (Perusahaan),
Signed By (Company),Ditandatangani Oleh (Perusahaan),
First Response Time,Waktu Respon Pertama,
Request For Quotation,Permintaan Penawaran,
Opportunity Lost Reason Detail,Detail Opportunity Lost Reason,
Access Token Secret,Akses Rahasia Token,
Add to Topics,Tambahkan ke Topik,
...Adding Article to Topics,... Menambahkan Artikel ke Topik,
Add Article to Topics,Tambahkan Artikel ke Topik,
This article is already added to the existing topics,Artikel ini telah ditambahkan ke topik yang ada,
Add to Programs,Tambahkan ke Program,
Programs,Program,
...Adding Course to Programs,... Menambahkan Kursus ke Program,
Add Course to Programs,Tambahkan Kursus ke Program,
This course is already added to the existing programs,Kursus ini sudah ditambahkan ke program yang ada,
Learning Management System Settings,Pengaturan Sistem Manajemen Pembelajaran,
Enable Learning Management System,Aktifkan Sistem Manajemen Pembelajaran,
Learning Management System Title,Judul Sistem Manajemen Pembelajaran,
...Adding Quiz to Topics,... Menambahkan Kuis ke Topik,
Add Quiz to Topics,Tambahkan Kuis ke Topik,
This quiz is already added to the existing topics,Kuis ini telah ditambahkan ke topik yang ada,
Enable Admission Application,Aktifkan Aplikasi Penerimaan,
EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
Marking attendance,Menandai kehadiran,
Add Guardians to Email Group,Tambahkan Wali ke Grup Email,
Attendance Based On,Kehadiran Berdasarkan,
Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Centang ini untuk menandai siswa sebagai hadir seandainya siswa tidak menghadiri institut untuk berpartisipasi atau mewakili institut dalam acara apa pun.,
Add to Courses,Tambahkan ke Kursus,
...Adding Topic to Courses,... Menambahkan Topik ke Kursus,
Add Topic to Courses,Tambahkan Topik ke Kursus,
This topic is already added to the existing courses,Topik ini sudah ditambahkan ke kursus yang ada,
"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Jika Shopify tidak memiliki pelanggan dalam pesanan, maka saat menyinkronkan pesanan, sistem akan mempertimbangkan pelanggan default untuk pesanan tersebut.",
The accounts are set by the system automatically but do confirm these defaults,"Akun-akun tersebut ditetapkan oleh sistem secara otomatis, tetapi pastikan akun-akun tersebut ditetapkan secara default",
Default Round Off Account,Akun Round Off Default,
Failed Import Log,Log Impor Gagal,
Fixed Error Log,Memperbaiki Error Log,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Perusahaan {0} sudah ada. Melanjutkan akan menimpa Perusahaan dan Bagan Akun,
Meta Data,Meta Data,
Unresolve,Tidak terselesaikan,
Create Document,Buat Dokumen,
Mark as unresolved,Tandai belum terselesaikan,
TaxJar Settings,Pengaturan TaxJar,
Sandbox Mode,Mode Sandbox,
Enable Tax Calculation,Aktifkan Perhitungan Pajak,
Create TaxJar Transaction,Buat Transaksi TaxJar,
Credentials,Kredensial,
Live API Key,Kunci API Langsung,
Sandbox API Key,Kunci API Kotak Pasir,
Configuration,Konfigurasi,
Tax Account Head,Kepala Rekening Pajak,
Shipping Account Head,Kepala Akun Pengiriman,
Practitioner Name,Nama Praktisi,
Enter a name for the Clinical Procedure Template,Masukkan nama untuk Template Prosedur Klinis,
Set the Item Code which will be used for billing the Clinical Procedure.,Tetapkan Kode Item yang akan digunakan untuk penagihan Prosedur Klinis.,
Select an Item Group for the Clinical Procedure Item.,Pilih Grup Item untuk Item Prosedur Klinis.,
Clinical Procedure Rate,Tingkat Prosedur Klinis,
Check this if the Clinical Procedure is billable and also set the rate.,Periksa ini jika Prosedur Klinis dapat ditagih dan juga tetapkan tarif.,
Check this if the Clinical Procedure utilises consumables. Click ,Periksa ini jika Prosedur Klinis menggunakan bahan habis pakai. Klik,
 to know more,untuk mengetahui lebih lanjut,
"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","Anda juga dapat mengatur Departemen Medis untuk templatnya. Setelah menyimpan dokumen, Item secara otomatis akan dibuat untuk penagihan Prosedur Klinis ini. Anda kemudian dapat menggunakan templat ini saat membuat Prosedur Klinis untuk Pasien. Template menyelamatkan Anda dari mengisi data yang berlebihan setiap saat. Anda juga dapat membuat template untuk operasi lain seperti Tes Lab, Sesi Terapi, dll.",
Descriptive Test Result,Hasil Tes Deskriptif,
Allow Blank,Izinkan Kosong,
Descriptive Test Template,Template Tes Deskriptif,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Jika Anda ingin melacak Penggajian dan operasi HRMS lainnya untuk seorang Praktisi, buatlah Karyawan dan tautkan di sini.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Tetapkan Jadwal Praktisi yang baru saja Anda buat. Ini akan digunakan saat memesan janji temu.,
Create a service item for Out Patient Consulting.,Buat item layanan untuk Konsultasi Pasien Keluar.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Jika Praktisi Perawatan Kesehatan ini bekerja untuk Departemen Rawat Inap, buat item layanan untuk Kunjungan Rawat Inap.",
Set the Out Patient Consulting Charge for this Practitioner.,Tetapkan Biaya Konsultasi Pasien Keluar untuk Praktisi ini.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Jika Praktisi Perawatan Kesehatan ini juga bekerja di Bagian Rawat Inap, tetapkan biaya kunjungan rawat inap untuk Praktisi ini.",
"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Jika dicentang, pelanggan akan dibuat untuk setiap Pasien. Faktur Pasien akan dibuat untuk Pelanggan ini. Anda juga dapat memilih Pelanggan yang ada saat membuat Pasien. Bidang ini dicentang secara default.",
Collect Registration Fee,Kumpulkan Biaya Pendaftaran,
"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Jika fasilitas Kesehatan Anda menagih pendaftaran Pasien, Anda dapat memeriksa ini dan mengatur Biaya Pendaftaran di bidang di bawah ini. Memeriksa ini akan membuat Pasien baru dengan status Dinonaktifkan secara default dan hanya akan diaktifkan setelah menagih Biaya Pendaftaran.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Memeriksa ini akan secara otomatis membuat Faktur Penjualan setiap kali janji temu dipesan untuk Pasien.,
Healthcare Service Items,Item Layanan Kesehatan,
"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","Anda dapat membuat item layanan untuk Biaya Kunjungan Rawat Inap dan mengaturnya di sini. Demikian pula, Anda dapat mengatur Item Layanan Kesehatan lainnya untuk penagihan di bagian ini. Klik",
Set up default Accounts for the Healthcare Facility,Atur Akun default untuk Fasilitas Kesehatan,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Jika Anda ingin mengganti pengaturan akun default dan mengkonfigurasi akun Pendapatan dan Piutang untuk Perawatan Kesehatan, Anda dapat melakukannya di sini.",
Out Patient SMS alerts,Peringatan SMS Keluar Pasien,
"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Jika Anda ingin mengirim peringatan SMS pada Pendaftaran Pasien, Anda dapat mengaktifkan opsi ini. Serupa dengan itu, Anda dapat mengatur peringatan SMS Keluar Pasien untuk fungsi lain di bagian ini. Klik",
Admission Order Details,Detail Pesanan Pendaftaran,
Admission Ordered For,Pendaftaran Dipesan Untuk,
Expected Length of Stay,Perkiraan Lama Tinggal,
Admission Service Unit Type,Jenis Unit Layanan Penerimaan,
Healthcare Practitioner (Primary),Praktisi Kesehatan (Utama),
Healthcare Practitioner (Secondary),Praktisi Kesehatan (Sekunder),
Admission Instruction,Instruksi Pendaftaran,
Chief Complaint,Pengaduan Utama,
Medications,Pengobatan,
Investigations,Investigasi,
Discharge Detials,Discharge Detials,
Discharge Ordered Date,Tanggal Pemesanan Discharge,
Discharge Instructions,Instruksi Pembuangan,
Follow Up Date,Tanggal Tindak Lanjut,
Discharge Notes,Catatan Discharge,
Processing Inpatient Discharge,Memproses Debit Rawat Inap,
Processing Patient Admission,Memproses Penerimaan Pasien,
Check-in time cannot be greater than the current time,Waktu check-in tidak boleh lebih dari waktu saat ini,
Process Transfer,Proses Transfer,
HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
Expected Result Date,Tanggal Hasil yang Diharapkan,
Expected Result Time,Waktu Hasil yang Diharapkan,
Printed on,Tercetak,
Requesting Practitioner,Meminta Praktisi,
Requesting Department,Departemen Permintaan,
Employee (Lab Technician),Karyawan (Teknisi Lab),
Lab Technician Name,Nama Teknisi Lab,
Lab Technician Designation,Penunjukan Teknisi Lab,
Compound Test Result,Hasil Uji Senyawa,
Organism Test Result,Hasil Uji Organisme,
Sensitivity Test Result,Hasil Uji Sensitivitas,
Worksheet Print,Cetak Lembar Kerja,
Worksheet Instructions,Instruksi Lembar Kerja,
Result Legend Print,Hasil Legenda Cetak,
Print Position,Posisi Cetak,
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,
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,
Manufacturing Section,Bagian Manufaktur,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Secara default, Nama Pelanggan diatur sesuai Nama Lengkap yang dimasukkan. Jika Anda ingin Pelanggan diberi nama oleh a",
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga default saat membuat transaksi Penjualan baru. Harga item akan diambil dari Daftar Harga ini.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Penjualan atau Nota Pengiriman tanpa membuat Pesanan Penjualan terlebih dahulu. Konfigurasi ini dapat diganti untuk Pelanggan tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Penjualan Tanpa Pesanan Penjualan&#39; di master Pelanggan.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Jika opsi ini dikonfigurasi &#39;Ya&#39;, ERPNext akan mencegah Anda membuat Faktur Penjualan tanpa membuat Nota Pengiriman terlebih dahulu. Konfigurasi ini dapat diganti untuk Pelanggan tertentu dengan mengaktifkan kotak centang &#39;Izinkan Pembuatan Faktur Penjualan Tanpa Catatan Pengiriman&#39; di master Pelanggan.",
Default Warehouse for Sales Return,Gudang Default untuk Retur Penjualan,
Default In Transit Warehouse,Default Di Gudang Transit,
Enable Perpetual Inventory For Non Stock Items,Aktifkan Persediaan Abadi Untuk Item Non Stok,
HRA Settings,Pengaturan HRA,
Basic Component,Komponen Dasar,
HRA Component,Komponen HRA,
Arrear Component,Komponen Tunggakan,
Please enter the company name to confirm,Silakan masukkan nama perusahaan untuk konfirmasi,
Quotation Lost Reason Detail,Detail Quotation Lost Reason,
Enable Variants,Aktifkan Varian,
Save Quotations as Draft,Simpan Kutipan sebagai Draf,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
Please Select a Customer,Harap Pilih Pelanggan,
Against Delivery Note Item,Terhadap Item Nota Pengiriman,
Is Non GST ,Apakah Non GST,
Image Description,Uraian gambar; kesan,
Transfer Status,Status Transfer,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
Track this Purchase Receipt against any Project,Lacak Tanda Terima Pembelian ini terhadap Proyek apa pun,
Please Select a Supplier,Silakan Pilih Pemasok,
Add to Transit,Tambahkan ke Transit,
Set Basic Rate Manually,Tetapkan Tarif Dasar Secara Manual,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Secara default, Nama Item diatur sesuai Kode Item yang dimasukkan. Jika Anda ingin Item diberi nama dengan a",
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Tetapkan Gudang Default untuk Transaksi Persediaan. Ini akan diambil ke Gudang Default di master Item.,
"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Ini akan memungkinkan stok barang untuk ditampilkan dalam nilai negatif. Penggunaan opsi ini bergantung pada kasus penggunaan Anda. Dengan opsi ini tidak dicentang, sistem memperingatkan sebelum menghalangi transaksi yang menyebabkan stok negatif.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Pilih antara Metode Penilaian FIFO dan Moving Average. Klik,
 to know more about them.,untuk mengetahui lebih banyak tentang mereka.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Tampilkan bidang &#39;Pindai Kode Batang&#39; di atas setiap tabel anak untuk memasukkan Item dengan mudah.,
"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Nomor seri untuk stok akan diatur secara otomatis berdasarkan Item yang dimasukkan berdasarkan pertama masuk pertama keluar dalam transaksi seperti Faktur Pembelian / Penjualan, Catatan Pengiriman, dll.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Jika kosong, Akun Gudang induk atau default perusahaan akan dipertimbangkan dalam transaksi",
Service Level Agreement Details,Detail Perjanjian Tingkat Layanan,
Service Level Agreement Status,Status Perjanjian Tingkat Layanan,
On Hold Since,Ditahan Sejak,
Total Hold Time,Total Waktu Penahanan,
Response Details,Detail Tanggapan,
Average Response Time,Waktu Respon Rata-Rata,
User Resolution Time,Waktu Resolusi Pengguna,
SLA is on hold since {0},SLA ditahan sejak {0},
Pause SLA On Status,Jeda SLA Pada Status,
Pause SLA On,Jeda SLA Aktif,
Greetings Section,Bagian Salam,
Greeting Title,Judul Ucapan,
Greeting Subtitle,Subtitel Salam,
Youtube ID,ID Youtube,
Youtube Statistics,Statistik Youtube,
Views,Tampilan,
Dislikes,Tidak suka,
Video Settings,Pengaturan video,
Enable YouTube Tracking,Aktifkan Pelacakan YouTube,
30 mins,30 menit,
1 hr,1 jam,
6 hrs,6 jam,
Patient Progress,Kemajuan Pasien,
Targetted,Targetted,
Score Obtained,Skor Diperoleh,
Sessions,Sesi,
Average Score,Skor rata - rata,
Select Assessment Template,Pilih Template Penilaian,
 out of ,dari,
Select Assessment Parameter,Pilih Parameter Penilaian,
Gender: ,Jenis kelamin:,
Contact: ,Kontak:,
Total Therapy Sessions: ,Sesi Terapi Total:,
Monthly Therapy Sessions: ,Sesi Terapi Bulanan:,
Patient Profile,Profil Pasien,
Point Of Sale,Titik penjualan,
Email sent successfully.,Email berhasil dikirim.,
Search by invoice id or customer name,Cari berdasarkan id faktur atau nama pelanggan,
Invoice Status,Status Faktur,
Filter by invoice status,Filter berdasarkan status faktur,
Select item group,Pilih grup item,
No items found. Scan barcode again.,Tidak ada item yang ditemukan. Pindai kode batang lagi.,
"Search by customer name, phone, email.","Cari berdasarkan nama pelanggan, telepon, email.",
Enter discount percentage.,Masukkan persentase diskon.,
Discount cannot be greater than 100%,Diskon tidak boleh lebih dari 100%,
Enter customer's email,Masukkan email pelanggan,
Enter customer's phone number,Masukkan nomor telepon pelanggan,
Customer contact updated successfully.,Kontak pelanggan berhasil diperbarui.,
Item will be removed since no serial / batch no selected.,Item akan dihapus karena tidak ada serial / batch yang dipilih.,
Discount (%),Diskon (%),
You cannot submit the order without payment.,Anda tidak dapat mengirimkan pesanan tanpa pembayaran.,
You cannot submit empty order.,Anda tidak dapat mengirimkan pesanan kosong.,
To Be Paid,Untuk dibayar,
Create POS Opening Entry,Buat Entri Pembukaan POS,
Please add Mode of payments and opening balance details.,Harap tambahkan Cara pembayaran dan detail saldo pembukaan.,
Toggle Recent Orders,Alihkan Pesanan Terbaru,
Save as Draft,Simpan sebagai draf,
You must add atleast one item to save it as draft.,Anda harus menambahkan setidaknya satu item untuk menyimpannya sebagai draf.,
There was an error saving the document.,Terjadi kesalahan saat menyimpan dokumen.,
You must select a customer before adding an item.,Anda harus memilih pelanggan sebelum menambahkan item.,
Please Select a Company,Harap Pilih Perusahaan,
Active Leads,Pimpinan Aktif,
Please Select a Company.,Harap Pilih Perusahaan.,
BOM Operations Time,Waktu Operasi BOM,
BOM ID,ID BOM,
BOM Item Code,Kode Barang BOM,
Time (In Mins),Waktu (Dalam Menit),
Sub-assembly BOM Count,Sub-perakitan BOM Count,
View Type,Jenis Tampilan,
Total Delivered Amount,Jumlah Total yang Dikirim,
Downtime Analysis,Analisis Waktu Henti,
Machine,Mesin,
Downtime (In Hours),Waktu Henti (Dalam Jam),
Employee Analytics,Analisis Karyawan,
"""From date"" can not be greater than or equal to ""To date""",&quot;Dari tanggal&quot; tidak boleh lebih dari atau sama dengan &quot;Sampai saat ini&quot;,
Exponential Smoothing Forecasting,Peramalan Pemulusan Eksponensial,
First Response Time for Issues,Waktu Respons Pertama untuk Masalah,
First Response Time for Opportunity,Waktu Respons Pertama untuk Peluang,
Depreciatied Amount,Jumlah yang Disusutkan,
Period Based On,Berdasarkan Periode,
Date Based On,Tanggal Berdasarkan,
{0} and {1} are mandatory,{0} dan {1} adalah wajib,
Consider Accounting Dimensions,Pertimbangkan Dimensi Akuntansi,
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,
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,
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,
Email Sent to Supplier {0},Email Dikirim ke Pemasok {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Akses ke Permintaan Penawaran Dari Portal Dinonaktifkan. Untuk Mengizinkan Akses, Aktifkan di Pengaturan Portal.",
Supplier Quotation {0} Created,Penawaran Pemasok {0} Dibuat,
Valid till Date cannot be before Transaction Date,Berlaku hingga Tanggal tidak boleh sebelum Tanggal Transaksi,
Unlink Advance Payment on Cancellation of Order,Batalkan Tautan Pembayaran Di Muka pada Pembatalan Pesanan,
"Simple Python Expression, Example: territory != 'All Territories'","Ekspresi Python Sederhana, Contoh: teritori! = &#39;Semua Wilayah&#39;",
Sales Contributions and Incentives,Kontribusi Penjualan dan Insentif,
Sourced by Supplier,Bersumber dari Pemasok,
Total weightage assigned should be 100%.<br>It is {0},Bobot total yang ditetapkan harus 100%.<br> Ini adalah {0},
Account {0} exists in parent company {1}.,Akun {0} ada di perusahaan induk {1}.,
"To overrule this, enable '{0}' in company {1}","Untuk mengesampingkan ini, aktifkan &#39;{0}&#39; di perusahaan {1}",
Invalid condition expression,Ekspresi kondisi tidak valid,
Please Select a Company First,Harap Pilih Perusahaan Terlebih Dahulu,
Please Select Both Company and Party Type First,Harap Pilih Kedua Perusahaan dan Jenis Pesta Pertama,
Provide the invoice portion in percent,Berikan porsi faktur dalam persen,
Give number of days according to prior selection,Beri jumlah hari menurut seleksi sebelumnya,
Email Details,Rincian Email,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Pilih salam untuk penerima. Misal Mr., Ms., dll.",
Preview Email,Pratinjau Email,
Please select a Supplier,Silakan pilih a Pemasok,
Supplier Lead Time (days),Supplier Lead Time (hari),
"Home, Work, etc.","Rumah, Kantor, dll.",
Exit Interview Held On,Exit Interview Diadakan,
Condition and formula,Kondisi dan formula,
Sets 'Target Warehouse' in each row of the Items table.,Set &#39;Gudang Target&#39; di setiap baris tabel Item.,
Sets 'Source Warehouse' in each row of the Items table.,Set &#39;Source Warehouse&#39; di setiap baris tabel Item.,
POS Register,Daftar POS,
"Can not filter based on POS Profile, if grouped by POS Profile","Tidak dapat memfilter berdasarkan Profil POS, jika dikelompokkan berdasarkan Profil POS",
"Can not filter based on Customer, if grouped by Customer","Tidak dapat memfilter berdasarkan Pelanggan, jika dikelompokkan berdasarkan Pelanggan",
"Can not filter based on Cashier, if grouped by Cashier","Tidak dapat memfilter berdasarkan Kasir, jika dikelompokkan berdasarkan Kasir",
Payment Method,Cara Pembayaran,
"Can not filter based on Payment Method, if grouped by Payment Method","Tidak dapat memfilter berdasarkan Metode Pembayaran, jika dikelompokkan berdasarkan Metode Pembayaran",
Supplier Quotation Comparison,Perbandingan Penawaran Pemasok,
Price per Unit (Stock UOM),Harga per Unit (Stock UOM),
Group by Supplier,Kelompokkan berdasarkan Pemasok,
Group by Item,Kelompokkan berdasarkan Item,
Remember to set {field_label}. It is required by {regulation}.,Ingatlah untuk menyetel {field_label}. Ini diwajibkan oleh {regulasi}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},Tanggal Pendaftaran tidak boleh sebelum Tanggal Mulai Tahun Akademik {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},Tanggal Pendaftaran tidak boleh setelah Tanggal Akhir Masa Akademik {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},Tanggal Pendaftaran tidak boleh sebelum Tanggal Mulai dari Syarat Akademik {0},
Future Posting Not Allowed,Posting Mendatang Tidak Diizinkan,
"To enable Capital Work in Progress Accounting, ","Untuk mengaktifkan Capital Work dalam Progress Accounting,",
you must select Capital Work in Progress Account in accounts table,Anda harus memilih Capital Work in Progress Account di tabel akun,
You can also set default CWIP account in Company {},Anda juga dapat menyetel akun CWIP default di Perusahaan {},
The Request for Quotation can be accessed by clicking on the following button,Permintaan Penawaran dapat diakses dengan mengklik tombol berikut,
Regards,Salam,
Please click on the following button to set your new password,Silakan klik tombol berikut untuk menyetel kata sandi baru Anda,
Update Password,Perbarui Kata Sandi,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Baris # {}: Tarif jual item {} lebih rendah daripada {}. Menjual {} harus minimal {},
You can alternatively disable selling price validation in {} to bypass this validation.,Anda juga bisa menonaktifkan validasi harga jual di {} untuk melewati validasi ini.,
Invalid Selling Price,Harga Jual Tidak Valid,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,Alamat harus ditautkan ke Perusahaan. Harap tambahkan baris untuk Perusahaan di tabel Tautan.,
Company Not Linked,Perusahaan Tidak Tertaut,
Import Chart of Accounts from CSV / Excel files,Impor Bagan Akun dari file CSV / Excel,
Completed Qty cannot be greater than 'Qty to Manufacture',Kuantitas Lengkap tidak boleh lebih besar dari &#39;Kuantitas hingga Pembuatan&#39;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email","Baris {0}: Untuk Pemasok {1}, Alamat Email Diperlukan untuk mengirim email",
"If enabled, the system will post accounting entries for inventory automatically","Jika diaktifkan, sistem akan memposting entri akuntansi untuk inventaris secara otomatis",
Accounts Frozen Till Date,Akun Dibekukan Hingga Tanggal,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Entri akuntansi dibekukan sampai tanggal ini. Tidak ada yang dapat membuat atau mengubah entri kecuali pengguna dengan peran yang ditentukan di bawah ini,
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Peran Diizinkan untuk Mengatur Akun Beku dan Mengedit Entri Beku,
Address used to determine Tax Category in transactions,Alamat yang digunakan untuk menentukan Kategori Pajak dalam transaksi,
"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Persentase Anda diizinkan untuk menagih lebih banyak dari jumlah yang dipesan. Misalnya, jika nilai pesanan adalah $ 100 untuk satu item dan toleransi ditetapkan sebagai 10%, maka Anda diizinkan untuk menagih hingga $ 110",
This role is allowed to submit transactions that exceed credit limits,Peran ini diperbolehkan untuk mengirimkan transaksi yang melebihi batas kredit,
"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Jika &quot;Bulan&quot; dipilih, jumlah tetap akan dibukukan sebagai pendapatan atau beban yang ditangguhkan untuk setiap bulan terlepas dari jumlah hari dalam sebulan. Ini akan diprorata jika pendapatan atau beban yang ditangguhkan tidak dibukukan selama satu bulan penuh",
"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Jika ini tidak dicentang, entri GL langsung akan dibuat untuk membukukan pendapatan atau beban yang ditangguhkan",
Show Inclusive Tax in Print,Tunjukkan Pajak Termasuk dalam Cetakan,
Only select this if you have set up the Cash Flow Mapper documents,Pilih ini hanya jika Anda telah menyiapkan dokumen Pemeta Arus Kas,
Payment Channel,Saluran Pembayaran,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Apakah Pesanan Pembelian Diperlukan untuk Pembuatan Faktur Pembelian &amp; Tanda Terima?,
Is Purchase Receipt Required for Purchase Invoice Creation?,Apakah Bukti Pembelian Diperlukan untuk Pembuatan Faktur Pembelian?,
Maintain Same Rate Throughout the Purchase Cycle,Pertahankan Tarif yang Sama Sepanjang Siklus Pembelian,
Allow Item To Be Added Multiple Times in a Transaction,Izinkan Item Ditambahkan Beberapa Kali dalam Transaksi,
Suppliers,Pemasok,
Send Emails to Suppliers,Kirim Email ke Pemasok,
Select a Supplier,Pilih Pemasok,
Cannot mark attendance for future dates.,Tidak dapat menandai kehadiran untuk tanggal yang akan datang.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Apakah Anda ingin memperbarui kehadiran?<br> Sekarang: {0}<br> Absen: {1},
Mpesa Settings,Pengaturan Mpesa,
Initiator Name,Nama Pemrakarsa,
Till Number,Sampai Nomor,
Sandbox,Bak pasir,
 Online PassKey,PassKey Online,
Security Credential,Kredensial Keamanan,
Get Account Balance,Dapatkan Saldo Akun,
Please set the initiator name and the security credential,Harap setel nama pemrakarsa dan kredensial keamanan,
Inpatient Medication Entry,Masuk Obat Rawat Inap,
HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
Item Code (Drug),Kode Barang (Obat),
Medication Orders,Perintah Pengobatan,
Get Pending Medication Orders,Dapatkan Pesanan Obat Tertunda,
Inpatient Medication Orders,Perintah Pengobatan Rawat Inap,
Medication Warehouse,Gudang Obat,
Warehouse from where medication stock should be consumed,Gudang tempat persediaan obat harus dikonsumsi,
Fetching Pending Medication Orders,Mengambil Perintah Obat yang Tertunda,
Inpatient Medication Entry Detail,Detail Entri Obat Rawat Inap,
Medication Details,Rincian Obat,
Drug Code,Kode Obat,
Drug Name,Nama Obat,
Against Inpatient Medication Order,Terhadap Perintah Pengobatan Rawat Inap,
Against Inpatient Medication Order Entry,Terhadap Masuknya Pesanan Obat Rawat Inap,
Inpatient Medication Order,Perintah Pengobatan Rawat Inap,
HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
Total Orders,Total Pesanan,
Completed Orders,Pesanan Selesai,
Add Medication Orders,Tambahkan Perintah Pengobatan,
Adding Order Entries,Menambahkan Entri Pesanan,
{0} medication orders completed,{0} pesanan pengobatan selesai,
{0} medication order completed,{0} pesanan pengobatan selesai,
Inpatient Medication Order Entry,Entri Pesanan Obat Rawat Inap,
Is Order Completed,Apakah Pesanan Selesai,
Employee Records to Be Created By,Catatan Karyawan yang Akan Dibuat,
Employee records are created using the selected field,Catatan karyawan dibuat menggunakan bidang yang dipilih,
Don't send employee birthday reminders,Jangan mengirim pengingat ulang tahun karyawan,
Restrict Backdated Leave Applications,Batasi Aplikasi Cuti Berawal,
Sequence ID,ID Urutan,
Sequence Id,Id Urutan,
Allow multiple material consumptions against a Work Order,Izinkan beberapa konsumsi material terhadap Perintah Kerja,
Plan time logs outside Workstation working hours,Rencanakan log waktu di luar jam kerja Workstation,
Plan operations X days in advance,Rencanakan operasi X hari sebelumnya,
Time Between Operations (Mins),Waktu Antar Operasi (Menit),
Default: 10 mins,Default: 10 menit,
Overproduction for Sales and Work Order,Produksi Berlebih untuk Penjualan dan Perintah Kerja,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Perbarui biaya BOM secara otomatis melalui penjadwal, berdasarkan Tingkat Penilaian / Harga Daftar Harga / Tingkat Pembelian Terakhir bahan baku terbaru",
Purchase Order already created for all Sales Order items,Pesanan Pembelian telah dibuat untuk semua item Pesanan Penjualan,
Select Items,Pilih Item,
Against Default Supplier,Melawan Pemasok Default,
Auto close Opportunity after the no. of days mentioned above,Peluang tutup otomatis setelah no. hari yang disebutkan di atas,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Apakah Sales Order Diperlukan untuk Pembuatan Faktur Penjualan &amp; Nota Pengiriman?,
Is Delivery Note Required for Sales Invoice Creation?,Apakah Nota Pengiriman Diperlukan untuk Pembuatan Faktur Penjualan?,
How often should Project and Company be updated based on Sales Transactions?,Seberapa sering Proyek dan Perusahaan harus diperbarui berdasarkan Transaksi Penjualan?,
Allow User to Edit Price List Rate in Transactions,Izinkan Pengguna untuk Mengedit Tarif Daftar Harga dalam Transaksi,
Allow Item to Be Added Multiple Times in a Transaction,Izinkan Item Ditambahkan Beberapa Kali dalam Transaksi,
Allow Multiple Sales Orders Against a Customer's Purchase Order,Izinkan Beberapa Pesanan Penjualan Terhadap Pesanan Pembelian Pelanggan,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Validasi Harga Jual untuk Item Terhadap Tingkat Pembelian atau Tingkat Penilaian,
Hide Customer's Tax ID from Sales Transactions,Sembunyikan ID Pajak Pelanggan dari Transaksi Penjualan,
"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Persentase Anda diperbolehkan untuk menerima atau mengirim lebih dari jumlah yang dipesan. Misalnya, jika Anda sudah memesan 100 unit, dan Tunjangan Anda 10%, maka Anda boleh menerima 110 unit.",
Action If Quality Inspection Is Not Submitted,Tindakan Jika Pemeriksaan Kualitas Tidak Diserahkan,
Auto Insert Price List Rate If Missing,Sisipkan Otomatis Harga Daftar Harga Jika Hilang,
Automatically Set Serial Nos Based on FIFO,Atur Nomor Seri Secara Otomatis Berdasarkan FIFO,
Set Qty in Transactions Based on Serial No Input,Atur Qty dalam Transaksi Berdasarkan Serial No Input,
Raise Material Request When Stock Reaches Re-order Level,Angkat Permintaan Material Saat Stok Mencapai Tingkat Pemesanan Ulang,
Notify by Email on Creation of Automatic Material Request,Beritahu melalui Email tentang Pembuatan Permintaan Material Otomatis,
Allow Material Transfer from Delivery Note to Sales Invoice,Izinkan Transfer Material dari Nota Pengiriman ke Faktur Penjualan,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Izinkan Transfer Material dari Tanda Terima Pembelian ke Faktur Pembelian,
Freeze Stocks Older Than (Days),Bekukan Saham Lebih Lama Dari (Hari),
Role Allowed to Edit Frozen Stock,Peran Diizinkan untuk Mengedit Stok Beku,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Jumlah Entri Pembayaran yang tidak dialokasikan {0} lebih besar daripada jumlah Transaksi Bank yang tidak dialokasikan,
Payment Received,Pembayaran diterima,
Attendance cannot be marked outside of Academic Year {0},Kehadiran tidak dapat ditandai di luar Tahun Akademik {0},
Student is already enrolled via Course Enrollment {0},Siswa sudah terdaftar melalui Pendaftaran Kursus {0},
Attendance cannot be marked for future dates.,Kehadiran tidak dapat ditandai untuk tanggal yang akan datang.,
Please add programs to enable admission application.,Harap tambahkan program untuk mengaktifkan aplikasi penerimaan.,
The following employees are currently still reporting to {0}:,Karyawan berikut saat ini masih melapor ke {0}:,
Please make sure the employees above report to another Active employee.,Harap pastikan karyawan di atas melapor kepada karyawan Aktif lainnya.,
Cannot Relieve Employee,Tidak Bisa Meringankan Karyawan,
Please enter {0},Harap masukkan {0},
Please select another payment method. Mpesa does not support transactions in currency '{0}',Pilih metode pembayaran lain. Mpesa tidak mendukung transaksi dalam mata uang &#39;{0}&#39;,
Transaction Error,Kesalahan Transaksi,
Mpesa Express Transaction Error,Kesalahan Transaksi Mpesa Express,
"Issue detected with Mpesa configuration, check the error logs for more details","Masalah terdeteksi dengan konfigurasi Mpesa, periksa log kesalahan untuk lebih jelasnya",
Mpesa Express Error,Kesalahan Mpesa Express,
Account Balance Processing Error,Kesalahan Pemrosesan Saldo Akun,
Please check your configuration and try again,Harap periksa konfigurasi Anda dan coba lagi,
Mpesa Account Balance Processing Error,Kesalahan Pemrosesan Saldo Akun Mpesa,
Balance Details,Rincian Saldo,
Current Balance,Saldo saat ini,
Available Balance,Saldo Tersedia,
Reserved Balance,Saldo Cadangan,
Uncleared Balance,Saldo Tidak Jelas,
Payment related to {0} is not completed,Pembayaran yang terkait dengan {0} tidak selesai,
Row #{}: Item Code: {} is not available under warehouse {}.,Baris # {}: Kode Item: {} tidak tersedia di gudang {}.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Baris # {}: Jumlah stok tidak cukup untuk Kode Barang: {} di bawah gudang {}. Kuantitas yang tersedia {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Baris # {}: Pilih nomor seri dan kelompokkan terhadap item: {} atau hapus untuk menyelesaikan transaksi.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Baris # {}: Tidak ada nomor seri yang dipilih terhadap item: {}. Pilih satu atau hapus untuk menyelesaikan transaksi.,
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Baris # {}: Tidak ada kelompok yang dipilih terhadap item: {}. Pilih kelompok atau hapus untuk menyelesaikan transaksi.,
Payment amount cannot be less than or equal to 0,Jumlah pembayaran tidak boleh kurang dari atau sama dengan 0,
Please enter the phone number first,Harap masukkan nomor telepon terlebih dahulu,
Row #{}: {} {} does not exist.,Baris # {}: {} {} tidak ada.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Baris # {0}: {1} diperlukan untuk membuat Faktur {2} Pembukaan,
You had {} errors while creating opening invoices. Check {} for more details,Anda mengalami {} kesalahan saat membuat pembukaan faktur. Periksa {} untuk detail selengkapnya,
Error Occured,Terjadi kesalahan,
Opening Invoice Creation In Progress,Pembukaan Pembuatan Faktur Sedang Berlangsung,
Creating {} out of {} {},Membuat {} dari {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Nomor Seri: {0}) tidak dapat digunakan karena disimpan ulang untuk memenuhi Pesanan Penjualan {1}.,
Item {0} {1},Item {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Transaksi Stok Terakhir untuk item {0} dalam gudang {1} adalah pada {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Transaksi Stok untuk Item {0} di bawah gudang {1} tidak dapat dikirim sebelum waktu ini.,
Posting future stock transactions are not allowed due to Immutable Ledger,Memposting transaksi saham di masa depan tidak diperbolehkan karena Immutable Ledger,
A BOM with name {0} already exists for item {1}.,BOM dengan nama {0} sudah ada untuk item {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Apakah Anda mengganti nama item? Silakan hubungi Administrator / dukungan Teknis,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},Di baris # {0}: id urutan {1} tidak boleh kurang dari id urutan baris sebelumnya {2},
The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) harus sama dengan {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, selesaikan operasi {1} sebelum operasi {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Tidak dapat memastikan pengiriman dengan Serial No karena Item {0} ditambahkan dengan dan tanpa Pastikan Pengiriman dengan Serial No.,
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Butir {0} tidak memiliki No. Seri. Hanya item serilialisasi yang dapat dikirimkan berdasarkan No. Seri,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Tidak ada BOM aktif yang ditemukan untuk item {0}. Pengiriman dengan Serial No tidak dapat dipastikan,
No pending medication orders found for selected criteria,Tidak ada pesanan obat yang tertunda ditemukan untuk kriteria yang dipilih,
From Date cannot be after the current date.,Dari Tanggal tidak boleh setelah tanggal sekarang.,
To Date cannot be after the current date.,To Date tidak boleh setelah tanggal sekarang.,
From Time cannot be after the current time.,Dari Waktu tidak boleh setelah waktu saat ini.,
To Time cannot be after the current time.,Ke Waktu tidak bisa setelah waktu saat ini.,
Stock Entry {0} created and ,Entri Saham {0} dibuat dan,
Inpatient Medication Orders updated successfully,Perintah Pengobatan Rawat Inap berhasil diperbarui,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Baris {0}: Tidak dapat membuat Entri Obat Rawat Inap terhadap Pesanan Obat Rawat Inap yang dibatalkan {1},
Row {0}: This Medication Order is already marked as completed,Baris {0}: Perintah Obat ini telah ditandai sebagai selesai,
Quantity not available for {0} in warehouse {1},Kuantitas tidak tersedia untuk {0} di gudang {1},
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Silakan aktifkan Izinkan Stok Negatif dalam Pengaturan Stok atau buat Entri Stok untuk melanjutkan.,
No Inpatient Record found against patient {0},Tidak ada Catatan Rawat Inap yang ditemukan terhadap pasien {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Perintah Pengobatan Rawat Inap {0} terhadap Pertemuan Pasien {1} sudah ada.,
Allow In Returns,Izinkan Pengembalian,
Hide Unavailable Items,Sembunyikan Item yang Tidak Tersedia,
Apply Discount on Discounted Rate,Terapkan Diskon untuk Tarif Diskon,
Therapy Plan Template,Template Rencana Terapi,
Fetching Template Details,Mengambil Detail Template,
Linked Item Details,Detail Item Tertaut,
Therapy Types,Jenis Terapi,
Therapy Plan Template Detail,Detail Template Rencana Terapi,
Non Conformance,Ketidaksesuaian,
Process Owner,Pemilik Proses,
Corrective Action,Tindakan perbaikan,
Preventive Action,Aksi Pencegahan,
Problem,Masalah,
Responsible,Bertanggung jawab,
Completion By,Penyelesaian Oleh,
Process Owner Full Name,Nama Lengkap Pemilik Proses,
Right Index,Indeks Kanan,
Left Index,Indeks Kiri,
Sub Procedure,Sub Prosedur,
Passed,Lulus,
Print Receipt,Cetak Kwitansi,
Edit Receipt,Edit Tanda Terima,
Focus on search input,Fokus pada input pencarian,
Focus on Item Group filter,Fokus pada filter Grup Item,
Checkout Order / Submit Order / New Order,Pesanan Checkout / Kirim Pesanan / Pesanan Baru,
Add Order Discount,Tambahkan Diskon Pesanan,
Item Code: {0} is not available under warehouse {1}.,Kode Barang: {0} tidak tersedia di gudang {1}.,
Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Nomor seri tidak tersedia untuk Item {0} di bawah gudang {1}. Silakan coba ganti gudang.,
Fetched only {0} available serial numbers.,Mengambil hanya {0} nomor seri yang tersedia.,
Switch Between Payment Modes,Beralih Antar Mode Pembayaran,
Enter {0} amount.,Masukkan {0} jumlah.,
You don't have enough points to redeem.,Anda tidak memiliki cukup poin untuk ditukarkan.,
You can redeem upto {0}.,Anda dapat menebus hingga {0}.,
Enter amount to be redeemed.,Masukkan jumlah yang akan ditebus.,
You cannot redeem more than {0}.,Anda tidak dapat menebus lebih dari {0}.,
Open Form View,Buka Tampilan Formulir,
POS invoice {0} created succesfully,Faktur POS {0} berhasil dibuat,
Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Kuantitas stok tidak cukup untuk Kode Barang: {0} di bawah gudang {1}. Kuantitas yang tersedia {2}.,
Serial No: {0} has already been transacted into another POS Invoice.,Nomor Seri: {0} sudah ditransaksikan menjadi Faktur POS lain.,
Balance Serial No,Balance Serial No,
Warehouse: {0} does not belong to {1},Gudang: {0} bukan milik {1},
Please select batches for batched item {0},Pilih kelompok untuk item kelompok {0},
Please select quantity on row {0},Pilih jumlah di baris {0},
Please enter serial numbers for serialized item {0},Silakan masukkan nomor seri untuk item serial {0},
Batch {0} already selected.,Kelompok {0} sudah dipilih.,
Please select a warehouse to get available quantities,Pilih gudang untuk mendapatkan jumlah yang tersedia,
"For transfer from source, selected quantity cannot be greater than available quantity","Untuk transfer dari sumber, kuantitas yang dipilih tidak boleh lebih besar dari kuantitas yang tersedia",
Cannot find Item with this Barcode,Tidak dapat menemukan Item dengan Barcode ini,
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} adalah wajib. Mungkin catatan Penukaran Mata Uang tidak dibuat untuk {1} hingga {2},
{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} telah mengirimkan aset yang terkait dengannya. Anda perlu membatalkan aset untuk membuat pengembalian pembelian.,
Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Tidak dapat membatalkan dokumen ini karena terkait dengan aset yang dikirim {0}. Harap batalkan untuk melanjutkan.,
Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: No. Seri {} telah ditransaksikan menjadi Faktur POS lain. Pilih nomor seri yang valid.,
Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: Nomor Seri. {} Telah ditransaksikan menjadi Faktur POS lain. Pilih nomor seri yang valid.,
Item Unavailable,Item Tidak Tersedia,
Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Baris # {}: Nomor Seri {} tidak dapat dikembalikan karena tidak ditransaksikan dalam faktur asli {},
Please set default Cash or Bank account in Mode of Payment {},Harap setel Rekening Tunai atau Bank default dalam Cara Pembayaran {},
Please set default Cash or Bank account in Mode of Payments {},Harap setel rekening Tunai atau Bank default dalam Mode Pembayaran {},
Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Harap pastikan akun {} adalah akun Neraca. Anda dapat mengubah akun induk menjadi akun Neraca atau memilih akun lain.,
Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Harap pastikan akun {} adalah akun Hutang. Ubah jenis akun menjadi Hutang atau pilih akun lain.,
Row {}: Expense Head changed to {} ,Baris {}: Expense Head diubah menjadi {},
because account {} is not linked to warehouse {} ,karena akun {} tidak ditautkan ke gudang {},
or it is not the default inventory account,atau bukan akun inventaris default,
Expense Head Changed,Expense Head Berubah,
because expense is booked against this account in Purchase Receipt {},karena biaya dibukukan ke akun ini di Tanda Terima Pembelian {},
as no Purchase Receipt is created against Item {}. ,karena tidak ada Tanda Terima Pembelian yang dibuat untuk Item {}.,
This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Ini dilakukan untuk menangani akuntansi untuk kasus-kasus ketika Tanda Terima Pembelian dibuat setelah Faktur Pembelian,
Purchase Order Required for item {},Pesanan Pembelian Diperlukan untuk item {},
To submit the invoice without purchase order please set {} ,"Untuk mengirimkan faktur tanpa pesanan pembelian, harap setel {}",
as {} in {},seperti dalam {},
Mandatory Purchase Order,Pesanan Pembelian Wajib,
Purchase Receipt Required for item {},Tanda Terima Pembelian Diperlukan untuk item {},
To submit the invoice without purchase receipt please set {} ,"Untuk mengirimkan faktur tanpa tanda terima pembelian, harap setel {}",
Mandatory Purchase Receipt,Kwitansi Pembelian Wajib,
POS Profile {} does not belongs to company {},Profil POS {} bukan milik perusahaan {},
User {} is disabled. Please select valid user/cashier,Pengguna {} dinonaktifkan. Pilih pengguna / kasir yang valid,
Row #{}: Original Invoice {} of return invoice {} is {}. ,Baris # {}: Faktur Asli {} dari faktur pengembalian {} adalah {}.,
Original invoice should be consolidated before or along with the return invoice.,Faktur asli harus digabungkan sebelum atau bersama dengan faktur kembali.,
You can add original invoice {} manually to proceed.,Anda bisa menambahkan faktur asli {} secara manual untuk melanjutkan.,
Please ensure {} account is a Balance Sheet account. ,Harap pastikan akun {} adalah akun Neraca.,
You can change the parent account to a Balance Sheet account or select a different account.,Anda dapat mengubah akun induk menjadi akun Neraca atau memilih akun lain.,
Please ensure {} account is a Receivable account. ,Harap pastikan akun {} adalah akun Piutang.,
Change the account type to Receivable or select a different account.,Ubah jenis akun menjadi Piutang atau pilih akun lain.,
{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} tidak dapat dibatalkan karena Poin Loyalitas yang diperoleh telah ditukarkan. Pertama batalkan {} Tidak {},
already exists,sudah ada,
POS Closing Entry {} against {} between selected period,Entri Penutupan POS {} terhadap {} antara periode yang dipilih,
POS Invoice is {},Faktur POS adalah {},
POS Profile doesn't matches {},Profil POS tidak cocok {},
POS Invoice is not {},Faktur POS bukan {},
POS Invoice isn't created by user {},Faktur POS tidak dibuat oleh pengguna {},
Row #{}: {},Baris # {}: {},
Invalid POS Invoices,Faktur POS tidak valid,
Please add the account to root level Company - {},Harap tambahkan akun ke Perusahaan tingkat akar - {},
"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Saat membuat akun untuk Perusahaan Anak {0}, akun induk {1} tidak ditemukan. Harap buat akun induk dengan COA yang sesuai",
Account Not Found,Akun tidak ditemukan,
"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Saat membuat akun untuk Perusahaan Anak {0}, akun induk {1} ditemukan sebagai akun buku besar.",
Please convert the parent account in corresponding child company to a group account.,Harap ubah akun induk di perusahaan anak yang sesuai menjadi akun grup.,
Invalid Parent Account,Akun Induk Tidak Valid,
"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Mengganti nama hanya diperbolehkan melalui perusahaan induk {0}, untuk menghindari ketidakcocokan.",
"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Jika Anda {0} {1} jumlah item {2}, skema {3} akan diterapkan pada item tersebut.",
"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Jika Anda {0} {1} item bernilai {2}, skema {3} akan diterapkan pada item tersebut.",
"As the field {0} is enabled, the field {1} is mandatory.","Saat bidang {0} diaktifkan, bidang {1} wajib diisi.",
"As the field {0} is enabled, the value of the field {1} should be more than 1.","Saat bidang {0} diaktifkan, nilai bidang {1} harus lebih dari 1.",
Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Tidak dapat mengirim Nomor Seri {0} item {1} karena dicadangkan untuk memenuhi Pesanan Penjualan {2},
"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Pesanan Penjualan {0} memiliki reservasi untuk item {1}, Anda hanya dapat mengirimkan reservasi {1} terhadap {0}.",
{0} Serial No {1} cannot be delivered,{0} Serial No {1} tidak dapat dikirim,
Row {0}: Subcontracted Item is mandatory for the raw material {1},Baris {0}: Item Subkontrak wajib untuk bahan mentah {1},
"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Karena ada bahan baku yang cukup, Permintaan Material tidak diperlukan untuk Gudang {0}.",
" If you still want to proceed, please enable {0}.","Jika Anda masih ingin melanjutkan, aktifkan {0}.",
The item referenced by {0} - {1} is already invoiced,Item yang direferensikan oleh {0} - {1} sudah ditagih,
Therapy Session overlaps with {0},Sesi Terapi tumpang tindih dengan {0},
Therapy Sessions Overlapping,Sesi Terapi Tumpang Tindih,
Therapy Plans,Rencana Terapi,
