 (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 Entry,Protiv Journal Entryu
Against Journal Entry {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 STOP 
Are you sure you want to UNSTOP ,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 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 Entry,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 Entry,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 ,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 Entry,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 Entry 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 Entry,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,Dugotrajna 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 really want to unstop production order: 
Do you really want to STOP ,Do you really want to STOP 
Do you really want to STOP this Material Request?,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 
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: ,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 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 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 Entry,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 Entry 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 Entry,Časopis bon
Journal Entry Account,Časopis bon Detalj
Journal Entry Account No,Časopis bon Detalj Ne
Journal Entry {0} does not have account {1} or already matched,Časopis bon {0} nema račun {1} ili već usklađeni
Journal Entries {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 
Make Accounting Entry For Every Stock Movement,Provjerite knjiženje za svaki burzi pokreta
Make Bank Entry,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 
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}: 
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 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 Entry',"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 Entry,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 Entry' 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
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer Group""> Dodaj / Uredi < />"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> Dodaj / Uredi < />"
Billed,Naplaćeno
Company,Društvo
Currency is required for Price List {0},Valuta je potrebno za Cjenika {0}
Default Customer Group,Zadani Korisnik Grupa
Default Territory,Zadani Regija
Delivered,Isporučena
Enable Shopping Cart,Omogućite Košarica
Go ahead and add something to your cart.,Ići naprijed i dodati nešto u košaricu.
Hey! Go ahead and add an address,Hej! Ići naprijed i dodati adresu
Invalid Billing Address,Pogrešna adresa naplate
Invalid Shipping Address,Invalid Dostava Adresa
Missing Currency Exchange Rates for {0},Nedostaje Tečajne stope za {0}
Name is required,Ime je potrebno
Not Allowed,Not Allowed
Paid,plaćen
Partially Billed,djelomično Naplaćeno
Partially Delivered,djelomično Isporučeno
Please specify a Price List which is valid for Territory,Navedite cjenik koji vrijedi za teritoriju
Please specify currency in Company,Navedite valutu u Društvu
Please write something,Molimo napisati nešto
Please write something in subject and message!,Molimo napisati nešto u temi i poruke !
Price List,Cjenik
Price List not configured.,Popis Cijena nije konfiguriran.
Quotation Series,Ponuda Serija
Shipping Rule,Dostava Pravilo
Shopping Cart,Košarica
Shopping Cart Price List,Košarica Cjenik
Shopping Cart Price Lists,Košarica cjenike
Shopping Cart Settings,Košarica Postavke
Shopping Cart Shipping Rule,Košarica Dostava Pravilo
Shopping Cart Shipping Rules,Košarica Dostava Pravila
Shopping Cart Taxes and Charges Master,Košarica poreze i troškove Master
Shopping Cart Taxes and Charges Masters,Košarica Porezi i naknade Masters
Something went wrong!,Nešto je pošlo po krivu!
Something went wrong.,Nešto je pošlo po zlu.
Tax Master,Porezna Master
To Pay,platiti
Updated,Obnovljeno
You are not allowed to reply to this ticket.,Vi ne smijete odgovoriti na ovu kartu.
You need to be logged in to view your cart.,Morate biti prijavljeni da biste vidjeli svoju košaricu.
You need to enable Shopping Cart,Morate omogućiti Košarica
{0} cannot be purchased using Shopping Cart,{0} ne može se kupiti pomoću Košarica
{0} is required,{0} je potrebno
{0} {1} has a common territory {2},{0} {1} ima zajednički teritorij {2}
