 (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,Grupa kupaca sa istim imenom postoji. Promijenite naziv kupca ili promijenite naziv grupe kupaca.
A Customer exists with same name,Kupac sa istim imenom već postoji
A Lead with this email id should exist,Kontakt sa ovim e-mailom bi trebao postojati
A Product or Service,Proizvod ili usluga
A Supplier exists with same name,Dobavljač sa istim imenom već postoji
A symbol for this currency. For e.g. $,Simbol za ovu valutu. Kao npr. $
AMC Expiry Date,AMC Datum isteka
Abbr,Kratica
Abbreviation cannot have more than 5 characters,Kratica ne može imati više od 5 znakova
Above Value,Iznad vrijednosti
Absent,Odsutan
Acceptance Criteria,Kriterij prihvaćanja
Accepted,Prihvaćeno
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Količina prihvaćeno + odbijeno mora biti jednaka zaprimljenoj količini artikla {0}
Accepted Quantity,Prihvaćena količina
Accepted Warehouse,Prihvaćeno skladište
Account,Račun
Account Balance,Bilanca računa
Account Created: {0},Račun stvoren: {0}
Account Details,Detalji računa
Account Head,Zaglavlje računa
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 ( neprestani inventar) stvorit će se na temelju ovog računa .
Account head {0} created,Zaglavlje računa {0} stvoreno
Account must be a balance sheet account,Račun mora biti račun bilance
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 i 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,Predložak adrese
Address Title,Adresa - naslov
Address Title is mandatory.,Adresa Naslov je obavezno .
Address Type,Adresa Tip
Address master.,Adresa master
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 (valuta tvrtke)
Amount Paid,Plaćeni iznos
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 odgovori kad kada stigne nova pošta
Available,Dostupno
Available Qty at Warehouse,Dostupna količina na skladištu
Available Stock for Packing Items,Raspoloživo stanje za pakirane 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čni 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,Kontakt
Contact Control,Kontaktirajte kontrolu
Contact Desc,Kontakt ukratko
Contact Details,Kontakt podaci
Contact Email,Kontakt email
Contact HTML,Kontakt HTML
Contact Info,Kontakt Informacije
Contact Mobile No,Kontak GSM
Contact Name,Kontakt ime
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 / Ime osobe
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,Direktorij podatkovne baze ID
Database of potential customers.,Baza potencijalnih kupaca.
Date,Datum
Date Format,Oblik datuma
Date Of Retirement,Datum odlaska u mirovinu
Date Of Retirement must be greater than Date of Joining,Datum umirovljenja mora biti veći od datuma pristupa
Date is repeated,Datum se ponavlja
Date of Birth,Datum rođenja
Date of Issue,Datum izdavanja
Date of Joining,Datum pristupa
Date of Joining must be greater than Date of Birth,Datum pristupa mora biti veći od datuma rođenja
Date on which lorry started from supplier warehouse,Datum kojeg je kamion krenuo sa dobavljačeva skladišta
Date on which lorry started from your warehouse,Datum kojeg je kamion otišao sa Vašeg skladišta
Dates,Datumi
Days Since Last Order,Dana od posljednje narudžbe
Days for which Holidays are blocked for this department.,Dani za koje su praznici blokirani za ovaj odjel.
Dealer,Trgovac
Debit,Zaduženje
Debit Amt,Rashod Amt
Debit Note,Rashodi - napomena
Debit To,Rashodi za
Debit and Credit not equal for this voucher. Difference is {0}.,Rashodi i kreditiranje nisu jednaki za ovog jamca. Razlika je {0} .
Deduct,Odbiti
Deduction,Odbitak
Deduction Type,Tip odbitka
Deduction1,Odbitak 1
Deductions,Odbici
Default,Zadano
Default Account,Zadani račun
Default Address Template cannot be deleted,Zadani predložak adrese ne može se 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.,"Zadana banka / novčani račun će se automatski ažurirati prema POS računu, kada je ovaj mod odabran."
Default Bank Account,Zadani bankovni račun
Default Buying Cost Center,Zadani trošak kupnje
Default Buying Price List,Zadani cjenik kupnje
Default Cash Account,Zadani novčani račun
Default Company,Zadana tvrtka
Default Currency,Zadana valuta
Default Customer Group,Zadana grupa korisnika
Default Expense Account,Zadani račun rashoda
Default Income Account,Zadani račun prihoda
Default Item Group,Zadana grupa artikala
Default Price List,Zadani cjenik
Default Purchase Account in which cost of the item will be debited.,Zadani račun kupnje - na koji će trošak artikla biti terećen.
Default Selling Cost Center,Zadani trošak prodaje
Default Settings,Zadane postavke
Default Source Warehouse,Zadano izvorno skladište
Default Stock UOM,Zadana kataloška mjerna jedinica
Default Supplier,Glavni dobavljač
Default Supplier Type,Zadani tip dobavljača
Default Target Warehouse,Centralno skladište
Default Territory,Zadani teritorij
Default Unit of Measure,Zadana mjerna jedinica
"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.","Zadana mjerna jedinica ne može se mijenjati izravno, jer ste već napravili neku transakciju sa drugom mjernom jedinicom. Za promjenu zadane mjerne jedinice, koristite 'Alat za mijenjanje mjernih jedinica' alat preko Stock modula."
Default Valuation Method,Zadana metoda vrednovanja
Default Warehouse,Glavno skladište
Default Warehouse is mandatory for stock Item.,Glavno skladište je obvezno za zalihu artikala.
Default settings for accounting transactions.,Zadane postavke za računovodstvene poslove.
Default settings for buying transactions.,Zadane postavke za transakciju kupnje.
Default settings for selling transactions.,Zadane postavke za transakciju prodaje.
Default settings for stock transactions.,Zadane postavke za burzovne transakcije.
Defense,Obrana
"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,Izbr
Delete,Izbrisati
Delete {0} {1}?,Izbrisati {0} {1} ?
Delivered,Isporučeno
Delivered Items To Be Billed,Isporučeni proizvodi za naplatiti
Delivered Qty,Isporučena količina
Delivered Serial No {0} cannot be deleted,Isporučeni serijski broj {0} se ne može izbrisati
Delivery Date,Datum isporuke
Delivery Details,Detalji isporuke
Delivery Document No,Dokument isporuke br
Delivery Document Type,Dokument isporuke - tip
Delivery Note,Otpremnica
Delivery Note Item,Otpremnica artikla
Delivery Note Items,Otpremnica artikala
Delivery Note Message,Otpremnica - poruka
Delivery Note No,Otpremnica br
Delivery Note Required,Potrebna je otpremnica
Delivery Note Trends,Trendovi otpremnica
Delivery Note {0} is not submitted,Otpremnica {0} nije potvrđena
Delivery Note {0} must not be submitted,Otpremnica {0} ne smije biti potvrđena
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Otpremnica {0} mora biti otkazana prije poništenja ove narudžbenice
Delivery Status,Status isporuke
Delivery Time,Vrijeme isporuke
Delivery To,Dostava za
Department,Odjel
Department Stores,Robne kuće
Depends on LWP,Ovisi o LWP
Depreciation,Amortizacija
Description,Opis
Description HTML,HTML opis
Designation,Oznaka
Designer,Imenovatelj
Detailed Breakup of the totals,Detaljni raspada ukupnim
Details,Detalji
Difference (Dr - Cr),Razlika ( dr. - Cr )
Difference Account,Račun razlike
"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 mjerne jedinice artikala će dovesti do ukupne pogrešne neto težine. Budite sigurni da je neto težina svakog artikla u istoj mjernoj jedinici.
Direct Expenses,Izravni troškovi
Direct Income,Izravni dohodak
Disable,Ugasiti
Disable Rounded Total,Ugasiti zaokruženi iznos
Disabled,Ugašeno
Discount  %,Popust%
Discount %,Popust%
Discount (%),Popust (%)
Discount Amount,Iznos popusta
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Popust polja će biti dostupna u narudžbenici, primci i računu kupnje"
Discount Percentage,Postotak popusta
Discount Percentage can be applied either against a Price List or for all Price List.,Postotak popusta se može neovisno primijeniti prema jednom ili za više cjenika.
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 artikle isporučene sa glavnim artiklima
Distribute transport overhead across items.,Podijeliti cijenu prijevoza prema artiklima.
Distribution,Distribucija
Distribution Id,ID distribucije
Distribution Name,Naziv distribucije
Distributor,Distributer
Divorced,Rastavljen
Do Not Contact,Ne kontaktirati
Do not show any symbol like $ etc next to currencies.,Ne pokazati nikakav simbol kao $ iza valute.
Do really want to unstop production order: ,Želite li ponovno pokrenuti proizvodnju:
Do you really want to STOP ,Želite li stvarno stati
Do you really want to STOP this Material Request?,Želite li stvarno stopirati ovaj zahtjev za materijalom?
Do you really want to Submit all Salary Slip for month {0} and year {1},Želite li zaista podnijeti sve klizne plaće za mjesec {0} i godinu {1}
Do you really want to UNSTOP ,Želite li zaista pokrenuti
Do you really want to UNSTOP this Material Request?,Želite li stvarno ponovno pokrenuti ovaj zahtjev za materijalom?
Do you really want to stop production order: ,Želite li stvarno prekinuti proizvodnju:
Doc Name,Doc ime
Doc Type,Doc tip
Document Description,Opis dokumenta
Document Type,Tip dokumenta
Documents,Dokumenti
Domain,Domena
Don't send Employee Birthday Reminders,Ne šaljite podsjetnik za rođendan zaposlenika
Download Materials Required,Preuzmite - Potrebni materijali
Download Reconcilation Data,Preuzmite Rekoncilijacijske 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 statusom inventara
"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,Nepotvrđeno
Dropbox,Dropbox
Dropbox Access Allowed,Dozvoljen pristup Dropboxu
Dropbox Access Key,Dropbox pristupni ključ
Dropbox Access Secret,Dropbox tajni pristup
Due Date,Datum dospijeća
Due Date cannot be after {0},Datum dospijeća ne može biti poslije {0}
Due Date cannot be before Posting Date,Datum dospijeća ne može biti prije datuma objavljivanja
Duplicate Entry. Please check Authorization Rule {0},Dupli unos. Provjerite pravila za autorizaciju {0}
Duplicate Serial No entered for Item {0},Dupli serijski broj unešen za artikal {0}
Duplicate entry,Dupli unos
Duplicate row {0} with same {1},Dupli red {0} sa istim {1}
Duties and Taxes,Carine i porezi
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,Troškovi struje
Electricity cost per hour,Troškovi struje 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?,Je li e-mail poslan?
"Email id must be unique, already exists for {0}","Email ID 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,Hitni 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,Ukupno za platiti
Grand Total (Company Currency),Sveukupno (valuta tvrtke)
"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,Riječima
In Words (Company Currency),Riječima (valuta tvrtke)
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,Artikl
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,Ime i opis
Name and Employee ID,Ime i ID zaposlenika
"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 stvarate račune za kupce i dobavljače, oni se automatski stvaraju od postojećih klijenata i dobavljača"
Name of person or organization that this address belongs to.,Ime osobe ili organizacije kojoj 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štena
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 vrijednovanja nije dopuštena
Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},Negativna bilanca u batch {0} za artikl {1} na skladište {2} na {3} {4}
Net Pay,Neto plaća
Net Pay (in words) will be visible once you save the Salary Slip.,Neto plaća (riječima) će biti vidljiva nakon što spremite klizne plaće.
Net Profit / Loss,Neto dobit / gubitak
Net Total,Osnovica
Net Total (Company Currency),Neto Ukupno (Društvo valuta)
Net Weight,Neto težina
Net Weight UOM,Težina mjerna jedinica
Net Weight of each Item,Težina svakog artikla
Net pay cannot be negative,Neto plaća ne može biti negativna
Never,Nikad
New ,Novi
New Account,Novi račun
New Account Name,Naziv novog računa
New BOM,Novi BOM
New Communications,Novi komunikacije
New Company,Nova tvrtka
New Cost Center,Novi trošak
New Cost Center Name,Novi troška Naziv
New Delivery Notes,Nove otpremnice
New Enquiries,Novi upiti
New Leads,Novi potencijalni kupci
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 kupnje
New Purchase Receipts,Novi primke kupnje
New Quotations,Nove ponude
New Sales Orders,Nove narudžbenice
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Novi serijski broj ne može 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,Težina paketa - 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,Detalji pakiranja
Packing List,Popis pakiranja
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,Ime stranice
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,Pasiva
Passport Number,Putovnica Broj
Password,Zaporka
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,Poštanski broj
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,Kvaliteta
Quality Inspection,Provjera kvalitete
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,Ponuda
Quotation Item,Artikl iz ponude
Quotation Items,Artikli iz ponude
Quotation Lost Reason,Razlog nerealizirane ponude
Quotation Message,Ponuda - poruka
Quotation To,Ponuda za
Quotation Trends,Trendovi ponude
Quotation {0} is cancelled,Ponuda {0} je otkazana
Quotation {0} not of type {1},Ponuda {0} nije tip {1}
Quotations received from Suppliers.,Ponude dobivene od dobavljača.
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,VPC
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,Zaokruženi iznos
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,Plaća
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,Prodaja
Sales Analytics,Prodajna 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,Prodajni detalji
Sales Discounts,Prodajni popusti
Sales Email Settings,Prodajne email postavke
Sales Expenses,Prodajni troškovi
Sales Extras,Prodajni dodaci
Sales Funnel,prodaja dimnjak
Sales Invoice,Prodajni račun
Sales Invoice Advance,Predujam prodajnog računa
Sales Invoice Item,Prodajni artikal
Sales Invoice Items,Prodajni artikli
Sales Invoice Message,Poruka prodajnog  računa
Sales Invoice No,Prodajni račun br
Sales Invoice Trends,Trendovi prodajnih računa
Sales Invoice {0} has already been submitted,Prodajni računi {0} su već potvrđeni
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,Narudžba kupca
Sales Order Date,Datum narudžbe (kupca)
Sales Order Item,Naručeni artikal - prodaja
Sales Order Items,Naručeni artikli - prodaja
Sales Order Message,Poruka narudžbe kupca
Sales Order No,Broj narudžbe kupca
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,Prodajni partner
Sales Partner Name,Prodaja Ime partnera
Sales Partner Target,Prodaja partner Target
Sales Partners Commission,Prodaja Partneri komisija
Sales Person,Prodajna osoba
Sales Person Name,Ime prodajne osobe
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,Povrat robe
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,Prodaje i kupnje
Sales campaigns.,Prodajne 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 brend ...
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 fiskalnu godinu ...
Select Items,Odaberite artikle
Select Project...,Odaberite projekt ...
Select Purchase Receipts,Odaberite primku
Select Sales Orders,Odaberite narudžbe kupca
Select Sales Orders from which you want to create Production Orders.,Odaberite narudžbe iz kojih ž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 transakciju
Select Warehouse...,Odaberite skladište ...
Select Your Language,Odaberite 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.,Prvo odaberite naziv tvrtke.
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 kome želite poslati ovaj bilten
Select your home country and check the timezone and currency.,Odaberite zemlju 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,Postavke prodaje
"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,Br
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,Ciljani 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,Oporezivo
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}
