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