 (Half Day),(Poludnevni)
 .You can not assign / modify / remove Master Name,
 Quantity should be greater than 0.,
 after this transaction.,
 against cost center ,
 against sales order,protiv prodajnog naloga
 against same operation,protiv istog radu
 already marked,Već obilježena
 and fiscal year : ,
 and year: ,i godina:
 as it is stock Item or packing item,kao što je dionica artikla ili pakiranje stavku
 at warehouse: ,na skladištu:
 budget ,
 can not be created/modified against stopped Sales Order ,
 can not be deleted,
 can not be made.,ne može biti.
 can not be received twice,
 can only be debited/credited through Stock transactions,
 created,
 does not belong to ,
 does not belong to Warehouse,
 does not belong to the company,ne pripadaju tvrtki
 does not exists,
 for account ,
 has been freezed. ,je freezed.
 is a frozen account. Either make the account active or assign role in Accounts Settings who can create / modify entries against this account,
" is a frozen account. To create / edit transactions against this account, you need role",
" is less than equals to zero in the system, valuation rate is mandatory for this item",
 is mandatory,je obavezno
 is mandatory for GL Entry,je obvezna za upis GL
 is not a ledger,nije knjiga
 is not active,nije aktivan
 is not submitted document,
" is now the default Fiscal Year. \
			Please refresh your browser for the change to take effect.",
 not active or does not exists in the system,Nije aktivan ili ne postoji u sustavu
 or the BOM is cancelled or inactive,ili BOM je otkazan ili neaktivne
 should be same as that in ,bi trebao biti isti kao u
 was on leave on ,bio na dopustu na
 will be ,biti
 will be created,
 will be over-billed against mentioned ,će biti više-naplaćeno protiv spomenuto
 will become ,će postati
 will exceed by ,
""" 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
%(conversion_rate_label)s is mandatory. Maybe Currency Exchange record is not created for %(from_currency)s to %(to_currency)s,% ( conversion_rate_label ) s je obavezno . Možda Mjenjačnica zapis nije stvoren za % ( from_currency ) s% ( to_currency ) s
' in Company: ,&#39;U tvrtki:
'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;
"(Paid amount + Write Off Amount) can not be \
				greater than Grand Total",
(Total) Net Weight value. Make sure that Net Weight of each item is,( Ukupno ) Neto vrijednost težine . Uvjerite se da je neto težina svake stavke
* Will be calculated in the transaction.,* Hoće li biti izračunata u transakciji.
"**Budget Distribution** helps you distribute your budget across months if you have seasonality in your business.

To distribute a budget using this distribution, set this **Budget Distribution** in the **Cost Center**",
**Currency** Master,Valuta ** ** Master
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,Fiskalna godina ** ** predstavlja financijsku godinu. Svi računovodstvene unose i druge glavne transakcije su praćeni od ** fiskalnu godinu **.
". Outstanding cannot be less than zero. \
			 	Please match exact outstanding.",
. Please set status of the employee as 'Left',. Molimo postavite status zaposlenika kao &#39;lijevi&#39;
. You can not mark his attendance as 'Present',. Ne možete označiti svoj dolazak kao &quot;sadašnjost&quot;
01,01
02,02
03,03
04,04
05,05
06,06
07,07
08,08
09,09
"1 Currency = [?] Fraction
For e.g. 1 USD = 100 Cent",
1. To maintain the customer wise item code and to make them searchable based on their code use this option,1. Za održavanje kupaca mudar Šifra i kako bi ih pretraživati ​​na temelju svog koda koristiti ovu opciju
10,10
11,11
12,12
2,2
3,3
4,4
5,5
6,6
: Duplicate row from same ,: Dvostruki red od istog
: It is linked to other active BOM(s),: To je povezano s drugom aktivnom BOM (e)
: Mandatory for a Recurring Invoice.,: Obvezni za Ponavljajući fakture.
"<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 < />"
"<a href=""https://en.wikipedia.org/wiki/Transport_Layer_Security"" target=""_blank"">[?]</a>","<a href=""https://en.wikipedia.org/wiki/Transport_Layer_Security"" target""_blank""> [ ? ] < / a>"
A Customer exists with same name,Kupac postoji s istim imenom
A Lead with this email id should exist,Olovo s ovom e-mail id trebala postojati
"A Product or a Service that is bought, sold or kept in stock.","Proizvod ili usluga koji je kupio, prodao ili čuva u skladištu."
A Supplier exists with same name,Dobavljač postoji s istim imenom
A condition for a Shipping Rule,Uvjet za otprema pravilu
A logical Warehouse against which stock entries are made.,Logično Skladište protiv kojih dionica unosi su napravili.
A symbol for this currency. For e.g. $,Simbol za ovu valutu. Za npr. $
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Treća strana distributer / prodavač / komisionar / suradnik / prodavač koji prodaje tvrtke proizvode za proviziju.
A+,+
A-,-
AB+,AB +
AB-,AB-
AMC Expiry Date,AMC Datum isteka
AMC expiry date and maintenance status mismatched,AMC datum isteka i status održavanje neprilagođeno
ATT,ATT
Abbr,Abbr
About ERPNext,O ERPNext
Above Value,Iznad Vrijednost
Absent,Odsutan
Acceptance Criteria,Kriterij prihvaćanja
Accepted,Primljen
Accepted Quantity,Prihvaćeno Količina
Accepted Warehouse,Prihvaćeno galerija
Account,račun
Account ,
Account Balance,Stanje računa
Account Details,Account Details
Account Head,Račun voditelj
Account Name,Naziv računa
Account Type,Vrsta računa
Account expires on,Račun istječe
Account for the warehouse (Perpetual Inventory) will be created under this Account.,Račun za skladište ( Perpetual inventar) stvorit će se na temelju ovog računa .
Account for this ,Račun za to
Accounting,Računovodstvo
Accounting Entries are not allowed against groups.,Računovodstvenih unosa nije dopušteno protiv skupine .
"Accounting Entries can be made against leaf nodes, called","Računovodstvo Prijave se mogu podnijeti protiv lisnih čvorova , pozvao"
Accounting Year.,Računovodstvo godina.
"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 Frozen Upto,Računi Frozen Upto
Accounts Payable,Računi naplativo
Accounts Receivable,Potraživanja
Accounts Settings,Računi Postavke
Action,Akcija
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 calendar on this date,Dodaj u kalendar ovog datuma
Add/Remove Recipients,Dodaj / Ukloni primatelja
Additional Info,Dodatne informacije
Address,Adresa
Address & Contact,Adresa &amp; Kontakt
Address & Contacts,Adresa i kontakti
Address Desc,Adresa Desc
Address Details,Adresa Detalji
Address HTML,Adresa HTML
Address Line 1,Adresa Linija 1
Address Line 2,Adresa Linija 2
Address Title,Adresa Naslov
Address Type,Adresa Tip
Advance Amount,Predujam Iznos
Advance amount,Predujam iznos
Advances,Napredak
Advertisement,Reklama
After Sale Installations,Nakon prodaje postrojenja
Against,Protiv
Against Account,Protiv računa
Against Docname,Protiv Docname
Against Doctype,Protiv DOCTYPE
Against Document Detail No,Protiv dokumenta Detalj No
Against Document No,Protiv dokumentu nema
Against Expense Account,Protiv Rashodi račun
Against Income Account,Protiv računu dohotka
Against Journal Voucher,Protiv Journal Voucheru
Against 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
Agent,Agent
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. 

The package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".

For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.

Note: BOM = Bill of Materials",
Aging Date,Starenje Datum
All Addresses.,Sve adrese.
All Contact,Sve Kontakt
All Contacts.,Svi kontakti.
All Customer Contact,Sve Kupac Kontakt
All Day,All Day
All Employee (Active),Sve zaposlenika (aktivna)
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 Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Sve transakcije prodaje mogu biti označene protiv više osoba ** prodajnim **, tako da možete postaviti i pratiti ciljeve."
All Supplier Contact,Sve Dobavljač Kontakt
All Supplier Types,Sve vrste Supplier
"All export related fields like currency, conversion rate, export total, export grand total etc are available in <br>
Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.",
"All import related fields like currency, conversion rate, import total, import grand total etc are available in <br>
Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.",
Allocate,Dodijeliti
Allocate leaves for the year.,Dodjela lišće za godinu dana.
Allocated Amount,Dodijeljeni iznos
Allocated Budget,Dodijeljeni proračuna
Allocated amount,Dodijeljeni iznos
Allow Bill of Materials,Dopustite Bill materijala
Allow Dropbox Access,Dopusti pristup Dropbox
Allow For Users,Dopustite Za korisnike
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
Allowed Role to Edit Entries Before Frozen Date,Dopuštenih uloga za uređivanje upise Prije Frozen Datum
Always use above Login Id as sender,Uvijek koristite iznad Id Prijava kao pošiljatelja
Amended From,Izmijenjena Od
Amount,Iznos
Amount (Company Currency),Iznos (Društvo valuta)
Amount <=,Iznos &lt;=
Amount >=,Iznos&gt; =
Amount to Bill,Iznositi Billa
Analytics,Analitika
Another Period Closing Entry,Drugi period Zatvaranje Stupanje
Another Salary Structure '%s' is active for employee '%s'. Please make its status 'Inactive' to proceed.,Drugi Plaća Struktura ' % s ' je aktivan zaposlenik ' % s ' . 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."
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 zahtjeva za posao
Applicant for a Job.,Podnositelj prijave za posao.
Applications for leave.,Prijave za odmor.
Applies to Company,Odnosi se na Društvo
Apply / Approve Leaves,Nanesite / Odobri lišće
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
Approval Status,Status odobrenja
Approved,Odobren
Approver,Odobritelj
Approving Role,Odobravanje ulogu
Approving User,Odobravanje korisnika
Are you sure you want to STOP ,
Are you sure you want to UNSTOP ,
Arrear Amount,Iznos unatrag
"As Production Order can be made for this item, \
				it must be a stock item.",
As existing qty for item: ,Kao postojeće Qty za stavke:
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'"
Atleast one warehouse is mandatory,Atleast jednom skladištu je obavezno
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 the employee: ,Gledatelja za zaposlenika:
Attendance record.,Gledatelja rekord.
Authorization Control,Odobrenje kontrole
Authorization Rule,Autorizacija Pravilo
Auto Accounting For Stock Settings,Auto Računovodstvo za dionice Settings
Auto Email Id,Auto E-mail ID
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 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
Autoreply when a new mail is received,Automatski kad nova pošta je dobila
Available,dostupan
Available Qty at Warehouse,Dostupno Kol na galeriju
Available Stock for Packing Items,Dostupno Stock za pakiranje artikle
"Available in 
BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet",
Average Age,Prosječna starost
Average Commission Rate,Prosječna stopa komisija
Average Discount,Prosječna Popust
B+,B +
B-,B-
BILL,Bill
BILLJ,BILLJ
BOM,BOM
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 replaced,BOM zamijeniti
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 Value,Bilanca Vrijednost
"Balances of Accounts of type ""Bank or Cash""",Sredstva računi tipa &quot;banke ili u gotovini&quot;
Bank,Banka
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 Name,Ime banke
Bank Reconciliation,Banka pomirenje
Bank Reconciliation Detail,Banka Pomirenje Detalj
Bank Reconciliation Statement,Izjava banka pomirenja
Bank Voucher,Banka bon
Bank or Cash,Banka ili gotovina
Bank/Cash Balance,Banka / saldo
Barcode,Barkod
Based On,Na temelju
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 Time Logs for billing.,Hrpa Vrijeme Trupci za naplatu.
Batch-Wise Balance History,Batch-Wise bilanca Povijest
Batched for Billing,Izmiješane za naplatu
"Before proceeding, please create Customer from Lead","Prije nego što nastavite , molim te stvoriti kupac iz Olovo"
Better Prospects,Bolji izgledi
Bill Date,Bill Datum
Bill No,Bill Ne
Bill of Material to be considered for manufacturing,Bill of material treba uzeti u obzir za proizvodnju
Bill of Materials,Bill materijala
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
Birthday,rođendan
Block Date,Blok Datum
Block Days,Blok Dani
Block Holidays on important days.,Blok Odmor o važnim dana.
Block leave applications by department.,Blok ostaviti aplikacija odjelu.
Blog Post,Blog post
Blog Subscriber,Blog Pretplatnik
Blood Group,Krv Grupa
Both Income and Expense balances are zero. No Need to make Period Closing Entry.,Oba Prihodi i rashodi sredstva su nula . Nema potrebe da se Zatvaranje razdoblja unos .
Both Warehouse must belong to same Company,Oba Skladište mora pripadati istoj tvrtki
Branch,Grana
Brand,Marka
Brand Name,Brand Name
Brand master.,Marka majstor.
Brands,Marke
Breakdown,Slom
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
Build Report,Izgradite Prijavite
Bulk Rename,Bulk Rename
Bummer! There are more holidays than working days this month.,Sori! Postoji više od blagdana radnih dana ovog mjeseca.
Bundle items at time of sale.,Bala stavke na vrijeme prodaje.
Buyer of Goods and Services.,Kupac robe i usluga.
Buying,Kupovina
Buying Amount,Kupnja Iznos
Buying Settings,Kupnja postavki
By,Po
C-FORM/,C-FORM /
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
CI/2010-2011/,CI/2010-2011 /
COMM-,COMM-
CUST,Cust
CUSTMUM,CUSTMUM
Calculate Based On,Izračunajte Na temelju
Calculate Total Score,Izračunajte ukupni rezultat
Calendar Events,Kalendar događanja
Call,Nazvati
Campaign,Kampanja
Campaign Name,Naziv kampanje
"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"
Cancelled,Otkazan
Cancelling this Stock Reconciliation will nullify its effect.,Otkazivanje Ove obavijesti pomirenja će poništiti svoj ​​učinak .
Cannot ,Ne mogu
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 ostaviti kao što nisu ovlašteni za odobravanje ostavlja na Block Datumi.
Cannot change Year Start Date and Year End Date once the Fiscal Year is saved.,Ne mogu promijeniti godina datum početka i datum završetka Godina jednomFiskalna godina se sprema .
Cannot continue.,Ne može se nastaviti.
"Cannot declare as lost, because Quotation has been made.","Ne može proglasiti izgubili , jer citat je napravio ."
"Cannot delete Serial No in warehouse. \
				First remove from warehouse, then delete.",
Cannot set as Lost as Sales Order is made.,Ne mogu se postaviti kao izgubljen kao prodajnog naloga je napravio .
Capacity,Kapacitet
Capacity Units,Kapacitet jedinice
Carry Forward,Prenijeti
Carry Forwarded Leaves,Nosi proslijeđen lišće
Case No. cannot be 0,Slučaj broj ne može biti 0
Cash,Gotovina
Cash Voucher,Novac bon
Cash/Bank Account,Novac / bankovni račun
Category,Kategorija
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,Naboj
Chargeable,Naplativ
Chart of Accounts,Kontnog
Chart of Cost Centers,Grafikon troškovnih centara
Chat,Razgovor
Check all the items below that you want to send in this digest.,Provjerite sve stavke u nastavku koje želite poslati u ovom svariti.
Check for Duplicates,Provjerite duplikata
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 send emails as this id only (in case of restriction by your email provider).,"Provjerite to, ako želite poslati e-mail, jer to samo ID (u slučaju ograničenja po vašem e-mail usluga)."
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
Cheque,Ček
Cheque Date,Ček Datum
Cheque Number,Ček Broj
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
Classification of Customers by region,Klasifikacija kupaca po regiji
Clear Table,Jasno Tablica
Clearance Date,Razmak Datum
Click here to buy subscription.,Kliknite ovdje za kupiti pretplatu .
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,Kliknite na &quot;Make prodaje Račun &#39;gumb za stvaranje nove prodaje fakture.
Click on a link to get options to expand get options ,
Client,Klijent
Close Balance Sheet and book Profit or Loss.,Zatvori bilanca i knjiga dobit ili gubitak .
Closed,Zatvoreno
Closing Account Head,Zatvaranje računa šefa
Closing Date,Datum zatvaranja
Closing Fiscal Year,Zatvaranje Fiskalna godina
Closing Qty,zatvaranje Kol
Closing Value,zatvaranje vrijednost
CoA Help,CoA Pomoć
Cold Calling,Hladno pozivanje
Color,Boja
Comma separated list of email addresses,Zarez odvojen popis e-mail adrese
Comments,Komentari
Commission Rate,Komisija Stopa
Commission Rate (%),Komisija stopa (%)
Commission partners and targets,Komisija partneri i ciljevi
Commit Log,obvezati Prijava
Communication,Komunikacija
Communication HTML,Komunikacija HTML
Communication History,Komunikacija Povijest
Communication Medium,Komunikacija srednje
Communication log.,Komunikacija dnevnik.
Communications,Communications
Company,Društvo
Company Abbreviation,Kratica Društvo
Company Details,Tvrtka Detalji
Company Email,tvrtka E-mail
Company Info,Podaci o tvrtki
Company Master.,Tvrtka Master.
Company Name,Ime tvrtke
Company Settings,Tvrtka Postavke
Company branches.,Tvrtka grane.
Company departments.,Tvrtka odjeli.
Company is missing in following warehouses,Tvrtka je nestalo u sljedećim skladišta
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"
Complaint,Prigovor
Complete,Dovršiti
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
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
Consumable Cost,potrošni cost
Consumable cost per hour,Potrošni cijena po satu
Consumed Qty,Potrošeno Kol
Contact,Kontaktirati
Contact Control,Kontaktirajte kontrolu
Contact Desc,Kontakt ukratko
Contact Details,Kontakt podaci
Contact Email,Kontakt e
Contact HTML,Kontakt HTML
Contact Info,Kontakt Informacije
Contact Mobile No,Kontaktirajte Mobile Nema
Contact Name,Kontakt Naziv
Contact No.,Kontakt broj
Contact Person,Kontakt osoba
Contact Type,Vrsta kontakta
Content,Sadržaj
Content Type,Vrsta sadržaja
Contra Voucher,Contra bon
Contract End Date,Ugovor Datum završetka
Contribution (%),Doprinos (%)
Contribution to Net Total,Doprinos neto Ukupno
Conversion Factor,Konverzijski faktor
Conversion Factor of UOM: %s should be equal to 1. As UOM: %s is Stock UOM of Item: %s.,Pretvorba čimbenik UOM : % s treba biti jednak 1 . Kao UOM : % s je Stock UOM točke : % s .
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
Cost Center,Troška
Cost Center Details,Troška Detalji
Cost Center Name,Troška Name
Cost Center must be specified for PL Account: ,Troška mora biti navedeno za PL račun:
Costing,Koštanje
Country,Zemlja
Country Name,Država Ime
"Country, Timezone and Currency","Država , vremenske zone i valute"
Create,Stvoriti
Create Bank Voucher for the total salary paid for the above selected criteria,Stvaranje Bank bon za ukupne plaće isplaćene za gore odabranih kriterija
Create Customer,izraditi korisnika
Create Material Requests,Stvaranje materijalni zahtijevi
Create New,Stvori novo
Create Opportunity,Stvaranje prilika
Create Production Orders,Stvaranje radne naloge
Create Quotation,stvaranje citata
Create Receiver List,Stvaranje Receiver popis
Create Salary Slip,Stvaranje plaće Slip
Create Stock Ledger Entries when you submit a Sales Invoice,Otvori Stock stavke knjige kada podnijeti prodaje fakture
Create and Send Newsletters,Stvaranje i slati newslettere
Created Account Head: ,Objavljeno račun Voditelj:
Created By,Stvorio
Created Customer Issue,Objavljeno Kupac Issue
Created Group ,Objavljeno Group
Created Opportunity,Objavljeno Opportunity
Created Support Ticket,Objavljeno Podrška karata
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 Voucher,Kreditne kartice bon
Credit Controller,Kreditne kontroler
Credit Days,Kreditne Dani
Credit Limit,Kreditni limit
Credit Note,Kreditne Napomena
Credit To,Kreditne Da
Credited account (Customer) is not matching with Sales Invoice,U korist računa ( Customer ) ne odgovara s prodajne fakture
Cross Listing of Item in multiple groups,Križ Oglas stavke u više grupa
Currency,Valuta
Currency Exchange,Mjenjačnica
Currency Name,Valuta Ime
Currency Settings,Valuta Postavke
Currency and Price List,Valuta i cjenik
Currency is missing for Price List,Valuta nedostaje za Cjeniku
Current Address,Trenutna adresa
Current Address Is,Trenutni Adresa je
Current BOM,Trenutni BOM
Current Fiscal Year,Tekuće fiskalne godine
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 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 Code,Kupac Šifra
Customer Codes,Kupac Kodovi
Customer Details,Korisnički podaci
Customer Discount,Kupac Popust
Customer Discounts,Kupac Popusti
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 classification tree.,Kupac klasifikacija stablo.
Customer database.,Kupac baze.
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
Customization,Prilagođavanje
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,DN
DN Detail,DN Detalj
Daily,Svakodnevno
Daily Time Log Summary,Dnevno vrijeme Log Profila
Data Import,Uvoz podataka
Database Folder ID,Baza mapa ID
Database of potential customers.,Baza potencijalnih kupaca.
Date,Datum
Date Format,Datum Format
Date Of Retirement,Datum odlaska u mirovinu
Date and Number Settings,Datum i broj Postavke
Date is repeated,Datum se ponavlja
Date of Birth,Datum rođenja
Date of Issue,Datum izdavanja
Date of Joining,Datum Ulazak
Date on which lorry started from supplier warehouse,Datum na koji je kamion počeo od dobavljača skladištu
Date on which lorry started from your warehouse,Datum na koji je kamion počeo iz skladišta
Dates,Termini
Days Since Last Order,Dana od posljednjeg reda
Days for which Holidays are blocked for this department.,Dani za koje Praznici su blokirane za ovaj odjel.
Dealer,Trgovac
Debit,Zaduženje
Debit Amt,Rashodi Amt
Debit Note,Rashodi Napomena
Debit To,Rashodi za
Debit and Credit not equal for this voucher: Diff (Debit) is ,
Debit or Credit,Itnim
Debited account (Supplier) is not matching with Purchase Invoice,Terećen račun ( dobavljač ) ne odgovara s kupnje proizvoda
Deduct,Odbiti
Deduction,Odbitak
Deduction Type,Odbitak Tip
Deduction1,Deduction1
Deductions,Odbici
Default,Zadani
Default Account,Zadani račun
Default BOM,Zadani BOM
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,"Zadani banka / Novčani račun će se automatski ažuriraju u POS računu, kada je ovaj mod odabran."
Default Bank Account,Zadani bankovni račun
Default Buying Price List,Default Kupnja Cjenik
Default Cash Account,Default Novac račun
Default Company,Zadani Tvrtka
Default Cost Center,Zadani troška
Default Cost Center for tracking expense for this item.,Zadani troška za praćenje trošak za tu stavku.
Default Currency,Zadani valuta
Default Customer Group,Zadani Korisnik Grupa
Default Expense Account,Zadani Rashodi račun
Default Income Account,Zadani Prihodi račun
Default Item Group,Zadani artikla Grupa
Default Price List,Zadani Cjenik
Default Purchase Account in which cost of the item will be debited.,Zadani Kupnja računa na koji trošak stavke će biti terećen.
Default Settings,Tvorničke postavke
Default Source Warehouse,Zadani Izvor galerija
Default Stock UOM,Zadani kataloški UOM
Default Supplier,Default Dobavljač
Default Supplier Type,Zadani Dobavljač Tip
Default Target Warehouse,Zadani Ciljana galerija
Default Territory,Zadani Regija
Default UOM updated in item ,
Default Unit of Measure,Zadani Jedinica mjere
"Default Unit of Measure can not be changed directly because you have already made some transaction(s) with another UOM. To change default UOM, use 'UOM Replace Utility' tool under Stock module.","Default Jedinica mjere ne mogu se mijenjati izravno, jer ste već napravili neku transakciju (e) s drugim UOM . Za promjenu zadanog UOM , koristite ' UOM zamijeni Utility ' alat pod burzi modula ."
Default Valuation Method,Zadani metoda vrednovanja
Default Warehouse,Default Warehouse
Default Warehouse is mandatory for Stock Item.,Default skladišta obvezan je za Stock točke.
Default settings for Shopping Cart,Zadane postavke za Košarica
"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>"
Delete,Izbrisati
Delivered,Isporučena
Delivered Items To Be Billed,Isporučena Proizvodi se naplaćuje
Delivered Qty,Isporučena Kol
Delivered Serial No ,
Delivery Date,Dostava Datum
Delivery Details,Detalji o isporuci
Delivery Document No,Dostava Dokument br
Delivery Document Type,Dostava Document Type
Delivery Note,Obavještenje o primanji pošiljke
Delivery Note Item,Otpremnica artikla
Delivery Note Items,Način Napomena Stavke
Delivery Note Message,Otpremnica Poruka
Delivery Note No,Dostava Napomena Ne
Delivery Note Required,Dostava Napomena Obavezno
Delivery Note Trends,Otpremnici trendovi
Delivery Status,Status isporuke
Delivery Time,Vrijeme isporuke
Delivery To,Dostava na
Department,Odsjek
Depends on LWP,Ovisi o lwp
Description,Opis
Description HTML,Opis HTML
Description of a Job Opening,Opis posla otvorenje
Designation,Oznaka
Detailed Breakup of the totals,Detaljni raspada ukupnim
Details,Detalji
Difference,Razlika
Difference Account,Razlika račun
Different UOM for items will lead to incorrect,Različite UOM za stavke će dovesti do pogrešne
Disable Rounded Total,Bez Zaobljeni Ukupno
Discount  %,Popust%
Discount %,Popust%
Discount (%),Popust (%)
"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Popust Polja će biti dostupan u narudžbenice, Otkup primitka, Otkup fakturu"
Discount(%),Popust (%)
Display all the individual items delivered with the main items,Prikaži sve pojedinačne stavke isporučuju s glavnim stavkama
Distinct unit of an Item,Razlikovna jedinica stavku
Distribute transport overhead across items.,Podijeliti prijevoz pretek preko stavke.
Distribution,Distribucija
Distribution Id,Distribucija Id
Distribution Name,Distribucija Ime
Distributor,Distributer
Divorced,Rastavljen
Do Not Contact,Ne Kontaktiraj
Do not show any symbol like $ etc next to currencies.,Ne pokazuju nikakav simbol kao $ itd uz valutama.
Do you really want to STOP ,
Do you really want to STOP this Material Request?,Da li stvarno želite prestati s ovom materijalnom zahtjev ?
Do you really want to Submit all Salary Slip for month : ,
Do you really want to UNSTOP ,
Do you really want to UNSTOP this Material Request?,Da li stvarno želite otpušiti ovaj materijal zahtjev ?
Doc Name,Doc Ime
Doc Type,Doc Tip
Document Description,Dokument Opis
Document Type,Document Type
Documentation,Dokumentacija
Documents,Dokumenti
Domain,Domena
Don't send Employee Birthday Reminders,Ne šaljite zaposlenika podsjetnici na rođendan
Download Materials Required,Preuzmite Materijali za
Download Reconcilation Data,Preuzmite Reconcilation podatke
Download Template,Preuzmite predložak
Download a report containing all raw materials with their latest inventory status,Preuzmite izvješće koje sadrži sve sirovine sa svojim najnovijim inventara statusa
"Download the Template, fill appropriate data and attach the modified file.","Preuzmite predložak , ispunite odgovarajuće podatke i priložite izmijenjenu datoteku ."
"Download the Template, fill appropriate data and attach the modified file.
All dates and employee combination in the selected period will come in the template, with existing attendance records",
Draft,Skica
Dropbox,Dropbox
Dropbox Access Allowed,Dropbox Pristup dopuštenih
Dropbox Access Key,Dropbox Pristupna tipka
Dropbox Access Secret,Dropbox Pristup Secret
Due Date,Datum dospijeća
Duplicate Item,Duplicate predmeta
EMP/,EMP /
ERPNext Setup,ERPNext Setup
ERPNext Setup Guide,ERPNext vodič za podešavanje
"ERPNext is an open-source web based ERP made by Web Notes Technologies Pvt Ltd. to provide an integrated tool to manage most processes in a small organization. For more information about Web Notes, or to buy hosting servies, go to ",
ESIC CARD No,ESIC KARTICA Ne
ESIC No.,ESIC broj
Earliest,Najstarije
Earning,Zarada
Earning & Deduction,Zarada &amp; Odbitak
Earning Type,Zarada Vid
Earning1,Earning1
Edit,Uredi
Educational Qualification,Obrazovne kvalifikacije
Educational Qualification Details,Obrazovni Pojedinosti kvalifikacije
Eg. smsgateway.com/api/send_sms.cgi,Npr.. smsgateway.com / api / send_sms.cgi
Electricity Cost,struja cost
Electricity cost per hour,Struja cijena po satu
Email,E-mail
Email Digest,E-pošta
Email Digest Settings,E-pošta Postavke
Email Digest: ,
Email Id,E-mail ID
"Email Id must be unique, already exists for: ","E-mail Id mora biti jedinstven, već postoji za:"
"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 Sent?,E-mail poslan?
Email Settings,Postavke e-pošte
Email Settings for Outgoing and Incoming Emails.,Postavke e-pošte za odlazne i dolazne e-pošte.
Email ids separated by commas.,E-mail ids odvojene zarezima.
"Email settings for jobs email id ""jobs@example.com""",E-mail postavke za poslove email id &quot;jobs@example.com&quot;
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""",E-mail postavke za izdvajanje vodi od prodaje email id npr. &quot;sales@example.com&quot;
Emergency Contact,Hitna Kontakt
Emergency Contact Details,Hitna Kontaktni podaci
Emergency Phone,Hitna Telefon
Employee,Zaposlenik
Employee Birthday,Zaposlenik Rođendan
Employee Designation.,Zaposlenik Imenovanje.
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 Setup,Zaposlenik konfiguracija
Employee Type,Zaposlenik Tip
Employee grades,Zaposlenih razreda
Employee record is created using selected field. ,Zaposlenika rekord je stvorio pomoću odabranog polja.
Employee records.,Zaposlenih evidencija.
Employee: ,Zaposlenik:
Employees Email Id,Zaposlenici Email ID
Employment Details,Zapošljavanje Detalji
Employment Type,Zapošljavanje Tip
Enable / Disable Email Notifications,Omogućite / onemogućite e-mail obavijesti
Enable Shopping Cart,Omogućite Košarica
Enabled,Omogućeno
Encashment Date,Encashment Datum
End Date,Datum završetka
End date of current invoice's period,Kraj datum tekućeg razdoblja dostavnice
End of Life,Kraj života
Enter Row,Unesite Row
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
Entries,Prijave
Entries against,Prijave protiv
Entries are not allowed against this Fiscal Year if the year is closed.,"Prijave nisu dozvoljeni protiv ove fiskalne godine, ako se godina zatvoren."
Error,Pogreška
Error for,Pogreška za
Estimated Material Cost,Procjena troškova materijala
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.",
Exchange Rate,Tečaj
Excise Page Number,Trošarina Broj stranice
Excise Voucher,Trošarina bon
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 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 End Date,Očekivani Datum završetka
Expected Start Date,Očekivani datum početka
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,Rashodi račun je obvezna za stavku
Expense/Difference account is mandatory for item: ,
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
FIFO,FIFO
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 By Amount,Filtriraj po visini
Filter By Date,Filter By Date
Filter based on customer,Filter temelji se na kupca
Filter based on item,Filtrirati na temelju točki
Financial Analytics,Financijski Analytics
Financial Statements,Financijska izvješća
Finished Goods,gotovih proizvoda
First Name,Ime
First Responded On,Prvo Odgovorili Na
Fiscal Year,Fiskalna godina
Fixed Asset Account,Dugotrajne imovine račun
Float Precision,Float Precision
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.
For Company,Za tvrtke
For Employee,Za zaposlenom
For Employee Name,Za ime zaposlenika
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 UOM,Za UOM
For Warehouse,Za galeriju
"For e.g. 2012, 2012-13","Za npr. 2012, 2012-13"
For opening balance entry account can not be a PL account,Za otvaranje računa bilance ulaz ne može biti PL račun
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"
Forum,Forum
Fraction,Frakcija
Fraction Units,Frakcije Jedinice
Freeze Stock Entries,Zamrzavanje Stock Unosi
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 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 Value should be less than To Value,Iz vrijednost treba biti manja od vrijednosti za
Frozen,Zaleđeni
Frozen Accounts Modifier,Blokiran Računi Modifikacijska
Fulfilled,Ispunjena
Full Name,Ime i prezime
Fully Completed,Potpuno Završeni
"Further accounts can be made under Groups,","Daljnje računi mogu biti u skupinama ,"
Further nodes can be only created under 'Group' type nodes,"Daljnje čvorovi mogu se samo stvorio pod ""Grupa"" tipa čvorova"
GL Entry,GL Stupanje
GL Entry: Debit or Credit amount is mandatory for ,GL Ulaz: debitna ili kreditna iznos je obvezno za
GRN,GRN
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
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generirajte pakiranje gaćice za pakete koji će biti isporučen. Rabljeni obavijestiti paket broj, sadržaj paketa i njegovu težinu."
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 Non Reconciled Entries,Get Non pomirio tekstova
Get Outstanding Invoices,Nabavite neplaćene račune
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 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."
GitHub Issues,GitHub pitanja
Global Defaults,Globalni Zadano
Global Settings / Default Values,Globalne postavke / default vrijednosti
Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts),Idi na odgovarajuće skupine ( obično Primjena Sredstva > tekuće imovine > bankovnim računima )
Go to the appropriate group (usually Source of Funds > Current Liabilities > Taxes and Duties),Idi na odgovarajuće skupine (obično izvor sredstava > kratkoročne obveze > poreza i carina)
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
Grade,Razred
Graduate,Diplomski
Grand Total,Sveukupno
Grand Total (Company Currency),Sveukupno (Društvo valuta)
Gratuity LIC ID,Poklon LIC ID
"Grid ""","Grid """
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 or Ledger,Grupa ili knjiga
Groups,Grupe
HR,HR
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 !
Has Batch No,Je Hrpa Ne
Has Child Node,Je li čvor dijete
Has Serial No,Ima Serial Ne
Header,Kombajn
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Šefovi (ili skupine) protiv kojih Računovodstvo upisi su izrađene i sredstva su održavani.
Health Concerns,Zdravlje Zabrinutost
Health Details,Zdravlje Detalji
Held On,Održanoj
Help,Pomoći
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."
Hey! All these items have already been invoiced.,Hej! Svi ti predmeti su već fakturirana.
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
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 Rate,Sat Ocijenite
Hour Rate Labour,Sat Ocijenite rada
Hours,Sati
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 Resource,Human Resource
I,Ja
IDT,IDT
II,II
III,III
IN,U
INV,INV
INV/10-11/,INV/10-11 /
ITEM,ITEM
IV,IV
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",
"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, an email with an attached HTML format will be added to part of the EMail body as well as attachment. To only send as attachment, uncheck this.","Ako je označeno, e-mail s priloženom HTML formatu će biti dodan u dijelu u tijelo, kao i privrženosti. Za samo poslati kao privitak, isključite ovu."
"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 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 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 non standard port (e.g. 587),Ako ne standardni ulaz (npr. 587)
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 set, data entry is only allowed for specified users. Else, entry is allowed for all users with requisite permissions.","Ako skup, unos podataka je dopušteno samo za određene korisnike. Inače, ulaz je dozvoljen za sve korisnike sa potrebnim dozvolama."
"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 you follow Quality Inspection<br>
Enables item QA Required and QA No in Purchase Receipt",
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<br>
Enables item <b>Is Manufactured</b>",
Ignore,Ignorirati
Ignored: ,Zanemareni:
Image,Slika
Image View,Slika Pogledaj
Implementation Partner,Provedba partner
Import,Uvoz
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 Row,U nizu
In Value,u vrijednosti
In Words,U riječi
In Words (Company Currency),U riječi (Društvo valuta)
In Words (Export) will be visible once you save the Delivery Note.,U riječi (izvoz) će biti vidljiv nakon što spremite otpremnici.
In Words will be visible once you save the Delivery Note.,U riječi će biti vidljiv nakon što spremite otpremnici.
In Words will be visible once you save the Purchase Invoice.,U riječi će biti vidljiv nakon što spremite ulazne fakture.
In Words will be visible once you save the Purchase Order.,U riječi će biti vidljiv nakon što spremite narudžbenice.
In Words will be visible once you save the Purchase Receipt.,U riječi će biti vidljiv nakon što spremite kupiti primitka.
In Words will be visible once you save the Quotation.,U riječi će biti vidljiv nakon što spremite ponudu.
In Words will be visible once you save the Sales Invoice.,U riječi će biti vidljiv nakon što spremite prodaje fakture.
In Words will be visible once you save the Sales Order.,U riječi će biti vidljiv nakon što spremite prodajnog naloga.
Incentives,Poticaji
Incharge,incharge
Incharge Name,Incharge Name
Include holidays in Total no. of Working Days,Uključi odmor u ukupnom. radnih dana
Income / Expense,Prihodi / rashodi
Income Account,Prihodi račun
Income Booked,Prihodi Rezervirani
Income Year to Date,Prihodi godine do danas
Income booked for the digest period,Prihodi rezervirano za razdoblje digest
Incoming,Dolazni
Incoming / Support Mail Setting,Dolazni / Podrška Mail Podešavanje
Incoming Rate,Dolazni Stopa
Incoming quality inspection.,Dolazni kvalitete inspekcije.
Indicates that the package is a part of this delivery,Ukazuje na to da je paket dio ovog poroda
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 Status,Instalacija Status
Installation Time,Instalacija Vrijeme
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
Internal,Interni
Introduction,Uvod
Invalid Delivery Note. Delivery Note should exist and should be in draft state. Please rectify and try again.,Invalid otpremnici . Dostava Napomena trebala postojati i treba biti u nacrtu države . Molimo ispraviti i pokušajte ponovno .
Invalid Email Address,Neispravan e-mail adresu
Invalid Leave Approver,Nevažeći Ostavite Odobritelj
Invalid Master Name,Invalid Master Ime
Invalid quantity specified for item ,
Inventory,Inventar
Invoice Date,Račun Datum
Invoice Details,Pojedinosti dostavnice
Invoice No,Račun br
Invoice Period From Date,Račun Razdoblje od datuma
Invoice Period To Date,Račun razdoblju do datuma
Invoiced Amount (Exculsive Tax),Dostavljeni iznos ( Exculsive poreza )
Is Active,Je aktivna
Is Advance,Je Predujam
Is Asset Item,Je imovinom artikla
Is Cancelled,Je Otkazan
Is Carry Forward,Je Carry Naprijed
Is Default,Je Default
Is Encash,Je li unovčiti
Is LWP,Je lwp
Is Opening,Je Otvaranje
Is Opening Entry,Je Otvaranje unos
Is PL Account,Je PL račun
Is POS,Je POS
Is Primary Contact,Je Primarna Kontakt
Is Purchase Item,Je Kupnja artikla
Is Sales Item,Je Prodaja artikla
Is Service Item,Je li usluga artikla
Is Stock Item,Je kataloški artikla
Is Sub Contracted Item,Je Sub Ugovoreno artikla
Is Subcontracted,Je podugovarati
Is this Tax included in Basic Rate?,Je li ovo pristojba uključena u osnovne stope?
Issue,Izdanje
Issue Date,Datum izdavanja
Issue Details,Issue Detalji
Issued Items Against Production Order,Izdana Proizvodi prema proizvodnji Reda
It can also be used to create opening stock entries and to fix stock value.,Također se može koristiti za stvaranje početne vrijednosti unose i popraviti stock vrijednost .
Item,stavka
Item ,
Item Advanced,Stavka Napredna
Item Barcode,Stavka Barkod
Item Batch Nos,Stavka Batch Nos
Item Classification,Stavka klasifikacija
Item Code,Stavka Šifra
Item Code (item_code) is mandatory because Item naming is not sequential.,Šifra (item_code) je obvezno jer Stavka imena nije sekvencijalno.
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 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 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 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 classification.,Stavka klasifikacija.
Item is neither Sales nor Service Item,Stavka je ni prodaje ni usluga Stavka
"Item must be a purchase item, \
					as it is present in one or many Active BOMs",
Item must have 'Has Serial No' as 'Yes',Stavka mora imati ' Ima Serial ne' kao ' DA '
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 will be saved by this name in the data base.,Stavka će biti spremljena pod ovim imenom u bazi podataka.
"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 Last Purchase Rate,Stavka-mudar Zadnja Kupnja Ocijenite
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
Items,Proizvodi
Items To Be Requested,Predmeti se zatražiti
"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
JV,JV
Job Applicant,Posao podnositelj
Job Opening,Posao Otvaranje
Job User,Posao Profil
Job Title,Titula
"Job User, qualifications required etc.","Posao profil, kvalifikacije potrebne, itd."
Jobs Email Settings,Poslovi Postavke e-pošte
Journal Entries,Časopis upisi
Journal Entry,Časopis Stupanje
Journal Voucher,Časopis bon
Journal Voucher Detail,Časopis bon Detalj
Journal Voucher Detail No,Časopis bon Detalj Ne
KRA,KRA
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Pratite prodaje kampanje. Pratite ponude, ponuda, prodajnog naloga itd. iz kampanje radi vrjednovanja povrat na investiciju."
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.
Key Performance Area,Key Performance Area
Key Responsibility Area,Ključ Odgovornost Površina
LEAD,OLOVO
LEAD/10-11/,LEAD/10-11 /
LEAD/MUMBAI/,OLOVO / MUMBAI /
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
Last Name,Prezime
Last Purchase Rate,Zadnja Kupnja Ocijenite
Latest,najnoviji
Latest Updates,najnovija ažuriranja
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
Leave Allocation,Ostavite Raspodjela
Leave Allocation Tool,Ostavite raspodjele alat
Leave Application,Ostavite aplikaciju
Leave Approver,Ostavite odobravatelju
Leave Approver can be one of,Ostavite Odobritelj može biti jedan od
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 Setup,Ostavite Setup
Leave Type,Ostavite Vid
Leave Type Name,Ostavite ime tipa
Leave Without Pay,Ostavite bez plaće
Leave allocations.,Ostavite izdvajanja.
Leave application has been approved.,Ostavite Zahtjev je odobren .
Leave application has been rejected.,Ostavite Zahtjev je odbijen .
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 blank if considered for all grades,Ostavite prazno ako smatra za sve razrede
"Leave can be approved by users with Role, ""Leave Approver""","Ostavite može biti odobren od strane korisnika s uloge, &quot;Ostavite odobravatelju&quot;"
Ledger,Glavna knjiga
Ledgers,knjige
Left,Lijevo
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Pravna osoba / Podružnica s odvojenim kontnom planu pripadaju organizaciji.
Letter Head,Pismo Head
Level,Nivo
Lft,LFT
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 a few products or services you buy from your suppliers or vendors. If these are same as your products, then do not add them.","Navedite nekoliko proizvode ili usluge koje kupuju od svojih dobavljača ili prodavača . Ako su isti kao i svoje proizvode , onda ih ne dodati ."
List items that form the package.,Popis stavki koje čine paket.
List of holidays.,Popis blagdana.
List of users who can edit a particular Note,Popis korisnika koji mogu urediti posebnu napomenu
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 sell to your customers. Make sure to check the Item Group, Unit of Measure and other properties when you start.","Popis svoje proizvode ili usluge koje prodajete za svoje klijente . Pobrinite se da provjeriti stavku grupe , mjerna jedinica i drugim svojstvima kada pokrenete ."
"List your tax heads (e.g. VAT, Excise) (upto 3) and their standard rates. This will create a standard template, you can edit and add more later.","Popis svoje porezne glave ( npr. PDV , trošarine ) (do 3 ) i njihove standardne stope . To će stvoriti standardni predložak , možete urediti i dodati više kasnije ."
Live Chat,Live Chat
Loading...,Loading ...
"Log of Activities performed by users against Tasks that can be used for tracking time, billing.","Prijavite aktivnosti provedenih od strane korisnika od zadataka koji se mogu koristiti za praćenje vremena, naplate."
Login Id,Prijavite Id
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
MIS Control,MIS kontrola
MREQ-,MREQ-
MTN Details,MTN Detalji
Mail Password,Mail Lozinka
Mail Port,Mail luci
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 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
Major/Optional Subjects,Glavni / Izborni predmeti
Make ,
Make Accounting Entry For Every Stock Movement,Provjerite knjiženje za svaki burzi pokreta
Make Bank Voucher,Napravite Bank bon
Make Credit Note,Provjerite Credit Note
Make Debit Note,Provjerite terećenju
Make Delivery,bi isporuka
Make Difference Entry,Čine razliku Entry
Make Excise Invoice,Provjerite trošarinske fakturu
Make Installation Note,Provjerite Installation napomenu
Make Invoice,Napravite fakturu
Make Maint. Schedule,Napravite Maint . raspored
Make Maint. Visit,Napravite Maint . posjet
Make Maintenance Visit,Provjerite održavanja Posjetite
Make Packing Slip,Napravite popis zapakiranih
Make Payment 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
Male,Muški
Manage 3rd Party Backups,Upravljanje 3rd party sigurnosne kopije
Manage cost of operations,Upravljanje troškove poslovanja
Manage exchange rates for currency conversion,Upravljanje tečajeve za pretvorbu valuta
"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
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
Married,Oženjen
Mass Mailing,Misa mailing
Master Data,Master Data
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 used to make this Stock Entry,Materijal Zahtjev se koristi da bi se ova Stock unos
Material Requests for which Supplier Quotations are not created,Materijalni Zahtjevi za koje Supplier Citati nisu stvorene
Material Requirement,Materijal Zahtjev
Material Transfer,Materijal transfera
Materials,Materijali
Materials Required (Exploded),Materijali Obavezno (eksplodirala)
Max 500 rows only.,Max 500 redaka jedini.
Max Days Leave Allowed,Max Dani Ostavite dopuštenih
Max Discount (%),Maks Popust (%)
Max Returnable Qty,Max Povratna Kol
Medium,Srednji
"Merging is only possible if following \
					properties are same in both records.
					Group or Ledger, Debit or Credit, Is PL Account",
Message,Poruka
Message Parameter,Poruka parametra
Message Sent,Poruka je poslana
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
Minimum Order Qty,Minimalna narudžba Količina
Misc Details,Razni podaci
Miscellaneous,Razni
Miscelleneous,Miscelleneous
Mobile No,Mobitel Nema
Mobile No.,Mobitel broj
Mode of Payment,Način plaćanja
Modern,Moderna
Modified Amount,Promijenio Iznos
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.
Monthly salary template.,Mjesečna plaća predložak.
More Details,Više pojedinosti
More Info,Više informacija
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 list.,Višestruki Cjenik .
Must be Whole Number,Mora biti cijeli broj
My Settings,Moje postavke
NL-,NL-
Name,Ime
Name and Description,Naziv i opis
Name and Employee ID,Ime i zaposlenika ID
Name is required,Ime je potrebno
"Name of new Account. Note: Please don't create accounts for Customers and Suppliers,","Ime novog računa . Napomena : Molimo vas da ne stvaraju račune za kupce i dobavljače ,"
Name of person or organization that this address belongs to.,Ime osobe ili organizacije koje ova adresa pripada.
Name of the Budget Distribution,Ime distribucije proračuna
Naming Series,Imenovanje serije
Negative balance is not allowed for account ,Negativna bilanca nije dopušten na račun
Net Pay,Neto Pay
Net Pay (in words) will be visible once you save the Salary Slip.,Neto plaća (u riječima) će biti vidljiv nakon što spremite plaće Slip.
Net Total,Neto Ukupno
Net Total (Company Currency),Neto Ukupno (Društvo valuta)
Net Weight,Neto težina
Net Weight UOM,Težina UOM
Net Weight of each Item,Težina svake stavke
Net pay can not be negative,Neto plaća ne može biti negativan
Never,Nikad
New,novi
New ,
New Account,Novi račun
New Account Name,Novi naziv računa
New BOM,Novi BOM
New Communications,Novi komunikacije
New Company,Nova tvrtka
New Cost Center,Novi troška
New Cost Center Name,Novi troška Naziv
New Delivery Notes,Novi otpremnice
New Enquiries,Novi Upiti
New Leads,Nova vodi
New Leave Application,Novi dopust Primjena
New Leaves Allocated,Novi Leaves Dodijeljeni
New Leaves Allocated (In Days),Novi Lišće alociran (u danima)
New Material Requests,Novi materijal Zahtjevi
New Projects,Novi projekti
New Purchase Orders,Novi narudžbenice
New Purchase Receipts,Novi Kupnja Primici
New Quotations,Novi Citati
New Sales Orders,Nove narudžbe
"New Serial No cannot have Warehouse. Warehouse must be \
				set by Stock Entry or Purchase Receipt",
New Stock Entries,Novi Stock upisi
New Stock UOM,Novi kataloški UOM
New Supplier Quotations,Novi dobavljač Citati
New Support Tickets,Novi Podrška Ulaznice
New Workplace,Novi radnom mjestu
Newsletter,Bilten
Newsletter Content,Newsletter Sadržaj
Newsletter Status,Newsletter Status
"Newsletters to contacts, leads.","Brošure za kontakte, vodi."
Next Communcation On,Sljedeća komunikacijski Na
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 Action,Nema Akcija
No Customer Accounts found.,Nema kupaca Računi pronađena .
"No Customer or Supplier Accounts found. Accounts are identified based on \
			'Master Type' value in account record.",
No Item found with ,
No Items to Pack,Nema stavki za pakiranje
No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user.,Ne Ostavite odobravateljima. Molimo dodijeliti &#39;Ostavite Odobritelj&#39; Uloga da atleast jednom korisniku.
No Permission,Bez dozvole
No Production Order created.,Ne Proizvodnja Order stvorio .
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 following warehouses,Nema računovodstvenih unosa za sljedeće skladišta
No addresses created,Nema adrese stvoreni
No contacts created,Nema kontakata stvoreni
No default BOM exists for item: ,Ne postoji zadani troškovnik za predmet:
No of Requested SMS,Nema traženih SMS
No of Sent SMS,Ne poslanih SMS
No of Visits,Bez pregleda
No record found,Ne rekord naći
No salary slip found for month: ,Bez plaće slip naći za mjesec dana:
Not,Ne
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 entry in Warehouse,Nije dopustio ulaz u skladište
Note,Primijetiti
Note User,Napomena Upute
Note is a free page where users can share documents / notes,Napomena je besplatno stranicu na kojoj korisnici mogu dijeliti dokumente / bilješke
Note:,Napomena :
"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: Email will not be sent to disabled users,Napomena: E-mail neće biti poslan invalide
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
O+,O +
O-,O-
OPPT,OPPT
Offer Date,ponuda Datum
Office,Ured
Old Parent,Stari Roditelj
On,Na
On Net Total,Na Net Total
On Previous Row Amount,Na prethodnu Row visini
On Previous Row Total,Na prethodni redak Ukupno
"Only Serial Nos with status ""Available"" can be delivered.","Samo Serial Nos sa statusom "" dostupan "" može biti isporučena ."
Only Stock Items are allowed for Stock Entry,Samo Stock Predmeti su dopuštene za upis dionica
Only leaf nodes are allowed in transaction,Samo leaf čvorovi su dozvoljeni u transakciji
Open,Otvoreno
Open Production Orders,Otvoren Radni nalozi
Open Tickets,Otvoreni Ulaznice
Opening,otvaranje
Opening Accounting Entries,Otvaranje računovodstvenih unosa
Opening Accounts and Stock,Otvaranje računa i Stock
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)
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
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,organizacija
Organization Name,Naziv organizacije
Organization User,Organizacija Profil
Other,Drugi
Other Details,Ostali podaci
Out Qty,Od kol
Out Value,Od vrijednosti
Out of AMC,Od AMC
Out of Warranty,Od jamstvo
Outgoing,Društven
Outgoing Email Settings,Odlazni e-mail postavke
Outgoing Mail Server,Odlazni Mail Server
Outgoing Mails,Odlazni mailova
Outstanding Amount,Izvanredna Iznos
Outstanding for Voucher ,Izvanredna za bon
Overhead,Dometnut
Overheads,opći troškovi
Overlapping Conditions found between,Preklapanje Uvjeti naći između
Overview,pregled
Owned,U vlasništvu
Owner,vlasnik
PAN Number,PAN Broj
PF No.,PF broj
PF Number,PF Broj
PI/2011/,PI/2011 /
PIN,PIN
PL or BS,PL ili BS
PO,PO
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 View,POS Pogledaj
PR Detail,PR Detalj
PR Posting Date,PR datum Poruke
PRO,PRO
PS,PS
Package Item Details,Paket Stavka Detalji
Package Items,Paket Proizvodi
Package Weight Details,Paket Težina Detalji
Packed Item,Dostava Napomena Pakiranje artikla
Packing Details,Pakiranje Detalji
Packing Detials,Pakiranje detials
Packing List,Pakiranje Popis
Packing Slip,Odreskom
Packing Slip Item,Odreskom predmet
Packing Slip Items,Odreskom artikle
Packing Slip(s) Cancelled,Odreskom (e) Otkazano
Page Break,Prijelom stranice
Page Name,Stranica Ime
Paid,plaćen
Paid Amount,Plaćeni iznos
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 Sales Person,Roditelj Prodaja Osoba
Parent Territory,Roditelj Regija
Parenttype,Parenttype
Partially Billed,djelomično Naplaćeno
Partially Completed,Djelomično Završeni
Partially Delivered,djelomično Isporučeno
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
Passive,Pasivan
Passport Number,Putovnica Broj
Password,Lozinka
Pay To / Recd From,Platiti Da / RecD Od
Payables,Obveze
Payables Group,Obveze Grupa
Payment Days,Plaćanja Dana
Payment Due Date,Plaćanje Due Date
Payment Entries,Plaćanja upisi
"Payment Entry has been modified after you pulled it. 
			Please pull it again.",
Payment Period Based On Invoice Date,Razdoblje za naplatu po Datum fakture
Payment Reconciliation,Plaćanje pomirenje
Payment Type,Vrsta plaćanja
Payment of salary for the month: ,
Payment to Invoice Matching Tool,Plaćanje fakture podudaranje alat
Payment to Invoice Matching Tool Detail,Plaćanje fakture podudaranje alat Detalj
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
Payroll Setup,Plaće za postavljanje
Pending,Čekanju
Pending Amount,Iznos na čekanju
Pending Review,U tijeku pregled
Pending SO Items For Purchase Request,Otvorena SO Proizvodi za zahtjev za kupnju
Percent Complete,Postotak Cijela
Percentage Allocation,Postotak Raspodjela
Percentage Allocation should be equal to ,Postotak Raspodjela treba biti jednaka
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
Permission Manager,Dopuštenje Manager
Personal,Osobno
Personal Details,Osobni podaci
Personal Email,Osobni e
Phone,Telefon
Phone No,Telefonski broj
Phone No.,Telefonski broj
Pincode,Pincode
Place of Issue,Mjesto izdavanja
Plan for maintenance visits.,Plan održavanja posjeta.
Planned Qty,Planirani Kol
"Planned Qty: Quantity, for which, Production Order has been raised,","Planirano Količina : Količina , za koje , proizvodnja Red je podigao ,"
Planned Quantity,Planirana količina
Plant,Biljka
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 Select Company under which you want to create account head,Odaberite tvrtku pod kojima želite stvoriti glavu računa
Please check,Molimo provjerite
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 Company,Unesite tvrtke
Please enter Cost Center,Unesite troška
Please enter Default Unit of Measure,Unesite Zadana jedinica mjere
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 Master Name once the account is created.,Unesite Master ime jednomračunu je stvorio .
Please enter Production Item first,Unesite Proizvodnja predmeta prvi
Please enter Purchase Receipt No to proceed,Unesite kupiti primitka No za nastavak
Please enter Reserved Warehouse for item ,Unesite Rezervirano skladište za stavku
Please enter Start Date and End Date,Unesite datum početka i datum završetka
Please enter Warehouse for which Material Request will be raised,Unesite skladište za koje Materijal Zahtjev će biti podignuta
"Please enter account group under which account \
					for warehouse ",
Please enter company first,Unesite tvrtka prva
Please enter company name first,Unesite ime tvrtke prvi
Please enter sales order in the above table,Unesite prodajnog naloga u gornjoj tablici
Please install dropbox python module,Molimo instalirajte Dropbox piton modul
Please mention default value for ',Molimo spomenuti zadanu vrijednost za &#39;
Please reduce qty.,Molimo smanjiti Qty.
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 select Account first,Molimo odaberite račun prva
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 Date on which you want to run the report,Molimo odaberite datum na koji želite pokrenuti izvješće
Please select Price List,Molimo odaberite Cjenik
Please select a,Molimo odaberite
Please select a csv file,Odaberite CSV datoteku
Please select a service item or change the order type to Sales.,Molimo odaberite stavku usluga ili promijeniti vrstu naloga za prodaju.
Please select a sub-contracted item or do not sub-contract the transaction.,Molimo odaberite sklopljen ugovor stavku ili ne podugovaranje transakciju.
Please select a valid csv file with data.,Odaberite valjanu CSV datoteke s podacima.
"Please select an ""Image"" first","Molimo odaberite ""Slika"" Prvi"
Please select month and year,Molimo odaberite mjesec i godinu
Please select options and click on Create,Odaberite opcije i kliknite na Stvori
Please select the document type first,Molimo odaberite vrstu dokumenta prvi
Please select: ,Molimo odaberite:
Please set Dropbox access keys in,Molimo postavite Dropbox pristupne ključeve
Please set Google Drive access keys in,Molimo postavite Google Drive pristupne tipke u
Please setup Employee Naming System in Human Resource > HR Settings,Molimo postavljanje zaposlenika sustav imenovanja u ljudskim resursima&gt; HR Postavke
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",
Please specify a,Navedite
Please specify a Price List which is valid for Territory,Navedite cjenik koji vrijedi za teritoriju
Please specify a valid,Navedite važeći
Please specify a valid 'From Case No.',Navedite važeću &#39;iz Predmet br&#39;
Please specify currency in Company,Navedite valutu u Društvu
Please submit to update Leave Balance.,Molimo dostaviti ažurirati napuste balans .
Please write something,Molimo napisati nešto
Please write something in subject and message!,Molimo napisati nešto u temi i poruke !
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
Posting Date,Objavljivanje Datum
Posting Date Time cannot be before,Datum postanja vrijeme ne može biti prije
Posting Time,Objavljivanje Vrijeme
Potential Sales Deal,Potencijal Prodaja Deal
Potential opportunities for selling.,Potencijalni mogućnosti za prodaju.
"Precision for Float fields (quantities, discounts, percentages etc). Floats will be rounded up to specified decimals. Default = 3","Precision za plutaju polja (količine, popusti, postoci i sl.). Pluta će se zaokružuje na navedenim decimala. Default = 3"
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
Previous Work Experience,Radnog iskustva
Price List,Cjenik
Price List Currency,Cjenik valuta
Price List Exchange Rate,Cjenik tečajna
Price List Master,Cjenik Master
Price List Name,Cjenik Ime
Price List Rate,Cjenik Stopa
Price List Rate (Company Currency),Cjenik stopa (Društvo valuta)
Print,otisak
Print Format Style,Print Format Style
Print Heading,Ispis Naslov
Print Without Amount,Ispis Bez visini
Printing,tiskanje
Priority,Prioritet
Process Payroll,Proces plaće
Produced,izrađen
Produced Quantity,Proizveden Količina
Product Enquiry,Na upit
Production Order,Proizvodnja Red
Production Order must be submitted,Proizvodnja Red mora biti podnesen
Production Order(s) created:\n\n,Proizvodnja Order ( s) stvorio : \ n \ n
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 (MRP),Planiranje proizvodnje (MRP)
Production Planning Tool,Planiranje proizvodnje alat
Products or Services You Buy,Proizvode ili usluge koje kupiti
"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."
Project,Projekt
Project Costing,Projekt Costing
Project Details,Projekt Detalji
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
Projected,projektiran
Projected Qty,Predviđen Kol
Projects,Projekti
Prompt for Email on Submission of,Pitaj za e-poštu na podnošenje
Provide email id registered in company,Osigurati e id registriran u tvrtki
Public,Javni
Pull Payment Entries,Povucite plaćanja tekstova
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 In Transit,Kupnja u tranzitu
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 Order,Narudžbenica
Purchase Order Date,Narudžbenica Datum
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 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 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
Purpose,Svrha
Purpose must be one of ,Svrha mora biti jedan od
QA Inspection,QA Inspekcija
QAI/11-12/,QAI/11-12 /
QTN,QTN
Qty,Kol
Qty Consumed Per Unit,Kol Potrošeno po jedinici
Qty To Manufacture,Količina za proizvodnju
Qty as per Stock UOM,Količina po burzi UOM
Qty to Deliver,Količina za dovođenje
Qty to Order,Količina za narudžbu
Qty to Receive,Količina za primanje
Qty to Transfer,Količina za prijenos
Qualification,Kvalifikacija
Quality,Kvalitet
Quality Inspection,Provera kvaliteta
Quality Inspection Parameters,Inspekcija kvalitete Parametri
Quality Inspection Reading,Kvaliteta Inspekcija čitanje
Quality Inspection Readings,Inspekcija kvalitete Čitanja
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.,Količina ne može biti dio.
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 should be equal to Manufacturing Quantity. To fetch items again, click on 'Get Items' button or update the Quantity manually.","Količina trebao biti jednak Manufacturing količina . Za ponovno dohvatiti podatke, kliknite na ' se predmeti ' gumb ili ažurirati Količina ručno ."
Quarter,Četvrtina
Quarterly,Tromjesečni
Quick Help,Brza pomoć
Quotation,Citat
Quotation Date,Ponuda Datum
Quotation Item,Citat artikla
Quotation Items,Kotaciji Proizvodi
Quotation Lost Reason,Citat Izgubili razlog
Quotation Message,Citat Poruka
Quotation Series,Ponuda Serija
Quotation To,Ponuda za
Quotation Trend,Citat Trend
Quotation is cancelled.,Ponudu je otkazan .
Quotations received from Suppliers.,Citati dobio od dobavljače.
Quotes to Leads or Customers.,Citati na vodi ili kupaca.
Raise Material Request when stock reaches re-order level,Podignite Materijal Zahtjev kad dionica dosegne ponovno poredak razinu
Raised By,Povišena Do
Raised By (Email),Povišena Do (e)
Random,Slučajan
Range,Domet
Rate,Stopa
Rate ,Stopa
Rate (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 Item Code,Sirovine Stavka Šifra
Raw Materials Supplied,Sirovine nabavlja
Raw Materials Supplied Cost,Sirovine Isporuka Troškovi
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
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 / 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,primljen
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 Parameter,Prijemnik parametra
Recipients,Primatelji
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 Code,Ref. Šifra
Ref SQ,Ref. SQ
Reference,Upućivanje
Reference Date,Referentni datum
Reference Name,Referenca Ime
Reference Number,Referentni broj
Refresh,Osvježiti
Refreshing....,Osvježavajući ....
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 of employee is ,Rasterećenje Datum zaposleniku
Remark,Primjedba
Remarks,Primjedbe
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
"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM","Zamijenite određeni BOM u svim drugim sastavnicama gdje se koriste. To će zamijeniti staru vezu BOM, ažurirati troškove i regenerirati &quot;BOM eksploziju predmeta&quot; stol kao i po novom BOM"
Replied,Odgovorio
Report Date,Prijavi Datum
Report issues at,Prijavi probleme pri
Reports,Izvješća
Reports to,Izvješća
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.
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
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
Retail,Maloprodaja
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 cannot have a parent cost center,Korijen ne mogu imati središte troškova roditelj
Rounded Total,Zaobljeni Ukupno
Rounded Total (Company Currency),Zaobljeni Ukupno (Društvo valuta)
Row,Red
Row ,Red
Row #,Redak #
Row # ,Redak #
Rules to calculate shipping amount for a sale,Pravila za izračun shipping iznos za prodaju
S.O. No.,S.O. Ne.
SMS,SMS
SMS Center,SMS centar
SMS Control,SMS kontrola
SMS Gateway URL,SMS Gateway URL
SMS Log,SMS Prijava
SMS Parameter,SMS parametra
SMS Sender Name,SMS Sender Ime
SMS Settings,Postavke SMS
SMTP Server (e.g. smtp.gmail.com),SMTP poslužitelj (npr. smtp.gmail.com)
SO,SO
SO Date,SO Datum
SO Pending Qty,SO čekanju Kol
SO Qty,SO Kol
SO/10-11/,SO/10-11 /
SO1112,SO1112
SQTN,SQTN
STE,Ste
SUP,SUP
SUPP,Supp
SUPP/10-11/,SUPP/10-11 /
Salary,Plata
Salary Information,Plaća informacije
Salary Manager,Plaća Manager
Salary Mode,Plaća način
Salary Slip,Plaća proklizavanja
Salary Slip Deduction,Plaća proklizavanja Odbitak
Salary Slip Earning,Plaća proklizavanja Zarada
Salary 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.
Sales,Prodajni
Sales Analytics,Prodaja Analitika
Sales BOM,Prodaja BOM
Sales BOM Help,Prodaja BOM Pomoć
Sales BOM Item,Prodaja BOM artikla
Sales BOM Items,Prodaja BOM Proizvodi
Sales Details,Prodaja Detalji
Sales Discounts,Prodaja Popusti
Sales Email Settings,Prodaja Postavke e-pošte
Sales Extras,Prodaja Dodaci
Sales Funnel,prodaja dimnjak
Sales Invoice,Prodaja fakture
Sales Invoice Advance,Prodaja Račun Predujam
Sales Invoice Item,Prodaja Račun artikla
Sales Invoice Items,Prodaja stavke računa
Sales Invoice Message,Prodaja Račun Poruka
Sales Invoice No,Prodaja Račun br
Sales Invoice Trends,Prodaja Račun trendovi
Sales Order,Prodajnog naloga
Sales Order Date,Prodaja Datum narudžbe
Sales Order Item,Prodajnog naloga artikla
Sales Order Items,Prodaja Narudžbe Proizvodi
Sales Order Message,Prodajnog naloga Poruka
Sales Order No,Prodajnog naloga Ne
Sales Order Required,Prodajnog naloga Obvezno
Sales Order Trend,Prodaja Naručite Trend
Sales Partner,Prodaja partner
Sales Partner Name,Prodaja Ime partnera
Sales Partner Target,Prodaja partner Target
Sales Partners Commission,Prodaja Partneri komisija
Sales Person,Prodaja Osoba
Sales Person Incharge,Prodaja Osoba Incharge
Sales Person Name,Prodaja Osoba Ime
Sales Person Target Variance (Item Group-Wise),Prodaja Osoba Target varijance (točka Group-Wise)
Sales Person Targets,Prodaje osobi Mete
Sales Person-wise Transaction Summary,Prodaja Osobne mudar Transakcija Sažetak
Sales Register,Prodaja Registracija
Sales Return,Prodaje Povratak
Sales Returned,prodaja Vraćeno
Sales Taxes and Charges,Prodaja Porezi i naknade
Sales Taxes and Charges Master,Prodaja Porezi i naknade Master
Sales Team,Prodaja Team
Sales Team Details,Prodaja Team Detalji
Sales Team1,Prodaja Team1
Sales and Purchase,Prodaja i kupnja
Sales campaigns,Prodaja kampanje
Sales persons and targets,Prodaja osobe i ciljevi
Sales taxes template.,Prodaja porezi predložak.
Sales territories.,Prodaja teritoriji.
Salutation,Pozdrav
Same Serial No,Sve Serial Ne
Sample Size,Veličina uzorka
Sanctioned Amount,Iznos kažnjeni
Saturday,Subota
Save ,
Schedule,Raspored
Schedule Date,Raspored Datum
Schedule Details,Raspored Detalji
Scheduled,Planiran
Scheduled Date,Planirano Datum
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.
"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 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 Digest Content,Odaberite Digest sadržaj
Select DocType,Odaberite DOCTYPE
"Select Item where ""Is Stock Item"" is ""No""","Izborom gdje "" Je Stock Stavka "" ""Ne"""
Select Items,Odaberite stavke
Select Purchase Receipts,Odaberite Kupnja priznanica
Select Sales Orders,Odaberite narudžbe
Select Sales Orders from which you want to create Production Orders.,Odaberite narudžbe iz koje želite stvoriti radne naloge.
Select Time Logs and Submit to create a new Sales Invoice.,Odaberite vrijeme Evidencije i slanje stvoriti novi prodajni fakture.
Select Transaction,Odaberite transakcija
Select account head of the bank where cheque was deposited.,Odaberite račun šefa banke gdje je ček bio pohranjen.
Select company name first.,Odaberite naziv tvrtke prvi.
Select template from which you want to get the Goals,Odaberite predložak s kojeg želite dobiti ciljeva
Select the Employee for whom you are creating the Appraisal.,Odaberite zaposlenika za koga se stvara procjene.
Select the Invoice against which you want to allocate payments.,Odaberite fakture protiv koje želite izdvojiti plaćanja .
Select the period when the invoice will be generated automatically,Odaberite razdoblje kada faktura će biti generiran automatski
Select the relevant company name if you have multiple companies,Odaberite odgovarajući naziv tvrtke ako imate više tvrtki
Select the relevant company name if you have multiple companies.,Odaberite odgovarajući naziv tvrtke ako imate više tvrtki.
Select who you want to send this newsletter to,Odaberite koji želite poslati ovu newsletter
Select your home country and check the timezone and currency.,Odaberite svoju domovinu i provjerite zonu i valutu .
"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","Odabir &quot;Da&quot; omogućit će ovu stavku da se pojavi u narudžbenice, Otkup primitka."
"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","Odabir &quot;Da&quot; omogućit će ovaj predmet shvatiti u prodajni nalog, otpremnici"
"Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.",Odabir &quot;Da&quot; će vam omogućiti da stvorite Bill materijala pokazuje sirovina i operativne troškove nastale za proizvodnju ovu stavku.
"Selecting ""Yes"" will allow you to make a Production Order for this item.",Odabir &quot;Da&quot; će vam omogućiti da napravite proizvodnom nalogu za tu stavku.
"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.",Odabir &quot;Da&quot; će dati jedinstveni identitet svakog entiteta ove točke koja se može vidjeti u rednim brojem učitelja.
Selling,Prodaja
Selling Settings,Prodaja postavki
Send,Poslati
Send Autoreply,Pošalji Automatski
Send Bulk SMS to Leads / Contacts,Pošalji Bulk SMS vodi / Kontakti
Send Email,Pošaljite e-poštu
Send From,Pošalji Iz
Send Notifications To,Slanje obavijesti
Send Now,Pošalji odmah
Send Print in Body and Attachment,Pošalji Ispis u tijelu i privrženosti
Send SMS,Pošalji SMS
Send To,Pošalji
Send To Type,Pošalji Upišite
Send automatic emails to Contacts on Submitting transactions.,Pošalji automatske poruke u Kontakte o podnošenju transakcije.
Send mass SMS to your contacts,Pošalji masovne SMS svojim kontaktima
Send regular summary reports via Email.,Pošalji redovite sažetak izvješća putem e-pošte.
Send to this list,Pošalji na ovom popisu
Sender,Pošiljalac
Sender Name,Pošiljatelj Ime
Sent,Poslano
Sent Mail,Poslana pošta
Sent On,Poslan Na
Sent Quotation,Sent Ponuda
Sent or Received,Poslana ili primljena
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 created,Serijski Ne stvorili
Serial No does not belong to Item,Serijski No ne pripada točki
Serial No must exist to transfer out.,Serijski Ne mora postojati prenijeti van.
Serial No qty cannot be a fraction,Serijski Ne Količina ne može bitidio
Serial No status must be 'Available' to Deliver,Serijski Ne status mora biti ' dostupna' za dovođenje
Serial Nos do not match with qty,Serijski Nos ne podudaraju s kom
Serial Number Series,Serijski broj serije
Serialized Item: ',Serijaliziranom artikla: &#39;
Series,serija
Series List for this Transaction,Serija Popis za ovu transakciju
Service Address,Usluga Adresa
Services,Usluge
Session Expiry,Sjednica isteka
Session Expiry in Hours e.g. 06:00,Sjednica Rok u Hours npr. 06:00
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 Login and Password if authentication is required.,"Postavite prijavu i lozinku, ako je autorizacija potrebna."
Set allocated amount against each Payment Entry and click 'Allocate'.,Set dodijeljeni iznos od svakog ulaska plaćanja i kliknite ' Dodjela ' .
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č.
"Set your outgoing mail SMTP settings here. All system generated notifications, emails will go from this mail server. If you are not sure, leave this blank to use ERPNext servers (emails will still be sent from your email id) or contact your email provider.","Postavite odlazne postavke SMTP mail ovdje. Svi sustav generira obavijesti, e-mail će otići s ovog poslužitelja e-pošte. Ako niste sigurni, ostavite prazno za korištenje ERPNext poslužitelja (e-mailove i dalje će biti poslan na vaš e-mail id) ili se obratite davatelja usluga."
Setting Account Type helps in selecting this Account in transactions.,Postavljanje Vrsta računa pomaže u odabiru ovaj račun u prometu.
Setting up...,Postavljanje ...
Settings,Postavke
Settings for Accounts,Postavke za račune
Settings for Buying Module,Postavke za kupnju modul
Settings for Selling Module,Postavke za prodaju modul
Settings for Stock Module,Postavke za Stock 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!,Dovršeno!
Setup Completed,Postavljanje Završeni
Setup Series,Postavljanje Serija
Setup of Shopping Cart.,Postavljanje Košarica.
Setup to pull emails from support email account,Postava povući e-mailove od podrške email računa
Share,Udio
Share With,Podijelite s
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
Shipping Rules,Dostava Pravila
Shop,Dućan
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
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,Show / Hide značajke
Show / Hide Modules,Show / Hide Moduli
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 this slideshow at the top of the page,Prikaži ovaj slideshow na vrhu stranice
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
"Sorry! You cannot change company's default currency, because there are existing transactions against it. You will need to cancel those transactions if you want to change the default currency.","Žao mi je! Ne možete promijeniti tvrtke zadanu valutu, jer već postoje transakcija protiv njega. Vi ćete morati odustati od te transakcije, ako želite promijeniti zadanu valutu."
"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 Warehouse,Izvor galerija
Source and Target Warehouse cannot be same,Izvor i Target galerije ne mogu biti isti
Spartan,Spartanski
Special Characters,Posebne Likovi
Special Characters ,
Specification Details,Specifikacija Detalji
Specify Exchange Rate to convert one currency into another,Navedite tečaju za pretvaranje jedne valute u drugu
"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 conditions to calculate shipping amount,Odredite uvjete za izračun iznosa dostave
"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.
Standard,Standard
Standard Rate,Standardna stopa
"Standard Terms and Conditions that can be added to Sales and Purchases.

Examples:

1. Validity of the offer.
1. Payment Terms (In Advance, On Credit, part advance etc).
1. What is extra (or payable by the Customer).
1. Safety / usage warning.
1. Warranty if any.
1. Returns Policy.
1. Terms of shipping, if applicable.
1. Ways of addressing disputes, indemnity, liability, etc.
1. Address and Contact of your Company.",
"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.

#### Note

The tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.

#### Description of Columns

1. Calculation Type: 
    - This can be on **Net Total** (that is the sum of basic amount).
    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.
    - **Actual** (as mentioned).
2. Account Head: The Account ledger under which this tax will be booked
3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.
4. Description: Description of the tax (that will be printed in invoices / quotes).
5. Rate: Tax rate.
6. Amount: Tax amount.
7. Total: Cumulative total to this point.
8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).
9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.
10. Add or Deduct: Whether you want to add or deduct the tax.",
"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.

#### Note

The tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.

#### Description of Columns

1. Calculation Type: 
    - This can be on **Net Total** (that is the sum of basic amount).
    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.
    - **Actual** (as mentioned).
2. Account Head: The Account ledger under which this tax will be booked
3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.
4. Description: Description of the tax (that will be printed in invoices / quotes).
5. Rate: Tax rate.
6. Amount: Tax amount.
7. Total: Cumulative total to this point.
8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).
9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.",
Start,početak
Start Date,Datum početka
Start date of current invoice's period,Početak datum tekućeg razdoblja dostavnice
Starting up...,Pokretanje ...
State,Država
Static Parameters,Statički parametri
Status,Status
Status must be one of ,Status mora biti jedan od
Status should be Submitted,Status treba Prijavljen
Statutory info and other general information about your Supplier,Zakonska info i druge opće informacije o vašem Dobavljaču
Stock,Zaliha
Stock Adjustment Account,Stock Adjustment račun
Stock Ageing,Kataloški Starenje
Stock Analytics,Stock Analytics
Stock Balance,Kataloški bilanca
Stock Entries already created for Production Order ,
Stock Entry,Kataloški Stupanje
Stock Entry Detail,Kataloški Stupanje Detalj
Stock Frozen Upto,Kataloški Frozen Upto
Stock Ledger,Stock Ledger
Stock Ledger Entry,Stock Ledger Stupanje
Stock Level,Kataloški Razina
Stock Projected Qty,Stock Projekcija Kol
Stock Qty,Kataloški 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, ",
Stock Settings,Stock Postavke
Stock UOM,Kataloški UOM
Stock UOM Replace Utility,Kataloški UOM Zamjena Utility
Stock Uom,Kataloški Uom
Stock Value,Stock vrijednost
Stock Value Difference,Stock Vrijednost razlika
Stock transactions exist against warehouse ,
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
Structure cost centers for budgeting.,Struktura troška za budžetiranja.
Structure of books of accounts.,Struktura knjige računa.
"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:
Suggestion,Prijedlog
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 Account,dobavljač račun
Supplier Account Head,Dobavljač račun Head
Supplier Address,Dobavljač Adresa
Supplier Addresses And Contacts,Supplier adrese i kontakti
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 Shipment Date,Dobavljač Pošiljka Datum
Supplier Shipment No,Dobavljač Pošiljka Nema
Supplier Type,Dobavljač Tip
Supplier Type / Supplier,Dobavljač Tip / Supplier
Supplier Warehouse,Dobavljač galerija
Supplier Warehouse mandatory subcontracted purchase receipt,Dobavljač skladišta obvezni podugovorne Račun kupnje
Supplier classification.,Dobavljač klasifikacija.
Supplier database.,Dobavljač baza podataka.
Supplier of Goods or Services.,Dobavljač robe ili usluga.
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 Administration,Administracija sustava
System Scheduler Errors,Sustav Scheduler Pogreške
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."
System for managing Backups,Sustav za upravljanje sigurnosne kopije
System generated mails will be sent from this email id.,Sustav generira mailova će biti poslan na ovaj email id.
TL-,TL-
TLB-,TLB-
Table for Item that will be shown in Web Site,Tablica za predmet koji će biti prikazan u web stranice
Target  Amount,Ciljana Iznos
Target Detail,Ciljana Detalj
Target Details,Ciljane Detalji
Target Details1,Ciljana Details1
Target Distribution,Ciljana Distribucija
Target On,Target Na
Target Qty,Ciljana Kol
Target Warehouse,Ciljana galerija
Task,Zadatak
Task Details,Zadatak Detalji
Tasks,zadaci
Tax,Porez
Tax Accounts,porezni Računi
Tax Calculation,Obračun poreza
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 Master,Porezna Master
Tax Rate,Porezna stopa
Tax Template for Purchase,Porezna Predložak za kupnju
Tax Template for Sales,Porezna Predložak za prodaju
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",
Taxable,Oporeziva
Taxes,Porezi
Taxes and Charges,Porezi i naknade
Taxes and Charges Added,Porezi i naknade Dodano
Taxes and Charges Added (Company Currency),Porezi i naknade uvrštenja (Društvo valuta)
Taxes and Charges Calculation,Porezi i naknade Proračun
Taxes and Charges Deducted,Porezi i naknade oduzeti
Taxes and Charges Deducted (Company Currency),Porezi i naknade Umanjenja (Društvo valuta)
Taxes and Charges Total,Porezi i naknade Ukupno
Taxes and Charges Total (Company Currency),Porezi i naknade Ukupno (Društvo valuta)
Template for employee performance appraisals.,Predložak za zaposlenika ocjeni rada.
Template of terms or contract.,Predložak termina ili ugovor.
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 (točka 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.
",
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 coincide with holiday(s). You need not apply for leave.,Dan (a ) na koji se prijavljujete za odmor podudara s odmora (s). 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.
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 Cost Center is a,Ovaj troška je
This Currency is disabled. Enable to use in transactions,Ova valuta je onemogućen . Moći koristiti u transakcijama
This ERPNext subscription,Ovaj ERPNext pretplate
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,Ovaj put Prijavite u sukobu s
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 the number of the last created transaction with this prefix,To je broj zadnjeg stvorio transakcije s ovim prefiksom
This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,Ovaj alat pomaže vam da ažurirate ili popraviti količinu i vrednovanja zaliha u sustavu. To se obično koristi za sinkronizaciju sustava vrijednosti i što zapravo postoji u svojim skladištima.
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 status must be 'Submitted',Vrijeme Log Batch status mora biti &#39;Poslao&#39;
Time Log for tasks.,Vrijeme Prijava za zadatke.
Time Log must have status 'Submitted',Vrijeme Prijava mora imati status &#39;Poslao&#39;
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
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 Discuss,Za Raspravljajte
To Do List,Da li popis
To Package No.,Za Paket br
To Pay,platiti
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 automatically create Support Tickets from your incoming mail, set your POP3 settings here. You must ideally create a separate email id for the erp system so that all emails will be synced into the system from that mail id. If you are not sure, please contact your EMail Provider.","Da biste automatski stvorili podršku ulaznice iz vašeg dolaznog maila, postaviti POP3 postavke ovdje. Vi idealno mora stvoriti zasebnu e-mail ID za ERP sustava, tako da sve e-mailove će biti sinkronizirane u sustav iz tog mail id. Ako niste sigurni, obratite se davatelju usluge e."
To create a Bank Account:,Za stvaranje bankovni račun :
To create a Tax Account:,Za stvaranje porezni račun :
"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 merge, following properties must be same for both items","Spojiti , ova svojstva moraju biti isti za obje stavke"
"To report an issue, go to ",
"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<br>
Delivery Note, Enuiry, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No",
To track item in sales and purchase documents based on their serial nos. This is can also used to track warranty details of the product.,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.
Tools,Alat
Top,Vrh
Total,Ukupan
Total (sum of) points distribution for all goals should be 100.,Ukupno (zbroj) boda distribucije svih ciljeva trebao biti 100.
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 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 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 Manufactured Qty can not be greater than Planned qty to manufacture,Ukupna Proizvedeno Količina ne može biti veći od planiranog Količina za proizvodnju
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 Working Days In The Month,Ukupno radnih dana u mjesecu
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 in words,Ukupno je u riječima
Total production order qty for item,Ukupna proizvodnja kako kom za stavku
Totals,Ukupan rezultat
Track separate Income and Expense for product verticals or divisions.,Pratite posebnu prihodi i rashodi za proizvode vertikalama ili podjele.
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,Transakcija nije dopuštena protiv zaustavljena proizvodnja Reda
Transfer,Prijenos
Transfer Material,Prijenos materijala
Transfer Raw Materials,Prijenos sirovine
Transferred Qty,prebačen Kol
Transporter Info,Transporter Info
Transporter Name,Transporter Ime
Transporter lorry number,Transporter kamion broj
Trash Reason,Otpad Razlog
Tree Type,Tree Type
Tree of item classification,Stablo točke klasifikaciji
Trial Balance,Pretresno bilanca
Tuesday,Utorak
Type,Vrsta
Type of document to rename.,Vrsta dokumenta za promjenu naziva.
Type of employment master.,Vrsta zaposlenja gospodara.
"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
UOM,UOM
UOM Conversion Detail,UOM pretvorbe Detalj
UOM Conversion Details,UOM pretvorbe Detalji
UOM Conversion Factor,UOM konverzijski faktor
UOM Conversion Factor is mandatory,UOM pretvorbe Factor je obvezna
UOM Name,UOM Ime
UOM Replace Utility,UOM Zamjena Utility
Under AMC,Pod AMC
Under Graduate,Pod diplomski
Under Warranty,Pod jamstvo
Unit of Measure,Jedinica mjere
"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
Unmatched Amount,Nenadmašan Iznos
Unpaid,Neplaćen
Unscheduled,Neplanski
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 Numbering Series,Update numeriranja serije
Update Series,Update serija
Update Series Number,Update serije Broj
Update Stock,Ažurirajte Stock
Update Stock should be checked.,Update Stock treba provjeriti.
"Update allocated amount in the above table and then click ""Allocate"" button","Ažurirajte dodijeljeni iznos u gornjoj tablici, a zatim kliknite na &quot;alocirati&quot; gumb"
Update bank payment dates with journals.,Update banka datum plaćanja s časopisima.
Update clearance date of Journal Entries marked as 'Bank Vouchers',"Datum Update klirens navoda označene kao ""Banka bon '"
Updated,Obnovljeno
Updated Birthday Reminders,Obnovljeno Rođendan Podsjetnici
Upload Attendance,Upload Attendance
Upload Backups to Dropbox,Upload sigurnosne kopije za ispuštanje
Upload Backups to Google Drive,Upload sigurnosne kopije na Google Drive
Upload HTML,Prenesi HTML
Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,Učitajte CSV datoteku s dva stupca.: Stari naziv i novi naziv. Max 500 redaka.
Upload attendance from a .csv file,Prenesi dolazak iz. Csv datoteku
Upload stock balance via csv.,Prenesi dionica ravnotežu putem CSV.
Upload your letter head and logo - you can edit them later.,Pošalji svoje pismo glavu i logo - možete ih urediti kasnije .
Uploaded File Attachments,Uploaded privitaka
Upper Income,Gornja Prihodi
Urgent,Hitan
Use Multi-Level BOM,Koristite multi-level BOM
Use SSL,Koristite SSL
Use TLS,Koristi TLS
User,Korisnik
User ID,Korisnički ID
User Name,Korisničko ime
User Properties,Svojstva korisnika
User Remark,Upute Zabilješka
User Remark will be added to Auto Remark,Upute Napomena će biti dodan Auto Napomena
User Tags,Upute Tags
User must always select,Korisničko uvijek mora odabrati
User settings for Point-of-sale (POS),Korisničke postavke za point-of -sale ( POS )
Username,Korisničko ime
Users and Permissions,Korisnici i dozvole
Users who can approve a specific employee's leave applications,Korisnici koji može odobriti određenog zaposlenika dopust aplikacija
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,Korisnost
Valid For Territories,Vrijedi za teritorijima
Valid Upto,Vrijedi Upto
Valid for Buying or Selling?,Vrijedi za kupnju ili prodaju?
Valid for Territories,Vrijedi za teritorijima
Validate,Potvrditi
Valuation,Procjena
Valuation Method,Vrednovanje metoda
Valuation Rate,Vrednovanje Stopa
Valuation and Total,Vrednovanje i Total
Value,Vrijednost
Value or Qty,"Vrijednost, ili Kol"
Vehicle Dispatch Date,Vozilo Dispatch Datum
Vehicle No,Ne vozila
Verified By,Ovjeren od strane
View,pogled
View Ledger,Pogledaj Ledger
View Now,Pregled Sada
Visit,Posjetiti
Visit report for maintenance call.,Posjetite izvješće za održavanje razgovora.
Voucher #,bon #
Voucher Detail No,Bon Detalj Ne
Voucher ID,Bon ID
Voucher No,Bon Ne
Voucher Type,Bon Tip
Voucher Type and Date,Tip bon i datum
WIP Warehouse required before Submit,WIP skladišta potrebno prije Podnijeti
Walk In,Šetnja u
Warehouse,skladište
Warehouse ,
Warehouse Contact Info,Skladište Kontakt Info
Warehouse Detail,Skladište Detalj
Warehouse Name,Skladište Ime
Warehouse User,Skladište Upute
Warehouse Users,Skladište Korisnika
Warehouse and Reference,Skladište i upute
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 does not belong to company.,Skladište ne pripadaju tvrtki.
Warehouse is missing in Purchase Order,Skladište nedostaje u narudžbenice
Warehouse where you are maintaining stock of rejected items,Skladište gdje ste održavanju zaliha odbijenih stavki
Warehouse-Wise Stock Balance,Skladište-Wise Stock Balance
Warehouse-wise Item Reorder,Warehouse-mudar Stavka redoslijeda
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
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)
Warranty expiry date and maintenance status mismatched,Jamstveni rok valjanosti i status održavanje neprilagođeno
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 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 !"
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 ",
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.
With Operations,Uz operacije
With period closing entry,Ulaskom razdoblje zatvaranja
Work Details,Radni Brodu
Work Done,Rad Done
Work In Progress,Radovi u tijeku
Work-in-Progress Warehouse,Rad u tijeku Warehouse
Working,Rad
Workstation,Workstation
Workstation Name,Ime Workstation
Write Off Account,Napišite Off račun
Write Off Amount,Napišite paušalni iznos
Write Off Amount <=,Otpis Iznos &lt;=
Write Off Based On,Otpis na temelju
Write Off Cost Center,Otpis troška
Write Off Outstanding Amount,Otpisati preostali iznos
Write Off Voucher,Napišite Off bon
Wrong Template: Unable to find head row.,Pogrešna Predložak: Nije moguće pronaći glave red.
Year,Godina
Year Closed,Godina Zatvoreno
Year End Date,Godina Datum završetka
Year Name,Godina Ime
Year Start Date,Godina Datum početka
Year Start Date and Year End Date are already set in Fiscal Year: ,
Year Start Date and Year End Date are not within Fiscal Year.,Godina Početak Datum i Godina End Date nisu u fiskalnoj godini .
Year Start Date should not be greater than Year End Date,Godine Datum početka ne bi trebao biti veći od Godina End Date
Year of Passing,Godina Prolazeći
Yearly,Godišnje
Yes,Da
You are not allowed to reply to this ticket.,Vi ne smijete odgovoriti na ovu kartu.
You are not authorized to do/modify back dated entries before ,Niste ovlašteni za to / mijenjati vratiti prije nadnevaka
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 Row only if your Charge Type is 'On Previous Row Amount' or ' Previous Row Total',Možete Unesite Row samo ako vaš Charge Tip je ' Na prethodni red Iznos ' ili ' prethodnog retka Total '
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 start by selecting backup frequency and \
					granting access for sync",
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 Enter Row no. greater than or equal to current row no. for this Charge type,Ne možete Unesite Row nema . veći ili jednak sjenčanja br . za ovu vrstu Charge
You cannot deduct when category is for 'Valuation' or 'Valuation and Total',"Vi ne možete odbiti kada kategorija je "" vrednovanje "" ili "" Vrednovanje i Total '"
You cannot directly enter Amount and if your Charge Type is Actual enter your amount in Rate,"Vi ne možete izravno unijeti iznos, a ako je vaš Charge Tip je Stvarni unesite iznos u stopu"
You cannot give more than ,
You cannot select Charge Type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,"Ne možete odabrati Naknada kao ' na prethodnim Row Iznos ""ili"" u odnosu na prethodnu Row Ukupno ""za prvi red"
You 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"
You have entered duplicate items. Please rectify and try again.,Unijeli duple stavke . Molimo ispraviti i pokušajte ponovno .
You may need to update: ,Možda ćete morati ažurirati:
You must ,
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 ERPNext subscription will,Vaša pretplata ERPNext će
Your Products or Services,Svoje proizvode ili usluge
Your Suppliers,vaši Dobavljači
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!
already available in Price List,već je dostupan u Cjeniku
already returned though some other documents,"Već se vratio , iako su neki drugi dokumenti"
also be included in Item's rate,također biti uključeni u stavku je stopa
and,i
"and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM","i "" Je Prodaja Stavka "" je "" Da "" i ne postoji drugi Prodaja BOM"
"and create a new Account Ledger (by clicking on Add Child) of type ""Bank or Cash""","i stvoriti novi korisnički račun Ledger ( klikom na Dodaj dijete ) tipa "" banke ili gotovinu """
"and create a new Account Ledger (by clicking on Add Child) of type ""Tax"" and do mention the Tax rate.","i stvoriti novu Ledger računa (klikom na Dodaj dijete ) tipa "" porez"" i ne spominju se porezna stopa ."
and fiscal year: ,
are not allowed for,nisu dopušteni
are not allowed for ,
are not allowed.,nisu dopušteni.
assigned by,dodjeljuje
but entries can be made against Ledger,ali unose možete izvoditi protiv Ledgera
but is pending to be manufactured.,", ali je u tijeku kako bi se proizvoditi ."
cancel,otkazati
cannot be greater than 100,ne može biti veća od 100
dd-mm-yyyy,dd-mm-yyyy
dd/mm/yyyy,dd / mm / gggg
deactivate,deaktivirati
discount on Item Code,popusta na Kodeks artikla
does not belong to BOM: ,ne pripadaju sastavnice:
does not have role 'Leave Approver',nema ulogu &#39;ostaviti Odobritelj&#39;
does not match,ne odgovara
"e.g. Bank, Cash, Credit Card","npr. banka, gotovina, kreditne kartice"
"e.g. Kg, Unit, Nos, m","npr. kg, Jedinica, br, m"
eg. Cheque Number,npr.. Ček Broj
example: Next Day Shipping,Primjer: Sljedeći dan Dostava
has already been submitted.,je već poslan .
has been entered atleast twice,je ušao atleast dva puta
has been made after posting date,ostvaren je datuma kada je poslana
has expired,je istekla
have a common territory,imaju zajednički teritorij
in the same UOM.,u istom UOM .
is a cancelled Item,je otkazan artikla
is not a Stock Item,nije kataloški artikla
lft,LFT
mm-dd-yyyy,dd-mm-yyyy
mm/dd/yyyy,dd / mm / gggg
must be a Liability account,mora bitiračun odgovornosti
must be one of,mora biti jedan od
not a purchase item,Ne kupnju stavke
not a sales item,Ne prodaje stavku
not a service item.,Ne usluga stavku.
not a sub-contracted item.,Ne pod-ugovori stavku.
not submitted,ne podnosi
not within Fiscal Year,nije u fiskalnoj godini
of,od
old_parent,old_parent
reached its end of life on,dosegla svoj kraj života na
rgt,ustaša
should be 100%,bi trebao biti 100%
the form before proceeding,Obrazac prije nastavka
they are created automatically from the Customer and Supplier master,oni su se automatski stvara od kupca i dobavljača majstora
"to be included in Item's rate, it is required that: ","koji će biti uključeni u stavke stope, potrebno je da:"
to set the given stock and valuation on this date.,postaviti zadani zaliha i procjenu vrijednosti tog datuma .
usually as per physical inventory.,obično po fizičke inventure .
website page link,web stranica vode
which is greater than sales order qty ,što je više od prodajnog naloga Kol
yyyy-mm-dd,gggg-mm-dd
