"""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,
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 {0}","Karakter Khusus kecuali &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; Dan &quot;}}&quot; tidak diizinkan dalam rangkaian penamaan {0}",
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,
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,
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,
"Item Code, warehouse, quantity are required on row {0}","Kode Barang, gudang, kuantitas diperlukan di baris {0}",
Get Items from Material Requests against this Supplier,Dapatkan Item dari Permintaan Material terhadap Pemasok ini,
Enable European Access,Aktifkan Akses Eropa,
Creating Purchase Order ...,Membuat Pesanan Pembelian ...,
"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Pilih Pemasok dari Pemasok Default item di bawah ini. Saat dipilih, Pesanan Pembelian akan dibuat terhadap barang-barang milik Pemasok terpilih saja.",
Row #{}: You must select {} serial numbers for item {}.,Baris # {}: Anda harus memilih {} nomor seri untuk item {}.,
