 (Half Day),(Poludnevni)
 and year: ,i godina:
""" does not exists",""" Ne postoji"
%  Delivered,Isporučena%
% Amount Billed,% Iznos Naplaćeno
% Billed,Naplaćeno%
% Completed,Završen%
% Delivered,% isporučeno
% Installed,Instalirani%
% Received,% Pozicija
% of materials billed against this Purchase Order.,% Materijala naplaćeno protiv ove narudžbenice.
% of materials billed against this Sales Order,% Materijala naplaćeno protiv ovog prodajnog naloga
% of materials delivered against this Delivery Note,% Materijala dostavljenih protiv ove otpremnici
% of materials delivered against this Sales Order,% Materijala dostavljenih od ovog prodajnog naloga
% of materials ordered against this Material Request,% Materijala naredio protiv ovog materijala Zahtjeva
% of materials received against this Purchase Order,% Materijala dobio protiv ove narudžbenice
'Actual Start Date' can not be greater than 'Actual End Date',"' Stvarni datum početka ' ne može biti veći od stvarnih datuma završetka """
'Based On' and 'Group By' can not be same,' Temelji se na' i 'Grupiranje po ' ne mogu biti isti
'Days Since Last Order' must be greater than or equal to zero,' Dani od posljednjeg reda ' mora biti veći ili jednak nuli
'Entries' cannot be empty,' Prijave ' ne može biti prazno
'Expected Start Date' can not be greater than 'Expected End Date',""" Očekivani datum početka ' ne može biti veći od očekivanih datuma završetka"""
'From Date' is required,' Od datuma ' je potrebno
'From Date' must be after 'To Date',"' Od datuma ' mora biti poslije ' To Date """
'Has Serial No' can not be 'Yes' for non-stock item,' Je rednim brojem ' ne može biti ' Da ' za ne - stock stavke
'Notification Email Addresses' not specified for recurring invoice,"' Obavijest E-mail adrese "" nisu spomenuti za ponavljajuće fakture"
'Profit and Loss' type account {0} not allowed in Opening Entry,' Račun dobiti i gubitka ' vrsta računa {0} nije dopuštena u otvor za
'To Case No.' cannot be less than 'From Case No.',&#39;Za Predmet br&#39; ne može biti manja od &#39;Od Predmet br&#39;
'To Date' is required,' To Date ' je potrebno
'Update Stock' for Sales Invoice {0} must be set,' Update Stock ' za prodaje fakture {0} mora biti postavljen
* Will be calculated in the transaction.,* Hoće li biti izračunata u transakciji.
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,1 valuta = [?] Frakcija  Za npr. 1 USD = 100 centi
1. To maintain the customer wise item code and to make them searchable based on their code use this option,1. Za održavanje kupaca mudar Šifra i kako bi ih pretraživati ​​na temelju svog koda koristiti ovu opciju
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer Group""> Dodaj / Uredi < />"
"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item Group""> Dodaj / Uredi < />"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> Dodaj / Uredi < />"
"<h4>Default Template</h4><p>Uses <a href=""http://jinja.pocoo.org/docs/templates/"">Jinja Templating</a> and all the fields of Address (including Custom Fields if any) will be available</p><pre><code>{{ address_line1 }}&lt;br&gt;{% if address_line2 %}{{ address_line2 }}&lt;br&gt;{% endif -%}{{ city }}&lt;br&gt;{% if state %}{{ state }}&lt;br&gt;{% endif -%}{% if pincode %} PIN:  {{ pincode }}&lt;br&gt;{% endif -%}{{ country }}&lt;br&gt;{% if phone %}Phone: {{ phone }}&lt;br&gt;{% endif -%}{% if fax %}Fax: {{ fax }}&lt;br&gt;{% endif -%}{% if email_id %}Email: {{ email_id }}&lt;br&gt;{% endif -%}</code></pre>","<h4> zadani predložak </ h4>  <p> Koristi <a href=""http://jinja.pocoo.org/docs/templates/""> Jinja templating </> i sva polja adresa ( uključujući Custom Fields ako postoje) će biti dostupan </ p>  <pre> <code> {{address_line1}} <br>  {% ako address_line2%} {{}} address_line2 <br> { endif% -%}  {{grad}} <br>  {% ako je državna%} {{}} Država <br> {% endif -%}  {% ako pincode%} PIN: {{pincode}} <br> {% endif -%}  {{country}} <br>  {% ako je telefon%} Telefon: {{telefonski}} <br> { endif% -%}  {% ako fax%} Fax: {{fax}} <br> {% endif -%}  {% ako email_id%} E: {{email_id}} <br> ; {% endif -%}  </ code> </ pre>"
A Customer Group exists with same name please change the Customer name or rename the Customer Group,Kupac Grupa postoji s istim imenom molimo promijenite ime kupca ili preimenovati grupi kupaca
A Customer exists with same name,Kupac postoji s istim imenom
A Lead with this email id should exist,Olovo s ovom e-mail id trebala postojati
A Product or Service,Proizvoda ili usluga
A Supplier exists with same name,Dobavljač postoji s istim imenom
A symbol for this currency. For e.g. $,Simbol za ovu valutu. Za npr. $
AMC Expiry Date,AMC Datum isteka
Abbr,Abbr
Abbreviation cannot have more than 5 characters,Kratica ne može imati više od 5 znakova
Above Value,Iznad Vrijednost
Absent,Odsutan
Acceptance Criteria,Kriterij prihvaćanja
Accepted,Primljen
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Prihvaćeno + Odbijen Kol mora biti jednaka količini primio za točku {0}
Accepted Quantity,Prihvaćeno Količina
Accepted Warehouse,Prihvaćeno galerija
Account,račun
Account Balance,Stanje računa
Account Created: {0},Račun Objavljeno : {0}
Account Details,Account Details
Account Head,Račun voditelj
Account Name,Naziv računa
Account Type,Vrsta računa
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Stanje računa već u kredit, što se ne smije postaviti 'ravnoteža se mora' kao 'zaduženje """
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Stanje računa već u zaduženje, ne smiju postaviti 'ravnoteža se mora' kao 'kreditne'"
Account for the warehouse (Perpetual Inventory) will be created under this Account.,Račun za skladište ( Perpetual inventar) stvorit će se na temelju ovog računa .
Account head {0} created,Glava račun {0} stvorio
Account must be a balance sheet account,Račun mora biti računabilance
Account with child nodes cannot be converted to ledger,Račun za dijete čvorova ne može pretvoriti u knjizi
Account with existing transaction can not be converted to group.,Račun s postojećim transakcije ne može pretvoriti u skupinu .
Account with existing transaction can not be deleted,Račun s postojećim transakcije ne može izbrisati
Account with existing transaction cannot be converted to ledger,Račun s postojećim transakcije ne može pretvoriti u knjizi
Account {0} cannot be a Group,Račun {0} ne može bitiGroup
Account {0} does not belong to Company {1},Račun {0} ne pripada Društvu {1}
Account {0} does not belong to company: {1},Račun {0} ne pripada tvrtki: {1}
Account {0} does not exist,Račun {0} ne postoji
Account {0} has been entered more than once for fiscal year {1},Račun {0} je ušao više od jednom za fiskalnu godinu {1}
Account {0} is frozen,Račun {0} je zamrznuta
Account {0} is inactive,Račun {0} nije aktivan
Account {0} is not valid,Račun {0} nije ispravan
Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item,Račun {0} mora biti tipa ' Fixed Asset ' kao točka {1} jeAsset artikla
Account {0}: Parent account {1} can not be a ledger,Račun {0}: Parent račun {1} Ne može biti knjiga
Account {0}: Parent account {1} does not belong to company: {2},Račun {0}: Parent račun {1} ne pripadaju tvrtki: {2}
Account {0}: Parent account {1} does not exist,Račun {0}: Parent račun {1} ne postoji
Account {0}: You can not assign itself as parent account,Račun {0}: Ne može se dodijeliti roditeljskog računa
Account: {0} can only be updated via \					Stock Transactions,Račun: {0} se može ažurirati samo putem \ Stock transakcije
Accountant,računovođa
Accounting,Računovodstvo
"Accounting Entries can be made against leaf nodes, called","Računovodstvo Prijave se mogu podnijeti protiv lisnih čvorova , pozvao"
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Knjiženje zamrznuta do tog datuma, nitko ne može učiniti / mijenjati ulazak, osim uloge naveden u nastavku."
Accounting journal entries.,Računovodstvo unosi u dnevnik.
Accounts,Računi
Accounts Browser,računi preglednik
Accounts Frozen Upto,Računi Frozen Upto
Accounts Payable,Računi naplativo
Accounts Receivable,Potraživanja
Accounts Settings,Računi Postavke
Active,Aktivan
Active: Will extract emails from ,Aktivno: Hoće li izdvojiti e-pošte iz
Activity,Djelatnost
Activity Log,Aktivnost Prijava
Activity Log:,Aktivnost Prijavite:
Activity Type,Aktivnost Tip
Actual,Stvaran
Actual Budget,Stvarni proračun
Actual Completion Date,Stvarni datum dovršenja
Actual Date,Stvarni datum
Actual End Date,Stvarni Datum završetka
Actual Invoice Date,Stvarni Datum fakture
Actual Posting Date,Stvarni datum knjiženja
Actual Qty,Stvarni Kol
Actual Qty (at source/target),Stvarni Kol (na izvoru / ciljne)
Actual Qty After Transaction,Stvarni Kol Nakon transakcije
Actual Qty: Quantity available in the warehouse.,Stvarni Količina : Količina dostupni u skladištu .
Actual Quantity,Stvarni Količina
Actual Start Date,Stvarni datum početka
Add,Dodati
Add / Edit Taxes and Charges,Dodaj / Uredi poreza i pristojbi
Add Child,Dodaj dijete
Add Serial No,Dodaj rednim brojem
Add Taxes,Dodaj Porezi
Add Taxes and Charges,Dodaj poreze i troškove
Add or Deduct,Dodavanje ili Oduzmite
Add rows to set annual budgets on Accounts.,Dodavanje redaka postaviti godišnje proračune na računima.
Add to Cart,Dodaj u košaricu
Add to calendar on this date,Dodaj u kalendar ovog datuma
Add/Remove Recipients,Dodaj / Ukloni primatelja
Address,Adresa
Address & Contact,Adresa &amp; Kontakt
Address & Contacts,Adresa i kontakti
Address Desc,Adresa Desc
Address Details,Adresa Detalji
Address HTML,Adresa HTML
Address Line 1,Adresa Linija 1
Address Line 2,Adresa Linija 2
Address Template,Adresa Predložak
Address Title,Adresa Naslov
Address Title is mandatory.,Adresa Naslov je obavezno .
Address Type,Adresa Tip
Address master.,Adresa majstor .
Administrative Expenses,Administrativni troškovi
Administrative Officer,Administrativni službenik
Advance Amount,Predujam Iznos
Advance amount,Predujam iznos
Advances,Napredak
Advertisement,Reklama
Advertising,oglašavanje
Aerospace,zračno-kosmički prostor
After Sale Installations,Nakon prodaje postrojenja
Against,Protiv
Against Account,Protiv računa
Against Bill {0} dated {1},Protiv Bill {0} od {1}
Against Docname,Protiv Docname
Against Doctype,Protiv DOCTYPE
Against Document Detail No,Protiv dokumenta Detalj No
Against Document No,Protiv dokumentu nema
Against Expense Account,Protiv Rashodi račun
Against Income Account,Protiv računu dohotka
Against Journal Voucher,Protiv Journal Voucheru
Against Journal Voucher {0} does not have any unmatched {1} entry,Protiv Journal vaučer {0} nema premca {1} unos
Against Purchase Invoice,Protiv Kupnja fakture
Against Sales Invoice,Protiv prodaje fakture
Against Sales Order,Protiv prodajnog naloga
Against Voucher,Protiv Voucheru
Against Voucher Type,Protiv voucher vrsti
Ageing Based On,Starenje temelju On
Ageing Date is mandatory for opening entry,Starenje Datum je obvezna za otvaranje unos
Ageing date is mandatory for opening entry,Starenje datum je obavezno za otvaranje unos
Agent,Agent
Aging Date,Starenje Datum
Aging Date is mandatory for opening entry,Starenje Datum je obvezna za otvaranje unos
Agriculture,poljoprivreda
Airline,aviokompanija
All Addresses.,Sve adrese.
All Contact,Sve Kontakt
All Contacts.,Svi kontakti.
All Customer Contact,Sve Kupac Kontakt
All Customer Groups,Sve skupine kupaca
All Day,All Day
All Employee (Active),Sve zaposlenika (aktivna)
All Item Groups,Svi Stavka Grupe
All Lead (Open),Sve Olovo (Otvoreno)
All Products or Services.,Svi proizvodi i usluge.
All Sales Partner Contact,Sve Kontakt Prodaja partner
All Sales Person,Sve Prodaje Osoba
All Supplier Contact,Sve Dobavljač Kontakt
All Supplier Types,Sve vrste Supplier
All Territories,Svi Territories
"All export related fields like currency, conversion rate, export total, export grand total etc are available in Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Sve izvoz srodnih područja poput valute , stopa pretvorbe , izvoz ukupno , izvoz sveukupnom itd su dostupni u Dostavnica, POS , ponude, prodaje fakture , prodajnog naloga i sl."
"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.","Svi uvoz srodnih područja poput valute , stopa pretvorbe , uvoz ukupno , uvoz sveukupnom itd su dostupni u Račun kupnje , dobavljač kotaciju , prilikom kupnje proizvoda, narudžbenice i sl."
All items have already been invoiced,Svi predmeti su već fakturirano
All these items have already been invoiced,Svi ovi predmeti su već fakturirano
Allocate,Dodijeliti
Allocate leaves for a period.,Dodijeliti lišće za razdoblje .
Allocate leaves for the year.,Dodjela lišće za godinu dana.
Allocated Amount,Dodijeljeni iznos
Allocated Budget,Dodijeljeni proračuna
Allocated amount,Dodijeljeni iznos
Allocated amount can not be negative,Dodijeljeni iznos ne može biti negativna
Allocated amount can not greater than unadusted amount,Dodijeljeni iznos ne može veći od iznosa unadusted
Allow Bill of Materials,Dopustite Bill materijala
Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item,Dopustite Bill materijala bi trebao biti ' Da ' . Budući da je jedan ili više aktivnih Sastavnice prisutne za ovu stavku
Allow Children,dopustiti djeci
Allow Dropbox Access,Dopusti pristup Dropbox
Allow Google Drive Access,Dopusti pristup Google Drive
Allow Negative Balance,Dopustite negativan saldo
Allow Negative Stock,Dopustite negativnu Stock
Allow Production Order,Dopustite proizvodnom nalogu
Allow User,Dopusti korisnika
Allow Users,Omogućiti korisnicima
Allow the following users to approve Leave Applications for block days.,Dopusti sljedeći korisnici odobriti ostavite aplikacije za blok dana.
Allow user to edit Price List Rate in transactions,Dopustite korisniku da uredite Ocijenite cjeniku u prometu
Allowance Percent,Dodatak posto
Allowance for over-{0} crossed for Item {1},Dodatak za prekomjerno {0} prešao za točku {1}
Allowance for over-{0} crossed for Item {1}.,Dodatak za prekomjerno {0} prešao za točku {1}.
Allowed Role to Edit Entries Before Frozen Date,Dopuštenih uloga za uređivanje upise Prije Frozen Datum
Amended From,Izmijenjena Od
Amount,Iznos
Amount (Company Currency),Iznos (Društvo valuta)
Amount Paid,Iznos plaćen
Amount to Bill,Iznositi Billa
An Customer exists with same name,Kupac postoji s istim imenom
"An Item Group exists with same name, please change the item name or rename the item group","Stavka Grupa postoji s istim imenom , molimo promijenite ime stavku ili preimenovati stavku grupe"
"An item exists with same name ({0}), please change the item group name or rename the item","Stavka postoji s istim imenom ( {0} ) , molimo promijenite ime stavku grupe ili preimenovati stavku"
Analyst,analitičar
Annual,godišnji
Another Period Closing Entry {0} has been made after {1},Drugi period Zatvaranje Stupanje {0} je postignut nakon {1}
Another Salary Structure {0} is active for employee {0}. Please make its status 'Inactive' to proceed.,Drugi Plaća Struktura {0} je aktivan za zaposlenika {0} . Molimo da svoj ​​status ' Neaktivan ' za nastavak .
"Any other comments, noteworthy effort that should go in the records.","Svi ostali komentari, značajan napor da bi trebao ići u evidenciji."
Apparel & Accessories,Odjeća i modni dodaci
Applicability,Primjena
Applicable For,primjenjivo za
Applicable Holiday List,Primjenjivo odmor Popis
Applicable Territory,primjenjivo teritorij
Applicable To (Designation),Odnosi se na (Oznaka)
Applicable To (Employee),Odnosi se na (Radnik)
Applicable To (Role),Odnosi se na (uloga)
Applicable To (User),Odnosi se na (Upute)
Applicant Name,Podnositelj zahtjeva Ime
Applicant for a Job.,Podnositelj prijave za posao.
Application of Funds (Assets),Primjena sredstava ( aktiva )
Applications for leave.,Prijave za odmor.
Applies to Company,Odnosi se na Društvo
Apply On,Nanesite na
Appraisal,Procjena
Appraisal Goal,Procjena gol
Appraisal Goals,Ocjenjivanje Golovi
Appraisal Template,Procjena Predložak
Appraisal Template Goal,Procjena Predložak cilja
Appraisal Template Title,Procjena Predložak Naslov
Appraisal {0} created for Employee {1} in the given date range,Procjena {0} stvorena za zaposlenika {1} u određenom razdoblju
Apprentice,šegrt
Approval Status,Status odobrenja
Approval Status must be 'Approved' or 'Rejected',"Status Odobrenje mora biti ""Odobreno"" ili "" Odbijeno """
Approved,Odobren
Approver,Odobritelj
Approving Role,Odobravanje ulogu
Approving Role cannot be same as role the rule is Applicable To,Odobravanje ulogu ne mogu biti isti kao i ulogepravilo odnosi se na
Approving User,Odobravanje korisnika
Approving User cannot be same as user the rule is Applicable To,Odobravanje korisnik ne može biti isto kao korisnikapravilo odnosi se na
Are you sure you want to STOP ,
Are you sure you want to UNSTOP ,
Arrear Amount,Iznos unatrag
"As Production Order can be made for this item, it must be a stock item.","Kao Production Order može biti za tu stavku , to mora bitipredmet dionica ."
As per Stock UOM,Kao po burzi UOM
"As there are existing stock transactions for this item, you can not change the values of 'Has Serial No', 'Is Stock Item' and 'Valuation Method'","Kao što već postoje dionica transakcije za ovu stavku , ne možete mijenjati vrijednosti ' Je rednim brojem ' , ' Je Stock točka ""i"" Vrednovanje metoda'"
Asset,Asset
Assistant,asistent
Associate,pomoćnik
Atleast one of the Selling or Buying must be selected,Barem jedan od prodajete ili kupujete mora biti odabran
Atleast one warehouse is mandatory,Atleast jednom skladištu je obavezno
Attach Image,Pričvrstite slike
Attach Letterhead,Pričvrstite zaglavljem
Attach Logo,Pričvrstite Logo
Attach Your Picture,Učvrstite svoju sliku
Attendance,Pohađanje
Attendance Date,Gledatelja Datum
Attendance Details,Gledatelja Detalji
Attendance From Date,Gledatelja Od datuma
Attendance From Date and Attendance To Date is mandatory,Gledatelja Od datuma i posjećenost do sada je obvezno
Attendance To Date,Gledatelja do danas
Attendance can not be marked for future dates,Gledatelji ne može biti označena za budući datum
Attendance for employee {0} is already marked,Gledatelja za zaposlenika {0} već označen
Attendance record.,Gledatelja rekord.
Authorization Control,Odobrenje kontrole
Authorization Rule,Autorizacija Pravilo
Auto Accounting For Stock Settings,Auto Računovodstvo za dionice Settings
Auto Material Request,Auto Materijal Zahtjev
Auto-raise Material Request if quantity goes below re-order level in a warehouse,Auto-podizanje Materijal zahtjev ako se količina ide ispod ponovno bi razinu u skladištu
Automatically compose message on submission of transactions.,Automatski nova poruka na podnošenje transakcija .
Automatically extract Job Applicants from a mail box ,
Automatically extract Leads from a mail box e.g.,Automatski ekstrakt vodi iz mail box pr
Automatically updated via Stock Entry of type Manufacture/Repack,Automatski ažurira putem burze Unos tipa Proizvodnja / prepakirati
Automotive,automobilski
Autoreply when a new mail is received,Automatski kad nova pošta je dobila
Available,dostupan
Available Qty at Warehouse,Dostupno Kol na galeriju
Available Stock for Packing Items,Dostupno Stock za pakiranje artikle
"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Dostupan u sastavnice , Dostavnica, prilikom kupnje proizvoda, proizvodnje narudžbi, narudžbenica , Račun kupnje , prodaje fakture , prodajnog naloga , Stock ulaska, timesheet"
Average Age,Prosječna starost
Average Commission Rate,Prosječna stopa komisija
Average Discount,Prosječna Popust
Awesome Products,strašan Proizvodi
Awesome Services,strašan Usluge
BOM Detail No,BOM Detalj Ne
BOM Explosion Item,BOM eksplozije artikla
BOM Item,BOM artikla
BOM No,BOM Ne
BOM No. for a Finished Good Item,BOM broj za Gotovi Dobar točki
BOM Operation,BOM Operacija
BOM Operations,BOM operacije
BOM Replace Tool,BOM Zamijenite alat
BOM number is required for manufactured Item {0} in row {1},BOM broj potreban za proizvedenog artikla {0} je u redu {1}
BOM number not allowed for non-manufactured Item {0} in row {1},BOM broj nisu dopušteni za ne - proizvedenog artikla {0} je u redu {1}
BOM recursion: {0} cannot be parent or child of {2},BOM rekurzija : {0} ne može biti roditelj ili dijete od {2}
BOM replaced,BOM zamijeniti
BOM {0} for Item {1} in row {2} is inactive or not submitted,BOM {0} za točku {1} u redu {2} nije aktivan ili ne podnose
BOM {0} is not active or not submitted,BOM {0} nije aktivan ili ne podnose
BOM {0} is not submitted or inactive BOM for Item {1},BOM {0} nije podnesen ili neaktivne troškovnik za točku {1}
Backup Manager,Backup Manager
Backup Right Now,Backup Right Now
Backups will be uploaded to,Sigurnosne kopije će biti učitane
Balance Qty,Bilanca Kol
Balance Sheet,završni račun
Balance Value,Bilanca Vrijednost
Balance for Account {0} must always be {1},Bilanca za račun {0} mora uvijek biti {1}
Balance must be,Bilanca mora biti
"Balances of Accounts of type ""Bank"" or ""Cash""","Stanja računa tipa "" Banka"" ili "" Cash """
Bank,Banka
Bank / Cash Account,Banka / Cash račun
Bank A/C No.,Banka / C br
Bank Account,Žiro račun
Bank Account No.,Žiro račun broj
Bank Accounts,bankovni računi
Bank Clearance Summary,Razmak banka Sažetak
Bank Draft,Bank Nacrt
Bank Name,Ime banke
Bank Overdraft Account,Bank Prekoračenje računa
Bank Reconciliation,Banka pomirenje
Bank Reconciliation Detail,Banka Pomirenje Detalj
Bank Reconciliation Statement,Izjava banka pomirenja
Bank Voucher,Banka bon
Bank/Cash Balance,Banka / saldo
Banking,bankarstvo
Barcode,Barkod
Barcode {0} already used in Item {1},Barkod {0} već koristi u točki {1}
Based On,Na temelju
Basic,osnovni
Basic Info,Osnovne informacije
Basic Information,Osnovne informacije
Basic Rate,Osnovna stopa
Basic Rate (Company Currency),Osnovna stopa (Društvo valuta)
Batch,Serija
Batch (lot) of an Item.,Hrpa (puno) od točke.
Batch Finished Date,Hrpa Završio Datum
Batch ID,Hrpa ID
Batch No,Hrpa Ne
Batch Started Date,Hrpa Autor Date
Batch Time Logs for billing.,Hrpa Vrijeme Trupci za naplatu.
Batch-Wise Balance History,Batch-Wise bilanca Povijest
Batched for Billing,Izmiješane za naplatu
Better Prospects,Bolji izgledi
Bill Date,Bill Datum
Bill No,Bill Ne
Bill No {0} already booked in Purchase Invoice {1},Bill Ne {0} već rezervirani kupnje proizvoda {1}
Bill of Material,Bill materijala
Bill of Material to be considered for manufacturing,Bill of material treba uzeti u obzir za proizvodnju
Bill of Materials (BOM),Bill materijala (BOM)
Billable,Naplatu
Billed,Naplaćeno
Billed Amount,naplaćeno Iznos
Billed Amt,Naplaćeno Amt
Billing,Naplata
Billing Address,Adresa za naplatu
Billing Address Name,Adresa za naplatu Ime
Billing Status,Naplata Status
Bills raised by Suppliers.,Mjenice podigao dobavljače.
Bills raised to Customers.,Mjenice podignuta na kupce.
Bin,Kanta
Bio,Bio
Biotechnology,biotehnologija
Birthday,rođendan
Block Date,Blok Datum
Block Days,Blok Dani
Block leave applications by department.,Blok ostaviti aplikacija odjelu.
Blog Post,Blog post
Blog Subscriber,Blog Pretplatnik
Blood Group,Krv Grupa
Both Warehouse must belong to same Company,Oba Skladište mora pripadati istoj tvrtki
Box,kutija
Branch,Grana
Brand,Marka
Brand Name,Brand Name
Brand master.,Marka majstor.
Brands,Marke
Breakdown,Slom
Broadcasting,radiodifuzija
Brokerage,posredništvo
Budget,Budžet
Budget Allocated,Proračun Dodijeljeni
Budget Detail,Proračun Detalj
Budget Details,Proračunski Detalji
Budget Distribution,Proračun Distribucija
Budget Distribution Detail,Proračun Distribucija Detalj
Budget Distribution Details,Proračun raspodjele Detalji
Budget Variance Report,Proračun varijance Prijavi
Budget cannot be set for Group Cost Centers,Proračun ne može biti postavljen za grupe troška
Build Report,Izgradite Prijavite
Bundle items at time of sale.,Bala stavke na vrijeme prodaje.
Business Development Manager,Business Development Manager
Buying,Kupovina
Buying & Selling,Kupnja i Prodaja
Buying Amount,Kupnja Iznos
Buying Settings,Kupnja postavki
"Buying must be checked, if Applicable For is selected as {0}","Kupnja treba provjeriti, ako je primjenjivo za odabrano kao {0}"
C-Form,C-Form
C-Form Applicable,C-obrascu
C-Form Invoice Detail,C-Obrazac Račun Detalj
C-Form No,C-Obrazac br
C-Form records,C - Form zapisi
CENVAT Capital Goods,CENVAT Kapitalni proizvodi
CENVAT Edu Cess,CENVAT Edu Posebni porez
CENVAT SHE Cess,CENVAT ONA Posebni porez
CENVAT Service Tax,CENVAT usluga Porezne
CENVAT Service Tax Cess 1,CENVAT usluga Porezne Posebni porez na 1
CENVAT Service Tax Cess 2,CENVAT usluga Porezne Posebni porez 2
Calculate Based On,Izračunajte Na temelju
Calculate Total Score,Izračunajte ukupni rezultat
Calendar Events,Kalendar događanja
Call,Nazvati
Calls,pozivi
Campaign,Kampanja
Campaign Name,Naziv kampanje
Campaign Name is required,Ime Kampanja je potrebno
Campaign Naming By,Imenovanje Kampanja By
Campaign-.####,Kampanje . # # # #
Can be approved by {0},Može biti odobren od strane {0}
"Can not filter based on Account, if grouped by Account","Ne možete filtrirati na temelju računa , ako grupirani po računu"
"Can not filter based on Voucher No, if grouped by Voucher","Ne možete filtrirati na temelju vaučer No , ako grupirani po vaučer"
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',"Može se odnositi red samo akotip zadužen je "" Na prethodni red Iznos 'ili' prethodnog retka Total '"
Cancel Material Visit {0} before cancelling this Customer Issue,Odustani Materijal Posjetite {0} prije poništenja ovog kupca Issue
Cancel Material Visits {0} before cancelling this Maintenance Visit,Odustani Posjeta materijala {0} prije otkazivanja ovog održavanja pohod
Cancelled,Otkazan
Cancelling this Stock Reconciliation will nullify its effect.,Otkazivanje Ove obavijesti pomirenja će poništiti svoj ​​učinak .
Cannot Cancel Opportunity as Quotation Exists,Ne mogu otkazati prilika kao kotacija Exist
Cannot approve leave as you are not authorized to approve leaves on Block Dates,Ne može odobriti dopust kako niste ovlašteni za odobravanje lišće o skupnom datume
Cannot cancel because Employee {0} is already approved for {1},"Ne mogu otkazati , jer zaposlenika {0} već je odobren za {1}"
Cannot cancel because submitted Stock Entry {0} exists,"Ne mogu otkazati , jer podnijela Stock Stupanje {0} postoji"
Cannot carry forward {0},Ne mogu prenositi {0}
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Ne možete promijeniti fiskalnu godinu datum početka i datum završetka fiskalne godine kada Fiskalna godina se sprema.
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Ne mogu promijeniti tvrtke zadanu valutu , jer postoje neki poslovi . Transakcije mora biti otkazana promijeniti zadanu valutu ."
Cannot convert Cost Center to ledger as it has child nodes,"Ne može se pretvoriti troška za knjigu , kao da ima djece čvorova"
Cannot covert to Group because Master Type or Account Type is selected.,"Ne može tajno da Grupe , jer je izabran Master Type ili račun Type ."
Cannot deactive or cancle BOM as it is linked with other BOMs,Ne možete DEACTIVE ili cancle troškovnik jer je povezan s drugim sastavnicama
"Cannot declare as lost, because Quotation has been made.","Ne može proglasiti izgubili , jer citat je napravio ."
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',"Ne mogu odbiti kada kategorija je "" vrednovanje "" ili "" Vrednovanje i Total '"
"Cannot delete Serial No {0} in stock. First remove from stock, then delete.","Ne možete izbrisati rednim brojem {0} na lageru . Prvo izvadite iz zalihe , a zatim izbrisati ."
"Cannot directly set amount. For 'Actual' charge type, use the rate field","Ne može se izravno postaviti iznos . Za stvarnu ' tipa naboja , koristiti polje rate"
"Cannot overbill for Item {0} in row {0} more than {1}. To allow overbilling, please set in Stock Settings","Ne možete overbill za točku {0} u redu {0} više od {1}. Da bi se omogućilo overbilling, molimo vas postavljen u Stock Settings"
Cannot produce more Item {0} than Sales Order quantity {1},Ne može proizvesti više predmeta {0} od prodajnog naloga količina {1}
Cannot refer row number greater than or equal to current row number for this Charge type,Ne mogu se odnositi broj retka veći ili jednak trenutnom broju red za ovu vrstu Charge
Cannot return more than {0} for Item {1},Ne može se vratiti više od {0} za točku {1}
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,"Ne možete odabrati vrstu naboja kao ' na prethodnim Row Iznos ""ili"" u odnosu na prethodnu Row Ukupno ""za prvi red"
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,"Ne možete odabrati vrstu naboja kao ' na prethodnim Row Iznos ""ili"" u odnosu na prethodnu Row Total ' za vrednovanje . Možete odabrati samo ' Ukupno ' opciju za prethodni iznos red ili prethodne ukupno redu"
Cannot set as Lost as Sales Order is made.,Ne mogu se postaviti kao izgubljen kao prodajnog naloga je napravio .
Cannot set authorization on basis of Discount for {0},Ne mogu postaviti odobrenje na temelju popusta za {0}
Capacity,Kapacitet
Capacity Units,Kapacitet jedinice
Capital Account,Kapitalni račun
Capital Equipments,Kapitalni oprema
Carry Forward,Prenijeti
Carry Forwarded Leaves,Nosi proslijeđen lišće
Case No(s) already in use. Try from Case No {0},Slučaj Ne ( i) je već u uporabi . Pokušajte s predmetu broj {0}
Case No. cannot be 0,Slučaj broj ne može biti 0
Cash,Gotovina
Cash In Hand,Novac u blagajni
Cash Voucher,Novac bon
Cash or Bank Account is mandatory for making payment entry,Novac ili bankovni račun je obvezna za izradu ulazak plaćanje
Cash/Bank Account,Novac / bankovni račun
Casual Leave,Casual dopust
Cell Number,Mobitel Broj
Change UOM for an Item.,Promjena UOM za predmet.
Change the starting / current sequence number of an existing series.,Promjena polaznu / tekući redni broj postojeće serije.
Channel Partner,Channel Partner
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Punjenje tipa ' Stvarni ' u redu {0} ne mogu biti uključeni u točki Rate
Chargeable,Naplativ
Charity and Donations,Ljubav i donacije
Chart Name,Ime grafikona
Chart of Accounts,Kontnog
Chart of Cost Centers,Grafikon troškovnih centara
Check how the newsletter looks in an email by sending it to your email.,Pogledajte kako izgleda newsletter u e-mail tako da ga šalju na e-mail.
"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Provjerite je li ponavljajući fakture, poništite zaustaviti ponavljajući ili staviti odgovarajući datum završetka"
"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Provjerite ako trebate automatske ponavljajuće fakture. Nakon odavanja prodaje fakturu, ponavljajućih sekcija će biti vidljiv."
Check if you want to send salary slip in mail to each employee while submitting salary slip,"Provjerite ako želite poslati plaće slip u pošti svakom zaposleniku, dok podnošenje plaće slip"
Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Označite ovo ako želite prisiliti korisniku odabir seriju prije spremanja. Tu će biti zadana ako to provjerili.
Check this if you want to show in website,Označite ovo ako želite pokazati u web
Check this to disallow fractions. (for Nos),Provjerite to da ne dopušta frakcija. (Za br)
Check this to pull emails from your mailbox,Provjerite to povući e-pošte iz poštanskog sandučića
Check to activate,Provjerite za aktiviranje
Check to make Shipping Address,Provjerite otprema adresu
Check to make primary address,Provjerite primarnu adresu
Chemical,kemijski
Cheque,Ček
Cheque Date,Ček Datum
Cheque Number,Ček Broj
Child account exists for this account. You can not delete this account.,Dijete računa postoji za taj račun . Ne možete izbrisati ovaj račun .
City,Grad
City/Town,Grad / Mjesto
Claim Amount,Iznos štete
Claims for company expense.,Potraživanja za tvrtke trošak.
Class / Percentage,Klasa / Postotak
Classic,Klasik
Clear Table,Jasno Tablica
Clearance Date,Razmak Datum
Clearance Date not mentioned,Razmak Datum nije spomenuo
Clearance date cannot be before check date in row {0},Datum rasprodaja ne može biti prije datuma check u redu {0}
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,Kliknite na &quot;Make prodaje Račun &#39;gumb za stvaranje nove prodaje fakture.
Click on a link to get options to expand get options ,
Client,Klijent
Close Balance Sheet and book Profit or Loss.,Zatvori bilanca i knjiga dobit ili gubitak .
Closed,Zatvoreno
Closing (Cr),Zatvaranje (Cr)
Closing (Dr),Zatvaranje (DR)
Closing Account Head,Zatvaranje računa šefa
Closing Account {0} must be of type 'Liability',Zatvaranje računa {0} mora biti tipa ' odgovornosti '
Closing Date,Datum zatvaranja
Closing Fiscal Year,Zatvaranje Fiskalna godina
Closing Qty,zatvaranje Kol
Closing Value,zatvaranje vrijednost
CoA Help,CoA Pomoć
Code,Šifra
Cold Calling,Hladno pozivanje
Color,Boja
Column Break,Kolona Break
Comma separated list of email addresses,Zarez odvojen popis e-mail adrese
Comment,Komentirati
Comments,Komentari
Commercial,trgovački
Commission,provizija
Commission Rate,Komisija Stopa
Commission Rate (%),Komisija stopa (%)
Commission on Sales,Komisija za prodaju
Commission rate cannot be greater than 100,Proviziju ne može biti veća od 100
Communication,Komunikacija
Communication HTML,Komunikacija HTML
Communication History,Komunikacija Povijest
Communication log.,Komunikacija dnevnik.
Communications,Communications
Company,Društvo
Company (not Customer or Supplier) master.,Društvo ( ne kupaca i dobavljača ) majstor .
Company Abbreviation,Kratica Društvo
Company Details,Tvrtka Detalji
Company Email,tvrtka E-mail
"Company Email ID not found, hence mail not sent","Tvrtka E-mail ID nije pronađen , pa se ne mail poslan"
Company Info,Podaci o tvrtki
Company Name,Ime tvrtke
Company Settings,Tvrtka Postavke
Company is missing in warehouses {0},Tvrtka je nestalo u skladištima {0}
Company is required,Tvrtka je potrebno
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,Tvrtka registracijski brojevi za svoju referencu. Primjer: PDV registracijski brojevi i sl.
Company registration numbers for your reference. Tax numbers etc.,Tvrtka registracijski brojevi za svoju referencu. Porezni brojevi itd.
"Company, Month and Fiscal Year is mandatory","Tvrtka , Mjesec i Fiskalna godina je obvezno"
Compensatory Off,kompenzacijski Off
Complete,Dovršiti
Complete Setup,kompletan Setup
Completed,Dovršen
Completed Production Orders,Završeni Radni nalozi
Completed Qty,Završen Kol
Completion Date,Završetak Datum
Completion Status,Završetak Status
Computer,računalo
Computers,Računala
Confirmation Date,potvrda Datum
Confirmed orders from Customers.,Potvrđeno narudžbe od kupaca.
Consider Tax or Charge for,Razmislite poreza ili pristojbi za
Considered as Opening Balance,Smatra početnog stanja
Considered as an Opening Balance,Smatra se kao početno stanje
Consultant,Konzultant
Consulting,savjetodavni
Consumable,potrošni
Consumable Cost,potrošni cost
Consumable cost per hour,Potrošni cijena po satu
Consumed Qty,Potrošeno Kol
Consumer Products,Consumer Products
Contact,Kontaktirati
Contact Control,Kontaktirajte kontrolu
Contact Desc,Kontakt ukratko
Contact Details,Kontakt podaci
Contact Email,Kontakt e
Contact HTML,Kontakt HTML
Contact Info,Kontakt Informacije
Contact Mobile No,Kontaktirajte Mobile Nema
Contact Name,Kontakt Naziv
Contact No.,Kontakt broj
Contact Person,Kontakt osoba
Contact Type,Vrsta kontakta
Contact master.,Kontakt majstor .
Contacts,Kontakti
Content,Sadržaj
Content Type,Vrsta sadržaja
Contra Voucher,Contra bon
Contract,ugovor
Contract End Date,Ugovor Datum završetka
Contract End Date must be greater than Date of Joining,Ugovor Datum završetka mora biti veći od dana ulaska u
Contribution (%),Doprinos (%)
Contribution to Net Total,Doprinos neto Ukupno
Conversion Factor,Konverzijski faktor
Conversion Factor is required,Faktor pretvorbe je potrebno
Conversion factor cannot be in fractions,Faktor pretvorbe ne može biti u frakcijama
Conversion factor for default Unit of Measure must be 1 in row {0},Faktor pretvorbe za zadani jedinica mjere mora biti jedan u nizu {0}
Conversion rate cannot be 0 or 1,Stopa pretvorbe ne može biti 0 ili 1
Convert into Recurring Invoice,Pretvori u Ponavljajući fakture
Convert to Group,Pretvori u Grupi
Convert to Ledger,Pretvori u knjizi
Converted,Pretvoreno
Copy From Item Group,Primjerak iz točke Group
Cosmetics,kozmetika
Cost Center,Troška
Cost Center Details,Troška Detalji
Cost Center Name,Troška Name
Cost Center is required for 'Profit and Loss' account {0},Troška je potrebno za račun ' dobiti i gubitka ' {0}
Cost Center is required in row {0} in Taxes table for type {1},Troška potrebno je u redu {0} poreza stolom za vrstu {1}
Cost Center with existing transactions can not be converted to group,Troška s postojećim transakcija ne može se prevesti u skupini
Cost Center with existing transactions can not be converted to ledger,Troška s postojećim transakcija ne može pretvoriti u knjizi
Cost Center {0} does not belong to Company {1},Troška {0} ne pripada Tvrtka {1}
Cost of Goods Sold,Troškovi prodane robe
Costing,Koštanje
Country,Zemlja
Country Name,Država Ime
Country wise default Address Templates,Država mudar zadana adresa predlošci
"Country, Timezone and Currency","Država , vremenske zone i valute"
Create Bank Voucher for the total salary paid for the above selected criteria,Stvaranje Bank bon za ukupne plaće isplaćene za gore odabranih kriterija
Create Customer,izraditi korisnika
Create Material Requests,Stvaranje materijalni zahtijevi
Create New,Stvori novo
Create Opportunity,Stvaranje prilika
Create Production Orders,Stvaranje radne naloge
Create Quotation,stvaranje citata
Create Receiver List,Stvaranje Receiver popis
Create Salary Slip,Stvaranje plaće Slip
Create Stock Ledger Entries when you submit a Sales Invoice,Otvori Stock stavke knjige kada podnijeti prodaje fakture
"Create and manage daily, weekly and monthly email digests.","Stvaranje i upravljanje dnevne , tjedne i mjesečne e razgradnju ."
Create rules to restrict transactions based on values.,Stvaranje pravila za ograničavanje prometa na temelju vrijednosti .
Created By,Stvorio
Creates salary slip for above mentioned criteria.,Stvara plaće slip za gore navedene kriterije.
Creation Date,Datum stvaranja
Creation Document No,Stvaranje dokumenata nema
Creation Document Type,Tip stvaranje dokumenata
Creation Time,vrijeme kreiranja
Credentials,Svjedodžba
Credit,Kredit
Credit Amt,Kreditne Amt
Credit Card,kreditna kartica
Credit Card Voucher,Kreditne kartice bon
Credit Controller,Kreditne kontroler
Credit Days,Kreditne Dani
Credit Limit,Kreditni limit
Credit Note,Kreditne Napomena
Credit To,Kreditne Da
Currency,Valuta
Currency Exchange,Mjenjačnica
Currency Name,Valuta Ime
Currency Settings,Valuta Postavke
Currency and Price List,Valuta i cjenik
Currency exchange rate master.,Majstor valute .
Current Address,Trenutna adresa
Current Address Is,Trenutni Adresa je
Current Assets,Trenutna imovina
Current BOM,Trenutni BOM
Current BOM and New BOM can not be same,Trenutni troškovnik i novi troškovnik ne mogu biti isti
Current Fiscal Year,Tekuće fiskalne godine
Current Liabilities,Kratkoročne obveze
Current Stock,Trenutni Stock
Current Stock UOM,Trenutni kataloški UOM
Current Value,Trenutna vrijednost
Custom,Običaj
Custom Autoreply Message,Prilagođena Automatski Poruka
Custom Message,Prilagođena poruka
Customer,Kupac
Customer (Receivable) Account,Kupac (Potraživanja) račun
Customer / Item Name,Kupac / Stavka Ime
Customer / Lead Address,Kupac / Olovo Adresa
Customer / Lead Name,Kupac / Olovo Ime
Customer > Customer Group > Territory,Kupac> Korisnička Group> Regija
Customer Account Head,Kupac račun Head
Customer Acquisition and Loyalty,Stjecanje kupaca i lojalnost
Customer Address,Kupac Adresa
Customer Addresses And Contacts,Kupac adrese i kontakti
Customer Addresses and Contacts,Kupca adrese i kontakti
Customer Code,Kupac Šifra
Customer Codes,Kupac Kodovi
Customer Details,Korisnički podaci
Customer Feedback,Kupac Ocjena
Customer Group,Kupac Grupa
Customer Group / Customer,Kupac Group / kupaca
Customer Group Name,Kupac Grupa Ime
Customer Intro,Kupac Uvod
Customer Issue,Kupac Issue
Customer Issue against Serial No.,Kupac izdavanja protiv serijski broj
Customer Name,Naziv klijenta
Customer Naming By,Kupac Imenovanje By
Customer Service,Služba za korisnike
Customer database.,Kupac baze.
Customer is required,Kupac je dužan
Customer master.,Majstor Korisnička .
Customer required for 'Customerwise Discount',Kupac je potrebno za ' Customerwise Popust '
Customer {0} does not belong to project {1},Korisnik {0} ne pripada projicirati {1}
Customer {0} does not exist,Korisnik {0} ne postoji
Customer's Item Code,Kupca Stavka Šifra
Customer's Purchase Order Date,Kupca narudžbenice Datum
Customer's Purchase Order No,Kupca Narudžbenica br
Customer's Purchase Order Number,Kupac je broj narudžbenice
Customer's Vendor,Kupca Prodavatelj
Customers Not Buying Since Long Time,Kupci ne kupuju jer dugo vremena
Customerwise Discount,Customerwise Popust
Customize,Prilagodite
Customize the Notification,Prilagodite Obavijest
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,Prilagodite uvodni tekst koji ide kao dio tog e-maila. Svaka transakcija ima zaseban uvodni tekst.
DN Detail,DN Detalj
Daily,Svakodnevno
Daily Time Log Summary,Dnevno vrijeme Log Profila
Database Folder ID,Baza mapa ID
Database of potential customers.,Baza potencijalnih kupaca.
Date,Datum
Date Format,Datum Format
Date Of Retirement,Datum odlaska u mirovinu
Date Of Retirement must be greater than Date of Joining,Datum umirovljenja mora biti veća od dana ulaska u
Date is repeated,Datum se ponavlja
Date of Birth,Datum rođenja
Date of Issue,Datum izdavanja
Date of Joining,Datum Ulazak
Date of Joining must be greater than Date of Birth,Datum Ulazak mora biti veći od datuma rođenja
Date on which lorry started from supplier warehouse,Datum na koji je kamion počeo od dobavljača skladištu
Date on which lorry started from your warehouse,Datum na koji je kamion počeo iz skladišta
Dates,Termini
Days Since Last Order,Dana od posljednjeg reda
Days for which Holidays are blocked for this department.,Dani za koje Praznici su blokirane za ovaj odjel.
Dealer,Trgovac
Debit,Zaduženje
Debit Amt,Rashodi Amt
Debit Note,Rashodi Napomena
Debit To,Rashodi za
Debit and Credit not equal for this voucher. Difference is {0}.,Debitne i kreditne nije jednak za ovaj vaučer . Razlika je {0} .
Deduct,Odbiti
Deduction,Odbitak
Deduction Type,Odbitak Tip
Deduction1,Deduction1
Deductions,Odbici
Default,Zadani
Default Account,Zadani račun
Default Address Template cannot be deleted,Default Adresa Predložak se ne može izbrisati
Default Amount,Zadani iznos
Default BOM,Zadani BOM
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,"Zadani banka / Novčani račun će se automatski ažuriraju u POS računu, kada je ovaj mod odabran."
Default Bank Account,Zadani bankovni račun
Default Buying Cost Center,Default Kupnja troška
Default Buying Price List,Default Kupnja Cjenik
Default Cash Account,Default Novac račun
Default Company,Zadani Tvrtka
Default Currency,Zadani valuta
Default Customer Group,Zadani Korisnik Grupa
Default Expense Account,Zadani Rashodi račun
Default Income Account,Zadani Prihodi račun
Default Item Group,Zadani artikla Grupa
Default Price List,Zadani Cjenik
Default Purchase Account in which cost of the item will be debited.,Zadani Kupnja računa na koji trošak stavke će biti terećen.
Default Selling Cost Center,Default prodaja troška
Default Settings,Tvorničke postavke
Default Source Warehouse,Zadani Izvor galerija
Default Stock UOM,Zadani kataloški UOM
Default Supplier,Default Dobavljač
Default Supplier Type,Zadani Dobavljač Tip
Default Target Warehouse,Zadani Ciljana galerija
Default Territory,Zadani Regija
Default Unit of Measure,Zadani Jedinica mjere
"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.","Default Jedinica mjere ne mogu se mijenjati izravno, jer ste već napravili neku transakciju (e) s drugim UOM . Za promjenu zadanog UOM , koristite ' UOM zamijeni Utility ' alat pod burzi modula ."
Default Valuation Method,Zadani metoda vrednovanja
Default Warehouse,Default Warehouse
Default Warehouse is mandatory for stock Item.,Default skladišta obvezan je za dionice točke .
Default settings for accounting transactions.,Zadane postavke za računovodstvene poslove .
Default settings for buying transactions.,Zadane postavke za kupnju transakcije .
Default settings for selling transactions.,Zadane postavke za prodaju transakcije .
Default settings for stock transactions.,Zadane postavke za burzovne transakcije .
Defense,odbrana
"Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>","Odredite proračun za ovu troška. Da biste postavili proračuna akciju, vidi <a href=""#!List/Company"">Tvrtka Master</a>"
Del,Del
Delete,Izbrisati
Delete {0} {1}?,Brisanje {0} {1} ?
Delivered,Isporučena
Delivered Items To Be Billed,Isporučena Proizvodi se naplaćuje
Delivered Qty,Isporučena Kol
Delivered Serial No {0} cannot be deleted,Isporučuje Serial Ne {0} se ne može izbrisati
Delivery Date,Dostava Datum
Delivery Details,Detalji o isporuci
Delivery Document No,Dostava Dokument br
Delivery Document Type,Dostava Document Type
Delivery Note,Obavještenje o primanji pošiljke
Delivery Note Item,Otpremnica artikla
Delivery Note Items,Način Napomena Stavke
Delivery Note Message,Otpremnica Poruka
Delivery Note No,Dostava Napomena Ne
Delivery Note Required,Dostava Napomena Obavezno
Delivery Note Trends,Otpremnici trendovi
Delivery Note {0} is not submitted,Dostava Napomena {0} nije podnesen
Delivery Note {0} must not be submitted,Dostava Napomena {0} ne smije biti podnesen
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Dostava Bilješke {0} mora biti otkazana prije poništenja ovu prodajnog naloga
Delivery Status,Status isporuke
Delivery Time,Vrijeme isporuke
Delivery To,Dostava na
Department,Odsjek
Department Stores,robne kuće
Depends on LWP,Ovisi o lwp
Depreciation,deprecijacija
Description,Opis
Description HTML,Opis HTML
Designation,Oznaka
Designer,dizajner
Detailed Breakup of the totals,Detaljni raspada ukupnim
Details,Detalji
Difference (Dr - Cr),Razlika ( dr. - Cr )
Difference Account,Razlika račun
"Difference Account must be a 'Liability' type account, since this Stock Reconciliation is an Opening Entry","Razlika račun mora biti' odgovornosti ' vrsta računa , jer to Stock Pomirenje jeulazni otvor"
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.,Različite UOM za stavke će dovesti do pogrešne (ukupno) Neto vrijednost težine. Uvjerite se da je neto težina svake stavke u istom UOM .
Direct Expenses,izravni troškovi
Direct Income,Izravna dohodak
Disable,onesposobiti
Disable Rounded Total,Bez Zaobljeni Ukupno
Disabled,Onesposobljen
Discount  %,Popust%
Discount %,Popust%
Discount (%),Popust (%)
Discount Amount,Popust Iznos
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Popust Polja će biti dostupan u narudžbenice, Otkup primitka, Otkup fakturu"
Discount Percentage,Popust Postotak
Discount Percentage can be applied either against a Price List or for all Price List.,Popust Postotak se može primijeniti prema cjeniku ili za sve cjeniku.
Discount must be less than 100,Popust mora biti manji od 100
Discount(%),Popust (%)
Dispatch,otpremanje
Display all the individual items delivered with the main items,Prikaži sve pojedinačne stavke isporučuju s glavnim stavkama
Distribute transport overhead across items.,Podijeliti prijevoz pretek preko stavke.
Distribution,Distribucija
Distribution Id,Distribucija Id
Distribution Name,Distribucija Ime
Distributor,Distributer
Divorced,Rastavljen
Do Not Contact,Ne Kontaktiraj
Do not show any symbol like $ etc next to currencies.,Ne pokazuju nikakav simbol kao $ itd uz valutama.
Do really want to unstop production order: ,
Do you really want to STOP ,
Do you really want to STOP this Material Request?,Da li stvarno želite prestati s ovom materijalnom zahtjev ?
Do you really want to Submit all Salary Slip for month {0} and year {1},Želite li zaista da podnesu sve plaće slip za mjesec {0} i godina {1}
Do you really want to UNSTOP ,
Do you really want to UNSTOP this Material Request?,Da li stvarno želite otpušiti ovaj materijal zahtjev ?
Do you really want to stop production order: ,
Doc Name,Doc Ime
Doc Type,Doc Tip
Document Description,Dokument Opis
Document Type,Document Type
Documents,Dokumenti
Domain,Domena
Don't send Employee Birthday Reminders,Ne šaljite zaposlenika podsjetnici na rođendan
Download Materials Required,Preuzmite Materijali za
Download Reconcilation Data,Preuzmite Reconcilation podatke
Download Template,Preuzmite predložak
Download a report containing all raw materials with their latest inventory status,Preuzmite izvješće koje sadrži sve sirovine sa svojim najnovijim inventara statusa
"Download the Template, fill appropriate data and attach the modified file.","Preuzmite predložak , ispunite odgovarajuće podatke i priložite izmijenjenu datoteku ."
"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","Preuzmite predložak, ispunite odgovarajuće podatke i priložite izmijenjenu datoteku. Svi datumi i kombinacija zaposlenika u odabranom razdoblju će doći u predlošku, s postojećim izostancima"
Draft,Skica
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox Pristup dopuštenih
Dropbox Access Key,Dropbox Pristupna tipka
Dropbox Access Secret,Dropbox Pristup Secret
Due Date,Datum dospijeća
Due Date cannot be after {0},Krajnji rok ne može biti poslije {0}
Due Date cannot be before Posting Date,Krajnji rok ne može biti prije Postanja Date
Duplicate Entry. Please check Authorization Rule {0},Udvostručavanje unos . Molimo provjerite autorizacije Pravilo {0}
Duplicate Serial No entered for Item {0},Udvostručavanje Serial Ne ušao za točku {0}
Duplicate entry,Udvostručavanje unos
Duplicate row {0} with same {1},Duplikat red {0} sa isto {1}
Duties and Taxes,Carine i poreza
ERPNext Setup,ERPNext Setup
Earliest,Najstarije
Earnest Money,kapara
Earning,Zarada
Earning & Deduction,Zarada &amp; Odbitak
Earning Type,Zarada Vid
Earning1,Earning1
Edit,Uredi
Edu. Cess on Excise,Edu. Posebni porez na trošarine
Edu. Cess on Service Tax,Edu. Posebni porez na porez na uslugu
Edu. Cess on TDS,Edu. Posebni porez na TDS
Education,obrazovanje
Educational Qualification,Obrazovne kvalifikacije
Educational Qualification Details,Obrazovni Pojedinosti kvalifikacije
Eg. smsgateway.com/api/send_sms.cgi,Npr.. smsgateway.com / api / send_sms.cgi
Either debit or credit amount is required for {0},Ili debitna ili kreditna iznos potreban za {0}
Either target qty or target amount is mandatory,Ili meta Količina ili ciljani iznos je obvezna
Either target qty or target amount is mandatory.,Ili meta Količina ili ciljani iznos je obavezna .
Electrical,Električna
Electricity Cost,struja cost
Electricity cost per hour,Struja cijena po satu
Electronics,elektronika
Email,E-mail
Email Digest,E-pošta
Email Digest Settings,E-pošta Postavke
Email Digest: ,
Email Id,E-mail ID
"Email Id where a job applicant will email e.g. ""jobs@example.com""",E-mail Id gdje posao zahtjeva će e-mail npr. &quot;jobs@example.com&quot;
Email Notifications,E-mail obavijesti
Email Sent?,E-mail poslan?
"Email id must be unique, already exists for {0}","Id Email mora biti jedinstven , već postoji za {0}"
Email ids separated by commas.,E-mail ids odvojene zarezima.
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""",E-mail postavke za izdvajanje vodi od prodaje email id npr. &quot;sales@example.com&quot;
Emergency Contact,Hitna Kontakt
Emergency Contact Details,Hitna Kontaktni podaci
Emergency Phone,Hitna Telefon
Employee,Zaposlenik
Employee Birthday,Zaposlenik Rođendan
Employee Details,Zaposlenih Detalji
Employee Education,Zaposlenik Obrazovanje
Employee External Work History,Zaposlenik Vanjski Rad Povijest
Employee Information,Zaposlenik informacije
Employee Internal Work History,Zaposlenik Unutarnji Rad Povijest
Employee Internal Work Historys,Zaposlenih unutarnji rad Historys
Employee Leave Approver,Zaposlenik dopust Odobritelj
Employee Leave Balance,Zaposlenik napuste balans
Employee Name,Zaposlenik Ime
Employee Number,Zaposlenik Broj
Employee Records to be created by,Zaposlenik Records bi se stvorili
Employee Settings,Postavke zaposlenih
Employee Type,Zaposlenik Tip
"Employee designation (e.g. CEO, Director etc.).","Oznaka zaposlenika ( npr. CEO , direktor i sl. ) ."
Employee master.,Majstor zaposlenika .
Employee record is created using selected field. ,Zaposlenika rekord je stvorio pomoću odabranog polja.
Employee records.,Zaposlenih evidencija.
Employee relieved on {0} must be set as 'Left',Zaposlenik razriješen na {0} mora biti postavljen kao 'lijevo '
Employee {0} has already applied for {1} between {2} and {3},Zaposlenik {0} već podnijela zahtjev za {1} od {2} i {3}
Employee {0} is not active or does not exist,Zaposlenik {0} nije aktivan ili ne postoji
Employee {0} was on leave on {1}. Cannot mark attendance.,Zaposlenik {0} je bio na odmoru na {1} . Ne možete označiti dolazak .
Employees Email Id,Zaposlenici Email ID
Employment Details,Zapošljavanje Detalji
Employment Type,Zapošljavanje Tip
Enable / disable currencies.,Omogućiti / onemogućiti valute .
Enabled,Omogućeno
Encashment Date,Encashment Datum
End Date,Datum završetka
End Date can not be less than Start Date,Datum završetka ne može biti manja od početnog datuma
End date of current invoice's period,Kraj datum tekućeg razdoblja dostavnice
End of Life,Kraj života
Energy,energija
Engineer,inženjer
Enter Verification Code,Unesite kod za provjeru
Enter campaign name if the source of lead is campaign.,Unesite naziv kampanje ukoliko izvor olova je kampanja.
Enter department to which this Contact belongs,Unesite odjel na koji se ovaj Kontakt pripada
Enter designation of this Contact,Upišite oznaku ove Kontakt
"Enter email id separated by commas, invoice will be mailed automatically on particular date","Unesite e-mail ID odvojena zarezima, račun će automatski biti poslan na određeni datum"
Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,Unesite stavke i planirani Količina za koje želite povećati proizvodne naloge ili preuzimanje sirovine za analizu.
Enter name of campaign if source of enquiry is campaign,"Unesite naziv kampanje, ako je izvor upit je kampanja"
"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Unesite statičke parametre URL ovdje (npr. pošiljatelj = ERPNext, username = ERPNext, lozinkom = 1234 itd.)"
Enter the company name under which Account Head will be created for this Supplier,Unesite naziv tvrtke pod kojima računa Voditelj će biti stvoren za tu dobavljača
Enter url parameter for message,Unesite URL parametar za poruke
Enter url parameter for receiver nos,Unesite URL parametar za prijemnike br
Entertainment & Leisure,Zabava i slobodno vrijeme
Entertainment Expenses,Zabava Troškovi
Entries,Prijave
Entries against ,
Entries are not allowed against this Fiscal Year if the year is closed.,"Prijave nisu dozvoljeni protiv ove fiskalne godine, ako se godina zatvoren."
Equity,pravičnost
Error: {0} > {1},Pogreška : {0} > {1}
Estimated Material Cost,Procjena troškova materijala
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Čak i ako postoji više Cijene pravila s najvišim prioritetom, onda sljedeći interni prioriteti primjenjuje se:"
Everyone can read,Svatko može pročitati
"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.",". Primjer: ABCD # # # # #  Ako serija je postavljena i Serial No ne spominje u transakcijama, a zatim automatski serijski broj će biti izrađen na temelju ove serije. Ako ste oduvijek željeli izrijekom spomenuti Serial brojeva za tu stavku. ostavite praznim."
Exchange Rate,Tečaj
Excise Duty 10,Trošarina 10
Excise Duty 14,Trošarina 14
Excise Duty 4,Trošarina 4
Excise Duty 8,Trošarina 8
Excise Duty @ 10,Trošarina @ 10.
Excise Duty @ 14,Trošarina @ 14
Excise Duty @ 4,Trošarina @ 4
Excise Duty @ 8,Trošarina @ 8.
Excise Duty Edu Cess 2,Trošarina Edu Posebni porez 2
Excise Duty SHE Cess 1,Trošarina ONA Posebni porez na 1
Excise Page Number,Trošarina Broj stranice
Excise Voucher,Trošarina bon
Execution,izvršenje
Executive Search,Executive Search
Exemption Limit,Izuzeće granica
Exhibition,Izložba
Existing Customer,Postojeći Kupac
Exit,Izlaz
Exit Interview Details,Izlaz Intervju Detalji
Expected,Očekivana
Expected Completion Date can not be less than Project Start Date,Očekivani datum dovršetka ne može biti manja od projekta Početni datum
Expected Date cannot be before Material Request Date,Očekivani datum ne može biti prije Materijal Zahtjev Datum
Expected Delivery Date,Očekivani rok isporuke
Expected Delivery Date cannot be before Purchase Order Date,Očekuje se dostava Datum ne može biti prije narudžbenice Datum
Expected Delivery Date cannot be before Sales Order Date,Očekuje se dostava Datum ne može biti prije prodajnog naloga Datum
Expected End Date,Očekivani Datum završetka
Expected Start Date,Očekivani datum početka
Expense,rashod
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Rashodi / Razlika računa ({0}) mora biti račun 'dobit ili gubitak'
Expense Account,Rashodi račun
Expense Account is mandatory,Rashodi račun je obvezna
Expense Claim,Rashodi polaganja
Expense Claim Approved,Rashodi Zahtjev odobren
Expense Claim Approved Message,Rashodi Zahtjev Odobren poruku
Expense Claim Detail,Rashodi Zahtjev Detalj
Expense Claim Details,Rashodi Pojedinosti o polaganju
Expense Claim Rejected,Rashodi Zahtjev odbijen
Expense Claim Rejected Message,Rashodi Zahtjev odbijen poruku
Expense Claim Type,Rashodi Vrsta polaganja
Expense Claim has been approved.,Rashodi Zahtjev je odobren .
Expense Claim has been rejected.,Rashodi Zahtjev je odbijen .
Expense Claim is pending approval. Only the Expense Approver can update status.,Rashodi Tužba se čeka odobrenje . SamoRashodi Odobritelj može ažurirati status .
Expense Date,Rashodi Datum
Expense Details,Rashodi Detalji
Expense Head,Rashodi voditelj
Expense account is mandatory for item {0},Rashodi račun je obvezna za predmet {0}
Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,Rashodi ili razlika račun je obvezna za točke {0} jer utječe na ukupnu vrijednost dionica
Expenses,troškovi
Expenses Booked,Rashodi Rezervirani
Expenses Included In Valuation,Troškovi uključeni u vrednovanje
Expenses booked for the digest period,Troškovi rezerviranih za razdoblje digest
Expiry Date,Datum isteka
Exports,Izvoz
External,Vanjski
Extract Emails,Ekstrakt e-pošte
FCFS Rate,FCFS Stopa
Failed: ,Nije uspjelo:
Family Background,Obitelj Pozadina
Fax,Fax
Features Setup,Značajke konfiguracija
Feed,Hraniti
Feed Type,Pasi Vid
Feedback,Povratna veza
Female,Ženski
Fetch exploded BOM (including sub-assemblies),Fetch eksplodirala BOM (uključujući i podsklopova )
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Polje dostupan u otpremnicu, ponudu, prodaje fakture, prodaja reda"
Files Folder ID,Files ID
Fill the form and save it,Ispunite obrazac i spremite ga
Filter based on customer,Filter temelji se na kupca
Filter based on item,Filtrirati na temelju točki
Financial / accounting year.,Financijska / obračunska godina .
Financial Analytics,Financijski Analytics
Financial Services,financijske usluge
Financial Year End Date,Financijska godina End Date
Financial Year Start Date,Financijska godina Start Date
Finished Goods,gotovih proizvoda
First Name,Ime
First Responded On,Prvo Odgovorili Na
Fiscal Year,Fiskalna godina
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Fiskalna godina Datum početka i datum završetka fiskalne godine već su postavljeni u fiskalnoj godini {0}
Fiscal Year Start Date and Fiscal Year End Date cannot be more than a year apart.,Fiskalna godina Datum početka i datum završetka fiskalne godine ne može biti više od godine dana.
Fiscal Year Start Date should not be greater than Fiscal Year End Date,Fiskalna godina Start Date ne bi trebao biti veći od Fiskalna godina End Date
Fixed Asset,Dugotrajne imovine
Fixed Assets,Dugotrajna imovina
Follow via Email,Slijedite putem e-maila
"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.",Nakon stol će pokazati vrijednosti ako su stavke pod - ugovoreno. Ove vrijednosti će biti preuzeta od zapovjednika &quot;Bill of Materials&quot; pod - ugovoreni stavke.
Food,hrana
"Food, Beverage & Tobacco","Hrana , piće i duhan"
"For 'Sales BOM' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Sales BOM' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Za 'Prodaja BOM ""predmeta, skladište, rednim brojem i hrpa Ne smatrat će se iz' Popis pakiranja 'stolom. Ako Warehouse i šarže su isti za sve pakiranje predmeta za bilo 'Prodaja' sastavnice točke, te vrijednosti mogu se unijeti u glavni predmet stola, vrijednosti će se kopirati 'pakiranje popis' stolom."
For Company,Za tvrtke
For Employee,Za zaposlenom
For Employee Name,Za ime zaposlenika
For Price List,Za Cjeniku
For Production,Za proizvodnju
For Reference Only.,Samo za referencu.
For Sales Invoice,Za prodaju fakture
For Server Side Print Formats,Za Server formati stranom za ispis
For Supplier,za Supplier
For Warehouse,Za galeriju
For Warehouse is required before Submit,Jer je potrebno Warehouse prije Podnijeti
"For e.g. 2012, 2012-13","Za npr. 2012, 2012-13"
For reference,Za referencu
For reference only.,Za samo kao referenca.
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Za praktičnost kupaca, te kodovi mogu se koristiti u tiskanim formata kao što su fakture i otpremnice"
Fraction,Frakcija
Fraction Units,Frakcije Jedinice
Freeze Stock Entries,Zamrzavanje Stock Unosi
Freeze Stocks Older Than [Days],Freeze Dionice stariji od [ dana ]
Freight and Forwarding Charges,Teretni i Forwarding Optužbe
Friday,Petak
From,Od
From Bill of Materials,Od Bill of Materials
From Company,Iz Društva
From Currency,Od novca
From Currency and To Currency cannot be same,Od valute i valuta ne mogu biti isti
From Customer,Od kupca
From Customer Issue,Od kupca Issue
From Date,Od datuma
From Date cannot be greater than To Date,Od datuma ne može biti veća od To Date
From Date must be before To Date,Od datuma mora biti prije do danas
From Date should be within the Fiscal Year. Assuming From Date = {0},Od datuma trebao biti u fiskalnoj godini. Uz pretpostavku Od datuma = {0}
From Delivery Note,Od otpremnici
From Employee,Od zaposlenika
From Lead,Od Olovo
From Maintenance Schedule,Od održavanje rasporeda
From Material Request,Od materijala zahtjev
From Opportunity,od Opportunity
From Package No.,Iz paketa broj
From Purchase Order,Od narudžbenice
From Purchase Receipt,Od Račun kupnje
From Quotation,od kotaciju
From Sales Order,Od prodajnog naloga
From Supplier Quotation,Od dobavljača kotaciju
From Time,S vremena
From Value,Od Vrijednost
From and To dates required,Od i Do datuma zahtijevanih
From value must be less than to value in row {0},Od vrijednosti mora biti manje nego vrijednosti u redu {0}
Frozen,Zaleđeni
Frozen Accounts Modifier,Blokiran Računi Modifikacijska
Fulfilled,Ispunjena
Full Name,Ime i prezime
Full-time,Puno radno vrijeme
Fully Billed,Potpuno Naplaćeno
Fully Completed,Potpuno Završeni
Fully Delivered,Potpuno Isporučeno
Furniture and Fixture,Namještaj i susret
Further accounts can be made under Groups but entries can be made against Ledger,"Daljnje računi mogu biti u skupinama , ali unose možete izvoditi protiv Ledgera"
"Further accounts can be made under Groups, but entries can be made against Ledger","Daljnje računi mogu biti u skupinama , ali unose možete izvoditi protiv Ledgera"
Further nodes can be only created under 'Group' type nodes,"Daljnje čvorovi mogu se samo stvorio pod ""Grupa"" tipa čvorova"
GL Entry,GL Stupanje
Gantt Chart,Gantogram
Gantt chart of all tasks.,Gantogram svih zadataka.
Gender,Rod
General,Opći
General Ledger,Glavna knjiga
Generate Description HTML,Generiranje Opis HTML
Generate Material Requests (MRP) and Production Orders.,Generirajte Materijal Upiti (MRP) i radne naloge.
Generate Salary Slips,Generiranje plaće gaćice
Generate Schedule,Generiranje Raspored
Generates HTML to include selected image in the description,Stvara HTML uključuju odabrane slike u opisu
Get Advances Paid,Nabavite plaćenim avansima
Get Advances Received,Get Napredak pozicija
Get Current Stock,Nabavite trenutne zalihe
Get Items,Nabavite artikle
Get Items From Sales Orders,Get artikle iz narudžbe
Get Items from BOM,Se predmeti s troškovnikom
Get Last Purchase Rate,Nabavite Zadnji Ocijeni Kupnja
Get Outstanding Invoices,Nabavite neplaćene račune
Get Relevant Entries,Dobiti relevantne objave
Get Sales Orders,Nabavite narudžbe
Get Specification Details,Nabavite Specifikacija Detalji
Get Stock and Rate,Nabavite Stock i stopa
Get Template,Nabavite predloška
Get Terms and Conditions,Nabavite Uvjeti i pravila
Get Unreconciled Entries,Nabavite nesaglašen objave
Get Weekly Off Dates,Nabavite Tjedno Off datumi
"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.","Nabavite stopa za vrednovanje i dostupni zaliha na izvor / cilj skladištu na spomenuti datum knjiženja radno vrijeme. Ako serijaliziranom stavku, molimo pritisnite ovu tipku nakon ulaska serijskih brojeva."
Global Defaults,Globalni Zadano
Global POS Setting {0} already created for company {1},Global POS Setting {0} već stvorene za tvrtke {1}
Global Settings,globalne postavke
"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""","Idi na odgovarajuće skupine (obično Application fondova > tekuće imovine > bankovnim računima i stvoriti Ledger novog računa (klikom na Dodaj dijete) tipa : ""Banka"""
"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.","Idi na odgovarajuće skupine (obično izvor sredstava > kratkoročne obveze > poreza i carina i stvoriti novi račun Ledger ( klikom na Dodaj dijete ) tipa "" porez"" i ne spominju se porezna stopa ."
Goal,Cilj
Goals,Golovi
Goods received from Suppliers.,Roba dobio od dobavljače.
Google Drive,Google Drive
Google Drive Access Allowed,Google Drive Pristup dopuštenih
Government,vlada
Graduate,Diplomski
Grand Total,Sveukupno
Grand Total (Company Currency),Sveukupno (Društvo valuta)
"Grid ""","Grid """
Grocery,Trgovina
Gross Margin %,Bruto marža%
Gross Margin Value,Bruto marža vrijednost
Gross Pay,Bruto plaće
Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,Bruto plaće + + zaostatak Iznos Iznos Encashment - Ukupno Odbitak
Gross Profit,Ukupan profit
Gross Profit (%),Bruto dobit (%)
Gross Weight,Bruto težina
Gross Weight UOM,Bruto težina UOM
Group,Grupa
Group by Account,Grupa po računu
Group by Voucher,Grupa po vaučer
Group or Ledger,Grupa ili knjiga
Groups,Grupe
HR Manager,HR Manager
HR Settings,HR Postavke
HTML / Banner that will show on the top of product list.,HTML / bannera koji će se prikazivati ​​na vrhu liste proizvoda.
Half Day,Pola dana
Half Yearly,Pola Godišnji
Half-yearly,Polugodišnje
Happy Birthday!,Sretan rođendan !
Hardware,hardver
Has Batch No,Je Hrpa Ne
Has Child Node,Je li čvor dijete
Has Serial No,Ima Serial Ne
Head of Marketing and Sales,Voditelj marketinga i prodaje
Header,Kombajn
Health Care,Health Care
Health Concerns,Zdravlje Zabrinutost
Health Details,Zdravlje Detalji
Held On,Održanoj
Help HTML,Pomoć HTML
"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Pomoć: Za povezivanje na drugi zapis u sustavu, koristite &quot;# Forma / Napomena / [Napomena ime]&quot; kao URL veze. (Ne koristite &quot;http://&quot;)"
"Here you can maintain family details like name and occupation of parent, spouse and children","Ovdje možete održavati obiteljske pojedinosti kao što su ime i okupacije roditelja, supružnika i djecu"
"Here you can maintain height, weight, allergies, medical concerns etc","Ovdje možete održavati visina, težina, alergije, medicinske brige itd."
Hide Currency Symbol,Sakrij simbol valute
High,Visok
History In Company,Povijest U Društvu
Hold,Držati
Holiday,Odmor
Holiday List,Turistička Popis
Holiday List Name,Turistička Popis Ime
Holiday master.,Majstor za odmor .
Holidays,Praznici
Home,Dom
Host,Domaćin
"Host, Email and Password required if emails are to be pulled","Domaćin, e-mail i lozinka potrebni ako e-mailove su se izvukao"
Hour,sat
Hour Rate,Sat Ocijenite
Hour Rate Labour,Sat Ocijenite rada
Hours,Sati
How Pricing Rule is applied?,Kako se primjenjuje cijena pravilo?
How frequently?,Kako često?
"How should this currency be formatted? If not set, will use system defaults","Kako bi se to valuta biti formatiran? Ako nije postavljeno, koristit će zadane postavke sustava"
Human Resources,Ljudski resursi
Identification of the package for the delivery (for print),Identifikacija paketa za dostavu (za tisak)
If Income or Expense,Ako prihoda i rashoda
If Monthly Budget Exceeded,Ako Mjesečni proračun Exceeded
"If Sale BOM is defined, the actual BOM of the Pack is displayed as table. Available in Delivery Note and Sales Order","Ako Prodaja BOM definiran ,stvarni troškovnik od Pack prikazuje se kao stol . Dostupan u Dostavnica i prodajni nalog"
"If Supplier Part Number exists for given Item, it gets stored here","Ako Dobavljač Broj dijela postoji za određeni predmet, to dobiva pohranjen ovdje"
If Yearly Budget Exceeded,Ako Godišnji proračun Exceeded
"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.","Ako je označeno, BOM za pod-zbor stavke će biti uzeti u obzir za dobivanje sirovine. Inače, sve pod-montaža stavke će biti tretirani kao sirovinu."
"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Ako je označeno, Ukupan broj. radnih dana će uključiti odmor, a to će smanjiti vrijednost plaća po danu"
"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Ako je označeno, iznos poreza će se smatrati već uključena u Print Rate / Ispis Iznos"
If different than customer address,Ako se razlikuje od kupaca adresu
"If disable, 'Rounded Total' field will not be visible in any transaction","Ako onemogućite, &#39;Ukupno&#39; Zaobljeni polje neće biti vidljiv u bilo kojoj transakciji"
"If enabled, the system will post accounting entries for inventory automatically.","Ako je omogućeno, sustav će objaviti računovodstvene stavke za popis automatski."
If more than one package of the same type (for print),Ako je više od jedan paket od iste vrste (za tisak)
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Ako više Cijene pravila i dalje prevladavaju, korisnici su zamoljeni da postavite prioritet ručno riješiti sukob."
"If no change in either Quantity or Valuation Rate, leave the cell blank.","Ako nema promjena u bilo Količina ili procjena stope , ostaviti prazno stanica ."
If not applicable please enter: NA,Ako ne odnosi unesite: NA
"If not checked, the list will have to be added to each Department where it has to be applied.","Ako nije označeno, popis će biti dodan u svakom odjela gdje se mora primjenjivati."
"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.","Ako odabrani Cijene Pravilo je za 'Cijena', to će prebrisati cjenik. Cijene Pravilo cijena je konačna cijena, tako da nema dalje popusta treba primijeniti. Dakle, u prometu kao što su prodajni nalog, narudžbenica itd, to će biti preuzeta u 'stopi' polju, a ne 'cjenik' stopi polju."
"If specified, send the newsletter using this email address","Ako je navedeno, pošaljite newsletter koristeći ovu e-mail adresu"
"If the account is frozen, entries are allowed to restricted users.","Ako je račun zamrznut , unosi dopušteno ograničene korisnike ."
"If this Account represents a Customer, Supplier or Employee, set it here.","Ako se to računa predstavlja kupac, dobavljač ili zaposlenik, postavite ga ovdje."
"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.","Ako su dva ili više Cijene Pravila naći na temelju gore navedenih uvjeta, prednost se primjenjuju. Prioritet je broj od 0 do 20, a zadana vrijednost je nula (prazno). Veći broj znači da će imati prednost ako postoji više Cijene pravila s istim uvjetima."
If you follow Quality Inspection. Enables Item QA Required and QA No in Purchase Receipt,Ako slijedite kvalitete . Omogućuje predmet QA potrebno i QA Ne u Račun kupnje
If you have Sales Team and Sale Partners (Channel Partners)  they can be tagged and maintain their contribution in the sales activity,Ako imate prodajnog tima i prodaja partnerima (partneri) mogu biti označene i održavati svoj doprinos u prodajne aktivnosti
"If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.","Ako ste stvorili standardni predložak za kupnju poreze i pristojbe magisterij, odaberite jednu i kliknite na gumb ispod."
"If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.","Ako ste stvorili standardni predložak u prodaji poreze i pristojbe magisterij, odaberite jednu i kliknite na gumb ispod."
"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","Ako ste dugo ispis formata, ova značajka može se koristiti za podijeliti stranicu na koju se ispisuje više stranica sa svim zaglavljima i podnožjima na svakoj stranici"
If you involve in manufacturing activity. Enables Item 'Is Manufactured',Ako uključiti u proizvodnom djelatnošću . Omogućuje stavci je proizveden '
Ignore,Ignorirati
Ignore Pricing Rule,Ignorirajte Cijene pravilo
Ignored: ,Zanemareni:
Image,Slika
Image View,Slika Pogledaj
Implementation Partner,Provedba partner
Import Attendance,Uvoz posjećenost
Import Failed!,Uvoz nije uspio !
Import Log,Uvoz Prijavite
Import Successful!,Uvoz uspješna!
Imports,Uvoz
In Hours,U sati
In Process,U procesu
In Qty,u kol
In Value,u vrijednosti
In Words,U riječi
In Words (Company Currency),U riječi (Društvo valuta)
In Words (Export) will be visible once you save the Delivery Note.,U riječi (izvoz) će biti vidljiv nakon što spremite otpremnici.
In Words will be visible once you save the Delivery Note.,U riječi će biti vidljiv nakon što spremite otpremnici.
In Words will be visible once you save the Purchase Invoice.,U riječi će biti vidljiv nakon što spremite ulazne fakture.
In Words will be visible once you save the Purchase Order.,U riječi će biti vidljiv nakon što spremite narudžbenice.
In Words will be visible once you save the Purchase Receipt.,U riječi će biti vidljiv nakon što spremite kupiti primitka.
In Words will be visible once you save the Quotation.,U riječi će biti vidljiv nakon što spremite ponudu.
In Words will be visible once you save the Sales Invoice.,U riječi će biti vidljiv nakon što spremite prodaje fakture.
In Words will be visible once you save the Sales Order.,U riječi će biti vidljiv nakon što spremite prodajnog naloga.
Incentives,Poticaji
Include Reconciled Entries,Uključi pomirio objave
Include holidays in Total no. of Working Days,Uključi odmor u ukupnom. radnih dana
Income,prihod
Income / Expense,Prihodi / rashodi
Income Account,Prihodi račun
Income Booked,Prihodi Rezervirani
Income Tax,porezu na dohodak
Income Year to Date,Prihodi godine do danas
Income booked for the digest period,Prihodi rezervirano za razdoblje digest
Incoming,Dolazni
Incoming Rate,Dolazni Stopa
Incoming quality inspection.,Dolazni kvalitete inspekcije.
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Neispravan broj glavnu knjigu unose naći. Možda ste odabrali krivi račun u transakciji.
Incorrect or Inactive BOM {0} for Item {1} at row {2},Pogrešne ili Neaktivno BOM {0} za točku {1} po redu {2}
Indicates that the package is a part of this delivery (Only Draft),Ukazuje da je paket je dio ove isporuke (samo nacrti)
Indirect Expenses,neizravni troškovi
Indirect Income,Neizravno dohodak
Individual,Pojedinac
Industry,Industrija
Industry Type,Industrija Tip
Inspected By,Pregledati
Inspection Criteria,Inspekcijski Kriteriji
Inspection Required,Inspekcija Obvezno
Inspection Type,Inspekcija Tip
Installation Date,Instalacija Datum
Installation Note,Instalacija Napomena
Installation Note Item,Instalacija Napomena artikla
Installation Note {0} has already been submitted,Instalacija Napomena {0} već je poslan
Installation Status,Instalacija Status
Installation Time,Instalacija Vrijeme
Installation date cannot be before delivery date for Item {0},Datum Instalacija ne može biti prije datuma isporuke za točke {0}
Installation record for a Serial No.,Instalacija rekord za serijski broj
Installed Qty,Instalirani Kol
Instructions,Instrukcije
Integrate incoming support emails to Support Ticket,Integracija dolazne e-mailove podrške za podršku ulaznica
Interested,Zainteresiran
Intern,stažista
Internal,Interni
Internet Publishing,Internet Izdavaštvo
Introduction,Uvod
Invalid Barcode,Invalid Barcode
Invalid Barcode or Serial No,Invalid Barcode ili Serial Ne
Invalid Mail Server. Please rectify and try again.,Invalid Server Mail . Molimo ispraviti i pokušajte ponovno .
Invalid Master Name,Invalid Master Ime
Invalid User Name or Support Password. Please rectify and try again.,Neispravno korisničko ime ili podrška Lozinka . Molimo ispraviti i pokušajte ponovno .
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Pogrešna količina navedeno za predmet {0} . Količina treba biti veći od 0 .
Inventory,Inventar
Inventory & Support,Inventar i podrška
Investment Banking,Investicijsko bankarstvo
Investments,investicije
Invoice Date,Račun Datum
Invoice Details,Pojedinosti dostavnice
Invoice No,Račun br
Invoice Number,Račun broj
Invoice Period From,Račun razdoblju od
Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Račun razdoblju od računa i period za datume obveznih za ponavljajuće fakture
Invoice Period To,Račun Razdoblje Da
Invoice Type,Tip fakture
Invoice/Journal Voucher Details,Račun / Časopis bon Detalji
Invoiced Amount (Exculsive Tax),Dostavljeni iznos ( Exculsive poreza )
Is Active,Je aktivna
Is Advance,Je Predujam
Is Cancelled,Je Otkazan
Is Carry Forward,Je Carry Naprijed
Is Default,Je Default
Is Encash,Je li unovčiti
Is Fixed Asset Item,Je fiksne imovine stavku
Is LWP,Je lwp
Is Opening,Je Otvaranje
Is Opening Entry,Je Otvaranje unos
Is POS,Je POS
Is Primary Contact,Je Primarna Kontakt
Is Purchase Item,Je Kupnja artikla
Is Sales Item,Je Prodaja artikla
Is Service Item,Je li usluga artikla
Is Stock Item,Je kataloški artikla
Is Sub Contracted Item,Je Sub Ugovoreno artikla
Is Subcontracted,Je podugovarati
Is this Tax included in Basic Rate?,Je li ovo pristojba uključena u osnovne stope?
Issue,Izdanje
Issue Date,Datum izdavanja
Issue Details,Issue Detalji
Issued Items Against Production Order,Izdana Proizvodi prema proizvodnji Reda
It can also be used to create opening stock entries and to fix stock value.,Također se može koristiti za stvaranje početne vrijednosti unose i popraviti stock vrijednost .
Item,stavka
Item Advanced,Stavka Napredna
Item Barcode,Stavka Barkod
Item Batch Nos,Stavka Batch Nos
Item Code,Stavka Šifra
Item Code > Item Group > Brand,Kod Stavka> Stavka Group> Brand
Item Code and Warehouse should already exist.,Šifra i skladišta trebao već postoje .
Item Code cannot be changed for Serial No.,Kod stavka ne može se mijenjati za serijskog broja
Item Code is mandatory because Item is not automatically numbered,Kod artikla je obvezno jer točka nije automatski numerirani
Item Code required at Row No {0},Šifra potrebno na Row Zabranjeno {0}
Item Customer Detail,Stavka Kupac Detalj
Item Description,Stavka Opis
Item Desription,Stavka Desription
Item Details,Stavka Detalji
Item Group,Stavka Grupa
Item Group Name,Stavka Ime grupe
Item Group Tree,Stavka Group Tree
Item Group not mentioned in item master for item {0},Stavka Grupa ne spominje u točki majstora za predmet {0}
Item Groups in Details,Stavka Grupe u detaljima
Item Image (if not slideshow),Stavka slike (ako ne Slideshow)
Item Name,Stavka Ime
Item Naming By,Stavka nazivanje
Item Price,Stavka Cijena
Item Prices,Stavka Cijene
Item Quality Inspection Parameter,Stavka Provera kvaliteta parametara
Item Reorder,Stavka redoslijeda
Item Serial No,Stavka rednim brojem
Item Serial Nos,Stavka Serijski br
Item Shortage Report,Stavka Nedostatak Izvješće
Item Supplier,Stavka Dobavljač
Item Supplier Details,Stavka Supplier Detalji
Item Tax,Stavka poreza
Item Tax Amount,Stavka Iznos poreza
Item Tax Rate,Stavka Porezna stopa
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Stavka Porezna Row {0} mora imati račun tipa poreza ili prihoda i rashoda ili naplativ
Item Tax1,Stavka Tax1
Item To Manufacture,Stavka za proizvodnju
Item UOM,Stavka UOM
Item Website Specification,Stavka Web Specifikacija
Item Website Specifications,Stavka Website Specifikacije
Item Wise Tax Detail,Stavka Wise Porezna Detalj
Item Wise Tax Detail ,Stavka Wise Porezna Detalj
Item is required,Stavka je potrebno
Item is updated,Stavka je obnovljeno
Item master.,Majstor artikla .
"Item must be a purchase item, as it is present in one or many Active BOMs","Stavka mora bitipredmet kupnje , kao što je to prisutno u jednom ili više aktivnih sastavnicama"
Item or Warehouse for row {0} does not match Material Request,Stavka ili skladišta za redom {0} ne odgovara Material Zahtjev
Item table can not be blank,Tablica predmet ne može biti prazan
Item to be manufactured or repacked,Stavka biti proizvedeni ili prepakirani
Item valuation updated,Vrednovanje Stavka izmijenjena
Item will be saved by this name in the data base.,Stavka će biti spremljena pod ovim imenom u bazi podataka.
Item {0} appears multiple times in Price List {1},Stavka {0} se pojavljuje više puta u Cjenika {1}
Item {0} does not exist,Stavka {0} ne postoji
Item {0} does not exist in the system or has expired,Stavka {0} ne postoji u sustavu ili je istekla
Item {0} does not exist in {1} {2},Stavka {0} ne postoji u {1} {2}
Item {0} has already been returned,Stavka {0} već je vraćeno
Item {0} has been entered multiple times against same operation,Stavka {0} upisan je više puta protiv istog rada
Item {0} has been entered multiple times with same description or date,Stavka {0} upisan je više puta s istim opisom ili datumu
Item {0} has been entered multiple times with same description or date or warehouse,Stavka {0} upisan je više puta s istim opisom ili datum ili skladište
Item {0} has been entered twice,Stavka {0} je ušao dva puta
Item {0} has reached its end of life on {1},Stavka {0} je dosegla svoj kraj života na {1}
Item {0} ignored since it is not a stock item,Stavka {0} ignorirala jer to nijepredmet dionica
Item {0} is cancelled,Stavka {0} je otkazan
Item {0} is not Purchase Item,Stavka {0} nije Kupnja predmeta
Item {0} is not a serialized Item,Stavka {0} nijeserijaliziranom predmeta
Item {0} is not a stock Item,Stavka {0} nijestock Stavka
Item {0} is not active or end of life has been reached,Stavka {0} nije aktivan ili kraj života je postignut
Item {0} is not setup for Serial Nos. Check Item master,"Stavka {0} nije dobro postavljen za gospodara , serijski brojevi Provjera"
Item {0} is not setup for Serial Nos. Column must be blank,Stavka {0} nije setup za serijski brojevi Stupac mora biti prazan
Item {0} must be Sales Item,Stavka {0} mora biti Prodaja artikla
Item {0} must be Sales or Service Item in {1},Stavka {0} mora biti Prodaja ili usluga artikla u {1}
Item {0} must be Service Item,Stavka {0} mora biti usluga Stavka
Item {0} must be a Purchase Item,Stavka {0} mora bitikupnja artikla
Item {0} must be a Sales Item,Stavka {0} mora bitiProdaja artikla
Item {0} must be a Service Item.,Stavka {0} mora bitiusluga artikla .
Item {0} must be a Sub-contracted Item,Stavka {0} mora bitisklopljen ugovor artikla
Item {0} must be a stock Item,Stavka {0} mora bitistock Stavka
Item {0} must be manufactured or sub-contracted,Stavka {0} mora biti proizvedeni ili pod-ugovori
Item {0} not found,Stavka {0} nije pronađena
Item {0} with Serial No {1} is already installed,Stavka {0} s rednim brojem {1} već instaliran
Item {0} with same description entered twice,Stavka {0} sa istim opisom ušao dva puta
"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","Stavka, jamstvo, AMC (Godišnje održavanje Ugovor) pojedinosti će biti automatski dohvatio kada serijski broj je odabran."
Item-wise Price List Rate,Stavka - mudar Cjenovnik Ocijenite
Item-wise Purchase History,Stavka-mudar Kupnja Povijest
Item-wise Purchase Register,Stavka-mudar Kupnja Registracija
Item-wise Sales History,Stavka-mudar Prodaja Povijest
Item-wise Sales Register,Stavka-mudri prodaja registar
"Item: {0} managed batch-wise, can not be reconciled using \					Stock Reconciliation, instead use Stock Entry","Stavka: {0} uspio turi, ne može se pomiriti korištenja \ Stock pomirenje, umjesto da koristite Stock stupanja"
Item: {0} not found in the system,Stavka : {0} ne nalaze u sustavu
Items,Proizvodi
Items To Be Requested,Predmeti se zatražiti
Items required,Stavke potrebne
"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty",Proizvodi se traži što su &quot;Out of Stock&quot; s obzirom na sve skladišta na temelju projicirane Qty i minimalne narudžbe Kol
Items which do not exist in Item master can also be entered on customer's request,Proizvodi koji ne postoje u artikla gospodara također može unijeti na zahtjev kupca
Itemwise Discount,Itemwise Popust
Itemwise Recommended Reorder Level,Itemwise Preporučio redoslijeda Level
Job Applicant,Posao podnositelj
Job Opening,Posao Otvaranje
Job Profile,posao Profile
Job Title,Titula
"Job profile, qualifications required etc.","Profil posla , kvalifikacijama i sl."
Jobs Email Settings,Poslovi Postavke e-pošte
Journal Entries,Časopis upisi
Journal Entry,Časopis Stupanje
Journal Voucher,Časopis bon
Journal Voucher Detail,Časopis bon Detalj
Journal Voucher Detail No,Časopis bon Detalj Ne
Journal Voucher {0} does not have account {1} or already matched,Časopis bon {0} nema račun {1} ili već usklađeni
Journal Vouchers {0} are un-linked,Časopis bon {0} su UN -linked
Keep a track of communication related to this enquiry which will help for future reference.,Držite pratiti komunikacije vezane uz ovaj upit koji će vam pomoći za buduću referencu.
Keep it web friendly 900px (w) by 100px (h),Držite ga prijateljski web 900px ( w ) by 100px ( h )
Key Performance Area,Key Performance Area
Key Responsibility Area,Ključ Odgovornost Površina
Kg,kg
LR Date,LR Datum
LR No,LR Ne
Label,Oznaka
Landed Cost Item,Sletio Troškovi artikla
Landed Cost Items,Sletio troškova Proizvodi
Landed Cost Purchase Receipt,Sletio Trošak Kupnja Potvrda
Landed Cost Purchase Receipts,Sletio troškova kupnje Primici
Landed Cost Wizard,Sletio Trošak Čarobnjak
Landed Cost updated successfully,Sletio Troškovi uspješno ažurirana
Language,Jezik
Last Name,Prezime
Last Purchase Rate,Zadnja Kupnja Ocijenite
Latest,najnoviji
Lead,Dovesti
Lead Details,Olovo Detalji
Lead Id,Olovo Id
Lead Name,Olovo Ime
Lead Owner,Olovo Vlasnik
Lead Source,Olovo Source
Lead Status,Olovo Status
Lead Time Date,Olovo Time Date
Lead Time Days,Olovo vrijeme Dane
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.,Olovo vrijeme dana je broj dana koji ovaj predmet se očekuje u skladištu. Ovih dana je preuzeta u Materijal Zahtjev kada odaberete ovu stavku.
Lead Type,Olovo Vid
Lead must be set if Opportunity is made from Lead,Olovo se mora postaviti ako prilika je izrađena od olova
Leave Allocation,Ostavite Raspodjela
Leave Allocation Tool,Ostavite raspodjele alat
Leave Application,Ostavite aplikaciju
Leave Approver,Ostavite odobravatelju
Leave Approvers,Ostavite odobravateljima
Leave Balance Before Application,Ostavite Balance Prije primjene
Leave Block List,Ostavite Block List
Leave Block List Allow,Ostavite Blok Popis Dopustite
Leave Block List Allowed,Ostavite Block List dopuštenih
Leave Block List Date,Ostavite Date Popis Block
Leave Block List Dates,Ostavite datumi lista blokiranih
Leave Block List Name,Ostavite popis imena Block
Leave Blocked,Ostavite blokirani
Leave Control Panel,Ostavite Upravljačka ploča
Leave Encashed?,Ostavite Encashed?
Leave Encashment Amount,Ostavite Encashment Iznos
Leave Type,Ostavite Vid
Leave Type Name,Ostavite ime tipa
Leave Without Pay,Ostavite bez plaće
Leave application has been approved.,Ostavite Zahtjev je odobren .
Leave application has been rejected.,Ostavite Zahtjev je odbijen .
Leave approver must be one of {0},Ostavite odobritelj mora biti jedan od {0}
Leave blank if considered for all branches,Ostavite prazno ako smatra za sve grane
Leave blank if considered for all departments,Ostavite prazno ako smatra za sve odjele
Leave blank if considered for all designations,Ostavite prazno ako smatra za sve oznake
Leave blank if considered for all employee types,Ostavite prazno ako smatra za sve tipove zaposlenika
"Leave can be approved by users with Role, ""Leave Approver""","Ostavite može biti odobren od strane korisnika s uloge, &quot;Ostavite odobravatelju&quot;"
Leave of type {0} cannot be longer than {1},Ostavite tipa {0} ne može biti duži od {1}
Leaves Allocated Successfully for {0},Lišće Dodijeljeni uspješno za {0}
Leaves for type {0} already allocated for Employee {1} for Fiscal Year {0},Ostavlja za vrstu {0} već dodijeljeno za zaposlenika {1} za fiskalnu godinu {0}
Leaves must be allocated in multiples of 0.5,"Listovi moraju biti dodijeljeno u COMBI 0,5"
Ledger,Glavna knjiga
Ledgers,knjige
Left,Lijevo
Legal,pravni
Legal Expenses,pravne Troškovi
Letter Head,Pismo Head
Letter Heads for print templates.,Pismo glave za ispis predložaka .
Level,Nivo
Lft,LFT
Liability,odgovornost
List a few of your customers. They could be organizations or individuals.,Naveditenekoliko svojih kupaca . Oni mogu biti organizacije ili pojedinci .
List a few of your suppliers. They could be organizations or individuals.,Naveditenekoliko svojih dobavljača . Oni mogu biti organizacije ili pojedinci .
List items that form the package.,Popis stavki koje čine paket.
List this Item in multiple groups on the website.,Popis ovaj predmet u više grupa na web stranici.
"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.",Popis svoje proizvode ili usluge koje kupuju ili prodaju .
"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.","Popis svoje porezne glave ( npr. PDV , trošarine , oni bi trebali imati jedinstvene nazive ) i njihove standardne stope ."
Loading...,Loading ...
Loans (Liabilities),Zajmovi ( pasiva)
Loans and Advances (Assets),Zajmovi i predujmovi ( aktiva )
Local,mjesni
Login,prijava
Login with your new User ID,Prijavite se s novim User ID
Logo,Logo
Logo and Letter Heads,Logo i pismo glave
Lost,izgubljen
Lost Reason,Izgubili Razlog
Low,Nisko
Lower Income,Donja Prihodi
MTN Details,MTN Detalji
Main,glavni
Main Reports,Glavni Izvješća
Maintain Same Rate Throughout Sales Cycle,Održavati ista stopa Tijekom cijele prodajni ciklus
Maintain same rate throughout purchase cycle,Održavanje istu stopu tijekom kupnje ciklusa
Maintenance,Održavanje
Maintenance Date,Održavanje Datum
Maintenance Details,Održavanje Detalji
Maintenance Schedule,Održavanje Raspored
Maintenance Schedule Detail,Održavanje Raspored Detalj
Maintenance Schedule Item,Održavanje Raspored predmeta
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',"Raspored održavanja ne stvara za sve stavke . Molimo kliknite na ""Generiraj raspored '"
Maintenance Schedule {0} exists against {0},Raspored održavanja {0} postoji od {0}
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Raspored održavanja {0} mora biti otkazana prije poništenja ovu prodajnog naloga
Maintenance Schedules,Održavanje Raspored
Maintenance Status,Održavanje statusa
Maintenance Time,Održavanje Vrijeme
Maintenance Type,Održavanje Tip
Maintenance Visit,Održavanje Posjetite
Maintenance Visit Purpose,Održavanje Posjetite Namjena
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Održavanje Posjetite {0} mora biti otkazana prije poništenja ovu prodajnog naloga
Maintenance start date can not be before delivery date for Serial No {0},Održavanje datum početka ne može biti prije datuma isporuke za rednim brojem {0}
Major/Optional Subjects,Glavni / Izborni predmeti
Make ,
Make Accounting Entry For Every Stock Movement,Provjerite knjiženje za svaki burzi pokreta
Make Bank Voucher,Napravite Bank bon
Make Credit Note,Provjerite Credit Note
Make Debit Note,Provjerite terećenju
Make Delivery,bi isporuka
Make Difference Entry,Čine razliku Entry
Make Excise Invoice,Provjerite trošarinske fakturu
Make Installation Note,Provjerite Installation napomenu
Make Invoice,Napravite fakturu
Make Maint. Schedule,Napravite Maint . raspored
Make Maint. Visit,Napravite Maint . posjet
Make Maintenance Visit,Provjerite održavanja Posjetite
Make Packing Slip,Napravite popis zapakiranih
Make Payment,Uplati
Make Payment Entry,Napravite unos Plaćanje
Make Purchase Invoice,Napravite kupnje proizvoda
Make Purchase Order,Provjerite narudžbenice
Make Purchase Receipt,Napravite Račun kupnje
Make Salary Slip,Provjerite plaće slip
Make Salary Structure,Provjerite Plaća Struktura
Make Sales Invoice,Ostvariti prodaju fakturu
Make Sales Order,Provjerite prodajnog naloga
Make Supplier Quotation,Provjerite Supplier kotaciji
Make Time Log Batch,Nađite vremena Prijavite Hrpa
Male,Muški
Manage Customer Group Tree.,Upravljanje grupi kupaca stablo .
Manage Sales Partners.,Upravljanje prodajnih partnera.
Manage Sales Person Tree.,Upravljanje prodavač stablo .
Manage Territory Tree.,Upravljanje teritorij stablo .
Manage cost of operations,Upravljanje troškove poslovanja
Management,upravljanje
Manager,menadžer
"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.",Obvezni ako Stock Stavka je &quot;Da&quot;. Također zadano skladište gdje je zadržana količina se postaviti od prodajnog naloga.
Manufacture against Sales Order,Proizvodnja protiv prodaje Reda
Manufacture/Repack,Proizvodnja / Ponovno pakiranje
Manufactured Qty,Proizvedeno Kol
Manufactured quantity will be updated in this warehouse,Proizvedeno količina će biti ažurirana u ovom skladištu
Manufactured quantity {0} cannot be greater than planned quanitity {1} in Production Order {2},Proizvedeno Količina {0} ne može biti veći od planiranog quanitity {1} u proizvodnom nalogu {2}
Manufacturer,Proizvođač
Manufacturer Part Number,Proizvođač Broj dijela
Manufacturing,Proizvodnja
Manufacturing Quantity,Proizvodnja Količina
Manufacturing Quantity is mandatory,Proizvodnja Količina je obvezno
Margin,Marža
Marital Status,Bračni status
Market Segment,Tržišni segment
Marketing,marketing
Marketing Expenses,Troškovi marketinga
Married,Oženjen
Mass Mailing,Misa mailing
Master Name,Učitelj Ime
Master Name is mandatory if account type is Warehouse,Master Ime je obavezno ako je vrsta račun Skladište
Master Type,Majstor Tip
Masters,Majstori
Match non-linked Invoices and Payments.,Klađenje na ne-povezane faktura i plaćanja.
Material Issue,Materijal Issue
Material Receipt,Materijal Potvrda
Material Request,Materijal zahtjev
Material Request Detail No,Materijal Zahtjev Detalj Ne
Material Request For Warehouse,Materijal Zahtjev za galeriju
Material Request Item,Materijal Zahtjev artikla
Material Request Items,Materijalni Zahtjev Proizvodi
Material Request No,Materijal Zahtjev Ne
Material Request Type,Materijal Zahtjev Tip
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Materijal Zahtjev maksimalno {0} može biti za točku {1} od prodajnog naloga {2}
Material Request used to make this Stock Entry,Materijal Zahtjev se koristi da bi se ova Stock unos
Material Request {0} is cancelled or stopped,Materijal Zahtjev {0} je otkazan ili zaustavljen
Material Requests for which Supplier Quotations are not created,Materijalni Zahtjevi za koje Supplier Citati nisu stvorene
Material Requests {0} created,Materijalni Zahtjevi {0} stvorio
Material Requirement,Materijal Zahtjev
Material Transfer,Materijal transfera
Materials,Materijali
Materials Required (Exploded),Materijali Obavezno (eksplodirala)
Max 5 characters,Max 5 znakova
Max Days Leave Allowed,Max Dani Ostavite dopuštenih
Max Discount (%),Maks Popust (%)
Max Qty,Max Kol
Max discount allowed for item: {0} is {1}%,Maksimalni popust dopušteno za predmet: {0} je {1}%
Maximum Amount,Maksimalni iznos
Maximum allowed credit is {0} days after posting date,Najveća dopuštena kredit je {0} dana nakon objavljivanja datuma
Maximum {0} rows allowed,Maksimalne {0} redovi dopušteno
Maxiumm discount for Item {0} is {1}%,Maxiumm popusta za točke {0} je {1} %
Medical,liječnički
Medium,Srednji
"Merging is only possible if following properties are same in both records. Group or Ledger, Root Type, Company",Spajanje je moguće samo ako sljedeća svojstva su jednaka u obje evidencije .
Message,Poruka
Message Parameter,Poruka parametra
Message Sent,Poruka je poslana
Message updated,Poruka izmijenjena
Messages,Poruke
Messages greater than 160 characters will be split into multiple messages,Poruka veća od 160 karaktera će biti split u više mesage
Middle Income,Srednji Prihodi
Milestone,Prekretnica
Milestone Date,Prekretnica Datum
Milestones,Dostignuća
Milestones will be added as Events in the Calendar,Dostignuća će biti dodan kao Događanja u kalendaru
Min Order Qty,Min Red Kol
Min Qty,min Kol
Min Qty can not be greater than Max Qty,Min Kol ne može biti veći od Max Kol
Minimum Amount,Minimalni iznos
Minimum Order Qty,Minimalna narudžba Količina
Minute,minuta
Misc Details,Razni podaci
Miscellaneous Expenses,Razni troškovi
Miscelleneous,Miscelleneous
Mobile No,Mobitel Nema
Mobile No.,Mobitel broj
Mode of Payment,Način plaćanja
Modern,Moderna
Monday,Ponedjeljak
Month,Mjesec
Monthly,Mjesečno
Monthly Attendance Sheet,Mjesečna posjećenost list
Monthly Earning & Deduction,Mjesečna zarada &amp; Odbitak
Monthly Salary Register,Mjesečna plaća Registracija
Monthly salary statement.,Mjesečna plaća izjava.
More Details,Više pojedinosti
More Info,Više informacija
Motion Picture & Video,Motion Picture & Video
Moving Average,Moving Average
Moving Average Rate,Premještanje prosječna stopa
Mr,G.
Ms,Gospođa
Multiple Item prices.,Više cijene stavke.
"Multiple Price Rule exists with same criteria, please resolve \			conflict by assigning priority. Price Rules: {0}","Višestruki Cijena Pravilo postoji sa istim kriterijima, molimo riješiti \ Sukob dodjeljivanjem prioritet. Cijena pravila: {0}"
Music,glazba
Must be Whole Number,Mora biti cijeli broj
Name,Ime
Name and Description,Naziv i opis
Name and Employee ID,Ime i zaposlenika ID
"Name of new Account. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master","Ime novog računa . Napomena : Molimo vas da ne stvaraju račune za kupce i dobavljače , oni se automatski stvara od klijenata i dobavljača majstora"
Name of person or organization that this address belongs to.,Ime osobe ili organizacije koje ova adresa pripada.
Name of the Budget Distribution,Ime distribucije proračuna
Naming Series,Imenovanje serije
Negative Quantity is not allowed,Negativna Količina nije dopušteno
Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},Negativna Stock Error ( {6} ) za točke {0} u skladište {1} na {2} {3} u {4} {5}
Negative Valuation Rate is not allowed,Negativna stopa Vrednovanje nije dopušteno
Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},Negativna bilanca u batch {0} za točku {1} na skladište {2} na {3} {4}
Net Pay,Neto Pay
Net Pay (in words) will be visible once you save the Salary Slip.,Neto plaća (u riječima) će biti vidljiv nakon što spremite plaće Slip.
Net Profit / Loss,Neto dobit / gubitak
Net Total,Neto Ukupno
Net Total (Company Currency),Neto Ukupno (Društvo valuta)
Net Weight,Neto težina
Net Weight UOM,Težina UOM
Net Weight of each Item,Težina svake stavke
Net pay cannot be negative,Neto plaća ne može biti negativna
Never,Nikad
New ,
New Account,Novi račun
New Account Name,Novi naziv računa
New BOM,Novi BOM
New Communications,Novi komunikacije
New Company,Nova tvrtka
New Cost Center,Novi troška
New Cost Center Name,Novi troška Naziv
New Delivery Notes,Novi otpremnice
New Enquiries,Novi Upiti
New Leads,Nova vodi
New Leave Application,Novi dopust Primjena
New Leaves Allocated,Novi Leaves Dodijeljeni
New Leaves Allocated (In Days),Novi Lišće alociran (u danima)
New Material Requests,Novi materijal Zahtjevi
New Projects,Novi projekti
New Purchase Orders,Novi narudžbenice
New Purchase Receipts,Novi Kupnja Primici
New Quotations,Novi Citati
New Sales Orders,Nove narudžbe
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Novi Serial No ne mogu imati skladište . Skladište mora biti postavljen od strane burze upisu ili kupiti primitka
New Stock Entries,Novi Stock upisi
New Stock UOM,Novi kataloški UOM
New Stock UOM is required,Novi Stock UOM je potrebno
New Stock UOM must be different from current stock UOM,Novi Stock UOM mora biti različita od trenutne zalihe UOM
New Supplier Quotations,Novi dobavljač Citati
New Support Tickets,Novi Podrška Ulaznice
New UOM must NOT be of type Whole Number,Novi UOM ne mora biti tipa cijeli broj
New Workplace,Novi radnom mjestu
Newsletter,Bilten
Newsletter Content,Newsletter Sadržaj
Newsletter Status,Newsletter Status
Newsletter has already been sent,Newsletter je već poslana
"Newsletters to contacts, leads.","Brošure za kontakte, vodi."
Newspaper Publishers,novinski izdavači
Next,sljedeći
Next Contact By,Sljedeća Kontakt Do
Next Contact Date,Sljedeća Kontakt Datum
Next Date,Sljedeća Datum
Next email will be sent on:,Sljedeća e-mail će biti poslan na:
No,Ne
No Customer Accounts found.,Nema kupaca Računi pronađena .
No Customer or Supplier Accounts found,Nema kupaca i dobavljača Računi naći
No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user,Nema Rashodi approvers . Molimo dodijeliti ' Rashodi odobravatelju ' Uloga da atleast jednom korisniku
No Item with Barcode {0},No Stavka s Barcode {0}
No Item with Serial No {0},No Stavka s rednim brojem {0}
No Items to pack,Nema stavki za omot
No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user,Nema dopusta approvers . Molimo dodijeliti ' ostavite odobravatelju ' Uloga da atleast jednom korisniku
No Permission,Bez dozvole
No Production Orders created,Nema Radni nalozi stvoreni
No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,"Nema Supplier Računi pronađena . Supplier Računi su identificirani na temelju ' Master vrstu "" vrijednosti u računu rekord ."
No accounting entries for the following warehouses,Nema računovodstvene unosi za sljedeće skladišta
No addresses created,Nema adrese stvoreni
No contacts created,Nema kontakata stvoreni
No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template.,Ne zadana adresa Predložak pronađena. Molimo stvoriti novu s Setup> Tisak i Branding> adresu predložak.
No default BOM exists for Item {0},Ne default BOM postoji točke {0}
No description given,Nema opisa dano
No employee found,Niti jedan zaposlenik pronađena
No employee found!,Niti jedan zaposlenik našao !
No of Requested SMS,Nema traženih SMS
No of Sent SMS,Ne poslanih SMS
No of Visits,Bez pregleda
No permission,nema dozvole
No record found,Ne rekord naći
No records found in the Invoice table,Nisu pronađeni u tablici fakturu
No records found in the Payment table,Nisu pronađeni u tablici plaćanja
No salary slip found for month: ,Bez plaće slip naći za mjesec dana:
Non Profit,Neprofitne
Nos,Nos
Not Active,Ne aktivna
Not Applicable,Nije primjenjivo
Not Available,nije dostupno
Not Billed,Ne Naplaćeno
Not Delivered,Ne Isporučeno
Not Set,ne Set
Not allowed to update stock transactions older than {0},Nije dopušteno osvježavanje burzovnih transakcija stariji od {0}
Not authorized to edit frozen Account {0},Nije ovlašten za uređivanje smrznute račun {0}
Not authroized since {0} exceeds limits,Ne authroized od {0} prelazi granice
Not permitted,nije dopušteno
Note,Primijetiti
Note User,Napomena Upute
"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.","Napomena: Backup i datoteke se ne brišu na Dropbox, morat ćete ih izbrisati ručno."
"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.","Napomena: Backup i datoteke se ne brišu na Google Drive, morat ćete ih izbrisati ručno."
Note: Due Date exceeds the allowed credit days by {0} day(s),Napomena : Zbog Datum prelazi dopuštene kreditne dane od strane {0} dan (a)
Note: Email will not be sent to disabled users,Napomena: E-mail neće biti poslan invalide
Note: Item {0} entered multiple times,Napomena : Stavka {0} upisan je više puta
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Napomena : Stupanje Plaćanje neće biti izrađen od ' Gotovina ili bankovni račun ' nije naveden
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Napomena : Sustav neće provjeravati pretjerano isporuke i više - booking za točku {0} kao količinu ili vrijednost je 0
Note: There is not enough leave balance for Leave Type {0},Napomena : Nema dovoljno ravnotežu dopust za dozvolu tipa {0}
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Napomena : Ovaj troška jegrupa . Ne mogu napraviti računovodstvenih unosa protiv skupine .
Note: {0},Napomena : {0}
Notes,Bilješke
Notes:,Bilješke :
Nothing to request,Ništa se zatražiti
Notice (days),Obavijest (dani )
Notification Control,Obavijest kontrola
Notification Email Address,Obavijest E-mail adresa
Notify by Email on creation of automatic Material Request,Obavijesti putem e-pošte na stvaranje automatskog Materijal Zahtjeva
Number Format,Broj Format
Offer Date,ponuda Datum
Office,Ured
Office Equipments,uredske opreme
Office Maintenance Expenses,Troškovi održavanja ureda
Office Rent,najam ureda
Old Parent,Stari Roditelj
On Net Total,Na Net Total
On Previous Row Amount,Na prethodnu Row visini
On Previous Row Total,Na prethodni redak Ukupno
Online Auctions,online aukcije
Only Leave Applications with status 'Approved' can be submitted,"Ostavite samo one prijave sa statusom "" Odobreno"" može se podnijeti"
"Only Serial Nos with status ""Available"" can be delivered.","Samo Serial Nos sa statusom "" dostupan "" može biti isporučena ."
Only leaf nodes are allowed in transaction,Samo leaf čvorovi su dozvoljeni u transakciji
Only the selected Leave Approver can submit this Leave Application,Samoodabrani Ostavite Odobritelj može podnijeti ovo ostaviti aplikacija
Open,Otvoreno
Open Production Orders,Otvoren Radni nalozi
Open Tickets,Otvoreni Ulaznice
Opening (Cr),Otvaranje ( Cr )
Opening (Dr),Otvaranje ( DR)
Opening Date,Otvaranje Datum
Opening Entry,Otvaranje unos
Opening Qty,Otvaranje Kol
Opening Time,Radno vrijeme
Opening Value,Otvaranje vrijednost
Opening for a Job.,Otvaranje za posao.
Operating Cost,Operativni troškovi
Operation Description,Operacija Opis
Operation No,Operacija Ne
Operation Time (mins),Operacija Vrijeme (min)
Operation {0} is repeated in Operations Table,Operacija {0} se ponavlja u operacijama tablici
Operation {0} not present in Operations Table,Operacija {0} nije prisutan u operacijama tablici
Operations,Operacije
Opportunity,Prilika
Opportunity Date,Prilika Datum
Opportunity From,Prilika Od
Opportunity Item,Prilika artikla
Opportunity Items,Prilika Proizvodi
Opportunity Lost,Prilika Izgubili
Opportunity Type,Prilika Tip
Optional. This setting will be used to filter in various transactions.,Izborni . Ova postavka će se koristiti za filtriranje u raznim transakcijama .
Order Type,Vrsta narudžbe
Order Type must be one of {0},Vrsta narudžbe mora biti jedan od {0}
Ordered,A do Ž
Ordered Items To Be Billed,Naručeni Stavke biti naplaćeno
Ordered Items To Be Delivered,Naručeni Proizvodi se dostavljaju
Ordered Qty,naredio Kol
"Ordered Qty: Quantity ordered for purchase, but not received.","Ž Kol : Količina naručiti za kupnju , ali nije dobila ."
Ordered Quantity,Količina Ž
Orders released for production.,Narudžbe objavljen za proizvodnju.
Organization Name,Naziv organizacije
Organization Profile,Organizacija Profil
Organization branch master.,Organizacija grana majstor .
Organization unit (department) master.,Organizacija jedinica ( odjela ) majstor .
Other,Drugi
Other Details,Ostali podaci
Others,drugi
Out Qty,Od kol
Out Value,Od vrijednosti
Out of AMC,Od AMC
Out of Warranty,Od jamstvo
Outgoing,Društven
Outstanding Amount,Izvanredna Iznos
Outstanding for {0} cannot be less than zero ({1}),Izvanredna za {0} ne može biti manji od nule ( {1} )
Overhead,Dometnut
Overheads,opći troškovi
Overlapping conditions found between:,Preklapanje uvjeti nalaze između :
Overview,pregled
Owned,U vlasništvu
Owner,vlasnik
P L A - Cess Portion,PLA - Posebni porez porcija
PL or BS,PL ili BS
PO Date,PO Datum
PO No,PO Nema
POP3 Mail Server,POP3 Mail Server
POP3 Mail Settings,POP3 Mail Postavke
POP3 mail server (e.g. pop.gmail.com),POP3 mail server (npr. pop.gmail.com)
POP3 server e.g. (pop.gmail.com),POP3 poslužitelj npr. (pop.gmail.com)
POS Setting,POS Podešavanje
POS Setting required to make POS Entry,POS postavke potrebne da bi POS stupanja
POS Setting {0} already created for user: {1} and company {2},POS Setting {0} već stvorena za korisnika : {1} i tvrtka {2}
POS View,POS Pogledaj
PR Detail,PR Detalj
Package Item Details,Paket Stavka Detalji
Package Items,Paket Proizvodi
Package Weight Details,Paket Težina Detalji
Packed Item,Dostava Napomena Pakiranje artikla
Packed quantity must equal quantity for Item {0} in row {1},Prepuna količina mora biti jednaka količina za točku {0} je u redu {1}
Packing Details,Pakiranje Detalji
Packing List,Pakiranje Popis
Packing Slip,Odreskom
Packing Slip Item,Odreskom predmet
Packing Slip Items,Odreskom artikle
Packing Slip(s) cancelled,Pakiranje proklizavanja ( s) otkazan
Page Break,Prijelom stranice
Page Name,Stranica Ime
Paid Amount,Plaćeni iznos
Paid amount + Write Off Amount can not be greater than Grand Total,Uplaćeni iznos + otpis iznos ne može biti veći od SVEUKUPNO
Pair,par
Parameter,Parametar
Parent Account,Roditelj račun
Parent Cost Center,Roditelj troška
Parent Customer Group,Roditelj Kupac Grupa
Parent Detail docname,Roditelj Detalj docname
Parent Item,Roditelj artikla
Parent Item Group,Roditelj artikla Grupa
Parent Item {0} must be not Stock Item and must be a Sales Item,Parent Item {0} mora biti ne Stock točka i mora bitiProdaja artikla
Parent Party Type,Matične stranke Tip
Parent Sales Person,Roditelj Prodaja Osoba
Parent Territory,Roditelj Regija
Parent Website Page,Roditelj Web Stranica
Parent Website Route,Roditelj Web Route
Parenttype,Parenttype
Part-time,Part - time
Partially Completed,Djelomično Završeni
Partly Billed,Djelomično Naplaćeno
Partly Delivered,Djelomično Isporučeno
Partner Target Detail,Partner Ciljana Detalj
Partner Type,Partner Tip
Partner's Website,Web stranica partnera
Party,Stranka
Party Account,Party račun
Party Type,Party Tip
Party Type Name,Party Vrsta Naziv
Passive,Pasivan
Passport Number,Putovnica Broj
Password,Lozinka
Pay To / Recd From,Platiti Da / RecD Od
Payable,plativ
Payables,Obveze
Payables Group,Obveze Grupa
Payment Days,Plaćanja Dana
Payment Due Date,Plaćanje Due Date
Payment Period Based On Invoice Date,Razdoblje za naplatu po Datum fakture
Payment Reconciliation,Pomirenje plaćanja
Payment Reconciliation Invoice,Pomirenje Plaćanje fakture
Payment Reconciliation Invoices,Pomirenje Plaćanje računa
Payment Reconciliation Payment,Pomirenje Plaćanje Plaćanje
Payment Reconciliation Payments,Pomirenje Plaćanje Plaćanja
Payment Type,Vrsta plaćanja
Payment cannot be made for empty cart,Plaćanje ne može biti za prazan košaricu
Payment of salary for the month {0} and year {1},Isplata plaće za mjesec {0} i godina {1}
Payments,Plaćanja
Payments Made,Uplate Izrađen
Payments Received,Uplate primljeni
Payments made during the digest period,Plaćanja tijekom razdoblja digest
Payments received during the digest period,Uplate primljene tijekom razdoblja digest
Payroll Settings,Postavke plaće
Pending,Čekanju
Pending Amount,Iznos na čekanju
Pending Items {0} updated,Tijeku stvari {0} ažurirana
Pending Review,U tijeku pregled
Pending SO Items For Purchase Request,Otvorena SO Proizvodi za zahtjev za kupnju
Pension Funds,mirovinskim fondovima
Percent Complete,Postotak Cijela
Percentage Allocation,Postotak Raspodjela
Percentage Allocation should be equal to 100%,Postotak izdvajanja trebala bi biti jednaka 100 %
Percentage variation in quantity to be allowed while receiving or delivering this item.,Postotak varijacije u količini biti dopušteno dok prima ili isporuku ovu stavku.
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.,Postotak koju smiju primiti ili isporučiti više od naručene količine. Na primjer: Ako ste naručili 100 jedinica. i tvoj ispravak je 10% onda se smiju primati 110 jedinica.
Performance appraisal.,Ocjenjivanje.
Period,razdoblje
Period Closing Voucher,Razdoblje Zatvaranje bon
Periodicity,Periodičnost
Permanent Address,Stalna adresa
Permanent Address Is,Stalna adresa je
Permission,Dopuštenje
Personal,Osobno
Personal Details,Osobni podaci
Personal Email,Osobni e
Pharmaceutical,farmaceutski
Pharmaceuticals,Lijekovi
Phone,Telefon
Phone No,Telefonski broj
Piecework,rad plaćen na akord
Pincode,Pincode
Place of Issue,Mjesto izdavanja
Plan for maintenance visits.,Plan održavanja posjeta.
Planned Qty,Planirani Kol
"Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured.","Planirano Količina : Količina , za koje , proizvodnja Red je podigao , ali je u tijeku kako bi se proizvoditi ."
Planned Quantity,Planirana količina
Planning,planiranje
Plant,Biljka
Plant and Machinery,Postrojenja i strojevi
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,Molimo unesite Skraćenica ili skraćeni naziv ispravno jer će biti dodan kao sufiks na sve računa šefova.
Please Update SMS Settings,Obnovite SMS Settings
Please add expense voucher details,Molimo dodati trošak bon pojedinosti
Please add to Modes of Payment from Setup.,Molimo dodati načina plaćanja iz programa za postavljanje.
Please check 'Is Advance' against Account {0} if this is an advance entry.,Molimo provjerite ' Je Advance ' protiv računu {0} ako je tounaprijed ulaz .
Please click on 'Generate Schedule',"Molimo kliknite na ""Generiraj raspored '"
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Molimo kliknite na ""Generiraj raspored ' dohvatiti Serial No dodao je za točku {0}"
Please click on 'Generate Schedule' to get schedule,"Molimo kliknite na ""Generiraj raspored ' kako bi dobili raspored"
Please create Customer from Lead {0},Molimo stvoriti kupac iz Olovo {0}
Please create Salary Structure for employee {0},Molimo stvoriti Plaća Struktura za zaposlenika {0}
Please create new account from Chart of Accounts.,Molimo stvoriti novi račun iz kontnog plana .
Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.,Molimo vas da ne stvaraju račun ( knjigama ) za kupce i dobavljače . Oni su stvorili izravno iz Kupac / Dobavljač majstora .
Please enter 'Expected Delivery Date',Unesite ' Očekivani datum isporuke '
Please enter 'Is Subcontracted' as Yes or No,Unesite ' Je podugovoren ' kao da ili ne
Please enter 'Repeat on Day of Month' field value,Unesite ' ponovite na dan u mjesecu ' na terenu vrijednosti
Please enter Account Receivable/Payable group in company master,Unesite račun potraživanja / naplativo skupinu u društvu gospodara
Please enter Approving Role or Approving User,Unesite Odobravanje ulogu ili Odobravanje korisnike
Please enter BOM for Item {0} at row {1},Unesite BOM za točku {0} na redu {1}
Please enter Company,Unesite tvrtke
Please enter Cost Center,Unesite troška
Please enter Delivery Note No or Sales Invoice No to proceed,Unesite otpremnica br ili prodaja Račun br postupiti
Please enter Employee Id of this sales parson,Unesite Id zaposlenika ovog prodajnog župnika
Please enter Expense Account,Unesite trošak računa
Please enter Item Code to get batch no,Unesite kod Predmeta da se hrpa nema
Please enter Item Code.,Unesite kod artikal .
Please enter Item first,Unesite predmeta prvi
Please enter Maintaince Details first,Unesite prva Maintaince Detalji
Please enter Master Name once the account is created.,Unesite Master ime jednomračunu je stvorio .
Please enter Planned Qty for Item {0} at row {1},Unesite Planirano Qty za točku {0} na redu {1}
Please enter Production Item first,Unesite Proizvodnja predmeta prvi
Please enter Purchase Receipt No to proceed,Unesite kupiti primitka No za nastavak
Please enter Reference date,Unesite Referentni datum
Please enter Warehouse for which Material Request will be raised,Unesite skladište za koje Materijal Zahtjev će biti podignuta
Please enter Write Off Account,Unesite otpis račun
Please enter atleast 1 invoice in the table,Unesite atleast jedan račun u tablici
Please enter company first,Unesite tvrtka prva
Please enter company name first,Unesite ime tvrtke prvi
Please enter default Unit of Measure,Unesite zadanu jedinicu mjere
Please enter default currency in Company Master,Unesite zadanu valutu u tvrtki Master
Please enter email address,Molimo unesite e-mail adresu
Please enter item details,Unesite Detalji
Please enter message before sending,Unesite poruku prije slanja
Please enter parent account group for warehouse account,Unesite skupinu roditeljskog računa za skladišta obzir
Please enter parent cost center,Unesite roditelj troška
Please enter quantity for Item {0},Molimo unesite količinu za točku {0}
Please enter relieving date.,Unesite olakšavanja datum .
Please enter sales order in the above table,Unesite prodajnog naloga u gornjoj tablici
Please enter valid Company Email,Unesite ispravnu tvrtke E-mail
Please enter valid Email Id,Unesite ispravnu e-mail ID
Please enter valid Personal Email,Unesite važeću osobnu e-mail
Please enter valid mobile nos,Unesite valjane mobilne br
Please find attached Sales Invoice #{0},U prilogu Prodaja Račun # {0}
Please install dropbox python module,Molimo instalirajte Dropbox piton modul
Please mention no of visits required,Molimo spomenuti nema posjeta potrebnih
Please pull items from Delivery Note,Molimo povucite stavke iz Dostavnica
Please save the Newsletter before sending,Molimo spremite Newsletter prije slanja
Please save the document before generating maintenance schedule,Molimo spremite dokument prije stvaranja raspored za održavanje
Please see attachment,Pogledajte prilog
Please select Bank Account,Odaberite bankovni račun
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Molimo odaberite prenositi ako želite uključiti prethodnoj fiskalnoj godini je ravnoteža ostavlja na ovoj fiskalnoj godini
Please select Category first,Molimo odaberite kategoriju prvi
Please select Charge Type first,Odaberite Naknada za prvi
Please select Fiscal Year,Odaberite Fiskalna godina
Please select Group or Ledger value,Odaberite vrijednost grupi ili Ledger
Please select Incharge Person's name,Odaberite incharge ime osobe
Please select Invoice Type and Invoice Number in atleast one row,Odaberite fakture Vid i broj računa u atleast jednom redu
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM","Odaberite stavku u kojoj "" Je Stock Stavka "" je ""ne "" i "" Je Prodaja Stavka "" je "" Da "" i ne postoji drugi Prodaja BOM"
Please select Price List,Molimo odaberite Cjenik
Please select Start Date and End Date for Item {0},Molimo odaberite datum početka i datum završetka za točke {0}
Please select Time Logs.,Odaberite vrijeme Evidencije.
Please select a csv file,Odaberite CSV datoteku
Please select a valid csv file with data,Odaberite valjanu CSV datoteku s podacima
Please select a value for {0} quotation_to {1},Molimo odabir vrijednosti za {0} quotation_to {1}
"Please select an ""Image"" first","Molimo odaberite ""Slika"" Prvi"
Please select charge type first,Odaberite vrstu naboja prvi
Please select company first,Odaberite tvrtku prvi
Please select company first.,Odaberite tvrtku prvi.
Please select item code,Odaberite Šifra
Please select month and year,Molimo odaberite mjesec i godinu
Please select prefix first,Odaberite prefiks prvi
Please select the document type first,Molimo odaberite vrstu dokumenta prvi
Please select weekly off day,Odaberite tjednik off dan
Please select {0},Odaberite {0}
Please select {0} first,Odaberite {0} Prvi
Please select {0} first.,Odaberite {0} na prvom mjestu.
Please set Dropbox access keys in your site config,Molimo postaviti Dropbox pristupnih tipki u vašem web config
Please set Google Drive access keys in {0},Molimo postaviti Google Drive pristupnih tipki u {0}
Please set default Cash or Bank account in Mode of Payment {0},Molimo postavite zadanu gotovinom ili banka računa u načinu plaćanja {0}
Please set default value {0} in Company {0},Molimo postavite zadanu vrijednost {0} u Društvu {0}
Please set {0},Molimo postavite {0}
Please setup Employee Naming System in Human Resource > HR Settings,Molimo postavljanje zaposlenika sustav imenovanja u ljudskim resursima&gt; HR Postavke
Please setup numbering series for Attendance via Setup > Numbering Series,Molimo postava numeriranje serija za sudjelovanje putem Podešavanje> numeriranja serije
Please setup your chart of accounts before you start Accounting Entries,Molim postaviti svoj kontni plan prije nego što počnete računovodstvenih unosa
Please specify,Navedite
Please specify Company,Navedite tvrtke
Please specify Company to proceed,Navedite Tvrtka postupiti
Please specify Default Currency in Company Master and Global Defaults,Navedite zadanu valutu u tvrtki Global Master i zadane
Please specify a,Navedite
Please specify a valid 'From Case No.',Navedite važeću &#39;iz Predmet br&#39;
Please specify a valid Row ID for {0} in row {1},Navedite valjanu Row ID za {0} je u redu {1}
Please specify either Quantity or Valuation Rate or both,Navedite ili količini ili vrednovanja Ocijenite ili oboje
Please submit to update Leave Balance.,Molimo dostaviti ažurirati napuste balans .
Plot,zemljište
Plot By,zemljište By
Point of Sale,Point of Sale
Point-of-Sale Setting,Point-of-Sale Podešavanje
Post Graduate,Post diplomski
Postal,Poštanski
Postal Expenses,Poštanski troškovi
Posting Date,Objavljivanje Datum
Posting Time,Objavljivanje Vrijeme
Posting date and posting time is mandatory,Datum knjiženja i knjiženje vrijeme je obvezna
Posting timestamp must be after {0},Objavljivanje timestamp mora biti poslije {0}
Potential opportunities for selling.,Potencijalni mogućnosti za prodaju.
Preferred Billing Address,Željena adresa za naplatu
Preferred Shipping Address,Željena Dostava Adresa
Prefix,Prefiks
Present,Sadašnje
Prevdoc DocType,Prevdoc DOCTYPE
Prevdoc Doctype,Prevdoc DOCTYPE
Preview,Pregled
Previous,prijašnji
Previous Work Experience,Radnog iskustva
Price,cijena
Price / Discount,Cijena / Popust
Price List,Cjenik
Price List Currency,Cjenik valuta
Price List Currency not selected,Cjenik valuta ne bira
Price List Exchange Rate,Cjenik tečajna
Price List Name,Cjenik Ime
Price List Rate,Cjenik Stopa
Price List Rate (Company Currency),Cjenik stopa (Društvo valuta)
Price List master.,Cjenik majstor .
Price List must be applicable for Buying or Selling,Cjenik mora biti primjenjiv za kupnju ili prodaju
Price List not selected,Popis Cijena ne bira
Price List {0} is disabled,Cjenik {0} je onemogućen
Price or Discount,Cijena i popust
Pricing Rule,cijene Pravilo
Pricing Rule Help,Cijene Pravilo Pomoć
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Cijene Pravilo prvo se bira na temelju 'Nanesite na' terenu, koji može biti točka, točka Grupa ili Brand."
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Cijene Pravilo je napravljen prebrisati Cjenik / definirati postotak popusta, na temelju nekih kriterija."
Pricing Rules are further filtered based on quantity.,Pravilnik o određivanju cijena dodatno se filtrira na temelju količine.
Print Format Style,Print Format Style
Print Heading,Ispis Naslov
Print Without Amount,Ispis Bez visini
Print and Stationary,Ispis i stacionarnih
Printing and Branding,Tiskanje i Branding
Priority,Prioritet
Private Equity,Private Equity
Privilege Leave,Privilege dopust
Probation,probni rad
Process Payroll,Proces plaće
Produced,izrađen
Produced Quantity,Proizveden Količina
Product Enquiry,Na upit
Production,proizvodnja
Production Order,Proizvodnja Red
Production Order status is {0},Status radnog naloga je {0}
Production Order {0} must be cancelled before cancelling this Sales Order,Proizvodnja Red {0} mora biti otkazana prije poništenja ovu prodajnog naloga
Production Order {0} must be submitted,Proizvodnja Red {0} mora biti podnesen
Production Orders,Nalozi
Production Orders in Progress,Radni nalozi u tijeku
Production Plan Item,Proizvodnja plan artikla
Production Plan Items,Plan proizvodnje Proizvodi
Production Plan Sales Order,Proizvodnja plan prodajnog naloga
Production Plan Sales Orders,Plan proizvodnje narudžbe
Production Planning Tool,Planiranje proizvodnje alat
Products,Proizvodi
"Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.","Proizvodi će biti razvrstani po težine dobi u zadane pretraživanja. Više težina-dob, veća proizvod će se pojaviti na popisu."
Professional Tax,Stručni Porezni
Profit and Loss,Račun dobiti i gubitka
Profit and Loss Statement,Račun dobiti i gubitka
Project,Projekt
Project Costing,Projekt Costing
Project Details,Projekt Detalji
Project Manager,Voditelj projekta
Project Milestone,Projekt Prekretnica
Project Milestones,Projekt Dostignuća
Project Name,Naziv projekta
Project Start Date,Projekt datum početka
Project Type,Vrsta projekta
Project Value,Projekt Vrijednost
Project activity / task.,Projekt aktivnost / zadatak.
Project master.,Projekt majstor.
Project will get saved and will be searchable with project name given,Projekt će biti spašen i da će se moći pretraživati ​​s projektom ime dano
Project wise Stock Tracking,Projekt mudar Stock Praćenje
Project-wise data is not available for Quotation,Projekt - mudar podaci nisu dostupni za ponudu
Projected,projektiran
Projected Qty,Predviđen Kol
Projects,Projekti
Projects & System,Projekti i sustav
Prompt for Email on Submission of,Pitaj za e-poštu na podnošenje
Proposal Writing,Pisanje prijedlog
Provide email id registered in company,Osigurati e id registriran u tvrtki
Provisional Profit / Loss (Credit),Privremeni dobit / gubitak (Credit)
Public,Javni
Published on website at: {0},Objavljeni na web stranici: {0}
Publishing,objavljivanje
Pull sales orders (pending to deliver) based on the above criteria,Povucite prodajne naloge (na čekanju za isporuku) na temelju navedenih kriterija
Purchase,Kupiti
Purchase / Manufacture Details,Kupnja / Proizvodnja Detalji
Purchase Analytics,Kupnja Analytics
Purchase Common,Kupnja Zajednička
Purchase Details,Kupnja Detalji
Purchase Discounts,Kupnja Popusti
Purchase Invoice,Kupnja fakture
Purchase Invoice Advance,Kupnja fakture Predujam
Purchase Invoice Advances,Kupnja fakture Napredak
Purchase Invoice Item,Kupnja fakture predmet
Purchase Invoice Trends,Trendovi kupnje proizvoda
Purchase Invoice {0} is already submitted,Kupnja Račun {0} već je podnijela
Purchase Order,Narudžbenica
Purchase Order Item,Narudžbenica predmet
Purchase Order Item No,Narudžbenica Br.
Purchase Order Item Supplied,Narudžbenica artikla Isporuka
Purchase Order Items,Narudžbenica artikle
Purchase Order Items Supplied,Narudžbenica Proizvodi Isporuka
Purchase Order Items To Be Billed,Narudžbenica Proizvodi se naplaćuje
Purchase Order Items To Be Received,Narudžbenica Proizvodi treba primiti
Purchase Order Message,Narudžbenica poruku
Purchase Order Required,Narudžbenica Obvezno
Purchase Order Trends,Narudžbenica trendovi
Purchase Order number required for Item {0},Broj narudžbenice potrebne za točku {0}
Purchase Order {0} is 'Stopped',Narudžbenica {0} je ' Zaustavljen '
Purchase Order {0} is not submitted,Narudžbenicu {0} nije podnesen
Purchase Orders given to Suppliers.,Kupnja naloge koje je dao dobavljače.
Purchase Receipt,Račun kupnje
Purchase Receipt Item,Kupnja Potvrda predmet
Purchase Receipt Item Supplied,Kupnja Prijem artikla Isporuka
Purchase Receipt Item Supplieds,Kupnja Supplieds Stavka primitka
Purchase Receipt Items,Kupnja primitka artikle
Purchase Receipt Message,Kupnja Potvrda poruku
Purchase Receipt No,Račun kupnje Ne
Purchase Receipt Required,Kupnja Potvrda Obvezno
Purchase Receipt Trends,Račun kupnje trendovi
Purchase Receipt number required for Item {0},Račun kupnje broj potreban za točku {0}
Purchase Receipt {0} is not submitted,Račun kupnje {0} nije podnesen
Purchase Register,Kupnja Registracija
Purchase Return,Kupnja Povratak
Purchase Returned,Kupnja Vraćeno
Purchase Taxes and Charges,Kupnja Porezi i naknade
Purchase Taxes and Charges Master,Kupnja Porezi i naknade Master
Purchse Order number required for Item {0},Broj Purchse Order potrebno za točke {0}
Purpose,Svrha
Purpose must be one of {0},Svrha mora biti jedan od {0}
QA Inspection,QA Inspekcija
Qty,Kol
Qty Consumed Per Unit,Kol Potrošeno po jedinici
Qty To Manufacture,Količina za proizvodnju
Qty as per Stock UOM,Količina po burzi UOM
Qty to Deliver,Količina za dovođenje
Qty to Order,Količina za narudžbu
Qty to Receive,Količina za primanje
Qty to Transfer,Količina za prijenos
Qualification,Kvalifikacija
Quality,Kvalitet
Quality Inspection,Provera kvaliteta
Quality Inspection Parameters,Inspekcija kvalitete Parametri
Quality Inspection Reading,Kvaliteta Inspekcija čitanje
Quality Inspection Readings,Inspekcija kvalitete Čitanja
Quality Inspection required for Item {0},Provera kvaliteta potrebna za točke {0}
Quality Management,upravljanja kvalitetom
Quantity,Količina
Quantity Requested for Purchase,Količina Traženi za kupnju
Quantity and Rate,Količina i stopa
Quantity and Warehouse,Količina i skladišta
Quantity cannot be a fraction in row {0},Količina ne može bitidio u redu {0}
Quantity for Item {0} must be less than {1},Količina za točku {0} mora biti manji od {1}
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Količina u redu {0} ( {1} ) mora biti isti kao proizvedena količina {2}
Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Količina predmeta dobije nakon proizvodnju / pakiranje od navedenih količina sirovina
Quantity required for Item {0} in row {1},Količina potrebna za točke {0} je u redu {1}
Quarter,Četvrtina
Quarterly,Tromjesečni
Quick Help,Brza pomoć
Quotation,Citat
Quotation Item,Citat artikla
Quotation Items,Kotaciji Proizvodi
Quotation Lost Reason,Citat Izgubili razlog
Quotation Message,Citat Poruka
Quotation To,Ponuda za
Quotation Trends,Citati trendovi
Quotation {0} is cancelled,Kotacija {0} je otkazan
Quotation {0} not of type {1},Kotacija {0} nije tipa {1}
Quotations received from Suppliers.,Citati dobio od dobavljače.
Quotes to Leads or Customers.,Citati na vodi ili kupaca.
Raise Material Request when stock reaches re-order level,Podignite Materijal Zahtjev kad dionica dosegne ponovno poredak razinu
Raised By,Povišena Do
Raised By (Email),Povišena Do (e)
Random,Slučajan
Range,Domet
Rate,Stopa
Rate ,Stopa
Rate (%),Stopa ( % )
Rate (Company Currency),Ocijeni (Društvo valuta)
Rate Of Materials Based On,Stopa materijali na temelju
Rate and Amount,Kamatna stopa i iznos
Rate at which Customer Currency is converted to customer's base currency,Stopa po kojoj Kupac valuta se pretvaraju u kupca osnovne valute
Rate at which Price list currency is converted to company's base currency,Stopa po kojoj Cjenik valute se pretvaraju u tvrtke bazne valute
Rate at which Price list currency is converted to customer's base currency,Stopa po kojoj Cjenik valute se pretvaraju u kupca osnovne valute
Rate at which customer's currency is converted to company's base currency,Stopa po kojoj se valuta klijenta se pretvaraju u tvrtke bazne valute
Rate at which supplier's currency is converted to company's base currency,Stopa po kojoj supplier valuta se pretvaraju u tvrtke bazne valute
Rate at which this tax is applied,Stopa po kojoj je taj porez se primjenjuje
Raw Material,sirovine
Raw Material Item Code,Sirovine Stavka Šifra
Raw Materials Supplied,Sirovine nabavlja
Raw Materials Supplied Cost,Sirovine Isporuka Troškovi
Raw material cannot be same as main Item,Sirovina ne mogu biti isti kao glavni predmet
Re-Order Level,Re-Order Razina
Re-Order Qty,Re-Order Kol
Re-order,Ponovno bi
Re-order Level,Ponovno bi Razina
Re-order Qty,Ponovno bi Kol
Read,Čitati
Reading 1,Čitanje 1
Reading 10,Čitanje 10
Reading 2,Čitanje 2
Reading 3,Čitanje 3
Reading 4,Čitanje 4
Reading 5,Čitanje 5
Reading 6,Čitanje 6
Reading 7,Čitanje 7
Reading 8,Čitanje 8
Reading 9,Čitanje 9
Real Estate,Nekretnine
Reason,Razlog
Reason for Leaving,Razlog za odlazak
Reason for Resignation,Razlog za ostavku
Reason for losing,Razlog za gubljenje
Recd Quantity,RecD Količina
Receivable,potraživanja
Receivable / Payable account will be identified based on the field Master Type,Potraživanja / obveze prema dobavljačima račun će se utvrditi na temelju vrsti terenu Master
Receivables,Potraživanja
Receivables / Payables,Potraživanja / obveze
Receivables Group,Potraživanja Grupa
Received Date,Datum pozicija
Received Items To Be Billed,Primljeni Proizvodi se naplaćuje
Received Qty,Pozicija Kol
Received and Accepted,Primljeni i prihvaćeni
Receiver List,Prijemnik Popis
Receiver List is empty. Please create Receiver List,Receiver Lista je prazna . Molimo stvoriti Receiver Popis
Receiver Parameter,Prijemnik parametra
Recipients,Primatelji
Reconcile,pomiriti
Reconciliation Data,Pomirenje podataka
Reconciliation HTML,Pomirenje HTML
Reconciliation JSON,Pomirenje JSON
Record item movement.,Zabilježite stavku pokret.
Recurring Id,Ponavljajući Id
Recurring Invoice,Ponavljajući Račun
Recurring Type,Ponavljajući Tip
Reduce Deduction for Leave Without Pay (LWP),Smanjite odbitak za ostaviti bez plaća (lwp)
Reduce Earning for Leave Without Pay (LWP),Smanjenje plaća za ostaviti bez plaće (lwp)
Ref,Ref.
Ref Code,Ref. Šifra
Ref SQ,Ref. SQ
Reference,Upućivanje
Reference #{0} dated {1},Reference # {0} od {1}
Reference Date,Referentni datum
Reference Name,Referenca Ime
Reference No & Reference Date is required for {0},Reference Nema & Reference Datum je potrebno za {0}
Reference No is mandatory if you entered Reference Date,Reference Ne obvezno ako ušao referentnog datuma
Reference Number,Referentni broj
Reference Row #,Reference Row #
Refresh,Osvježiti
Registration Details,Registracija Brodu
Registration Info,Registracija Info
Rejected,Odbijen
Rejected Quantity,Odbijen Količina
Rejected Serial No,Odbijen Serijski br
Rejected Warehouse,Odbijen galerija
Rejected Warehouse is mandatory against regected item,Odbijen Skladište je obavezno protiv regected stavku
Relation,Odnos
Relieving Date,Rasterećenje Datum
Relieving Date must be greater than Date of Joining,Olakšavanja Datum mora biti veći od dana ulaska u
Remark,Primjedba
Remarks,Primjedbe
Remarks Custom,Primjedbe Custom
Rename,preimenovati
Rename Log,Preimenovanje Prijavite
Rename Tool,Preimenovanje alat
Rent Cost,Rent cost
Rent per hour,Najam po satu
Rented,Iznajmljuje
Repeat on Day of Month,Ponovite na dan u mjesecu
Replace,Zamijeniti
Replace Item / BOM in all BOMs,Zamijenite predmet / BOM u svim sastavnicama
Replied,Odgovorio
Report Date,Prijavi Datum
Report Type,Prijavi Vid
Report Type is mandatory,Vrsta izvješća je obvezno
Reports to,Izvješća
Reqd By Date,Reqd Po datumu
Reqd by Date,Reqd po datumu
Request Type,Zahtjev Tip
Request for Information,Zahtjev za informacije
Request for purchase.,Zahtjev za kupnju.
Requested,Tražena
Requested For,Traženi Za
Requested Items To Be Ordered,Traženi Proizvodi se mogu naručiti
Requested Items To Be Transferred,Traženi stavki za prijenos
Requested Qty,Traženi Kol
"Requested Qty: Quantity requested for purchase, but not ordered.","Tražena količina : Količina zatražio za kupnju , ali ne i naređeno ."
Requests for items.,Zahtjevi za stavke.
Required By,Potrebna Do
Required Date,Potrebna Datum
Required Qty,Potrebna Kol
Required only for sample item.,Potrebna je samo za primjer stavke.
Required raw materials issued to the supplier for producing a sub - contracted item.,Potrebna sirovina izdane dobavljač za proizvodnju pod - ugovoreni predmet.
Research,istraživanje
Research & Development,Istraživanje i razvoj
Researcher,istraživač
Reseller,Prodavač
Reserved,Rezervirano
Reserved Qty,Rezervirano Kol
"Reserved Qty: Quantity ordered for sale, but not delivered.","Rezervirano Količina : Količina naručiti za prodaju , ali nije dostavljena ."
Reserved Quantity,Rezervirano Količina
Reserved Warehouse,Rezervirano galerija
Reserved Warehouse in Sales Order / Finished Goods Warehouse,Rezervirano Warehouse u prodajni nalog / skladišta gotovih proizvoda
Reserved Warehouse is missing in Sales Order,Rezervirano Warehouse nedostaje u prodajni nalog
Reserved Warehouse required for stock Item {0} in row {1},Rezervirana Skladište potrebno za dionice točke {0} u redu {1}
Reserved warehouse required for stock item {0},Rezervirana skladište potrebno za dionice predmet {0}
Reserves and Surplus,Pričuve i višak
Reset Filters,Reset Filteri
Resignation Letter Date,Ostavka Pismo Datum
Resolution,Rezolucija
Resolution Date,Rezolucija Datum
Resolution Details,Rezolucija o Brodu
Resolved By,Riješen Do
Rest Of The World,Ostatak svijeta
Retail,Maloprodaja
Retail & Wholesale,Trgovina na veliko i
Retailer,Prodavač na malo
Review Date,Recenzija Datum
Rgt,Ustaša
Role Allowed to edit frozen stock,Uloga dopuštenih urediti smrznute zalihe
Role that is allowed to submit transactions that exceed credit limits set.,Uloga koja je dopušteno podnijeti transakcije koje premašuju kreditnih ograničenja postavljena.
Root Type,korijen Tip
Root Type is mandatory,Korijen Tip je obvezno
Root account can not be deleted,Korijen račun ne može biti izbrisan
Root cannot be edited.,Korijen ne može se mijenjati .
Root cannot have a parent cost center,Korijen ne mogu imati središte troškova roditelj
Rounded Off,zaokružen
Rounded Total,Zaobljeni Ukupno
Rounded Total (Company Currency),Zaobljeni Ukupno (Društvo valuta)
Row # ,Redak #
Row # {0}: ,
Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,Row # {0}: Ž Količina ne može manje od stavke minimalne narudžbe kom (definiranom u točki gospodara).
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Navedite rednim brojem predmeta za {1}
Row {0}: Account does not match with \						Purchase Invoice Credit To account,Red {0}: račun ne odgovara \ Kupnja Račun kredit za račun
Row {0}: Account does not match with \						Sales Invoice Debit To account,Red {0}: račun ne odgovara \ Prodaja Račun terećenja na računu
Row {0}: Conversion Factor is mandatory,Red {0}: pretvorbe Factor je obvezno
Row {0}: Credit entry can not be linked with a Purchase Invoice,Red {0} : Kreditni unos ne može biti povezan s kupnje proizvoda
Row {0}: Debit entry can not be linked with a Sales Invoice,Red {0} : debitne unos ne može biti povezan s prodaje fakture
Row {0}: Payment amount must be less than or equals to invoice outstanding amount. Please refer Note below.,Red {0}: Iznos uplate mora biti manji ili jednak da računa preostali iznos. Pogledajte Napomena nastavku.
Row {0}: Qty is mandatory,Red {0}: Količina je obvezno
"Row {0}: Qty not avalable in warehouse {1} on {2} {3}.					Available Qty: {4}, Transfer Qty: {5}","Red {0}: Kol ne stavi na raspolaganje u skladištu {1} na {2} {3}. Dostupan Količina: {4}, prijenos Kol: {5}"
"Row {0}: To set {1} periodicity, difference between from and to date \						must be greater than or equal to {2}","Red {0}: Za postavljanje {1} periodičnost, razlika između od i do sada \ mora biti veći ili jednak {2}"
Row {0}:Start Date must be before End Date,Red {0} : Datum početka mora biti prije datuma završetka
Rules for adding shipping costs.,Pravila za dodavanjem troškove prijevoza .
Rules for applying pricing and discount.,Pravila za primjenu cijene i popust .
Rules to calculate shipping amount for a sale,Pravila za izračun shipping iznos za prodaju
S.O. No.,S.O. Ne.
SHE Cess on Excise,ONA procesni o akcizama
SHE Cess on Service Tax,ONA procesni na usluga poreza
SHE Cess on TDS,ONA procesni na TDS
SMS Center,SMS centar
SMS Gateway URL,SMS Gateway URL
SMS Log,SMS Prijava
SMS Parameter,SMS parametra
SMS Sender Name,SMS Sender Ime
SMS Settings,Postavke SMS
SO Date,SO Datum
SO Pending Qty,SO čekanju Kol
SO Qty,SO Kol
Salary,Plata
Salary Information,Plaća informacije
Salary Manager,Plaća Manager
Salary Mode,Plaća način
Salary Slip,Plaća proklizavanja
Salary Slip Deduction,Plaća proklizavanja Odbitak
Salary Slip Earning,Plaća proklizavanja Zarada
Salary Slip of employee {0} already created for this month,Plaća Slip zaposlenika {0} već stvorena za ovaj mjesec
Salary Structure,Plaća Struktura
Salary Structure Deduction,Plaća Struktura Odbitak
Salary Structure Earning,Plaća Struktura Zarada
Salary Structure Earnings,Plaća Struktura Zarada
Salary breakup based on Earning and Deduction.,Plaća raspada temelju zarađivati ​​i odbitka.
Salary components.,Plaća komponente.
Salary template master.,Plaća predložak majstor .
Sales,Prodajni
Sales Analytics,Prodaja Analitika
Sales BOM,Prodaja BOM
Sales BOM Help,Prodaja BOM Pomoć
Sales BOM Item,Prodaja BOM artikla
Sales BOM Items,Prodaja BOM Proizvodi
Sales Browser,prodaja preglednik
Sales Details,Prodaja Detalji
Sales Discounts,Prodaja Popusti
Sales Email Settings,Prodaja Postavke e-pošte
Sales Expenses,Prodajni troškovi
Sales Extras,Prodaja Dodaci
Sales Funnel,prodaja dimnjak
Sales Invoice,Prodaja fakture
Sales Invoice Advance,Prodaja Račun Predujam
Sales Invoice Item,Prodaja Račun artikla
Sales Invoice Items,Prodaja stavke računa
Sales Invoice Message,Prodaja Račun Poruka
Sales Invoice No,Prodaja Račun br
Sales Invoice Trends,Prodaja Račun trendovi
Sales Invoice {0} has already been submitted,Prodaja Račun {0} već je poslan
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Prodaja Račun {0} mora biti otkazana prije poništenja ovu prodajnog naloga
Sales Order,Prodajnog naloga
Sales Order Date,Prodaja Datum narudžbe
Sales Order Item,Prodajnog naloga artikla
Sales Order Items,Prodaja Narudžbe Proizvodi
Sales Order Message,Prodajnog naloga Poruka
Sales Order No,Prodajnog naloga Ne
Sales Order Required,Prodajnog naloga Obvezno
Sales Order Trends,Prodajnog naloga trendovi
Sales Order required for Item {0},Prodajnog naloga potrebna za točke {0}
Sales Order {0} is not submitted,Prodajnog naloga {0} nije podnesen
Sales Order {0} is not valid,Prodajnog naloga {0} nije ispravan
Sales Order {0} is stopped,Prodajnog naloga {0} je zaustavljen
Sales Partner,Prodaja partner
Sales Partner Name,Prodaja Ime partnera
Sales Partner Target,Prodaja partner Target
Sales Partners Commission,Prodaja Partneri komisija
Sales Person,Prodaja Osoba
Sales Person Name,Prodaja Osoba Ime
Sales Person Target Variance Item Group-Wise,Prodaja Osoba Target varijance artikla Group - Wise
Sales Person Targets,Prodaje osobi Mete
Sales Person-wise Transaction Summary,Prodaja Osobne mudar Transakcija Sažetak
Sales Register,Prodaja Registracija
Sales Return,Prodaje Povratak
Sales Returned,prodaja Vraćeno
Sales Taxes and Charges,Prodaja Porezi i naknade
Sales Taxes and Charges Master,Prodaja Porezi i naknade Master
Sales Team,Prodaja Team
Sales Team Details,Prodaja Team Detalji
Sales Team1,Prodaja Team1
Sales and Purchase,Prodaja i kupnja
Sales campaigns.,Prodaja kampanje .
Salutation,Pozdrav
Sample Size,Veličina uzorka
Sanctioned Amount,Iznos kažnjeni
Saturday,Subota
Schedule,Raspored
Schedule Date,Raspored Datum
Schedule Details,Raspored Detalji
Scheduled,Planiran
Scheduled Date,Planirano Datum
Scheduled to send to {0},Planirano za slanje na {0}
Scheduled to send to {0} recipients,Planirano za slanje na {0} primatelja
Scheduler Failed Events,Raspored događanja Neuspjeli
School/University,Škola / Sveučilište
Score (0-5),Ocjena (0-5)
Score Earned,Ocjena Zarađeni
Score must be less than or equal to 5,Rezultat mora biti manja od ili jednaka 5
Scrap %,Otpad%
Seasonality for setting budgets.,Sezonalnost za postavljanje proračuna.
Secretary,tajnica
Secured Loans,osigurani krediti
Securities & Commodity Exchanges,Vrijednosni papiri i robne razmjene
Securities and Deposits,Vrijednosni papiri i depoziti
"See ""Rate Of Materials Based On"" in Costing Section",Pogledajte &quot;stopa materijali na temelju troškova&quot; u odjeljak
"Select ""Yes"" for sub - contracting items",Odaberite &quot;Da&quot; za pod - ugovorne stavke
"Select ""Yes"" if this item is used for some internal purpose in your company.",Odaberite &quot;Da&quot; ako ova stavka se koristi za neke unutarnje potrebe u vašoj tvrtki.
"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Odaberite &quot;Da&quot; ako ova stavka predstavlja neki posao poput treninga, projektiranje, konzalting i sl."
"Select ""Yes"" if you are maintaining stock of this item in your Inventory.",Odaberite &quot;Da&quot; ako ste održavanju zaliha ove točke u vašem inventaru.
"Select ""Yes"" if you supply raw materials to your supplier to manufacture this item.",Odaberite &quot;Da&quot; ako opskrbu sirovina na svoj dobavljača za proizvodnju ovu stavku.
Select Brand...,Odaberite Marka ...
Select Budget Distribution to unevenly distribute targets across months.,Odaberite Budget distribuciju neravnomjerno raspodijeliti ciljeve diljem mjeseci.
"Select Budget Distribution, if you want to track based on seasonality.","Odaberite Budget Distribution, ako želite pratiti na temelju sezonalnosti."
Select Company...,Odaberite tvrtku ...
Select DocType,Odaberite DOCTYPE
Select Fiscal Year...,Odaberite Fiskalna godina ...
Select Items,Odaberite stavke
Select Project...,Odaberite projekt ...
Select Purchase Receipts,Odaberite Kupnja priznanica
Select Sales Orders,Odaberite narudžbe
Select Sales Orders from which you want to create Production Orders.,Odaberite narudžbe iz koje želite stvoriti radne naloge.
Select Time Logs and Submit to create a new Sales Invoice.,Odaberite vrijeme Evidencije i slanje stvoriti novi prodajni fakture.
Select Transaction,Odaberite transakcija
Select Warehouse...,Odaberite Warehouse ...
Select Your Language,Odaberite svoj jezik
Select account head of the bank where cheque was deposited.,Odaberite račun šefa banke gdje je ček bio pohranjen.
Select company name first.,Odaberite naziv tvrtke prvi.
Select template from which you want to get the Goals,Odaberite predložak s kojeg želite dobiti ciljeva
Select the Employee for whom you are creating the Appraisal.,Odaberite zaposlenika za koga se stvara procjene.
Select the period when the invoice will be generated automatically,Odaberite razdoblje kada faktura će biti generiran automatski
Select the relevant company name if you have multiple companies,Odaberite odgovarajući naziv tvrtke ako imate više tvrtki
Select the relevant company name if you have multiple companies.,Odaberite odgovarajući naziv tvrtke ako imate više tvrtki.
Select who you want to send this newsletter to,Odaberite koji želite poslati ovu newsletter
Select your home country and check the timezone and currency.,Odaberite svoju domovinu i provjerite zonu i valutu .
"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","Odabir &quot;Da&quot; omogućit će ovu stavku da se pojavi u narudžbenice, Otkup primitka."
"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","Odabir &quot;Da&quot; omogućit će ovaj predmet shvatiti u prodajni nalog, otpremnici"
"Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.",Odabir &quot;Da&quot; će vam omogućiti da stvorite Bill materijala pokazuje sirovina i operativne troškove nastale za proizvodnju ovu stavku.
"Selecting ""Yes"" will allow you to make a Production Order for this item.",Odabir &quot;Da&quot; će vam omogućiti da napravite proizvodnom nalogu za tu stavku.
"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.",Odabir &quot;Da&quot; će dati jedinstveni identitet svakog entiteta ove točke koja se može vidjeti u rednim brojem učitelja.
Selling,Prodaja
Selling Settings,Prodaja postavki
"Selling must be checked, if Applicable For is selected as {0}","Prodaje se mora provjeriti, ako je primjenjivo za odabrano kao {0}"
Send,Poslati
Send Autoreply,Pošalji Automatski
Send Email,Pošaljite e-poštu
Send From,Pošalji Iz
Send Notifications To,Slanje obavijesti
Send Now,Pošalji odmah
Send SMS,Pošalji SMS
Send To,Pošalji
Send To Type,Pošalji Upišite
Send mass SMS to your contacts,Pošalji masovne SMS svojim kontaktima
Send to this list,Pošalji na ovom popisu
Sender Name,Pošiljatelj Ime
Sent On,Poslan Na
Separate production order will be created for each finished good item.,Poseban proizvodnja kako će biti izrađen za svakog gotovog dobrom stavke.
Serial No,Serijski br
Serial No / Batch,Serijski Ne / Batch
Serial No Details,Serijski nema podataka
Serial No Service Contract Expiry,Serijski Bez isteka Ugovor o pružanju usluga
Serial No Status,Serijski Bez Status
Serial No Warranty Expiry,Serijski Nema jamstva isteka
Serial No is mandatory for Item {0},Serijski Nema je obvezna za točke {0}
Serial No {0} created,Serijski Ne {0} stvorio
Serial No {0} does not belong to Delivery Note {1},Serijski Ne {0} ne pripada isporuke Napomena {1}
Serial No {0} does not belong to Item {1},Serijski Ne {0} ne pripada točki {1}
Serial No {0} does not belong to Warehouse {1},Serijski Ne {0} ne pripada Warehouse {1}
Serial No {0} does not exist,Serijski Ne {0} ne postoji
Serial No {0} has already been received,Serijski Ne {0} već je primila
Serial No {0} is under maintenance contract upto {1},Serijski Ne {0} je pod ugovorom za održavanje upto {1}
Serial No {0} is under warranty upto {1},Serijski Ne {0} je pod jamstvom upto {1}
Serial No {0} not in stock,Serijski Ne {0} nije u dioničko
Serial No {0} quantity {1} cannot be a fraction,Serijski Ne {0} {1} količina ne može bitidio
Serial No {0} status must be 'Available' to Deliver,Serijski Ne {0} status mora biti ' dostupna' za dovođenje
Serial Nos Required for Serialized Item {0},Serijski Nos potrebna za serijaliziranom točke {0}
Serial Number Series,Serijski broj serije
Serial number {0} entered more than once,Serijski broj {0} ušao više puta
Serialized Item {0} cannot be updated \					using Stock Reconciliation,Serijaliziranom Stavka {0} ne može biti obnovljeno \ korištenjem Stock pomirenja
Series,serija
Series List for this Transaction,Serija Popis za ovu transakciju
Series Updated,Serija Updated
Series Updated Successfully,Serija Updated uspješno
Series is mandatory,Serija je obvezno
Series {0} already used in {1},Serija {0} već koristi u {1}
Service,usluga
Service Address,Usluga Adresa
Service Tax,Usluga Porezne
Services,Usluge
Set,set
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Zadane vrijednosti kao što su tvrtke , valute , tekuće fiskalne godine , itd."
Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Postavite Stavka Grupa-mudre proračune na ovom području. Također možete uključiti sezonalnost postavljanjem Distribution.
Set Status as Available,Postavi kao Status Available
Set as Default,Postavi kao zadano
Set as Lost,Postavi kao Lost
Set prefix for numbering series on your transactions,Postavite prefiks za numeriranje niza na svoje transakcije
Set targets Item Group-wise for this Sales Person.,Set cilja predmet Grupa-mudar za ovaj prodavač.
Setting Account Type helps in selecting this Account in transactions.,Postavljanje Vrsta računa pomaže u odabiru ovaj račun u prometu.
Setting this Address Template as default as there is no other default,"Postavljanje Ova adresa predloška kao zadano, jer nema drugog zadano"
Setting up...,Postavljanje ...
Settings,Postavke
Settings for HR Module,Postavke za HR modula
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""",Postavke za izdvajanje posao zahtjeva iz spremnika npr. &quot;jobs@example.com&quot;
Setup,Postavljanje
Setup Already Complete!!,Postavljanje Već Kompletan !
Setup Complete,postavljanje dovršeno
Setup SMS gateway settings,Postavke Setup SMS gateway
Setup Series,Postavljanje Serija
Setup Wizard,Čarobnjak za postavljanje
Setup incoming server for jobs email id. (e.g. jobs@example.com),Postavljanje dolazni poslužitelj za poslove e-ID . ( npr. jobs@example.com )
Setup incoming server for sales email id. (e.g. sales@example.com),Postavljanje dolazni poslužitelj za id prodaja e-mail . ( npr. sales@example.com )
Setup incoming server for support email id. (e.g. support@example.com),Postavljanje dolazni poslužitelj za podršku e-mail ID . ( npr. support@example.com )
Share,Udio
Share With,Podijelite s
Shareholders Funds,Dioničari fondovi
Shipments to customers.,Isporuke kupcima.
Shipping,Utovar
Shipping Account,Dostava račun
Shipping Address,Dostava Adresa
Shipping Amount,Dostava Iznos
Shipping Rule,Dostava Pravilo
Shipping Rule Condition,Dostava Pravilo Stanje
Shipping Rule Conditions,Dostava Koje uvjete
Shipping Rule Label,Dostava Pravilo Label
Shop,Dućan
Shopping Cart,Košarica
Short biography for website and other publications.,Kratka biografija za web stranice i drugih publikacija.
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",Show &quot;na lageru&quot; ili &quot;Nije u skladištu&quot; temelji se na skladištu dostupna u tom skladištu.
"Show / Hide features like Serial Nos, POS etc.","Show / Hide značajke kao što su serijski brojevima , POS i sl."
Show In Website,Pokaži Na web stranice
Show a slideshow at the top of the page,Prikaži slideshow na vrhu stranice
Show in Website,Prikaži u web
Show rows with zero values,Prikaži retke s nula vrijednosti
Show this slideshow at the top of the page,Prikaži ovaj slideshow na vrhu stranice
Sick Leave,bolovanje
Signature,Potpis
Signature to be appended at the end of every email,Potpis se dodaje na kraju svakog e
Single,Singl
Single unit of an Item.,Jedna jedinica stavku.
Sit tight while your system is being setup. This may take a few moments.,"Sjedi čvrsto , dok je vaš sustav se postava . To može potrajati nekoliko trenutaka ."
Slideshow,Slideshow
Soap & Detergent,Sapun i deterdžent
Software,softver
Software Developer,Software Developer
"Sorry, Serial Nos cannot be merged","Žao nam je , Serial Nos ne mogu spojiti"
"Sorry, companies cannot be merged","Žao nam je , tvrtke ne mogu spojiti"
Source,Izvor
Source File,izvor File
Source Warehouse,Izvor galerija
Source and target warehouse cannot be same for row {0},Izvor i ciljna skladište ne može biti isti za redom {0}
Source of Funds (Liabilities),Izvor sredstava ( pasiva)
Source warehouse is mandatory for row {0},Izvor skladište je obvezno za redom {0}
Spartan,Spartanski
"Special Characters except ""-"" and ""/"" not allowed in naming series","Posebne znakove osim "" - "" i "" / "" nisu dopušteni u imenovanja seriju"
Specification Details,Specifikacija Detalji
Specifications,tehnički podaci
"Specify a list of Territories, for which, this Price List is valid","Navedite popis teritorijima, za koje, ovom cjeniku vrijedi"
"Specify a list of Territories, for which, this Shipping Rule is valid","Navedite popis teritorijima, za koje, to Dostava Pravilo vrijedi"
"Specify a list of Territories, for which, this Taxes Master is valid","Navedite popis teritorijima, za koje, to Porezi Master vrijedi"
"Specify the operations, operating cost and give a unique Operation no to your operations.","Navedite operacija, operativni troškovi i dati jedinstven radom najkasnije do svojih operacija ."
Split Delivery Note into packages.,Split otpremnici u paketima.
Sports,sportovi
Sr,Sr
Standard,Standard
Standard Buying,Standardna kupnju
Standard Reports,Standardni Izvješća
Standard Selling,Standardna prodaja
Standard contract terms for Sales or Purchase.,Standardni uvjeti ugovora za prodaju ili kupnju.
Start,početak
Start Date,Datum početka
Start date of current invoice's period,Početak datum tekućeg razdoblja dostavnice
Start date should be less than end date for Item {0},Početak bi trebao biti manji od krajnjeg datuma za točke {0}
State,Država
Statement of Account,Izjava o računu
Static Parameters,Statički parametri
Status,Status
Status must be one of {0},Status mora biti jedan od {0}
Status of {0} {1} is now {2},Status {0} {1} je sada {2}
Status updated to {0},Status obnovljeno za {0}
Statutory info and other general information about your Supplier,Zakonska info i druge opće informacije o vašem Dobavljaču
Stay Updated,Budite u tijeku
Stock,Zaliha
Stock Adjustment,Stock Podešavanje
Stock Adjustment Account,Stock Adjustment račun
Stock Ageing,Kataloški Starenje
Stock Analytics,Stock Analytics
Stock Assets,dionicama u vrijednosti
Stock Balance,Kataloški bilanca
Stock Entries already created for Production Order ,
Stock Entry,Kataloški Stupanje
Stock Entry Detail,Kataloški Stupanje Detalj
Stock Expenses,Stock Troškovi
Stock Frozen Upto,Kataloški Frozen Upto
Stock Ledger,Stock Ledger
Stock Ledger Entry,Stock Ledger Stupanje
Stock Ledger entries balances updated,Stock unose u knjigu salda ažurirane
Stock Level,Kataloški Razina
Stock Liabilities,Stock Obveze
Stock Projected Qty,Stock Projekcija Kol
Stock Queue (FIFO),Kataloški red (FIFO)
Stock Received But Not Billed,Stock primljeni Ali ne Naplaćeno
Stock Reconcilation Data,Stock Reconcilation podataka
Stock Reconcilation Template,Stock Reconcilation Predložak
Stock Reconciliation,Kataloški pomirenje
"Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory.","Stock Pomirenje može se koristiti za ažuriranje zaliha na određeni datum , najčešće po fizičke inventure ."
Stock Settings,Stock Postavke
Stock UOM,Kataloški UOM
Stock UOM Replace Utility,Kataloški UOM Zamjena Utility
Stock UOM updatd for Item {0},Stock UOM updatd za točku {0}
Stock Uom,Kataloški Uom
Stock Value,Stock vrijednost
Stock Value Difference,Stock Vrijednost razlika
Stock balances updated,Stock stanja izmijenjena
Stock cannot be updated against Delivery Note {0},Dionica ne može biti obnovljeno protiv isporuke Napomena {0}
Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name',Stock navodi koji postoje protiv skladište {0} se ne može ponovno zauzeti ili mijenjati ' Master Ime '
Stock transactions before {0} are frozen,Stock transakcije prije {0} se zamrznut
Stop,Stop
Stop Birthday Reminders,Zaustavi Rođendan Podsjetnici
Stop Material Request,Zaustavi Materijal Zahtjev
Stop users from making Leave Applications on following days.,Prestani korisnike od izrade ostaviti aplikacija na sljedećim danima.
Stop!,Stop!
Stopped,Zaustavljen
Stopped order cannot be cancelled. Unstop to cancel.,Zaustavljen nalog ne može prekinuti. Otpušiti otkazati .
Stores,prodavaonice
Stub,iskrčiti
Sub Assemblies,pod skupštine
"Sub-currency. For e.g. ""Cent""",Sub-valuta. Za npr. &quot;centi&quot;
Subcontract,Podugovor
Subject,Predmet
Submit Salary Slip,Slanje plaće Slip
Submit all salary slips for the above selected criteria,Slanje sve plaće gaćice za gore odabranih kriterija
Submit this Production Order for further processing.,Pošaljite ovaj radnog naloga za daljnju obradu .
Submitted,Prijavljen
Subsidiary,Podružnica
Successful: ,Uspješna:
Successfully Reconciled,Uspješno Pomirio
Suggestions,Prijedlozi
Sunday,Nedjelja
Supplier,Dobavljač
Supplier (Payable) Account,Dobavljač (Plaća) račun
Supplier (vendor) name as entered in supplier master,Dobavljač (prodavatelja) ime kao ušao u dobavljača gospodara
Supplier > Supplier Type,Dobavljač> proizvođač tip
Supplier Account Head,Dobavljač račun Head
Supplier Address,Dobavljač Adresa
Supplier Addresses and Contacts,Supplier Adrese i kontakti
Supplier Details,Dobavljač Detalji
Supplier Intro,Dobavljač Uvod
Supplier Invoice Date,Dobavljač Datum fakture
Supplier Invoice No,Dobavljač Račun br
Supplier Name,Dobavljač Ime
Supplier Naming By,Dobavljač nazivanje
Supplier Part Number,Dobavljač Broj dijela
Supplier Quotation,Dobavljač Ponuda
Supplier Quotation Item,Dobavljač ponudu artikla
Supplier Reference,Dobavljač Referenca
Supplier Type,Dobavljač Tip
Supplier Type / Supplier,Dobavljač Tip / Supplier
Supplier Type master.,Dobavljač Vrsta majstor .
Supplier Warehouse,Dobavljač galerija
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Dobavljač skladišta obvezan je za sub - ugovoreni kupiti primitka
Supplier database.,Dobavljač baza podataka.
Supplier master.,Dobavljač majstor .
Supplier warehouse where you have issued raw materials for sub - contracting,Dobavljač skladište gdje ste izdali sirovine za pod - ugovaranje
Supplier-Wise Sales Analytics,Supplier -mudar prodaje Analytics
Support,Podržati
Support Analtyics,Podrška Analtyics
Support Analytics,Podrška Analytics
Support Email,Podrška e
Support Email Settings,E-mail Settings Podrška
Support Password,Podrška Lozinka
Support Ticket,Podrška karata
Support queries from customers.,Podrška upite od kupaca.
Symbol,Simbol
Sync Support Mails,Sinkronizacija Podrška mailova
Sync with Dropbox,Sinkronizacija s Dropbox
Sync with Google Drive,Sinkronizacija s Google Drive
System,Sistem
System Settings,Postavke sustava
"System User (login) ID. If set, it will become default for all HR forms.","Sustav Korisničko (login) ID. Ako je postavljen, to će postati zadana za sve HR oblicima."
TDS (Advertisement),TDS (Reklama)
TDS (Commission),TDS (komisija)
TDS (Contractor),TDS (Izvođač)
TDS (Interest),TDS (kamate)
TDS (Rent),TDS (Rent)
TDS (Salary),TDS (plaće)
Target  Amount,Ciljana Iznos
Target Detail,Ciljana Detalj
Target Details,Ciljane Detalji
Target Details1,Ciljana Details1
Target Distribution,Ciljana Distribucija
Target On,Target Na
Target Qty,Ciljana Kol
Target Warehouse,Ciljana galerija
Target warehouse in row {0} must be same as Production Order,Target skladište u redu {0} mora biti ista kao Production Order
Target warehouse is mandatory for row {0},Target skladište je obvezno za redom {0}
Task,Zadatak
Task Details,Zadatak Detalji
Tasks,zadaci
Tax,Porez
Tax Amount After Discount Amount,Iznos poreza Nakon iznosa popusta
Tax Assets,porezna imovina
Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items,Porezna Kategorija ne može biti ' Procjena ' ili ' Procjena i Total ' kao i svi proizvodi bez zaliha predmeta
Tax Rate,Porezna stopa
Tax and other salary deductions.,Porez i drugih isplata plaća.
Tax detail table fetched from item master as a string and stored in this field.Used for Taxes and Charges,Porezna detalj stol preuzeta iz točke majstora kao string i pohranjene u ovom području. Koristi se za poreze i troškove
Tax template for buying transactions.,Porezna Predložak za kupnju transakcije .
Tax template for selling transactions.,Porezna predložak za prodaju transakcije .
Taxable,Oporeziva
Taxes,Porezi
Taxes and Charges,Porezi i naknade
Taxes and Charges Added,Porezi i naknade Dodano
Taxes and Charges Added (Company Currency),Porezi i naknade uvrštenja (Društvo valuta)
Taxes and Charges Calculation,Porezi i naknade Proračun
Taxes and Charges Deducted,Porezi i naknade oduzeti
Taxes and Charges Deducted (Company Currency),Porezi i naknade Umanjenja (Društvo valuta)
Taxes and Charges Total,Porezi i naknade Ukupno
Taxes and Charges Total (Company Currency),Porezi i naknade Ukupno (Društvo valuta)
Technology,tehnologija
Telecommunications,telekomunikacija
Telephone Expenses,Telefonski troškovi
Television,televizija
Template,Predložak
Template for performance appraisals.,Predložak za ocjene rada .
Template of terms or contract.,Predložak termina ili ugovor.
Temporary Accounts (Assets),Privremene banke ( aktiva )
Temporary Accounts (Liabilities),Privremene banke ( pasiva)
Temporary Assets,Privremena Imovina
Temporary Liabilities,Privremena Obveze
Term Details,Oročeni Detalji
Terms,Uvjeti
Terms and Conditions,Odredbe i uvjeti
Terms and Conditions Content,Uvjeti sadržaj
Terms and Conditions Details,Uvjeti Detalji
Terms and Conditions Template,Uvjeti predloška
Terms and Conditions1,Odredbe i Conditions1
Terretory,Terretory
Territory,Teritorija
Territory / Customer,Teritorij / Customer
Territory Manager,Teritorij Manager
Territory Name,Regija Ime
Territory Target Variance Item Group-Wise,Teritorij Target varijance artikla Group - Wise
Territory Targets,Teritorij Mete
Test,Test
Test Email Id,Test E-mail ID
Test the Newsletter,Test Newsletter
The BOM which will be replaced,BOM koji će biti zamijenjen
The First User: You,Prvo Korisnik : Vi
"The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes""",Stavka koja predstavlja paket. Ova stavka mora imati &quot;Je kataloški Stavka&quot; kao &quot;Ne&quot; i &quot;Je li prodaja artikla&quot; kao &quot;Da&quot;
The Organization,Organizacija
"The account head under Liability, in which Profit/Loss will be booked","Glava računa pod odgovornosti , u kojoj dobit / gubitak će biti rezerviran"
The date on which next invoice will be generated. It is generated on submit.,Datum na koji pored faktura će biti generiran. To je izrađen podnose.
The date on which recurring invoice will be stop,Datum na koji se ponavlja faktura će se zaustaviti
"The day of the month on which auto invoice will be generated e.g. 05, 28 etc ","Dan u mjesecu na koji se automatski faktura će biti generiran npr. 05, 28 itd."
The day(s) on which you are applying for leave are holiday. You need not apply for leave.,Dan (a ) na koji se prijavljujete za dopust su odmor . Ne trebaju podnijeti zahtjev za dopust .
The first Leave Approver in the list will be set as the default Leave Approver,Prvi dopust Odobritelj na popisu će se postaviti kao zadani Odobritelj dopust
The first user will become the System Manager (you can change that later).,Prvi korisnik će postatiSystem Manager ( možete promijeniti kasnije ) .
The gross weight of the package. Usually net weight + packaging material weight. (for print),Bruto težina paketa. Obično neto težina + ambalaža težina. (Za tisak)
The name of your company for which you are setting up this system.,Ime vaše tvrtke za koje ste postavljanje ovog sustava .
The net weight of this package. (calculated automatically as sum of net weight of items),Neto težina tog paketa. (Automatski izračunava kao zbroj neto težini predmeta)
The new BOM after replacement,Novi BOM nakon zamjene
The rate at which Bill Currency is converted into company's base currency,Stopa po kojoj Bill valuta pretvara u tvrtke bazne valute
The unique id for tracking all recurring invoices. It is generated on submit.,Jedinstveni ID za praćenje svih ponavljajući fakture. To je izrađen podnijeti.
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Zatim Cjenovna Pravila filtriraju se temelji na Kupca, Kupac Group, Teritorij, dobavljač, proizvođač tip, Kampanja, prodajni partner i sl."
There are more holidays than working days this month.,Postoji više odmor nego radnih dana ovog mjeseca .
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Tu može biti samo jedan Dostava Pravilo Stanje sa 0 ili prazni vrijednost za "" Da Value """
There is not enough leave balance for Leave Type {0},Nema dovoljno ravnotežu dopust za dozvolu tipa {0}
There is nothing to edit.,Ne postoji ništa za uređivanje .
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.,Došlo je do pogreške . Jedan vjerojatan razlog bi mogao biti da niste spremili obrazac. Molimo kontaktirajte support@erpnext.com ako se problem ne riješi .
There were errors.,Bilo je grešaka .
This Currency is disabled. Enable to use in transactions,Ova valuta je onemogućen . Moći koristiti u transakcijama
This Leave Application is pending approval. Only the Leave Apporver can update status.,To Leave Aplikacija se čeka odobrenje . SamoOstavite Apporver može ažurirati status .
This Time Log Batch has been billed.,Ovo Batch Vrijeme Log je naplaćeno.
This Time Log Batch has been cancelled.,Ovo Batch Vrijeme Log je otkazan.
This Time Log conflicts with {0},Ovaj put Prijavite se kosi s {0}
This format is used if country specific format is not found,Ovaj format se koristi ako država specifičan format nije pronađena
This is a root account and cannot be edited.,To jekorijen račun i ne može se mijenjati .
This is a root customer group and cannot be edited.,To jekorijen skupini kupaca i ne može se mijenjati .
This is a root item group and cannot be edited.,To jekorijen stavka grupa i ne može se mijenjati .
This is a root sales person and cannot be edited.,To jekorijen prodavač i ne može se mijenjati .
This is a root territory and cannot be edited.,To jekorijen teritorij i ne može se mijenjati .
This is an example website auto-generated from ERPNext,Ovo je primjer web stranica automatski generira iz ERPNext
This is the number of the last created transaction with this prefix,To je broj zadnjeg stvorio transakcije s ovim prefiksom
This will be used for setting rule in HR module,To će se koristiti za postavljanje pravilu u HR modula
Thread HTML,Temu HTML
Thursday,Četvrtak
Time Log,Vrijeme Log
Time Log Batch,Vrijeme Log Hrpa
Time Log Batch Detail,Vrijeme Log Batch Detalj
Time Log Batch Details,Time Log Hrpa Brodu
Time Log Batch {0} must be 'Submitted',"Vrijeme Log Batch {0} mora biti "" Postavio '"
Time Log Status must be Submitted.,Vrijeme Log Status moraju biti dostavljeni.
Time Log for tasks.,Vrijeme Prijava za zadatke.
Time Log is not billable,Vrijeme Log nije naplatnih
Time Log {0} must be 'Submitted',"Vrijeme Log {0} mora biti "" Postavio '"
Time Zone,Time Zone
Time Zones,Vremenske zone
Time and Budget,Vrijeme i proračun
Time at which items were delivered from warehouse,Vrijeme na stavke koje su isporučena iz skladišta
Time at which materials were received,Vrijeme u kojem su materijali primili
Title,Naslov
Titles for print templates e.g. Proforma Invoice.,Naslovi za ispis predložaka pr Predračuna.
To,Na
To Currency,Valutno
To Date,Za datum
To Date should be same as From Date for Half Day leave,Za datum bi trebao biti isti kao i od datuma za poludnevni dopust
To Date should be within the Fiscal Year. Assuming To Date = {0},Za datum mora biti unutar fiskalne godine. Pod pretpostavkom da bi datum = {0}
To Discuss,Za Raspravljajte
To Do List,Da li popis
To Package No.,Za Paket br
To Produce,proizvoditi
To Time,Za vrijeme
To Value,Za vrijednost
To Warehouse,Za galeriju
"To add child nodes, explore tree and click on the node under which you want to add more nodes.","Da biste dodali djece čvorova , istražiti stablo i kliknite na čvoru pod kojima želite dodati više čvorova ."
"To assign this issue, use the ""Assign"" button in the sidebar.","Za dodjelu taj problem, koristite &quot;dodijeliti&quot; gumb u sidebar."
To create a Bank Account,Za stvaranje bankovni račun
To create a Tax Account,Za stvaranje porezno
"To create an Account Head under a different company, select the company and save customer.","Za stvaranje računa glavu pod drugom tvrtkom, odaberite tvrtku i spasiti kupca."
To date cannot be before from date,Do danas ne može biti prije od datuma
To enable <b>Point of Sale</b> features,Da biste omogućili <b>Point of Sale</b> značajke
To enable <b>Point of Sale</b> view,Da biste omogućili <b> prodajnom </ b> pogledom
To get Item Group in details table,Da biste dobili predmeta Group u tablici pojedinosti
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","To uključuje porez u redu {0} u stopu točke , porezi u redovima {1} također moraju biti uključeni"
"To merge, following properties must be same for both items","Spojiti , ova svojstva moraju biti isti za obje stavke"
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Da se ne primjenjuje pravilo Cijene u određenoj transakciji, svim primjenjivim pravilima cijena bi trebala biti onemogućen."
"To set this Fiscal Year as Default, click on 'Set as Default'","Za postavljanje ove fiskalne godine kao zadano , kliknite na "" Set as Default '"
To track any installation or commissioning related work after sales,Za praćenje bilo koju instalaciju ili puštanje vezane raditi nakon prodaje
"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","Za praćenje branda u sljedećim dokumentima Dostavnica, Opportunity , materijal zahtjev, predmet, narudžbenice , kupnju vouchera Kupac prijemu, ponude, prodaje fakture , prodaje sastavnice , prodajnog naloga , rednim brojem"
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.,Za praćenje stavke u prodaji i kupnji dokumenata na temelju njihovih serijskih br. To je također može koristiti za praćenje jamstvene podatke o proizvodu.
To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>,Za praćenje stavke u prodaji i kupnji dokumenata s batch br <br> <b>Prošle Industrija: Kemikalije itd</b>
To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,Za praćenje stavki pomoću barkod. Vi ćete biti u mogućnosti da unesete stavke u otpremnici i prodaje Računa skeniranjem barkod stavke.
Too many columns. Export the report and print it using a spreadsheet application.,Previše stupovi. Izvesti izvješće i ispisati pomoću aplikacije za proračunske tablice.
Tools,Alat
Total,Ukupan
Total ({0}),Ukupno ({0})
Total Advance,Ukupno Predujam
Total Amount,Ukupan iznos
Total Amount To Pay,Ukupan iznos platiti
Total Amount in Words,Ukupan iznos u riječi
Total Billing This Year: ,Ukupno naplate Ova godina:
Total Characters,Ukupno Likovi
Total Claimed Amount,Ukupno Zatražio Iznos
Total Commission,Ukupno komisija
Total Cost,Ukupan trošak
Total Credit,Ukupna kreditna
Total Debit,Ukupno zaduženje
Total Debit must be equal to Total Credit. The difference is {0},Ukupno zaduženje mora biti jednak ukupnom kreditnom .
Total Deduction,Ukupno Odbitak
Total Earning,Ukupna zarada
Total Experience,Ukupno Iskustvo
Total Hours,Ukupno vrijeme
Total Hours (Expected),Ukupno vrijeme (Očekivani)
Total Invoiced Amount,Ukupno Iznos dostavnice
Total Leave Days,Ukupno Ostavite Dani
Total Leaves Allocated,Ukupno Lišće Dodijeljeni
Total Message(s),Ukupno poruka ( i)
Total Operating Cost,Ukupni trošak
Total Points,Ukupno bodova
Total Raw Material Cost,Ukupno troškova sirovine
Total Sanctioned Amount,Ukupno kažnjeni Iznos
Total Score (Out of 5),Ukupna ocjena (od 5)
Total Tax (Company Currency),Ukupno poreza (Društvo valuta)
Total Taxes and Charges,Ukupno Porezi i naknade
Total Taxes and Charges (Company Currency),Ukupno Porezi i naknade (Društvo valuta)
Total allocated percentage for sales team should be 100,Ukupno dodijeljeno postotak za prodajni tim bi trebao biti 100
Total amount of invoices received from suppliers during the digest period,Ukupan iznos primljenih računa od dobavljača tijekom razdoblja digest
Total amount of invoices sent to the customer during the digest period,Ukupan iznos računa šalje kupcu tijekom razdoblja digest
Total cannot be zero,Ukupna ne može biti nula
Total in words,Ukupno je u riječima
Total points for all goals should be 100. It is {0},Ukupni broj bodova za sve ciljeve trebao biti 100 . To je {0}
Total valuation for manufactured or repacked item(s) can not be less than total valuation of raw materials,Ukupna procjena za proizvodnu ili prepakirani točke (a) ne može biti manja od ukupnog vrednovanja sirovina
Total weightage assigned should be 100%. It is {0},Ukupno bi trebalo biti dodijeljena weightage 100 % . To je {0}
Totals,Ukupan rezultat
Track Leads by Industry Type.,Trag vodi prema tip industrije .
Track this Delivery Note against any Project,Prati ovu napomenu isporuke protiv bilo Projekta
Track this Sales Order against any Project,Prati ovu prodajni nalog protiv bilo Projekta
Transaction,Transakcija
Transaction Date,Transakcija Datum
Transaction not allowed against stopped Production Order {0},Transakcija nije dopuštena protiv zaustavljena proizvodnja Reda {0}
Transfer,Prijenos
Transfer Material,Prijenos materijala
Transfer Raw Materials,Prijenos sirovine
Transferred Qty,prebačen Kol
Transportation,promet
Transporter Info,Transporter Info
Transporter Name,Transporter Ime
Transporter lorry number,Transporter kamion broj
Travel,putovanje
Travel Expenses,putni troškovi
Tree Type,Tree Type
Tree of Item Groups.,Tree stavke skupina .
Tree of finanial Cost Centers.,Drvo finanial troška .
Tree of finanial accounts.,Drvo finanial račune .
Trial Balance,Pretresno bilanca
Tuesday,Utorak
Type,Vrsta
Type of document to rename.,Vrsta dokumenta za promjenu naziva.
"Type of leaves like casual, sick etc.","Tip lišća poput casual, bolovanja i sl."
Types of Expense Claim.,Vrste Rashodi zahtjevu.
Types of activities for Time Sheets,Vrste aktivnosti za vrijeme listova
"Types of employment (permanent, contract, intern etc.).","Vrste zapošljavanja ( trajni ugovor , pripravnik i sl. ) ."
UOM Conversion Detail,UOM pretvorbe Detalj
UOM Conversion Details,UOM pretvorbe Detalji
UOM Conversion Factor,UOM konverzijski faktor
UOM Conversion factor is required in row {0},Faktor UOM pretvorbe je potrebno u redu {0}
UOM Name,UOM Ime
UOM coversion factor required for UOM: {0} in Item: {1},UOM faktor coversion potrebna za UOM: {0} u točki: {1}
Under AMC,Pod AMC
Under Graduate,Pod diplomski
Under Warranty,Pod jamstvo
Unit,jedinica
Unit of Measure,Jedinica mjere
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Jedinica mjere {0} je ušao više od jednom u konverzije Factor tablici
"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Jedinica za mjerenje ove točke (npr. kg, Jedinica Ne, Par)."
Units/Hour,Jedinice / sat
Units/Shifts,Jedinice / smjene
Unpaid,Neplaćen
Unreconciled Payment Details,Nesaglašen Detalji plaćanja
Unscheduled,Neplanski
Unsecured Loans,unsecured krediti
Unstop,otpušiti
Unstop Material Request,Otpušiti Materijal Zahtjev
Unstop Purchase Order,Otpušiti narudžbenice
Unsubscribed,Pretplatu
Update,Ažurirati
Update Clearance Date,Ažurirajte provjeri datum
Update Cost,Update cost
Update Finished Goods,Update gotovih proizvoda
Update Landed Cost,Update Sletio trošak
Update Series,Update serija
Update Series Number,Update serije Broj
Update Stock,Ažurirajte Stock
Update bank payment dates with journals.,Update banka datum plaćanja s časopisima.
Update clearance date of Journal Entries marked as 'Bank Vouchers',"Datum Update klirens navoda označene kao ""Banka bon '"
Updated,Obnovljeno
Updated Birthday Reminders,Obnovljeno Rođendan Podsjetnici
Upload Attendance,Upload Attendance
Upload Backups to Dropbox,Upload sigurnosne kopije za ispuštanje
Upload Backups to Google Drive,Upload sigurnosne kopije na Google Drive
Upload HTML,Prenesi HTML
Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,Učitajte CSV datoteku s dva stupca.: Stari naziv i novi naziv. Max 500 redaka.
Upload attendance from a .csv file,Prenesi dolazak iz. Csv datoteku
Upload stock balance via csv.,Prenesi dionica ravnotežu putem CSV.
Upload your letter head and logo - you can edit them later.,Pošalji svoje pismo glavu i logo - možete ih urediti kasnije .
Upper Income,Gornja Prihodi
Urgent,Hitan
Use Multi-Level BOM,Koristite multi-level BOM
Use SSL,Koristite SSL
Used for Production Plan,Koristi se za plan proizvodnje
User,Korisnik
User ID,Korisnički ID
User ID not set for Employee {0},Korisnik ID nije postavljen za zaposlenika {0}
User Name,Korisničko ime
User Name or Support Password missing. Please enter and try again.,Korisničko ime ili podrška Lozinka nedostaje . Unesite i pokušajte ponovno .
User Remark,Upute Zabilješka
User Remark will be added to Auto Remark,Upute Napomena će biti dodan Auto Napomena
User Remarks is mandatory,Korisničko Primjedbe je obvezno
User Specific,Korisnik Specifična
User must always select,Korisničko uvijek mora odabrati
User {0} is already assigned to Employee {1},Korisnik {0} već dodijeljena zaposlenika {1}
User {0} is disabled,Korisnik {0} je onemogućen
Username,Korisničko ime
Users with this role are allowed to create / modify accounting entry before frozen date,Korisnici koji imaju tu ulogu mogu kreirati / modificirati knjiženje prije zamrznute dana
Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Korisnici s ovom ulogom smiju postaviti zamrznute račune i izradu / izmjenu računovodstvenih unosa protiv zamrznutih računa
Utilities,Komunalne usluge
Utility Expenses,komunalna Troškovi
Valid For Territories,Vrijedi za teritorijima
Valid From,vrijedi od
Valid Upto,Vrijedi Upto
Valid for Territories,Vrijedi za teritorijima
Validate,Potvrditi
Valuation,Procjena
Valuation Method,Vrednovanje metoda
Valuation Rate,Vrednovanje Stopa
Valuation Rate required for Item {0},Vrednovanje stopa potrebna za točke {0}
Valuation and Total,Vrednovanje i Total
Value,Vrijednost
Value or Qty,"Vrijednost, ili Kol"
Vehicle Dispatch Date,Vozilo Dispatch Datum
Vehicle No,Ne vozila
Venture Capital,venture Capital
Verified By,Ovjeren od strane
View Ledger,Pogledaj Ledger
View Now,Pregled Sada
Visit report for maintenance call.,Posjetite izvješće za održavanje razgovora.
Voucher #,bon #
Voucher Detail No,Bon Detalj Ne
Voucher Detail Number,Bon Detalj broj
Voucher ID,Bon ID
Voucher No,Bon Ne
Voucher Type,Bon Tip
Voucher Type and Date,Tip bon i datum
Walk In,Šetnja u
Warehouse,skladište
Warehouse Contact Info,Skladište Kontakt Info
Warehouse Detail,Skladište Detalj
Warehouse Name,Skladište Ime
Warehouse and Reference,Skladište i upute
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,"Skladište se ne može izbrisati , kao entry stock knjiga postoji za to skladište ."
Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Skladište se može mijenjati samo preko Stock Stupanje / Dostavnica / kupiti primitka
Warehouse cannot be changed for Serial No.,Skladište se ne može promijeniti za serijskog broja
Warehouse is mandatory for stock Item {0} in row {1},Skladište je obvezna za dionice točke {0} je u redu {1}
Warehouse is missing in Purchase Order,Skladište nedostaje u narudžbenice
Warehouse not found in the system,Skladište se ne nalaze u sustavu
Warehouse required for stock Item {0},Skladište potreban dionica točke {0}
Warehouse where you are maintaining stock of rejected items,Skladište gdje ste održavanju zaliha odbijenih stavki
Warehouse {0} can not be deleted as quantity exists for Item {1},Skladište {0} ne može biti izbrisan kao količina postoji točka {1}
Warehouse {0} does not belong to company {1},Skladište {0} ne pripada tvrtka {1}
Warehouse {0} does not exist,Skladište {0} ne postoji
Warehouse {0}: Company is mandatory,Skladište {0}: Društvo je obvezno
Warehouse {0}: Parent account {1} does not bolong to the company {2},Skladište {0}: Parent račun {1} ne Bolong tvrtki {2}
Warehouse-Wise Stock Balance,Skladište-Wise Stock Balance
Warehouse-wise Item Reorder,Warehouse-mudar Stavka redoslijeda
Warehouses,Skladišta
Warehouses.,Skladišta.
Warn,Upozoriti
Warning: Leave application contains following block dates,Upozorenje: Ostavite program sadrži sljedeće blok datume
Warning: Material Requested Qty is less than Minimum Order Qty,Upozorenje : Materijal Tražena količina manja nego minimalna narudžba kol
Warning: Sales Order {0} already exists against same Purchase Order number,Upozorenje : prodajnog naloga {0} već postoji od broja ista narudžbenice
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Upozorenje : Sustav neće provjeravati overbilling od iznosa za točku {0} u {1} je nula
Warranty / AMC Details,Jamstveni / AMC Brodu
Warranty / AMC Status,Jamstveni / AMC Status
Warranty Expiry Date,Jamstvo Datum isteka
Warranty Period (Days),Jamstveno razdoblje (dani)
Warranty Period (in days),Jamstveno razdoblje (u danima)
We buy this Item,Mi smo kupiti ovu stavku
We sell this Item,Prodajemo ovu stavku
Website,Website
Website Description,Web stranica Opis
Website Item Group,Web stranica artikla Grupa
Website Item Groups,Website Stavka Grupe
Website Settings,Website Postavke
Website Warehouse,Web stranica galerije
Wednesday,Srijeda
Weekly,Tjedni
Weekly Off,Tjedni Off
Weight UOM,Težina UOM
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Težina je spomenuto , \ nDa spominjem "" Težina UOM "" previše"
Weightage,Weightage
Weightage (%),Weightage (%)
Welcome,dobrodošli
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!,"Dobrodošli na ERPNext . Tijekom sljedećih nekoliko minuta, mi ćemo vam pomoći postava tvoj ERPNext računa . Pokušajte i ispunite što više informacija kao što su , čak i ako to trajemalo duže . To će vam uštedjeti puno vremena kasnije . Sretno !"
Welcome to ERPNext. Please select your language to begin the Setup Wizard.,Dobrodošli na ERPNext . Molimo odaberite svoj jezik kako bi početak čarobnjaka za postavljanje .
What does it do?,Što učiniti ?
"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.","Kada bilo koji od provjerenih transakcija &quot;Postavio&quot;, e-mail pop-up automatski otvorio poslati e-mail na povezane &quot;Kontakt&quot; u toj transakciji, s transakcijom u privitku. Korisnik može ili ne može poslati e-mail."
"When submitted, the system creates difference entries to set the given stock and valuation on this date.","Kada se podnosi ,sustav stvara razlika unose postaviti zadani zaliha i procjenu vrijednosti tog datuma ."
Where items are stored.,Gdje predmeti su pohranjeni.
Where manufacturing operations are carried out.,Gdje proizvodni postupci provode.
Widowed,Udovički
Will be calculated automatically when you enter the details,Hoće li biti izračunata automatski kada unesete podatke
Will be updated after Sales Invoice is Submitted.,Hoće li se obnavljaju nakon prodaje fakture je Prijavljen.
Will be updated when batched.,Hoće li biti ažurirani kada izmiješane.
Will be updated when billed.,Hoće li biti promjena kada je naplaćeno.
Wire Transfer,Wire Transfer
With Operations,Uz operacije
With Period Closing Entry,S Zatvaranje razdoblja upisa
Work Details,Radni Brodu
Work Done,Rad Done
Work In Progress,Radovi u tijeku
Work-in-Progress Warehouse,Rad u tijeku Warehouse
Work-in-Progress Warehouse is required before Submit,Rad u tijeku Warehouse je potrebno prije Podnijeti
Working,Rad
Working Days,Radnih dana
Workstation,Workstation
Workstation Name,Ime Workstation
Write Off Account,Napišite Off račun
Write Off Amount,Napišite paušalni iznos
Write Off Amount <=,Otpis Iznos &lt;=
Write Off Based On,Otpis na temelju
Write Off Cost Center,Otpis troška
Write Off Outstanding Amount,Otpisati preostali iznos
Write Off Voucher,Napišite Off bon
Wrong Template: Unable to find head row.,Pogrešna Predložak: Nije moguće pronaći glave red.
Year,Godina
Year Closed,Godina Zatvoreno
Year End Date,Godina Datum završetka
Year Name,Godina Ime
Year Start Date,Godina Datum početka
Year of Passing,Godina Prolazeći
Yearly,Godišnje
Yes,Da
You are not authorized to add or update entries before {0},Niste ovlašteni za dodati ili ažurirati unose prije {0}
You are not authorized to set Frozen value,Niste ovlašteni za postavljanje Frozen vrijednost
You are the Expense Approver for this record. Please Update the 'Status' and Save,"Vi steRashodi Odobritelj za ovaj rekord . Molimo Ažuriranje "" status"" i Save"
You are the Leave Approver for this record. Please Update the 'Status' and Save,"Vi steOstavite Odobritelj za ovaj rekord . Molimo Ažuriranje "" status"" i Save"
You can enter any date manually,Možete unijeti bilo koji datum ručno
You can enter the minimum quantity of this item to be ordered.,Možete unijeti minimalnu količinu ove točke biti naređeno.
You can not change rate if BOM mentioned agianst any item,Ne možete promijeniti brzinu ako BOM spomenuo agianst bilo predmet
You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,Vi ne možete unositi oba isporuke Napomena Ne i prodaje Račun br Unesite bilo jedno .
You can not enter current voucher in 'Against Journal Voucher' column,Ne možete unijeti trenutni voucher u ' Protiv Journal vaučer ' kolonu
You can set Default Bank Account in Company master,Možete postaviti Default bankovni račun u gospodara tvrtke
You can start by selecting backup frequency and granting access for sync,Možete početi odabirom sigurnosnu frekvenciju i davanje pristupa za sinkronizaciju
You can submit this Stock Reconciliation.,Možete poslati ovu zaliha pomirenja .
You can update either Quantity or Valuation Rate or both.,Možete ažurirati ili količini ili vrednovanja Ocijenite ili oboje .
You cannot credit and debit same account at the same time,Ne možete kreditnim i debitnim isti račun u isto vrijeme
You have entered duplicate items. Please rectify and try again.,Unijeli duple stavke . Molimo ispraviti i pokušajte ponovno .
You may need to update: {0},Možda ćete morati ažurirati : {0}
You must Save the form before proceeding,Morate spremiti obrazac prije nastavka
Your Customer's TAX registration numbers (if applicable) or any general information,Vaš klijent je poreznoj registraciji brojevi (ako je primjenjivo) ili bilo opće informacije
Your Customers,vaši klijenti
Your Login Id,Vaš Id Prijava
Your Products or Services,Svoje proizvode ili usluge
Your Suppliers,vaši Dobavljači
Your email address,Vaša e-mail adresa
Your financial year begins on,Vaša financijska godina počinje
Your financial year ends on,Vaš Financijska godina završava
Your sales person who will contact the customer in future,Vaš prodaje osobi koja će kontaktirati kupca u budućnosti
Your sales person will get a reminder on this date to contact the customer,Vaš prodavač će dobiti podsjetnik na taj datum kontaktirati kupca
Your setup is complete. Refreshing...,Vaš postava je potpuni . Osvježavajući ...
Your support email id - must be a valid email - this is where your emails will come!,Vaša podrška e-mail id - mora biti valjana e-mail - ovo je mjesto gdje svoje e-mailove će doći!
[Error],[Error]
[Select],[ Select ]
`Freeze Stocks Older Than` should be smaller than %d days.,` Freeze Dionice starije od ` bi trebao biti manji od % d dana .
and,i
are not allowed.,nisu dopušteni.
assigned by,dodjeljuje
cannot be greater than 100,ne može biti veća od 100
"e.g. ""Build tools for builders""","na primjer "" Izgraditi alate za graditelje """
"e.g. ""MC""","na primjer "" MC """
"e.g. ""My Company LLC""","na primjer "" Moja tvrtka LLC """
e.g. 5,na primjer 5
"e.g. Bank, Cash, Credit Card","npr. banka, gotovina, kreditne kartice"
"e.g. Kg, Unit, Nos, m","npr. kg, Jedinica, br, m"
e.g. VAT,na primjer PDV
eg. Cheque Number,npr.. Ček Broj
example: Next Day Shipping,Primjer: Sljedeći dan Dostava
lft,LFT
old_parent,old_parent
rgt,ustaša
subject,subjekt
to,na
website page link,web stranica vode
{0} '{1}' not in Fiscal Year {2},{0} ' {1} ' nije u fiskalnoj godini {2}
{0} Credit limit {0} crossed,{0} Kreditni limit {0} prešao
{0} Serial Numbers required for Item {0}. Only {0} provided.,{0} serijski brojevi potrebni za točke {0} . Samo {0} uvjetom .
{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} proračun za račun {1} od troška {2} premašit će po {3}
{0} can not be negative,{0} ne može biti negativna
{0} created,{0} stvorio
{0} does not belong to Company {1},{0} ne pripada Društvu {1}
{0} entered twice in Item Tax,{0} dva puta ušao u točki poreza
{0} is an invalid email address in 'Notification Email Address',"{0} jenevažeća e-mail adresu u "" obavijesti e-mail adresa '"
{0} is mandatory,{0} je obavezno
{0} is mandatory for Item {1},{0} je obavezno za točku {1}
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} je obavezno. Možda Mjenjačnica zapis nije stvoren za {1} na {2}.
{0} is not a stock Item,{0} nijestock Stavka
{0} is not a valid Batch Number for Item {1},{0} nije ispravan broj serije za točku {1}
{0} is not a valid Leave Approver. Removing row #{1}.,{0} nije ispravan Leave Odobritelj. Uklanjanje red # {1}.
{0} is not a valid email id,{0} nije ispravan id e-mail
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} je sadazadana Fiskalna godina . Osvježite svoj preglednik za promjene stupiti na snagu.
{0} is required,{0} je potrebno
{0} must be a Purchased or Sub-Contracted Item in row {1},{0} mora bitikupljen ili pod-ugovori stavka u nizu {1}
{0} must be reduced by {1} or you should increase overflow tolerance,{0} mora biti smanjena za {1} ili bi trebali povećati overflow toleranciju
{0} must have role 'Leave Approver',{0} mora imati ulogu ' Leave odobravatelju '
{0} valid serial nos for Item {1},{0} valjani serijski nos za Stavka {1}
{0} {1} against Bill {2} dated {3},{0} {1} od {2} Billa od {3}
{0} {1} against Invoice {2},{0} {1} protiv fakture {2}
{0} {1} has already been submitted,{0} {1} je već poslan
{0} {1} has been modified. Please refresh.,{0} {1} je izmijenjen . Osvježite.
{0} {1} is not submitted,{0} {1} nije podnesen
{0} {1} must be submitted,{0} {1} mora biti podnesen
{0} {1} not in any Fiscal Year,{0} {1} nije u poslovnu godinu
{0} {1} status is 'Stopped',{0} {1} status ' Zaustavljen '
{0} {1} status is Stopped,{0} {1} status zaustavljen
{0} {1} status is Unstopped,{0} {1} status Unstopped
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: troška je obvezno za točku {2}
{0}: {1} not found in Invoice Details table,{0}: {1} nije pronađen u Pojedinosti dostavnice stolu
