 (Half Day), (Half Day)
 and year: , and year: 
""" does not exists","""Tidak ada"
%  Delivered,Disampaikan%
% Amount Billed,% Jumlah Ditagih
% Billed,Ditagih%
% Completed,Selesai%
% Delivered,Disampaikan%
% Installed,% Terpasang
% Received,% Diterima
% of materials billed against this Purchase Order.,% Bahan ditagih terhadap Purchase Order ini.
% of materials billed against this Sales Order,% Bahan ditagih terhadap Sales Order ini
% of materials delivered against this Delivery Note,% Dari materi yang disampaikan terhadap Pengiriman ini Note
% of materials delivered against this Sales Order,% Dari materi yang disampaikan terhadap Sales Order ini
% of materials ordered against this Material Request,% Bahan memerintahkan terhadap Permintaan Material ini
% of materials received against this Purchase Order,% Dari bahan yang diterima terhadap Purchase Order ini
'Actual Start Date' can not be greater than 'Actual End Date','Sebenarnya Tanggal Mulai' tidak dapat lebih besar dari 'Aktual Tanggal End'
'Based On' and 'Group By' can not be same,'Berdasarkan' dan 'Group By' tidak bisa sama
'Days Since Last Order' must be greater than or equal to zero,'Hari Sejak Orde terakhir' harus lebih besar dari atau sama dengan nol
'Entries' cannot be empty,'Entries' tidak boleh kosong
'Expected Start Date' can not be greater than 'Expected End Date',"""Diharapkan Tanggal Mulai 'tidak dapat lebih besar dari' Diharapkan Tanggal End '"
'From Date' is required,'Dari Tanggal' diperlukan
'From Date' must be after 'To Date','Dari Tanggal' harus setelah 'To Date'
'Has Serial No' can not be 'Yes' for non-stock item,"""Apakah ada Serial 'tidak bisa' Ya 'untuk item non-saham"
'Notification Email Addresses' not specified for recurring invoice,'Pemberitahuan Email Addresses' tidak ditentukan untuk berulang faktur
'Profit and Loss' type account {0} not allowed in Opening Entry,'Laba Rugi' jenis account {0} tidak diperbolehkan dalam Pembukaan Entri
'To Case No.' cannot be less than 'From Case No.','Untuk Kasus No' tidak bisa kurang dari 'Dari Kasus No'
'To Date' is required,'To Date' diperlukan
'Update Stock' for Sales Invoice {0} must be set,'Update Stock' untuk Sales Invoice {0} harus diatur
* Will be calculated in the transaction.,* Akan dihitung dalam transaksi.
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,1 Currency = [?] Fraksi  Untuk misalnya 1 USD = 100 Cent
1. To maintain the customer wise item code and to make them searchable based on their code use this option,1.5. Untuk menjaga pelanggan bijaksana kode barang dan membuat mereka dicari berdasarkan penggunaan kode mereka pilihan ini
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer Group""> Add / Edit </ a>"
"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item Group""> Add / Edit </ a>"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> Tambah / Edit </ a>"
"<h4>Default Template</h4><p>Uses <a href=""http://jinja.pocoo.org/docs/templates/"">Jinja Templating</a> and all the fields of Address (including Custom Fields if any) will be available</p><pre><code>{{ address_line1 }}&lt;br&gt;{% if address_line2 %}{{ address_line2 }}&lt;br&gt;{% endif -%}{{ city }}&lt;br&gt;{% if state %}{{ state }}&lt;br&gt;{% endif -%}{% if pincode %} PIN:  {{ pincode }}&lt;br&gt;{% endif -%}{{ country }}&lt;br&gt;{% if phone %}Phone: {{ phone }}&lt;br&gt;{% endif -%}{% if fax %}Fax: {{ fax }}&lt;br&gt;{% endif -%}{% if email_id %}Email: {{ email_id }}&lt;br&gt;{% endif -%}</code></pre>","<h4> default Template </ h4>  <p> Menggunakan <a href=""http://jinja.pocoo.org/docs/templates/""> Jinja template </ a> dan semua bidang Address ( termasuk Custom Fields jika ada) akan tersedia </ p>  <pre> <code> {{}} address_line1 <br>  {% jika% address_line2} {{}} address_line2 <br> { endif% -%}  {{kota}} <br>  {% jika negara%} {{negara}} <br> {% endif -%}  {% jika pincode%} PIN: {{}} pincode <br> {% endif -%}  {{negara}} <br>  {% jika telepon%} Telepon: {{ponsel}} {<br> endif% -%}  {% jika faks%} Fax: {{}} fax <br> {% endif -%}  {% jika email_id%} Email: {{}} email_id <br> ; {% endif -%}  </ code> </ pre>"
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Kelompok Pelanggan sudah ada dengan nama yang sama, silakan mengubah nama Pelanggan atau mengubah nama Grup Pelanggan"
A Customer exists with same name,Nasabah ada dengan nama yang sama
A Lead with this email id should exist,Sebuah Lead dengan id email ini harus ada
A Product or Service,Produk atau Jasa
A Supplier exists with same name,Pemasok dengan nama yang sama sudah ada
A symbol for this currency. For e.g. $,Simbol untuk mata uang ini. Contoh $
AMC Expiry Date,AMC Tanggal Berakhir
Abbr,Singkatan
Abbreviation cannot have more than 5 characters,Singkatan tidak dapat melebihi 5 karakter
Above Value,Nilai di atas
Absent,Absen
Acceptance Criteria,Kriteria Penerimaan
Accepted,Diterima
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Jumlah Diterima + Ditolak harus sama dengan jumlah yang diterima untuk Item {0}
Accepted Quantity,Kuantitas Diterima
Accepted Warehouse,Gudang Diterima
Account,Akun
Account Balance,Saldo Rekening
Account Created: {0},Akun Dibuat: {0}
Account Details,Rincian Account
Account Head,Akun Kepala
Account Name,Nama Akun
Account Type,Jenis Account
"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 for the warehouse (Perpetual Inventory) will be created under this Account.,Akun untuk gudang (Inventaris Perpetual) akan dibuat di bawah Rekening ini.
Account head {0} created,Kepala akun {0} telah dibuat
Account must be a balance sheet account,Akun harus menjadi akun neraca
Account with child nodes cannot be converted to ledger,Akun dengan node anak tidak dapat dikonversi ke 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} cannot be a Group,Akun {0} tidak dapat menjadi akun Grup
Account {0} does not belong to Company {1},Akun {0} bukan milik Perusahaan {1}
Account {0} does not belong to company: {1},Akun {0} bukan milik perusahaan: {1}
Account {0} does not exist,Akun {0} tidak ada
Account {0} has been entered more than once for fiscal year {1},Akun {0} telah dimasukkan lebih dari sekali untuk tahun fiskal {1}
Account {0} is frozen,Akun {0} dibekukan
Account {0} is inactive,Akun {0} tidak aktif
Account {0} is not valid,Akun {0} tidak valid
Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item,Akun {0} harus bertipe 'Aset Tetap' dikarenakan Barang {1} adalah merupakan sebuah Aset Tetap
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,Account: {0} hanya dapat diperbarui melalui \ Transaksi Stok
Accountant,Akuntan
Accounting,Akuntansi
"Accounting Entries can be made against leaf nodes, called","Entri Akuntansi dapat dilakukan terhadap node daun, yang disebut"
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Pencatatan Akuntansi telah dibekukan sampai tanggal ini, tidak seorang pun yang bisa melakukan / memodifikasi pencatatan kecuali peran yang telah ditentukan di bawah ini."
Accounting journal entries.,Pencatatan Jurnal akuntansi.
Accounts,Akun / Rekening
Accounts Browser,Pencarian Akun
Accounts Frozen Upto,Akun dibekukan sampai dengan
Accounts Payable,Hutang
Accounts Receivable,Piutang
Accounts Settings,Pengaturan Akun
Active,Aktif
Active: Will extract emails from ,Aktif: Akan mengambil email dari
Activity,Aktivitas
Activity Log,Log Aktivitas
Activity Log:,Log Aktivitas:
Activity Type,Jenis Kegiatan
Actual,Aktual
Actual Budget,Anggaran Aktual
Actual Completion Date,Tanggal Penyelesaian Aktual
Actual Date,Tanggal Aktual
Actual End Date,Tanggal Akhir Aktual
Actual Invoice Date,Tanggal Faktur Aktual
Actual Posting Date,Tanggal Posting Aktual
Actual Qty,Jumlah Aktual
Actual Qty (at source/target),Jumlah Aktual (di sumber/target)
Actual Qty After Transaction,Jumlah Aktual Setelah Transaksi
Actual Qty: Quantity available in the warehouse.,Jumlah Aktual: Kuantitas yang tersedia di gudang.
Actual Quantity,Kuantitas Aktual
Actual Start Date,Tanggal Mulai Aktual
Add,Tambahkan
Add / Edit Taxes and Charges,Tambah / Edit Pajak dan Biaya
Add Child,Tambah Anak
Add Serial No,Tambahkan Nomor Serial
Add Taxes,Tambahkan Pajak
Add Taxes and Charges,Tambahkan Pajak dan Biaya
Add or Deduct,Penambahan atau Pengurangan
Add rows to set annual budgets on Accounts.,Tambahkan baris untuk mengatur akun anggaran tahunan.
Add to Cart,Tambahkan ke Keranjang Belanja
Add to calendar on this date,Tambahkan ke kalender pada tanggal ini
Add/Remove Recipients,Tambah / Hapus Penerima
Address,Alamat
Address & Contact,Alamat & Kontak
Address & Contacts,Alamat & Kontak
Address Desc,Deskripsi Alamat 
Address Details,Alamat Detail
Address HTML,Alamat HTML
Address Line 1,Alamat Baris 1
Address Line 2,Alamat Baris 2
Address Template,Template Alamat
Address Title,Judul Alamat
Address Title is mandatory.,Wajib masukan Judul Alamat.
Address Type,Tipe Alamat
Address master.,Alamat utama.
Administrative Expenses,Beban Administrasi
Administrative Officer,Petugas Administrasi
Advance Amount,Jumlah Uang Muka
Advance amount,Jumlah muka
Advances,Uang Muka
Advertisement,iklan
Advertising,Periklanan
Aerospace,Aerospace
After Sale Installations,Pemasangan setelah Penjualan
Against,Terhadap
Against Account,Terhadap Akun
Against Bill {0} dated {1},Terhadap Bill {0} tanggal {1}
Against Docname,Terhadap Docname
Against Doctype,Terhadap Doctype
Against Document Detail No,Terhadap Detail Dokumen No.
Against Document No,Terhadap Dokumen No.
Against Expense Account,Terhadap Akun Biaya
Against Income Account,Terhadap Akun Pendapatan
Against Journal Voucher,Terhadap Voucher Journal
Against Journal Voucher {0} does not have any unmatched {1} entry,Terhadap Journal Voucher {0} tidak memiliki {1} perbedaan pencatatan
Against Purchase Invoice,Terhadap Faktur Pembelian
Against Sales Invoice,Terhadap Faktur Penjualan
Against Sales Order,Terhadap Order Penjualan
Against Voucher,Terhadap Voucher
Against Voucher Type,Terhadap Tipe Voucher
Ageing Based On,Umur Berdasarkan
Ageing Date is mandatory for opening entry,Periodisasi Tanggal adalah wajib untuk membuka entri
Ageing date is mandatory for opening entry,Penuaan saat ini adalah wajib untuk membuka entri
Agent,Agen
Aging Date,Penuaan Tanggal
Aging Date is mandatory for opening entry,Penuaan Tanggal adalah wajib untuk membuka entri
Agriculture,Pertanian
Airline,Maskapai Penerbangan
All Addresses.,Semua Alamat
All Contact,Semua Kontak
All Contacts.,Semua Kontak.
All Customer Contact,Semua Kontak Pelanggan
All Customer Groups,Semua Grup Pelanggan
All Day,Semua Hari
All Employee (Active),Semua Karyawan (Aktif)
All Item Groups,Semua Grup Barang/Item
All Lead (Open),Semua Prospektus (Open)
All Products or Services.,Semua Produk atau Jasa.
All Sales Partner Contact,Kontak Semua Partner Penjualan
All Sales Person,Semua Salesmen
All Supplier Contact,Kontak semua pemasok
All Supplier Types,Semua Jenis pemasok
All Territories,Semua Wilayah
"All export related fields like currency, conversion rate, export total, export grand total etc are available in Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Semua data berkaitan dengan ekspor seperti mata uang, nilai tukar, total ekspor, nilai total ekspor dll. terdapat di Nota Pengiriman, POS, Penawaran Quotation, Fatkur Penjualan, Order Penjualan, dll."
"All import related fields like currency, conversion rate, import total, import grand total etc are available in Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Semua data berkaitan dengan impor seperti mata uang, nilai tukar, total ekspor, nilai total ekspor dll. terdapat di Nota Pengiriman, POS, Penawaran Quotation, Fatkur Penjualan, Order Penjualan, dll."
All items have already been invoiced,Semua Barang telah tertagih
All these items have already been invoiced,Semua barang-barang tersebut telah ditagih
Allocate,Alokasi
Allocate leaves for a period.,Alokasi cuti untuk periode tertentu
Allocate leaves for the year.,Alokasi cuti untuk tahunan.
Allocated Amount,Jumlah alokasi
Allocated Budget,Alokasi Anggaran
Allocated amount,Jumlah yang dialokasikan
Allocated amount can not be negative,Jumlah yang dialokasikan tidak dijinkan negatif
Allocated amount can not greater than unadusted amount,Jumlah yang dialokasikan tidak boleh lebih besar dari sisa jumlah 
Allow Bill of Materials,Izinkan untuk Bill of Material
Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item,Izinkan untuk Bill of Material harus 'Ya'. karena ada satu atau lebih BOM aktif untuk item barang ini.
Allow Children,Izinkan Anak Akun
Allow Dropbox Access,Izinkan Akses Dropbox
Allow Google Drive Access,Izinkan Akses Google Drive
Allow Negative Balance,Izinkan Saldo Negatif
Allow Negative Stock,Izinkan Bursa Negatif
Allow Production Order,Izinkan Pesanan Produksi
Allow User,Izinkan Pengguna
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).
Allow user to edit Price List Rate in transactions,Izinkan user/pengguna untuk mengubah rate daftar harga di dalam transaksi
Allowance Percent,Penyisihan Persen
Allowance for over-{0} crossed for Item {1},Penyisihan over-{0} menyeberang untuk Item {1}
Allowance for over-{0} crossed for Item {1}.,Penyisihan over-{0} menyeberang untuk Item {1}.
Allowed Role to Edit Entries Before Frozen Date,Diizinkan Peran ke Sunting Entri Sebelum Frozen Tanggal
Amended From,Diubah Dari
Amount,Jumlah
Amount (Company Currency),Jumlah (Perusahaan Mata Uang)
Amount Paid,Jumlah Dibayar
Amount to Bill,Sebesar Bill
An Customer exists with same name,Sebuah Pelanggan ada dengan nama yang sama
"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 barang"
"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 barang atau mengubah nama item"
Analyst,Analis
Annual,Tahunan
Another Period Closing Entry {0} has been made after {1},Lain Periode Pendaftaran penutupan {0} telah dibuat setelah {1}
Another Salary Structure {0} is active for employee {0}. Please make its status 'Inactive' to proceed.,Struktur Gaji lain {0} aktif untuk karyawan {0}. Silakan membuat status 'aktif' untuk melanjutkan.
"Any other comments, noteworthy effort that should go in the records.","Ada komentar lain, upaya penting yang harus pergi dalam catatan."
Apparel & Accessories,Pakaian & Aksesoris
Applicability,Penerapan
Applicable For,Berlaku Untuk
Applicable Holiday List,Daftar hari libur yang berlaku
Applicable Territory,Wilayah yang berlaku
Applicable To (Designation),Berlaku Untuk (Penunjukan)
Applicable To (Employee),Berlaku Untuk (Karyawan)
Applicable To (Role),Berlaku Untuk (Peran)
Applicable To (User),Berlaku Untuk (User)
Applicant Name,Nama Pemohon
Applicant for a Job.,Pemohon untuk pekerjaan.
Application of Funds (Assets),Penerapan Dana (Aset)
Applications for leave.,Aplikasi untuk cuti.
Applies to Company,Berlaku untuk Perusahaan
Apply On,Terapkan Pada
Appraisal,Penilaian
Appraisal Goal,Penilaian Pencapaian
Appraisal Goals,Penilaian Pencapaian
Appraisal Template,Template Penilaian
Appraisal Template Goal,Template Penilaian Pencapaian
Appraisal Template Title,Judul Template Penilaian
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,Status Persetujuan
Approval Status must be 'Approved' or 'Rejected',Status Persetujuan harus 'Disetujui' atau 'Ditolak'
Approved,Disetujui
Approver,Approver
Approving Role,Menyetujui Peran
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,Menyetujui Pengguna
Approving User cannot be same as user the rule is Applicable To,Menyetujui Pengguna tidak bisa sama dengan pengguna aturan yang Berlaku Untuk
Are you sure you want to STOP ,Apakah anda yakin untuk berhenti
Are you sure you want to UNSTOP ,Apakah anda yakin untuk batal berhenti
Arrear Amount,Jumlah tunggakan
"As Production Order can be made for this item, it must be a stock item.","Seperti Orde Produksi dapat dibuat untuk item ini, itu harus menjadi barang saham."
As per Stock UOM,Per Saham UOM
"As there are existing stock transactions for this item, you can not change the values of 'Has Serial No', 'Is Stock Item' and 'Valuation Method'","Karena ada transaksi saham yang ada untuk item ini, Anda tidak dapat mengubah nilai-nilai 'Memiliki Serial No', 'Apakah Stock Barang' dan 'Metode Penilaian'"
Asset,Aset
Assistant,Asisten
Associate,Rekan
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 Image,Pasang Gambar
Attach Letterhead,Lampirkan Surat
Attach Logo,Pasang Logo
Attach Your Picture,Pasang Gambar Anda
Attendance,Kehadiran
Attendance Date,Tanggal Kehadiran
Attendance Details,Rincian Kehadiran
Attendance From Date,Kehadiran Dari Tanggal
Attendance From Date and Attendance To Date is mandatory,Kehadiran Dari Tanggal dan Kehadiran Sampai Tanggal adalah wajib
Attendance To Date,Kehadiran Sampai Tanggal
Attendance can not be marked for future dates,Kehadiran tidak dapat ditandai untuk tanggal masa depan
Attendance for employee {0} is already marked,Kehadiran bagi karyawan {0} sudah ditandai
Attendance record.,Catatan kehadiran.
Authorization Control,Pengendalian Otorisasi
Authorization Rule,Regulasi Autorisasi
Auto Accounting For Stock Settings,Akuntansi Otomatis Untuk Stock Pengaturan
Auto Material Request,Permintaan Material Otomatis
Auto-raise Material Request if quantity goes below re-order level in a warehouse,Naikan secara otomatis Permintaan Material jika kuantitas berjalan di bawah tingkat pemesanan ulang di gudang
Automatically compose message on submission of transactions.,Secara otomatis menulis pesan pada pengajuan transaksi.
Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box 
Automatically extract Leads from a mail box e.g.,Secara otomatis mengekstrak Memimpin dari kotak surat misalnya
Automatically updated via Stock Entry of type Manufacture/Repack,Secara otomatis diperbarui melalui Bursa Masuknya jenis Industri / Repack
Automotive,Otomotif
Autoreply when a new mail is received,Jawab otomatis ketika email baru diterima
Available,Tersedia
Available Qty at Warehouse,Jumlah Tersedia di Gudang
Available Stock for Packing Items,Tersedia Stock untuk Packing Produk
"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Tersedia dalam BOM, Pengiriman Catatan, Purchase Invoice, Pesanan Produksi, Purchase Order, Penerimaan Pembelian, Faktur Penjualan, Sales Order, Stock Masuk, Timesheet"
Average Age,Rata-rata Usia
Average Commission Rate,Rata-rata Komisi Tingkat
Average Discount,Rata-rata Diskon
Awesome Products,Produk Mengagumkan
Awesome Services,Layanan mengagumkan
BOM Detail No,No. Rincian BOM
BOM Explosion Item,BOM Ledakan Barang
BOM Item,Komponen BOM
BOM No,No. BOM
BOM No. for a Finished Good Item,No. BOM untuk Barang Jadi
BOM Operation,BOM Operation
BOM Operations,BOM Operations
BOM Replace Tool,BOM Replace Tool
BOM number is required for manufactured Item {0} in row {1},Nomor BOM diperlukan untuk Barang Produksi {0} berturut-turut {1}
BOM number not allowed for non-manufactured Item {0} in row {1},Nomor BOM tidak diperbolehkan untuk Barang non-manufaktur {0} berturut-turut {1}
BOM recursion: {0} cannot be parent or child of {2},BOM recursion: {0} tidak bisa menjadi induk atau cabang dari {2}
BOM replaced,BOM diganti
BOM {0} for Item {1} in row {2} is inactive or not submitted,BOM {0} untuk Item {1} berturut-turut {2} tidak aktif atau tidak tersubmit
BOM {0} is not active or not submitted,BOM {0} tidak aktif atau tidak tersubmit
BOM {0} is not submitted or inactive BOM for Item {1},BOM {0} tidak tersubmit atau BOM tidak aktif untuk Item {1}
Backup Manager,Backup Manager
Backup Right Now,Backup Sekarang Juga
Backups will be uploaded to,Backup akan di-upload ke
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}
Balance must be,Saldo harus
"Balances of Accounts of type ""Bank"" or ""Cash""","Saldo Rekening jenis ""Bank"" atau ""Cash"""
Bank,Bank
Bank / Cash Account,Bank / Rekening Kas
Bank A/C No.,Rekening Bank No.
Bank Account,Bank Account/Rekening Bank
Bank Account No.,Rekening Bank No
Bank Accounts,Rekening Bank
Bank Clearance Summary,Izin Bank Summary
Bank Draft,Bank Draft
Bank Name,Nama Bank
Bank Overdraft Account,Cerukan Bank Akun
Bank Reconciliation,Rekonsiliasi Bank
Bank Reconciliation Detail,Rincian Rekonsiliasi Bank
Bank Reconciliation Statement,Pernyataan Rekonsiliasi Bank
Bank Voucher,Bank Voucher
Bank/Cash Balance,Bank / Cash Balance
Banking,Perbankan
Barcode,barcode
Barcode {0} already used in Item {1},Barcode {0} sudah digunakan dalam Butir {1}
Based On,Berdasarkan
Basic,Dasar
Basic Info,Info Dasar
Basic Information,Informasi Dasar
Basic Rate,Harga Dasar
Basic Rate (Company Currency),Harga Dasar (Dalam Mata Uang Lokal)
Batch,Batch
Batch (lot) of an Item.,Batch (banyak) dari Item.
Batch Finished Date,Batch Selesai Tanggal
Batch ID,Batch ID
Batch No,No. Batch
Batch Started Date,Batch Dimulai Tanggal
Batch Time Logs for billing.,Batch Sisa log untuk penagihan.
Batch-Wise Balance History,Batch-Wise Balance Sejarah
Batched for Billing,Batched untuk Billing
Better Prospects,Prospek yang lebih baik
Bill Date,Bill Tanggal
Bill No,Bill ada
Bill No {0} already booked in Purchase Invoice {1},Bill ada {0} sudah memesan di Purchase Invoice {1}
Bill of Material,Bill of Material
Bill of Material to be considered for manufacturing,Bill of Material untuk dipertimbangkan untuk manufaktur
Bill of Materials (BOM),Bill of Material (BOM)
Billable,Dapat ditagih
Billed,Ditagih
Billed Amount,Jumlah Tagihan
Billed Amt,Jumlah tagihan
Billing,Penagihan
Billing Address,Alamat Penagihan
Billing Address Name,Nama Alamat Penagihan
Billing Status,Status Penagihan
Bills raised by Suppliers.,Bills diajukan oleh Pemasok.
Bills raised to Customers.,Bills diajukan ke Pelanggan.
Bin,Tong Sampah
Bio,Bio
Biotechnology,Bioteknologi
Birthday,Ulang tahun
Block Date,Blokir Tanggal
Block Days,Blokir Hari
Block leave applications by department.,Memblokir aplikasi cuti berdasarkan departemen.
Blog Post,Posting Blog
Blog Subscriber,Blog Subscriber
Blood Group,Golongan darah
Both Warehouse must belong to same Company,Kedua Gudang harus merupakan gudang dari Perusahaan yang sama
Box,Kotak
Branch,Cabang
Brand,Merek
Brand Name,Merek Nama
Brand master.,Master merek.
Brands,Merek
Breakdown,Rincian
Broadcasting,Penyiaran
Brokerage,Memperantarai
Budget,Anggaran belanja
Budget Allocated,Anggaran Dialokasikan
Budget Detail,Rincian Anggaran
Budget Details,Rincian-rincian Anggaran
Budget Distribution,Distribusi anggaran
Budget Distribution Detail,Rincian Distribusi Anggaran
Budget Distribution Details,Rincian-rincian Distribusi Anggaran
Budget Variance Report,Laporan Perbedaan Anggaran
Budget cannot be set for Group Cost Centers,Anggaran tidak dapat ditetapkan untuk Cost Centernya Grup
Build Report,Buat Laporan
Bundle items at time of sale.,Bundel item pada saat penjualan.
Business Development Manager,Business Development Manager
Buying,Pembelian
Buying & Selling,Pembelian & Penjualan
Buying Amount,Jumlah Pembelian
Buying Settings,Setting Pembelian
"Buying must be checked, if Applicable For is selected as {0}","Membeli harus dicentang, jika ""Berlaku Untuk"" dipilih sebagai {0}"
C-Form,C-Form
C-Form Applicable,C-Form Berlaku
C-Form Invoice Detail,C-Form Faktur Detil
C-Form No,C-Form ada
C-Form records,C-Form catatan
CENVAT Capital Goods,Cenvat Barang Modal
CENVAT Edu Cess,Cenvat Edu Cess
CENVAT SHE Cess,Cenvat SHE Cess
CENVAT Service Tax,Pelayanan Pajak Cenvat
CENVAT Service Tax Cess 1,Cenvat Pelayanan Pajak Cess 1
CENVAT Service Tax Cess 2,Cenvat Pelayanan Pajak Cess 2
Calculate Based On,Hitung Berbasis On
Calculate Total Score,Hitung Total Skor
Calendar Events,Acara
Call,Panggilan
Calls,Panggilan
Campaign,Promosi
Campaign Name,Nama Promosi
Campaign Name is required,Nama Promosi diperlukan
Campaign Naming By,Penamaan Promosi dengan
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 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'
Cancel Material Visit {0} before cancelling this Customer Issue,Batalkan Kunjungan {0} sebelum membatalkan Keluhan Pelanggan
Cancel Material Visits {0} before cancelling this Maintenance Visit,Batal Kunjungan Material {0} sebelum membatalkan ini Maintenance Visit
Cancelled,Dibatalkan
Cancelling this Stock Reconciliation will nullify its effect.,Membatalkan ini Stock Rekonsiliasi akan meniadakan efeknya.
Cannot Cancel Opportunity as Quotation Exists,Tidak bisa Batal Peluang sebagai Quotation Exists
Cannot approve leave as you are not authorized to approve leaves on Block Dates,Tidak dapat menyetujui cuti karena Anda tidak berwenang untuk menyetujui daun di Blok Dates
Cannot cancel because Employee {0} is already approved for {1},Tidak dapat membatalkan karena Employee {0} sudah disetujui untuk {1}
Cannot cancel because submitted Stock Entry {0} exists,Tidak bisa membatalkan karena disampaikan Stock entri {0} ada
Cannot carry forward {0},Tidak bisa meneruskan {0}
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 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 convert Cost Center to ledger as it has child nodes,Tidak dapat mengkonversi Biaya Center untuk buku karena memiliki node anak
Cannot covert to Group because Master Type or Account Type is selected.,Tidak dapat mengkonversi ke Grup karena Guru Ketik atau Rekening Type dipilih.
Cannot deactive or cancle BOM as it is linked with other BOMs,Tidak dapat deactive atau cancle BOM seperti yang dihubungkan dengan BOMs lain
"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 delete Serial No {0} in stock. First remove from stock, then delete.","Tidak dapat menghapus Serial ada {0} di saham. Pertama menghapus dari saham, kemudian hapus."
"Cannot directly set amount. For 'Actual' charge type, use the rate field","Tidak bisa langsung menetapkan jumlah. Untuk 'sebenarnya' jenis biaya, menggunakan kolom tingkat"
"Cannot overbill for Item {0} in row {0} more than {1}. To allow overbilling, please set in Stock Settings","Tidak bisa overbill untuk Item {0} di baris {0} lebih dari {1}. Untuk memungkinkan mark up, atur di Bursa Settings"
Cannot produce more Item {0} than Sales Order quantity {1},Tidak dapat menghasilkan lebih Barang {0} daripada kuantitas Sales Order {1}
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 return more than {0} for Item {1},Tidak dapat kembali lebih dari {0} untuk Item {1}
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 pertama
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for valuation. You can select only 'Total' option for previous row amount or previous row total,Tidak bisa memilih jenis biaya sebagai 'Pada Row Sebelumnya Jumlah' atau 'On Sebelumnya Row Jumlah' untuk penilaian. Anda dapat memilih hanya 'Jumlah' pilihan untuk jumlah baris sebelumnya atau total baris sebelumnya
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}
Capacity,kapasitas
Capacity Units,Unit Kapasitas
Capital Account,Transaksi Modal
Capital Equipments,Peralatan Modal
Carry Forward,Carry Teruskan
Carry Forwarded Leaves,Carry Leaves Diteruskan
Case No(s) already in use. Try from Case No {0},Kasus ada (s) sudah digunakan. Coba dari Case ada {0}
Case No. cannot be 0,Kasus No tidak bisa 0
Cash,kas
Cash In Hand,Cash In Hand
Cash Voucher,Voucher Cash
Cash or Bank Account is mandatory for making payment entry,Kas atau Rekening Bank wajib untuk membuat entri pembayaran
Cash/Bank Account,Rekening Kas / Bank
Casual Leave,Santai Cuti
Cell Number,Nomor Cell
Change UOM for an Item.,Mengubah UOM untuk Item.
Change the starting / current sequence number of an existing series.,Mengubah mulai / nomor urut saat ini dari seri yang ada.
Channel Partner,Mitra Channel
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
Chargeable,Dibebankan
Charity and Donations,Amal dan Sumbangan
Chart Name,Bagan Nama
Chart of Accounts,Chart of Account
Chart of Cost Centers,Bagan Pusat Biaya
Check how the newsletter looks in an email by sending it to your email.,Periksa bagaimana newsletter terlihat dalam email dengan mengirimkannya ke email Anda.
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Periksa apakah berulang faktur, hapus centang untuk menghentikan berulang atau menempatkan tepat Tanggal Akhir"
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Periksa apakah Anda memerlukan faktur berulang otomatis. Setelah mengirimkan setiap faktur penjualan, bagian Berulang akan terlihat."
Check if you want to send salary slip in mail to each employee while submitting salary slip,Periksa apakah Anda ingin mengirim Slip gaji mail ke setiap karyawan saat mengirimkan Slip gaji
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.
Check this if you want to show in website,Periksa ini jika Anda ingin menunjukkan di website
Check this to disallow fractions. (for Nos),Centang untuk melarang fraksi. (Untuk Nos)
Check this to pull emails from your mailbox,Periksa ini untuk menarik email dari kotak surat Anda
Check to activate,Periksa untuk mengaktifkan
Check to make Shipping Address,Periksa untuk memastikan Alamat Pengiriman
Check to make primary address,Periksa untuk memastikan alamat utama
Chemical,Kimia
Cheque,Cek
Cheque Date,Cek Tanggal
Cheque Number,Nomor Cek
Child account exists for this account. You can not delete this account.,Akun anak ada untuk akun ini. Anda tidak dapat menghapus akun ini.
City,Kota
City/Town,Kota / Kota
Claim Amount,Klaim Jumlah
Claims for company expense.,Klaim untuk biaya perusahaan.
Class / Percentage,Kelas / Persentase
Classic,Klasik
Clear Table,Jelas Table
Clearance Date,Izin Tanggal
Clearance Date not mentioned,Izin Tanggal tidak disebutkan
Clearance date cannot be before check date in row {0},Tanggal clearance tidak bisa sebelum tanggal check-in baris {0}
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,Klik 'Buat Sales Invoice' tombol untuk membuat Faktur Penjualan baru.
Click on a link to get options to expand get options ,Click on a link to get options to expand get options 
Client,Client (Nasabah)
Close Balance Sheet and book Profit or Loss.,Tutup Neraca dan Perhitungan Laba Rugi atau buku.
Closed,Tertutup
Closing (Cr),Penutup (Cr)
Closing (Dr),Penutup (Dr)
Closing Account Head,Menutup Akun Kepala
Closing Account {0} must be of type 'Liability',Menutup Akun {0} harus bertipe 'Kewajiban'
Closing Date,Closing Date
Closing Fiscal Year,Penutup Tahun Anggaran
Closing Qty,Penutup Qty
Closing Value,Penutup Nilai
CoA Help,CoA Bantuan
Code,Kode
Cold Calling,Calling Dingin
Color,Warna
Column Break,Kolom Istirahat
Comma separated list of email addresses,Koma daftar alamat email dipisahkan
Comment,Komentar
Comments,Komentar
Commercial,Komersial
Commission,Komisi
Commission Rate,Komisi Tingkat
Commission Rate (%),Komisi Rate (%)
Commission on Sales,Komisi Penjualan
Commission rate cannot be greater than 100,Tingkat komisi tidak dapat lebih besar dari 100
Communication,Komunikasi
Communication HTML,Komunikasi HTML
Communication History,Sejarah Komunikasi
Communication log.,Log komunikasi.
Communications,Komunikasi
Company,Perusahaan
Company (not Customer or Supplier) master.,Perusahaan (tidak Pelanggan atau Pemasok) Master.
Company Abbreviation,Singkatan Perusahaan
Company Details,Detail Perusahaan
Company Email,Perusahaan Email
"Company Email ID not found, hence mail not sent","Perusahaan Email ID tidak ditemukan, maka surat tidak terkirim"
Company Info,Info Perusahaan
Company Name,Company Name
Company Settings,Pengaturan Perusahaan
Company is missing in warehouses {0},Perusahaan hilang di gudang {0}
Company is required,Perusahaan diwajibkan
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,Nomor registrasi perusahaan untuk referensi Anda. Contoh: Pendaftaran PPN Nomor dll
Company registration numbers for your reference. Tax numbers etc.,Nomor registrasi perusahaan untuk referensi Anda. Nomor pajak dll
"Company, Month and Fiscal Year is mandatory","Perusahaan, Bulan dan Tahun Anggaran adalah wajib"
Compensatory Off,Kompensasi Off
Complete,Selesai
Complete Setup,Pengaturan Lengkap
Completed,Selesai
Completed Production Orders,Pesanan Produksi Selesai
Completed Qty,Selesai Qty
Completion Date,Tanggal Penyelesaian
Completion Status,Status Penyelesaian
Computer,Komputer
Computers,Komputer
Confirmation Date,Konfirmasi Tanggal
Confirmed orders from Customers.,Dikonfirmasi pesanan dari pelanggan.
Consider Tax or Charge for,Pertimbangkan Pajak atau Biaya untuk
Considered as Opening Balance,Dianggap sebagai Membuka Balance
Considered as an Opening Balance,Dianggap sebagai Saldo Pembukaan
Consultant,Konsultan
Consulting,Konsultasi
Consumable,Consumable
Consumable Cost,Biaya Consumable
Consumable cost per hour,Biaya konsumsi per jam
Consumed Qty,Dikonsumsi Qty
Consumer Products,Produk Konsumen
Contact,Kontak
Contact Control,Kontak Kontrol
Contact Desc,Contact Info
Contact Details,Kontak Detail
Contact Email,Email Kontak
Contact HTML,Hubungi HTML
Contact Info,Informasi Kontak
Contact Mobile No,Kontak Mobile No
Contact Name,Nama Kontak
Contact No.,Hubungi Nomor
Contact Person,Contact Person
Contact Type,Hubungi Type
Contact master.,Kontak utama.
Contacts,Kontak
Content,Isi Halaman
Content Type,Content Type
Contra Voucher,Contra Voucher
Contract,Kontrak
Contract End Date,Tanggal Kontrak End
Contract End Date must be greater than Date of Joining,Kontrak Tanggal Akhir harus lebih besar dari Tanggal Bergabung
Contribution (%),Kontribusi (%)
Contribution to Net Total,Kontribusi terhadap Net Jumlah
Conversion Factor,Faktor konversi
Conversion Factor is required,Faktor konversi diperlukan
Conversion factor cannot be in fractions,Faktor konversi tidak dapat di fraksi
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 into Recurring Invoice,Mengkonversi menjadi Faktur Berulang
Convert to Group,Konversikan ke Grup
Convert to Ledger,Convert to Ledger
Converted,Dikonversi
Copy From Item Group,Salin Dari Barang Grup
Cosmetics,Kosmetik
Cost Center,Biaya Pusat
Cost Center Details,Biaya Pusat Detail
Cost Center Name,Biaya Nama Pusat
Cost Center is required for 'Profit and Loss' account {0},Biaya Pusat diperlukan untuk akun 'Laba Rugi' {0}
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 Center {0} does not belong to Company {1},Biaya Pusat {0} bukan milik Perusahaan {1}
Cost of Goods Sold,Harga Pokok Penjualan
Costing,Biaya
Country,Negara
Country Name,Nama Negara
Country wise default Address Templates,Negara bijaksana Alamat bawaan Template
"Country, Timezone and Currency","Country, Timezone dan Mata Uang"
Create Bank Voucher for the total salary paid for the above selected criteria,Buat Bank Voucher untuk gaji total yang dibayarkan untuk kriteria pilihan di atas
Create Customer,Buat Pelanggan
Create Material Requests,Buat Permintaan Material
Create New,Buat New
Create Opportunity,Buat Peluang
Create Production Orders,Buat Pesanan Produksi
Create Quotation,Buat Quotation
Create Receiver List,Buat Daftar Penerima
Create Salary Slip,Buat Slip Gaji
Create Stock Ledger Entries when you submit a Sales Invoice,Buat Bursa Ledger Entries ketika Anda mengirimkan Faktur Penjualan
"Create and manage daily, weekly and monthly email digests.","Membuat dan mengelola harian, mingguan dan bulanan mencerna email."
Create rules to restrict transactions based on values.,Buat aturan untuk membatasi transaksi berdasarkan nilai-nilai.
Created By,Dibuat Oleh
Creates salary slip for above mentioned criteria.,Membuat Slip gaji untuk kriteria yang disebutkan di atas.
Creation Date,Tanggal Pembuatan
Creation Document No,Penciptaan Dokumen Tidak
Creation Document Type,Pembuatan Dokumen Type
Creation Time,Waktu Pembuatan
Credentials,Surat kepercayaan
Credit,Piutang
Credit Amt,Kredit Jumlah Yang
Credit Card,Kartu Kredit
Credit Card Voucher,Voucher Kartu Kredit
Credit Controller,Kontroler Kredit
Credit Days,Hari Kredit
Credit Limit,Batas Kredit
Credit Note,Nota Kredit
Credit To,Kredit Untuk
Currency,Mata uang
Currency Exchange,Kurs Mata Uang
Currency Name,Nama Mata Uang
Currency Settings,Pengaturan Mata Uang
Currency and Price List,Mata Uang dan Daftar Harga
Currency exchange rate master.,Menguasai nilai tukar mata uang.
Current Address,Alamat saat ini
Current Address Is,Alamat saat ini adalah
Current Assets,Aset Lancar
Current BOM,BOM saat ini
Current BOM and New BOM can not be same,BOM Lancar dan New BOM tidak bisa sama
Current Fiscal Year,Tahun Anggaran saat ini
Current Liabilities,Kewajiban Lancar
Current Stock,Stok saat ini
Current Stock UOM,Stok saat ini UOM
Current Value,Nilai saat ini
Custom,Disesuaikan
Custom Autoreply Message,Kustom Autoreply Pesan
Custom Message,Custom Pesan
Customer,Layanan Pelanggan
Customer (Receivable) Account,Pelanggan (Piutang) Rekening
Customer / Item Name,Pelanggan / Item Nama
Customer / Lead Address,Pelanggan / Lead Alamat
Customer / Lead Name,Pelanggan / Lead Nama
Customer > Customer Group > Territory,Pelanggan> Grup Pelanggan> Wilayah
Customer Account Head,Nasabah Akun Kepala
Customer Acquisition and Loyalty,Akuisisi Pelanggan dan Loyalitas
Customer Address,Alamat pelanggan
Customer Addresses And Contacts,Alamat Pelanggan Dan Kontak
Customer Addresses and Contacts,Alamat pelanggan dan Kontak
Customer Code,Kode Pelanggan
Customer Codes,Kode Pelanggan
Customer Details,Rincian pelanggan
Customer Feedback,Pelanggan Umpan
Customer Group,Kelompok Pelanggan
Customer Group / Customer,Kelompok Pelanggan / Pelanggan
Customer Group Name,Nama Kelompok Pelanggan
Customer Intro,Intro Pelanggan
Customer Issue,Nasabah Isu
Customer Issue against Serial No.,Issue pelanggan terhadap Serial Number
Customer Name,Nama nasabah
Customer Naming By,Penamaan Pelanggan Dengan
Customer Service,Layanan Pelanggan
Customer database.,Database pelanggan.
Customer is required,Pelanggan diwajibkan
Customer master.,Master pelanggan.
Customer required for 'Customerwise Discount',Pelanggan yang dibutuhkan untuk 'Customerwise Diskon'
Customer {0} does not belong to project {1},Pelanggan {0} bukan milik proyek {1}
Customer {0} does not exist,Pelanggan {0} tidak ada
Customer's Item Code,Nasabah Item Code
Customer's Purchase Order Date,Nasabah Purchase Order Tanggal
Customer's Purchase Order No,Nasabah Purchase Order No
Customer's Purchase Order Number,Nasabah Purchase Order Nomor
Customer's Vendor,Penjual Nasabah
Customers Not Buying Since Long Time,Pelanggan Tidak Membeli Sejak Long Time
Customerwise Discount,Customerwise Diskon
Customize,Sesuaikan
Customize the Notification,Sesuaikan Pemberitahuan
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,Sesuaikan teks pengantar yang berlangsung sebagai bagian dari email itu. Setiap transaksi memiliki teks pengantar yang terpisah.
DN Detail,DN Detil
Daily,Sehari-hari
Daily Time Log Summary,Harian Waktu Log Summary
Database Folder ID,Database Folder ID
Database of potential customers.,Database pelanggan potensial.
Date,Tanggal
Date Format,Format Tanggal
Date Of Retirement,Tanggal Of Pensiun
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 Issue,Tanggal Issue
Date of Joining,Tanggal Bergabung
Date of Joining must be greater than Date of Birth,Tanggal Bergabung harus lebih besar dari Tanggal Lahir
Date on which lorry started from supplier warehouse,Tanggal truk mulai dari pemasok gudang
Date on which lorry started from your warehouse,Tanggal truk mulai dari gudang Anda
Dates,Tanggal
Days Since Last Order,Hari Sejak Orde terakhir
Days for which Holidays are blocked for this department.,Hari yang Holidays diblokir untuk departemen ini.
Dealer,Dealer (Pelaku)
Debit,Debet
Debit Amt,Debit Amt
Debit Note,Debit Note
Debit To,Debit Untuk
Debit and Credit not equal for this voucher. Difference is {0}.,Debit dan Kredit tidak sama untuk voucher ini. Perbedaan adalah {0}.
Deduct,Mengurangi
Deduction,Deduksi
Deduction Type,Pengurangan Type
Deduction1,Deduction1
Deductions,Pengurangan
Default,Dfault
Default Account,Standar Akun
Default Address Template cannot be deleted,Template Default Address tidak bisa dihapus
Default Amount,Jumlah standar
Default BOM,Standar BOM
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,Standar rekening Bank / Cash akan secara otomatis diperbarui di POS Invoice saat mode ini dipilih.
Default Bank Account,Standar Rekening Bank
Default Buying Cost Center,Standar Biaya Membeli Pusat
Default Buying Price List,Standar Membeli Daftar Harga
Default Cash Account,Standar Rekening Kas
Default Company,Standar Perusahaan
Default Currency,Currency Default
Default Customer Group,Bawaan Pelanggan Grup
Default Expense Account,Beban standar Akun
Default Income Account,Akun Pendapatan standar
Default Item Group,Default Item Grup
Default Price List,Standar List Harga
Default Purchase Account in which cost of the item will be debited.,Standar Pembelian Akun di mana biaya tersebut akan didebet.
Default Selling Cost Center,Default Jual Biaya Pusat
Default Settings,Pengaturan standar
Default Source Warehouse,Sumber standar Gudang
Default Stock UOM,Bawaan Stock UOM
Default Supplier,Standar Pemasok
Default Supplier Type,Standar Pemasok Type
Default Target Warehouse,Standar Sasaran Gudang
Default Territory,Wilayah standar
Default Unit of Measure,Standar Satuan Ukur
"Default Unit of Measure can not be changed directly because you have already made some transaction(s) with another UOM. To change default UOM, use 'UOM Replace Utility' tool under Stock module.","Standar Unit Ukur tidak dapat diubah secara langsung karena Anda telah membuat beberapa transaksi (s) dengan UOM lain. Untuk mengubah UOM default, gunakan 'UOM Ganti Utilitas' alat di bawah modul Stock."
Default Valuation Method,Metode standar Penilaian
Default Warehouse,Standar Gudang
Default Warehouse is mandatory for stock Item.,Standar Warehouse adalah wajib bagi saham Barang.
Default settings for accounting transactions.,Pengaturan default untuk transaksi akuntansi.
Default settings for buying transactions.,Pengaturan default untuk membeli transaksi.
Default settings for selling transactions.,Pengaturan default untuk menjual transaksi.
Default settings for stock transactions.,Pengaturan default untuk transaksi saham.
Defense,Pertahanan
"Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>","Tentukan Anggaran Biaya Pusat ini. Untuk mengatur aksi anggaran, lihat <a href = ""#!Daftar / Perusahaan ""> Perusahaan Master </ a>"
Del,Del
Delete,Hapus
Delete {0} {1}?,Hapus {0} {1}?
Delivered,Disampaikan
Delivered Items To Be Billed,Produk Disampaikan Akan Ditagih
Delivered Qty,Disampaikan Qty
Delivered Serial No {0} cannot be deleted,Disampaikan Serial ada {0} tidak dapat dihapus
Delivery Date,Tanggal Pengiriman
Delivery Details,Detail Pengiriman
Delivery Document No,Pengiriman Dokumen Tidak
Delivery Document Type,Pengiriman Dokumen Type
Delivery Note,Pengiriman Note
Delivery Note Item,Pengiriman Barang Note
Delivery Note Items,Pengiriman Note Items
Delivery Note Message,Pengiriman Note Pesan
Delivery Note No,Pengiriman Note No
Delivery Note Required,Pengiriman Note Diperlukan
Delivery Note Trends,Tren pengiriman Note
Delivery Note {0} is not submitted,Pengiriman Note {0} tidak disampaikan
Delivery Note {0} must not be submitted,Pengiriman Note {0} tidak boleh disampaikan
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Catatan pengiriman {0} harus dibatalkan sebelum membatalkan Sales Order ini
Delivery Status,Status Pengiriman
Delivery Time,Waktu Pengiriman
Delivery To,Pengiriman Untuk
Department,Departemen
Department Stores,Departmen Store
Depends on LWP,Tergantung pada LWP
Depreciation,Penyusutan
Description,Deskripsi
Description HTML,Deskripsi HTML
Designation,Penunjukan
Designer,Perancang
Detailed Breakup of the totals,Breakup rinci dari total
Details,Penjelasan
Difference (Dr - Cr),Perbedaan (Dr - Cr)
Difference Account,Perbedaan Akun
"Difference Account must be a 'Liability' type account, since this Stock Reconciliation is an Opening Entry","Perbedaan Akun harus rekening jenis 'Kewajiban', karena ini Stock Rekonsiliasi adalah sebuah entri Opening"
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 untuk item akan menyebabkan salah (Total) Nilai Berat Bersih. Pastikan Berat Bersih dari setiap item di UOM sama.
Direct Expenses,Beban Langsung
Direct Income,Penghasilan Langsung
Disable,Nonaktifkan
Disable Rounded Total,Nonaktifkan Rounded Jumlah
Disabled,Dinonaktifkan
Discount  %,Diskon%
Discount %,Diskon%
Discount (%),Diskon (%)
Discount Amount,Jumlah Diskon
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Diskon Fields akan tersedia dalam Purchase Order, Penerimaan Pembelian, Purchase Invoice"
Discount Percentage,Persentase 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
Discount(%),Diskon (%)
Dispatch,Pengiriman
Display all the individual items delivered with the main items,Menampilkan semua item individual disampaikan dengan item utama
Distribute transport overhead across items.,Mendistribusikan overhead transportasi di seluruh item.
Distribution,Distribusi
Distribution Id,Id Distribusi
Distribution Name,Nama Distribusi
Distributor,Distributor
Divorced,Bercerai
Do Not Contact,Jangan Hubungi
Do not show any symbol like $ etc next to currencies.,Jangan menunjukkan simbol seperti $ etc sebelah mata uang.
Do really want to unstop production order: ,Do really want to unstop production order: 
Do you really want to STOP ,Do you really want to STOP 
Do you really want to STOP this Material Request?,Apakah Anda benar-benar ingin BERHENTI Permintaan Bahan ini?
Do you really want to Submit all Salary Slip for month {0} and year {1},Apakah Anda benar-benar ingin Menyerahkan semua Slip Gaji untuk bulan {0} dan tahun {1}
Do you really want to UNSTOP ,Do you really want to UNSTOP 
Do you really want to UNSTOP this Material Request?,Apakah Anda benar-benar ingin unstop Permintaan Bahan ini?
Do you really want to stop production order: ,Do you really want to stop production order: 
Doc Name,Doc Nama
Doc Type,Doc Type
Document Description,Dokumen Deskripsi
Document Type,Jenis Dokumen
Documents,Docuements
Domain,Domain
Don't send Employee Birthday Reminders,Jangan mengirim Karyawan Ulang Tahun Pengingat
Download Materials Required,Unduh Bahan yang dibutuhkan
Download Reconcilation Data,Ambil rekonsiliasi data
Download Template,Download Template
Download a report containing all raw materials with their latest inventory status,Download laporan yang berisi semua bahan baku dengan status persediaan terbaru mereka
"Download the Template, fill appropriate data and attach the modified file.","Unduh Template, isi data yang tepat dan melampirkan file dimodifikasi."
"Download the Template, fill appropriate data and attach the modified file.All dates and employee combination in the selected period will come in the template, with existing attendance records","Unduh Template, isi data yang tepat dan melampirkan file dimodifikasi. Semua tanggal dan kombinasi karyawan dalam jangka waktu yang dipilih akan datang dalam template, dengan catatan kehadiran yang ada"
Draft,Konsep
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox Access Diizinkan
Dropbox Access Key,Dropbox Access Key
Dropbox Access Secret,Dropbox Access Rahasia
Due Date,Tanggal Jatuh Tempo
Due Date cannot be after {0},Tanggal jatuh tempo tidak boleh setelah {0}
Due Date cannot be before Posting Date,Tanggal jatuh tempo tidak bisa sebelum Tanggal Posting
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 entry,Gandakan entri
Duplicate row {0} with same {1},Baris duplikat {0} dengan sama {1}
Duties and Taxes,Tugas dan Pajak
ERPNext Setup,ERPNext Pengaturan
Earliest,Terlama
Earnest Money,Uang Earnest
Earning,Earning
Earning & Deduction,Earning & Pengurangan
Earning Type,Produktif Type
Earning1,Earning1
Edit,Ubah
Edu. Cess on Excise,Edu. Cess tentang Cukai
Edu. Cess on Service Tax,Edu. Cess Pajak Layanan
Edu. Cess on TDS,Edu. Cess pada TDS
Education,Pendidikan
Educational Qualification,Kualifikasi Pendidikan
Educational Qualification Details,Kualifikasi Pendidikan Detail
Eg. smsgateway.com/api/send_sms.cgi,Misalnya. smsgateway.com / api / send_sms.cgi
Either debit or credit amount is required for {0},Entah debit atau jumlah kredit diperlukan untuk {0}
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
Electricity Cost,Biaya Listrik
Electricity cost per hour,Biaya listrik per jam
Electronics,Elektronik
Email,Email
Email Digest,Email Digest
Email Digest Settings,Email Digest Pengaturan
Email Digest: ,Email Digest: 
Email Id,Email Id
"Email Id where a job applicant will email e.g. ""jobs@example.com""","Email Id di mana pelamar pekerjaan akan mengirimkan email misalnya ""jobs@example.com"""
Email Notifications,Notifikasi Email
Email Sent?,Email Terkirim?
"Email id must be unique, already exists for {0}","Email id harus unik, sudah ada untuk {0}"
Email ids separated by commas.,Id email dipisahkan dengan koma.
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""","Setelan email untuk mengekstrak Memimpin dari id email penjualan misalnya ""sales@example.com"""
Emergency Contact,Darurat Kontak
Emergency Contact Details,Detail Darurat Kontak
Emergency Phone,Darurat Telepon
Employee,Karyawan
Employee Birthday,Ulang Tahun Karyawan
Employee Details,Detail Karyawan
Employee Education,Pendidikan Karyawan
Employee External Work History,Karyawan Eksternal Riwayat Pekerjaan
Employee Information,Informasi Karyawan
Employee Internal Work History,Karyawan Kerja internal Sejarah
Employee Internal Work Historys,Karyawan internal Kerja historys
Employee Leave Approver,Karyawan Tinggalkan Approver
Employee Leave Balance,Cuti Karyawan Balance
Employee Name,Nama Karyawan
Employee Number,Jumlah Karyawan
Employee Records to be created by,Rekaman Karyawan yang akan dibuat oleh
Employee Settings,Pengaturan Karyawan
Employee Type,Tipe Karyawan
"Employee designation (e.g. CEO, Director etc.).","Penunjukan Karyawan (misalnya CEO, Direktur dll)."
Employee master.,Master Karyawan.
Employee record is created using selected field. ,Employee record is created using selected field. 
Employee records.,Catatan karyawan.
Employee relieved on {0} must be set as 'Left',Karyawan lega pada {0} harus ditetapkan sebagai 'Kiri'
Employee {0} has already applied for {1} between {2} and {3},Karyawan {0} telah diterapkan untuk {1} antara {2} dan {3}
Employee {0} is not active or does not exist,Karyawan {0} tidak aktif atau tidak ada
Employee {0} was on leave on {1}. Cannot mark attendance.,Karyawan {0} sedang cuti pada {1}. Tidak bisa menandai kehadiran.
Employees Email Id,Karyawan Email Id
Employment Details,Rincian Pekerjaan
Employment Type,Jenis Pekerjaan
Enable / disable currencies.,Mengaktifkan / menonaktifkan mata uang.
Enabled,Diaktifkan
Encashment Date,Pencairan Tanggal
End Date,Tanggal Berakhir
End Date can not be less than Start Date,Tanggal akhir tidak boleh kurang dari Tanggal Mulai
End date of current invoice's period,Tanggal akhir periode faktur saat ini
End of Life,Akhir Kehidupan
Energy,Energi
Engineer,Insinyur
Enter Verification Code,Masukkan Kode Verifikasi
Enter campaign name if the source of lead is campaign.,Masukkan nama kampanye jika sumber timbal adalah kampanye.
Enter department to which this Contact belongs,Memasukkan departemen yang Kontak ini milik
Enter designation of this Contact,Masukkan penunjukan Kontak ini
"Enter email id separated by commas, invoice will be mailed automatically on particular date","Masukkan id email dipisahkan dengan koma, invoice akan dikirimkan secara otomatis pada tanggal tertentu"
Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,Masukkan item dan qty direncanakan untuk yang Anda ingin meningkatkan pesanan produksi atau download bahan baku untuk analisis.
Enter name of campaign if source of enquiry is campaign,Masukkan nama kampanye jika sumber penyelidikan adalah kampanye
"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Masukkan parameter url statis di sini (Misalnya pengirim = ERPNext, username = ERPNext, password = 1234 dll)"
Enter the company name under which Account Head will be created for this Supplier,Masukkan nama perusahaan di mana Akun Kepala akan dibuat untuk Pemasok ini
Enter url parameter for message,Masukkan parameter url untuk pesan
Enter url parameter for receiver nos,Masukkan parameter url untuk penerima nos
Entertainment & Leisure,Hiburan & Kenyamanan
Entertainment Expenses,Beban Hiburan
Entries,Entri
Entries against ,Entries against 
Entries are not allowed against this Fiscal Year if the year is closed.,Entri tidak diperbolehkan melawan Tahun Anggaran ini jika tahun ditutup.
Equity,Modal
Error: {0} > {1},Kesalahan: {0}> {1}
Estimated Material Cost,Perkiraan Biaya Material
"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:"
Everyone can read,Setiap orang dapat membaca
"Example: ABCD.#####If 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 # # # # #  Jika seri diatur Serial dan ada tidak disebutkan dalam transaksi, nomor seri maka otomatis akan dibuat berdasarkan seri ini. Jika Anda selalu ingin secara eksplisit menyebutkan Serial Nos untuk item ini. biarkan kosong ini."
Exchange Rate,Nilai Tukar
Excise Duty 10,Cukai Tugas 10
Excise Duty 14,Cukai Tugas 14
Excise Duty 4,Cukai Duty 4
Excise Duty 8,Cukai Duty 8
Excise Duty @ 10,Cukai Duty @ 10
Excise Duty @ 14,Cukai Duty @ 14
Excise Duty @ 4,Cukai Duty @ 4
Excise Duty @ 8,Cukai Duty @ 8
Excise Duty Edu Cess 2,Cukai Edu Cess 2
Excise Duty SHE Cess 1,Cukai SHE Cess 1
Excise Page Number,Jumlah Cukai Halaman
Excise Voucher,Voucher Cukai
Execution,Eksekusi
Executive Search,Pencarian eksekutif
Exemption Limit,Batas Pembebasan
Exhibition,Pameran
Existing Customer,Pelanggan yang sudah ada
Exit,Keluar
Exit Interview Details,Detail Exit Interview
Expected,Diharapkan
Expected Completion Date can not be less than Project Start Date,Diharapkan Tanggal Penyelesaian tidak bisa kurang dari Tanggal mulai Proyek
Expected Date cannot be before Material Request Date,Diharapkan Tanggal tidak bisa sebelum Material Request Tanggal
Expected Delivery Date,Diharapkan Pengiriman Tanggal
Expected Delivery Date cannot be before Purchase Order Date,Diharapkan Pengiriman Tanggal tidak bisa sebelum Purchase Order Tanggal
Expected Delivery Date cannot be before Sales Order Date,Diharapkan Pengiriman Tanggal tidak bisa sebelum Sales Order Tanggal
Expected End Date,Diharapkan Tanggal Akhir
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 Account is mandatory,Beban Rekening wajib
Expense Claim,Beban Klaim
Expense Claim Approved,Beban Klaim Disetujui
Expense Claim Approved Message,Beban Klaim Disetujui Pesan
Expense Claim Detail,Beban Klaim Detil
Expense Claim Details,Rincian Beban Klaim
Expense Claim Rejected,Beban Klaim Ditolak
Expense Claim Rejected Message,Beban Klaim Ditolak Pesan
Expense Claim Type,Beban Klaim Type
Expense Claim has been approved.,Beban Klaim telah disetujui.
Expense Claim has been rejected.,Beban Klaim telah ditolak.
Expense Claim is pending approval. Only the Expense Approver can update status.,Beban Klaim sedang menunggu persetujuan. Hanya Approver Beban dapat memperbarui status.
Expense Date,Beban Tanggal
Expense Details,Rincian Biaya
Expense Head,Beban Kepala
Expense account is mandatory for item {0},Rekening pengeluaran adalah wajib untuk item {0}
Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,Beban atau Selisih akun adalah wajib untuk Item {0} karena dampak keseluruhan nilai saham
Expenses,Beban
Expenses Booked,Beban Dipesan
Expenses Included In Valuation,Biaya Termasuk Dalam Penilaian
Expenses booked for the digest period,Biaya dipesan untuk periode digest
Expiry Date,Tanggal Berakhir
Exports,Ekspor
External,Eksternal
Extract Emails,Ekstrak Email
FCFS Rate,FCFS Tingkat
Failed: ,Failed: 
Family Background,Latar Belakang Keluarga
Fax,Fax
Features Setup,Fitur Pengaturan
Feed,Makan varg
Feed Type,Pakan Type
Feedback,Umpan balik
Female,Perempuan
Fetch exploded BOM (including sub-assemblies),Fetch meledak BOM (termasuk sub-rakitan)
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Bidang yang tersedia di Delivery Note, Quotation, Faktur Penjualan, Sales Order"
Files Folder ID,File Folder ID
Fill the form and save it,Isi formulir dan menyimpannya
Filter based on customer,Filter berdasarkan pelanggan
Filter based on item,Filter berdasarkan pada item
Financial / accounting year.,Keuangan / akuntansi tahun.
Financial Analytics,Analytics keuangan
Financial Services,Jasa Keuangan
Financial Year End Date,Tahun Keuangan Akhir Tanggal
Financial Year Start Date,Tahun Buku Tanggal mulai
Finished Goods,Barang Jadi
First Name,Nama Depan
First Responded On,Pertama Menanggapi On
Fiscal Year,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 and Fiscal Year End Date cannot be more than a year apart.,Tahun Fiskal Tanggal Mulai dan Akhir Tahun Fiskal Tanggal tidak bisa lebih dari satu tahun terpisah.
Fiscal Year Start Date should not be greater than Fiscal Year End Date,Tahun Anggaran Tanggal Mulai tidak boleh lebih besar dari Fiscal Year End Tanggal
Fixed Asset,Fixed Asset
Fixed Assets,Aktiva Tetap
Follow via Email,Ikuti via Email
"Following table will show values if items are sub - contracted. These values will be fetched from the master of ""Bill of Materials"" of sub - contracted items.","Tabel berikut akan menunjukkan nilai jika item sub - kontrak. Nilai-nilai ini akan diambil dari master ""Bill of Materials"" dari sub - kontrak item."
Food,Makanan
"Food, Beverage & Tobacco","Makanan, Minuman dan Tembakau"
"For 'Sales BOM' 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 'Sales BOM' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Untuk 'Penjualan BOM' item, Gudang, Serial No dan Batch ada akan dipertimbangkan dari meja 'Daftar Packing'. Jika Gudang dan Batch ada yang sama untuk semua item kemasan untuk setiap 'Penjualan BOM' item, nilai-nilai dapat dimasukkan dalam tabel Barang utama, nilai akan disalin ke meja 'Daftar Packing'."
For Company,Untuk Perusahaan
For Employee,Untuk Karyawan
For Employee Name,Untuk Nama Karyawan
For Price List,Untuk Daftar Harga
For Production,Untuk Produksi
For Reference Only.,Untuk Referensi Only.
For Sales Invoice,Untuk Sales Invoice
For Server Side Print Formats,Untuk Server Side Format Cetak
For Supplier,Untuk Pemasok
For Warehouse,Untuk Gudang
For Warehouse is required before Submit,Untuk Gudang diperlukan sebelum Submit
"For e.g. 2012, 2012-13","Untuk misalnya 2012, 2012-13"
For reference,Untuk referensi
For reference only.,Untuk referensi saja.
"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 Pengiriman Catatan"
Fraction,Pecahan
Fraction Units,Unit Fraksi
Freeze Stock Entries,Freeze Entries Stock
Freeze Stocks Older Than [Days],Bekukan Saham Lama Dari [Hari]
Freight and Forwarding Charges,Pengangkutan dan Forwarding Biaya
Friday,Jum'at
From,Dari
From Bill of Materials,Dari Bill of Material
From Company,Dari Perusahaan
From Currency,Dari Mata
From Currency and To Currency cannot be same,Dari Mata dan Mata Uang Untuk tidak bisa sama
From Customer,Dari Pelanggan
From Customer Issue,Dari Pelanggan Issue
From Date,Dari Tanggal
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 Delivery Note,Dari Delivery Note
From Employee,Dari Karyawan
From Lead,Dari Timbal
From Maintenance Schedule,Dari Pemeliharaan Jadwal
From Material Request,Dari Material Permintaan
From Opportunity,Dari Peluang
From Package No.,Dari Package No
From Purchase Order,Dari Purchase Order
From Purchase Receipt,Dari Penerimaan Pembelian
From Quotation,Dari Quotation
From Sales Order,Dari Sales Order
From Supplier Quotation,Dari Pemasok Quotation
From Time,Dari Waktu
From Value,Dari Nilai
From and To dates required,Dari dan Untuk tanggal yang Anda inginkan
From value must be less than to value in row {0},Dari nilai harus kurang dari nilai dalam baris {0}
Frozen,Beku
Frozen Accounts Modifier,Frozen Account Modifier
Fulfilled,Terpenuhi
Full Name,Nama Lengkap
Full-time,Full-time
Fully Billed,Sepenuhnya Ditagih
Fully Completed,Sepenuhnya Selesai
Fully Delivered,Sepenuhnya Disampaikan
Furniture and Fixture,Furniture dan Fixture
Further accounts can be made under Groups but entries can be made against Ledger,Rekening lebih lanjut dapat dibuat di bawah Grup tetapi entri dapat dilakukan terhadap Ledger
"Further accounts can be made under Groups, but entries can be made against Ledger","Rekening lebih lanjut dapat dibuat di bawah Grup, namun entri dapat dilakukan terhadap Ledger"
Further nodes can be only created under 'Group' type nodes,Node lebih lanjut dapat hanya dibuat di bawah tipe node 'Grup'
GL Entry,GL Entri
Gantt Chart,Gantt Bagan
Gantt chart of all tasks.,Gantt chart dari semua tugas.
Gender,Jenis Kelamin
General,Umum
General Ledger,General Ledger
Generate Description HTML,Hasilkan Deskripsi HTML
Generate Material Requests (MRP) and Production Orders.,Menghasilkan Permintaan Material (MRP) dan Pesanan Produksi.
Generate Salary Slips,Menghasilkan Gaji Slips
Generate Schedule,Menghasilkan Jadwal
Generates HTML to include selected image in the description,Menghasilkan HTML untuk memasukkan gambar yang dipilih dalam deskripsi
Get Advances Paid,Dapatkan Uang Muka Dibayar
Get Advances Received,Dapatkan Uang Muka Diterima
Get Current Stock,Dapatkan Stok saat ini
Get Items,Dapatkan Produk
Get Items From Sales Orders,Dapatkan Item Dari Penjualan Pesanan
Get Items from BOM,Dapatkan item dari BOM
Get Last Purchase Rate,Dapatkan Terakhir Purchase Rate
Get Outstanding Invoices,Dapatkan Posisi Faktur
Get Relevant Entries,Dapatkan Entries Relevan
Get Sales Orders,Dapatkan Pesanan Penjualan
Get Specification Details,Dapatkan Spesifikasi Detail
Get Stock and Rate,Dapatkan Saham dan Tingkat
Get Template,Dapatkan Template
Get Terms and Conditions,Dapatkan Syarat dan Ketentuan
Get Unreconciled Entries,Dapatkan Entries Unreconciled
Get Weekly Off Dates,Dapatkan Weekly Off Tanggal
"Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos.","Dapatkan tingkat penilaian dan stok yang tersedia di sumber / target gudang di postingan disebutkan tanggal-waktu. Jika serial barang, silahkan tekan tombol ini setelah memasuki nos serial."
Global Defaults,Default global
Global POS Setting {0} already created for company {1},Pengaturan POS global {0} sudah dibuat untuk perusahaan {1}
Global Settings,Pengaturan global
"Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts and create a new Account Ledger (by clicking on Add Child) of type ""Bank""","Pergi ke grup yang sesuai (biasanya Penerapan Dana> Aset Lancar> Rekening Bank dan membuat Akun baru Ledger (dengan mengklik Tambahkan Child) tipe ""Bank"""
"Go to the appropriate group (usually Source of Funds > Current Liabilities > Taxes and Duties and create a new Account Ledger (by clicking on Add Child) of type ""Tax"" and do mention the Tax rate.","Pergi ke grup yang sesuai (biasanya Sumber Dana> Kewajiban Lancar> Pajak dan Bea dan membuat Akun baru Ledger (dengan mengklik Tambahkan Child) tipe ""Pajak"" dan jangan menyebutkan tingkat pajak."
Goal,Sasaran
Goals,tujuan
Goods received from Suppliers.,Barang yang diterima dari pemasok.
Google Drive,Google Drive
Google Drive Access Allowed,Google Drive Access Diizinkan
Government,pemerintahan
Graduate,Lulusan
Grand Total,Grand Total
Grand Total (Company Currency),Grand Total (Perusahaan Mata Uang)
"Grid ""","Grid """
Grocery,Toko bahan makanan
Gross Margin %,Gross Margin%
Gross Margin Value,Margin Nilai Gross
Gross Pay,Gross Bayar
Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,Gross Pay + + Pencairan tunggakan Jumlah Jumlah - Total Pengurangan
Gross Profit,Laba Kotor
Gross Profit (%),Laba Kotor (%)
Gross Weight,Berat Kotor
Gross Weight UOM,Berat Kotor UOM
Group,Grup
Group by Account,Group by Akun
Group by Voucher,Group by Voucher
Group or Ledger,Grup atau Ledger
Groups,Grup
HR Manager,HR Manager
HR Settings,Pengaturan HR
HTML / Banner that will show on the top of product list.,HTML / Banner yang akan muncul di bagian atas daftar produk.
Half Day,Half Day
Half Yearly,Setengah Tahunan
Half-yearly,Setengah tahun sekali
Happy Birthday!,Happy Birthday!
Hardware,Perangkat keras
Has Batch No,Memiliki Batch ada
Has Child Node,Memiliki Anak Node
Has Serial No,Memiliki Serial No
Head of Marketing and Sales,Kepala Pemasaran dan Penjualan
Header,Header
Health Care,Perawatan Kesehatan
Health Concerns,Kekhawatiran Kesehatan
Health Details,Detail Kesehatan
Held On,Diadakan Pada
Help HTML,Bantuan HTML
"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Bantuan: Untuk link ke catatan lain dalam sistem, gunakan ""# Form / Note / [Catatan Nama]"" sebagai link URL. (Tidak menggunakan ""http://"")"
"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"
"Here you can maintain height, weight, allergies, medical concerns etc","Di sini Anda dapat mempertahankan tinggi, berat, alergi, masalah medis dll"
Hide Currency Symbol,Sembunyikan Currency Symbol
High,Tinggi
History In Company,Sejarah Dalam Perusahaan
Hold,Memegang
Holiday,Liburan
Holiday List,Liburan List
Holiday List Name,Nama Libur
Holiday master.,Master Holiday.
Holidays,Liburan
Home,Halaman Utama
Host,Inang
"Host, Email and Password required if emails are to be pulled","Tuan, Email dan Password diperlukan jika email yang ditarik"
Hour,Jam
Hour Rate,Tingkat Jam
Hour Rate Labour,Jam Tingkat Buruh
Hours,Jam
How Pricing Rule is applied?,Bagaimana Rule Harga diterapkan?
How frequently?,Seberapa sering?
"How should this currency be formatted? If not set, will use system defaults","Bagaimana seharusnya mata uang ini akan diformat? Jika tidak diatur, akan menggunakan default sistem"
Human Resources,Sumber Daya Manusia
Identification of the package for the delivery (for print),Identifikasi paket untuk pengiriman (untuk mencetak)
If Income or Expense,Jika Penghasilan atau Beban
If Monthly Budget Exceeded,Jika Anggaran Bulanan Melebihi
"If Sale BOM is defined, the actual BOM of the Pack is displayed as table. Available in Delivery Note and Sales Order","Jika Sale BOM didefinisikan, BOM sebenarnya Pack ditampilkan sebagai tabel. Tersedia dalam Pengiriman Note dan Sales Order"
"If Supplier Part Number exists for given Item, it gets stored here","Jika Pemasok Part Number ada untuk keterberian Barang, hal itu akan disimpan di sini"
If Yearly Budget Exceeded,Jika Anggaran Tahunan Melebihi
"If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.","Jika dicentang, BOM untuk item sub-assembly akan dipertimbangkan untuk mendapatkan bahan baku. Jika tidak, semua item sub-assembly akan diperlakukan sebagai bahan baku."
"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, 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"
If different than customer address,Jika berbeda dari alamat pelanggan
"If disable, 'Rounded Total' field will not be visible in any transaction","Jika disable, lapangan 'Rounded Jumlah' tidak akan terlihat dalam setiap transaksi"
"If enabled, the system will post accounting entries for inventory automatically.","Jika diaktifkan, sistem akan posting entri akuntansi untuk persediaan otomatis."
If more than one package of the same type (for print),Jika lebih dari satu paket dari jenis yang sama (untuk mencetak)
"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 no change in either Quantity or Valuation Rate, leave the cell blank.","Jika tidak ada perubahan baik Quantity atau Tingkat Penilaian, biarkan kosong sel."
If not applicable please enter: NA,Jika tidak berlaku silahkan masukkan: NA
"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."
"If selected Pricing Rule is made for 'Price', it will overwrite Price List. Pricing Rule price is the final price, 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 Rule Harga yang dipilih dibuat untuk 'Harga', itu akan menimpa Daftar Harga. Harga Rule harga adalah harga akhir, sehingga tidak ada diskon lebih lanjut harus diterapkan. Oleh karena itu, dalam transaksi seperti Sales Order, Purchase Order dll, itu akan diambil di lapangan 'Tingkat', daripada bidang 'Daftar Harga Tingkat'."
"If specified, send the newsletter using this email address","Jika ditentukan, mengirim newsletter menggunakan alamat email ini"
"If the account is frozen, entries are allowed to restricted users.","Jika account beku, entri yang diizinkan untuk pengguna terbatas."
"If this Account represents a Customer, Supplier or Employee, set it here.","Jika Akun ini merupakan Pelanggan, Pemasok atau Karyawan, mengaturnya di sini."
"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 didahulukan jika ada beberapa Aturan Harga dengan kondisi yang sama."
If you follow Quality Inspection. Enables Item QA Required and QA No in Purchase Receipt,Jika Anda mengikuti Inspeksi Kualitas. Memungkinkan Barang QA Diperlukan dan QA ada di Penerimaan Pembelian
If you have Sales Team and Sale Partners (Channel Partners)  they can be tagged and maintain their contribution in the sales activity,Jika Anda memiliki Tim Penjualan dan Penjualan Mitra (Mitra Channel) mereka dapat ditandai dan mempertahankan kontribusi mereka dalam aktivitas penjualan
"If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.","Jika Anda telah membuat template standar dalam Pajak Pembelian dan Guru Beban, pilih salah satu dan klik tombol di bawah."
"If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.","Jika Anda telah membuat template standar dalam Penjualan Pajak dan Biaya Guru, pilih salah satu dan klik tombol di bawah."
"If you have long print formats, this feature can be used to split the page to be printed on multiple pages with all headers and footers on each page","Jika Anda memiliki format cetak yang panjang, fitur ini dapat digunakan untuk membagi halaman yang akan dicetak pada beberapa halaman dengan semua header dan footer pada setiap halaman"
If you involve in manufacturing activity. Enables Item 'Is Manufactured',Jika Anda terlibat dalam aktivitas manufaktur. Memungkinkan Barang 'Apakah Diproduksi'
Ignore,Mengabaikan
Ignore Pricing Rule,Abaikan Aturan Harga
Ignored: ,Ignored: 
Image,Gambar
Image View,Citra Tampilan
Implementation Partner,Implementasi Mitra
Import Attendance,Impor Kehadiran
Import Failed!,Impor Gagal!
Import Log,Impor Log
Import Successful!,Impor Sukses!
Imports,Impor
In Hours,Pada Jam
In Process,Dalam Proses
In Qty,Dalam Qty
In Value,Dalam Nilai
In Words,Dalam Kata
In Words (Company Currency),Dalam Kata-kata (Perusahaan Mata Uang)
In Words (Export) will be visible once you save the Delivery Note.,Dalam Kata-kata (Ekspor) akan terlihat sekali Anda menyimpan Delivery Note.
In Words will be visible once you save the Delivery Note.,Dalam Kata-kata akan terlihat sekali Anda menyimpan Delivery Note.
In Words will be visible once you save the Purchase Invoice.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Faktur Pembelian.
In Words will be visible once you save the Purchase Order.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Purchase Order.
In Words will be visible once you save the Purchase Receipt.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Penerimaan Pembelian.
In Words will be visible once you save the Quotation.,Dalam Kata-kata akan terlihat sekali Anda menyimpan Quotation tersebut.
In Words will be visible once you save the Sales Invoice.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Faktur Penjualan.
In Words will be visible once you save the Sales Order.,Dalam Kata-kata akan terlihat setelah Anda menyimpan Sales Order.
Incentives,Insentif
Include Reconciled Entries,Sertakan Entri Berdamai
Include holidays in Total no. of Working Days,Sertakan liburan di total no. dari Hari Kerja
Income,Penghasilan
Income / Expense,Penghasilan / Beban
Income Account,Akun Penghasilan
Income Booked,Penghasilan Memesan
Income Tax,Pajak Penghasilan
Income Year to Date,Tahun Penghasilan Tanggal
Income booked for the digest period,Penghasilan dipesan untuk periode digest
Incoming,Incoming
Incoming Rate,Tingkat yang masuk
Incoming quality inspection.,Pemeriksaan mutu yang masuk.
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Jumlah yang salah dari General Ledger Entries ditemukan. Anda mungkin telah memilih Account salah dalam transaksi.
Incorrect or Inactive BOM {0} for Item {1} at row {2},Salah atau Nonaktif BOM {0} untuk Item {1} pada baris {2}
Indicates that the package is a part of this delivery (Only Draft),Menunjukkan bahwa paket tersebut merupakan bagian dari pengiriman ini (Hanya Draft)
Indirect Expenses,Biaya tidak langsung
Indirect Income,Penghasilan tidak langsung
Individual,Individu
Industry,Industri
Industry Type,Jenis Industri
Inspected By,Diperiksa Oleh
Inspection Criteria,Kriteria Pemeriksaan
Inspection Required,Inspeksi Diperlukan
Inspection Type,Inspeksi Type
Installation Date,Instalasi Tanggal
Installation Note,Instalasi Note
Installation Note Item,Instalasi Catatan Barang
Installation Note {0} has already been submitted,Instalasi Catatan {0} telah disampaikan
Installation Status,Status Instalasi
Installation Time,Instalasi Waktu
Installation date cannot be before delivery date for Item {0},Tanggal instalasi tidak bisa sebelum tanggal pengiriman untuk Item {0}
Installation record for a Serial No.,Catatan instalasi untuk No Serial
Installed Qty,Terpasang Qty
Instructions,Instruksi
Integrate incoming support emails to Support Ticket,Mengintegrasikan email support masuk untuk Mendukung Tiket
Interested,Tertarik
Intern,Menginternir
Internal,Internal
Internet Publishing,Penerbitan Internet
Introduction,Pendahuluan
Invalid Barcode,Barcode valid
Invalid Barcode or Serial No,Barcode valid atau Serial No
Invalid Mail Server. Please rectify and try again.,Mail Server tidak valid. Harap memperbaiki dan coba lagi.
Invalid Master Name,Nama Guru tidak valid
Invalid User Name or Support Password. Please rectify and try again.,Valid Nama Pengguna atau Dukungan Password. Harap memperbaiki dan coba lagi.
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Kuantitas tidak valid untuk item {0}. Jumlah harus lebih besar dari 0.
Inventory,Inventarisasi
Inventory & Support,Inventarisasi & Dukungan
Investment Banking,Perbankan Investasi
Investments,Investasi
Invoice Date,Faktur Tanggal
Invoice Details,Detail Invoice
Invoice No,Faktur ada
Invoice Number,Nomor Faktur
Invoice Period From,Faktur Periode Dari
Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Faktur Periode Dari dan Faktur Period Untuk tanggal wajib untuk berulang faktur
Invoice Period To,Periode Faktur Untuk
Invoice Type,Invoice Type
Invoice/Journal Voucher Details,Invoice / Journal Voucher Detail
Invoiced Amount (Exculsive Tax),Faktur Jumlah (Pajak exculsive)
Is Active,Aktif
Is Advance,Apakah Muka
Is Cancelled,Apakah Dibatalkan
Is Carry Forward,Apakah Carry Teruskan
Is Default,Apakah default
Is Encash,Apakah menjual
Is Fixed Asset Item,Apakah Fixed Asset Barang
Is LWP,Apakah LWP
Is Opening,Apakah Membuka
Is Opening Entry,Apakah Masuk Membuka
Is POS,Apakah POS
Is Primary Contact,Apakah Kontak Utama
Is Purchase Item,Apakah Pembelian Barang
Is Sales Item,Apakah Penjualan Barang
Is Service Item,Apakah Layanan Barang
Is Stock Item,Apakah Stock Barang
Is Sub Contracted Item,Apakah Sub Kontrak Barang
Is Subcontracted,Apakah subkontrak
Is this Tax included in Basic Rate?,Apakah Pajak ini termasuk dalam Basic Rate?
Issue,Isu
Issue Date,Tanggal dibuat
Issue Details,Detail Issue
Issued Items Against Production Order,Tahun Produk Terhadap Orde Produksi
It can also be used to create opening stock entries and to fix stock value.,Hal ini juga dapat digunakan untuk membuat entri saham membuka dan memperbaiki nilai saham.
Item,Barang
Item Advanced,Item Lanjutan
Item Barcode,Item Barcode
Item Batch Nos,Item Batch Nos
Item Code,Item Code
Item Code > Item Group > Brand,Item Code> Barang Grup> Merek
Item Code and Warehouse should already exist.,Item Code dan Gudang harus sudah ada.
Item Code cannot be changed for Serial No.,Item Code tidak dapat diubah untuk Serial Number
Item Code is mandatory because Item is not automatically numbered,Item Code adalah wajib karena Item tidak secara otomatis nomor
Item Code required at Row No {0},Item Code dibutuhkan pada Row ada {0}
Item Customer Detail,Barang Pelanggan Detil
Item Description,Item Description
Item Desription,Item Desription
Item Details,Item detail
Item Group,Item Grup
Item Group Name,Nama Item Grup
Item Group Tree,Item Grup Pohon
Item Group not mentioned in item master for item {0},Item Grup tidak disebutkan dalam master barang untuk item {0}
Item Groups in Details,Item Grup dalam Rincian
Item Image (if not slideshow),Barang Gambar (jika tidak slideshow)
Item Name,Nama Item
Item Naming By,Item Penamaan Dengan
Item Price,Item Price
Item Prices,Harga Barang
Item Quality Inspection Parameter,Barang Kualitas Parameter Inspeksi
Item Reorder,Item Reorder
Item Serial No,Item Serial No
Item Serial Nos,Item Serial Nos
Item Shortage Report,Item Kekurangan Laporan
Item Supplier,Item Pemasok
Item Supplier Details,Item Pemasok Rincian
Item Tax,Pajak Barang
Item Tax Amount,Jumlah Pajak Barang
Item Tax Rate,Tarif Pajak Barang
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 Tax1,Item Tax1
Item To Manufacture,Barang Untuk Industri
Item UOM,Barang UOM
Item Website Specification,Item Situs Spesifikasi
Item Website Specifications,Item Situs Spesifikasi
Item Wise Tax Detail,Barang Wise Detil Pajak
Item Wise Tax Detail ,
Item is required,Item diperlukan
Item is updated,Item diperbarui
Item master.,Master barang.
"Item must be a purchase item, as it is present in one or many Active BOMs","Item harus item pembelian, karena hadir dalam satu atau banyak BOMs Aktif"
Item or Warehouse for row {0} does not match Material Request,Item atau Gudang untuk baris {0} Material tidak cocok Permintaan
Item table can not be blank,Tabel barang tidak boleh kosong
Item to be manufactured or repacked,Item yang akan diproduksi atau dikemas ulang
Item valuation updated,Item penilaian diperbarui
Item will be saved by this name in the data base.,Barang akan disimpan dengan nama ini dalam data base.
Item {0} appears multiple times in Price List {1},Item {0} muncul beberapa kali dalam Daftar Harga {1}
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} does not exist in {1} {2},Item {0} tidak ada di {1} {2}
Item {0} has already been returned,Item {0} telah dikembalikan
Item {0} has been entered multiple times against same operation,Barang {0} telah dimasukkan beberapa kali melawan operasi yang sama
Item {0} has been entered multiple times with same description or date,Item {0} sudah dimasukkan beberapa kali dengan deskripsi atau tanggal yang sama
Item {0} has been entered multiple times with same description or date or warehouse,Item {0} sudah dimasukkan beberapa kali dengan deskripsi atau tanggal atau gudang yang sama
Item {0} has been entered twice,Item {0} telah dimasukkan dua kali
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,Item {0} diabaikan karena bukan barang stok
Item {0} is cancelled,Item {0} dibatalkan
Item {0} is not Purchase Item,Item {0} tidak Pembelian Barang
Item {0} is not a serialized Item,Item {0} bukan merupakan Barang serial
Item {0} is not a stock Item,Item {0} bukan merupakan saham Barang
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,Barang {0} tidak setup untuk Serial Nos Periksa Barang induk
Item {0} is not setup for Serial Nos. Column must be blank,Barang {0} tidak setup untuk Serial Nos Kolom harus kosong
Item {0} must be Sales Item,Item {0} harus Penjualan Barang
Item {0} must be Sales or Service Item in {1},Item {0} harus Penjualan atau Jasa Barang di {1}
Item {0} must be Service Item,Item {0} harus Layanan Barang
Item {0} must be a Purchase Item,Item {0} harus Pembelian Barang
Item {0} must be a Sales Item,Item {0} harus Item Penjualan
Item {0} must be a Service Item.,Item {0} harus Layanan Barang.
Item {0} must be a Sub-contracted Item,Item {0} harus Item Sub-kontrak
Item {0} must be a stock Item,Item {0} harus stok Barang
Item {0} must be manufactured or sub-contracted,Item {0} harus diproduksi atau sub-kontrak
Item {0} not found,Item {0} tidak ditemukan
Item {0} with Serial No {1} is already installed,Item {0} dengan Serial No {1} sudah diinstal
Item {0} with same description entered twice,Item {0} dengan deskripsi yang sama dimasukkan dua kali
"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","Barang, Garansi, AMC (Tahunan Kontrak Pemeliharaan) detail akan otomatis diambil ketika Serial Number dipilih."
Item-wise Price List Rate,Barang-bijaksana Daftar Harga Tingkat
Item-wise Purchase History,Barang-bijaksana Riwayat Pembelian
Item-wise Purchase Register,Barang-bijaksana Pembelian Register
Item-wise Sales History,Item-wise Penjualan Sejarah
Item-wise Sales Register,Item-wise Daftar Penjualan
"Item: {0} managed batch-wise, can not be reconciled using \					Stock Reconciliation, instead use Stock Entry","Item: {0} dikelola batch-bijaksana, tidak dapat didamaikan dengan menggunakan \ Bursa Rekonsiliasi, sebagai gantinya menggunakan Stock Entri"
Item: {0} not found in the system,Item: {0} tidak ditemukan dalam sistem
Items,Items
Items To Be Requested,Items Akan Diminta
Items required,Barang yang dibutuhkan
"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty","Item harus diminta yang ""Out of Stock"" mengingat semua gudang berdasarkan qty diproyeksikan dan pesanan minimum qty"
Items which do not exist in Item master can also be entered on customer's request,Barang-barang yang tidak ada dalam Butir utama juga dapat dimasukkan pada permintaan pelanggan
Itemwise Discount,Itemwise Diskon
Itemwise Recommended Reorder Level,Itemwise Rekomendasi Reorder Tingkat
Job Applicant,Pemohon Job
Job Opening,Pembukaan Job
Job Profile,Profil Job
Job Title,Jabatan
"Job profile, qualifications required etc.","Profil pekerjaan, kualifikasi yang dibutuhkan dll"
Jobs Email Settings,Pengaturan Jobs Email
Journal Entries,Entries Journal
Journal Entry,Jurnal Entri
Journal Voucher,Journal Voucher
Journal Voucher Detail,Journal Voucher Detil
Journal Voucher Detail No,Journal Voucher Detil ada
Journal Voucher {0} does not have account {1} or already matched,Journal Voucher {0} tidak memiliki akun {1} atau sudah cocok
Journal Vouchers {0} are un-linked,Journal Voucher {0} yang un-linked
Keep a track of communication related to this enquiry which will help for future reference.,Menyimpan melacak komunikasi yang berkaitan dengan penyelidikan ini yang akan membantu untuk referensi di masa mendatang.
Keep it web friendly 900px (w) by 100px (h),Simpan web 900px ramah (w) oleh 100px (h)
Key Performance Area,Key Bidang Kinerja
Key Responsibility Area,Key Responsibility area
Kg,Kg
LR Date,LR Tanggal
LR No,LR ada
Label,Label
Landed Cost Item,Landed Biaya Barang
Landed Cost Items,Landed Biaya Produk
Landed Cost Purchase Receipt,Landed Biaya Penerimaan Pembelian
Landed Cost Purchase Receipts,Mendarat Penerimaan Biaya Pembelian
Landed Cost Wizard,Landed Biaya Wisaya
Landed Cost updated successfully,Biaya Landed berhasil diperbarui
Language,Bahasa
Last Name,Nama Belakang
Last Purchase Rate,Tingkat Pembelian Terakhir
Latest,Terbaru
Lead,Lead
Lead Details,Detail Timbal
Lead Id,Timbal Id
Lead Name,Timbal Nama
Lead Owner,Timbal Owner
Lead Source,Sumber utama
Lead Status,Status Timbal
Lead Time Date,Timbal Waktu Tanggal
Lead Time Days,Memimpin Waktu Hari
Lead Time days is number of days by which this item is expected in your warehouse. This days is fetched in Material Request when you select this item.,Hari Waktu Timbal adalah jumlah hari dimana item ini diharapkan di gudang Anda. Hari ini diambil di Material Request ketika Anda memilih item ini.
Lead Type,Timbal Type
Lead must be set if Opportunity is made from Lead,Timbal harus diatur jika Peluang terbuat dari Timbal
Leave Allocation,Tinggalkan Alokasi
Leave Allocation Tool,Tinggalkan Alokasi Alat
Leave Application,Tinggalkan Aplikasi
Leave Approver,Tinggalkan Approver
Leave Approvers,Tinggalkan yang menyetujui
Leave Balance Before Application,Tinggalkan Saldo Sebelum Aplikasi
Leave Block List,Tinggalkan Block List
Leave Block List Allow,Tinggalkan Block List Izinkan
Leave Block List Allowed,Tinggalkan Block List Diizinkan
Leave Block List Date,Tinggalkan Block List Tanggal
Leave Block List Dates,Tinggalkan Block List Tanggal
Leave Block List Name,Tinggalkan Nama Block List
Leave Blocked,Tinggalkan Diblokir
Leave Control Panel,Tinggalkan Control Panel
Leave Encashed?,Tinggalkan dicairkan?
Leave Encashment Amount,Tinggalkan Pencairan Jumlah
Leave Type,Tinggalkan Type
Leave Type Name,Tinggalkan Type Nama
Leave Without Pay,Tinggalkan Tanpa Bayar
Leave application has been approved.,Pengajuan cuti telah disetujui.
Leave application has been rejected.,Pengajuan cuti telah ditolak.
Leave approver must be one of {0},Tinggalkan approver harus menjadi salah satu {0}
Leave blank if considered for all branches,Biarkan kosong jika dipertimbangkan untuk semua cabang
Leave blank if considered for all departments,Biarkan kosong jika dianggap untuk semua departemen
Leave blank if considered for all designations,Biarkan kosong jika dipertimbangkan untuk semua sebutan
Leave blank if considered for all employee types,Biarkan kosong jika dipertimbangkan untuk semua jenis karyawan
"Leave can be approved by users with Role, ""Leave Approver""","Tinggalkan dapat disetujui oleh pengguna dengan Role, ""Tinggalkan Approver"""
Leave of type {0} cannot be longer than {1},Tinggalkan jenis {0} tidak boleh lebih dari {1}
Leaves Allocated Successfully for {0},Daun Dialokasikan Berhasil untuk {0}
Leaves for type {0} already allocated for Employee {1} for Fiscal Year {0},Daun untuk tipe {0} sudah dialokasikan untuk Karyawan {1} Tahun Anggaran {0}
Leaves must be allocated in multiples of 0.5,"Daun harus dialokasikan dalam kelipatan 0,5"
Ledger,Buku besar
Ledgers,Buku Pembantu
Left,Waktu tersisa
Legal,Hukum
Legal Expenses,Beban Legal
Letter Head,Surat Kepala
Letter Heads for print templates.,Surat Kepala untuk mencetak template.
Level,Level
Lft,Lft
Liability,Kewajiban
List a few of your customers. They could be organizations or individuals.,Daftar beberapa pelanggan Anda. Mereka bisa menjadi organisasi atau individu.
List a few of your suppliers. They could be organizations or individuals.,Daftar beberapa pemasok Anda. Mereka bisa menjadi organisasi atau individu.
List items that form the package.,Daftar item yang membentuk paket.
List this Item in multiple groups on the website.,Daftar Barang ini dalam beberapa kelompok di website.
"List your products or services that you buy or sell. Make sure to check the Item Group, Unit of Measure and other properties when you start.","Daftar produk atau jasa yang Anda membeli atau menjual. Pastikan untuk memeriksa Grup Barang, Satuan Ukur dan properti lainnya ketika Anda mulai."
"List your tax heads (e.g. VAT, Excise; they should have unique names) and their standard rates. This will create a standard template, which you can edit and add more later.","Daftar kepala pajak Anda (misalnya PPN, Cukai, mereka harus memiliki nama yang unik) dan tingkat standar mereka. Ini akan membuat template standar, yang dapat Anda edit dan menambahkannya kemudian."
Loading...,Memuat...
Loans (Liabilities),Kredit (Kewajiban)
Loans and Advances (Assets),Pinjaman Uang Muka dan (Aset)
Local,[Daerah
Login,Masuk
Login with your new User ID,Login dengan User ID baru Anda
Logo,Logo
Logo and Letter Heads,Logo dan Surat Kepala
Lost,Tersesat
Lost Reason,Kehilangan Alasan
Low,Rendah
Lower Income,Penghasilan rendah
MTN Details,MTN Detail
Main,Utama
Main Reports,Laporan Utama
Maintain Same Rate Throughout Sales Cycle,Menjaga Tingkat Sama Sepanjang Siklus Penjualan
Maintain same rate throughout purchase cycle,Mempertahankan tingkat yang sama sepanjang siklus pembelian
Maintenance,Pemeliharaan
Maintenance Date,Pemeliharaan Tanggal
Maintenance Details,Detail Maintenance
Maintenance Schedule,Jadwal pemeliharaan
Maintenance Schedule Detail,Jadwal pemeliharaan Detil
Maintenance Schedule Item,Jadwal pemeliharaan Barang
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 {0},Jadwal pemeliharaan {0} ada terhadap {0}
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Jadwal pemeliharaan {0} harus dibatalkan sebelum membatalkan Sales Order ini
Maintenance Schedules,Jadwal pemeliharaan
Maintenance Status,Status pemeliharaan
Maintenance Time,Pemeliharaan Waktu
Maintenance Type,Pemeliharaan Type
Maintenance Visit,Pemeliharaan Visit
Maintenance Visit Purpose,Pemeliharaan Visit Tujuan
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}
Major/Optional Subjects,Mayor / Opsional Subjek
Make ,Make 
Make Accounting Entry For Every Stock Movement,Membuat Entri Akuntansi Untuk Setiap Gerakan Stock
Make Bank Voucher,Membuat Bank Voucher
Make Credit Note,Membuat Nota Kredit
Make Debit Note,Membuat Debit Note
Make Delivery,Membuat Pengiriman
Make Difference Entry,Membuat Perbedaan Entri
Make Excise Invoice,Membuat Cukai Faktur
Make Installation Note,Membuat Instalasi Note
Make Invoice,Membuat Invoice
Make Maint. Schedule,Buat Maint. Jadwal
Make Maint. Visit,Buat Maint. Kunjungan
Make Maintenance Visit,Membuat Maintenance Visit
Make Packing Slip,Membuat Packing Slip
Make Payment,Lakukan Pembayaran
Make Payment Entry,Membuat Entri Pembayaran
Make Purchase Invoice,Membuat Purchase Invoice
Make Purchase Order,Membuat Purchase Order
Make Purchase Receipt,Membuat Pembelian Penerimaan
Make Salary Slip,Membuat Slip Gaji
Make Salary Structure,Membuat Struktur Gaji
Make Sales Invoice,Membuat Sales Invoice
Make Sales Order,Membuat Sales Order
Make Supplier Quotation,Membuat Pemasok Quotation
Make Time Log Batch,Membuat Waktu Log Batch
Male,Laki-laki
Manage Customer Group Tree.,Manage Group Pelanggan Pohon.
Manage Sales Partners.,Mengelola Penjualan Partners.
Manage Sales Person Tree.,Mengelola Penjualan Orang Pohon.
Manage Territory Tree.,Kelola Wilayah Pohon.
Manage cost of operations,Mengelola biaya operasional
Management,Manajemen
Manager,Manajer
"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.","Wajib jika Stock Item ""Yes"". Juga gudang standar di mana kuantitas milik diatur dari Sales Order."
Manufacture against Sales Order,Industri melawan Sales Order
Manufacture/Repack,Industri / Repack
Manufactured Qty,Diproduksi Qty
Manufactured quantity will be updated in this warehouse,Kuantitas Diproduksi akan diperbarui di gudang ini
Manufactured quantity {0} cannot be greater than planned quanitity {1} in Production Order {2},Kuantitas Diproduksi {0} Tidak dapat lebih besar dari yang direncanakan quanitity {1} dalam Orde Produksi {2}
Manufacturer,Pabrikan
Manufacturer Part Number,Produsen Part Number
Manufacturing,Manufaktur
Manufacturing Quantity,Manufacturing Quantity
Manufacturing Quantity is mandatory,Manufaktur Kuantitas adalah wajib
Margin,Margin
Marital Status,Status Perkawinan
Market Segment,Segmen Pasar
Marketing,Pemasaran
Marketing Expenses,Beban Pemasaran
Married,Belum Menikah
Mass Mailing,Mailing massa
Master Name,Guru Nama
Master Name is mandatory if account type is Warehouse,Guru Nama adalah wajib jika jenis account adalah Gudang
Master Type,Guru Type
Masters,Masters
Match non-linked Invoices and Payments.,Cocokkan Faktur non-linked dan Pembayaran.
Material Issue,Material Isu
Material Receipt,Material Receipt
Material Request,Permintaan Material
Material Request Detail No,Permintaan Detil Material ada
Material Request For Warehouse,Permintaan Material Untuk Gudang
Material Request Item,Material Permintaan Barang
Material Request Items,Permintaan Produk Bahan
Material Request No,Permintaan Material yang
Material Request Type,Permintaan Jenis Bahan
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 used to make this Stock Entry,Permintaan bahan yang digunakan untuk membuat Masuk Bursa ini
Material Request {0} is cancelled or stopped,Permintaan Material {0} dibatalkan atau dihentikan
Material Requests for which Supplier Quotations are not created,Permintaan Material yang Pemasok Kutipan tidak diciptakan
Material Requests {0} created,Permintaan Material {0} dibuat
Material Requirement,Material Requirement
Material Transfer,Material Transfer
Materials,bahan materi
Materials Required (Exploded),Bahan yang dibutuhkan (Meledak)
Max 5 characters,Max 5 karakter
Max Days Leave Allowed,Max Hari Cuti Diizinkan
Max Discount (%),Max Diskon (%)
Max Qty,Max Qty
Max discount allowed for item: {0} is {1}%,Diskon Max diperbolehkan untuk item: {0} {1}%
Maximum Amount,Jumlah Maksimum
Maximum allowed credit is {0} days after posting date,Kredit maksimum yang diijinkan adalah {0} hari setelah tanggal postingan
Maximum {0} rows allowed,Maksimum {0} baris diperbolehkan
Maxiumm discount for Item {0} is {1}%,Diskon Maxiumm untuk Item {0} adalah {1}%
Medical,Medis
Medium,Sedang
"Merging is only possible if following properties are same in both records. Group or Ledger, Root Type, Company","Penggabungan hanya mungkin jika sifat berikut sama di kedua catatan. Grup atau Ledger, Akar Type, Perusahaan"
Message,Pesan
Message Parameter,Parameter pesan
Message Sent,Pesan Terkirim
Message updated,Pesan diperbarui
Messages,Pesan
Messages greater than 160 characters will be split into multiple messages,Pesan lebih dari 160 karakter akan dipecah menjadi beberapa pesan
Middle Income,Penghasilan Tengah
Milestone,Batu
Milestone Date,Milestone Tanggal
Milestones,Milestones
Milestones will be added as Events in the Calendar,Milestones akan ditambahkan sebagai Acara di Kalender
Min Order Qty,Min Order Qty
Min Qty,Min Qty
Min Qty can not be greater than Max Qty,Min Qty tidak dapat lebih besar dari Max Qty
Minimum Amount,Jumlah Minimum
Minimum Order Qty,Minimum Order Qty
Minute,Menit
Misc Details,Lain-lain Detail
Miscellaneous Expenses,Beban lain-lain
Miscelleneous,Miscelleneous
Mobile No,Ponsel Tidak ada
Mobile No.,Ponsel Nomor
Mode of Payment,Mode Pembayaran
Modern,Modern
Monday,Senin
Month,Bulan
Monthly,Bulanan
Monthly Attendance Sheet,Lembar Kehadiran Bulanan
Monthly Earning & Deduction,Bulanan Pendapatan & Pengurangan
Monthly Salary Register,Gaji Bulanan Daftar
Monthly salary statement.,Pernyataan gaji bulanan.
More Details,Detail Lebih
More Info,Info Selengkapnya
Motion Picture & Video,Motion Picture & Video
Moving Average,Moving Average
Moving Average Rate,Moving Average Tingkat
Mr,Mr
Ms,Ms
Multiple Item prices.,Multiple Item harga.
"Multiple Price Rule 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. Aturan Harga: {0}"
Music,Musik
Must be Whole Number,Harus Nomor Utuh
Name,Nama
Name and Description,Nama dan Deskripsi
Name and Employee ID,Nama dan ID Karyawan
"Name of new Account. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master","Nama Akun baru. Catatan: Tolong jangan membuat account untuk Pelanggan dan Pemasok, mereka dibuat secara otomatis dari Nasabah dan Pemasok utama"
Name of person or organization that this address belongs to.,Nama orang atau organisasi yang alamat ini milik.
Name of the Budget Distribution,Nama Distribusi Anggaran
Naming Series,Penamaan Series
Negative Quantity is not allowed,Jumlah negatif tidak diperbolehkan
Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},Kesalahan Stock negatif ({6}) untuk Item {0} Gudang {1} di {2} {3} in {4} {5}
Negative Valuation Rate is not allowed,Tingkat Penilaian negatif tidak diperbolehkan
Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},Saldo negatif dalam Batch {0} untuk Item {1} di Gudang {2} pada {3} {4}
Net Pay,Pay Net
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.
Net Profit / Loss,Laba / Rugi
Net Total,Jumlah Bersih
Net Total (Company Currency),Jumlah Bersih (Perusahaan Mata Uang)
Net Weight,Berat Bersih
Net Weight UOM,Berat Bersih UOM
Net Weight of each Item,Berat Bersih dari setiap Item
Net pay cannot be negative,Gaji bersih yang belum dapat negatif
Never,Tidak Pernah
New ,New 
New Account,Akun baru
New Account Name,New Account Name
New BOM,New BOM
New Communications,Komunikasi Baru
New Company,Perusahaan Baru
New Cost Center,Biaya Pusat baru
New Cost Center Name,Baru Nama Biaya Pusat
New Delivery Notes,Catatan Pengiriman Baru
New Enquiries,Pertanyaan Baru
New Leads,Memimpin Baru
New Leave Application,Tinggalkan Aplikasi Baru
New Leaves Allocated,Daun baru Dialokasikan
New Leaves Allocated (In Days),Daun baru Dialokasikan (Dalam Hari)
New Material Requests,Permintaan Bahan Baru
New Projects,Proyek Baru
New Purchase Orders,Pesanan Pembelian Baru
New Purchase Receipts,Penerimaan Pembelian Baru
New Quotations,Kutipan Baru
New Sales Orders,Penjualan New Orders
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Baru Serial ada tidak dapat memiliki Gudang. Gudang harus diatur oleh Bursa Masuk atau Penerimaan Pembelian
New Stock Entries,Entri New Stock
New Stock UOM,New Stock UOM
New Stock UOM is required,New Stock UOM diperlukan
New Stock UOM must be different from current stock UOM,New Stock UOM harus berbeda dari UOM saham saat ini
New Supplier Quotations,Pemasok Kutipan Baru
New Support Tickets,Dukungan Tiket Baru
New UOM must NOT be of type Whole Number,New UOM TIDAK harus dari jenis Whole Number
New Workplace,Kerja baru
Newsletter,Laporan berkala
Newsletter Content,Newsletter Konten
Newsletter Status,Newsletter Status
Newsletter has already been sent,Newsletter telah terkirim
"Newsletters to contacts, leads.","Newsletter ke kontak, memimpin."
Newspaper Publishers,Koran Publishers
Next,Berikutnya
Next Contact By,Berikutnya Contact By
Next Contact Date,Berikutnya Hubungi Tanggal
Next Date,Berikutnya Tanggal
Next email will be sent on:,Email berikutnya akan dikirim pada:
No,Nomor
No Customer Accounts found.,Tidak ada Rekening Nasabah ditemukan.
No Customer or Supplier Accounts found,"Tidak ada pelanggan, atau pemasok Akun ditemukan"
No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user,Tidak ada yang menyetujui Beban. Silakan menetapkan 'Beban Approver' Peran untuk minimal satu pengguna
No Item with Barcode {0},Ada Barang dengan Barcode {0}
No Item with Serial No {0},Tidak ada Barang dengan Serial No {0}
No Items to pack,Tidak ada item untuk berkemas
No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user,Tidak Cuti yang menyetujui. Silakan menetapkan Peran 'Leave Approver' untuk minimal satu pengguna
No Permission,Tidak ada Izin
No Production Orders created,Tidak ada Pesanan Produksi dibuat
No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,Tidak Pemasok Akun ditemukan. Akun pemasok diidentifikasi berdasarkan nilai 'Guru Type' dalam catatan akun.
No accounting entries for the following warehouses,Tidak ada entri akuntansi untuk gudang berikut
No addresses created,Tidak ada alamat dibuat
No contacts created,Tidak ada kontak dibuat
No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template.,Tidak ada Alamat bawaan Template ditemukan. Harap membuat yang baru dari Pengaturan> Percetakan dan Branding> Template Alamat.
No default BOM exists for Item {0},Tidak ada standar BOM ada untuk Item {0}
No description given,Tidak diberikan deskripsi
No employee found,Tidak ada karyawan yang ditemukan
No employee found!,Tidak ada karyawan ditemukan!
No of Requested SMS,Tidak ada dari Diminta SMS
No of Sent SMS,Tidak ada dari Sent SMS
No of Visits,Tidak ada Kunjungan
No permission,Tidak ada izin
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 salary slip found for month: ,No salary slip found for month: 
Non Profit,Non Profit
Nos,Nos
Not Active,Tidak Aktif
Not Applicable,Tidak Berlaku
Not Available,Tidak Tersedia
Not Billed,Tidak Ditagih
Not Delivered,Tidak Disampaikan
Not Set,Tidak Diatur
Not allowed to update stock transactions older than {0},Tidak diizinkan untuk memperbarui transaksi saham lebih tua 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,Tidak diijinkan
Note,Catatan
Note User,Catatan Pengguna
"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.","Catatan: backup dan file tidak dihapus dari Dropbox, Anda harus menghapusnya secara manual."
"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.","Catatan: backup dan file tidak dihapus dari Google Drive, Anda harus menghapusnya secara manual."
Note: Due Date exceeds the allowed credit days by {0} day(s),Catatan: Karena Tanggal melebihi hari-hari kredit diperbolehkan oleh {0} hari (s)
Note: Email will not be sent to disabled users,Catatan: Email tidak akan dikirim ke pengguna cacat
Note: Item {0} entered multiple times,Catatan: 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
Notes:,Catatan:
Nothing to request,Tidak ada yang meminta
Notice (days),Notice (hari)
Notification Control,Pemberitahuan Kontrol
Notification Email Address,Pemberitahuan Alamat Email
Notify by Email on creation of automatic Material Request,Memberitahu melalui Email pada penciptaan Permintaan Bahan otomatis
Number Format,Nomor Format
Offer Date,Penawaran Tanggal
Office,Kantor
Office Equipments,Peralatan Kantor
Office Maintenance Expenses,Beban Pemeliharaan Kantor
Office Rent,Kantor Sewa
Old Parent,Induk tua
On Net Total,Pada Bersih Jumlah
On Previous Row Amount,Pada Sebelumnya Row Jumlah
On Previous Row Total,Pada Sebelumnya Row Jumlah
Online Auctions,Lelang Online
Only Leave Applications with status 'Approved' can be submitted,Hanya Tinggalkan Aplikasi status 'Disetujui' dapat diajukan
"Only Serial Nos with status ""Available"" can be delivered.","Hanya Serial Nos status ""Available"" dapat disampaikan."
Only leaf nodes are allowed in transaction,Hanya node daun yang diperbolehkan dalam transaksi
Only the selected Leave Approver can submit this Leave Application,Hanya dipilih Cuti Approver dapat mengirimkan Aplikasi Cuti ini
Open,Buka
Open Production Orders,Pesanan terbuka Produksi
Open Tickets,Buka Tiket
Opening (Cr),Pembukaan (Cr)
Opening (Dr),Pembukaan (Dr)
Opening Date,Tanggal pembukaan
Opening Entry,Membuka Entri
Opening Qty,Membuka Qty
Opening Time,Membuka Waktu
Opening Value,Nilai Membuka
Opening for a Job.,Membuka untuk Job.
Operating Cost,Biaya Operasi
Operation Description,Operasi Deskripsi
Operation No,Operasi Tidak ada
Operation Time (mins),Operasi Waktu (menit)
Operation {0} is repeated in Operations Table,Operasi {0} diulangi dalam Operasi Tabel
Operation {0} not present in Operations Table,Operasi {0} tidak hadir dalam Operasi Tabel
Operations,Operasi
Opportunity,Kesempatan
Opportunity Date,Peluang Tanggal
Opportunity From,Peluang Dari
Opportunity Item,Peluang Barang
Opportunity Items,Peluang Produk
Opportunity Lost,Peluang Hilang
Opportunity Type,Peluang Type
Optional. This setting will be used to filter in various transactions.,Opsional. Pengaturan ini akan digunakan untuk menyaring dalam berbagai transaksi.
Order Type,Pesanan Type
Order Type must be one of {0},Pesanan Type harus menjadi salah satu {0}
Ordered,Ordered
Ordered Items To Be Billed,Memerintahkan Items Akan Ditagih
Ordered Items To Be Delivered,Memerintahkan Items Akan Disampaikan
Ordered Qty,Memerintahkan Qty
"Ordered Qty: Quantity ordered for purchase, but not received.","Memerintahkan Qty: Jumlah memerintahkan untuk pembelian, tetapi tidak diterima."
Ordered Quantity,Memerintahkan Kuantitas
Orders released for production.,Pesanan dirilis untuk produksi.
Organization Name,Nama Organisasi
Organization Profile,Profil Organisasi
Organization branch master.,Cabang master organisasi.
Organization unit (department) master.,Unit Organisasi (kawasan) menguasai.
Other,Lain-lain
Other Details,Detail lainnya
Others,Lainnya
Out Qty,Out Qty
Out Value,Out Nilai
Out of AMC,Dari AMC
Out of Warranty,Out of Garansi
Outgoing,Ramah
Outstanding Amount,Jumlah yang luar biasa
Outstanding for {0} cannot be less than zero ({1}),Posisi untuk {0} tidak bisa kurang dari nol ({1})
Overhead,Atas
Overheads,Overhead
Overlapping conditions found between:,Kondisi Tumpang Tindih ditemukan antara:
Overview,Pratinjau
Owned,Dimiliki
Owner,Pemilik
P L A - Cess Portion,PLA - Cess Bagian
PL or BS,PL atau BS
PO Date,PO Tanggal
PO No,PO No
POP3 Mail Server,POP3 Mail Server
POP3 Mail Settings,POP3 Mail Settings
POP3 mail server (e.g. pop.gmail.com),POP3 server mail (misalnya pop.gmail.com)
POP3 server e.g. (pop.gmail.com),POP3 server misalnya (pop.gmail.com)
POS Setting,Pengaturan POS
POS Setting required to make POS Entry,Pengaturan POS diperlukan untuk membuat POS Entri
POS Setting {0} already created for user: {1} and company {2},Pengaturan POS {0} sudah diciptakan untuk pengguna: {1} dan perusahaan {2}
POS View,Lihat POS
PR Detail,PR Detil
Package Item Details,Paket Item detail
Package Items,Paket Items
Package Weight Details,Paket Berat Detail
Packed Item,Barang Dikemas
Packed quantity must equal quantity for Item {0} in row {1},Dikemas kuantitas harus sama kuantitas untuk Item {0} berturut-turut {1}
Packing Details,Packing Detail
Packing List,Packing List
Packing Slip,Packing Slip
Packing Slip Item,Packing Slip Barang
Packing Slip Items,Packing Slip Items
Packing Slip(s) cancelled,Packing slip (s) dibatalkan
Page Break,Halaman Istirahat
Page Name,Nama Halaman
Paid Amount,Dibayar Jumlah
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
Pair,Pasangkan
Parameter,{0}Para{/0}{1}me{/1}{0}ter{/0}
Parent Account,Rekening Induk
Parent Cost Center,Parent Biaya Pusat
Parent Customer Group,Induk Pelanggan Grup
Parent Detail docname,Induk Detil docname
Parent Item,Induk Barang
Parent Item Group,Induk Barang Grup
Parent Item {0} must be not Stock Item and must be a Sales Item,Induk Barang {0} harus tidak Stock Barang dan harus Item Penjualan
Parent Party Type,Type Partai Induk
Parent Sales Person,Penjualan Induk Orang
Parent Territory,Wilayah Induk
Parent Website Page,Induk Website Halaman
Parent Website Route,Parent Situs Route
Parenttype,Parenttype
Part-time,Part-time
Partially Completed,Sebagian Selesai
Partly Billed,Sebagian Ditagih
Partly Delivered,Sebagian Disampaikan
Partner Target Detail,Mitra Sasaran Detil
Partner Type,Mitra Type
Partner's Website,Partner Website
Party,Pihak
Party Account,Akun Party
Party Type,Type Partai
Party Type Name,Jenis Party Nama
Passive,Pasif
Passport Number,Nomor Paspor
Password,Kata sandi
Pay To / Recd From,Pay To / RECD Dari
Payable,Hutang
Payables,Hutang
Payables Group,Hutang Grup
Payment Days,Hari Pembayaran
Payment Due Date,Tanggal Jatuh Tempo Pembayaran
Payment Period Based On Invoice Date,Masa Pembayaran Berdasarkan Faktur Tanggal
Payment Reconciliation,Rekonsiliasi Pembayaran
Payment Reconciliation Invoice,Rekonsiliasi Pembayaran Faktur
Payment Reconciliation Invoices,Faktur Rekonsiliasi Pembayaran
Payment Reconciliation Payment,Rekonsiliasi Pembayaran Pembayaran
Payment Reconciliation Payments,Pembayaran Rekonsiliasi Pembayaran
Payment Type,Jenis Pembayaran
Payment cannot be made for empty cart,Pembayaran tidak dapat dibuat untuk keranjang kosong
Payment of salary for the month {0} and year {1},Pembayaran gaji untuk bulan {0} dan tahun {1}
Payments,2. Payment (Pembayaran)
Payments Made,Pembayaran Dibuat
Payments Received,Pembayaran Diterima
Payments made during the digest period,Pembayaran dilakukan selama periode digest
Payments received during the digest period,Pembayaran yang diterima selama periode digest
Payroll Settings,Pengaturan Payroll
Pending,Menunggu
Pending Amount,Pending Jumlah
Pending Items {0} updated,Pending Items {0} diperbarui
Pending Review,Pending Ulasan
Pending SO Items For Purchase Request,Pending SO Items Untuk Pembelian Permintaan
Pension Funds,Dana pensiun
Percent Complete,Persen Lengkap
Percentage Allocation,Persentase Alokasi
Percentage Allocation should be equal to 100%,Persentase Alokasi harus sama dengan 100%
Percentage variation in quantity to be allowed while receiving or delivering this item.,Variasi persentase kuantitas yang diizinkan saat menerima atau memberikan item ini.
Percentage you are allowed to receive or deliver more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to receive 110 units.,Persentase Anda diijinkan untuk menerima atau memberikan lebih terhadap kuantitas memerintahkan. Misalnya: Jika Anda telah memesan 100 unit. dan Tunjangan Anda adalah 10% maka Anda diperbolehkan untuk menerima 110 unit.
Performance appraisal.,Penilaian kinerja.
Period,periode
Period Closing Voucher,Voucher Periode penutupan
Periodicity,Masa haid
Permanent Address,Permanent Alamat
Permanent Address Is,Alamat permanen Apakah
Permission,Izin
Personal,Pribadi
Personal Details,Data Pribadi
Personal Email,Email Pribadi
Pharmaceutical,Farmasi
Pharmaceuticals,Farmasi
Phone,Telepon
Phone No,Telepon yang
Piecework,Pekerjaan yg dibayar menurut hasil yg dikerjakan
Pincode,Kode PIN
Place of Issue,Tempat Issue
Plan for maintenance visits.,Rencana kunjungan pemeliharaan.
Planned Qty,Rencana Qty
"Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured.","Rencana Qty: Kuantitas, yang, Orde Produksi telah dibangkitkan, tetapi tertunda akan diproduksi."
Planned Quantity,Direncanakan Kuantitas
Planning,Perencanaan
Plant,Tanaman
Plant and Machinery,Tanaman dan Mesin
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,Silakan Singkatan atau Nama pendek dengan benar karena akan ditambahkan sebagai Suffix kepada semua Kepala Akun.
Please Update SMS Settings,Silahkan Perbarui Pengaturan SMS
Please add expense voucher details,Harap tambahkan beban rincian voucher
Please add to Modes of Payment from Setup.,Silahkan menambah Mode Pembayaran dari Setup.
Please check 'Is Advance' against Account {0} if this is an advance entry.,Silakan periksa 'Apakah Muka' terhadap Rekening {0} jika ini adalah sebuah entri muka.
Please click on 'Generate Schedule',Silahkan klik 'Menghasilkan Jadwal'
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Silahkan klik 'Menghasilkan Jadwal' untuk mengambil Serial yang ditambahkan untuk Item {0}
Please click on 'Generate Schedule' to get schedule,Silahkan klik 'Menghasilkan Jadwal' untuk mendapatkan jadwal
Please create Customer from Lead {0},Silakan membuat pelanggan dari Lead {0}
Please create Salary Structure for employee {0},Silakan membuat Struktur Gaji untuk karyawan {0}
Please create new account from Chart of Accounts.,Silahkan buat akun baru dari Bagan Akun.
Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.,Mohon TIDAK membuat Account (Buku Pembantu) untuk Pelanggan dan Pemasok. Mereka diciptakan langsung dari Nasabah / Pemasok master.
Please enter 'Expected Delivery Date',Masukkan 'Diharapkan Pengiriman Tanggal'
Please enter 'Is Subcontracted' as Yes or No,Masukkan 'Apakah subkontrak' sebagai Ya atau Tidak
Please enter 'Repeat on Day of Month' field value,Masukkan 'Ulangi pada Hari Bulan' nilai bidang
Please enter Account Receivable/Payable group in company master,Cukup masukkan Piutang / Hutang group in master perusahaan
Please enter Approving Role or Approving User,Masukkan Menyetujui Peran atau Menyetujui Pengguna
Please enter BOM for Item {0} at row {1},Masukkan BOM untuk Item {0} pada baris {1}
Please enter Company,Masukkan Perusahaan
Please enter Cost Center,Masukkan Biaya Pusat
Please enter Delivery Note No or Sales Invoice No to proceed,Masukkan Pengiriman Note ada atau Faktur Penjualan Tidak untuk melanjutkan
Please enter Employee Id of this sales parson,Masukkan Id Karyawan pendeta penjualan ini
Please enter Expense Account,Masukkan Beban Akun
Please enter Item Code to get batch no,Masukkan Item Code untuk mendapatkan bets tidak
Please enter Item Code.,Masukkan Item Code.
Please enter Item first,Masukkan Barang pertama
Please enter Maintaince Details first,Cukup masukkan Maintaince Detail pertama
Please enter Master Name once the account is created.,Masukkan Nama Guru setelah account dibuat.
Please enter Planned Qty for Item {0} at row {1},Masukkan Planned Qty untuk Item {0} pada baris {1}
Please enter Production Item first,Masukkan Produksi Barang pertama
Please enter Purchase Receipt No to proceed,Masukkan Penerimaan Pembelian ada untuk melanjutkan
Please enter Reference date,Harap masukkan tanggal Referensi
Please enter Warehouse for which Material Request will be raised,Masukkan Gudang yang Material Permintaan akan dibangkitkan
Please enter Write Off Account,Cukup masukkan Write Off Akun
Please enter atleast 1 invoice in the table,Masukkan minimal 1 faktur dalam tabel
Please enter company first,Silahkan masukkan perusahaan pertama
Please enter company name first,Silahkan masukkan nama perusahaan pertama
Please enter default Unit of Measure,Masukkan Satuan default Ukur
Please enter default currency in Company Master,Masukkan mata uang default di Perusahaan Guru
Please enter email address,Masukkan alamat email
Please enter item details,Masukkan detil item
Please enter message before sending,Masukkan pesan sebelum mengirimnya
Please enter parent account group for warehouse account,Masukkan rekening kelompok orangtua untuk account warehouse
Please enter parent cost center,Masukkan 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 sales order in the above table,Masukkan order penjualan pada tabel di atas
Please enter valid Company Email,Masukkan Perusahaan valid Email
Please enter valid Email Id,Silahkan lakukan validasi Email Id
Please enter valid Personal Email,Silahkan lakukan validasi Email Pribadi
Please enter valid mobile nos,Masukkan nos ponsel yang valid
Please find attached Sales Invoice #{0},Silakan menemukan terlampir Faktur Penjualan # {0}
Please install dropbox python module,Silakan instal modul python dropbox
Please mention no of visits required,Harap menyebutkan tidak ada kunjungan yang diperlukan
Please pull items from Delivery Note,Silakan tarik item dari Pengiriman Note
Please save the Newsletter before sending,Harap menyimpan Newsletter sebelum dikirim
Please save the document before generating maintenance schedule,Harap menyimpan dokumen sebelum menghasilkan jadwal pemeliharaan
Please see attachment,Silakan lihat lampiran
Please select Bank Account,Silakan pilih Rekening Bank
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 daun tahun fiskal ini
Please select Category first,Silahkan pilih Kategori pertama
Please select Charge Type first,Silakan pilih Mengisi Tipe pertama
Please select Fiscal Year,Silahkan pilih Tahun Anggaran
Please select Group or Ledger value,Silahkan pilih Grup atau Ledger nilai
Please select Incharge Person's name,Silahkan pilih nama Incharge Orang
Please select Invoice Type and Invoice Number in atleast one row,Silakan pilih Invoice Type dan Faktur Jumlah minimal dalam satu baris
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM","Silakan pilih Barang di mana ""Apakah Stock Item"" adalah ""Tidak"" dan ""Apakah Penjualan Item"" adalah ""Ya"" dan tidak ada Penjualan BOM lainnya"
Please select Price List,Silakan pilih Daftar Harga
Please select Start Date and End Date for Item {0},Silakan pilih Tanggal Mulai dan Tanggal Akhir untuk Item {0}
Please select Time Logs.,Silakan pilih Sisa log.
Please select a csv file,Silakan pilih file csv
Please select a valid csv file with data,Silakan pilih file csv dengan data yang valid
Please select a value for {0} quotation_to {1},Silakan pilih nilai untuk {0} quotation_to {1}
"Please select an ""Image"" first","Harap pilih ""Gambar"" pertama"
Please select charge type first,Silakan pilih jenis charge pertama
Please select company first,Silakan pilih perusahaan pertama
Please select company first.,Silakan pilih perusahaan pertama.
Please select item code,Silahkan pilih kode barang
Please select month and year,Silakan pilih bulan dan tahun
Please select prefix first,Silakan pilih awalan pertama
Please select the document type first,Silakan pilih jenis dokumen pertama
Please select weekly off day,Silakan pilih dari hari mingguan
Please select {0},Silahkan pilih {0}
Please select {0} first,Silahkan pilih {0} pertama
Please select {0} first.,Silahkan pilih {0} pertama.
Please set Dropbox access keys in your site config,Silakan set tombol akses Dropbox di situs config Anda
Please set Google Drive access keys in {0},Silakan set tombol akses Google Drive di {0}
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 value {0} in Company {0},Silakan set nilai default {0} di Perusahaan {0}
Please set {0},Silakan set {0}
Please setup Employee Naming System in Human Resource > HR Settings,Silahkan pengaturan Penamaan Sistem Karyawan di Sumber Daya Manusia> Pengaturan SDM
Please setup numbering series for Attendance via Setup > Numbering Series,Silahkan pengaturan seri penomoran untuk Kehadiran melalui Pengaturan> Penomoran Series
Please setup your chart of accounts before you start Accounting Entries,Silakan pengaturan grafik Anda account sebelum Anda mulai Entries Akuntansi
Please specify,Silakan tentukan
Please specify Company,Silakan tentukan Perusahaan
Please specify Company to proceed,Silahkan tentukan Perusahaan untuk melanjutkan
Please specify Default Currency in Company Master and Global Defaults,Silakan tentukan Currency Default dalam Perseroan Guru dan Default global
Please specify a,Silakan tentukan
Please specify a valid 'From Case No.',Silakan tentukan valid 'Dari Kasus No'
Please specify a valid Row ID for {0} in row {1},Silakan tentukan ID Row berlaku untuk {0} berturut-turut {1}
Please specify either Quantity or Valuation Rate or both,Silakan tentukan baik Quantity atau Tingkat Penilaian atau keduanya
Please submit to update Leave Balance.,Harap kirimkan untuk memperbarui Leave Balance.
Plot,Plot
Plot By,Plot By
Point of Sale,Point of Sale
Point-of-Sale Setting,Point-of-Sale Pengaturan
Post Graduate,Pasca Sarjana
Postal,Pos
Postal Expenses,Beban pos
Posting Date,Tanggal Posting
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 menjual.
Preferred Billing Address,Disukai Alamat Penagihan
Preferred Shipping Address,Disukai Alamat Pengiriman
Prefix,Awalan
Present,ada
Prevdoc DocType,Prevdoc DocType
Prevdoc Doctype,Prevdoc Doctype
Preview,Pratayang
Previous,Sebelumnya
Previous Work Experience,Pengalaman Kerja Sebelumnya
Price,Harga
Price / Discount,Harga / Diskon
Price List,Daftar Harga
Price List Currency,Daftar Harga Mata uang
Price List Currency not selected,Daftar Harga Mata uang tidak dipilih
Price List Exchange Rate,Daftar Harga Tukar
Price List Name,Daftar Harga Nama
Price List Rate,Daftar Harga Tingkat
Price List Rate (Company Currency),Daftar Harga Rate (Perusahaan Mata Uang)
Price List master.,Daftar harga Master.
Price List must be applicable for Buying or Selling,Harga List harus berlaku untuk Membeli atau Jual
Price List not selected,Daftar Harga tidak dipilih
Price List {0} is disabled,Daftar Harga {0} dinonaktifkan
Price or Discount,Harga atau Diskon
Pricing Rule,Aturan Harga
Pricing Rule Help,Aturan Harga Bantuan
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Rule harga pertama dipilih berdasarkan 'Terapkan On' lapangan, yang dapat Barang, 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 Rules are further filtered based on quantity.,Aturan harga selanjutnya disaring berdasarkan kuantitas.
Print Format Style,Print Format Style
Print Heading,Cetak Pos
Print Without Amount,Cetak Tanpa Jumlah
Print and Stationary,Cetak dan Alat Tulis
Printing and Branding,Percetakan dan Branding
Priority,Prioritas
Private Equity,Private Equity
Privilege Leave,Privilege Cuti
Probation,Percobaan
Process Payroll,Proses Payroll
Produced,Diproduksi
Produced Quantity,Diproduksi Jumlah
Product Enquiry,Enquiry Produk
Production,Produksi
Production Order,Pesanan Produksi
Production Order status is {0},Status pesanan produksi adalah {0}
Production Order {0} must be cancelled before cancelling this Sales Order,Pesanan produksi {0} harus dibatalkan sebelum membatalkan Sales Order ini
Production Order {0} must be submitted,Pesanan produksi {0} harus diserahkan
Production Orders,Pesanan Produksi
Production Orders in Progress,Pesanan produksi di Progress
Production Plan Item,Rencana Produksi Barang
Production Plan Items,Rencana Produksi Produk
Production Plan Sales Order,Rencana Produksi Sales Order
Production Plan Sales Orders,Rencana Produksi Pesanan Penjualan
Production Planning Tool,Alat Perencanaan Produksi
Products,Produk
"Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.","Produk akan diurutkan menurut beratnya usia dalam pencarian default. Lebih berat usia, tinggi produk akan muncul dalam daftar."
Professional Tax,Profesional Pajak
Profit and Loss,Laba Rugi
Profit and Loss Statement,Laba Rugi
Project,Proyek
Project Costing,Project Costing
Project Details,Detail Proyek
Project Manager,Manager Project
Project Milestone,Proyek Milestone
Project Milestones,Milestones Proyek
Project Name,Nama Proyek
Project Start Date,Proyek Tanggal Mulai
Project Type,Jenis proyek
Project Value,Nilai Proyek
Project activity / task.,Kegiatan proyek / tugas.
Project master.,Menguasai proyek.
Project will get saved and will be searchable with project name given,Proyek akan diselamatkan dan akan dicari dengan nama proyek yang diberikan
Project wise Stock Tracking,Project Tracking Stock bijaksana
Project-wise data is not available for Quotation,Data proyek-bijaksana tidak tersedia untuk Quotation
Projected,Proyeksi
Projected Qty,Proyeksi Jumlah
Projects,Proyek
Projects & System,Proyek & Sistem
Prompt for Email on Submission of,Prompt untuk Email pada Penyampaian
Proposal Writing,Penulisan Proposal
Provide email id registered in company,Menyediakan email id yang terdaftar di perusahaan
Provisional Profit / Loss (Credit),Laba Provisional / Rugi (Kredit)
Public,Publik
Published on website at: {0},Ditampilkan di website di: {0}
Publishing,Penerbitan
Pull sales orders (pending to deliver) based on the above criteria,Tarik pesanan penjualan (pending untuk memberikan) berdasarkan kriteria di atas
Purchase,Pembelian
Purchase / Manufacture Details,Detail Pembelian / Industri
Purchase Analytics,Pembelian Analytics
Purchase Common,Pembelian Umum
Purchase Details,Rincian pembelian
Purchase Discounts,Membeli Diskon
Purchase Invoice,Purchase Invoice
Purchase Invoice Advance,Pembelian Faktur Muka
Purchase Invoice Advances,Uang Muka Pembelian Faktur
Purchase Invoice Item,Purchase Invoice Barang
Purchase Invoice Trends,Pembelian Faktur Trends
Purchase Invoice {0} is already submitted,Purchase Invoice {0} sudah disampaikan
Purchase Order,Purchase Order
Purchase Order Item,Purchase Order Barang
Purchase Order Item No,Purchase Order Item No
Purchase Order Item Supplied,Purchase Order Barang Disediakan
Purchase Order Items,Purchase Order Items
Purchase Order Items Supplied,Purchase Order Items Disediakan
Purchase Order Items To Be Billed,Purchase Order Items Akan Ditagih
Purchase Order Items To Be Received,Purchase Order Items Akan Diterima
Purchase Order Message,Pesan Purchase Order
Purchase Order Required,Pesanan Pembelian Diperlukan
Purchase Order Trends,Pesanan Pembelian Trends
Purchase Order number required for Item {0},Nomor Purchase Order yang diperlukan untuk Item {0}
Purchase Order {0} is 'Stopped',Pesanan Pembelian {0} 'Berhenti'
Purchase Order {0} is not submitted,Purchase Order {0} tidak disampaikan
Purchase Orders given to Suppliers.,Pembelian Pesanan yang diberikan kepada Pemasok.
Purchase Receipt,Penerimaan Pembelian
Purchase Receipt Item,Penerimaan Pembelian Barang
Purchase Receipt Item Supplied,Penerimaan Pembelian Barang Disediakan
Purchase Receipt Item Supplieds,Penerimaan Pembelian Barang Supplieds
Purchase Receipt Items,Penerimaan Pembelian Produk
Purchase Receipt Message,Penerimaan Pembelian Pesan
Purchase Receipt No,Penerimaan Pembelian ada
Purchase Receipt Required,Penerimaan Pembelian Diperlukan
Purchase Receipt Trends,Tren Penerimaan Pembelian
Purchase Receipt number required for Item {0},Nomor Penerimaan Pembelian diperlukan untuk Item {0}
Purchase Receipt {0} is not submitted,Penerimaan Pembelian {0} tidak disampaikan
Purchase Register,Pembelian Register
Purchase Return,Pembelian Kembali
Purchase Returned,Pembelian Returned
Purchase Taxes and Charges,Pajak Pembelian dan Biaya
Purchase Taxes and Charges Master,Pajak Pembelian dan Biaya Guru
Purchse Order number required for Item {0},Nomor pesanan purchse diperlukan untuk Item {0}
Purpose,Tujuan
Purpose must be one of {0},Tujuan harus menjadi salah satu {0}
QA Inspection,QA Inspeksi
Qty,Qty
Qty Consumed Per Unit,Qty Dikonsumsi Per Unit
Qty To Manufacture,Qty Untuk Industri
Qty as per Stock UOM,Qty per Saham UOM
Qty to Deliver,Qty untuk Menyampaikan
Qty to Order,Qty to Order
Qty to Receive,Qty untuk Menerima
Qty to Transfer,Jumlah Transfer
Qualification,Kualifikasi
Quality,Kualitas
Quality Inspection,Inspeksi Kualitas
Quality Inspection Parameters,Parameter Inspeksi Kualitas
Quality Inspection Reading,Inspeksi Kualitas Reading
Quality Inspection Readings,Bacaan Inspeksi Kualitas
Quality Inspection required for Item {0},Kualitas Inspeksi diperlukan untuk Item {0}
Quality Management,Manajemen Kualitas
Quantity,Kuantitas
Quantity Requested for Purchase,Kuantitas Diminta Pembelian
Quantity and Rate,Jumlah dan Tingkat
Quantity and Warehouse,Kuantitas dan Gudang
Quantity cannot be a fraction in row {0},Kuantitas tidak bisa menjadi fraksi di baris {0}
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},Jumlah berturut-turut {0} ({1}) harus sama dengan jumlah yang diproduksi {2}
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Jumlah barang yang diperoleh setelah manufaktur / repacking dari mengingat jumlah bahan baku
Quantity required for Item {0} in row {1},Kuantitas yang dibutuhkan untuk Item {0} berturut-turut {1}
Quarter,Perempat
Quarterly,Triwulanan
Quick Help,Bantuan Cepat
Quotation,Kutipan
Quotation Item,Quotation Barang
Quotation Items,Quotation Items
Quotation Lost Reason,Quotation Kehilangan Alasan
Quotation Message,Quotation Pesan
Quotation To,Quotation Untuk
Quotation Trends,Quotation Trends
Quotation {0} is cancelled,Quotation {0} dibatalkan
Quotation {0} not of type {1},Quotation {0} bukan dari jenis {1}
Quotations received from Suppliers.,Kutipan yang diterima dari pemasok.
Quotes to Leads or Customers.,Harga untuk Memimpin atau Pelanggan.
Raise Material Request when stock reaches re-order level,Angkat Permintaan Bahan ketika saham mencapai tingkat re-order
Raised By,Dibesarkan Oleh
Raised By (Email),Dibesarkan Oleh (Email)
Random,Acak
Range,Jarak
Rate,Menilai
Rate ,
Rate (%),Rate (%)
Rate (Company Currency),Rate (Perusahaan Mata Uang)
Rate Of Materials Based On,Laju Bahan Berbasis On
Rate and Amount,Rate dan Jumlah
Rate at which Customer Currency is converted to customer's base currency,Tingkat di mana Pelanggan Mata Uang dikonversi ke mata uang dasar pelanggan
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
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
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 supplier's currency is converted to company's base currency,Tingkat di mana mata uang pemasok dikonversi ke mata uang dasar perusahaan
Rate at which this tax is applied,Tingkat di mana pajak ini diterapkan
Raw Material,Bahan Baku
Raw Material Item Code,Bahan Baku Item Code
Raw Materials Supplied,Disediakan Bahan Baku
Raw Materials Supplied Cost,Biaya Bahan Baku Disediakan
Raw material cannot be same as main Item,Bahan baku tidak bisa sama dengan Butir utama
Re-Order Level,Re-Order Tingkat
Re-Order Qty,Re-Order Qty
Re-order,Re-order
Re-order Level,Re-order Tingkat
Re-order Qty,Re-order Qty
Read,Membaca
Reading 1,Membaca 1
Reading 10,Membaca 10
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
Real Estate,Real Estate
Reason,Alasan
Reason for Leaving,Alasan Meninggalkan
Reason for Resignation,Alasan pengunduran diri
Reason for losing,Alasan untuk kehilangan
Recd Quantity,Recd Kuantitas
Receivable,Piutang
Receivable / Payable account will be identified based on the field Master Type,Piutang akun / Hutang akan diidentifikasi berdasarkan bidang Guru Type
Receivables,Piutang
Receivables / Payables,Piutang / Hutang
Receivables Group,Piutang Grup
Received Date,Diterima Tanggal
Received Items To Be Billed,Produk Diterima Akan Ditagih
Received Qty,Diterima Qty
Received and Accepted,Diterima dan Diterima
Receiver List,Receiver Daftar
Receiver List is empty. Please create Receiver List,Receiver List kosong. Silakan membuat Receiver List
Receiver Parameter,Receiver Parameter
Recipients,Penerima
Reconcile,Mendamaikan
Reconciliation Data,Rekonsiliasi data
Reconciliation HTML,Rekonsiliasi HTML
Reconciliation JSON,Rekonsiliasi JSON
Record item movement.,Gerakan barang Rekam.
Recurring Id,Berulang Id
Recurring Invoice,Faktur Berulang
Recurring Type,Berulang Type
Reduce Deduction for Leave Without Pay (LWP),Mengurangi Pengurangan untuk Tinggalkan Tanpa Bayar (LWP)
Reduce Earning for Leave Without Pay (LWP),Mengurangi Produktif untuk Tinggalkan Tanpa Bayar (LWP)
Ref,Ref
Ref Code,Ref Kode
Ref SQ,Ref SQ
Reference,Referensi
Reference #{0} dated {1},Referensi # {0} tanggal {1}
Reference Date,Referensi Tanggal
Reference Name,Referensi Nama
Reference No & Reference Date is required for {0},Referensi ada & Referensi Tanggal diperlukan untuk {0}
Reference No is mandatory if you entered Reference Date,Referensi ada adalah wajib jika Anda memasukkan Referensi Tanggal
Reference Number,Nomor Referensi
Reference Row #,Referensi Row #
Refresh,Segarkan
Registration Details,Detail Pendaftaran
Registration Info,Info Pendaftaran
Rejected,Ditolak
Rejected Quantity,Ditolak Kuantitas
Rejected Serial No,Ditolak Serial No
Rejected Warehouse,Gudang Ditolak
Rejected Warehouse is mandatory against regected item,Gudang Ditolak adalah wajib terhadap barang regected
Relation,Hubungan
Relieving Date,Menghilangkan Tanggal
Relieving Date must be greater than Date of Joining,Menghilangkan Tanggal harus lebih besar dari Tanggal Bergabung
Remark,Komentar
Remarks,Keterangan
Remarks Custom,Keterangan Kustom
Rename,Ubah nama
Rename Log,Rename Log
Rename Tool,Rename Alat
Rent Cost,Sewa Biaya
Rent per hour,Sewa per jam
Rented,Sewaan
Repeat on Day of Month,Ulangi pada Hari Bulan
Replace,Mengganti
Replace Item / BOM in all BOMs,Ganti Barang / BOM di semua BOMs
Replied,Menjawab
Report Date,Tanggal Laporan
Report Type,Jenis Laporan
Report Type is mandatory,Jenis Laporan adalah wajib
Reports to,Laporan untuk
Reqd By Date,Reqd By Date
Reqd by Date,Reqd berdasarkan Tanggal
Request Type,Permintaan Type
Request for Information,Request for Information
Request for purchase.,Permintaan pembelian.
Requested,Diminta
Requested For,Diminta Untuk
Requested Items To Be Ordered,Produk Diminta Akan Memerintahkan
Requested Items To Be Transferred,Produk Diminta Akan Ditransfer
Requested Qty,Diminta Qty
"Requested Qty: Quantity requested for purchase, but not ordered.","Diminta Qty: Jumlah yang diminta untuk pembelian, tetapi tidak memerintahkan."
Requests for items.,Permintaan untuk item.
Required By,Diperlukan Oleh
Required Date,Diperlukan Tanggal
Required Qty,Diperlukan Qty
Required only for sample item.,Diperlukan hanya untuk item sampel.
Required raw materials issued to the supplier for producing a sub - contracted item.,Bahan baku yang dibutuhkan dikeluarkan ke pemasok untuk memproduksi sub - item yang dikontrak.
Research,Penelitian
Research & Development,Penelitian & Pengembangan
Researcher,Peneliti
Reseller,Reseller
Reserved,Reserved
Reserved Qty,Reserved Qty
"Reserved Qty: Quantity ordered for sale, but not delivered.","Reserved Qty: Jumlah memerintahkan untuk dijual, tapi tidak disampaikan."
Reserved Quantity,Reserved Kuantitas
Reserved Warehouse,Gudang Reserved
Reserved Warehouse in Sales Order / Finished Goods Warehouse,Reserved Gudang di Sales Order / Barang Jadi Gudang
Reserved Warehouse is missing in Sales Order,Gudang Reserved hilang di Sales Order
Reserved Warehouse required for stock Item {0} in row {1},Reserved Gudang diperlukan untuk stok Barang {0} berturut-turut {1}
Reserved warehouse required for stock item {0},Reserved gudang diperlukan untuk item saham {0}
Reserves and Surplus,Cadangan dan Surplus
Reset Filters,Atur Ulang Filter
Resignation Letter Date,Surat Pengunduran Diri Tanggal
Resolution,Resolusi
Resolution Date,Resolusi Tanggal
Resolution Details,Detail Resolusi
Resolved By,Terselesaikan Dengan
Rest Of The World,Istirahat Of The World
Retail,Eceran
Retail & Wholesale,Retail & Grosir
Retailer,Pengecer
Review Date,Ulasan Tanggal
Rgt,Rgt
Role Allowed to edit frozen stock,Peran Diizinkan untuk mengedit saham beku
Role that is allowed to submit transactions that exceed credit limits set.,Peran yang diperbolehkan untuk mengirimkan transaksi yang melebihi batas kredit yang ditetapkan.
Root Type,Akar Type
Root Type is mandatory,Akar Type adalah wajib
Root account can not be deleted,Account root tidak bisa dihapus
Root cannot be edited.,Root tidak dapat diedit.
Root cannot have a parent cost center,Root tidak dapat memiliki pusat biaya orang tua
Rounded Off,Rounded Off
Rounded Total,Rounded Jumlah
Rounded Total (Company Currency),Rounded Jumlah (Perusahaan Mata Uang)
Row # ,Row # 
Row # {0}: ,Row # {0}: 
Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,Row # {0}: qty Memerintahkan tidak bisa kurang dari minimum qty pesanan item (didefinisikan dalam master barang).
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Silakan tentukan Serial ada untuk Item {1}
Row {0}: Account does not match with \						Purchase Invoice Credit To account,Row {0}: Akun tidak cocok dengan \ Purchase Invoice Kredit Untuk account
Row {0}: Account does not match with \						Sales Invoice Debit To account,Row {0}: Akun tidak cocok dengan \ Penjualan Faktur Debit Untuk account
Row {0}: Conversion Factor is mandatory,Row {0}: Faktor Konversi adalah wajib
Row {0}: Credit entry can not be linked with a Purchase Invoice,Row {0}: entry Kredit tidak dapat dihubungkan dengan Faktur Pembelian
Row {0}: Debit entry can not be linked with a Sales Invoice,Row {0}: entry Debit tidak dapat dihubungkan dengan Faktur Penjualan
Row {0}: Payment amount must be less than or equals to invoice outstanding amount. Please refer Note below.,Row {0}: Jumlah pembayaran harus kurang dari atau sama dengan faktur jumlah yang terhutang. Silakan lihat Catatan di bawah.
Row {0}: Qty is mandatory,Row {0}: Qty adalah wajib
"Row {0}: Qty not avalable in warehouse {1} on {2} {3}.					Available Qty: {4}, Transfer Qty: {5}","Row {0}: Qty tidak avalable di gudang {1} pada {2} {3}. Qty Tersedia: {4}, transfer Qty: {5}"
"Row {0}: To set {1} periodicity, difference between from and to date \						must be greater than or equal to {2}","Row {0}: Untuk mengatur {1} periodisitas, perbedaan antara dari dan sampai saat ini \ harus lebih besar dari atau sama dengan {2}"
Row {0}:Start Date must be before End Date,Row {0}: Tanggal awal harus sebelum Tanggal Akhir
Rules for adding shipping costs.,Aturan untuk menambahkan biaya pengiriman.
Rules for applying pricing and discount.,Aturan untuk menerapkan harga dan diskon.
Rules to calculate shipping amount for a sale,Aturan untuk menghitung jumlah pengiriman untuk penjualan
S.O. No.,SO No
SHE Cess on Excise,SHE Cess tentang Cukai
SHE Cess on Service Tax,SHE CESS Pajak Layanan
SHE Cess on TDS,SHE Cess pada TDS
SMS Center,SMS Center
SMS Gateway URL,SMS Gateway URL
SMS Log,SMS Log
SMS Parameter,Parameter SMS
SMS Sender Name,Pengirim SMS Nama
SMS Settings,Pengaturan SMS
SO Date,SO Tanggal
SO Pending Qty,SO Pending Qty
SO Qty,SO Qty
Salary,Gaji
Salary Information,Informasi Gaji
Salary Manager,Gaji Manajer
Salary Mode,Modus Gaji
Salary Slip,Slip Gaji
Salary Slip Deduction,Slip Gaji Pengurangan
Salary Slip Earning,Slip Gaji Produktif
Salary Slip of employee {0} already created for this month,Slip Gaji karyawan {0} sudah diciptakan untuk bulan ini
Salary Structure,Struktur Gaji
Salary Structure Deduction,Struktur Gaji Pengurangan
Salary Structure Earning,Struktur Gaji Produktif
Salary Structure Earnings,Laba Struktur Gaji
Salary breakup based on Earning and Deduction.,Gaji perpisahan berdasarkan Produktif dan Pengurangan.
Salary components.,Komponen gaji.
Salary template master.,Master Gaji Template.
Sales,Penjualan
Sales Analytics,Penjualan Analytics
Sales BOM,Penjualan BOM
Sales BOM Help,Penjualan BOM Bantuan
Sales BOM Item,Penjualan BOM Barang
Sales BOM Items,Penjualan BOM Items
Sales Browser,Penjualan Browser
Sales Details,Detail Penjualan
Sales Discounts,Penjualan Diskon
Sales Email Settings,Pengaturan Penjualan Email
Sales Expenses,Beban Penjualan
Sales Extras,Penjualan Ekstra
Sales Funnel,Penjualan Saluran
Sales Invoice,Faktur Penjualan
Sales Invoice Advance,Faktur Penjualan Muka
Sales Invoice Item,Faktur Penjualan Barang
Sales Invoice Items,Faktur Penjualan Produk
Sales Invoice Message,Penjualan Faktur Pesan
Sales Invoice No,Penjualan Faktur ada
Sales Invoice Trends,Faktur Penjualan Trends
Sales Invoice {0} has already been submitted,Faktur Penjualan {0} telah disampaikan
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Faktur Penjualan {0} harus dibatalkan sebelum membatalkan Sales Order ini
Sales Order,Sales Order
Sales Order Date,Sales Order Tanggal
Sales Order Item,Sales Order Barang
Sales Order Items,Sales Order Items
Sales Order Message,Sales Order Pesan
Sales Order No,Sales Order No
Sales Order Required,Sales Order Diperlukan
Sales Order Trends,Sales Order Trends
Sales Order required for Item {0},Sales Order yang diperlukan untuk Item {0}
Sales Order {0} is not submitted,Sales Order {0} tidak disampaikan
Sales Order {0} is not valid,Sales Order {0} tidak valid
Sales Order {0} is stopped,Sales Order {0} dihentikan
Sales Partner,Penjualan Mitra
Sales Partner Name,Penjualan Mitra Nama
Sales Partner Target,Penjualan Mitra Sasaran
Sales Partners Commission,Penjualan Mitra Komisi
Sales Person,Penjualan Orang
Sales Person Name,Penjualan Person Nama
Sales Person Target Variance Item Group-Wise,Penjualan Orang Sasaran Variance Barang Group-Wise
Sales Person Targets,Target Penjualan Orang
Sales Person-wise Transaction Summary,Penjualan Orang-bijaksana Rangkuman Transaksi
Sales Register,Daftar Penjualan
Sales Return,Penjualan Kembali
Sales Returned,Penjualan Kembali
Sales Taxes and Charges,Pajak Penjualan dan Biaya
Sales Taxes and Charges Master,Penjualan Pajak dan Biaya Guru
Sales Team,Tim Penjualan
Sales Team Details,Rincian Tim Penjualan
Sales Team1,Penjualan team1
Sales and Purchase,Penjualan dan Pembelian
Sales campaigns.,Kampanye penjualan.
Salutation,Salam
Sample Size,Ukuran Sampel
Sanctioned Amount,Jumlah sanksi
Saturday,Sabtu
Schedule,Jadwal
Schedule Date,Jadwal Tanggal
Schedule Details,Jadwal Detail
Scheduled,Dijadwalkan
Scheduled Date,Dijadwalkan Tanggal
Scheduled to send to {0},Dijadwalkan untuk mengirim ke {0}
Scheduled to send to {0} recipients,Dijadwalkan untuk mengirim ke {0} penerima
Scheduler Failed Events,Acara Scheduler Gagal
School/University,Sekolah / Universitas
Score (0-5),Skor (0-5)
Score Earned,Skor Earned
Score must be less than or equal to 5,Skor harus kurang dari atau sama dengan 5
Scrap %,Scrap%
Seasonality for setting budgets.,Musiman untuk menetapkan anggaran.
Secretary,Sekretaris
Secured Loans,Pinjaman Aman
Securities & Commodity Exchanges,Efek & Bursa Komoditi
Securities and Deposits,Efek dan Deposit
"See ""Rate Of Materials Based On"" in Costing Section","Lihat ""Rate Of Material Berbasis"" dalam Biaya Bagian"
"Select ""Yes"" for sub - contracting items","Pilih ""Ya"" untuk sub - kontraktor item"
"Select ""Yes"" if this item is used for some internal purpose in your company.","Pilih ""Ya"" jika item ini digunakan untuk tujuan internal perusahaan Anda."
"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Pilih ""Ya"" jika item ini mewakili beberapa pekerjaan seperti pelatihan, merancang, konsultasi dll"
"Select ""Yes"" if you are maintaining stock of this item in your Inventory.","Pilih ""Ya"" jika Anda mempertahankan stok item dalam persediaan Anda."
"Select ""Yes"" if you supply raw materials to your supplier to manufacture this item.","Pilih ""Ya"" jika Anda memasok bahan baku ke pemasok Anda untuk memproduksi item ini."
Select Brand...,Pilih Merek ...
Select Budget Distribution to unevenly distribute targets across months.,Pilih Distribusi Anggaran untuk merata mendistribusikan target di bulan.
"Select Budget Distribution, if you want to track based on seasonality.","Pilih Distribusi Anggaran, jika Anda ingin melacak berdasarkan musim."
Select Company...,Pilih Perusahaan ...
Select DocType,Pilih DocType
Select Fiscal Year...,Pilih Tahun Anggaran ...
Select Items,Pilih Produk
Select Project...,Pilih Project ...
Select Purchase Receipts,Pilih Penerimaan Pembelian
Select Sales Orders,Pilih Pesanan Penjualan
Select Sales Orders from which you want to create Production Orders.,Pilih Penjualan Pesanan dari mana Anda ingin membuat Pesanan Produksi.
Select Time Logs and Submit to create a new Sales Invoice.,Pilih Waktu Log dan Kirim untuk membuat Faktur Penjualan baru.
Select Transaction,Pilih Transaksi
Select Warehouse...,Pilih Gudang ...
Select Your Language,Pilih Bahasa Anda
Select account head of the bank where cheque was deposited.,Pilih kepala rekening bank mana cek diendapkan.
Select company name first.,Pilih nama perusahaan pertama.
Select template from which you want to get the Goals,Pilih template dari mana Anda ingin mendapatkan Goals
Select the Employee for whom you are creating the Appraisal.,Pilih Karyawan untuk siapa Anda menciptakan Appraisal.
Select the period when the invoice will be generated automatically,Pilih periode ketika invoice akan dibuat secara otomatis
Select the relevant company name if you have multiple companies,Pilih nama perusahaan yang bersangkutan jika Anda memiliki beberapa perusahaan
Select the relevant company name if you have multiple companies.,Pilih nama perusahaan yang bersangkutan jika Anda memiliki beberapa perusahaan.
Select who you want to send this newsletter to,Pilih yang Anda ingin mengirim newsletter ini untuk
Select your home country and check the timezone and currency.,Pilih negara asal Anda dan memeriksa zona waktu dan mata uang.
"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","Memilih ""Ya"" akan memungkinkan item ini muncul di Purchase Order, Penerimaan Pembelian."
"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","Memilih ""Ya"" akan memungkinkan item ini untuk mencari di Sales Order, Delivery Note"
"Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.","Memilih ""Ya"" akan memungkinkan Anda untuk membuat Bill dari Material menunjukkan bahan baku dan biaya operasional yang dikeluarkan untuk memproduksi item ini."
"Selecting ""Yes"" will allow you to make a Production Order for this item.","Memilih ""Ya"" akan memungkinkan Anda untuk membuat Order Produksi untuk item ini."
"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.","Memilih ""Ya"" akan memberikan identitas unik untuk setiap entitas dari produk ini yang dapat dilihat dalam Serial No guru."
Selling,Penjualan
Selling Settings,Jual Pengaturan
"Selling must be checked, if Applicable For is selected as {0}","Jual harus diperiksa, jika Berlaku Untuk dipilih sebagai {0}"
Send,Kirim
Send Autoreply,Kirim Autoreply
Send Email,Kirim Email
Send From,Kirim Dari
Send Notifications To,Kirim Pemberitahuan Untuk
Send Now,Kirim sekarang
Send SMS,Kirim SMS
Send To,Kirim Ke
Send To Type,Kirim ke Ketik
Send mass SMS to your contacts,Kirim SMS massal ke kontak Anda
Send to this list,Kirim ke daftar ini
Sender Name,Pengirim Nama
Sent On,Dikirim Pada
Separate production order will be created for each finished good item.,Order produksi yang terpisah akan dibuat untuk setiap item barang jadi.
Serial No,Serial ada
Serial No / Batch,Serial No / Batch
Serial No Details,Serial Tidak Detail
Serial No Service Contract Expiry,Serial No Layanan Kontrak kadaluarsa
Serial No Status,Serial ada Status
Serial No Warranty Expiry,Serial No Garansi kadaluarsa
Serial No is mandatory for Item {0},Serial ada adalah wajib untuk Item {0}
Serial No {0} created,Serial ada {0} dibuat
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 Barang {1}
Serial No {0} does not belong to Warehouse {1},Serial ada {0} bukan milik Gudang {1}
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 in stock,Serial ada {0} bukan dalam stok
Serial No {0} quantity {1} cannot be a fraction,Serial ada {0} kuantitas {1} tak bisa menjadi pecahan
Serial No {0} status must be 'Available' to Deliver,Tidak ada Status {0} Serial harus 'Tersedia' untuk Menyampaikan
Serial Nos Required for Serialized Item {0},Serial Nos Diperlukan untuk Serial Barang {0}
Serial Number Series,Serial Number Series
Serial number {0} entered more than once,Serial number {0} masuk lebih dari sekali
Serialized Item {0} cannot be updated \					using Stock Reconciliation,Serial Barang {0} tidak dapat diperbarui \ menggunakan Stock Rekonsiliasi
Series,Seri
Series List for this Transaction,Daftar Series Transaksi ini
Series Updated,Seri Diperbarui
Series Updated Successfully,Seri Diperbarui Berhasil
Series is mandatory,Series adalah wajib
Series {0} already used in {1},Seri {0} sudah digunakan dalam {1}
Service,Layanan
Service Address,Layanan Alamat
Service Tax,Pelayanan Pajak
Services,Layanan
Set,Tetapkan
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Set Nilai Default seperti Perusahaan, Mata Uang, Tahun Anggaran Current, dll"
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Menetapkan anggaran Group-bijaksana Barang di Wilayah ini. Anda juga bisa memasukkan musiman dengan menetapkan Distribusi.
Set Status as Available,Set Status sebagai Tersedia
Set as Default,Set sebagai Default
Set as Lost,Set as Hilang
Set prefix for numbering series on your transactions,Mengatur awalan untuk penomoran seri pada transaksi Anda
Set targets Item Group-wise for this Sales Person.,Target Set Barang Group-bijaksana untuk Penjualan Orang ini.
Setting Account Type helps in selecting this Account in transactions.,Mengatur Tipe Akun membantu dalam memilih Akun ini dalam transaksi.
Setting this Address Template as default as there is no other default,Mengatur Template Alamat ini sebagai default karena tidak ada standar lainnya
Setting up...,Menyiapkan ...
Settings,Pengaturan
Settings for HR Module,Pengaturan untuk modul HR
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""","Pengaturan untuk mengekstrak Job Pelamar dari misalnya mailbox ""jobs@example.com"""
Setup,Pengaturan
Setup Already Complete!!,Pengaturan Sudah Selesai!!
Setup Complete,Pengaturan Selesai
Setup SMS gateway settings,Pengaturan gerbang Pengaturan SMS
Setup Series,Pengaturan Series
Setup Wizard,Setup Wizard
Setup incoming server for jobs email id. (e.g. jobs@example.com),Pengaturan server masuk untuk pekerjaan email id. (Misalnya jobs@example.com)
Setup incoming server for sales email id. (e.g. sales@example.com),Pengaturan server masuk untuk email penjualan id. (Misalnya sales@example.com)
Setup incoming server for support email id. (e.g. support@example.com),Pengaturan server masuk untuk email dukungan id. (Misalnya support@example.com)
Share,Bagikan
Share With,Dengan berbagi
Shareholders Funds,Pemegang Saham Dana
Shipments to customers.,Pengiriman ke pelanggan.
Shipping,Pengiriman
Shipping Account,Account Pengiriman
Shipping Address,Alamat Pengiriman
Shipping Amount,Pengiriman Jumlah
Shipping Rule,Aturan Pengiriman
Shipping Rule Condition,Aturan Pengiriman Kondisi
Shipping Rule Conditions,Aturan Pengiriman Kondisi
Shipping Rule Label,Peraturan Pengiriman Label
Shop,Toko
Shopping Cart,Daftar Belanja
Short biography for website and other publications.,Biografi singkat untuk website dan publikasi lainnya.
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Tampilkan ""In Stock"" atau ""Tidak di Bursa"" didasarkan pada stok yang tersedia di gudang ini."
"Show / Hide features like Serial Nos, POS etc.","Tampilkan / Sembunyikan fitur seperti Serial Nos, POS dll"
Show In Website,Tampilkan Di Website
Show a slideshow at the top of the page,Tampilkan slideshow di bagian atas halaman
Show in Website,Tampilkan Website
Show rows with zero values,Tampilkan baris dengan nilai nol
Show this slideshow at the top of the page,Tampilkan slide ini di bagian atas halaman
Sick Leave,Cuti Sakit
Signature,Tanda Tangan
Signature to be appended at the end of every email,Tanda tangan yang akan ditambahkan pada akhir setiap email
Single,Tunggal
Single unit of an Item.,Unit tunggal Item.
Sit tight while your system is being setup. This may take a few moments.,Duduk diam sementara sistem anda sedang setup. Ini mungkin memerlukan beberapa saat.
Slideshow,Rangkai Salindia
Soap & Detergent,Sabun & Deterjen
Software,Perangkat lunak
Software Developer,Software Developer
"Sorry, Serial Nos cannot be merged","Maaf, Serial Nos tidak dapat digabungkan"
"Sorry, companies cannot be merged","Maaf, perusahaan tidak dapat digabungkan"
Source,Sumber
Source File,File Sumber
Source Warehouse,Sumber Gudang
Source and target warehouse cannot be same for row {0},Sumber dan target gudang tidak bisa sama untuk baris {0}
Source of Funds (Liabilities),Sumber Dana (Kewajiban)
Source warehouse is mandatory for row {0},Sumber gudang adalah wajib untuk baris {0}
Spartan,Tabah
"Special Characters except ""-"" and ""/"" not allowed in naming series","Karakter khusus kecuali ""-"" dan ""/"" tidak diperbolehkan dalam penamaan seri"
Specification Details,Detail Spesifikasi
Specifications,Spesifikasi
"Specify a list of Territories, for which, this Price List is valid","Tentukan daftar Territories, yang, Daftar Harga ini berlaku"
"Specify a list of Territories, for which, this Shipping Rule is valid","Tentukan daftar Territories, yang, Aturan Pengiriman ini berlaku"
"Specify a list of Territories, for which, this Taxes Master is valid","Tentukan daftar Territories, yang, ini Pajak Guru berlaku"
"Specify the operations, operating cost and give a unique Operation no to your operations.","Tentukan operasi, biaya operasi dan memberikan Operation unik ada pada operasi Anda."
Split Delivery Note into packages.,Membagi Pengiriman Catatan ke dalam paket.
Sports,Olahraga
Sr,Sr
Standard,Standar
Standard Buying,Standard Membeli
Standard Reports,Laporan standar
Standard Selling,Standard Jual
Standard contract terms for Sales or Purchase.,Ketentuan kontrak standar untuk Penjualan atau Pembelian.
Start,Mulai
Start Date,Tanggal Mulai
Start date of current invoice's period,Tanggal faktur periode saat ini mulai
Start date should be less than end date for Item {0},Tanggal mulai harus kurang dari tanggal akhir untuk Item {0}
State,Propinsi
Statement of Account,Pernyataan Rekening
Static Parameters,Parameter Statis
Status,Status
Status must be one of {0},Status harus menjadi salah satu {0}
Status of {0} {1} is now {2},Status {0} {1} sekarang {2}
Status updated to {0},Status diperbarui ke {0}
Statutory info and other general information about your Supplier,Info Statutory dan informasi umum lainnya tentang Pemasok Anda
Stay Updated,Tetap Diperbarui
Stock,Stock
Stock Adjustment,Penyesuaian Stock
Stock Adjustment Account,Penyesuaian Stock Akun
Stock Ageing,Stock Penuaan
Stock Analytics,Stock Analytics
Stock Assets,Aset saham
Stock Balance,Stock Balance
Stock Entries already created for Production Order ,Stock Entries already created for Production Order 
Stock Entry,Stock Entri
Stock Entry Detail,Stock Masuk Detil
Stock Expenses,Beban saham
Stock Frozen Upto,Stock Frozen Upto
Stock Ledger,Bursa Ledger
Stock Ledger Entry,Bursa Ledger entri
Stock Ledger entries balances updated,Bursa Ledger entri saldo diperbarui
Stock Level,Tingkat Stock
Stock Liabilities,Kewajiban saham
Stock Projected Qty,Stock Proyeksi Jumlah
Stock Queue (FIFO),Stock Queue (FIFO)
Stock Received But Not Billed,Stock Diterima Tapi Tidak Ditagih
Stock Reconcilation Data,Stock rekonsiliasi data
Stock Reconcilation Template,Stock rekonsiliasi Template
Stock Reconciliation,Stock Rekonsiliasi
"Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory.","Stock Rekonsiliasi dapat digunakan untuk memperbarui saham pada tanggal tertentu, biasanya sesuai persediaan fisik."
Stock Settings,Pengaturan saham
Stock UOM,Stock UOM
Stock UOM Replace Utility,Stock UOM Ganti Utilitas
Stock UOM updatd for Item {0},Saham UOM updatd untuk Item {0}
Stock Uom,Stock UoM
Stock Value,Nilai saham
Stock Value Difference,Nilai saham Perbedaan
Stock balances updated,Saldo saham diperbarui
Stock cannot be updated against Delivery Note {0},Stock tidak dapat diperbarui terhadap Delivery Note {0}
Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name',Entri Stock ada terhadap gudang {0} tidak dapat menetapkan kembali atau memodifikasi 'Guru Nama'
Stock transactions before {0} are frozen,Transaksi saham sebelum {0} dibekukan
Stop,Berhenti
Stop Birthday Reminders,Berhenti Ulang Tahun Pengingat
Stop Material Request,Berhenti Material Permintaan
Stop users from making Leave Applications on following days.,Menghentikan pengguna dari membuat Aplikasi Leave pada hari-hari berikutnya.
Stop!,Berhenti!
Stopped,Terhenti
Stopped order cannot be cancelled. Unstop to cancel.,Agar Berhenti tidak dapat dibatalkan. Unstop untuk membatalkan.
Stores,Toko
Stub,Puntung
Sub Assemblies,Sub Assemblies
"Sub-currency. For e.g. ""Cent""","Sub-currency. Untuk misalnya ""Cent """
Subcontract,Kontrak tambahan
Subject,Perihal
Submit Salary Slip,Kirim Slip Gaji
Submit all salary slips for the above selected criteria,Menyerahkan semua slip gaji kriteria pilihan di atas
Submit this Production Order for further processing.,Kirim Produksi ini Order untuk diproses lebih lanjut.
Submitted,Dikirim
Subsidiary,Anak Perusahaan
Successful: ,Successful: 
Successfully Reconciled,Berhasil Berdamai
Suggestions,Saran
Sunday,Minggu
Supplier,Pemasok
Supplier (Payable) Account,Pemasok (Hutang) Rekening
Supplier (vendor) name as entered in supplier master,Pemasok (vendor) nama sebagai dimasukkan dalam pemasok utama
Supplier > Supplier Type,Pemasok> Pemasok Type
Supplier Account Head,Pemasok Akun Kepala
Supplier Address,Pemasok Alamat
Supplier Addresses and Contacts,Pemasok Alamat dan Kontak
Supplier Details,Pemasok Rincian
Supplier Intro,Pemasok Intro
Supplier Invoice Date,Pemasok Faktur Tanggal
Supplier Invoice No,Pemasok Faktur ada
Supplier Name,Pemasok Nama
Supplier Naming By,Pemasok Penamaan Dengan
Supplier Part Number,Pemasok Part Number
Supplier Quotation,Pemasok Quotation
Supplier Quotation Item,Pemasok Barang Quotation
Supplier Reference,Pemasok Referensi
Supplier Type,Pemasok Type
Supplier Type / Supplier,Pemasok Type / Pemasok
Supplier Type master.,Pemasok Type induk.
Supplier Warehouse,Pemasok Gudang
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Pemasok Gudang wajib untuk Pembelian Penerimaan sub-kontrak
Supplier database.,Database Supplier.
Supplier master.,Pemasok utama.
Supplier warehouse where you have issued raw materials for sub - contracting,Pemasok gudang di mana Anda telah mengeluarkan bahan baku untuk sub - kontraktor
Supplier-Wise Sales Analytics,Pemasok-Wise Penjualan Analytics
Support,Mendukung
Support Analtyics,Dukungan Analtyics
Support Analytics,Dukungan Analytics
Support Email,Dukungan Email
Support Email Settings,Dukungan Pengaturan Email
Support Password,Dukungan Sandi
Support Ticket,Dukungan Tiket
Support queries from customers.,Permintaan dukungan dari pelanggan.
Symbol,simbol
Sync Support Mails,Sync Dukungan Email
Sync with Dropbox,Sinkron dengan Dropbox
Sync with Google Drive,Sinkronisasi dengan Google Drive
System,Sistem
System Settings,Pengaturan Sistem
"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."
TDS (Advertisement),TDS (Iklan)
TDS (Commission),TDS (Komisi)
TDS (Contractor),TDS (Kontraktor)
TDS (Interest),TDS (Interest)
TDS (Rent),TDS (Rent)
TDS (Salary),TDS (Gaji)
Target  Amount,Target Jumlah
Target Detail,Sasaran Detil
Target Details,Sasaran Detail
Target Details1,Sasaran Details1
Target Distribution,Target Distribusi
Target On,Sasaran On
Target Qty,Sasaran Qty
Target Warehouse,Target Gudang
Target warehouse in row {0} must be same as Production Order,Target gudang di baris {0} harus sama dengan Orde Produksi
Target warehouse is mandatory for row {0},Target gudang adalah wajib untuk baris {0}
Task,Tugas
Task Details,Rincian Tugas
Tasks,Tugas
Tax,PPN
Tax Amount After Discount Amount,Jumlah pajak Setelah Diskon Jumlah
Tax Assets,Aset pajak
Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items,Pajak Kategori tidak bisa 'Penilaian' atau 'Penilaian dan Total' karena semua item item non-saham
Tax Rate,Tarif Pajak
Tax and other salary deductions.,Pajak dan pemotongan gaji lainnya.
Tax detail table fetched from item master as a string and stored in this field.Used for Taxes and Charges,Tabel rinci Pajak diambil dari master barang sebagai string dan disimpan dalam bidang ini. Digunakan untuk Pajak dan Biaya
Tax template for buying transactions.,Template pajak untuk membeli transaksi.
Tax template for selling transactions.,Template Pajak menjual transaksi.
Taxable,Kena PPN
Taxes,PPN
Taxes and Charges,Pajak dan Biaya
Taxes and Charges Added,Pajak dan Biaya Ditambahkan
Taxes and Charges Added (Company Currency),Pajak dan Biaya Ditambahkan (Perusahaan Mata Uang)
Taxes and Charges Calculation,Pajak dan Biaya Perhitungan
Taxes and Charges Deducted,Pajak dan Biaya Dikurangi
Taxes and Charges Deducted (Company Currency),Pajak dan Biaya Dikurangi (Perusahaan Mata Uang)
Taxes and Charges Total,Pajak dan Biaya Jumlah
Taxes and Charges Total (Company Currency),Pajak dan Biaya Jumlah (Perusahaan Mata Uang)
Technology,Teknologi
Telecommunications,Telekomunikasi
Telephone Expenses,Beban Telepon
Television,Televisi
Template,Contoh
Template for performance appraisals.,Template untuk penilaian kinerja.
Template of terms or contract.,Template istilah atau kontrak.
Temporary Accounts (Assets),Akun Sementara (Aset)
Temporary Accounts (Liabilities),Akun Sementara (Kewajiban)
Temporary Assets,Aset Temporary
Temporary Liabilities,Kewajiban Sementara
Term Details,Rincian Term
Terms,Istilah
Terms and Conditions,Syarat dan Ketentuan
Terms and Conditions Content,Syarat dan Ketentuan Konten
Terms and Conditions Details,Syarat dan Ketentuan Detail
Terms and Conditions Template,Syarat dan Ketentuan Template
Terms and Conditions1,Syarat dan Conditions1
Terretory,Terretory
Territory,Wilayah
Territory / Customer,Wilayah / Pelanggan
Territory Manager,Territory Manager
Territory Name,Wilayah Nama
Territory Target Variance Item Group-Wise,Wilayah Sasaran Variance Barang Group-Wise
Territory Targets,Target Wilayah
Test,tes
Test Email Id,Uji Email Id
Test the Newsletter,Uji Newsletter
The BOM which will be replaced,BOM yang akan diganti
The First User: You,Pengguna Pertama: Anda
"The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes""","Item yang mewakili Paket tersebut. Barang ini harus ""Apakah Stock Item"" sebagai ""Tidak"" dan ""Apakah Penjualan Item"" sebagai ""Ya"""
The Organization,Organisasi
"The account head under Liability, in which Profit/Loss will be booked","Account kepala di bawah Kewajiban, di mana Laba / Rugi akan dipesan"
The date on which next invoice will be generated. It is generated on submit.,Tanggal dimana faktur berikutnya akan dihasilkan. Hal ini dihasilkan di submit.
The date on which recurring invoice will be stop,Tanggal dimana berulang faktur akan berhenti
"The day of the month on which auto invoice will be generated e.g. 05, 28 etc ","The day of the month on which auto invoice will be generated e.g. 05, 28 etc "
The day(s) on which you are applying for leave are holiday. You need not apply for leave.,Hari (s) yang Anda lamar untuk cuti adalah liburan. Anda tidak perlu mengajukan cuti.
The first Leave Approver in the list will be set as the default Leave Approver,The Approver Cuti pertama dalam daftar akan ditetapkan sebagai default Tinggalkan Approver
The first user will become the System Manager (you can change that later).,Pengguna pertama akan menjadi System Manager (Anda dapat mengubah nanti).
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)
The name of your company for which you are setting up this system.,Nama perusahaan Anda yang Anda sedang mengatur sistem ini.
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)
The new BOM after replacement,The BOM baru setelah penggantian
The rate at which Bill Currency is converted into company's base currency,Tingkat di mana Bill Currency diubah menjadi mata uang dasar perusahaan
The unique id for tracking all recurring invoices. It is generated on submit.,Id yang unik untuk melacak semua tagihan berulang. Hal ini dihasilkan di submit.
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Kemudian Pricing Aturan disaring berdasarkan Pelanggan, Kelompok Pelanggan, Wilayah, Supplier, Supplier Type, Kampanye, Penjualan Mitra dll"
There are more holidays than working days this month.,Ada lebih dari hari kerja libur bulan ini.
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Hanya ada satu Peraturan Pengiriman Kondisi dengan nilai kosong atau 0 untuk ""To Nilai"""
There is not enough leave balance for Leave Type {0},Tidak ada saldo cuti cukup bagi Leave Type {0}
There is nothing to edit.,Tidak ada yang mengedit.
There was an error. One probable reason could be that you haven't saved the form. Please contact support@erpnext.com if the problem persists.,Ada kesalahan. Salah satu alasan yang mungkin bisa jadi Anda belum menyimpan formulir. Silahkan hubungi support@erpnext.com jika masalah terus berlanjut.
There were errors.,Ada kesalahan.
This Currency is disabled. Enable to use in transactions,Mata uang ini dinonaktifkan. Aktifkan untuk digunakan dalam transaksi
This Leave Application is pending approval. Only the Leave Apporver can update status.,Aplikasi Cuti ini menunggu persetujuan. Hanya Tinggalkan Apporver dapat memperbarui status.
This Time Log Batch has been billed.,Batch Waktu Log ini telah ditagih.
This Time Log Batch has been cancelled.,Batch Waktu Log ini telah dibatalkan.
This Time Log conflicts with {0},Ini Waktu Log bertentangan dengan {0}
This format is used if country specific format is not found,Format ini digunakan jika format khusus negara tidak ditemukan
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 akar dan tidak dapat diedit.
This is a root item group and cannot be edited.,Ini adalah kelompok 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 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 the number of the last created transaction with this prefix,Ini adalah jumlah transaksi yang diciptakan terakhir dengan awalan ini
This will be used for setting rule in HR module,Ini akan digunakan untuk menetapkan aturan dalam modul HR
Thread HTML,Thread HTML
Thursday,Kamis
Time Log,Waktu Log
Time Log Batch,Waktu Log Batch
Time Log Batch Detail,Waktu Log Batch Detil
Time Log Batch Details,Waktu Log Detail Batch
Time Log Batch {0} must be 'Submitted',Waktu Log Batch {0} harus 'Dikirim'
Time Log Status must be Submitted.,Waktu Log Status harus Dikirim.
Time Log for tasks.,Waktu Log untuk tugas-tugas.
Time Log is not billable,Waktu Log tidak dapat ditagih
Time Log {0} must be 'Submitted',Waktu Log {0} harus 'Dikirim'
Time Zone,"Zona Waktu: GMT +2; CET +1, dan EST (AS-Timur) +7"
Time Zones,Zona Waktu
Time and Budget,Waktu dan Anggaran
Time at which items were delivered from warehouse,Waktu di mana barang dikirim dari gudang
Time at which materials were received,Waktu di mana bahan yang diterima
Title,Judul
Titles for print templates e.g. Proforma Invoice.,Judul untuk mencetak template misalnya Proforma Invoice.
To,untuk
To Currency,Untuk Mata
To Date,Untuk Tanggal
To Date should be same as From Date for Half Day leave,Untuk tanggal harus sama dengan Dari Tanggal untuk cuti Half Day
To Date should be within the Fiscal Year. Assuming To Date = {0},Untuk tanggal harus dalam Tahun Anggaran. Dengan asumsi To Date = {0}
To Discuss,Untuk Diskusikan
To Do List,To Do List
To Package No.,Untuk Paket No
To Produce,Untuk Menghasilkan
To Time,Untuk Waktu
To Value,Untuk Menghargai
To Warehouse,Untuk Gudang
"To add child nodes, explore tree and click on the node under which you want to add more nodes.","Untuk menambahkan node anak, mengeksplorasi pohon dan klik pada node di mana Anda ingin menambahkan lebih banyak node."
"To assign this issue, use the ""Assign"" button in the sidebar.","Untuk menetapkan masalah ini, gunakan ""Assign"" tombol di sidebar."
To create a Bank Account,Untuk membuat Rekening Bank
To create a Tax Account,Untuk membuat Akun Pajak
"To create an Account Head under a different company, select the company and save customer.","Untuk membuat Kepala Akun bawah perusahaan yang berbeda, pilih perusahaan dan menyimpan pelanggan."
To date cannot be before from date,Sampai saat ini tidak dapat sebelumnya dari tanggal
To enable <b>Point of Sale</b> features,Untuk mengaktifkan <b> Point of Sale </ b> fitur
To enable <b>Point of Sale</b> view,Untuk mengaktifkan <b> Point of Sale </ b> Tampilan
To get Item Group in details table,Untuk mendapatkan Barang Group di tabel rincian
"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 Barang, pajak dalam baris {1} juga harus disertakan"
"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 track any installation or commissioning related work after sales,Untuk melacak instalasi atau commissioning kerja terkait setelah penjualan
"To track brand name in the following documents Delivery Note, Opportunity, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","Untuk melacak nama merek di berikut dokumen Delivery Note, Opportunity, Permintaan Bahan, Barang, Purchase Order, Voucher Pembelian, Pembeli Penerimaan, Quotation, Faktur Penjualan, Penjualan BOM, Sales Order, Serial No"
To track item in sales and purchase documents based on their serial nos. This is can also used to track warranty details of the product.,Untuk melacak item dalam penjualan dan dokumen pembelian berdasarkan nos serial mereka. Hal ini juga dapat digunakan untuk melacak rincian garansi produk.
To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>,Untuk melacak barang dalam penjualan dan pembelian dokumen dengan bets nos <br> <b> Preferred Industri: Kimia etc </ b>
To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,Untuk melacak item menggunakan barcode. Anda akan dapat memasukkan item dalam Pengiriman Note dan Faktur Penjualan dengan memindai barcode barang.
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,Total
Total ({0}),Jumlah ({0})
Total Advance,Jumlah Uang Muka
Total Amount,Jumlah Total
Total Amount To Pay,Jumlah Total Untuk Bayar
Total Amount in Words,Jumlah Total Kata
Total Billing This Year: ,Total Billing This Year: 
Total Characters,Jumlah Karakter
Total Claimed Amount,Jumlah Total Diklaim
Total Commission,Jumlah Komisi
Total Cost,Total Biaya
Total Credit,Jumlah Kredit
Total Debit,Jumlah Debit
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 Pengurangan
Total Earning,Total Penghasilan
Total Experience,Jumlah Pengalaman
Total Hours,Jumlah Jam
Total Hours (Expected),Jumlah Jam (Diharapkan)
Total Invoiced Amount,Jumlah Total Tagihan
Total Leave Days,Jumlah Cuti Hari
Total Leaves Allocated,Jumlah Daun Dialokasikan
Total Message(s),Total Pesan (s)
Total Operating Cost,Total Biaya Operasional
Total Points,Jumlah Poin
Total Raw Material Cost,Total Biaya Bahan Baku
Total Sanctioned Amount,Jumlah Total Disahkan
Total Score (Out of 5),Skor Total (Out of 5)
Total Tax (Company Currency),Pajak Jumlah (Perusahaan Mata Uang)
Total Taxes and Charges,Jumlah Pajak dan Biaya
Total Taxes and Charges (Company Currency),Jumlah Pajak dan Biaya (Perusahaan Mata Uang)
Total allocated percentage for sales team should be 100,Persentase total yang dialokasikan untuk tim penjualan harus 100
Total amount of invoices received from suppliers during the digest period,Jumlah total tagihan yang diterima dari pemasok selama periode digest
Total amount of invoices sent to the customer during the digest period,Jumlah total tagihan dikirim ke pelanggan selama masa digest
Total cannot be zero,Jumlah tidak boleh nol
Total in words,Jumlah kata
Total points for all goals should be 100. It is {0},Jumlah poin untuk semua tujuan harus 100. Ini adalah {0}
Total valuation for manufactured or repacked item(s) can not be less than total valuation of raw materials,Total penilaian untuk diproduksi atau dikemas ulang item (s) tidak bisa kurang dari penilaian total bahan baku
Total weightage assigned should be 100%. It is {0},Jumlah weightage ditugaskan harus 100%. Ini adalah {0}
Totals,Total
Track Leads by Industry Type.,Melacak Memimpin menurut Industri Type.
Track this Delivery Note against any Project,Melacak Pengiriman ini Catatan terhadap Proyek apapun
Track this Sales Order against any Project,Melacak Pesanan Penjualan ini terhadap Proyek apapun
Transaction,Transaksi
Transaction Date,Transaction Tanggal
Transaction not allowed against stopped Production Order {0},Transaksi tidak diperbolehkan berhenti melawan Orde Produksi {0}
Transfer,Transfer
Transfer Material,Material Transfer
Transfer Raw Materials,Mentransfer Bahan Baku
Transferred Qty,Ditransfer Qty
Transportation,Transportasi
Transporter Info,Info Transporter
Transporter Name,Transporter Nama
Transporter lorry number,Nomor Transporter truk
Travel,Perjalanan
Travel Expenses,Biaya Perjalanan
Tree Type,Jenis Pohon
Tree of Item Groups.,Pohon Item Grup.
Tree of finanial Cost Centers.,Pohon Pusat Biaya finanial.
Tree of finanial accounts.,Pohon rekening finanial.
Trial Balance,Trial Balance
Tuesday,Selasa
Type,Jenis
Type of document to rename.,Jenis dokumen untuk mengubah nama.
"Type of leaves like casual, sick etc.","Jenis daun seperti kasual, dll sakit"
Types of Expense Claim.,Jenis Beban Klaim.
Types of activities for Time Sheets,Jenis kegiatan untuk Waktu Sheets
"Types of employment (permanent, contract, intern etc.).","Jenis pekerjaan (permanen, kontrak, magang dll)."
UOM Conversion Detail,Detil UOM Konversi
UOM Conversion Details,UOM Detail Konversi
UOM Conversion Factor,UOM Faktor Konversi
UOM Conversion factor is required in row {0},Faktor UOM Konversi diperlukan berturut-turut {0}
UOM Name,Nama UOM
UOM coversion factor required for UOM: {0} in Item: {1},Faktor coversion UOM diperlukan untuk UOM: {0} di Item: {1}
Under AMC,Di bawah AMC
Under Graduate,Under Graduate
Under Warranty,Berdasarkan Jaminan
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
"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Unit pengukuran item ini (misalnya Kg, Unit, No, Pair)."
Units/Hour,Unit / Jam
Units/Shifts,Unit / Shift
Unpaid,Tunggakan
Unreconciled Payment Details,Rincian Pembayaran Unreconciled
Unscheduled,Terjadwal
Unsecured Loans,Pinjaman Tanpa Jaminan
Unstop,Unstop
Unstop Material Request,Unstop Material Permintaan
Unstop Purchase Order,Unstop Purchase Order
Unsubscribed,Berhenti berlangganan
Update,Perbarui
Update Clearance Date,Perbarui Izin Tanggal
Update Cost,Pembaruan Biaya
Update Finished Goods,Barang pembaruan Selesai
Update Landed Cost,Pembaruan Landed Cost
Update Series,Pembaruan Series
Update Series Number,Pembaruan Series Number
Update Stock,Perbarui Stock
Update bank payment dates with journals.,Perbarui tanggal pembayaran bank dengan jurnal.
Update clearance date of Journal Entries marked as 'Bank Vouchers',Tanggal pembaruan clearance Entries Journal ditandai sebagai 'Bank Voucher'
Updated,Diperbarui
Updated Birthday Reminders,Diperbarui Ulang Tahun Pengingat
Upload Attendance,Upload Kehadiran
Upload Backups to Dropbox,Upload Backup ke Dropbox
Upload Backups to Google Drive,Upload Backup ke Google Drive
Upload HTML,Upload HTML
Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,Upload file csv dengan dua kolom:. Nama lama dan nama baru. Max 500 baris.
Upload attendance from a .csv file,Upload kehadiran dari file csv.
Upload stock balance via csv.,Upload keseimbangan saham melalui csv.
Upload your letter head and logo - you can edit them later.,Upload kop surat dan logo - Anda dapat mengedit mereka nanti.
Upper Income,Atas Penghasilan
Urgent,Mendesak
Use Multi-Level BOM,Gunakan Multi-Level BOM
Use SSL,Gunakan SSL
Used for Production Plan,Digunakan untuk Rencana Produksi
User,Pengguna
User ID,ID Pemakai
User ID not set for Employee {0},User ID tidak ditetapkan untuk Karyawan {0}
User Name,Nama Pengguna
User Name or Support Password missing. Please enter and try again.,Nama Pengguna atau Dukungan Sandi hilang. Silakan masuk dan coba lagi.
User Remark,Keterangan Pengguna
User Remark will be added to Auto Remark,Keterangan Pengguna akan ditambahkan ke Auto Remark
User Remarks is mandatory,Pengguna Keterangan adalah wajib
User Specific,User Specific
User must always select,Pengguna harus selalu pilih
User {0} is already assigned to Employee {1},Pengguna {0} sudah ditugaskan untuk Karyawan {1}
User {0} is disabled,Pengguna {0} dinonaktifkan
Username,satria pasha
Users with this role are allowed to create / modify accounting entry before frozen date,Pengguna dengan peran ini diperbolehkan untuk membuat / memodifikasi entri akuntansi sebelum tanggal beku
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
Utilities,Keperluan
Utility Expenses,Beban utilitas
Valid For Territories,Berlaku Untuk Wilayah
Valid From,Valid Dari
Valid Upto,Valid Upto
Valid for Territories,Berlaku untuk Wilayah
Validate,Mengesahkan
Valuation,Valuation
Valuation Method,Metode Penilaian
Valuation Rate,Tingkat Penilaian
Valuation Rate required for Item {0},Penilaian Tingkat diperlukan untuk Item {0}
Valuation and Total,Penilaian dan Total
Value,Nilai
Value or Qty,Nilai atau Qty
Vehicle Dispatch Date,Kendaraan Dispatch Tanggal
Vehicle No,Kendaraan yang
Venture Capital,Modal Ventura
Verified By,Diverifikasi oleh
View Ledger,View Ledger
View Now,Lihat Sekarang
Visit report for maintenance call.,Kunjungi laporan untuk panggilan pemeliharaan.
Voucher #,Voucher #
Voucher Detail No,Detil Voucher ada
Voucher Detail Number,Voucher Nomor Detil
Voucher ID,Voucher ID
Voucher No,Voucher Tidak ada
Voucher Type,Voucher Type
Voucher Type and Date,Voucher Jenis dan Tanggal
Walk In,Walk In
Warehouse,Gudang
Warehouse Contact Info,Info Kontak Gudang
Warehouse Detail,Detil Gudang 
Warehouse Name,Gudang Nama
Warehouse and Reference,Gudang dan Referensi
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Gudang tidak dapat dihapus sebagai entri stok buku ada untuk gudang ini.
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Gudang hanya dapat diubah melalui Bursa Masuk / Delivery Note / Penerimaan Pembelian
Warehouse cannot be changed for Serial No.,Gudang tidak dapat diubah untuk Serial Number
Warehouse is mandatory for stock Item {0} in row {1},Gudang adalah wajib bagi saham Barang {0} berturut-turut {1}
Warehouse is missing in Purchase Order,Gudang yang hilang dalam Purchase Order
Warehouse not found in the system,Gudang tidak ditemukan dalam sistem
Warehouse required for stock Item {0},Gudang diperlukan untuk stok Barang {0}
Warehouse where you are maintaining stock of rejected items,Gudang di mana Anda mempertahankan stok item ditolak
Warehouse {0} can not be deleted as quantity exists for Item {1},Gudang {0} tidak dapat dihapus sebagai kuantitas ada 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}: Company is mandatory,Gudang {0}: Perusahaan wajib
Warehouse {0}: Parent account {1} does not bolong to the company {2},Gudang {0}: akun induk {1} tidak terkait kepada perusahaan {2}
Warehouse-Wise Stock Balance,Gudang-Wise Stock Balance
Warehouse-wise Item Reorder,Gudang-bijaksana Barang Reorder
Warehouses,Gudang
Warehouses.,Gudang.
Warn,Memperingatkan
Warning: Leave application contains following block dates,Peringatan: Tinggalkan 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 same Purchase Order number,Peringatan: Sales Order {0} sudah ada terhadap nomor Purchase Order yang sama
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 / AMC Details,Garansi / Detail AMC
Warranty / AMC Status,Garansi / Status AMC
Warranty Expiry Date,Garansi Tanggal Berakhir
Warranty Period (Days),Masa Garansi (Hari)
Warranty Period (in days),Masa Garansi (dalam hari)
We buy this Item,Kami membeli item ini
We sell this Item,Kami menjual item ini
Website,Situs Web
Website Description,Website Description
Website Item Group,Situs Barang Grup
Website Item Groups,Situs Barang Grup
Website Settings,Pengaturan situs web
Website Warehouse,Situs Gudang
Wednesday,Rabu
Weekly,Mingguan
Weekly Off,Weekly Off
Weight UOM,Berat UOM
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Berat disebutkan, \n Harap menyebutkan ""Berat UOM"" terlalu"
Weightage,Weightage
Weightage (%),Weightage (%)
Welcome,Selamat Datang
Welcome to ERPNext. Over the next few minutes we will help you setup your ERPNext account. Try and fill in as much information as you have even if it takes a bit longer. It will save you a lot of time later. Good Luck!,Selamat Datang di ERPNext. Selama beberapa menit berikutnya kami akan membantu Anda setup account ERPNext Anda. Cobalah dan mengisi sebanyak mungkin informasi sebagai Anda memiliki bahkan jika dibutuhkan sedikit lebih lama. Ini akan menghemat banyak waktu. Selamat!
Welcome to ERPNext. Please select your language to begin the Setup Wizard.,Selamat Datang di ERPNext. Silahkan pilih bahasa Anda untuk memulai Setup Wizard.
What does it do?,Apa gunanya?
"When any of the checked transactions are ""Submitted"", an email pop-up automatically opened to send an email to the associated ""Contact"" in that transaction, with the transaction as an attachment. The user may or may not send the email.","Ketika salah satu transaksi yang diperiksa ""Dikirim"", email pop-up secara otomatis dibuka untuk mengirim email ke terkait ""Kontak"" dalam transaksi itu, dengan transaksi sebagai lampiran. Pengguna mungkin atau mungkin tidak mengirim email."
"When submitted, the system creates difference entries to set the given stock and valuation on this date.","Ketika disampaikan, sistem menciptakan entri perbedaan untuk mengatur saham yang diberikan dan penilaian pada tanggal ini."
Where items are stored.,Dimana item disimpan.
Where manufacturing operations are carried out.,Dimana operasi manufaktur dilakukan.
Widowed,Janda
Will be calculated automatically when you enter the details,Akan dihitung secara otomatis ketika Anda memasukkan rincian
Will be updated after Sales Invoice is Submitted.,Akan diperbarui setelah Faktur Penjualan yang Dikirim.
Will be updated when batched.,Akan diperbarui bila batched.
Will be updated when billed.,Akan diperbarui saat ditagih.
Wire Transfer,Transfer
With Operations,Dengan Operasi
With Period Closing Entry,Dengan Periode penutupan Entri
Work Details,Rincian Kerja
Work Done,Pekerjaan Selesai
Work In Progress,Bekerja In Progress
Work-in-Progress Warehouse,Kerja-in Progress-Gudang
Work-in-Progress Warehouse is required before Submit,Kerja-in-Progress Gudang diperlukan sebelum Submit
Working,Kerja
Working Days,Hari Kerja
Workstation,Workstation
Workstation Name,Workstation Nama
Write Off Account,Menulis Off Akun
Write Off Amount,Menulis Off Jumlah
Write Off Amount <=,Menulis Off Jumlah <=
Write Off Based On,Menulis Off Berbasis On
Write Off Cost Center,Menulis Off Biaya Pusat
Write Off Outstanding Amount,Menulis Off Jumlah Outstanding
Write Off Voucher,Menulis Off Voucher
Wrong Template: Unable to find head row.,Template yang salah: Tidak dapat menemukan baris kepala.
Year,Tahun
Year Closed,Tahun Ditutup
Year End Date,Tanggal Akhir Tahun
Year Name,Nama Tahun
Year Start Date,Tanggal Mulai Tahun
Year of Passing,Tahun Passing
Yearly,Tahunan
Yes,Ya
You are not authorized to add or update entries before {0},Anda tidak diizinkan untuk menambah atau memperbarui entri sebelum {0}
You are not authorized to set Frozen value,Anda tidak diizinkan untuk menetapkan nilai yg sedang dibekukan
You are the Expense Approver for this record. Please Update the 'Status' and Save,Anda adalah Approver Beban untuk record ini. Silakan Update 'Status' dan Simpan
You are the Leave Approver for this record. Please Update the 'Status' and Save,Anda adalah Leave Approver untuk record ini. Silakan Update 'Status' dan Simpan
You can enter any date manually,Anda dapat memasukkan tanggal apapun secara manual
You can enter the minimum quantity of this item to be ordered.,Anda dapat memasukkan jumlah minimum dari item yang akan dipesan.
You can not change rate if BOM mentioned agianst any item,Anda tidak dapat mengubah tingkat jika BOM disebutkan agianst item
You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Anda tidak dapat memasukkan kedua Delivery Note ada dan Faktur Penjualan No Masukkan salah satu.
You can not enter current voucher in 'Against Journal Voucher' column,Anda tidak bisa masuk voucher saat ini di 'Melawan Journal Voucher' kolom
You can set Default Bank Account in Company master,Anda dapat mengatur default Bank Account menguasai Perusahaan
You can start by selecting backup frequency and granting access for sync,Anda dapat memulai dengan memilih frekuensi backup dan memberikan akses untuk sinkronisasi
You can submit this Stock Reconciliation.,Anda bisa mengirimkan ini Stock Rekonsiliasi.
You can update either Quantity or Valuation Rate or both.,Anda dapat memperbarui baik Quantity atau Tingkat Penilaian atau keduanya.
You cannot credit and debit same account at the same time,Anda tidak dapat kredit dan mendebit rekening yang sama pada waktu yang sama
You have entered duplicate items. Please rectify and try again.,Anda telah memasukkan item yang sama. Harap diperbaiki dan coba lagi.
You may need to update: {0},Anda mungkin perlu memperbarui: {0}
You must Save the form before proceeding,Anda harus menyimpan formulir sebelum melanjutkan
Your Customer's TAX registration numbers (if applicable) or any general information,Nomor registrasi PAJAK Pelanggan Anda (jika ada) atau informasi umum lainnya
Your Customers,Pelanggan Anda
Your Login Id,Login Id Anda
Your Products or Services,Produk atau Jasa
Your Suppliers,Pemasok Anda
Your email address,Alamat email Anda
Your financial year begins on,Tahun pembukuan Anda dimulai
Your financial year ends on,Tahun keuangan Anda berakhir pada
Your sales person who will contact the customer in future,Sales Anda yang akan menghubungi pelanggan di masa depan
Your sales person will get a reminder on this date to contact the customer,Sales Anda akan mendapatkan pengingat pada tanggal ini untuk menghubungi pelanggan
Your setup is complete. Refreshing...,Setup Anda selesai. Refreshing ...
Your support email id - must be a valid email - this is where your emails will come!,Dukungan email id Anda - harus email yang valid - ini adalah di mana email akan datang!
[Error],[Kesalahan]
[Select],[Select]
`Freeze Stocks Older Than` should be smaller than %d days.,`Freeze Saham Lama Dari` harus lebih kecil dari% d hari.
and,Dan
are not allowed.,tidak diperbolehkan.
assigned by,ditugaskan oleh
cannot be greater than 100,tidak dapat lebih besar dari 100
"e.g. ""Build tools for builders""","misalnya ""Membangun alat untuk pembangun """
"e.g. ""MC""","misalnya ""MC """
"e.g. ""My Company LLC""","misalnya ""My Company LLC """
e.g. 5,misalnya 5
"e.g. Bank, Cash, Credit Card","misalnya Bank, Kas, Kartu Kredit"
"e.g. Kg, Unit, Nos, m","misalnya Kg, Unit, Nos, m"
e.g. VAT,misalnya PPN
eg. Cheque Number,misalnya. Nomor Cek
example: Next Day Shipping,Contoh: Hari Berikutnya Pengiriman
lft,lft
old_parent,old_parent
rgt,rgt
subject,subyek
to,to
website page link,tautan halaman situs web
{0} '{1}' not in Fiscal Year {2},{0} '{1}' tidak dalam Tahun Anggaran {2}
{0} Credit limit {0} crossed,{0} limit kredit {0} menyeberangi
{0} Serial Numbers required for Item {0}. Only {0} provided.,{0} Serial Number diperlukan untuk Item {0}. Hanya {0} disediakan.
{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} anggaran untuk Akun {1} terhadap Biaya Pusat {2} akan melebihi oleh {3}
{0} can not be negative,{0} tidak dapat negatif
{0} created,{0} dibuat
{0} does not belong to Company {1},{0} bukan milik Perusahaan {1}
{0} entered twice in Item Tax,{0} masuk dua kali dalam Pajak Barang
{0} is an invalid email address in 'Notification Email Address',{0} adalah alamat email yang tidak valid dalam 'Pemberitahuan Alamat Email'
{0} is mandatory,{0} adalah wajib
{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} is not a stock Item,{0} bukan merupakan saham Barang
{0} is not a valid Batch Number for Item {1},{0} tidak Nomor Batch berlaku untuk Item {1}
{0} is not a valid Leave Approver. Removing row #{1}.,{0} tidak valid Tinggalkan Approver. Menghapus row # {1}.
{0} is not a valid email id,{0} bukan id email yang valid
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} sekarang default Tahun Anggaran. Silahkan refresh browser Anda untuk perubahan untuk mengambil efek.
{0} is required,{0} diperlukan
{0} must be a Purchased or Sub-Contracted Item in row {1},{0} harus Dibeli Sub-Kontrak atau Barang berturut-turut {1}
{0} must be reduced by {1} or you should increase overflow tolerance,{0} harus dikurangi oleh {1} atau Anda harus meningkatkan toleransi melimpah
{0} must have role 'Leave Approver',{0} harus memiliki peran 'Leave Approver'
{0} valid serial nos for Item {1},{0} nos seri berlaku untuk Item {1}
{0} {1} against Bill {2} dated {3},{0} {1} terhadap Bill {2} tanggal {3}
{0} {1} against Invoice {2},{0} {1} terhadap Faktur {2}
{0} {1} has already been submitted,{0} {1} telah diserahkan
{0} {1} has been modified. Please refresh.,{0} {1} telah dimodifikasi. Silahkan refresh.
{0} {1} is not submitted,{0} {1} tidak disampaikan
{0} {1} must be submitted,{0} {1} harus diserahkan
{0} {1} not in any Fiscal Year,{0} {1} tidak dalam Tahun Anggaran
{0} {1} status is 'Stopped',{0} {1} status 'Berhenti'
{0} {1} status is Stopped,{0} Status {1} adalah Berhenti
{0} {1} status is Unstopped,{0} {1} status unstopped
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Biaya Pusat adalah wajib untuk Item {2}
{0}: {1} not found in Invoice Details table,{0}: {1} tidak ditemukan dalam Faktur Rincian table
