 (Half Day),
 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,"Sebuah Kelompok Pelanggan ada dengan nama yang sama, silakan mengubah nama Nasabah 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,Sebuah Produk atau Jasa
A Supplier exists with same name,Sebuah Pemasok ada dengan nama yang sama
A symbol for this currency. For e.g. $,Sebuah simbol untuk mata uang ini. Untuk misalnya $
AMC Expiry Date,AMC Tanggal Berakhir
Abbr,Abbr
Abbreviation cannot have more than 5 characters,Singkatan tak bisa memiliki lebih dari 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},Diterima Ditolak + Qty harus sama dengan jumlah yang diterima untuk Item {0}
Accepted Quantity,Diterima Kuantitas
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 sudah 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 di Debit, Anda tidak diizinkan untuk mengatur 'Balance Harus' sebagai 'Kredit'"
Account for the warehouse (Perpetual Inventory) will be created under this Account.,Rekening untuk gudang (Inventaris Perpetual) akan dibuat di bawah Rekening ini.
Account head {0} created,Kepala akun {0} dibuat
Account must be a balance sheet account,Rekening harus menjadi akun neraca
Account with child nodes cannot be converted to ledger,Akun dengan node anak tidak dapat dikonversi ke buku
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
Account {0} cannot be a Group,Akun {0} tidak dapat Kelompok a
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} beku
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' sebagai Barang {1} adalah sebuah Aset Barang
Account {0}: Parent account {1} can not be a ledger,Akun {0}: akun Parent {1} tidak dapat buku besar
Account {0}: Parent account {1} does not belong to company: {2},Akun {0}: akun Parent {1} bukan milik perusahaan: {2}
Account {0}: Parent account {1} does not exist,Akun {0}: akun Parent {1} tidak ada
Account {0}: You can not assign itself as parent account,Akun {0}: Anda tidak dapat menetapkan dirinya sebagai rekening induk
Account: {0} can only be updated via \					Stock Transactions,Account: {0} hanya dapat diperbarui melalui \ Transaksi Bursa
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.","Entri Akuntansi beku up to date ini, tak seorang pun bisa melakukan / memodifikasi entri kecuali peran ditentukan di bawah ini."
Accounting journal entries.,Jurnal akuntansi.
Accounts,Rekening
Accounts Browser,Account Browser
Accounts Frozen Upto,Account Frozen Upto
Accounts Payable,Hutang
Accounts Receivable,Piutang
Accounts Settings,Account Settings
Active,Aktif
Active: Will extract emails from ,
Activity,Aktivitas
Activity Log,Log Aktivitas
Activity Log:,Log Aktivitas:
Activity Type,Jenis Kegiatan
Actual,Aktual
Actual Budget,Realisasi Anggaran
Actual Completion Date,Realisasi Tanggal Penyelesaian
Actual Date,Realisasi Tanggal
Actual End Date,Realisasi Tanggal Akhir
Actual Invoice Date,Sebenarnya Faktur Tanggal
Actual Posting Date,Sebenarnya Posting Tanggal
Actual Qty,Realisasi Qty
Actual Qty (at source/target),Aktual Qty (di sumber / target)
Actual Qty After Transaction,Realisasi Qty Setelah Transaksi
Actual Qty: Quantity available in the warehouse.,Jumlah yang sebenarnya: Kuantitas yang tersedia di gudang.
Actual Quantity,Realisasi Kuantitas
Actual Start Date,Aktual Tanggal Mulai
Add,Tambahkan
Add / Edit Taxes and Charges,Tambah / Edit Pajak dan Biaya
Add Child,Tambah Anak
Add Serial No,Tambahkan Serial No
Add Taxes,Tambahkan Pajak
Add Taxes and Charges,Tambahkan Pajak dan Biaya
Add or Deduct,Tambah atau Dikurangi
Add rows to set annual budgets on Accounts.,Tambahkan baris untuk mengatur anggaran tahunan Accounts.
Add to Cart,Add to Cart
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,Alamat Penj
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,Alamat Judul
Address Title is mandatory.,Alamat Judul adalah wajib.
Address Type,Alamat Type
Address master.,Alamat utama.
Administrative Expenses,Beban Administrasi
Administrative Officer,Petugas Administrasi
Advance Amount,Jumlah muka
Advance amount,Jumlah muka
Advances,Uang Muka
Advertisement,iklan
Advertising,Pengiklanan
Aerospace,Aerospace
After Sale Installations,Setelah Sale Instalasi
Against,Terhadap
Against Account,Terhadap Rekening
Against Bill {0} dated {1},Melawan Bill {0} tanggal {1}
Against Docname,Melawan Docname
Against Doctype,Terhadap Doctype
Against Document Detail No,Terhadap Dokumen Detil ada
Against Document No,Melawan Dokumen Tidak
Against Expense Account,Terhadap Beban Akun
Against Income Account,Terhadap Akun Penghasilan
Against Journal Voucher,Melawan Journal Voucher
Against Journal Voucher {0} does not have any unmatched {1} entry,Terhadap Journal Voucher {0} tidak memiliki tertandingi {1} entri
Against Purchase Invoice,Terhadap Purchase Invoice
Against Sales Invoice,Terhadap Faktur Penjualan
Against Sales Order,Terhadap Sales Order
Against Voucher,Melawan Voucher
Against Voucher Type,Terhadap Voucher Type
Ageing Based On,Penuaan Berdasarkan
Ageing Date is mandatory for opening entry,Penuaan 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,Agriculture
Airline,Perusahaan penerbangan
All Addresses.,Semua Addresses.
All Contact,Semua Kontak
All Contacts.,All Contacts.
All Customer Contact,Semua Kontak Pelanggan
All Customer Groups,Semua Grup Pelanggan
All Day,Semua Hari
All Employee (Active),Semua Karyawan (Active)
All Item Groups,Semua Barang Grup
All Lead (Open),Semua Timbal (Open)
All Products or Services.,Semua Produk atau Jasa.
All Sales Partner Contact,Semua Penjualan Partner Kontak
All Sales Person,Semua Penjualan Orang
All Supplier Contact,Semua Pemasok Kontak
All Supplier Types,Semua Jenis Pemasok
All Territories,Semua Territories
"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 bidang ekspor terkait seperti mata uang, tingkat konversi, jumlah ekspor, total ekspor dll besar tersedia dalam Pengiriman Catatan, POS, Quotation, Faktur Penjualan, Sales Order 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 bidang impor terkait seperti mata uang, tingkat konversi, jumlah impor, impor besar jumlah dll tersedia dalam Penerimaan Pembelian, Supplier Quotation, Purchase Invoice, Purchase Order dll"
All items have already been invoiced,Semua item telah ditagih
All these items have already been invoiced,Semua barang-barang tersebut telah ditagih
Allocate,Menyediakan
Allocate leaves for a period.,Mengalokasikan daun untuk suatu periode.
Allocate leaves for the year.,Mengalokasikan daun untuk tahun ini.
Allocated Amount,Dialokasikan Jumlah
Allocated Budget,Anggaran Dialokasikan
Allocated amount,Jumlah yang dialokasikan
Allocated amount can not be negative,Jumlah yang dialokasikan tidak dapat negatif
Allocated amount can not greater than unadusted amount,Jumlah yang dialokasikan tidak bisa lebih besar dari jumlah unadusted
Allow Bill of Materials,Biarkan Bill of Material
Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item,Biarkan Bill of Material harus 'Ya'. Karena satu atau banyak BOMs aktif hadir untuk item ini
Allow Children,Biarkan Anak-anak
Allow Dropbox Access,Izinkan Dropbox Access
Allow Google Drive Access,Izinkan Google Drive Access
Allow Negative Balance,Biarkan 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.,Memungkinkan pengguna berikut untuk menyetujui Leave Aplikasi untuk blok hari.
Allow user to edit Price List Rate in transactions,Memungkinkan pengguna untuk mengedit Daftar Harga Tingkat 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,Berlaku Libur
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 On
Appraisal,Penilaian
Appraisal Goal,Penilaian Goal
Appraisal Goals,Penilaian Gol
Appraisal Template,Appraisal Template
Appraisal Template Goal,Gol Appraisal Template
Appraisal Template Title,Appraisal Template Judul
Appraisal {0} created for Employee {1} in the given date range,Penilaian {0} diciptakan untuk Employee {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 ,
Are you sure you want to UNSTOP ,
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,Atleast salah satu Jual atau Beli harus dipilih
Atleast one warehouse is mandatory,Atleast 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,Kehadiran Tanggal
Attendance Details,Rincian Kehadiran
Attendance From Date,Kehadiran Dari Tanggal
Attendance From Date and Attendance To Date is mandatory,Kehadiran Dari Tanggal dan Kehadiran To Date adalah wajib
Attendance To Date,Kehadiran To Date
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,Aturan Otorisasi
Auto Accounting For Stock Settings,Auto Akuntansi Untuk Stock Pengaturan
Auto Material Request,Auto Material Permintaan
Auto-raise Material Request if quantity goes below re-order level in a warehouse,Auto-meningkatkan Permintaan Material jika kuantitas berjalan di bawah tingkat re-order 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 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,Ot
Autoreply when a new mail is received,Autoreply ketika mail baru diterima
Available,Tersedia
Available Qty at Warehouse,Qty 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,Mengagumkan Produk
Awesome Services,Layanan yang mengagumkan
BOM Detail No,BOM Detil ada
BOM Explosion Item,BOM Ledakan Barang
BOM Item,BOM Barang
BOM No,BOM ada
BOM No. for a Finished Good Item,BOM No untuk jadi baik Barang
BOM Operation,BOM Operasi
BOM Operations,BOM Operasi
BOM Replace Tool,BOM Ganti Alat
BOM number is required for manufactured Item {0} in row {1},Nomor BOM diperlukan untuk diproduksi Barang {0} berturut-turut {1}
BOM number not allowed for non-manufactured Item {0} in row {1},Nomor BOM tidak diperbolehkan untuk non-manufaktur Barang {0} berturut-turut {1}
BOM recursion: {0} cannot be parent or child of {2},BOM rekursi: {0} tidak dapat orang tua atau anak 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 disampaikan
BOM {0} is not active or not submitted,BOM {0} tidak aktif atau tidak disampaikan
BOM {0} is not submitted or inactive BOM for Item {1},BOM {0} bukan disampaikan atau tidak aktif BOM untuk Item {1}
Backup Manager,Backup Manager
Backup Right Now,Backup Right Now
Backups will be uploaded to,Backup akan di-upload ke
Balance Qty,Balance Qty
Balance Sheet,Neraca
Balance Value,Saldo Nilai
Balance for Account {0} must always be {1},Saldo Rekening {0} harus selalu {1}
Balance must be,Balance harus
"Balances of Accounts of type ""Bank"" or ""Cash""","Saldo Rekening jenis ""Bank"" atau ""Cash"""
Bank,Bank
Bank / Cash Account,Bank / Kas Rekening
Bank A/C No.,Bank A / C 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,5. Bank Reconciliation (Rekonsiliasi Bank)
Bank Reconciliation Detail,Rekonsiliasi Bank Detil
Bank Reconciliation Statement,Pernyataan Bank Rekonsiliasi
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,Tingkat Dasar
Basic Rate (Company Currency),Tingkat Dasar (Perusahaan Mata Uang)
Batch,Sejumlah
Batch (lot) of an Item.,Batch (banyak) dari Item.
Batch Finished Date,Batch Selesai Tanggal
Batch ID,Batch ID
Batch No,Ada 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,Ditagih
Billed,Ditagih
Billed Amount,Ditagih Jumlah
Billed Amt,Ditagih Amt
Billing,Penagihan
Billing Address,Alamat Penagihan
Billing Address Name,Alamat Penagihan Nama
Billing Status,Status Penagihan
Bills raised by Suppliers.,Bills diajukan oleh Pemasok.
Bills raised to Customers.,Bills diangkat ke Pelanggan.
Bin,Bin
Bio,Bio
Biotechnology,Bioteknologi
Birthday,Ulang tahun
Block Date,Blok Tanggal
Block Days,Block Hari
Block leave applications by department.,Memblokir aplikasi cuti oleh departemen.
Blog Post,Posting Blog
Blog Subscriber,Blog Subscriber
Blood Group,Kelompok darah
Both Warehouse must belong to same Company,Kedua Gudang harus milik Perusahaan yang sama
Box,Kotak
Branch,Cabang
Brand,Merek
Brand Name,Merek Nama
Brand master.,Master merek.
Brands,Merek
Breakdown,Kerusakan
Broadcasting,Penyiaran
Brokerage,Perdagangan perantara
Budget,Anggaran belanja
Budget Allocated,Anggaran Dialokasikan
Budget Detail,Anggaran Detil
Budget Details,Rincian Anggaran
Budget Distribution,Distribusi anggaran
Budget Distribution Detail,Detil Distribusi Anggaran
Budget Distribution Details,Rincian Distribusi Anggaran
Budget Variance Report,Varians Anggaran Laporan
Budget cannot be set for Group Cost Centers,Anggaran tidak dapat ditetapkan untuk Biaya Pusat 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,Jual Beli &
Buying Amount,Membeli Jumlah
Buying Settings,Membeli Pengaturan
"Buying must be checked, if Applicable For is selected as {0}","Membeli harus diperiksa, 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,Kalender Acara
Call,Panggilan
Calls,Panggilan
Campaign,Kampanye
Campaign Name,Nama Kampanye
Campaign Name is required,Nama Kampanye diperlukan
Campaign Naming By,Kampanye Penamaan Dengan
Campaign-.####,Kampanye-.# # # #
Can be approved by {0},Dapat disetujui oleh {0}
"Can not filter based on Account, if grouped by Account","Tidak dapat menyaring berdasarkan Account, jika dikelompokkan berdasarkan Rekening"
"Can not filter based on Voucher No, if grouped by Voucher","Tidak dapat menyaring berdasarkan Voucher Tidak, 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,Batal Bahan Visit {0} sebelum membatalkan ini Issue Pelanggan
Cancel Material Visits {0} before cancelling this Maintenance Visit,Batal Kunjungan Material {0} sebelum membatalkan ini Maintenance Visit
Cancelled,Cancelled
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 ,
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 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 this Material Request?,Apakah Anda benar-benar ingin unstop Permintaan Bahan ini?
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,siska_chute34@yahoo.com
Email Digest,Email Digest
Email Digest Settings,Email Digest Pengaturan
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 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 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: ,
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: ,
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 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 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: ,
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 # {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 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: ,
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(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 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,Gudang Info Kontak
Warehouse Detail,Gudang Detil
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 Parent {1} tidak Bolong 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,Tahun Nama
Year Start Date,Tahun Tanggal Mulai
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 Beku
You are the Expense Approver for this record. Please Update the 'Status' and Save,Anda adalah Approver Beban untuk catatan 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 catatan ini. Silakan Update 'Status' dan Simpan
You can enter any date manually,Anda dapat memasukkan setiap tanggal secara manual
You can enter the minimum quantity of this item to be ordered.,Anda dapat memasukkan jumlah minimum dari item ini 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 memasuki duplikat item. Harap memperbaiki dan coba lagi.
You may need to update: {0},Anda mungkin perlu memperbarui: {0}
You must Save the form before proceeding,Anda harus Simpan 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 setiap
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 buku Anda dimulai di
Your financial year ends on,Tahun keuangan Anda berakhir pada
Your sales person who will contact the customer in future,Orang sales Anda yang akan menghubungi pelanggan di masa depan
Your sales person will get a reminder on this date to contact the customer,Orang penjualan 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} adalah wajib. Mungkin catatan mata uang tidak diciptakan untuk {1} ke {} 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
