"""Customer Provided Item"" cannot be Purchase Item also",&quot;Predmet koji pruža klijent&quot; takođe ne može biti predmet kupovine,
"""Customer Provided Item"" cannot have Valuation Rate",&quot;Predmet koji pruža klijent&quot; ne može imati stopu vrednovanja,
"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","&quot;Da li je osnovno sredstvo&quot; ne može biti označeno, kao rekord imovine postoji u odnosu na stavku",
'Based On' and 'Group By' can not be same,' Temelji se na' i 'Grupisanje po ' ne mogu biti isti,
'Days Since Last Order' must be greater than or equal to zero,' Dana od poslednje porudzbine ' mora biti veći ili jednak nuli,
'Entries' cannot be empty,' Prijave ' ne može biti prazno,
'From Date' is required,' Od datuma ' je potrebno,
'From Date' must be after 'To Date',"' Od datuma ' mora biti poslije ' Do datuma""",
'Has Serial No' can not be 'Yes' for non-stock item,' Ima serijski broj ' ne može biti ' Da ' za artikle bez zalihe,
'Opening',&#39;Otvaranje&#39;,
'To Case No.' cannot be less than 'From Case No.','Za slucaj br' ne može biti manji od 'Od slucaja br',
'To Date' is required,' Do datuma ' je obavezno,
'Total',&#39;Ukupno&#39;,
'Update Stock' can not be checked because items are not delivered via {0},'Azuriranje zalihe' se ne može provjeriti jer artikli nisu dostavljeni putem {0},
'Update Stock' cannot be checked for fixed asset sale,&#39;Update Stock&#39; ne može se provjeriti na prodaju osnovnih sredstava,
1 exact match.,1 tačno podudaranje.,
90-Above,Iznad 90,
A Customer Group exists with same name please change the Customer name or rename the Customer Group,Grupa kupaca sa istim nazivom već postoji. Promijenite naziv kupca ili promijenite naziv grupe kupaca.,
A Default Service Level Agreement already exists.,Ugovor o nivou usluge već postoji.,
A Lead requires either a person's name or an organization's name,Voditelj zahteva ili ime osobe ili ime organizacije,
A customer with the same name already exists,Kupac sa istim imenom već postoji,
A question must have more than one options,Pitanje mora imati više opcija,
A qustion must have at least one correct options,Qurance mora imati najmanje jednu ispravnu opciju,
A4,A4,
API Endpoint,API Endpoint,
API Key,API Key,
Abbr can not be blank or space,Skraćeno ne može biti prazan ili prostora,
Abbreviation already used for another company,Skraćenica već koristi za druge kompanije,
Abbreviation cannot have more than 5 characters,Skraćeni naziv ne može imati više od 5 znakova,
Abbreviation is mandatory,Skraćenica je obavezno,
About the Company,O kompaniji,
About your company,O vašoj kompaniji,
Above,Iznad,
Academic Term,akademski Term,
Academic Term: ,Akademski termin:,
Academic Year,Akademska godina,
Academic Year: ,Akademska godina:,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Količina prihvaćeno + odbijeno mora biti jednaka zaprimljenoj količini proizvoda {0},
Access Token,Access Token,
Accessable Value,Dostupna vrednost,
Account,Konto,
Account Number,Broj računa,
Account Number {0} already used in account {1},Broj računa {0} već se koristi na nalogu {1},
Account Pay Only,Račun plaćaju samo,
Account Type,Vrsta konta,
Account Type for {0} must be {1},Tip naloga za {0} mora biti {1},
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Stanje računa već u kredit, što se ne smije postaviti 'ravnoteža se mora' kao 'zaduženje """,
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Stanje računa već u zaduženje, ne smiju postaviti 'ravnoteža se mora' kao 'kreditne'",
Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Broj računa za račun {0} nije dostupan. <br> Molimo pravilno podesite svoj račun.,
Account with child nodes cannot be converted to ledger,Konto sa pod-kontima se ne može pretvoriti u glavnoj knjizi,
Account with child nodes cannot be set as ledger,Račun s djetetom čvorovi se ne može postaviti kao glavnu knjigu,
Account with existing transaction can not be converted to group.,Konto sa postojećim transakcijama se ne može pretvoriti u grupu konta .,
Account with existing transaction can not be deleted,Konto sa postojećim transakcijama se ne može izbrisati,
Account with existing transaction cannot be converted to ledger,Konto sa postojećim transakcijama se ne može pretvoriti u glavnu knjigu,
Account {0} does not belong to company: {1},Konto {0} ne pripada preduzeću {1},
Account {0} does not belongs to company {1},Računa {0} ne pripada kompaniji {1},
Account {0} does not exist,Konto {0} ne postoji,
Account {0} does not exists,Račun {0} ne postoji,
Account {0} does not match with Company {1} in Mode of Account: {2},Računa {0} ne odgovara Company {1} u režimu računa: {2},
Account {0} has been entered multiple times,Račun {0} je ušao više puta,
Account {0} is added in the child company {1},Račun {0} se dodaje u nadređenoj kompaniji {1},
Account {0} is frozen,Konto {0} je zamrznut,
Account {0} is invalid. Account Currency must be {1},Račun {0} je nevažeća. Račun valuta mora biti {1},
Account {0}: Parent account {1} can not be a ledger,Konto {0}: Nadređeni konto {1} Ne može biti knjiga,
Account {0}: Parent account {1} does not belong to company: {2},Konto {0}: Nadređeni konto {1} ne pripada preduzeću: {2},
Account {0}: Parent account {1} does not exist,Konto {0}: Nadređeni konto {1} ne postoji,
Account {0}: You can not assign itself as parent account,Konto {0}: Ne može se označiti kao nadređeni konto samom sebi,
Account: {0} can only be updated via Stock Transactions,Račun: {0} može ažurirati samo preko Stock Transakcije,
Account: {0} with currency: {1} can not be selected,Račun: {0} s valutnom: {1} se ne mogu odabrati,
Accountant,Računovođa,
Accounting,Računovodstvo,
Accounting Entry for Asset,Računovodstveni unos za imovinu,
Accounting Entry for Stock,Računovodstvo Entry za Stock,
Accounting Entry for {0}: {1} can only be made in currency: {2},Knjiženju za {0}: {1} može se vršiti samo u valuti: {2},
Accounting Ledger,Računovodstvo Ledger,
Accounting journal entries.,Računovodstvene stavke,
Accounts,Konta,
Accounts Manager,Računi Manager,
Accounts Payable,Naplativa konta,
Accounts Payable Summary,Računi se plaćaju Sažetak,
Accounts Receivable,Konto potraživanja,
Accounts Receivable Summary,Potraživanja Pregled,
Accounts User,Računi korisnika,
Accounts table cannot be blank.,Računi stol ne može biti prazan.,
Accumulated Depreciation,Akumuliranu amortizaciju,
Accumulated Depreciation Amount,Ispravka vrijednosti iznos,
Accumulated Depreciation as on,Ispravka vrijednosti kao na,
Accumulated Monthly,akumulirani Mjesečno,
Accumulated Values,akumulirani Vrijednosti,
Accumulated Values in Group Company,Akumulirane vrijednosti u grupnoj kompaniji,
Achieved ({}),Postignuto ({}),
Action,Akcija,
Action Initialised,Akcija inicijalizirana,
Actions,Akcije,
Active,Aktivan,
Activity Cost exists for Employee {0} against Activity Type - {1},Aktivnost troškova postoji za zaposlenog {0} protiv Aktivnost Tip - {1},
Activity Cost per Employee,Aktivnost Trošak po zaposlenom,
Activity Type,Tip aktivnosti,
Actual Cost,Stvarni trošak,
Actual Delivery Date,Stvarni datum isporuke,
Actual Qty,Stvarna kol,
Actual Qty is mandatory,Stvarni Qty je obavezno,
Actual Qty {0} / Waiting Qty {1},Stvarni Količina {0} / Waiting Količina {1},
Actual Qty: Quantity available in the warehouse.,Stvarna kol: količina dostupna na skladištu.,
Actual qty in stock,Stvarne Količina na lageru,
Actual type tax cannot be included in Item rate in row {0},Stvarni tip porez ne može biti uključen u stopu stavka u nizu {0},
Add,Dodaj,
Add / Edit Prices,Dodaj / uredi cijene,
Add Comment,Dodaj komentar,
Add Customers,Dodaj Kupci,
Add Employees,Dodaj zaposlenog,
Add Item,Dodaj stavku,
Add Items,Dodaj Predmeti,
Add Leads,Add Leads,
Add Multiple Tasks,Dodajte više zadataka,
Add Sales Partners,Dodajte partnera za prodaju,
Add Serial No,Dodaj serijski broj,
Add Students,Dodaj Studenti,
Add Suppliers,Dodajte dobavljače,
Add Time Slots,Dodajte vremenske utore,
Add Timesheets,Dodaj Timesheets,
Add Timeslots,Dodaj Timeslots,
Add Users to Marketplace,Dodajte korisnike na Marketplace,
Add a new address,Dodajte novu adresu,
Add cards or custom sections on homepage,Dodajte kartice ili prilagođene odjeljke na početnu stranicu,
Add more items or open full form,Dodaj više stavki ili otvoreni punu formu,
Add notes,Dodajte beleške,
Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Dodajte ostatak organizacije kao korisnika. Također možete dodati pozvati kupce da vaš portal dodavanjem iz kontakata,
Add/Remove Recipients,Dodaj / ukloni primaoce,
Added,Dodano,
Added {0} users,Dodao je {0} korisnike,
Additional Salary Component Exists.,Postoje dodatne komponente plaće.,
Address,Adresa,
Address Line 2,Adresa - linija 2,
Address Name,Adresa ime,
Address Title,Naziv adrese,
Address Type,Tip adrese,
Administrative Expenses,Administrativni troškovi,
Administrative Officer,Administrativni službenik,
Administrator,Administrator,
Admission,upis,
Admission and Enrollment,Upis i upis,
Admissions for {0},Priznanja za {0},
Admit,Priznati,
Admitted,Prihvaćen,
Advance Amount,Iznos avansa,
Advance Payments,Avansna plaćanja,
Advance account currency should be same as company currency {0},Advance valuta valute mora biti ista kao valuta kompanije {0},
Advance amount cannot be greater than {0} {1},iznos Advance ne može biti veći od {0} {1},
Advertising,Oglašavanje,
Aerospace,Zračno-kosmički prostor,
Against,Protiv,
Against Account,Protiv računa,
Against Journal Entry {0} does not have any unmatched {1} entry,Protiv Journal Entry {0} nema premca {1} unos,
Against Journal Entry {0} is already adjusted against some other voucher,Protiv Journal Entry {0} je već prilagođen protiv nekih drugih vaučer,
Against Supplier Invoice {0} dated {1},Protiv Dobavljač fakture {0} od {1},
Against Voucher,Protiv Voucheru,
Against Voucher Type,Protiv voucher vrsti,
Age,Starost,
Age (Days),Starost (dani),
Ageing Based On,Starenje temelju On,
Ageing Range 1,Starenje Range 1,
Ageing Range 2,Starenje Range 2,
Ageing Range 3,Starenje Range 3,
Agriculture,Poljoprivreda,
Agriculture (beta),Poljoprivreda (beta),
Airline,Aviokompanija,
All Accounts,Svi računi,
All Addresses.,Sve adrese.,
All Assessment Groups,Sve procjene Grupe,
All BOMs,Svi sastavnica,
All Contacts.,Svi kontakti.,
All Customer Groups,Sve grupe kupaca,
All Day,Cijeli dan,
All Departments,Svi odjeli,
All Healthcare Service Units,Sve jedinice zdravstvene službe,
All Item Groups,Sve grupe artikala,
All Products,Svi proizvodi,
All Products or Services.,Svi proizvodi i usluge.,
All Student Admissions,Svi Student Prijemni,
All Supplier Groups,Sve grupe dobavljača,
All Supplier scorecards.,Sve ispostavne kartice.,
All Territories,Sve teritorije,
All Warehouses,Svi Skladišta,
All communications including and above this shall be moved into the new Issue,"Sve komunikacije, uključujući i iznad njih, biće premještene u novo izdanje",
All items have already been transferred for this Work Order.,Svi predmeti su već preneti za ovaj radni nalog.,
All other ITC,Svi ostali ITC,
All the mandatory Task for employee creation hasn't been done yet.,Sva obavezna zadatka za stvaranje zaposlenih još nije izvršena.,
Allocate Payment Amount,Izdvojiti plaćanja Iznos,
Allocated Amount,Izdvojena iznosu,
Allocating leaves...,Raspodjela listova ...,
Already record exists for the item {0},Već postoji zapis za stavku {0},
"Already set default in pos profile {0} for user {1}, kindly disabled default","Već je postavljeno podrazumevano u profilu pos {0} za korisnika {1}, obično je onemogućeno podrazumevano",
Alternate Item,Alternativna jedinica,
Alternative item must not be same as item code,Alternativni predmet ne sme biti isti kao kod stavke,
Amended From,Izmijenjena Od,
Amount,Iznos,
Amount After Depreciation,Iznos nakon Amortizacija,
Amount of Integrated Tax,Iznos integriranog poreza,
Amount of TDS Deducted,Iznos TDS odbijen,
Amount should not be less than zero.,Iznos ne smije biti manji od nule.,
Amount to Bill,Iznos za naplatu,
Amount {0} {1} against {2} {3},Broj {0} {1} protiv {2} {3},
Amount {0} {1} deducted against {2},Broj {0} {1} oduzeti protiv {2},
Amount {0} {1} transferred from {2} to {3},Broj {0} {1} je prešao iz {2} u {3},
Amount {0} {1} {2} {3},Broj {0} {1} {2} {3},
Amt,Amt,
"An Item Group exists with same name, please change the item name or rename the item group","Stavka Grupa postoji s istim imenom , molimo promijenite ime stavku ili preimenovati stavku grupe",
An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Akademski pojam sa ovim &quot;akademska godina&quot; {0} i &#39;Term Ime&#39; {1} već postoji. Molimo vas da mijenjati ove stavke i pokušati ponovo.,
An error occurred during the update process,Došlo je do greške tokom procesa ažuriranja,
"An item exists with same name ({0}), please change the item group name or rename the item","Stavka postoji s istim imenom ( {0} ) , molimo promijenite ime stavku grupe ili preimenovati stavku",
Analyst,Analitičar,
Annual Billing: {0},Godišnji Billing: {0},
Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Još jedan rekord budžeta &#39;{0}&#39; već postoji {1} &#39;{2}&#39; i račun &#39;{3}&#39; za fiskalnu godinu {4},
Another Period Closing Entry {0} has been made after {1},Drugi period Zatvaranje Stupanje {0} je postignut nakon {1},
Another Sales Person {0} exists with the same Employee id,Još jedna osoba Sales {0} postoji s istim ID zaposlenih,
Antibiotic,Antibiotik,
Apparel & Accessories,Odjeća i modni dodaci,
Applicable For,primjenjivo za,
"Applicable if the company is SpA, SApA or SRL","Primjenjivo ako je tvrtka SpA, SApA ili SRL",
Applicable if the company is a limited liability company,Primjenjivo ako je društvo s ograničenom odgovornošću,
Applicable if the company is an Individual or a Proprietorship,Primjenjivo ako je kompanija fizička osoba ili vlasništvo,
Application of Funds (Assets),Primjena sredstava ( aktiva ),
Applied,Applied,
Appointment Confirmation,Potvrda o imenovanju,
Appointment Duration (mins),Trajanje imenovanja (min),
Appointment Type,Tip imenovanja,
Appointment {0} and Sales Invoice {1} cancelled,Imenovanje {0} i faktura za prodaju {1} otkazana,
Appointments and Encounters,Imenovanja i susreti,
Appointments and Patient Encounters,Imenovanja i susreti sa pacijentom,
Appraisal {0} created for Employee {1} in the given date range,Procjena {0} stvorena za zaposlenika {1} u određenom razdoblju,
Approving Role cannot be same as role the rule is Applicable To,Odobravanje ulogu ne mogu biti isti kao i ulogepravilo odnosi se na,
Approving User cannot be same as user the rule is Applicable To,Korisnik koji odobrava ne može biti isti kao i korisnik na kojeg se odnosi pravilo.,
"Apps using current key won't be able to access, are you sure?","Aplikacije koje koriste trenutni ključ neće moći da pristupe, da li ste sigurni?",
Are you sure you want to cancel this appointment?,Da li ste sigurni da želite da otkažete ovaj termin?,
Arrear,zaostatak,
As Examiner,Kao ispitivač,
As On Date,Kao i na datum,
As Supervisor,Kao supervizor,
As per rules 42 & 43 of CGST Rules,Prema pravilima 42 i 43 CGST pravila,
As per section 17(5),Prema odjeljku 17 (5),
Assessment,Procjena,
Assessment Criteria,Kriteriji procjene,
Assessment Group,procjena Group,
Assessment Group: ,Procena grupa:,
Assessment Plan,Plan procjene,
Assessment Plan Name,Naziv plana procene,
Assessment Report,Izveštaj o proceni,
Assessment Reports,Izveštaji o proceni,
Assessment Result,procjena rezultata,
Assessment Result record {0} already exists.,Evidencija Rezultat zapisa {0} već postoji.,
Asset,Asset,
Asset Category,Asset Kategorija,
Asset Category is mandatory for Fixed Asset item,Asset Kategorija je obavezno za Fixed stavku imovine,
Asset Maintenance,Održavanje imovine,
Asset Movement,Asset pokret,
Asset Movement record {0} created,rekord Asset pokret {0} stvorio,
Asset Name,Asset ime,
Asset Received But Not Billed,Imovina je primljena ali nije fakturisana,
Asset Value Adjustment,Podešavanje vrednosti imovine,
"Asset cannot be cancelled, as it is already {0}","Imovine ne može biti otkazan, jer je već {0}",
Asset scrapped via Journal Entry {0},Asset odbačen preko Journal Entry {0},
"Asset {0} cannot be scrapped, as it is already {1}","Asset {0} ne može biti ukinuta, jer je već {1}",
Asset {0} does not belong to company {1},Asset {0} ne pripada kompaniji {1},
Asset {0} must be submitted,Asset {0} mora biti dostavljena,
Assets,Imovina,
Assign To,Dodijeliti,
Associate,Pomoćnik,
At least one mode of payment is required for POS invoice.,Najmanje jedan način plaćanja je potreban za POS računa.,
Atleast one item should be entered with negative quantity in return document,Atleast jednu stavku treba upisati s negativnim količine za uzvrat dokumentu,
Atleast one of the Selling or Buying must be selected,Barem jedan od prodajete ili kupujete mora biti odabran,
Atleast one warehouse is mandatory,Atleast jednom skladištu je obavezno,
Attach Logo,Priložiti logo,
Attachment,Vezanost,
Attachments,Prilozi,
Attendance can not be marked for future dates,Gledatelji ne može biti označena za budući datum,
Attendance date can not be less than employee's joining date,Datum prisustvo ne može biti manji od datuma pristupanja zaposlenog,
Attendance for employee {0} is already marked,Gledatelja za zaposlenika {0} već označen,
Attendance has been marked successfully.,Posjećenost je uspješno označen.,
Attendance not submitted for {0} as {1} on leave.,Prisustvo nije dostavljeno {0} kao {1} na odsustvu.,
Attribute table is mandatory,Atribut sto je obavezno,
Attribute {0} selected multiple times in Attributes Table,Atribut {0} odabrani više puta u atributi tabeli,
Authorized Signatory,Ovlašteni potpisnik,
Auto Material Requests Generated,Auto materijala Zahtjevi Generirano,
Auto Repeat,Auto Repeat,
Auto repeat document updated,Automatsko ponavljanje dokumenta je ažurirano,
Automotive,Automobilska industrija,
Available,Dostupno,
Available Qty,Dostupno Količina,
Available Selling,Dostupna prodaja,
Available for use date is required,Potreban je datum upotrebe,
Available slots,Raspoložive slotove,
Available {0},Dostupno {0},
Available-for-use Date should be after purchase date,Datum dostupan za korištenje treba da bude nakon datuma kupovine,
Average Age,Prosječna starost,
Average Rate,Prosečna stopa,
Avg Daily Outgoing,Avg Daily Odlazni,
Avg. Buying Price List Rate,Avg. Kupovni cjenovnik,
Avg. Selling Price List Rate,Avg. Prodajna cijena cena,
Avg. Selling Rate,Prosj. Prodaja Rate,
BOM,BOM,
BOM Browser,BOM Browser,
BOM No,BOM br.,
BOM Rate,BOM Rate,
BOM Stock Report,BOM Stock Report,
BOM and Manufacturing Quantity are required,BOM i proizvodnja Količina su potrebne,
BOM does not contain any stock item,BOM ne sadrži nikakve zaliha stavka,
BOM {0} does not belong to Item {1},BOM {0} ne pripada Stavka {1},
BOM {0} must be active,BOM {0} mora biti aktivna,
BOM {0} must be submitted,BOM {0} mora biti dostavljena,
Balance,Ravnoteža,
Balance (Dr - Cr),Balans (Dr - Cr),
Balance ({0}),Balans ({0}),
Balance Qty,Bilans kol,
Balance Sheet,Završni račun,
Balance Value,Vrijednost bilance,
Balance for Account {0} must always be {1},Bilans konta {0} uvijek mora biti {1},
Bank,Banka,
Bank Account,Žiro račun,
Bank Accounts,Bankovni računi,
Bank Draft,Bank Nacrt,
Bank Name,Naziv banke,
Bank Overdraft Account,Bank Prekoračenje računa,
Bank Reconciliation,Banka pomirenje,
Bank Reconciliation Statement,Izjava banka pomirenja,
Bank Statement,Izjava banke,
Bank Statement Settings,Postavke banke,
Bank Statement balance as per General Ledger,Banka bilans po glavnoj knjizi,
Bank account cannot be named as {0},Žiro račun ne može biti imenovan kao {0},
Bank/Cash transactions against party or for internal transfer,transakcije protiv stranke ili za internu Transakcija / Cash,
Banking,Bankarstvo,
Banking and Payments,Bankarstvo i platni promet,
Barcode {0} already used in Item {1},Barkod {0} se već koristi u artiklu {1},
Barcode {0} is not a valid {1} code,Bar kod {0} nije važeći {1} kod,
Base URL,Baza URL,
Based On,Na osnovu,
Based On Payment Terms,Na osnovu uslova plaćanja,
Batch,Serija,
Batch Entries,Ulazne serije,
Batch ID is mandatory,Batch ID je obavezno,
Batch Inventory,Batch zaliha,
Batch Name,Batch ime,
Batch No,Broj serije,
Batch number is mandatory for Item {0},Batch broj je obavezno za Stavka {0},
Batch {0} of Item {1} has expired.,Batch {0} od {1} Stavka je istekla.,
Batch {0} of Item {1} is disabled.,Batch {0} elementa {1} je onemogućen.,
Batch: ,Serija:,
Batches,serija,
Become a Seller,Postanite prodavac,
Bill,račun,
Bill Date,Datum računa,
Bill No,Račun br,
Bill of Materials,Bill of Materials,
Bill of Materials (BOM),Sastavnice (BOM),
Billable Hours,Sati naplate,
Billed,Naplaćeno,
Billed Amount,Naplaćeni iznos,
Billing Address,Adresa za naplatu,
Billing Address is same as Shipping Address,Adresa za naplatu jednaka je adresi za dostavu,
Billing Amount,Billing Iznos,
Billing Status,Status naplate,
Billing currency must be equal to either default company's currency or party account currency,Valuta za obračun mora biti jednaka valuti valute kompanije ili valute partijskog računa,
Bills raised by Suppliers.,Mjenice podigao dobavljače.,
Bills raised to Customers.,Mjenice podignuta na kupce.,
Biotechnology,Biotehnologija,
Black,Crn,
Blanket Orders from Costumers.,Narudžbe kupaca od kupaca.,
Block Invoice,Blok faktura,
Boms,Boms,
Both Trial Period Start Date and Trial Period End Date must be set,Moraju se podesiti datum početka probnog perioda i datum završetka probnog perioda,
Both Warehouse must belong to same Company,Oba skladišta moraju pripadati istom preduzeću,
Branch,Ogranak,
Broadcasting,radiodifuzija,
Brokerage,posredništvo,
Browse BOM,Browse BOM,
Budget Against,budžet protiv,
Budget List,Budžetska lista,
Budget Variance Report,Proračun varijance Prijavi,
Budget cannot be assigned against Group Account {0},Budžet se ne može dodijeliti protiv grupe računa {0},
"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Budžet se ne može dodijeliti protiv {0}, jer to nije prihod ili rashod račun",
Buildings,Zgrade,
Bundle items at time of sale.,Bala stavke na vrijeme prodaje.,
Business Development Manager,Business Development Manager,
Buy,kupiti,
Buying,Nabavka,
Buying Amount,Iznos nabavke,
Buying Price List,Kupovni cjenovnik,
Buying Rate,Procenat kupovine,
"Buying must be checked, if Applicable For is selected as {0}","Kupnja treba provjeriti, ako je primjenjivo za odabrano kao {0}",
By {0},Do {0},
Bypass credit check at Sales Order ,Provjerite kreditnu obavezu na nalogu za prodaju,
C-Form records,C - Form zapisi,
C-form is not applicable for Invoice: {0},C-forma nije primjenjiv za fakture: {0},
CEO,CEO,
CESS Amount,CESS iznos,
CGST Amount,CGST Iznos,
CRM,CRM,
CWIP Account,CWIP nalog,
Calculated Bank Statement balance,Izračunato Banka bilans,
Campaign,Kampanja,
Can be approved by {0},Može biti odobren od strane {0},
"Can not filter based on Account, if grouped by Account","Ne možete filtrirati na temelju računa , ako grupirani po računu",
"Can not filter based on Voucher No, if grouped by Voucher","Ne možete filtrirati na temelju vaučer No , ako grupirani po vaučer",
"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Ne mogu označiti zapis hroničnih bolesti ispuštenih, postoje neobračunane fakture {0}",
Can only make payment against unbilled {0},Mogu samo napraviti uplatu protiv nenaplaćenu {0},
Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',"Može se odnositi red samo akotip zadužen je "" Na prethodni red Iznos 'ili' prethodnog retka Total '",
"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Ne možete promijeniti način vrednovanja, jer postoje transakcije protiv nekih stvari koje nemaju svoj vlastiti način vrednovanja",
Can't create standard criteria. Please rename the criteria,Ne mogu napraviti standardne kriterijume. Molim preimenovati kriterijume,
Cancel,Otkaži,
Cancel Material Visit {0} before cancelling this Warranty Claim,Odustani Materijal {0} Posjeti prije otkazivanja ova garancija potraživanje,
Cancel Material Visits {0} before cancelling this Maintenance Visit,Odustani Posjeta materijala {0} prije otkazivanja ovog održavanja pohod,
Cancel Subscription,Otkaži pretplatu,
Cancel the journal entry {0} first,Prvo otpustite unos teksta {0},
Canceled,Otkazano,
"Cannot Submit, Employees left to mark attendance","Ne mogu da pošaljem, Zaposleni su ostavljeni da obilježavaju prisustvo",
Cannot be a fixed asset item as Stock Ledger is created.,Ne može biti osnovna stavka sredstva kao što je stvorena knjiga zaliha.,
Cannot cancel because submitted Stock Entry {0} exists,"Ne mogu otkazati , jer podnijela Stock Stupanje {0} postoji",
Cannot cancel transaction for Completed Work Order.,Ne mogu otkazati transakciju za Završeni radni nalog.,
Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Ne mogu da otkažem {0} {1} jer Serijski broj {2} ne pripada skladištu {3},
Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Ne mogu promijeniti atribute nakon transakcije sa akcijama. Napravite novu stavku i prenesite zalihu na novu stavku,
Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Ne možete promijeniti fiskalnu godinu datum početka i datum završetka fiskalne godine kada Fiskalna godina se sprema.,
Cannot change Service Stop Date for item in row {0},Nije moguće promeniti datum zaustavljanja usluge za stavku u redu {0},
Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Ne mogu promijeniti svojstva varijante nakon transakcije sa akcijama. Za to ćete morati napraviti novu stavku.,
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Ne mogu promijeniti tvrtke zadanu valutu , jer postoje neki poslovi . Transakcije mora biti otkazana promijeniti zadanu valutu .",
Cannot change status as student {0} is linked with student application {1},Ne može promijeniti status studenta {0} je povezana s primjenom student {1},
Cannot convert Cost Center to ledger as it has child nodes,"Ne može se pretvoriti troška za knjigu , kao da ima djece čvorova",
Cannot covert to Group because Account Type is selected.,"Ne mogu da konvertovanje Group, jer je izabran Account Type.",
Cannot create Retention Bonus for left Employees,Ne mogu napraviti bonus zadržavanja za ljevičke zaposlene,
Cannot create a Delivery Trip from Draft documents.,Iz Nacrta dokumenata nije moguće kreirati dostavno putovanje.,
Cannot deactivate or cancel BOM as it is linked with other BOMs,Ne može se isključiti ili otkaže BOM kao što je povezano s drugim Boms,
"Cannot declare as lost, because Quotation has been made.","Ne može proglasiti izgubili , jer citat je napravio .",
Cannot deduct when category is for 'Valuation' or 'Valuation and Total',"Ne mogu odbiti kada kategorija je "" vrednovanje "" ili "" Vrednovanje i Total '",
Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Ne mogu odbiti kada kategorija je za &#39;Vrednovanje&#39; ili &#39;Vaulation i Total&#39;,
"Cannot delete Serial No {0}, as it is used in stock transactions","Ne možete izbrisati serijski broj {0}, koji se koristi u prodaji transakcije",
Cannot enroll more than {0} students for this student group.,Ne može upisati više od {0} studenata za ovu grupa studenata.,
Cannot produce more Item {0} than Sales Order quantity {1},Ne može proizvesti više predmeta {0} od prodajnog naloga količina {1},
Cannot promote Employee with status Left,Ne može promovirati zaposlenika sa statusom levo,
Cannot refer row number greater than or equal to current row number for this Charge type,Ne mogu se odnositi broj retka veći ili jednak trenutnom broju red za ovu vrstu Charge,
Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,"Ne možete odabrati vrstu naboja kao ' na prethodnim Row Iznos ""ili"" u odnosu na prethodnu Row Ukupno ""za prvi red",
Cannot set as Lost as Sales Order is made.,Ne mogu se postaviti kao izgubljen kao prodajnog naloga je napravio .,
Cannot set authorization on basis of Discount for {0},Ne mogu postaviti odobrenje na temelju popusta za {0},
Cannot set multiple Item Defaults for a company.,Ne može se podesiti više postavki postavki za preduzeće.,
Cannot set quantity less than delivered quantity,Ne može se postaviti količina manja od isporučene količine,
Cannot set quantity less than received quantity,Ne može se postaviti količina manja od primljene količine,
Cannot set the field <b>{0}</b> for copying in variants,Ne može se postaviti polje <b>{0}</b> za kopiranje u varijantama,
Cannot transfer Employee with status Left,Ne može preneti zaposlenog sa statusom Levo,
Cannot {0} {1} {2} without any negative outstanding invoice,Ne mogu {0} {1} {2} bez ikakvih negativnih izuzetan fakture,
Capital Equipments,Kapitalni oprema,
Capital Stock,Kapitala,
Capital Work in Progress,Kapitalni rad je u toku,
Cart,Kolica,
Cart is Empty,Košarica je prazna,
Case No(s) already in use. Try from Case No {0},Slučaj Ne ( i) je već u uporabi . Pokušajte s predmetu broj {0},
Cash,Gotovina,
Cash Flow Statement,Izvještaj o novčanim tokovima,
Cash Flow from Financing,Novčani tok iz Financiranje,
Cash Flow from Investing,Novčani tok iz ulagačkih,
Cash Flow from Operations,Novčani tok iz poslovanja,
Cash In Hand,Novac u blagajni,
Cash or Bank Account is mandatory for making payment entry,Novac ili bankovni račun je obvezna za izradu ulazak plaćanje,
Cashier Closing,Zatvaranje blagajnika,
Category,Kategorija,
Category Name,Naziv kategorije,
Caution,Oprez,
Central Tax,Centralni porez,
Certification,Certifikat,
Cess,Cess,
Change Amount,Promjena Iznos,
Change Item Code,Promenite stavku,
Change Release Date,Promeni datum izdanja,
Change Template Code,Promijenite šablon kod,
Changing Customer Group for the selected Customer is not allowed.,Promena klijentske grupe za izabranog klijenta nije dozvoljena.,
Chapter,Poglavlje,
Chapter information.,Informacije o poglavlju.,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,Punjenje tipa ' Stvarni ' u redu {0} ne mogu biti uključeni u točki Rate,
Chargeble,Chargeble,
Charges are updated in Purchase Receipt against each item,Naknade se ažuriraju u Kupovina Prijem protiv svaku stavku,
"Charges will be distributed proportionately based on item qty or amount, as per your selection","Naknade će se distribuirati proporcionalno na osnovu stavka količina ili iznos, po svom izboru",
Chart of Cost Centers,Grafikon troškovnih centara,
Check all,Provjerite sve,
Checkout,Provjeri,
Chemical,Hemijski,
Cheque,Ček,
Cheque/Reference No,Ček / Reference Ne,
Cheques Required,Potrebni provjeri,
Cheques and Deposits incorrectly cleared,Čekovi i depoziti pogrešno spašava,
Child Task exists for this Task. You can not delete this Task.,Zadatak za djecu postoji za ovaj zadatak. Ne možete da izbrišete ovaj zadatak.,
Child nodes can be only created under 'Group' type nodes,Dijete čvorovi se mogu kreirati samo pod &#39;Grupa&#39; tipa čvorova,
Child warehouse exists for this warehouse. You can not delete this warehouse.,skladište dijete postoji za to skladište. Ne možete brisati ovo skladište.,
Circular Reference Error,Kružna Reference Error,
City,Grad,
City/Town,Grad / Mjesto,
Clay,Clay,
Clear filters,Očistite filtere,
Clear values,Jasne vrijednosti,
Clearance Date,Razmak Datum,
Clearance Date not mentioned,Razmak Datum nije spomenuo,
Clearance Date updated,Razmak Datum ažurira,
Client,Klijent,
Client ID,ID klijenta,
Client Secret,klijent Secret,
Clinical Procedure,Klinička procedura,
Clinical Procedure Template,Obrazac kliničkog postupka,
Close Balance Sheet and book Profit or Loss.,Zatvori bilanca i knjiga dobit ili gubitak .,
Close Loan,Zatvori zajam,
Close the POS,Zatvorite POS,
Closed,Zatvoreno,
Closed order cannot be cancelled. Unclose to cancel.,Zatvorena kako se ne može otkazati. Otvarati da otkaže.,
Closing (Cr),Zatvaranje (Cr),
Closing (Dr),Zatvaranje (Dr),
Closing (Opening + Total),Zatvaranje (otvaranje + ukupno),
Closing Account {0} must be of type Liability / Equity,Zatvaranje računa {0} mora biti tipa odgovornosti / Equity,
Closing Balance,Zatvaranje ravnoteže,
Code,Šifra,
Collapse All,Skupi sve,
Color,Boja,
Colour,Boja,
Combined invoice portion must equal 100%,Kombinovani deo računa mora biti 100%,
Commercial,trgovački,
Commission,Provizija,
Commission Rate %,Procenat Komisije%,
Commission on Sales,Komisija za prodaju,
Commission rate cannot be greater than 100,Proviziju ne može biti veća od 100,
Community Forum,Community Forum,
Company (not Customer or Supplier) master.,Društvo ( ne kupaca i dobavljača ) majstor .,
Company Abbreviation,Skraćeni naziv preduzeća,
Company Abbreviation cannot have more than 5 characters,Skraćenica kompanije ne može imati više od 5 znakova,
Company Name,Naziv preduzeća,
Company Name cannot be Company,Kompanija Ime ne može biti poduzeća,
Company currencies of both the companies should match for Inter Company Transactions.,Kompanijske valute obe kompanije treba da se podudaraju za transakcije Inter preduzeća.,
Company is manadatory for company account,Kompanija je umanjena za račun kompanije,
Company name not same,Ime kompanije nije isto,
Company {0} does not exist,Kompanija {0} ne postoji,
Compensatory leave request days not in valid holidays,Dane zahtjeva za kompenzacijski odmor ne važe u valjanim praznicima,
Complaint,Žalba,
Completion Date,Završetak Datum,
Computer,Računar,
Condition,Stanje,
Configure,Konfigurišite,
Configure {0},Konfigurišite {0},
Confirmed orders from Customers.,Potvrđene narudžbe od kupaca.,
Connect Amazon with ERPNext,Povežite Amazon sa ERPNext,
Connect Shopify with ERPNext,Povežite Shopify sa ERPNext,
Connect to Quickbooks,Povežite se sa knjigama,
Connected to QuickBooks,Povezan sa QuickBooks-om,
Connecting to QuickBooks,Povezivanje na QuickBooks,
Consultation,Konsultacije,
Consultations,Konsultacije,
Consulting,savjetodavni,
Consumable,Potrošni,
Consumed,Consumed,
Consumed Amount,Consumed Iznos,
Consumed Qty,Potrošeno Kol,
Consumer Products,Consumer Products,
Contact,Kontakt,
Contact Us,Kontaktiraj nas,
Content,Sadržaj,
Content Masters,Sadržaj majstora,
Content Type,Vrsta sadržaja,
Continue Configuration,Nastavite konfiguraciju,
Contract,Ugovor,
Contract End Date must be greater than Date of Joining,Ugovor Datum završetka mora biti veći od dana ulaska u,
Contribution %,Doprinos%,
Contribution Amount,Doprinos Iznos,
Conversion factor for default Unit of Measure must be 1 in row {0},Faktor pretvorbe za zadani jedinica mjere mora biti jedan u nizu {0},
Conversion rate cannot be 0 or 1,Stopa pretvorbe ne može biti 0 ili 1,
Convert to Group,Pretvori u Grupi,
Convert to Non-Group,Pretvoriti u non-Group,
Cosmetics,Kozmetika,
Cost Center,Troška,
Cost Center Number,Broj troškovnog centra,
Cost Center and Budgeting,Troškovno središte i budžetiranje,
Cost Center is required in row {0} in Taxes table for type {1},Troška potrebno je u redu {0} poreza stolom za vrstu {1},
Cost Center with existing transactions can not be converted to group,Troška s postojećim transakcija ne može se prevesti u skupini,
Cost Center with existing transactions can not be converted to ledger,Troška s postojećim transakcija ne može pretvoriti u knjizi,
Cost Centers,Troška,
Cost Updated,Troškova Ažurirano,
Cost as on,Koštaju kao na,
Cost of Delivered Items,Troškovi isporučenih Predmeti,
Cost of Goods Sold,Troškovi prodane robe,
Cost of Issued Items,Troškovi Izdata Predmeti,
Cost of New Purchase,Troškovi New Kupovina,
Cost of Purchased Items,Troškovi Kupljene stavke,
Cost of Scrapped Asset,Troškovi Rashodovan imovine,
Cost of Sold Asset,Troškovi prodate imovine,
Cost of various activities,Troškova različitih aktivnosti,
"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Ne mogu automatski da kreiram kreditnu poruku, molim da uklonite oznaku &#39;Izdavanje kreditne note&#39; i pošaljite ponovo",
Could not generate Secret,Nije moguće generirati tajnu,
Could not retrieve information for {0}.,Ne mogu se preuzeti podaci za {0}.,
Could not solve criteria score function for {0}. Make sure the formula is valid.,Nije moguće riješiti funkciju rezultata za {0}. Proverite da li je formula validna.,
Could not solve weighted score function. Make sure the formula is valid.,Nije moguće riješiti funkciju ponderisane ocjene. Proverite da li je formula validna.,
Could not submit some Salary Slips,Ne mogu da podnesem neke plate,
"Could not update stock, invoice contains drop shipping item.","Nije mogao ažurirati zaliha, faktura sadrži drop shipping stavke.",
Country wise default Address Templates,Država mudar zadana adresa predlošci,
Course Code: ,Šifra predmeta:,
Course Enrollment {0} does not exists,Upis na tečaj {0} ne postoji,
Course Schedule,Raspored za golf,
Course: ,Kurs:,
Cr,Cr,
Create,Stvoriti,
Create BOM,Kreirajte BOM,
Create Delivery Trip,Kreirajte putovanje isporukom,
Create Employee,Kreirajte zaposlenog,
Create Employee Records,Kreiranje zaposlenih Records,
"Create Employee records to manage leaves, expense claims and payroll","Kreiranje evidencije zaposlenih za upravljanje lišće, trošak potraživanja i platnom spisku",
Create Fee Schedule,Kreirajte raspored naknada,
Create Fees,Kreiraj naknade,
Create Inter Company Journal Entry,Kreirajte unos časopisa Inter Company,
Create Invoice,Kreirajte račun,
Create Invoices,Stvorite fakture,
Create Job Card,Kreirajte Job Card,
Create Journal Entry,Kreirajte unos u časopis,
Create Lead,Stvorite olovo,
Create Leads,Napravi Leads,
Create Maintenance Visit,Kreirajte posetu za održavanje,
Create Material Request,Kreirajte materijalni zahtjev,
Create Multiple,Kreiraj više,
Create Opening Sales and Purchase Invoices,Stvorite početne fakture za prodaju i kupovinu,
Create Payment Entries,Kreirajte uplate za plaćanje,
Create Payment Entry,Kreirajte unos plaćanja,
Create Print Format,Napravi Print Format,
Create Purchase Order,Kreirajte narudžbinu,
Create Purchase Orders,Napravi Narudžbenice,
Create Quotation,stvaranje citata,
Create Sales Invoice,Kreirajte račun za prodaju,
Create Sales Order,Kreirajte porudžbinu,
Create Sales Orders to help you plan your work and deliver on-time,Stvorite prodajne naloge za lakše planiranje posla i isporuku na vreme,
Create Sample Retention Stock Entry,Napravite unos zaliha uzoraka,
Create Student,Kreirajte Student,
Create Student Batch,Napravite studentsku grupu,
Create Student Groups,Napravi studentske grupe,
Create Supplier Quotation,Kreirajte ponudu dobavljača,
Create Tax Template,Kreirajte predložak poreza,
Create Timesheet,Napravite Timesheet,
Create User,Kreiranje korisnika,
Create Users,kreiranje korisnika,
Create Variant,Kreiraj varijantu,
Create Variants,Kreirajte Varijante,
"Create and manage daily, weekly and monthly email digests.","Stvaranje i upravljanje dnevne , tjedne i mjesečne e razgradnju .",
Create customer quotes,Napravi citati kupac,
Create rules to restrict transactions based on values.,Stvaranje pravila za ograničavanje prometa na temelju vrijednosti .,
Created {0} scorecards for {1} between: ,Napravljene {0} pokazivačke karte za {1} između:,
Creating Company and Importing Chart of Accounts,Stvaranje preduzeća i uvoz računa,
Creating Fees,Kreiranje naknada,
Creating student groups,Stvaranje grupa studenata,
Creating {0} Invoice,Kreiranje {0} fakture,
Credit,Kredit,
Credit ({0}),Kredit ({0}),
Credit Account,Kreditni račun,
Credit Balance,Credit Balance,
Credit Card,Kreditna kartica,
Credit Days cannot be a negative number,Kreditni dani ne mogu biti negativni broj,
Credit Limit,Kreditni limit,
Credit Note,Kreditne Napomena,
Credit Note Amount,Kredit Napomena Iznos,
Credit Note Issued,Kreditne Napomena Zadani,
Credit Note {0} has been created automatically,Kreditna beleška {0} je kreirana automatski,
Credit limit has been crossed for customer {0} ({1}/{2}),Kreditni limit je prešao za kupca {0} ({1} / {2}),
Creditors,Kreditori,
Criteria weights must add up to 100%,Tegovi kriterijuma moraju dodati do 100%,
Crop Cycle,Crop Cycle,
Crops & Lands,Crop &amp; Lands,
Currency Exchange must be applicable for Buying or for Selling.,Menjanje mjenjača mora biti primjenjivo za kupovinu ili prodaju.,
Currency can not be changed after making entries using some other currency,Valuta ne mogu se mijenjati nakon što unose preko neke druge valute,
Currency exchange rate master.,Majstor valute .,
Currency for {0} must be {1},Valuta za {0} mora biti {1},
Currency is required for Price List {0},Valuta je potreban za Cjenovnik {0},
Currency of the Closing Account must be {0},Valuta zatvaranja računa mora biti {0},
Currency of the price list {0} must be {1} or {2},Valuta cenovnika {0} mora biti {1} ili {2},
Currency should be same as Price List Currency: {0},Valuta mora biti ista kao cenovnik Valuta: {0},
Current Assets,Dugotrajna imovina,
Current BOM and New BOM can not be same,Trenutni troškovnik i novi troškovnik ne mogu biti isti,
Current Liabilities,Kratkoročne obveze,
Current Qty,Trenutno Količina,
Current invoice {0} is missing,Nedostaje trenutna faktura {0},
Custom HTML,Custom HTML,
Custom?,Prilagođena?,
Customer,Kupci,
Customer Addresses And Contacts,Adrese i kontakti kupaca,
Customer Contact,Kontakt kupca,
Customer Database.,Šifarnik kupaca,
Customer Group,Vrsta djelatnosti Kupaca,
Customer LPO,Korisnički LPO,
Customer LPO No.,Korisnički LPO br.,
Customer Name,Naziv kupca,
Customer POS Id,Kupac POS Id,
Customer Service,Služba za korisnike,
Customer and Supplier,Kupaca i dobavljača,
Customer is required,Kupac je obavezan,
Customer isn't enrolled in any Loyalty Program,Korisnik nije upisan u bilo koji program lojalnosti,
Customer required for 'Customerwise Discount',Kupac je potrebno za ' Customerwise Popust ',
Customer {0} does not belong to project {1},Kupac {0} ne pripada projektu {1},
Customer {0} is created.,Klijent {0} je kreiran.,
Customers in Queue,Kupci u Queue,
Customize Homepage Sections,Prilagodite odjeljke početne stranice,
Customizing Forms,Prilagođavanje Obrasci,
Daily Project Summary for {0},Dnevni rezime projekta za {0},
Daily Reminders,Dnevni podsjetnik,
Data Import and Export,Podataka uvoz i izvoz,
Data Import and Settings,Uvoz podataka i postavke,
Database of potential customers.,Baza potencijalnih kupaca.,
Date Format,Format datuma,
Date Of Retirement must be greater than Date of Joining,Datum umirovljenja mora biti veći od datuma pristupa,
Date of Birth,Datum rođenja,
Date of Birth cannot be greater than today.,Datum rođenja ne može biti veći nego što je danas.,
Date of Commencement should be greater than Date of Incorporation,Datum početka trebalo bi da bude veći od Datum osnivanja,
Date of Joining,Datum pristupa,
Date of Joining must be greater than Date of Birth,Datum pristupa mora biti veći od datuma rođenja,
Date of Transaction,Datum transakcije,
Day,dan,
Debit,Zaduženje,
Debit ({0}),Debit ({0}),
Debit Account,Zaduži račun,
Debit Note,Rashodi - napomena,
Debit Note Amount,Debitne Napomena Iznos,
Debit Note Issued,Debit Napomena Zadani,
Debit To is required,To je potrebno Debit,
Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debitne i kreditne nije jednaka za {0} {1} #. Razlika je u tome {2}.,
Debtors,Dužnici,
Debtors ({0}),Dužnici ({0}),
Declare Lost,Proglasite izgubljenim,
Default Activity Cost exists for Activity Type - {0},Uobičajeno aktivnosti Troškovi postoji aktivnost Tip - {0},
Default BOM ({0}) must be active for this item or its template,Uobičajeno BOM ({0}) mora biti aktivna za ovu stavku ili njegove predložak,
Default BOM for {0} not found,Uobičajeno sastavnice za {0} nije pronađen,
Default BOM not found for Item {0} and Project {1},Uobičajeno sastavnice nije pronađen za Stavka {0} i projekt {1},
Default Letter Head,Uobičajeno Letter Head,
Default Tax Template,Podrazumevani obrazac poreza,
Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,"Uobičajeno mjerna jedinica za artikl {0} ne može se mijenjati izravno, jer ste već napravili neke transakcije (e) sa drugim UOM. Morat ćete stvoriti nove stavke koristiti drugačiji Uobičajeno UOM.",
Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Uobičajeno mjerna jedinica za varijantu &#39;{0}&#39; mora biti isti kao u obrascu &#39;{1}&#39;,
Default settings for buying transactions.,Zadane postavke za transakciju kupnje.,
Default settings for selling transactions.,Zadane postavke za transakciju prodaje.,
Default tax templates for sales and purchase are created.,Osnovani porezni predlošci za prodaju i kupovinu su stvoreni.,
Defaults,Zadani,
Defense,Obrana,
Define Project type.,Definišite tip projekta.,
Define budget for a financial year.,Definirajte budžet za finansijsku godinu.,
Define various loan types,Definirati različite vrste kredita,
Del,Del,
Delay in payment (Days),Kašnjenje u plaćanju (Dani),
Delete all the Transactions for this Company,Izbrisati sve transakcije za ovu kompaniju,
Deletion is not permitted for country {0},Brisanje nije dozvoljeno za zemlju {0},
Delivered,Isporučeno,
Delivered Amount,Isporučena Iznos,
Delivered Qty,Isporučena količina,
Delivered: {0},Isporučuje se: {0},
Delivery,Isporuka,
Delivery Date,Datum isporuke,
Delivery Note,Otpremnica,
Delivery Note {0} is not submitted,Otpremnica {0} nije potvrđena,
Delivery Note {0} must not be submitted,Otpremnica {0} ne smije biti potvrđena,
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Otpremnica {0} mora biti otkazana prije poništenja ove narudžbenice,
Delivery Notes {0} updated,Beleške o isporuci {0} ažurirane,
Delivery Status,Status isporuke,
Delivery Trip,Dostava putovanja,
Delivery warehouse required for stock item {0},Isporuka skladište potrebno za zaliha stavku {0},
Department,Odjel,
Department Stores,Robne kuće,
Depreciation,Amortizacija,
Depreciation Amount,Amortizacija Iznos,
Depreciation Amount during the period,Amortizacija Iznos u periodu,
Depreciation Date,Amortizacija Datum,
Depreciation Eliminated due to disposal of assets,Amortizacija Eliminisan zbog raspolaganje imovinom,
Depreciation Entry,Amortizacija Entry,
Depreciation Method,Način Amortizacija,
Depreciation Row {0}: Depreciation Start Date is entered as past date,Redosled amortizacije {0}: Početni datum amortizacije upisuje se kao prošli datum,
Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Redosled amortizacije {0}: Očekivana vrednost nakon korisnog veka mora biti veća ili jednaka {1},
Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Redosled amortizacije {0}: Sledeći datum amortizacije ne može biti pre datuma raspoloživog za upotrebu,
Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Redosled amortizacije {0}: Sledeći datum amortizacije ne može biti pre datuma kupovine,
Designer,Imenovatelj,
Detailed Reason,Detaljan razlog,
Details,Detalji,
Details of Outward Supplies and inward supplies liable to reverse charge,Pojedinosti o vanjskoj snabdijevanju i unutarnjim zalihama koje mogu podložiti povratnom naplatu,
Details of the operations carried out.,Detalji o poslovanju obavlja.,
Diagnosis,Dijagnoza,
Did not find any item called {0},Nije našao bilo koji predmet pod nazivom {0},
Diff Qty,Diff Količina,
Difference Account,Konto razlike,
"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Razlika račun mora biti tip imovine / odgovornošću obzir, jer je to Stock Pomirenje je otvor za ulaz",
Difference Amount,Razlika Iznos,
Difference Amount must be zero,Razlika Iznos mora biti nula,
Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,Različite mjerne jedinice proizvoda će dovesti do ukupne pogrešne neto težine. Budite sigurni da je neto težina svakog proizvoda u istoj mjernoj jedinici.,
Direct Expenses,Direktni troškovi,
Direct Income,Direktni prihodi,
Disable,Ugasiti,
Disabled template must not be default template,predložak invaliditetom ne smije biti zadani predložak,
Disburse Loan,Zajam za isplatu,
Disbursed,Isplaceno,
Disc,disk,
Discharge,Pražnjenje,
Discount,Popust,
Discount Percentage can be applied either against a Price List or for all Price List.,Postotak popusta se može neovisno primijeniti prema jednom ili za više cjenika.,
Discount must be less than 100,Rabatt mora biti manji od 100,
Diseases & Fertilizers,Bolesti i đubriva,
Dispatch,Otpremanje,
Dispatch Notification,Obaveštenje o otpremi,
Dispatch State,Država otpreme,
Distance,Razdaljina,
Distribution,Distribucija,
Distributor,Distributer,
Dividends Paid,Isplaćene dividende,
Do you really want to restore this scrapped asset?,Da li zaista želite da vratite ovaj ukinut imovine?,
Do you really want to scrap this asset?,Da li zaista želite da ukine ove imovine?,
Do you want to notify all the customers by email?,Želite li obavijestiti sve kupce putem e-pošte?,
Doc Date,Doc Date,
Doc Name,Doc ime,
Doc Type,Doc tip,
Docs Search,Pretraga dokumenata,
Document Name,Dokument Ime,
Document Type,Tip dokumenta,
Domain,Domena,
Domains,Domena,
Done,Gotovo,
Donor,Donor,
Donor Type information.,Informacije o donatoru.,
Donor information.,Informacije o donatorima.,
Download JSON,Preuzmite JSON,
Draft,Draft,
Drop Ship,Drop Ship,
Drug,Lijek,
Due / Reference Date cannot be after {0},Zbog / Reference Datum ne može biti nakon {0},
Due Date cannot be before Posting / Supplier Invoice Date,Datum roka ne može biti prije datuma knjiženja / fakture dobavljača,
Due Date is mandatory,Due Date je obavezno,
Duplicate Entry. Please check Authorization Rule {0},Dupli unos. Provjerite pravila za autorizaciju {0},
Duplicate Serial No entered for Item {0},Dupli serijski broj je unešen za artikl {0},
Duplicate customer group found in the cutomer group table,Duplikat grupe potrošača naći u tabeli Cutomer grupa,
Duplicate entry,Dupli unos,
Duplicate item group found in the item group table,Duplikat stavka grupa naći u tabeli stavka grupa,
Duplicate roll number for student {0},Duplikat broj roll za studentske {0},
Duplicate row {0} with same {1},Dupli red {0} sa istim {1},
Duplicate {0} found in the table,Duplikat {0} pronađen u tabeli,
Duration in Days,Trajanje u danima,
Duties and Taxes,Carine i porezi,
E-Invoicing Information Missing,Informacije o e-računima nedostaju,
ERPNext Demo,ERPNext Demo,
ERPNext Settings,Postavke ERPNext,
Earliest,Najstarije,
Earnest Money,kapara,
Edit,Uredi,
Edit Publishing Details,Izmenite podatke o objavljivanju,
"Edit in full page for more options like assets, serial nos, batches etc.","Uredite na celoj stranici za više opcija kao što su imovina, serijski nos, serije itd.",
Education,Obrazovanje,
Either location or employee must be required,Moraju biti potrebne lokacije ili zaposleni,
Either target qty or target amount is mandatory,Ili meta Količina ili ciljani iznos je obvezna,
Either target qty or target amount is mandatory.,Ili meta Količina ili ciljani iznos je obavezna .,
Electrical,Električna,
Electronic Equipments,elektronske opreme,
Electronics,Elektronika,
Eligible ITC,Ispunjava uvjete ITC,
Email Account,Email nalog,
Email Address,E-mail adresa,
"Email Address must be unique, already exists for {0}","E-mail adresa mora biti jedinstvena, već postoji za {0}",
Email Digest: ,Email Digest:,
Email Reminders will be sent to all parties with email contacts,Email podsetnici će biti poslati svim stranama sa kontaktima e-pošte,
Email Sent,E-mail poslan,
Email Template,Email Template,
Email not found in default contact,E-pošta nije pronađena u podrazumevanom kontaktu,
Email sent to {0},E-mail poslan na {0},
Employee,Radnik,
Employee Advances,Napredak zaposlenih,
Employee ID,ID zaposlenika,
Employee Lifecycle,Životni vek zaposlenih,
Employee Name,Ime i prezime radnika,
Employee Promotion cannot be submitted before Promotion Date ,Promocija zaposlenih ne može se podneti pre datuma promocije,
Employee Transfer cannot be submitted before Transfer Date ,Transfer radnika ne može se podneti pre datuma prenosa,
Employee cannot report to himself.,Zaposleni ne može prijaviti samog sebe.,
Employee {0} has already applied for {1} between {2} and {3} : ,Zaposleni {0} već je prijavio za {1} između {2} i {3}:,
Employee {0} of grade {1} have no default leave policy,Zaposleni {0} razreda {1} nemaju nikakvu politiku za odlazni odmor,
Enable / disable currencies.,Omogućiti / onemogućiti valute .,
Enabled,Omogućeno,
"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Omogućavanje &#39;Koristi se za korpa &quot;, kao košarica je omogućen i treba da postoji barem jedan poreza pravilo za Košarica",
End Date,Datum završetka,
End Date can not be less than Start Date,Datum završetka ne može biti manji od početnog datuma,
End Date cannot be before Start Date.,Krajnji datum ne može biti pre početka datuma.,
End Year,do kraja godine,
End Year cannot be before Start Year,Kraja godine ne može biti prije početka godine,
End on,Završi,
Ends On date cannot be before Next Contact Date.,Završava na datum ne može biti pre Sledećeg datuma kontakta.,
Energy,Energija,
Engineer,Inženjer,
Enough Parts to Build,Dosta dijelova za izgradnju,
Enroll,upisati,
Enrolling student,upisa student,
Enrolling students,Upis studenata,
Enter depreciation details,Unesite podatke o amortizaciji,
Enter the Bank Guarantee Number before submittting.,Unesite broj garancije banke pre podnošenja.,
Enter the name of the Beneficiary before submittting.,Unesite ime Korisnika pre podnošenja.,
Enter the name of the bank or lending institution before submittting.,Pre podnošenja navedite ime banke ili kreditne institucije.,
Enter value betweeen {0} and {1},Unesite vrijednost betweeen {0} i {1},
Entertainment & Leisure,Zabava i slobodno vrijeme,
Entertainment Expenses,Zabava Troškovi,
Equity,pravičnost,
Error Log,Error Log,
Error evaluating the criteria formula,Greška u procjeni formula za kriterijume,
Error in formula or condition: {0},Greška u formuli ili stanja: {0},
Error: Not a valid id?,Greška: Ne važeći id?,
Estimated Cost,Procijenjeni troškovi,
"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Čak i ako postoji više Cijene pravila s najvišim prioritetom, onda sljedeći interni prioriteti primjenjuje se:",
Exchange Gain/Loss,Exchange dobitak / gubitak,
Exchange Rate Revaluation master.,Master revalorizacije kursa,
Exchange Rate must be same as {0} {1} ({2}),Tečajna lista moraju biti isti kao {0} {1} ({2}),
Excise Invoice,Akcizama Račun,
Execution,Izvršenje,
Executive Search,Executive Search,
Expand All,Raširi sve,
Expected Delivery Date,Očekivani rok isporuke,
Expected Delivery Date should be after Sales Order Date,Očekivani datum isporuke treba da bude nakon datuma prodaje,
Expected End Date,Očekivani Datum završetka,
Expected Hrs,Očekivana h,
Expected Start Date,Očekivani datum početka,
Expense,rashod,
Expense / Difference account ({0}) must be a 'Profit or Loss' account,Rashodi / Razlika računa ({0}) mora biti račun 'dobit ili gubitak',
Expense Account,Rashodi račun,
Expense Claim,Rashodi polaganja,
Expense Claims,Trošak potraživanja,
Expense account is mandatory for item {0},Rashodi račun je obvezna za predmet {0},
Expenses,Troškovi,
Expenses Included In Asset Valuation,Uključeni troškovi u procenu aktive,
Expenses Included In Valuation,Troškovi uključeni u vrednovanje,
Expired Batches,Istekao paketi,
Expires On,ističe,
Expiring On,Ističe se,
Expiry (In Days),Isteka (u danima),
Explore,Istražiti,
Export E-Invoices,Izvoz E-računa,
Extra Large,Ekstra veliki,
Extra Small,Extra Small,
Fail,Fail,
Failed,Nije uspio,
Failed to create website,Neuspelo je kreirati web stranicu,
Failed to install presets,Nije uspela instalirati memorije,
Failed to login,Neuspešno se prijaviti,
Failed to setup company,Nije uspela kompanija podesiti,
Failed to setup defaults,Nije uspjelo postavljanje zadanih postavki,
Failed to setup post company fixtures,Nije uspelo postaviti post kompanije,
Fax,Fax,
Fee,provizija,
Fee Created,Kreirana naknada,
Fee Creation Failed,Kreiranje Fee-a nije uspelo,
Fee Creation Pending,Čekanje stvaranja naknade,
Fee Records Created - {0},Naknada Records Kreirano - {0},
Feedback,Povratna veza,
Fees,Naknade,
Female,Ženski,
Fetch Data,Izvadite podatke,
Fetch Subscription Updates,Izvrši ažuriranje pretplate,
Fetch exploded BOM (including sub-assemblies),Fetch eksplodirala BOM (uključujući i podsklopova ),
Fetching records......,Dohvaćanje zapisa ......,
Field Name,Naziv polja,
Fieldname,"Podataka, Naziv Polja",
Fields,Polja,
"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Red za polja filtera # {0}: Naziv polja <b>{1}</b> mora biti tipa &quot;Link&quot; ili &quot;Table MultiSelect&quot;,
Filter Total Zero Qty,Filter Total Zero Qty,
Finance Book,Finansijska knjiga,
Financial / accounting year.,Financijska / obračunska godina .,
Financial Services,financijske usluge,
Financial Statements,Finansijski izvještaji,
Financial Year,Finansijska godina,
Finish,završiti,
Finished Good,Finished Good,
Finished Good Item Code,Gotov dobar kod predmeta,
Finished Goods,Gotovih proizvoda,
Finished Item {0} must be entered for Manufacture type entry,Završio Stavka {0} mora biti unesen za tip Proizvodnja unos,
Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Završena količina proizvoda <b>{0}</b> i Za količinu <b>{1}</b> ne mogu biti različite,
First Name,Ime,
"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Fiskalni režim je obavezan, ljubazno postavite fiskalni režim u kompaniji {0}",
Fiscal Year,Fiskalna godina,
Fiscal Year End Date should be one year after Fiscal Year Start Date,Datum završetka fiskalne godine trebao bi biti godinu dana nakon datuma početka fiskalne godine,
Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Fiskalna godina Datum početka i datum završetka fiskalne godine već su postavljeni u fiskalnoj godini {0},
Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Datum početka fiskalne godine trebao bi biti godinu dana ranije od datuma završetka fiskalne godine,
Fiscal Year {0} does not exist,Fiskalna godina {0} ne postoji,
Fiscal Year {0} is required,Fiskalna godina {0} je potrebno,
Fixed Asset,Dugotrajne imovine,
Fixed Asset Item must be a non-stock item.,Osnovnih sredstava Stavka mora biti ne-stock stavku.,
Fixed Assets,Dugotrajna imovina,
Following Material Requests have been raised automatically based on Item's re-order level,Nakon materijala Zahtjevi su automatski podignuta na osnovu nivou ponovnog reda stavke,
Following accounts might be selected in GST Settings:,Sledeći nalogi mogu biti izabrani u GST Podešavanja:,
Following course schedules were created,Stvoreni su sledeći planovi kursa,
Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Sledeća stavka {0} nije označena kao {1} stavka. Možete ih omogućiti kao {1} stavku iz glavnog poglavlja,
Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Sledeće stavke {0} nisu označene kao {1} stavka. Možete ih omogućiti kao {1} stavku iz glavnog poglavlja,
"Food, Beverage & Tobacco","Hrana , piće i duhan",
For,Za,
"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","Za &#39;proizvoda Bundle&#39; stavki, Magacin, serijski broj i serijski broj smatrat će se iz &#39;Pakiranje List&#39; stol. Ako Skladište i serijski broj su isti za sve pakovanje stavke za bilo &#39;Bundle proizvoda&#39; stavku, te vrijednosti mogu se unijeti u glavnom Stavka stola, vrijednosti će se kopirati u &#39;Pakiranje List&#39; stol.",
For Quantity (Manufactured Qty) is mandatory,Za Količina (Proizvedeno Qty) je obavezno,
For Supplier,za Supplier,
For Warehouse,Za galeriju,
For Warehouse is required before Submit,Jer je potrebno Warehouse prije Podnijeti,
"For an item {0}, quantity must be negative number","Za stavku {0}, količina mora biti negativna",
"For an item {0}, quantity must be positive number","Za stavku {0}, količina mora biti pozitivni broj",
"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry",Za radnu karticu {0} možete izvršiti samo unos tipa „Prijenos materijala za proizvodnju“,
"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Za red {0} u {1}. Uključiti {2} u tačka stope, redova {3} mora biti uključena",
For row {0}: Enter Planned Qty,Za red {0}: Unesite planirani broj,
"For {0}, only credit accounts can be linked against another debit entry","Za {0}, samo kredit računa može biti povezan protiv drugog ulaska debit",
"For {0}, only debit accounts can be linked against another credit entry","Za {0}, samo debitne račune mogu povezati protiv druge kreditne unos",
Forum Activity,Aktivnost foruma,
Free item code is not selected,Besplatni kod artikla nije odabran,
Freight and Forwarding Charges,Teretni i Forwarding Optužbe,
Frequency,frekvencija,
Friday,Petak,
From,Od,
From Address 1,Od adrese 1,
From Address 2,Od adrese 2,
From Currency and To Currency cannot be same,Od valute i valuta ne mogu biti isti,
From Date and To Date lie in different Fiscal Year,Od datuma i do datuma leži u različitim fiskalnim godinama,
From Date cannot be greater than To Date,Od datuma ne može biti veća od To Date,
From Date must be before To Date,Od datuma mora biti prije do danas,
From Date should be within the Fiscal Year. Assuming From Date = {0},Od datuma trebao biti u fiskalnoj godini. Uz pretpostavku Od datuma = {0},
From Datetime,Od datuma i vremena,
From Delivery Note,Od otpremnici,
From Fiscal Year,Od fiskalne godine,
From GSTIN,Iz GSTIN-a,
From Party Name,Od imena partije,
From Pin Code,Od PIN-a,
From Place,From Place,
From Range has to be less than To Range,Od opseg mora biti manji od u rasponu,
From State,Od države,
From Time,S vremena,
From Time Should Be Less Than To Time,Od vremena bi trebalo biti manje od vremena,
From Time cannot be greater than To Time.,Od vremena ne može biti veća nego vremena.,
"From a supplier under composition scheme, Exempt and Nil rated","Od dobavljača prema shemi kompozicije, Oslobođeni i Nil",
From and To dates required,Od i Do datuma zahtijevanih,
From value must be less than to value in row {0},Od vrijednosti mora biti manje nego vrijednosti u redu {0},
From {0} | {1} {2},Od {0} | {1} {2},
Fulfillment,Ispunjenje,
Full Name,Ime i prezime,
Fully Depreciated,potpuno je oslabio,
Furnitures and Fixtures,Furnitures i raspored,
"Further accounts can be made under Groups, but entries can be made against non-Groups","Dalje računa može biti pod Grupe, ali unosa može biti protiv ne-Grupe",
Further cost centers can be made under Groups but entries can be made against non-Groups,"Dalje troška mogu biti pod Grupe, ali unosa može biti protiv ne-Grupe",
Further nodes can be only created under 'Group' type nodes,"Daljnje čvorovi mogu se samo stvorio pod ""Grupa"" tipa čvorova",
GSTIN,GSTIN,
GSTR3B-Form,GSTR3B-Obrazac,
Gain/Loss on Asset Disposal,Dobit / Gubitak imovine Odlaganje,
Gantt Chart,Gantogram,
Gantt chart of all tasks.,Gantogram svih zadataka.,
Gender,Rod,
General,Opšti,
General Ledger,Glavna knjiga,
Generate Material Requests (MRP) and Work Orders.,Generiranje zahteva za materijal (MRP) i radnih naloga.,
Generate Secret,Generiraj tajnu,
Get Invocies,Nabavite račune,
Get Invoices,Dobijajte račune,
Get Invoices based on Filters,Nabavite fakture na temelju filtera,
Get Items from BOM,Kreiraj proizvode od sastavnica (BOM),
Get Items from Healthcare Services,Uzmite predmete iz zdravstvenih usluga,
Get Items from Prescriptions,Dobijte stavke iz recepta,
Get Items from Product Bundle,Saznajte Predmeti od Bundle proizvoda,
Get Suppliers,Uzmite dobavljača,
Get Suppliers By,Uzmite dobavljača,
Get Updates,Get Updates,
Get customers from,Uzmite kupce,
Get from Patient Encounter,Izlazite iz susreta sa pacijentom,
Getting Started,Počinjemo,
GitHub Sync ID,GitHub Sync ID,
Global settings for all manufacturing processes.,Global postavke za sve proizvodne procese.,
Go to the Desktop and start using ERPNext,Idite na radnu površinu i početi koristiti ERPNext,
GoCardless SEPA Mandate,GoCardless SEPA Mandat,
GoCardless payment gateway settings,GoCardless postavke gateway plaćanja,
Goal and Procedure,Cilj i postupak,
Goals cannot be empty,Ciljevi ne može biti prazan,
Goods In Transit,Roba u tranzitu,
Goods Transferred,Prenesena roba,
Goods and Services Tax (GST India),Poreska dobara i usluga (PDV Indija),
Goods are already received against the outward entry {0},Roba je već primljena prema vanjskom ulazu {0},
Government,Vlada,
Grand Total,Ukupno za platiti,
Grant,Grant,
Grant Application,Grant aplikacija,
Grant Leaves,Grant Leaves,
Grant information.,Grant informacije.,
Grocery,Trgovina prehrambenom robom,
Gross Profit,Bruto dobit,
Gross Profit %,Bruto dobit%,
Gross Profit / Loss,Bruto dobit / gubitak,
Gross Purchase Amount,Bruto Kupovina Iznos,
Gross Purchase Amount is mandatory,Bruto Kupovina Iznos je obavezno,
Group by Account,Grupa po računu,
Group by Party,Grupno po stranci,
Group by Voucher,Grupa po jamcu,
Group by Voucher (Consolidated),Grupa po vaučerima (konsolidovani),
Group node warehouse is not allowed to select for transactions,skladište Group čvor nije dozvoljeno da izaberete za transakcije,
Group to Non-Group,Grupa Non-grupa,
Group your students in batches,Grupa svojim učenicima u serijama,
Groups,Grupe,
Guardian1 Email ID,Guardian1 Email ID,
Guardian1 Mobile No,Guardian1 Mobile Nema,
Guardian1 Name,Guardian1 ime,
Guardian2 Email ID,Guardian2 Email ID,
Guardian2 Mobile No,Guardian2 Mobile Nema,
Guardian2 Name,Guardian2 ime,
HR Manager,Šef ljudskih resursa,
HSN,HSN,
HSN/SAC,HSN / SAC,
Half Yearly,Polu godišnji,
Half-Yearly,Polugodišnje,
Hardware,Hardver,
Head of Marketing and Sales,Voditelj marketinga i prodaje,
Health Care,Zdravstvena zaštita,
Healthcare,Zdravstvena zaštita,
Healthcare (beta),Zdravstvo (beta),
Healthcare Practitioner,Zdravstveni lekar,
Healthcare Practitioner not available on {0},Zdravstveni radnik nije dostupan na {0},
Healthcare Practitioner {0} not available on {1},Zdravstveni radnik {0} nije dostupan na {1},
Healthcare Service Unit,Jedinica za zdravstvenu zaštitu,
Healthcare Service Unit Tree,Jedinica za zdravstvenu zaštitu,
Healthcare Service Unit Type,Vrsta jedinice za zdravstvenu zaštitu,
Healthcare Services,Zdravstvene usluge,
Healthcare Settings,Postavke zdravstvene zaštite,
Help Results for,Pomoć rezultata za,
High,Visok,
High Sensitivity,Visoka osetljivost,
Hold,Zadrži,
Hold Invoice,Držite fakturu,
Holiday,Odmor,
Holiday List,Lista odmora,
Hotel Rooms of type {0} are unavailable on {1},Sobe Hotela tipa {0} nisu dostupne na {1},
Hotels,Hoteli,
Hourly,Po satu,
Hours,Hours,
How Pricing Rule is applied?,Kako se primjenjuje pravilo cijena?,
Hub Category,Glavna kategorija,
Hub Sync ID,Hub Sync ID,
Human Resource,Human Resource,
Human Resources,Ljudski resursi,
IGST Amount,IGST Iznos,
IP Address,IP adresa,
ITC Available (whether in full op part),Dostupan ITC (bilo u cjelini op. Dio),
ITC Reversed,ITC preokrenut,
Identifying Decision Makers,Identifikovanje donosilaca odluka,
"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Ako se proveri automatsko uključivanje, klijenti će automatski biti povezani sa dotičnim programom lojalnosti (pri uštedi)",
"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Ako više Cijene pravila i dalje prevladavaju, korisnici su zamoljeni da postavite prioritet ručno riješiti sukob.",
"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Ako je izabrano odredište za cenu &quot;Rate&quot;, on će prepisati cenovnik. Pravilnost cena je konačna stopa, tako da se ne bi trebao koristiti dodatni popust. Stoga, u transakcijama kao što su Prodajni nalog, Narudžbenica i slično, to će biti preuzeto u polju &#39;Rate&#39;, a ne &#39;Polje cijena&#39;.",
"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","Ako su dva ili više Pravila cijene se nalaze na osnovu gore uvjetima, Prioritet se primjenjuje. Prioritet je broj od 0 do 20, a zadana vrijednost je nula (prazno). Veći broj znači da će imati prednost, ako postoji više pravila cijenama s istim uslovima.",
"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Ako je neograničen rok isticanja za Loyalty Bodove, zadržite Trajanje isteka prazne ili 0.",
"If you have any questions, please get back to us.","Ako imate bilo kakvih pitanja, molimo Vas da se vratimo na nas.",
Ignore Existing Ordered Qty,Zanemarite postojeći naručeni broj,
Image,Slika,
Image View,Prikaz slike,
Import Data,Uvoz podataka,
Import Day Book Data,Uvezi podatke o knjizi dana,
Import Log,Uvoz Prijavite,
Import Master Data,Uvezi glavne podatke,
Import in Bulk,Uvoz u rinfuzi,
Import of goods,Uvoz robe,
Import of services,Uvoz usluga,
Importing Items and UOMs,Uvoz predmeta i UOM-ova,
Importing Parties and Addresses,Uvoz stranaka i adresa,
In Maintenance,U održavanju,
In Production,U proizvodnji,
In Qty,u kol,
In Stock Qty,Na skladištu Količina,
In Stock: ,Na raspolaganju:,
In Value,u vrijednost,
"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","U slučaju višeslojnog programa, Korisnici će automatski biti dodeljeni za dotičnu grupu po njihovom trošenju",
Inactive,Neaktivan,
Incentives,Poticaji,
Include Default Book Entries,Uključite zadane unose knjiga,
Include Exploded Items,Uključite eksplodirane predmete,
Include POS Transactions,Uključite POS transakcije,
Include UOM,Uključite UOM,
Included in Gross Profit,Uključeno u bruto dobit,
Income,Prihod,
Income Account,Konto prihoda,
Income Tax,Porez na dohodak,
Incoming,Dolazni,
Incoming Rate,Dolazni Stopa,
Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Neispravan broj glavnu knjigu unose naći. Možda ste odabrali krivi račun u transakciji.,
Increment cannot be 0,Prirast ne može biti 0,
Increment for Attribute {0} cannot be 0,Prirast za Atributi {0} ne može biti 0,
Indirect Expenses,Neizravni troškovi,
Indirect Income,Neizravni dohodak,
Individual,Pojedinac,
Ineligible ITC,Neprihvatljiv ITC,
Initiated,Inicirao,
Inpatient Record,Zapisnik o stacionarnom stanju,
Installation Note,Napomena instalacije,
Installation Note {0} has already been submitted,Napomena instalacije {0} je već potvrđena,
Installation date cannot be before delivery date for Item {0},Datum Instalacija ne može biti prije datuma isporuke za točke {0},
Installing presets,Instaliranje podešavanja,
Institute Abbreviation,Institut Skraćenica,
Institute Name,Institut ime,
Instructor,Instruktor,
Insufficient Stock,nedovoljna Stock,
Insurance Start date should be less than Insurance End date,Datum osiguranje Početak bi trebao biti manji od datuma osiguranje Kraj,
Integrated Tax,Integrirani porez,
Inter-State Supplies,Međudržavne potrepštine,
Internet Publishing,Internet izdavaštvo,
Intra-State Supplies,Unutarnje države,
Introduction,Uvod,
Invalid Attribute,Invalid Atributi,
Invalid Blanket Order for the selected Customer and Item,Neveljavna porudžbina za odabrani korisnik i stavku,
Invalid Company for Inter Company Transaction.,Nevažeća kompanija za transakciju između kompanija.,
Invalid GSTIN! A GSTIN must have 15 characters.,Nevažeći GSTIN! GSTIN mora imati 15 znakova.,
Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Nevažeći GSTIN! Prve dvije znamenke GSTIN-a trebale bi se podudarati sa državnim brojem {0}.,
Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,Nevažeći GSTIN! Uneseni unos ne odgovara formatu GSTIN-a.,
Invalid Posting Time,Neispravno vreme slanja poruka,
Invalid attribute {0} {1},Nevažeći atributa {0} {1},
Invalid quantity specified for item {0}. Quantity should be greater than 0.,Navedena je pogrešna količina za proizvod {0}. Količina treba biti veći od 0.,
Invalid reference {0} {1},Invalid referentni {0} {1},
Invalid {0},Invalid {0},
Invalid {0} for Inter Company Transaction.,Nevažeći {0} za transakciju Inter kompanije.,
Invalid {0}: {1},{1}: Invalid {0},
Inventory,Inventar,
Investment Banking,Investicijsko bankarstvo,
Investments,Investicije,
Invoice,Faktura,
Invoice Created,Izrada fakture,
Invoice Discounting,Popust na fakture,
Invoice Patient Registration,Registracija računa pacijenta,
Invoice Posting Date,Račun Datum knjiženja,
Invoice Type,Tip fakture,
Invoice already created for all billing hours,Račun je već kreiran za sva vremena plaćanja,
Invoice can't be made for zero billing hour,Faktura ne može biti napravljena za nultu cenu fakturisanja,
Invoice {0} no longer exists,Račun {0} više ne postoji,
Invoiced,Fakturisano,
Invoiced Amount,Fakturisanog,
Invoices,Fakture,
Invoices for Costumers.,Računi za kupce.,
Inward supplies from ISD,Ulazne zalihe od ISD-a,
Inward supplies liable to reverse charge (other than 1 & 2 above),Unutarnje zalihe podložne povratnom naboju (osim 1 i 2 gore),
Is Active,Je aktivan,
Is Default,Je podrazumjevani,
Is Existing Asset,Je Postojeći imovine,
Is Frozen,Je zamrznut,
Is Group,Is Group,
Issue,Tiketi,
Issue Material,Tiketi - materijal,
Issued,Izdao,
Issues,Pitanja,
It is needed to fetch Item Details.,Potrebno je da se donese Stavka Detalji.,
Item,Artikl,
Item 1,Stavku 1,
Item 2,Stavku 2,
Item 3,Stavka 3,
Item 4,Stavka 4,
Item 5,Stavka 5,
Item Cart,stavka Košarica,
Item Code,Šifra artikla,
Item Code cannot be changed for Serial No.,Kod artikla ne može se mijenjati za serijski broj.,
Item Code required at Row No {0},Kod artikla je potreban u redu broj {0},
Item Description,Opis artikla,
Item Group,Grupa artikla,
Item Group Tree,Raspodjela grupe artikala,
Item Group not mentioned in item master for item {0},Stavka artikla se ne spominje u master artiklu za artikal {0},
Item Name,Naziv predmeta,
Item Price added for {0} in Price List {1},Stavka Cijena je dodao za {0} u {1} Cjenik,
"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Stavka Cena se pojavljuje više puta na osnovu Cenovnika, dobavljača / kupca, valute, stavke, UOM, kola i datuma.",
Item Price updated for {0} in Price List {1},Artikal Cijena ažuriranje za {0} u Cjenik {1},
Item Row {0}: {1} {2} does not exist in above '{1}' table,Stavka Red {0}: {1} {2} ne postoji iznad tabele &quot;{1}&quot;,
Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Stavka Porezna Row {0} mora imati račun tipa poreza ili prihoda i rashoda ili naplativ,
Item Template,Šablon predmeta,
Item Variant Settings,Postavke varijante postavki,
Item Variant {0} already exists with same attributes,Stavka Variant {0} već postoji s istim atributima,
Item Variants,Stavka Varijante,
Item Variants updated,Ažurirane su varijante predmeta,
Item has variants.,Stavka ima varijante.,
Item must be added using 'Get Items from Purchase Receipts' button,Stavka mora biti dodan pomoću 'Get stavki iz Kupovina Primici' gumb,
Item valuation rate is recalculated considering landed cost voucher amount,Stavka stopa vrednovanja izračunava se razmatra sletio troškova voucher iznosu,
Item variant {0} exists with same attributes,Stavka varijanta {0} postoji sa istim atributima,
Item {0} does not exist,Artikal {0} ne postoji,
Item {0} does not exist in the system or has expired,Artikal {0} ne postoji u sustavu ili je istekao,
Item {0} has already been returned,Artikal {0} je već vraćen,
Item {0} has been disabled,Stavka {0} je onemogućena,
Item {0} has reached its end of life on {1},Artikal {0} je dosegao svoj rok trajanja na {1},
Item {0} ignored since it is not a stock item,Artikal {0} se ignorira budući da nije skladišni artikal,
"Item {0} is a template, please select one of its variants","Stavka {0} je predložak, odaberite jednu od njegovih varijanti",
Item {0} is cancelled,Artikal {0} je otkazan,
Item {0} is disabled,Stavka {0} je onemogućeno,
Item {0} is not a serialized Item,Stavka {0} nijeserijaliziranom predmeta,
Item {0} is not a stock Item,Stavka {0} nijestock Stavka,
Item {0} is not active or end of life has been reached,Stavka {0} nije aktivan ili kraj života je postignut,
Item {0} is not setup for Serial Nos. Check Item master,"Stavka {0} nije dobro postavljen za gospodara , serijski brojevi Provjera",
Item {0} is not setup for Serial Nos. Column must be blank,Stavka {0} nije setup za serijski brojevi Stupac mora biti prazan,
Item {0} must be a Fixed Asset Item,Stavka {0} mora biti osnovna sredstva stavka,
Item {0} must be a Sub-contracted Item,Stavka {0} mora bitisklopljen ugovor artikla,
Item {0} must be a non-stock item,Stavka {0} mora biti ne-stock stavka,
Item {0} must be a stock Item,Stavka {0} mora bitistock Stavka,
Item {0} not found,Stavka {0} nije pronađena,
Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Stavka {0} nije pronađena u &#39;sirovine Isporučuje&#39; sto u narudžbenice {1},
Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Stavka {0}: {1} Naručena količina ne može biti manji od minimalnog bi Količina {2} (iz točke).,
Item: {0} does not exist in the system,Detaljnije: {0} ne postoji u sustavu,
Items,Artikli,
Items Filter,Filter predmeta,
Items and Pricing,Stavke i cijene,
Items for Raw Material Request,Artikli za zahtjev za sirovine,
Job Card,Job Card,
Job card {0} created,Kartica za posao {0} kreirana,
Join,pristupiti,
Journal Entries {0} are un-linked,Journal unosi {0} su un-povezani,
Journal Entry,Časopis Stupanje,
Journal Entry {0} does not have account {1} or already matched against other voucher,Journal Entry {0} nema obzir {1} ili su već usklađene protiv drugih vaučer,
Kanban Board,Kanban odbora,
Key Reports,Ključni izvještaji,
LMS Activity,LMS aktivnost,
Lab Test,Lab Test,
Lab Test Report,Izvještaj o laboratorijskom testu,
Lab Test Sample,Primjer laboratorijskog testa,
Lab Test Template,Lab test šablon,
Lab Test UOM,Lab Test UOM,
Lab Tests and Vital Signs,Laboratorijski testovi i Vitalni Znaci,
Lab result datetime cannot be before testing datetime,Datetime rezultata laboratorije ne može biti pre testiranja datetime,
Lab testing datetime cannot be before collection datetime,Labiranje testiranja datotime ne može biti pre snimanja datetime,
Label,Oznaka,
Laboratory,Laboratorija,
Large,Veliki,
Last Communication,Zadnje Komunikacija,
Last Communication Date,Zadnje Komunikacija Datum,
Last Name,Prezime,
Last Order Amount,Last Order Iznos,
Last Order Date,Last Order Datum,
Last Purchase Price,Poslednja cena otkupa,
Last Purchase Rate,Zadnja kupovna cijena,
Latest,Najnovije,
Latest price updated in all BOMs,Posljednja cijena ažurirana u svim BOM,
Lead,Potencijalni kupac,
Lead Count,Lead Count,
Lead Owner,Vlasnik Lead-a,
Lead Owner cannot be same as the Lead,Olovo Vlasnik ne može biti isti kao olovo,
Lead Time Days,Potencijalni kupac - ukupno dana,
Lead to Quotation,Potencijalni kupac do ponude,
"Leads help you get business, add all your contacts and more as your leads","Leads biste se lakše poslovanje, dodati sve svoje kontakte i još kao vodi",
Learn,Učiti,
Leave Management,Ostavite Management,
Leave and Attendance,Ostavite i posjećenost,
Leave application {0} already exists against the student {1},Izlaz iz aplikacije {0} već postoji protiv učenika {1},
Leaves has been granted sucessfully,Lišće je uspešno izdato,
Leaves must be allocated in multiples of 0.5,"Listovi moraju biti dodijeljeno u COMBI 0,5",
Ledger,Glavna knjiga,
Legal,Pravni,
Legal Expenses,Pravni troškovi,
Letter Head,Zaglavlje,
Letter Heads for print templates.,Zaglavlja za ispis predložaka.,
Level,Nivo,
Liability,Odgovornost,
Limit Crossed,Limit Crossed,
Link to Material Request,Link na zahtev za materijal,
List of all share transactions,Spisak svih dionica transakcija,
List of available Shareholders with folio numbers,Spisak dostupnih akcionara sa brojevima folije,
Loading Payment System,Uplata platnog sistema,
Loan,Loan,
Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Datum početka i Period zajma su obavezni da biste spremili popust na računu,
Loans (Liabilities),Zajmovi (pasiva),
Loans and Advances (Assets),Zajmovi i predujmovi (aktiva),
Local,Lokalno,
Logs for maintaining sms delivery status,Dnevnici za održavanje sms statusa isporuke,
Lost,Izgubljen,
Lost Reasons,Izgubljeni razlozi,
Low,Nizak,
Low Sensitivity,Niska osetljivost,
Lower Income,Niži Prihodi,
Loyalty Amount,Lojalnost,
Loyalty Point Entry,Ulaz lojalnosti,
Loyalty Points,Točke lojalnosti,
"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Točke lojalnosti će se izračunati iz potrošene (preko fakture za prodaju), na osnovu navedenog faktora sakupljanja.",
Loyalty Points: {0},Bodovi lojalnosti: {0},
Loyalty Program,Program lojalnosti,
Main,Glavni,
Maintenance,Održavanje,
Maintenance Log,Dnevnik održavanja,
Maintenance Manager,Održavanje Manager,
Maintenance Schedule,Raspored održavanja,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',"Raspored održavanja ne stvara za sve stavke . Molimo kliknite na ""Generiraj raspored '",
Maintenance Schedule {0} exists against {1},Održavanje Raspored {0} postoji protiv {1},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Raspored održavanja {0} mora biti otkazana prije poništenja ovu prodajnog naloga,
Maintenance Status has to be Cancelled or Completed to Submit,Status održavanja mora biti poništen ili završen za slanje,
Maintenance User,Održavanje korisnika,
Maintenance Visit,Posjeta za odrzavanje,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Posjeta za odrzavanje {0} mora biti otkazana prije otkazivanja ove ponude,
Maintenance start date can not be before delivery date for Serial No {0},Održavanje datum početka ne može biti prije datuma isporuke za rednim brojem {0},
Make,Napraviti,
Make Payment,izvrši plaćanje,
Make project from a template.,Napravite projekat iz predloška.,
Making Stock Entries,Izrada Stock unosi,
Male,Muški,
Manage Customer Group Tree.,Upravljanje vrstama djelatnosti,
Manage Sales Partners.,Upravljanje prodajnih partnera.,
Manage Sales Person Tree.,Menadzeri prodaje - Upravljanje.,
Manage Territory Tree.,Spisak teritorija - upravljanje.,
Manage your orders,Upravljanje narudžbe,
Management,upravljanje,
Manager,Menadžer,
Managing Projects,Upravljanje projektima,
Managing Subcontracting,Upravljanje Subcontracting,
Mandatory,Obavezan,
Mandatory field - Academic Year,Obavezna polja - akademska godina,
Mandatory field - Get Students From,Obavezna polja - Get Učenici iz,
Mandatory field - Program,Obavezna polja - Program,
Manufacture,Proizvodnja,
Manufacturer,Proizvođač,
Manufacturer Part Number,Proizvođač Broj dijela,
Manufacturing,Proizvodnja,
Manufacturing Quantity is mandatory,Proizvodnja Količina je obvezno,
Mapping,Mapiranje,
Mapping Type,Tip mapiranja,
Mark Absent,Mark Odsutan,
Mark Half Day,Mark Half Day,
Mark Present,Mark Present,
Marketing,Marketing,
Marketing Expenses,Troškovi marketinga,
Marketplace,Tržište,
Marketplace Error,Greška na tržištu,
Masters,Majstori,
Match Payments with Invoices,Meč plaćanja fakture,
Match non-linked Invoices and Payments.,Klađenje na ne-povezane faktura i plaćanja.,
Material,Materijal,
Material Consumption,Potrošnja materijala,
Material Consumption is not set in Manufacturing Settings.,Potrošnja materijala nije podešena u proizvodnim postavkama.,
Material Receipt,Materijal Potvrda,
Material Request,Materijal zahtjev,
Material Request Date,Materijal Upit Datum,
Material Request No,Materijal Zahtjev Ne,
"Material Request not created, as quantity for Raw Materials already available.","Zahtjev za materijal nije kreiran, jer je količina za sirovine već dostupna.",
Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Materijal Zahtjev maksimalno {0} može biti za točku {1} od prodajnog naloga {2},
Material Request to Purchase Order,Materijal Zahtjev za narudžbenice,
Material Request {0} is cancelled or stopped,Materijal Zahtjev {0} je otkazan ili zaustavljen,
Material Request {0} submitted.,Podnet je materijalni zahtjev {0}.,
Material Transfer,Materijal transfera,
Material Transferred,Prenos materijala,
Material to Supplier,Materijal dobavljaču,
Max discount allowed for item: {0} is {1}%,Maksimalni popust dopušteno za predmet: {0} je {1}%,
Max: {0},Max: {0},
Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Maksimalni uzorci - {0} mogu biti zadržani za seriju {1} i stavku {2}.,
Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Maksimalni uzorci - {0} su već zadržani za Batch {1} i Item {2} u Batch {3}.,
Maximum discount for Item {0} is {1}%,Maksimalni popust za stavku {0} je {1}%,
Medical Code,Medicinski kod,
Medical Code Standard,Medical Code Standard,
Medical Department,Medicinski odjel,
Medical Record,Medicinski zapis,
Medium,Srednji,
Member Activity,Član Aktivnost,
Member ID,Član ID,
Member Name,Ime člana,
Member information.,Informacije o članovima.,
Membership,Članstvo,
Membership Details,Detalji o članstvu,
Membership ID,ID članstva,
Membership Type,Tip članstva,
Memebership Details,Memebership Details,
Memebership Type Details,Detalji o tipu Memebership,
Merge,Spoji se,
Merge Account,Merge Account,
Merge with Existing Account,Spoji se sa postojećim računom,
"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Spajanje je moguće samo ako sljedeće osobine su iste u oba zapisa. Grupa je, Root Tip, Društvo",
Message Examples,Primjeri poruka,
Message Sent,Poruka je poslana,
Method,Način,
Middle Income,Srednji Prihodi,
Middle Name,Srednje ime,
Middle Name (Optional),Krsno ime (opcionalno),
Min Amt can not be greater than Max Amt,Min Amt ne može biti veći od Max Amt,
Min Qty can not be greater than Max Qty,Min Kol ne može biti veći od Max Kol,
Minimum Lead Age (Days),Minimalna Olovo Starost (Dana),
Miscellaneous Expenses,Razni troškovi,
Missing Currency Exchange Rates for {0},Nedostaje Valuta Tečaj za {0},
Missing email template for dispatch. Please set one in Delivery Settings.,Nedostajući e-mail predložak za otpremu. Molimo vas da podesite jednu od postavki isporuke.,
"Missing value for Password, API Key or Shopify URL","Nedostajuća vrijednost za lozinku, API ključ ili Shopify URL",
Mode of Payment,Način plaćanja,
Mode of Payments,Način plaćanja,
Mode of Transport,Način transporta,
Mode of Transportation,Način prijevoza,
Model,Model,
Moderate Sensitivity,Umerena osetljivost,
Monday,Ponedjeljak,
Monthly,Mjesečno,
Monthly Distribution,Mjesečni Distribucija,
More,Više,
More Information,Više informacija,
More...,Više ...,
Motion Picture & Video,Motion Picture & Video,
Move,Potez,
Move Item,Move Stavka,
Multi Currency,Multi Valuta,
Multiple Item prices.,Više cijene stavke.,
Multiple Loyalty Program found for the Customer. Please select manually.,Višestruki program lojalnosti pronađen za klijenta. Molimo izaberite ručno.,
"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Više pravila Cijena postoji sa istim kriterijima, molimo vas da riješe sukob dodjelom prioriteta. Cijena pravila: {0}",
Multiple Variants,Višestruke varijante,
Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Višestruki fiskalne godine postoje za datum {0}. Molimo podesite kompanije u fiskalnoj godini,
Music,Muzika,
Name error: {0},Ime greška: {0},
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 kupcima i dobavljačima,
Name or Email is mandatory,Ime ili e-obavezno,
Nature Of Supplies,Nature of Supplies,
Navigating,Navigacija,
Needs Analysis,Analiza potreba,
Negative Quantity is not allowed,Negativna količina nije dopuštena,
Negative Valuation Rate is not allowed,Negativna stopa vrijednovanja nije dopuštena,
Negotiation/Review,Pregovaranje / pregled,
Net Asset value as on,Neto vrijednost imovine kao i na,
Net Cash from Financing,Neto gotovine iz aktivnosti finansiranja,
Net Cash from Investing,Neto novčani tok od investicione,
Net Cash from Operations,Neto novčani tok od operacije,
Net Change in Accounts Payable,Neto promjena na računima dobavljača,
Net Change in Accounts Receivable,Neto promjena u Potraživanja,
Net Change in Cash,Neto promjena u gotovini,
Net Change in Equity,Neto promjena u kapitalu,
Net Change in Fixed Asset,Neto promjena u fiksnoj Asset,
Net Change in Inventory,Neto promjena u zalihama,
Net ITC Available(A) - (B),Neto dostupan ITC (A) - (B),
Net Profit,Neto profit,
Net Total,Osnovica,
New Account Name,Naziv novog naloga,
New Address,Nova adresa,
New BOM,Novi BOM,
New Batch ID (Optional),New Batch ID (opcionalno),
New Batch Qty,New Batch Količina,
New Company,Nova firma,
New Cost Center Name,Novi troška Naziv,
New Customer Revenue,New Customer prihoda,
New Customers,Novi Kupci,
New Department,Novo odjeljenje,
New Employee,Novi zaposleni,
New Location,Nova lokacija,
New Quality Procedure,Novi postupak kvaliteta,
New Sales Invoice,Prodaja novih Račun,
New Sales Person Name,Ime prodaja novih lica,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Novi serijski broj ne može imati skladište. Skladište mora biti postavljen od strane burze upisu ili kupiti primitka,
New Warehouse Name,Novo skladište Ime,
New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Novi kreditni limit je manje od trenutne preostali iznos za kupca. Kreditni limit mora biti atleast {0},
New task,Novi zadatak,
New {0} pricing rules are created,Stvorena su nova {0} pravila za cene,
Newspaper Publishers,novinski izdavači,
Next,Sljedeći,
Next Contact By cannot be same as the Lead Email Address,Sljedeća kontaktirati putem ne može biti isti kao Lead-mail adresa,
Next Contact Date cannot be in the past,Sljedeća Kontakt datum ne može biti u prošlosti,
Next Steps,Sljedeći koraci,
No Action,Nema akcije,
No Customers yet!,Ne Kupci još!,
No Data,Nema podataka,
No Delivery Note selected for Customer {},Nije odabrana beleška za isporuku za kupca {},
No Item with Barcode {0},No Stavka s Barcode {0},
No Item with Serial No {0},No Stavka s rednim brojem {0},
No Items available for transfer,Nema stavki za prenos,
No Items selected for transfer,Nije izabrana stavka za prenos,
No Items to pack,Nema stavki za omot,
No Items with Bill of Materials to Manufacture,Nema artikala sa Bill materijala za proizvodnju,
No Items with Bill of Materials.,Nema predmeta s računom materijala.,
No Permission,Bez dozvole,
No Remarks,No Napomene,
No Result to submit,Nije rezultat koji se šalje,
No Student Groups created.,No studentskih grupa stvorio.,
No Students in,No Studenti u,
No Tax Withholding data found for the current Fiscal Year.,Nije pronađen nikakav porezni zadatak za tekuću fiskalnu godinu.,
No Work Orders created,Stvaranje radnih naloga,
No accounting entries for the following warehouses,Nema računovodstvene unosi za sljedeće skladišta,
No contacts with email IDs found.,Nisu pronađeni kontakti sa ID-ima e-pošte.,
No data for this period,Nema podataka za ovaj period,
No description given,Nema opisa dano,
No employees for the mentioned criteria,Nema zaposlenih po navedenim kriterijumima,
No gain or loss in the exchange rate,Nema dobiti ili gubitka kursa,
No items listed,No stavke navedene,
No items to be received are overdue,Nijedna stavka koja se primi ne kasni,
No material request created,Nije napravljen materijalni zahtev,
No of Interactions,Broj interakcija,
No of Shares,Broj akcija,
No pending Material Requests found to link for the given items.,Nema traženih materijala koji su pronađeni za povezivanje za date stavke.,
No products found,Nije pronađen nijedan proizvod,
No products found.,Nema proizvoda.,
No record found,Ne rekord naći,
No records found in the Invoice table,Nisu pronađeni u tablici fakturu,
No records found in the Payment table,Nisu pronađeni u tablici plaćanja,
No tasks,No zadataka,
No time sheets,Nema vremena listova,
No values,Nema vrijednosti,
No {0} found for Inter Company Transactions.,Nije pronađeno {0} za Inter Company Transactions.,
Non GST Inward Supplies,Non GST ulazne potrepštine,
Non Profit,Neprofitne,
Non Profit (beta),Neprofitna (beta),
Non-GST outward supplies,Vanjske zalihe bez GST-a,
Non-Group to Group,Non-grupe do grupe,
None,Ništa,
None of the items have any change in quantity or value.,Nijedan od stavki imaju bilo kakve promjene u količini ili vrijednosti.,
Nos,Nos,
Not Available,Nije dostupno,
Not Marked,neobilježen,
Not Paid and Not Delivered,Ne plaća i ne dostave,
Not Permitted,Ne Dozvoljena,
Not Started,Nije počela,
Not active,Ne aktivna,
Not allow to set alternative item for the item {0},Ne dozvolite postavljanje alternativne stavke za stavku {0},
Not allowed to update stock transactions older than {0},Nije dopušteno osvježavanje burzovnih transakcija stariji od {0},
Not authorized to edit frozen Account {0},Nije ovlašten za uređivanje smrznute račun {0},
Not authroized since {0} exceeds limits,Ne authroized od {0} prelazi granice,
Not permitted for {0},Nije dozvoljeno za {0},
"Not permitted, configure Lab Test Template as required","Nije dopušteno, konfigurirati Lab Test Template po potrebi",
Not permitted. Please disable the Service Unit Type,Nije dozvoljeno. Molim vas isključite Type Service Service Unit,
Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Napomena: Zbog / Reference Datum premašuje dozvoljeni dana kreditnu kupca {0} dan (a),
Note: Item {0} entered multiple times,Napomena : Stavka {0} upisan je više puta,
Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Napomena : Stupanje Plaćanje neće biti izrađen od ' Gotovina ili bankovni račun ' nije naveden,
Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Napomena : Sustav neće provjeravati pretjerano isporuke i više - booking za točku {0} kao količinu ili vrijednost je 0,
Note: There is not enough leave balance for Leave Type {0},Napomena : Nema dovoljno ravnotežu dopust za dozvolu tipa {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Napomena : Ovaj troška jegrupa . Ne mogu napraviti računovodstvenih unosa protiv skupine .,
Note: {0},Napomena : {0},
Notes,Bilješke,
Nothing is included in gross,Ništa nije uključeno u bruto,
Nothing more to show.,Ništa više pokazati.,
Notify Customers via Email,Obaveštavajte kupce putem e-pošte,
Number,Broj,
Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Broj Amortizacija Booked ne može biti veća od Ukupan broj Amortizacija,
Number of Interaction,Broj Interaction,
Number of Order,Broj Order,
"Number of new Account, it will be included in the account name as a prefix","Broj novog naloga, on će biti uključen u ime računa kao prefiks",
"Number of new Cost Center, it will be included in the cost center name as a prefix",Broj novih troškovnih centara će biti uključen u naziv troškovnog centra kao prefiks,
Number of root accounts cannot be less than 4,Broj korijenskih računa ne može biti manji od 4,
Odometer,mjerač za pređeni put,
Office Equipments,uredske opreme,
Office Maintenance Expenses,Troškovi održavanja ureda,
Office Rent,najam ureda,
On Hold,Na čekanju,
On Net Total,Na Net Total,
One customer can be part of only single Loyalty Program.,Jedan korisnik može biti deo samo jednog programa lojalnosti.,
Online Auctions,Online aukcije,
"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Samo studentski kandidat sa statusom &quot;Odobreno&quot; biće izabran u donjoj tabeli.,
Only users with {0} role can register on Marketplace,Samo korisnici sa ulogom {0} mogu se registrovati na tržištu,
Open BOM {0},Otvorena BOM {0},
Open Item {0},Otvorena Stavka {0},
Open Notifications,Otvorena obavjestenja,
Open Orders,Otvori naloge,
Open a new ticket,Otvorite novu kartu,
Opening,Otvaranje,
Opening (Cr),P.S. (Pot),
Opening (Dr),P.S. (Dug),
Opening Accounting Balance,Otvaranje Računovodstvo Balance,
Opening Accumulated Depreciation,Otvaranje Ispravka vrijednosti,
Opening Accumulated Depreciation must be less than equal to {0},Otvaranje Ispravka vrijednosti mora biti manji od jednak {0},
Opening Balance,Otvaranje bilansa,
Opening Balance Equity,Početno stanje Equity,
Opening Date and Closing Date should be within same Fiscal Year,Datum otvaranja i zatvaranja datum bi trebao biti u istoj fiskalnoj godini,
Opening Date should be before Closing Date,Otvaranje Datum bi trebao biti prije zatvaranja datum,
Opening Entry Journal,Otvaranje časopisa,
Opening Invoice Creation Tool,Otvaranje alata za kreiranje fakture,
Opening Invoice Item,Otvaranje stavke fakture,
Opening Invoices,Otvaranje faktura,
Opening Invoices Summary,Otvaranje rezimea faktura,
Opening Qty,Otvaranje Kol,
Opening Stock,otvaranje Stock,
Opening Stock Balance,Otvaranje Stock Balance,
Opening Value,otvaranje vrijednost,
Opening {0} Invoice created,Otvaranje {0} Stvorena faktura,
Operation,Operacija,
Operation Time must be greater than 0 for Operation {0},Vrijeme rada mora biti veći od 0 za rad {0},
"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operacija {0} više od bilo koje dostupne radnog vremena u radnu stanicu {1}, razbijaju rad u više operacija",
Operations,Operacije,
Operations cannot be left blank,Operacije se ne može ostati prazno,
Opp Count,Opp Count,
Opp/Lead %,Opp / Lead%,
Opportunities,Prilike,
Opportunities by lead source,Mogućnosti izvora izvora,
Opportunity,Prilika (Opportunity),
Opportunity Amount,Mogućnost Iznos,
"Optional. Sets company's default currency, if not specified.","Opcionalno. Postavlja kompanije Zadana valuta, ako nije navedeno.",
Optional. This setting will be used to filter in various transactions.,Izborni . Ova postavka će se koristiti za filtriranje u raznim transakcijama .,
Options,Opcije,
Order Count,kako Count,
Order Entry,Unos naloga,
Order Value,Da bi vrijednost,
Order rescheduled for sync,Porudžbina je reprogramirana za sinhronizaciju,
Order/Quot %,Kako / Quot%,
Ordered,Naručeno,
Ordered Qty,Naručena kol,
"Ordered Qty: Quantity ordered for purchase, but not received.","Naručena količina: količina naručena za kupnju, ali nije došla .",
Orders,Narudžbe,
Orders released for production.,Narudžbe objavljen za proizvodnju.,
Organization,Organizacija,
Organization Name,Naziv organizacije,
Other,Drugi,
Other Reports,Ostali izveštaji,
"Other outward supplies(Nil rated,Exempted)","Ostale vanjske zalihe (Nil ocijenjeno, Izuzeti)",
Out Qty,Od kol,
Out Value,out vrijednost,
Out of Order,Ne radi,
Outgoing,Društven,
Outstanding,izvanredan,
Outstanding Amount,Izvanredna Iznos,
Outstanding Amt,Izvanredna Amt,
Outstanding Cheques and Deposits to clear,Izvanredna Čekovi i depoziti očistiti,
Outstanding for {0} cannot be less than zero ({1}),Izvanredna za {0} ne može biti manji od nule ( {1} ),
Outward taxable supplies(zero rated),Potrošačke zalihe koje su oporezovane (nulta ocjena),
Overdue,Istekao,
Overlap in scoring between {0} and {1},Preklapanje u bodovima između {0} i {1},
Overlapping conditions found between:,Preklapanje uvjeti nalaze između :,
Owner,vlasnik,
PAN,PAN,
POS,POS,
POS Profile,POS profil,
POS Profile is required to use Point-of-Sale,POS profil je potreban za korištenje Point-of-Sale,
POS Profile required to make POS Entry,POS Profil potrebno da bi POS upis,
POS Settings,POS Settings,
Packed quantity must equal quantity for Item {0} in row {1},Prepuna količina mora biti jednaka količina za točku {0} je u redu {1},
Packing Slip,Odreskom,
Packing Slip(s) cancelled,Pakiranje proklizavanja ( s) otkazan,
Paid,Plaćen,
Paid Amount,Plaćeni iznos,
Paid Amount cannot be greater than total negative outstanding amount {0},Uplaćeni iznos ne može biti veći od ukupnog broja negativnih preostali iznos {0},
Paid amount + Write Off Amount can not be greater than Grand Total,Uplaćeni iznos + otpis iznos ne može biti veći od SVEUKUPNO,
Paid and Not Delivered,Platio i nije dostavila,
Parameter,Parametar,
Parent Item {0} must not be a Stock Item,Roditelj Stavka {0} ne smije biti Stock Item,
Parents Teacher Meeting Attendance,Prisustvo sastanaka učitelja roditelja,
Partially Depreciated,Djelomično oslabio,
Partially Received,Djelomično primljeno,
Party,Stranka,
Party Name,Party ime,
Party Type,Party Tip,
Party Type and Party is mandatory for {0} account,Party Party i Party je obavezan za {0} nalog,
Party Type is mandatory,Party Tip je obavezno,
Party is mandatory,Party je obavezno,
Past Due Date,Datum prošlosti,
Patient,Pacijent,
Patient Appointment,Imenovanje pacijenta,
Patient Encounter,Patient Encounter,
Patient not found,Pacijent nije pronađen,
Pay Remaining,Plati preostalo,
Pay {0} {1},Plaćajte {0} {1},
Payable,Plativ,
Payable Account,Račun se plaća,
Payment,Plaćanje,
Payment Cancelled. Please check your GoCardless Account for more details,Plaćanje je otkazano. Molimo provjerite svoj GoCardless račun za više detalja,
Payment Confirmation,Potvrda o plaćanju,
Payment Document,plaćanje Document,
Payment Due Date,Plaćanje Due Date,
Payment Entries {0} are un-linked,Plaćanje Unosi {0} su un-povezani,
Payment Entry,plaćanje Entry,
Payment Entry already exists,Plaćanje Entry već postoji,
Payment Entry has been modified after you pulled it. Please pull it again.,Plaćanje Entry je izmijenjena nakon što ste ga izvukao. Molimo vas da se ponovo povucite.,
Payment Entry is already created,Plaćanje Ulaz je već stvorena,
Payment Failed. Please check your GoCardless Account for more details,Plaćanje nije uspelo. Molimo provjerite svoj GoCardless račun za više detalja,
Payment Gateway,Payment Gateway,
"Payment Gateway Account not created, please create one manually.","Payment Gateway računa kreiranu, molimo vas da napravite ručno.",
Payment Gateway Name,Naziv Gateway Gateway-a,
Payment Mode,Način plaćanja,
Payment Receipt Note,Plaćanje potvrda o primitku,
Payment Request,Plaćanje Upit,
Payment Request for {0},Zahtjev za plaćanje za {0},
Payment Tems,Temovi plaćanja,
Payment Term,Rok plaćanja,
Payment Terms,Uslovi plaćanja,
Payment Terms Template,Šablon izraza plaćanja,
Payment Terms based on conditions,Uslovi plaćanja na osnovu uslova,
Payment Type,Vrsta plaćanja,
"Payment Type must be one of Receive, Pay and Internal Transfer","Plaćanje Tip mora biti jedan od Primi, Pay i unutrašnje Transfer",
Payment against {0} {1} cannot be greater than Outstanding Amount {2},Plaćanje protiv {0} {1} ne može biti veći od preostalog iznosa {2},
Payment request {0} created,Zahtev za plaćanje {0} kreiran,
Payments,Plaćanja,
Payroll Payable,Payroll plaćaju,
Payslip,Payslip,
Pending Activities,Aktivnosti na čekanju,
Pending Amount,Iznos na čekanju,
Pending Leaves,Pending Leaves,
Pending Qty,U očekivanju Količina,
Pending Quantity,Količina na čekanju,
Pending Review,Na čekanju,
Pending activities for today,Aktivnostima na čekanju za danas,
Pension Funds,mirovinskim fondovima,
Percentage Allocation should be equal to 100%,Postotak izdvajanja trebala bi biti jednaka 100 %,
Perception Analysis,Analiza percepcije,
Period,Period,
Period Closing Entry,Period zatvaranja Entry,
Period Closing Voucher,Razdoblje Zatvaranje bon,
Periodicity,Periodičnost,
Personal Details,Osobni podaci,
Pharmaceutical,farmaceutski,
Pharmaceuticals,Lijekovi,
Physician,Lekar,
Place Of Supply (State/UT),Mjesto ponude (država / UT),
Place Order,Place Order,
Plan Name,Ime plana,
Plan for maintenance visits.,Plan održavanja posjeta.,
Planned Qty,Planirani Kol,
"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Količina planiranih količina: Količina za koju je radni nalog povećan, ali čeka se izrada.",
Planning,Planiranje,
Plants and Machineries,Biljke i Machineries,
Please Set Supplier Group in Buying Settings.,Molim postavite grupu dobavljača u Podešavanja kupovine.,
Please add a Temporary Opening account in Chart of Accounts,Molimo da dodate račun za privremeni otvaranje na kontnom planu,
Please add the account to root level Company - ,Dodajte račun na korijensku razinu Kompanija -,
Please check Multi Currency option to allow accounts with other currency,Molimo provjerite Multi opciju valuta kako bi se omogućilo račune sa drugoj valuti,
Please click on 'Generate Schedule',"Molimo kliknite na ""Generiraj raspored '",
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Molimo kliknite na ""Generiraj raspored ' dohvatiti Serial No dodao je za točku {0}",
Please click on 'Generate Schedule' to get schedule,"Molimo kliknite na ""Generiraj raspored ' kako bi dobili raspored",
Please create purchase receipt or purchase invoice for the item {0},Molimo vas da kreirate račun za kupovinu ili kupite fakturu za stavku {0},
Please define grade for Threshold 0%,Molimo vas da definirati razred za Threshold 0%,
Please enable Applicable on Booking Actual Expenses,Molimo omogućite stvarne troškove koji se primjenjuju na osnovu rezervisanja,
Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Molimo omogućite primenljivu na nalogu za kupovinu i primenljivu na trenutnim troškovima rezervacije,
Please enable pop-ups,Molimo omogućite pop-up prozora,
Please enter 'Is Subcontracted' as Yes or No,Unesite ' Je podugovoren ' kao da ili ne,
Please enter API Consumer Key,Molimo unesite API korisnički ključ,
Please enter API Consumer Secret,Molimo unesite API Potrošačku tajnu,
Please enter Account for Change Amount,Unesite račun za promjene Iznos,
Please enter Approving Role or Approving User,Unesite Odobravanje ulogu ili Odobravanje korisnike,
Please enter Cost Center,Unesite troška,
Please enter Delivery Date,Molimo unesite datum isporuke,
Please enter Employee Id of this sales person,Unesite zaposlenih Id ove prodaje osoba,
Please enter Expense Account,Unesite trošak računa,
Please enter Item Code to get Batch Number,Unesite Šifra da Batch Broj,
Please enter Item Code to get batch no,Unesite kod Predmeta da se hrpa nema,
Please enter Item first,Unesite predmeta prvi,
Please enter Maintaince Details first,Unesite prva Maintaince Detalji,
Please enter Planned Qty for Item {0} at row {1},Unesite Planirano Qty za točku {0} na redu {1},
Please enter Preferred Contact Email,Unesite Preferred Kontakt mail,
Please enter Production Item first,Unesite Proizvodnja predmeta prvi,
Please enter Purchase Receipt first,Molimo prvo unesite Kupovina prijem,
Please enter Receipt Document,Unesite dokument o prijemu,
Please enter Reference date,Unesite referentni datum,
Please enter Reqd by Date,Molimo unesite Reqd po datumu,
Please enter Woocommerce Server URL,Molimo unesite URL adresu Woocommerce Servera,
Please enter Write Off Account,Unesite otpis račun,
Please enter atleast 1 invoice in the table,Unesite atleast jedan račun u tablici,
Please enter company first,Unesite tvrtka prva,
Please enter company name first,Unesite ime tvrtke prvi,
Please enter default currency in Company Master,Unesite zadanu valutu u tvrtki Master,
Please enter message before sending,Unesite poruku prije slanja,
Please enter parent cost center,Unesite roditelj troška,
Please enter quantity for Item {0},Molimo unesite količinu za točku {0},
Please enter relieving date.,Unesite olakšavanja datum .,
Please enter valid Financial Year Start and End Dates,Molimo vas da unesete važeću finansijsku godinu datume početka i završetka,
Please enter valid email address,Molimo vas da unesete važeću e-mail adresu,
Please enter {0} first,Unesite {0} prvi,
Please fill in all the details to generate Assessment Result.,Molimo vas da popunite sve detalje da biste ostvarili rezultat procjene.,
Please identify/create Account (Group) for type - {0},Molimo identificirajte / kreirajte račun (grupu) za tip - {0},
Please identify/create Account (Ledger) for type - {0},Molimo identificirajte / kreirajte račun (knjigu) za vrstu - {0},
Please login as another user to register on Marketplace,Molimo prijavite se kao drugi korisnik da se registrujete na Marketplace,
Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,Molimo Vas da proverite da li ste zaista želite izbrisati sve transakcije za ovu kompaniju. Tvoj gospodar podaci će ostati kao što je to. Ova akcija se ne može poništiti.,
Please mention Basic and HRA component in Company,Molimo navedite komponentu Basic i HRA u kompaniji,
Please mention Round Off Account in Company,Navedite zaokružimo računa u Company,
Please mention Round Off Cost Center in Company,Navedite zaokružimo troškova centar u Company,
Please mention no of visits required,Molimo spomenuti nema posjeta potrebnih,
Please mention the Lead Name in Lead {0},Molim vas da navedete Lead Lead u Lead-u {0},
Please pull items from Delivery Note,Molimo povucite stavke iz Dostavnica,
Please register the SIREN number in the company information file,Molimo registrirajte broj SIREN-a u informacijskoj datoteci kompanije,
Please remove this Invoice {0} from C-Form {1},Molimo vas da uklonite ovu fakture {0} iz C-Form {1},
Please save the patient first,Molim vas prvo sačuvajte pacijenta,
Please save the report again to rebuild or update,Spremite izvještaj ponovo da biste ga ponovo izgradili ili ažurirali,
"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Molimo odaberite Izdvojena količina, vrsta fakture i fakture Broj u atleast jednom redu",
Please select Apply Discount On,Molimo odaberite Apply popusta na,
Please select BOM against item {0},Izaberite BOM protiv stavke {0},
Please select BOM for Item in Row {0},Molimo odaberite BOM za Stavka zaredom {0},
Please select BOM in BOM field for Item {0},Molimo odaberite BOM BOM u polje za Stavka {0},
Please select Category first,Molimo odaberite kategoriju prvi,
Please select Charge Type first,Odaberite Naknada za prvi,
Please select Company,Molimo odaberite Company,
Please select Company and Posting Date to getting entries,Molimo da odaberete Kompaniju i Datum objavljivanja da biste dobili unose,
Please select Company first,Molimo najprije odaberite Company,
Please select Completion Date for Completed Asset Maintenance Log,Molimo izaberite Datum završetka za popunjeni dnevnik održavanja sredstava,
Please select Completion Date for Completed Repair,Molimo izaberite Datum završetka za završeno popravljanje,
Please select Course,Molimo odaberite predmeta,
Please select Drug,Molimo izaberite Lijek,
Please select Existing Company for creating Chart of Accounts,Molimo odaberite postojećeg društva za stvaranje Kontni plan,
Please select Healthcare Service,Molimo odaberite Zdravstvenu službu,
"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","Molimo odaberite Stavka u kojoj &quot;Je Stock Stavka&quot; je &quot;ne&quot; i &quot;Da li je prodaja Stavka&quot; je &quot;Da&quot;, a nema drugog Bundle proizvoda",
Please select Maintenance Status as Completed or remove Completion Date,Izaberite stanje održavanja kao završeno ili uklonite datum završetka,
Please select Party Type first,Molimo prvo odaberite Party Tip,
Please select Patient,Molimo izaberite Pacijent,
Please select Patient to get Lab Tests,Izaberite Pacijent da biste dobili laboratorijske testove,
Please select Posting Date before selecting Party,Molimo odaberite Datum knjiženja prije izbora stranke,
Please select Posting Date first,Molimo najprije odaberite Datum knjiženja,
Please select Price List,Molimo odaberite Cjenik,
Please select Program,Molimo odaberite Program,
Please select Qty against item {0},Molimo izaberite Qty protiv stavke {0},
Please select Sample Retention Warehouse in Stock Settings first,Prvo izaberite skladište za zadržavanje uzorka u postavkama zaliha,
Please select Start Date and End Date for Item {0},Molimo odaberite datum početka i datum završetka za točke {0},
Please select Student Admission which is mandatory for the paid student applicant,Molimo izaberite Studentski prijem koji je obavezan za učeniku koji je platio,
Please select a BOM,Izaberite BOM,
Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Molimo odaberite serijom za Stavka {0}. Nije moguće pronaći jednu seriju koja ispunjava ovaj zahtjev,
Please select a Company,Molimo odaberite poduzeća,
Please select a batch,Molimo odaberite serije,
Please select a field to edit from numpad,Molimo izaberite polje za uređivanje iz numpad-a,
Please select a table,Izaberite tabelu,
Please select a valid Date,Izaberite važeći datum,
Please select a value for {0} quotation_to {1},Molimo odabir vrijednosti za {0} quotation_to {1},
Please select a warehouse,Molimo odaberite skladište,
Please select at least one domain.,Izaberite najmanje jedan domen.,
Please select correct account,Molimo odaberite ispravan račun,
Please select date,Molimo izaberite datum,
Please select item code,Odaberite Šifra,
Please select month and year,Molimo odaberite mjesec i godinu,
Please select the Company,Izaberite kompaniju,
Please select the Multiple Tier Program type for more than one collection rules.,Molimo da izaberete tip višestrukog programa za više pravila kolekcije.,
Please select the assessment group other than 'All Assessment Groups',"Molimo odaberite grupu procjene, osim &#39;Svi Procjena grupe&#39;",
Please select the document type first,Molimo odaberite vrstu dokumenta prvi,
Please select weekly off day,Odaberite tjednik off dan,
Please select {0},Odaberite {0},
Please select {0} first,Odaberite {0} Prvi,
Please set 'Apply Additional Discount On',Molimo podesite &#39;primijeniti dodatne popusta na&#39;,
Please set 'Asset Depreciation Cost Center' in Company {0},Molimo podesite &#39;Asset Amortizacija troškova Center&#39; u kompaniji {0},
Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Molimo podesite &#39;dobitak / gubitak računa na Asset Odlaganje&#39; u kompaniji {0},
Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Molimo da postavite nalog u skladištu {0} ili podrazumevani račun inventara u kompaniji {1},
Please set B2C Limit in GST Settings.,Molimo postavite B2C Limit u GST Settings.,
Please set Company,Molimo podesite Company,
Please set Company filter blank if Group By is 'Company',Molimo podesite Company filter prazno ako Skupina Od je &#39;Company&#39;,
Please set Default Payroll Payable Account in Company {0},Molimo podesite Uobičajeno plaće plaćaju račun poduzeća {0},
Please set Depreciation related Accounts in Asset Category {0} or Company {1},Molimo podesite Računi se odnose amortizacije u Asset Kategorija {0} ili kompanije {1},
Please set GST Accounts in GST Settings,Molimo postavite GST račune u GST podešavanjima,
Please set Hotel Room Rate on {},Molimo podesite Hotel Room Rate na {},
Please set Number of Depreciations Booked,Molimo podesite Broj Amortizacija Booked,
Please set Unrealized Exchange Gain/Loss Account in Company {0},Molimo da unesete Nerealizovani Exchange Gain / Loss Account u kompaniji {0},
Please set User ID field in an Employee record to set Employee Role,Molimo postavite korisniku ID polja u rekord zaposlenog da postavite uloga zaposlenih,
Please set a default Holiday List for Employee {0} or Company {1},Molimo podesite default odmor Lista za zaposlenog {0} ili kompanije {1},
Please set account in Warehouse {0},Molimo postavite nalog u skladištu {0},
Please set an active menu for Restaurant {0},Molimo aktivirajte meni za restoran {0},
Please set associated account in Tax Withholding Category {0} against Company {1},Molimo da podesite pridruženi račun u Kategorija za odbijanje poreza {0} protiv Kompanije {1},
Please set at least one row in the Taxes and Charges Table,Molimo postavite najmanje jedan red u tablici poreza i naknada,
Please set default Cash or Bank account in Mode of Payment {0},Molimo postavite zadanu gotovinom ili banka računa u načinu plaćanja {0},
Please set default account in Salary Component {0},Molimo podesite zadani račun u Plaća Komponenta {0},
Please set default customer in Restaurant Settings,Podesite podrazumevani kupac u podešavanjima restorana,
Please set default {0} in Company {1},Molimo podesite default {0} u kompaniji {1},
Please set filter based on Item or Warehouse,Molimo podesite filter na osnovu Item ili Skladište,
Please set leave policy for employee {0} in Employee / Grade record,Molimo navedite politiku odlaska za zaposlenog {0} u Zapisniku zaposlenih / razreda,
Please set recurring after saving,Molimo podesite ponavljaju nakon spremanja,
Please set the Customer Address,Molimo postavite adresu kupca,
Please set the Default Cost Center in {0} company.,Molimo da podesite Centar za podrazumevane troškove u kompaniji {0}.,
Please set the Email ID for the Student to send the Payment Request,Molimo da podesite Email ID za Student da pošaljete Zahtev za plaćanje,
Please set the Item Code first,Molimo prvo postavite kod za stavku,
Please set the Payment Schedule,Molimo postavite Raspored plaćanja,
Please set {0} for address {1},Molimo vas podesite {0} za adresu {1},
Please setup Students under Student Groups,Molimo da podesite studente pod studentskim grupama,
Please specify Company,Navedite tvrtke,
Please specify Company to proceed,Navedite Tvrtka postupiti,
Please specify a valid 'From Case No.',Navedite važeću &#39;iz Predmet br&#39;,
Please specify a valid Row ID for row {0} in table {1},Molimo navedite važeću Row ID za redom {0} {1} u tabeli,
Please specify at least one attribute in the Attributes table,Molimo navedite barem jedan atribut atribute tabeli,
Please specify currency in Company,Navedite valuta u Company,
Please specify either Quantity or Valuation Rate or both,Navedite ili količini ili vrednovanja Ocijenite ili oboje,
Please specify from/to range,Molimo navedite iz / u rasponu,
Please supply the specified items at the best possible rates,Molimo vas da dostavite navedene stavke na najbolji mogući stope,
Please wait 3 days before resending the reminder.,Molim vas sačekajte 3 dana pre ponovnog podnošenja podsetnika.,
Point of Sale,Point of Sale,
Point-of-Sale,Point-of-prodaju,
Point-of-Sale Profile,Point-of-prodaju profil,
Portal,Portal,
Possible Supplier,moguće dobavljač,
Postal Expenses,Poštanski troškovi,
Posting Date,Objavljivanje Datum,
Posting Date cannot be future date,Datum knjiženja ne može biti u budućnosti,
Posting Time,Objavljivanje Vrijeme,
Posting date and posting time is mandatory,Datum knjiženja i knjiženje vrijeme je obvezna,
Posting timestamp must be after {0},Objavljivanje timestamp mora biti poslije {0},
Potential opportunities for selling.,Potencijalne prilike za prodaju.,
Practitioner Schedule,Raspored lekara,
Pre Sales,Pre Sales,
Preference,Prednost,
Prescribed Procedures,Propisane procedure,
Prescription,Prescription,
Prescription Dosage,Dosage na recept,
Prescription Duration,Trajanje recepta,
Prescriptions,Prescriptions,
Prev,Prev,
Preview,Pregled,
Previous Financial Year is not closed,Prethodne finansijske godine nije zatvoren,
Price,Cijena,
Price List,Cjenik,
Price List Currency not selected,Cjenik valuta ne bira,
Price List Rate,Cjenik Stopa,
Price List master.,Cjenik majstor .,
Price List must be applicable for Buying or Selling,Cjenik mora biti primjenjiv za kupnju ili prodaju,
Price List {0} is disabled or does not exist,Popis Cijena {0} je isključena ili ne postoji,
Price or product discount slabs are required,Obavezne su ploče sa cijenama ili popustima na proizvode,
Pricing,Cijene,
Pricing Rule,cijene Pravilo,
"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Cijene Pravilo prvo se bira na temelju 'Nanesite na' terenu, koji može biti točka, točka Grupa ili Brand.",
"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Cijene Pravilo je napravljen prebrisati Cjenik / definirati postotak popusta, na temelju nekih kriterija.",
Pricing Rule {0} is updated,Pravilo cijene {0} se ažurira,
Pricing Rules are further filtered based on quantity.,Pravilnik o određivanju cijena dodatno se filtrira na temelju količine.,
Primary Address Details,Primarne adrese,
Primary Contact Details,Primarni kontakt podaci,
Print Format,Format ispisa,
Print IRS 1099 Forms,Ispiši obrasce IRS 1099,
Print Report Card,Štampaj izveštaj karticu,
Print Settings,Postavke ispisa,
Print and Stationery,Print i pribora,
Print settings updated in respective print format,podešavanja print ažuriran u odgovarajućim formatu print,
Print taxes with zero amount,Odštampajte poreze sa nultim iznosom,
Printing and Branding,Tiskanje i brendiranje,
Private Equity,Private Equity,
Procedure,Procedura,
Process Day Book Data,Obradi podatke o dnevnoj knjizi,
Process Master Data,Obradu glavnih podataka,
Processing Chart of Accounts and Parties,Obrada kontnog plana i stranaka,
Processing Items and UOMs,Obrada predmeta i UOM-ova,
Processing Party Addresses,Obrada stranačkih adresa,
Processing Vouchers,Obrada vaučera,
Procurement,Nabavka,
Produced Qty,Proizveden količina,
Product,Proizvod,
Product Bundle,Bundle proizvoda,
Product Search,Traži proizvod,
Production,Proizvodnja,
Production Item,Proizvodnja Item,
Products,Proizvodi,
Profit and Loss,Račun dobiti i gubitka,
Profit for the year,Dobit za godinu,
Program,Program,
Program in the Fee Structure and Student Group {0} are different.,Program u strukturi naknada i studentskoj grupi {0} su različiti.,
Program {0} does not exist.,Program {0} ne postoji.,
Program: ,Program:,
Progress % for a task cannot be more than 100.,Napredak% za zadatak ne može biti više od 100.,
Project Collaboration Invitation,Projekt Collaboration Poziv,
Project Id,Id projekta,
Project Manager,Menadzer projekata,
Project Name,Naziv projekta,
Project Start Date,Datum početka projekta,
Project Status,Status projekta,
Project Summary for {0},Rezime projekta za {0},
Project Update.,Ažuriranje projekta.,
Project Value,Vrijednost projekta,
Project activity / task.,Projektna aktivnost / zadatak.,
Project master.,Direktor Projekata,
Project-wise data is not available for Quotation,Projekat - mudar podaci nisu dostupni za ponudu,
Projected,Projektovan,
Projected Qty,Projected Qty,
Projected Quantity Formula,Projektirana količina količine,
Projects,Projekti,
Proposal Writing,Pisanje prijedlog,
Proposal/Price Quote,Predlog / Cjenik cijene,
Prospecting,Istraživanje,
Provisional Profit / Loss (Credit),Privremeni dobit / gubitak (Credit),
Publications,Publikacije,
Publish Items on Website,Objavite Artikli na sajtu,
Published,Objavljen,
Publishing,objavljivanje,
Purchase,Kupiti,
Purchase Amount,Kupovina Iznos,
Purchase Date,Datum kupovine,
Purchase Invoice,Narudzbine,
Purchase Invoice {0} is already submitted,Kupnja Račun {0} već je podnijela,
Purchase Manager,Kupovina Manager,
Purchase Master Manager,Kupovina Master Manager,
Purchase Order,Narudžbenica,
Purchase Order Amount,Iznos narudžbine,
Purchase Order Amount(Company Currency),Iznos narudžbe (valuta kompanije),
Purchase Order Date,Datum naloga za kupovinu,
Purchase Order Items not received on time,Stavke porudžbine nisu blagovremeno dobijene,
Purchase Order number required for Item {0},Broj narudžbenice kupnje je potreban za artikal {0},
Purchase Order to Payment,Purchase Order na isplatu,
Purchase Order {0} is not submitted,Narudžbenicu {0} nije podnesen,
Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Narudžbe za kupovinu nisu dozvoljene za {0} zbog stanja kartice koja se nalazi na {1}.,
Purchase Orders given to Suppliers.,Kupnja naloge koje je dao dobavljače.,
Purchase Price List,Kupoprodajna cijena List,
Purchase Receipt,Račun kupnje,
Purchase Receipt {0} is not submitted,Račun kupnje {0} nije podnesen,
Purchase Tax Template,Porez na promet Template,
Purchase User,Kupovina korisnika,
Purchase orders help you plan and follow up on your purchases,Narudžbenice vam pomoći planirati i pratiti na kupovinu,
Purchasing,Nabava,
Purpose must be one of {0},Svrha mora biti jedan od {0},
Qty,Kol,
Qty To Manufacture,Količina za proizvodnju,
Qty Total,Količina Ukupno,
Qty for {0},Količina za {0},
Qualification,Kvalifikacija,
Quality,Kvalitet,
Quality Action,Kvalitetna akcija,
Quality Goal.,Cilj kvaliteta.,
Quality Inspection,Provjera kvalitete,
Quality Inspection: {0} is not submitted for the item: {1} in row {2},Inspekcija kvaliteta: {0} se ne podnosi za stavku: {1} u redu {2},
Quality Management,upravljanja kvalitetom,
Quality Meeting,Sastanak kvaliteta,
Quality Procedure,Postupak kvaliteta,
Quality Procedure.,Postupak kvaliteta.,
Quality Review,Pregled kvaliteta,
Quantity,Količina,
Quantity for Item {0} must be less than {1},Količina za točku {0} mora biti manji od {1},
Quantity in row {0} ({1}) must be same as manufactured quantity {2},Količina u redu {0} ( {1} ) mora biti isti kao proizvedena količina {2},
Quantity must be less than or equal to {0},Količina mora biti manji ili jednak {0},
Quantity must not be more than {0},Količina ne smije biti više od {0},
Quantity required for Item {0} in row {1},Količina potrebna za točke {0} je u redu {1},
Quantity should be greater than 0,Količina bi trebao biti veći od 0,
Quantity to Make,Količina koju treba napraviti,
Quantity to Manufacture must be greater than 0.,Količina za proizvodnju mora biti veći od 0.,
Quantity to Produce,Količina za proizvodnju,
Quantity to Produce can not be less than Zero,Količina za proizvodnju ne može biti manja od nule,
Query Options,Opcije upita,
Queued for replacing the BOM. It may take a few minutes.,Očekuje se zamena BOM-a. Može potrajati nekoliko minuta.,
Queued for updating latest price in all Bill of Materials. It may take a few minutes.,Očekuje se ažuriranje najnovije cene u svim materijalima. Može potrajati nekoliko minuta.,
Quick Journal Entry,Brzi unos u dnevniku,
Quot Count,Quot Count,
Quot/Lead %,Quot / Lead%,
Quotation,Ponude,
Quotation {0} is cancelled,Ponuda {0} je otkazana,
Quotation {0} not of type {1},Ponuda {0} nije tip {1},
Quotations,Citati,
"Quotations are proposals, bids you have sent to your customers","Citati su prijedlozi, ponude koje ste poslali svojim kupcima",
Quotations received from Suppliers.,Ponude dobijene od dobavljača.,
Quotations: ,Citati:,
Quotes to Leads or Customers.,Ponude za kupce ili potencijalne kupce.,
RFQs are not allowed for {0} due to a scorecard standing of {1},RFQ-ovi nisu dozvoljeni za {0} zbog stanja karte za rezultat {1},
Range,Domet,
Rate,Cijena,
Rate:,Ocijeni:,
Rating,Ocjena,
Raw Material,sirovine,
Raw Materials,Sirovine,
Raw Materials cannot be blank.,Sirovine ne može biti prazan.,
Re-open,Ponovno otvorena,
Read blog,Pročitajte blog,
Read the ERPNext Manual,Pročitajte ERPNext Manual,
Reading Uploaded File,Čitanje preuzete datoteke,
Real Estate,Nekretnine,
Reason For Putting On Hold,Razlog za stavljanje na čekanje,
Reason for Hold,Razlog zadržavanja,
Reason for hold: ,Razlog zadržavanja:,
Receipt,priznanica,
Receipt document must be submitted,mora biti dostavljen dokument o prijemu,
Receivable,Potraživanja,
Receivable Account,Potraživanja račun,
Received,primljen,
Received On,Primljen,
Received Quantity,Primljena količina,
Received Stock Entries,Primljeni unosi na zalihe,
Receiver List is empty. Please create Receiver List,Receiver Lista je prazna . Molimo stvoriti Receiver Popis,
Recipients,Primatelji,
Reconcile,pomiriti,
"Record of all communications of type email, phone, chat, visit, etc.","Snimak svih komunikacija tipa e-mail, telefon, chat, itd",
Records,Zapisi,
Redirect URL,redirect URL,
Ref,Ref.,
Ref Date,Ref: Datum,
Reference,Upućivanje,
Reference #{0} dated {1},Reference # {0} od {1},
Reference Date,Referentni datum,
Reference Doctype must be one of {0},Referentni Doctype mora biti jedan od {0},
Reference Document,referentni dokument,
Reference Document Type,Referentni dokument Tip,
Reference No & Reference Date is required for {0},Reference Nema & Reference Datum je potrebno za {0},
Reference No and Reference Date is mandatory for Bank transaction,Poziv na broj i referentni datum je obavezan za transakcije banke,
Reference No is mandatory if you entered Reference Date,Reference Ne obvezno ako ušao referentnog datuma,
Reference No.,Referentni broj,
Reference Number,Referentni broj,
Reference Type,Referentna Tip,
"Reference: {0}, Item Code: {1} and Customer: {2}","Referenca: {0}, Šifra: {1} i kupaca: {2}",
References,Reference,
Refresh Token,Refresh Token,
Register,Registrujte se,
Rejected,Odbijen,
Related,povezan,
Relation with Guardian1,Odnos sa Guardian1,
Relation with Guardian2,Odnos sa Guardian2,
Release Date,Datum izdavanja,
Reload Linked Analysis,Ponovo učitaj analizu,
Remaining,ostali,
Remaining Balance,Preostali iznos,
Remarks,Primjedbe,
Reminder to update GSTIN Sent,Podsetnik za ažuriranje GSTIN Poslato,
Remove item if charges is not applicable to that item,Uklonite stavku ako naknada nije primjenjiv na tu stavku,
Removed items with no change in quantity or value.,Ukloniti stavke bez promjene u količini ili vrijednosti.,
Reopen,Ponovo otvoriti,
Reorder Level,Ponovno red Level,
Reorder Qty,Ponovno red Qty,
Repeat Customer Revenue,Ponovite Customer prihoda,
Repeat Customers,Ponovite Kupci,
Replace BOM and update latest price in all BOMs,Zamijenite BOM i ažurirajte najnoviju cijenu u svim BOM,
Replied,Odgovorio,
Report,Izvjestaj,
Report Type,Tip izvjestaja,
Report Type is mandatory,Vrsta izvjestaja je obavezna,
Reports,Izvještaji,
Reqd By Date,Reqd Po datumu,
Reqd Qty,Reqd Qty,
Request for Quotation,Zahtjev za ponudu,
Request for Quotations,Zahtjev za ponudu,
Request for Raw Materials,Zahtjev za sirovine,
Request for purchase.,Zahtjev za kupnju.,
Request for quotation.,Upit za ponudu.,
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 .",
Requesting Site,Podnošenje zahtjeva,
Requesting payment against {0} {1} for amount {2},Tražeći isplatu protiv {0} {1} za iznos {2},
Requestor,Podnositelj zahteva,
Required On,Potrebna On,
Required Qty,Potrebna Kol,
Required Quantity,Tražena količina,
Reschedule,Ponovo raspored,
Research,Istraživanje,
Research & Development,istraživanje i razvoj,
Researcher,Istraživač,
Resend Payment Email,Ponovo pošaljite mail plaćanja,
Reserve Warehouse,Rezervni skladište,
Reserved Qty,Rezervirano Kol,
Reserved Qty for Production,Rezervirano Količina za proizvodnju,
Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Količina rezervirane za proizvodnju: Količina sirovina za izradu proizvodnih predmeta.,
"Reserved Qty: Quantity ordered for sale, but not delivered.","Rezervirano Količina : Količina naručiti za prodaju , ali nije dostavljena .",
Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Rezervisano skladište je obavezno za stavku {0} u isporučenim sirovinama,
Reserved for manufacturing,Rezervirano za proizvodnju,
Reserved for sale,Rezervirano za prodaju,
Reserved for sub contracting,Rezervisano za podugovaranje,
Resistant,Otporno,
Resolve error and upload again.,Rešite grešku i ponovo je prenesite.,
Rest Of The World,Ostatak svijeta,
Restart Subscription,Restart pretplata,
Restaurant,Restoran,
Result Date,Datum rezultata,
Result already Submitted,Rezultat već podnet,
Resume,Nastavi,
Retail,Maloprodaja,
Retail & Wholesale,Trgovina na veliko i,
Retail Operations,Trgovina na malo,
Retained Earnings,Zadržana dobit,
Retention Stock Entry,Zadržavanje zaliha zaliha,
Retention Stock Entry already created or Sample Quantity not provided,Već stvoreni unos zadržavanja zaliha ili količina uzorka nisu obezbeđeni,
Return,Povratak,
Return / Credit Note,Povratak / Credit Note,
Return / Debit Note,Povratak / Debit Napomena,
Returns,povraćaj,
Reverse Journal Entry,Povratni dnevnik,
Review Invitation Sent,Poslato,
Review and Action,Pregled i radnja,
Rooms Booked,Sobe rezervirane,
Root Company,Root Company,
Root Type,korijen Tip,
Root Type is mandatory,Korijen Tip je obvezno,
Root cannot be edited.,Korijen ne može se mijenjati .,
Root cannot have a parent cost center,Korijen ne mogu imati središte troškova roditelj,
Round Off,Zaokružiti,
Rounded Total,Zaokruženi iznos,
Route,ruta,
Row # {0}: ,Row # {0}:,
Row # {0}: Batch No must be same as {1} {2},Row # {0}: serijski br mora biti isti kao {1} {2},
Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: ne mogu vratiti više od {1} {2} za tačka,
Row # {0}: Rate cannot be greater than the rate used in {1} {2},Row # {0}: Rate ne može biti veća od stope koristi u {1} {2},
Row # {0}: Serial No is mandatory,Row # {0}: Serial No je obavezno,
Row # {0}: Serial No {1} does not match with {2} {3},Row # {0}: {1} Serial No ne odgovara {2} {3},
Row #{0} (Payment Table): Amount must be negative,Red # {0} (Tabela za plaćanje): Iznos mora biti negativan,
Row #{0} (Payment Table): Amount must be positive,Red # {0} (Tabela za plaćanje): Iznos mora biti pozitivan,
Row #{0}: Account {1} does not belong to company {2},Red # {0}: Račun {1} ne pripada kompaniji {2},
Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Row # {0}: dodijeljeni iznos ne može biti veći od preostalog iznosa.,
"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Row # {0}: Asset {1} ne može se podnijeti, to je već {2}",
Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Red # {0}: Ne može se podesiti Rate ako je iznos veći od fakturisane količine za stavku {1}.,
Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Row # {0}: datum razmak {1} ne može biti prije Ček Datum {2},
Row #{0}: Duplicate entry in References {1} {2},Row # {0}: duplikat unosa u Reference {1} {2},
Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Red # {0}: Očekivani datum isporuke ne može biti pre datuma kupovine naloga,
Row #{0}: Item added,Red # {0}: stavka je dodata,
Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Row # {0}: Journal Entry {1} nema nalog {2} ili već usklađeni protiv drugog vaučer,
Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Row # {0}: Nije dozvoljeno da se promijeniti dobavljača kao narudžbenicu već postoji,
Row #{0}: Please set reorder quantity,Row # {0}: Molimo set Ponovno redj količinu,
Row #{0}: Please specify Serial No for Item {1},Row # {0}: Navedite rednim brojem predmeta za {1},
Row #{0}: Qty increased by 1,Red # {0}: Količina povećana za 1,
Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Rate moraju biti isti kao {1}: {2} ({3} / {4}),
Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Red # {0}: Referentni tip dokumenta mora biti jedan od potraživanja troškova ili unosa dnevnika,
"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: Referenca Vrsta dokumenta mora biti jedan od Narudžbenice, fakturi ili Journal Entry",
Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Odbijena Količina ne može unijeti u Kupovina Povratak,
Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Odbijena Skladište je obavezno protiv odbijen Stavka {1},
Row #{0}: Reqd by Date cannot be before Transaction Date,Red # {0}: Reqd po datumu ne može biti pre datuma transakcije,
Row #{0}: Set Supplier for item {1},Row # {0}: Set dobavljač za stavku {1},
Row #{0}: Status must be {1} for Invoice Discounting {2},Redak broj {0}: Status mora biti {1} za popust fakture {2},
"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches","Row # {0}: Odgovor batch {1} ima samo {2} Količina. Molimo odaberite neku drugu seriju koja ima {3} Količina dostupna ili podijeliti red u više redova, za isporuku / pitanje iz više serija",
Row #{0}: Timings conflicts with row {1},Row # {0}: Timings sukobi s redom {1},
Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} ne može biti negativan za stavku {2},
Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},No red {0}: Iznos ne može biti veći od čekanju Iznos protiv rashodi potraživanje {1}. Na čekanju iznos je {2},
Row {0} : Operation is required against the raw material item {1},Red {0}: Operacija je neophodna prema elementu sirovine {1},
Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Red {0} # Stavka {1} ne može se prenijeti više od {2} u odnosu na narudžbenicu {3},
Row {0}: Activity Type is mandatory.,Red {0}: Aktivnost Tip je obavezno.,
Row {0}: Advance against Customer must be credit,Red {0}: Advance protiv Klijent mora biti kredit,
Row {0}: Advance against Supplier must be debit,Red {0}: Advance protiv Dobavljač mora biti debitne,
Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Red {0}: Raspoređeni iznos {1} mora biti manji od ili jednak iznos plaćanja Entry {2},
Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Row {0}: {1} Izdvojena iznos mora biti manji od ili jednak naplatiti preostali iznos {2},
Row {0}: An Reorder entry already exists for this warehouse {1},Row {0}: Unos Ponovno red već postoji za to skladište {1},
Row {0}: Bill of Materials not found for the Item {1},Red {0}: Bill materijala nije pronađen za stavku {1},
Row {0}: Conversion Factor is mandatory,Red {0}: pretvorbe Factor je obvezno,
Row {0}: Cost center is required for an item {1},Red {0}: Troškovni centar je potreban za stavku {1},
Row {0}: Credit entry can not be linked with a {1},Row {0}: Kredit stavka ne može se povezati sa {1},
Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Red {0}: Valuta sastavnicu # {1} treba da bude jednaka odabrane valute {2},
Row {0}: Debit entry can not be linked with a {1},Row {0}: Debitne stavka ne može se povezati sa {1},
Row {0}: Depreciation Start Date is required,Red {0}: datum početka amortizacije je potreban,
Row {0}: Enter location for the asset item {1},Red {0}: Unesite lokaciju za stavku aktive {1},
Row {0}: Exchange Rate is mandatory,Red {0}: kursa obavezna,
Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Red {0}: Očekivana vrednost nakon korisnog života mora biti manja od iznosa bruto kupovine,
Row {0}: From Time and To Time is mandatory.,Red {0}: Od vremena i do vremena je obavezno.,
Row {0}: From Time and To Time of {1} is overlapping with {2},Red {0}: Od vremena i do vremena od {1} je preklapaju s {2},
Row {0}: From time must be less than to time,Red {0}: S vremena na vrijeme mora biti manje,
Row {0}: Hours value must be greater than zero.,Red {0}: Radno vrijednost mora biti veća od nule.,
Row {0}: Invalid reference {1},Red {0}: Invalid referentni {1},
Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Red {0}: Party / računa ne odgovara {1} / {2} u {3} {4},
Row {0}: Party Type and Party is required for Receivable / Payable account {1},Red {0}: Party Tip i stranka je potreban za potraživanja / računa plaćaju {1},
Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Row {0}: Plaćanje protiv Prodaja / narudžbenice treba uvijek biti označeni kao unaprijed,
Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,"Row {0}: Molimo provjerite 'Je li Advance ""protiv Account {1} ako je to unaprijed unos.",
Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Red {0}: Podesite razlog oslobađanja od poreza u porezima i naknadama na promet,
Row {0}: Please set the Mode of Payment in Payment Schedule,Red {0}: Molimo postavite Način plaćanja u Rasporedu plaćanja,
Row {0}: Please set the correct code on Mode of Payment {1},Red {0}: Molimo postavite ispravan kod na Način plaćanja {1},
Row {0}: Qty is mandatory,Red {0}: Količina je obvezno,
Row {0}: Quality Inspection rejected for item {1},Red {0}: Odbačena inspekcija kvaliteta za stavku {1},
Row {0}: UOM Conversion Factor is mandatory,Red {0}: UOM Faktor konverzije je obavezno,
Row {0}: select the workstation against the operation {1},Red {0}: izaberite radnu stanicu protiv operacije {1},
Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Red {0}: {1} Serijski brojevi potrebni za stavku {2}. Proveli ste {3}.,
Row {0}: {1} must be greater than 0,Red {0}: {1} mora biti veći od 0,
Row {0}: {1} {2} does not match with {3},Row {0}: {1} {2} ne odgovara {3},
Row {0}:Start Date must be before End Date,Red {0} : Datum početka mora biti prije datuma završetka,
Rows with duplicate due dates in other rows were found: {0},Redovi sa dupliciranim datumima u drugim redovima su pronađeni: {0},
Rules for adding shipping costs.,Pravila za dodavanjem troškove prijevoza .,
Rules for applying pricing and discount.,Pravila za primjenu cijene i popust .,
S.O. No.,S.O. Ne.,
SGST Amount,SGST Iznos,
SO Qty,SO Kol,
Safety Stock,Sigurnost Stock,
Salary,Plata,
Salary Slip submitted for period from {0} to {1},Plata za slanje poslata za period od {0} do {1},
Salary Structure must be submitted before submission of Tax Ememption Declaration,Struktura plaće mora se podnijeti prije podnošenja Izjave o porezu,
Sales,Prodaja,
Sales Account,Račun prodaje,
Sales Expenses,Prodajni troškovi,
Sales Funnel,Tok prodaje (Funnel),
Sales Invoice,Faktura prodaje,
Sales Invoice {0} has already been submitted,Prodajni računi {0} su već potvrđeni,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Prodaja Račun {0} mora biti otkazana prije poništenja ovu prodajnog naloga,
Sales Manager,Sales Manager,
Sales Master Manager,Sales Manager Master,
Sales Order,Narudžbe kupca,
Sales Order Item,Stavka narudžbe kupca,
Sales Order required for Item {0},Prodajnog naloga potrebna za točke {0},
Sales Order to Payment,Naloga prodaje na isplatu,
Sales Order {0} is not submitted,Prodajnog naloga {0} nije podnesen,
Sales Order {0} is not valid,Prodajnog naloga {0} nije ispravan,
Sales Order {0} is {1},Prodajnog naloga {0} je {1},
Sales Orders,Sales Orders,
Sales Partner,Prodajni partner,
Sales Pipeline,prodaja Pipeline,
Sales Price List,Sales Cjenovnik,
Sales Return,Povrat robe,
Sales Summary,Sažetak prodaje,
Sales Tax Template,Porez na promet Template,
Sales Team,Prodajni tim,
Sales User,Sales korisnika,
Sales and Returns,Prodaja i povratak,
Sales campaigns.,Prodajne kampanje.,
Sales orders are not available for production,Prodajni nalozi nisu dostupni za proizvodnju,
Salutation,Pozdrav,
Same Company is entered more than once,Ista firma je ušao više od jednom,
Same item cannot be entered multiple times.,Isti stavka ne može se upisati više puta.,
Same supplier has been entered multiple times,Istog dobavljača je ušao više puta,
Sample Collection,Prikupljanje uzoraka,
Sample quantity {0} cannot be more than received quantity {1},Količina uzorka {0} ne može biti veća od primljene količine {1},
Sanctioned,sankcionisani,
Sand,Pesak,
Saturday,Subota,
Saving {0},Čuvanje {0},
Scan Barcode,Skenirajte bar kod,
Schedule,Raspored,
Schedule Admission,Raspored prijema,
Schedule Course,Raspored predmeta,
Schedule Date,Raspored Datum,
Schedule Discharge,Raspoređivanje rasporeda,
Scheduled,Planirano,
Scheduled Upto,Planirani Upto,
"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Rasporedi za {0} se preklapaju, da li želite da nastavite nakon preskakanja preklapanih slotova?",
Score cannot be greater than Maximum Score,Rezultat ne može biti veća od maksimalne Score,
Scorecards,Scorecards,
Scrapped,odbačen,
Search,Pretraga,
Search Results,Search Results,
Search Sub Assemblies,Traži Sub skupština,
"Search by item code, serial number, batch no or barcode","Pretraga po kodu stavke, serijskom broju, broju serije ili barkodu",
"Seasonality for setting budgets, targets etc.","Sezonski za postavljanje budžeta, ciljeva itd",
Secret Key,tajni ključ,
Secretary,Sekretarica,
Section Code,Kodeks sekcije,
Secured Loans,Osigurani krediti,
Securities & Commodity Exchanges,Vrijednosni papiri i robne razmjene,
Securities and Deposits,Vrijednosni papiri i depoziti,
See All Articles,Vidi sve članke,
See all open tickets,Pogledajte sve otvorene karte,
See past orders,Pogledajte prošla naređenja,
See past quotations,Pogledajte dosadašnje citate,
Select,Odaberi,
Select Alternate Item,Izaberite Alternativnu stavku,
Select Attribute Values,Odaberite vrijednosti atributa,
Select BOM,Izaberite BOM,
Select BOM and Qty for Production,Odaberite BOM i količina za proizvodnju,
"Select BOM, Qty and For Warehouse","Odaberite BOM, Količina i Za skladište",
Select Batch,Izaberite Batch,
Select Batch Numbers,Izaberite šarže,
Select Brand...,Odaberite Marka ...,
Select Company,Izaberite kompaniju,
Select Company...,Odaberite preduzeće...,
Select Customer,Izaberite Kupca,
Select Days,Izaberite Dani,
Select Default Supplier,Izaberite snabdjevač,
Select DocType,Odaberite DocType,
Select Fiscal Year...,Odaberite fiskalnu godinu ...,
Select Item (optional),Izaberite stavku (opcionalno),
Select Items based on Delivery Date,Izaberite stavke na osnovu datuma isporuke,
Select Items to Manufacture,Odaberi stavke za proizvodnju,
Select Loyalty Program,Odaberite Loyalty Program,
Select Patient,Izaberite Pacijent,
Select Possible Supplier,Odaberite Moguće dobavljač,
Select Quantity,Odaberite Količina,
Select Serial Numbers,Odaberite serijski brojevi,
Select Target Warehouse,Odaberite Target Skladište,
Select Warehouse...,Odaberite Warehouse ...,
Select an account to print in account currency,Izaberite nalog za štampanje u valuti računa,
Select at least one value from each of the attributes.,Izaberite najmanje jednu vrijednost od svakog atributa.,
Select change amount account,Izaberite promjene iznos računa,
Select company first,Prvo odaberite kompaniju,
Select students manually for the Activity based Group,Izbor studenata ručno za grupe aktivnosti na osnovu,
Select the customer or supplier.,Izaberite kupca ili dobavljača.,
Select the nature of your business.,Odaberite priroda vašeg poslovanja.,
Select the program first,Prvo izaberite program,
Select to add Serial Number.,Odaberite da dodate serijski broj.,
Select your Domains,Izaberite svoje domene,
Selected Price List should have buying and selling fields checked.,Izabrana cenovna lista treba da ima provereno kupovinu i prodaju.,
Sell,prodati,
Selling,Prodaja,
Selling Amount,Prodaja Iznos,
Selling Price List,Prodajni cjenik,
Selling Rate,Prodajna stopa,
"Selling must be checked, if Applicable For is selected as {0}","Prodaje se mora provjeriti, ako je primjenjivo za odabrano kao {0}",
Send Grant Review Email,Pošaljite e-poruku za Grant Review,
Send Now,Pošalji odmah,
Send SMS,Pošalji SMS,
Send mass SMS to your contacts,Pošalji masovne SMS poruke svojim kontaktima,
Sensitivity,Osjetljivost,
Sent,Poslano,
Serial No and Batch,Serijski broj i Batch,
Serial No is mandatory for Item {0},Serijski Nema je obvezna za točke {0},
Serial No {0} does not belong to Batch {1},Serijski broj {0} ne pripada Batch {1},
Serial No {0} does not belong to Delivery Note {1},Serijski Ne {0} ne pripada isporuke Napomena {1},
Serial No {0} does not belong to Item {1},Serijski Ne {0} ne pripada točki {1},
Serial No {0} does not belong to Warehouse {1},Serijski Ne {0} ne pripada Warehouse {1},
Serial No {0} does not belong to any Warehouse,Serijski broj {0} ne pripada nijednoj Skladište,
Serial No {0} does not exist,Serijski Ne {0} ne postoji,
Serial No {0} has already been received,Serijski Ne {0} već je primila,
Serial No {0} is under maintenance contract upto {1},Serijski Ne {0} je pod ugovorom za održavanje upto {1},
Serial No {0} is under warranty upto {1},Serijski Ne {0} je pod jamstvom upto {1},
Serial No {0} not found,Serial No {0} nije pronađena,
Serial No {0} not in stock,Serijski Ne {0} nije u dioničko,
Serial No {0} quantity {1} cannot be a fraction,Serijski Ne {0} {1} količina ne može bitidio,
Serial Nos Required for Serialized Item {0},Serijski Nos potrebna za serijaliziranom točke {0},
Serial Number: {0} is already referenced in Sales Invoice: {1},Serijski broj: {0} je već spomenut u prodaje Faktura: {1},
Serial Numbers,Serijski brojevi,
Serial Numbers in row {0} does not match with Delivery Note,Serijski brojevi u nizu {0} ne odgovara otpremnica,
Serial no {0} has been already returned,Serijski broj {0} je već vraćen,
Serial number {0} entered more than once,Serijski broj {0} ušao više puta,
Serialized Inventory,Serijalizovanoj zaliha,
Series Updated,Serija Updated,
Series Updated Successfully,Serija Updated uspješno,
Series is mandatory,Serija je obvezno,
Service,Usluga,
Service Level Agreement,Ugovor o nivou usluge,
Service Level Agreement.,Ugovor o nivou usluge.,
Service Level.,Nivo usluge.,
Service Stop Date cannot be after Service End Date,Servisni datum zaustavljanja ne može biti nakon datuma završetka usluge,
Service Stop Date cannot be before Service Start Date,Servisni datum zaustavljanja ne može biti pre početka usluge,
Services,Usluge,
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Zadane vrijednosti kao što su tvrtke , valute , tekuće fiskalne godine , itd.",
Set Details,Postavite detalje,
Set New Release Date,Podesite novi datum izdanja,
Set Project and all Tasks to status {0}?,Postavite Project i sve zadatke na status {0}?,
Set Status,Postavite status,
Set Tax Rule for shopping cart,Set poreza Pravilo za košarica,
Set as Closed,Postavi status Zatvoreno,
Set as Completed,Postavite kao dovršeno,
Set as Lost,Postavi kao Lost,
Set as Open,Postavi status Otvoreno,
Set default inventory account for perpetual inventory,Postaviti zadani račun inventar za trajnu inventar,
Set this if the customer is a Public Administration company.,Podesite to ako je kupac kompanija iz javne uprave.,
Set {0} in asset category {1} or company {2},Postavite {0} u kategoriji aktive {1} ili kompaniju {2},
"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Postavljanje Događanja u {0}, jer zaposleni u prilogu ispod prodaje osoba nema korisniku ID {1}",
Setting defaults,Podešavanje podrazumevanih vrednosti,
Setting up Email,Postavljanje e-pošte,
Setting up Email Account,Postavljanje e-pošte,
Setting up Employees,Postavljanje zaposlenih,
Setting up Taxes,Postavljanje poreza,
Setting up company,Osnivanje kompanije,
Settings,Podešavanja,
"Settings for online shopping cart such as shipping rules, price list etc.","Postavke za online kupovinu košaricu poput shipping pravila, cjenik i sl",
Settings for website homepage,Postavke za web stranice homepage,
Settings for website product listing,Podešavanja za popis proizvoda na veb lokaciji,
Settled,Riješeni,
Setup Gateway accounts.,Podešavanje Gateway račune.,
Setup SMS gateway settings,Postavke Setup SMS gateway,
Setup cheque dimensions for printing,dimenzije ček setup za štampanje,
Setup default values for POS Invoices,Podesi podrazumevane vrednosti za POS Račune,
Setup mode of POS (Online / Offline),Način podešavanja POS (Online / Offline),
Setup your Institute in ERPNext,Postavite svoj Institut u ERPNext,
Share Balance,Podeli Balans,
Share Ledger,Share Ledger,
Share Management,Share Management,
Share Transfer,Share Transfer,
Share Type,Tip deljenja,
Shareholder,Akcionar,
Ship To State,Brod u državu,
Shipments,Pošiljke,
Shipping Address,Adresa isporuke,
"Shipping Address does not have country, which is required for this Shipping Rule","Adresa za dostavu nema zemlju, koja je potrebna za ovo Pravilo o otpremi",
Shipping rule only applicable for Buying,Pravilo o isporuci primenjivo samo za kupovinu,
Shipping rule only applicable for Selling,Pravilo o isporuci primenjuje se samo za prodaju,
Shopify Supplier,Shopify Supplier,
Shopping Cart,Korpa,
Shopping Cart Settings,Košarica Settings,
Short Name,Kratki naziv,
Shortage Qty,Nedostatak Qty,
Show Completed,Prikaži dovršeno,
Show Cumulative Amount,Prikaži kumulativni iznos,
Show Open,Pokaži otvoren,
Show Opening Entries,Prikaži unose otvaranja,
Show Payment Details,Prikaži podatke o plaćanju,
Show Return Entries,Prikaži povratne unose,
Show Variant Attributes,Prikaži varijante atributa,
Show Variants,Show Varijante,
Show closed,Show zatvoren,
Show exploded view,Pokažite eksplodiran pogled,
Show only POS,Prikaži samo POS,
Show unclosed fiscal year's P&L balances,Pokaži Neriješeni fiskalnu godinu P &amp; L salda,
Show zero values,Pokazati nulte vrijednosti,
Silt,Silt,
Single Variant,Jedinstvena varijanta,
Single unit of an Item.,Jedna jedinica stavku.,
"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Preskočite raspodelu raspoređivanja za sledeće zaposlene, jer evidencije o izuzeću već postoje protiv njih. {0}",
Slideshow,Slideshow,
Slots for {0} are not added to the schedule,Slotovi za {0} se ne dodaju u raspored,
Small,Mali,
Soap & Detergent,Sapun i deterdžent,
Software,Software,
Software Developer,Software Developer,
Softwares,softvera,
Soil compositions do not add up to 100,Sastave zemljišta ne daju do 100,
Sold,prodan,
Some emails are invalid,Neki e-mailovi su nevažeći,
Some information is missing,Neke informacije nedostaju,
Something went wrong!,Nešto nije bilo u redu!,
"Sorry, Serial Nos cannot be merged","Žao nam je , Serial Nos ne mogu spojiti",
Source,Izvor,
Source Name,izvor ime,
Source Warehouse,Izvorno skladište,
Source and Target Location cannot be same,Izvor i ciljna lokacija ne mogu biti isti,
Source and target warehouse cannot be same for row {0},Izvor i ciljna skladište ne može biti isti za redom {0},
Source and target warehouse must be different,Izvor i meta skladište mora biti drugačiji,
Source of Funds (Liabilities),Izvor sredstava ( pasiva),
Source warehouse is mandatory for row {0},Izvor skladište je obvezno za redom {0},
Specified BOM {0} does not exist for Item {1},Navedene BOM {0} ne postoji za Stavka {1},
Split,Podijeliti,
Split Batch,Split Batch,
Split Issue,Split Issue,
Sports,sportovi,
Standard Buying,Standardna kupnju,
Standard Selling,Standardna prodaja,
Standard contract terms for Sales or Purchase.,Standardni uvjeti ugovora za prodaju ili kupnju.,
Start Date,Datum početka,
Start Date of Agreement can't be greater than or equal to End Date.,Datum početka ugovora ne može biti veći ili jednak Krajnjem datumu.,
Start Year,Početak godine,
Start date should be less than end date for Item {0},Početak bi trebao biti manji od krajnjeg datuma za točke {0},
Start date should be less than end date for task {0},Datum početka trebalo bi da bude manji od datuma završetka zadatka {0},
Start day is greater than end day in task '{0}',Dan početka je veći od kraja dana u zadatku &#39;{0}&#39;,
Start on,Počnite,
State,State,
State/UT Tax,Porez na države i UT,
Statement of Account,Izjava o računu,
Status must be one of {0},Status mora biti jedan od {0},
Stock,Zaliha,
Stock Adjustment,Stock Podešavanje,
Stock Analytics,Stock Analytics,
Stock Assets,dionicama u vrijednosti,
Stock Available,Stock Available,
Stock Balance,Kataloški bilanca,
Stock Entries already created for Work Order ,Upis zaliha već je kreiran za radni nalog,
Stock Entry,Kataloški Stupanje,
Stock Entry {0} created,Stock Entry {0} stvorio,
Stock Entry {0} is not submitted,Stock upis {0} nije podnesen,
Stock Expenses,Stock Troškovi,
Stock In Hand,Stock u ruci,
Stock Items,Stock Predmeti,
Stock Ledger,Stock Ledger,
Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Stock Ledger unosi i GL unosi se ponovo postavila za odabrane Kupovina Primici,
Stock Levels,Stock Nivoi,
Stock Liabilities,Stock Obveze,
Stock Qty,zalihama Količina,
Stock Received But Not Billed,Stock primljeni Ali ne Naplaćeno,
Stock Reports,Stock Izvještaji,
Stock Summary,Stock Pregled,
Stock Transactions,Stock Transakcije,
Stock UOM,Kataloški UOM,
Stock Value,Stock vrijednost,
Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Stock balans u Batch {0} će postati negativan {1} {2} za tačka na skladištu {3},
Stock cannot be updated against Delivery Note {0},Dionica ne može biti obnovljeno protiv isporuke Napomena {0},
Stock cannot be updated against Purchase Receipt {0},Stock se ne može ažurirati protiv kupovine Prijem {0},
Stock cannot exist for Item {0} since has variants,Stock ne može postojati za Stavka {0} od ima varijante,
Stock transactions before {0} are frozen,Stock transakcije prije {0} se zamrznut,
Stop,zaustaviti,
Stopped,Zaustavljen,
"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Prekinuto radno porudžbanje ne može se otkazati, Unstop prvi da otkaže",
Stores,prodavaonice,
Student,Student,
Student Activity,student aktivnost,
Student Address,student adresa,
Student Admissions,student Prijemni,
Student Attendance,student Posjeta,
"Student Batches help you track attendance, assessments and fees for students","Student Paketi pomoći da pratiti prisustvo, procjene i naknade za studente",
Student Email Address,Student-mail adresa,
Student Email ID,Student-mail ID,
Student Group,student Group,
Student Group Strength,Student Group Strength,
Student Group is already updated.,Student Grupa je već ažurirana.,
Student Group: ,Student Grupa:,
Student ID,Student ID,
Student ID: ,Student ID:,
Student LMS Activity,Aktivnost učenika LMS,
Student Mobile No.,Student Mobile No.,
Student Name,Ime studenta,
Student Name: ,Ime studenta:,
Student Report Card,Studentski izveštaj kartica,
Student is already enrolled.,Student je već upisana.,
Student {0} - {1} appears Multiple times in row {2} & {3},Student {0} - {1} pojavljuje više puta u nizu {2} i {3},
Student {0} does not belong to group {1},Student {0} ne pripada grupi {1},
Student {0} exist against student applicant {1},Student {0} postoje protiv podnosioca prijave student {1},
"Students are at the heart of the system, add all your students","Studenti su u srcu sistema, dodajte sve svoje studente",
Sub Assemblies,pod skupštine,
Sub Type,Pod Tip,
Sub-contracting,Podugovaranje,
Subcontract,Podugovor,
Subject,Predmet,
Submit,Potvrdi,
Submit this Work Order for further processing.,Pošaljite ovaj nalog za dalju obradu.,
Subscription,Pretplata,
Subscription Management,Upravljanje pretplatama,
Subscriptions,Pretplate,
Subtotal,suma stavke,
Successful,Uspešno,
Successfully Reconciled,Uspješno Pomirio,
Successfully Set Supplier,Uspešno postavite dobavljača,
Successfully created payment entries,Uspješno su kreirani unosi plaćanja,
Successfully deleted all transactions related to this company!,Uspješno obrisane sve transakcije koje se odnose na ove kompanije!,
Sum of Scores of Assessment Criteria needs to be {0}.,Zbir desetine Kriteriji procjene treba da bude {0}.,
Sum of points for all goals should be 100. It is {0},Zbir bodova za sve ciljeve bi trebao biti 100. To je {0},
Summary,Sažetak,
Summary for this month and pending activities,Sažetak za ovaj mjesec i aktivnostima na čekanju,
Summary for this week and pending activities,Pregled za ovaj tjedan i aktivnostima na čekanju,
Sunday,Nedjelja,
Suplier,Suplier,
Supplier,Dobavljači,
Supplier Group,Grupa dobavljača,
Supplier Group master.,Glavni tim dobavljača.,
Supplier Id,Dobavljač Id,
Supplier Invoice Date cannot be greater than Posting Date,Dobavljač Datum računa ne može biti veći od Datum knjiženja,
Supplier Invoice No,Dobavljač Račun br,
Supplier Invoice No exists in Purchase Invoice {0},Dobavljač Račun ne postoji u fakturi {0},
Supplier Name,Dobavljač Ime,
Supplier Part No,Dobavljač dio br,
Supplier Quotation,Dobavljač Ponuda,
Supplier Scorecard,Scorecard dobavljača,
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Dobavljač skladišta obvezan je za sub - ugovoreni kupiti primitka,
Supplier database.,Šifarnik dobavljača,
Supplier {0} not found in {1},Dobavljač {0} nije pronađen u {1},
Supplier(s),Dobavljač (s),
Supplies made to UIN holders,Nabavka za držače UIN-a,
Supplies made to Unregistered Persons,Nabavka za neregistrovane osobe,
Suppliies made to Composition Taxable Persons,Isporuke za porezne obveznike na sastav,
Supply Type,Tip isporuke,
Support,Podrška,
Support Analytics,Podrska za Analitiku,
Support Settings,podrška Postavke,
Support Tickets,Podrška ulaznice,
Support queries from customers.,Podrska zahtjeva od strane korisnika,
Susceptible,Podložno,
Sync has been temporarily disabled because maximum retries have been exceeded,Sinhronizacija je privremeno onemogućena jer su prekoračeni maksimalni pokušaji,
Syntax error in condition: {0},Sintaksna greška u stanju: {0},
Syntax error in formula or condition: {0},Sintaksa greška u formuli ili stanja: {0},
System Manager,System Manager,
TDS Rate %,TDS stopa%,
Tap items to add them here,Dodirnite stavke da biste ih dodali ovdje,
Target,Meta,
Target ({}),Cilj ({}),
Target On,Target Na,
Target Warehouse,Ciljana galerija,
Target warehouse is mandatory for row {0},Target skladište je obvezno za redom {0},
Task,Zadatak,
Tasks,zadataka,
Tasks have been created for managing the {0} disease (on row {1}),Zadaci su kreirani za upravljanje {0} bolesti (na redu {1}),
Tax,Porez,
Tax Assets,porezna imovina,
Tax Category,Porezna kategorija,
Tax Category for overriding tax rates.,Porezna kategorija za previsoke porezne stope.,
"Tax Category has been changed to ""Total"" because all the Items are non-stock items","Porez Kategorija je promijenjen u &quot;Total&quot;, jer svi proizvodi bez stanju proizvodi",
Tax ID,Porez ID,
Tax Id: ,Porezni ID:,
Tax Rate,Porezna stopa,
Tax Rule Conflicts with {0},Porez pravilo sukoba sa {0},
Tax Rule for transactions.,Porez pravilo za transakcije.,
Tax Template is mandatory.,Porez Template je obavezno.,
Tax Withholding rates to be applied on transactions.,Poreske stope zadržavanja poreza na transakcije.,
Tax template for buying transactions.,Porezna Predložak za kupnju transakcije .,
Tax template for item tax rates.,Obrazac poreza za porezne stope na stavke.,
Tax template for selling transactions.,Porezna predložak za prodaju transakcije .,
Taxable Amount,Oporezivi iznos,
Taxes,Porezi,
Technology,Tehnologija,
Telecommunications,Telekomunikacije,
Telephone Expenses,Telefonski troškovi,
Television,Televizija,
Template Name,template Name,
Template of terms or contract.,Predložak termina ili ugovor.,
Templates of supplier scorecard criteria.,Šabloni za kriterijume rezultata dobavljača.,
Templates of supplier scorecard variables.,Šabloni varijabli indeksa dobavljača.,
Templates of supplier standings.,Šabloni pozicija dobavljača.,
Temporarily on Hold,Privremeno na čekanju,
Temporary,Privremen,
Temporary Accounts,Privremeni računi,
Temporary Opening,Privremeno otvaranje,
Terms and Conditions,Odredbe i uvjeti,
Terms and Conditions Template,Uvjeti predloška,
Territory,Regija,
Thank you for your business!,Hvala vam za vaše poslovanje!,
The 'From Package No.' field must neither be empty nor it's value less than 1.,&quot;Od paketa br.&quot; polje ne sme biti prazno niti je vrijednost manja od 1.,
The Brand,The Brand,
The Item {0} cannot have Batch,Stavka {0} ne može imati Batch,
The Loyalty Program isn't valid for the selected company,Program lojalnosti ne važi za izabranu kompaniju,
The Payment Term at row {0} is possibly a duplicate.,Rok plaćanja na redu {0} je možda duplikat.,
The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Termin Završni datum ne može biti ranije od termina Ozljede Datum. Molimo ispravite datume i pokušajte ponovo.,
The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Termin Završni datum ne može biti kasnije od kraja godine Datum akademske godine za koji je vezana pojam (akademska godina {}). Molimo ispravite datume i pokušajte ponovo.,
The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Termin Ozljede Datum ne može biti ranije od godine Početak Datum akademske godine za koji je vezana pojam (akademska godina {}). Molimo ispravite datume i pokušajte ponovo.,
The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,The Year Završni datum ne može biti ranije od godine Ozljede Datum. Molimo ispravite datume i pokušajte ponovo.,
The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,"Iznos od {0} postavljen na ovaj zahtev za plaćanje razlikuje se od obračunatog iznosa svih planova plaćanja: {1}. Pre nego što pošaljete dokument, proverite da li je to tačno.",
The field From Shareholder cannot be blank,Polje Od dioničara ne može biti prazno,
The field To Shareholder cannot be blank,Polje Za dioničara ne može biti prazno,
The fields From Shareholder and To Shareholder cannot be blank,Polja Od dioničara i akcionara ne mogu biti prazna,
The folio numbers are not matching,Folio brojevi se ne podudaraju,
The holiday on {0} is not between From Date and To Date,Na odmor na {0} nije između Od datuma i Do datuma,
The name of the institute for which you are setting up this system.,U ime Instituta za koju se postavljanje ovog sistema.,
The name of your company for which you are setting up this system.,Ime vaše tvrtke za koje ste postavljanje ovog sustava .,
The number of shares and the share numbers are inconsistent,Broj akcija i brojevi učešća su nedosljedni,
The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Račun plaćačkog plaćanja u planu {0} razlikuje se od naloga za plaćanje u ovom zahtjevu za plaćanje,
The selected BOMs are not for the same item,Izabrani sastavnica nisu za isti predmet,
The selected item cannot have Batch,Izabrana stavka ne može imati Batch,
The seller and the buyer cannot be the same,Prodavac i kupac ne mogu biti isti,
The shareholder does not belong to this company,Akcionar ne pripada ovoj kompaniji,
The shares already exist,Akcije već postoje,
The shares don't exist with the {0},Akcije ne postoje sa {0},
"The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","Zadatak je zamišljen kao pozadinski posao. U slučaju da u pozadini postoji problem s obradom, sistem će dodati komentar o grešci u ovom usklađivanju dionica i vratiti se u fazu skica",
"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Zatim Cjenovna Pravila filtriraju se temelji na Kupca, Kupac Group, Teritorij, dobavljač, proizvođač tip, Kampanja, prodajni partner i sl.",
"There are inconsistencies between the rate, no of shares and the amount calculated","Postoje nedoslednosti između stope, bez dionica i iznosa obračunatog",
There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,Na osnovu ukupne potrošnje može biti više faktora sakupljanja. Ali faktor konverzije za otkup će uvek biti isti za sve nivoe.,
There can only be 1 Account per Company in {0} {1},Tu može biti samo 1 račun po kompanije u {0} {1},
"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Tu može biti samo jedan Dostava Pravilo Stanje sa 0 ili prazni vrijednost za "" Da Value """,
There is not enough leave balance for Leave Type {0},Nema dovoljno ravnotežu dopust za dozvolu tipa {0},
There is nothing to edit.,Ne postoji ništa za uređivanje .,
There isn't any item variant for the selected item,Za izabranu stavku nema nijedne varijante stavki,
"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Izgleda da postoji problem sa konfiguracijom GoCardless servera. Ne brinite, u slučaju neuspeha, iznos će vam biti vraćen na vaš račun.",
There were errors creating Course Schedule,Bilo je grešaka u kreiranju rasporeda kursa,
There were errors.,Bilo je grešaka .,
This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,"Ovaj proizvod predložak i ne može se koristiti u transakcijama. Stavka atributi će se kopirati u više varijanti, osim 'Ne Copy ""je postavljena",
This Item is a Variant of {0} (Template).,Ovaj artikal je varijanta {0} (Template).,
This Month's Summary,Ovaj mjesec je sažetak,
This Week's Summary,Ovonedeljnom Pregled,
This action will stop future billing. Are you sure you want to cancel this subscription?,Ova akcija će zaustaviti buduće obračunavanje. Da li ste sigurni da želite otkazati ovu pretplatu?,
This covers all scorecards tied to this Setup,Ovo pokriva sve sisteme rezultata povezanih sa ovim postavkama,
This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Ovaj dokument je preko granice po {0} {1} za stavku {4}. Da li što još {3} u odnosu na isti {2}?,
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 department and cannot be edited.,Ovo je korijensko odjeljenje i ne može se uređivati.,
This is a root healthcare service unit and cannot be edited.,Ovo je koren zdravstvenog servisa i ne može se uređivati.,
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 supplier group and cannot be edited.,Ovo je korenska grupa dobavljača i ne može se uređivati.,
This is a root territory and cannot be edited.,To jekorijen teritorij i ne može se mijenjati .,
This is an example website auto-generated from ERPNext,Ovo je primjer web stranica automatski generira iz ERPNext,
This is based on logs against this Vehicle. See timeline below for details,Ovo se zasniva na rezanje protiv ovog vozila. Pogledajte vremenski okvir ispod za detalje,
This is based on stock movement. See {0} for details,To se temelji na zalihama pokreta. Vidi {0} za detalje,
This is based on the Time Sheets created against this project,To se temelji na vrijeme listovi stvorio protiv ovog projekta,
This is based on the attendance of this Student,To se temelji na prisustvo ovog Student,
This is based on transactions against this Customer. See timeline below for details,Ovo se zasniva na transakcije protiv ovog kupaca. Pogledajte vremenski okvir ispod za detalje,
This is based on transactions against this Healthcare Practitioner.,Ovo se zasniva na transakcijama protiv ovog zdravstvenog lekara.,
This is based on transactions against this Patient. See timeline below for details,Ovo se zasniva na transakcijama protiv ovog pacijenta. Za detalje pogledajte vremenski okvir ispod,
This is based on transactions against this Sales Person. See timeline below for details,Ovo se zasniva na transakcijama protiv ovog Prodavca. Za detalje pogledajte vremenski okvir ispod,
This is based on transactions against this Supplier. See timeline below for details,Ovo se zasniva na transakcije protiv tog dobavljača. Pogledajte vremenski okvir ispod za detalje,
This {0} conflicts with {1} for {2} {3},Ovo {0} sukobe sa {1} za {2} {3},
Time Sheet for manufacturing.,Time Sheet za proizvodnju.,
Time Tracking,Time Tracking,
"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Vremenski slot preskočen, slot {0} do {1} se preklapa sa postojećim slotom {2} do {3}",
Time slots added,Dodato je vremenska utrka,
Time(in mins),Time (u min),
Timer,Tajmer,
Timer exceeded the given hours.,Tajmer je prekoračio zadate sate.,
Timesheet,kontrolna kartica,
Timesheet for tasks.,Timesheet za zadatke.,
Timesheet {0} is already completed or cancelled,Timesheet {0} je već završen ili otkazan,
Timesheets,Timesheets,
"Timesheets help keep track of time, cost and billing for activites done by your team","Timesheets pomoći pratiti vremena, troškova i naplate za aktivnostima obavlja svoj tim",
Titles for print templates e.g. Proforma Invoice.,Naslovi za ispis predložaka pr Predračuna.,
To,To,
To Address 1,Za adresu 1,
To Address 2,Na adresu 2,
To Bill,To Bill,
To Date,Za datum,
To Date cannot be before From Date,Do danas ne može biti prije od datuma,
To Date cannot be less than From Date,Datum ne može biti manji od datuma,
To Date must be greater than From Date,Do datuma mora biti veći od Od datuma,
To Date should be within the Fiscal Year. Assuming To Date = {0},Za datum mora biti unutar fiskalne godine. Pod pretpostavkom da bi datum = {0},
To Datetime,To datuma i vremena,
To Deliver,Dostaviti,
To Deliver and Bill,Dostaviti i Bill,
To Fiscal Year,Do fiskalne godine,
To GSTIN,Za GSTIN,
To Party Name,U ime stranke,
To Pin Code,Za PIN kod,
To Place,Da postavim,
To Receive,Da Primite,
To Receive and Bill,Da primi i Bill,
To State,Držati,
To Warehouse,Za skladište,
To create a Payment Request reference document is required,Za kreiranje plaćanja Zahtjev je potrebno referentni dokument,
"To filter based on Party, select Party Type first","Da biste filtrirali na osnovu stranke, izaberite Party prvog tipa",
"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Da biste dobili najbolje iz ERPNext, preporučujemo vam da malo vremena i gledati ove snimke pomoć.",
"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","To uključuje porez u redu {0} u stopu točke , porezi u redovima {1} također moraju biti uključeni",
To make Customer based incentive schemes.,Da napravimo šeme podsticajnih zasnovanih na kupcima.,
"To merge, following properties must be same for both items","Spojiti , ova svojstva moraju biti isti za obje stavke",
"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Da se ne primjenjuje pravilo Cijene u određenoj transakciji, svim primjenjivim pravilima cijena bi trebala biti onemogućen.",
"To set this Fiscal Year as Default, click on 'Set as Default'","Za postavljanje ove fiskalne godine kao zadano , kliknite na "" Set as Default '",
To view logs of Loyalty Points assigned to a Customer.,Da biste videli evidencije o Lojalnim Tačkama dodeljenim Korisniku.,
To {0},Za {0},
To {0} | {1} {2},Za {0} | {1} {2},
Toggle Filters,Prebaci filtere,
Too many columns. Export the report and print it using a spreadsheet application.,Previše stupovi. Izvesti izvješće i ispisati pomoću aplikacije za proračunske tablice.,
Tools,Alati,
Total (Credit),Ukupno (kredit),
Total (Without Tax),Ukupno (bez poreza),
Total Achieved,Ukupno Ostvareni,
Total Actual,Ukupno Actual,
Total Amount,Ukupan iznos,
Total Amount Credited,Ukupan iznos kredita,
Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Ukupno Primjenjivo Optužbe na račun za prodaju Predmeti sto mora biti isti kao Ukupni porezi i naknada,
Total Budget,Ukupni budžet,
Total Collected: {0},Ukupno prikupljeno: {0},
Total Commission,Ukupno komisija,
Total Contribution Amount: {0},Ukupan iznos doprinosa: {0},
Total Credit/ Debit Amount should be same as linked Journal Entry,Ukupan iznos kredita / zaduženja treba da bude isti kao vezani dnevnik,
Total Debit must be equal to Total Credit. The difference is {0},Ukupno zaduženje mora biti jednak ukupnom kreditnom .,
Total Invoiced Amount,Ukupno Iznos dostavnice,
Total Order Considered,Ukupno Order Smatran,
Total Order Value,Ukupna vrijednost Order,
Total Outgoing,Ukupno Odlazni,
Total Outstanding,Total Outstanding,
Total Outstanding Amount,Ukupno preostali iznos,
Total Outstanding: {0},Ukupno izvanredan: {0},
Total Paid Amount,Ukupno uplaćeni iznos,
Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Ukupan iznos plaćanja u rasporedu plaćanja mora biti jednak Grand / zaokruženom ukupno,
Total Payments,Ukupna plaćanja,
Total Qty,Ukupno Qty,
Total Quantity,Ukupna količina,
Total Revenue,Ukupan prihod,
Total Student,Total Student,
Total Target,Ukupna ciljna,
Total Tax,Ukupno porez,
Total Taxable Amount,Ukupan iznos oporezivanja,
Total Taxable Value,Ukupna oporeziva vrednost,
Total Unpaid: {0},Ukupno Neplaćeni: {0},
Total Variance,Ukupno Varijansa,
Total Weightage of all Assessment Criteria must be 100%,Ukupno weightage svih Kriteriji ocjenjivanja mora biti 100%,
Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Ukupno unaprijed ({0}) protiv Order {1} ne može biti veći od Grand Ukupno ({2}),
Total advance amount cannot be greater than total claimed amount,Ukupan iznos uplate ne može biti veći od ukupne tražene iznose,
Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Ukupno dodijeljeno liste su više dana od maksimalne dodjele tipa {0} za zaposlenog {1} u tom periodu,
Total allocated leaves are more than days in the period,Ukupno izdvojene Listovi su više od nekoliko dana u razdoblju,
Total allocated percentage for sales team should be 100,Ukupno dodijeljeno postotak za prodajni tim bi trebao biti 100,
Total cannot be zero,Ukupna ne može biti nula,
Total contribution percentage should be equal to 100,Ukupni procenat doprinosa treba biti jednak 100,
Total hours: {0},Ukupan broj sati: {0},
Total {0} ({1}),Ukupno {0} ({1}),
"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Ukupno {0} za sve stavke je nula, možda biste trebali promijeniti &#39;Rasporedite Optužbe na osnovu&#39;",
Total(Amt),Ukupno (Amt),
Total(Qty),Ukupno (Qty),
Traceability,Sljedivost,
Track Leads by Lead Source.,Vodite praćenje po izvorima izvora.,
Transaction,Transakcija,
Transaction Date,Transakcija Datum,
Transaction Type,Tip transakcije,
Transaction currency must be same as Payment Gateway currency,Transakcija valuta mora biti isti kao i Payment Gateway valutu,
Transaction not allowed against stopped Work Order {0},Transakcija nije dozvoljena zaustavljen Radni nalog {0},
Transaction reference no {0} dated {1},Transakcija Ref {0} od {1},
Transactions,Transakcije,
Transactions can only be deleted by the creator of the Company,Transakcije mogu se obrisati samo kreator Društva,
Transfer,Prijenos,
Transfer Material,Prijenos materijala,
Transfer Type,Tip prenosa,
Transfer an asset from one warehouse to another,Transfer imovine iz jednog skladišta u drugo,
Transfered,Prenose,
Transferred Quantity,Prenesena količina,
Transport Receipt Date,Datum prijema prevoza,
Transport Receipt No,Transportni prijem br,
Transportation,Prevoznik,
Transporter ID,ID transportera,
Transporter Name,Transporter Ime,
Travel Expenses,putni troškovi,
Tree Type,Tip stabla,
Tree of Bill of Materials,Drvo Bill of Materials,
Tree of Item Groups.,Tree stavke skupina .,
Tree of Procedures,Drvo postupaka,
Tree of Quality Procedures.,Drvo postupaka kvaliteta.,
Tree of financial Cost Centers.,Tree financijskih troškova centara.,
Tree of financial accounts.,Tree financijskih računa.,
Treshold {0}% appears more than once,Prag {0}% se pojavljuje više od jednom,
Trial Period End Date Cannot be before Trial Period Start Date,Krajnji datum probnog perioda ne može biti pre početka probnog perioda,
Trialling,Trialling,
Type of Business,Tip poslovanja,
Types of activities for Time Logs,Vrste aktivnosti za vrijeme Trupci,
UOM,UOM,
UOM Conversion factor is required in row {0},Faktor UOM pretvorbe je potrebno u redu {0},
UOM coversion factor required for UOM: {0} in Item: {1},UOM faktor coversion potrebna za UOM: {0} u točki: {1},
URL,URL,
Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Nije moguće pronaći kurs za {0} do {1} za ključni datum {2}. Molimo vas da ručno stvoriti Mjenjačnica rekord,
Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Nije moguće pronaći rezultat od {0}. Morate imati stojeće rezultate koji pokrivaju 0 do 100,
Unable to find variable: ,Nije moguće pronaći varijablu:,
Unblock Invoice,Unblock Faktura,
Uncheck all,Poništi sve,
Unclosed Fiscal Years Profit / Loss (Credit),Neriješeni fiskalne godine dobit / gubitak (kredit),
Unit,Jedinica,
Unit of Measure,Jedinica mjere,
Unit of Measure {0} has been entered more than once in Conversion Factor Table,Jedinica mjere {0} je ušao više od jednom u konverzije Factor tablici,
Unknown,nepoznat,
Unpaid,Neplaćeno,
Unsecured Loans,unsecured krediti,
Unsubscribe from this Email Digest,Odjavili od ovog mail Digest,
Unsubscribed,Pretplatu,
Until,Do,
Unverified Webhook Data,Neprevereni podaci Webhook-a,
Update Account Name / Number,Ažurirajte ime / broj računa,
Update Account Number / Name,Ažurirajte broj računa / ime,
Update Cost,Update cost,
Update Items,Ažurirati stavke,
Update Print Format,Update Print Format,
Update bank payment dates with journals.,Update banka datum plaćanja s časopisima.,
Update in progress. It might take a while.,Ažuriranje je u toku. Možda će potrajati neko vrijeme.,
Update rate as per last purchase,Stopa ažuriranja po posljednjoj kupovini,
Update stock must be enable for the purchase invoice {0},Ažuriranje zaliha mora biti omogućeno za fakturu za kupovinu {0},
Updating Variants...,Ažuriranje varijanti ...,
Upload your letter head and logo. (you can edit them later).,Unos glavu pismo i logo. (Možete ih kasnije uređivanje).,
Upper Income,Viši Prihodi,
Use Sandbox,Koristite Sandbox,
User,User,
User ID,Korisnički ID,
User ID not set for Employee {0},Korisnik ID nije postavljen za zaposlenika {0},
User Remark,Upute Zabilješka,
User has not applied rule on the invoice {0},Korisnik nije primijenio pravilo na računu {0},
User {0} already exists,Korisnik {0} već postoji,
User {0} created,Korisnik {0} kreiran,
User {0} does not exist,Korisnik {0} ne postoji,
User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Korisnik {0} nema podrazumevani POS profil. Provjerite Podrazumevano na Rowu {1} za ovog Korisnika.,
User {0} is already assigned to Employee {1},Korisnik {0} već dodijeljena zaposlenika {1},
User {0} is already assigned to Healthcare Practitioner {1},Korisnik {0} je već dodeljen Zdravstvenom lekaru {1},
Users,Korisnici,
Utility Expenses,komunalna Troškovi,
Valid From Date must be lesser than Valid Upto Date.,Važi od datuma mora biti manji od važećeg datuma.,
Valid Till,Valid Till,
Valid from and valid upto fields are mandatory for the cumulative,Vrijedna i valjana upto polja obavezna su za kumulativ,
Valid from date must be less than valid upto date,Vrijedi od datuma mora biti manje od važećeg do datuma,
Valid till date cannot be before transaction date,Vrijedi do datuma ne može biti prije datuma transakcije,
Validity,Punovažnost,
Validity period of this quotation has ended.,Rok važnosti ove ponude je završen.,
Valuation Rate,Vrednovanje Stopa,
Valuation Rate is mandatory if Opening Stock entered,Vrednovanje Rate je obavezno ako ušla Otvaranje Stock,
Valuation type charges can not marked as Inclusive,Prijava tip vrednovanja ne može označiti kao Inclusive,
Value Or Qty,"Vrijednost, ili kol",
Value Proposition,Value Proposition,
Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Vrijednost za Atributi {0} mora biti u rasponu od {1} na {2} u koracima od {3} za Stavka {4},
Value must be between {0} and {1},Vrijednost mora biti između {0} i {1},
"Values of exempt, nil rated and non-GST inward supplies","Vrijednosti izuzetih, nulta ocjenjivanja i ulaznih zaliha koje nisu GST",
Variance,Varijacija,
Variance ({}),Varijanca ({}),
Variant,Varijanta,
Variant Attributes,Varijanta atributi,
Variant Based On cannot be changed,Varijanta zasnovana na osnovi se ne može promijeniti,
Variant Details Report,Varijanta Detalji Izveštaj,
Variant creation has been queued.,Kreiranje varijante je stavljeno u red.,
Vehicle Expenses,Troškovi vozila,
Vehicle No,Ne vozila,
Vehicle Type,Tip vozila,
Vehicle/Bus Number,Vozila / Autobus broj,
Venture Capital,Preduzetnički kapital,
View Chart of Accounts,Pregled grafikona računa,
View Fees Records,View Fees Records,
View Form,Pogledajte obrazac,
View Lab Tests,Pregled laboratorijskih testova,
View Leads,Pogledaj potencijalne kupce,
View Ledger,Pogledaj Ledger,
View Now,Pregled Sada,
View a list of all the help videos,Pogledaj listu svih snimke Pomoć,
View in Cart,Pogledaj u košaricu,
Visit report for maintenance call.,Posjetite izvješće za održavanje razgovora.,
Visit the forums,Posjetite forum,
Vital Signs,Vitalni znaci,
Volunteer,Dobrovoljno,
Volunteer Type information.,Volonterski podaci o tipu.,
Volunteer information.,Volonterske informacije.,
Voucher #,bon #,
Voucher No,Bon Ne,
Voucher Type,Bon Tip,
WIP Warehouse,WIP skladište,
Warehouse can not be deleted as stock ledger entry exists for this warehouse.,"Skladište se ne može izbrisati , kao entry stock knjiga postoji za to skladište .",
Warehouse cannot be changed for Serial No.,Skladište se ne može promijeniti za serijskog broja,
Warehouse is mandatory,Skladište je obavezno,
Warehouse is mandatory for stock Item {0} in row {1},Skladište je obvezno za skladišne proizvode {0} u redu {1},
Warehouse not found in the system,Skladište nije pronađeno u sistemu,
"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Skladište je potrebno na redosledu {0}, molimo postavite podrazumevano skladište za predmet {1} za kompaniju {2}",
Warehouse required for stock Item {0},Skladište je potrebno za skladišne proizvode {0},
Warehouse {0} can not be deleted as quantity exists for Item {1},Skladište {0} ne može biti izbrisano ako na njemu ima artikal {1},
Warehouse {0} does not belong to company {1},Skladište {0} ne pripada tvrtki {1},
Warehouse {0} does not exist,Skladište {0} ne postoji,
"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Skladište {0} nije povezan na bilo koji račun, navedite račun u zapisnik skladištu ili postaviti zadani popis računa u firmi {1}.",
Warehouses with child nodes cannot be converted to ledger,Skladišta s djecom čvorovi se ne može pretvoriti u Ledger,
Warehouses with existing transaction can not be converted to group.,Skladišta sa postojećim transakcija se ne može pretvoriti u grupi.,
Warehouses with existing transaction can not be converted to ledger.,Skladišta sa postojećim transakcija se ne može pretvoriti u knjizi.,
Warning,Upozorenje,
Warning: Another {0} # {1} exists against stock entry {2},Upozorenje: Još {0} {1} # postoji protiv ulaska zaliha {2},
Warning: Invalid SSL certificate on attachment {0},Upozorenje: Invalid SSL certifikat o prilogu {0},
Warning: Invalid attachment {0},Upozorenje: Invalid Prilog {0},
Warning: Material Requested Qty is less than Minimum Order Qty,Upozorenje : Materijal tražena količina manja nego minimalna narudžba kol,
Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Upozorenje: prodajnog naloga {0} već postoji protiv narudžbenice kupca {1},
Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Upozorenje : Sustav neće provjeravati overbilling od iznosa za točku {0} u {1} je nula,
Warranty,Garancija,
Warranty Claim,Garantni  rok,
Warranty Claim against Serial No.,Garantni rok protiv Serial No.,
Website,Web stranica,
Website Image should be a public file or website URL,Sajt slika treba da bude javni datoteke ili web stranice URL,
Website Image {0} attached to Item {1} cannot be found,Sajt Slika {0} prilogu Stavka {1} ne može biti pronađena,
Website Manager,Web Manager,
Website Settings,Website Postavke,
Wednesday,Srijeda,
Week,sedmica,
Weekly,Tjedni,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Težina se spominje, \n Navedite ""Težina UOM"" previše",
Welcome email sent,E-mail dobrodošlice,
Welcome to ERPNext,Dobrodošli na ERPNext,
What do you need help with?,Šta ti je potrebna pomoć?,
What does it do?,Što učiniti ?,
Where manufacturing operations are carried.,Gdje se obavljaju proizvodne operacije.,
White,Bijel,
Wire Transfer,Wire Transfer,
WooCommerce Products,WooCommerce Proizvodi,
Work In Progress,Radovi u toku,
Work Order,Radni nalog,
Work Order already created for all items with BOM,Radni nalog već je kreiran za sve predmete sa BOM,
Work Order cannot be raised against a Item Template,Nalog za rad ne može se pokrenuti protiv šablona za stavke,
Work Order has been {0},Radni nalog je bio {0},
Work Order not created,Radni nalog nije kreiran,
Work Order {0} must be cancelled before cancelling this Sales Order,Radni nalog {0} mora biti otkazan prije otkazivanja ovog prodajnog naloga,
Work Order {0} must be submitted,Radni nalog {0} mora biti dostavljen,
Work Orders Created: {0},Objavljeni radni nalogi: {0},
Work-in-Progress Warehouse is required before Submit,Rad u tijeku Warehouse je potrebno prije Podnijeti,
Working,U toku,
Working Hours,Radno vrijeme,
Workstation,Workstation,
Workstation is closed on the following dates as per Holiday List: {0},Workstation je zatvoren sljedećih datuma po Holiday List: {0},
Wrapping up,Zavijanje,
Wrong Password,Pogrešna lozinka,
Year start date or end date is overlapping with {0}. To avoid please set company,datum početka godine ili datum završetka je preklapaju sa {0}. Da bi se izbjegla molimo vas da postavite kompanija,
You are not authorized to add or update entries before {0},Niste ovlašteni za dodati ili ažurirati unose prije {0},
You are not authorized to set Frozen value,Niste ovlašteni za postavljanje Frozen vrijednost,
You 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 current voucher in 'Against Journal Entry' column,Ne možete ući trenutni voucher u 'Protiv Journal Entry' koloni,
You can only have Plans with the same billing cycle in a Subscription,Planove možete imati samo sa istim ciklusom naplate na Pretplati,
You can only redeem max {0} points in this order.,Možete uneti samo max {0} poena u ovom redosledu.,
You can only renew if your membership expires within 30 days,Možete obnoviti samo ako vaše članstvo istekne u roku od 30 dana,
You can only select a maximum of one option from the list of check boxes.,Iz liste polja za potvrdu možete izabrati najviše jedne opcije.,
You can't redeem Loyalty Points having more value than the Grand Total.,Ne možete otkupiti Loyalty Points sa više vrijednosti nego Grand Total.,
You cannot credit and debit same account at the same time,Ne možete kreditnim i debitnim isti račun u isto vrijeme,
You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Ne možete izbrisati fiskalnu godinu {0}. Fiskalna godina {0} je postavljen kao zadani u Globalne postavke,
You cannot delete Project Type 'External',Ne možete obrisati tip projekta &#39;Spoljni&#39;,
You cannot edit root node.,Ne možete uređivati root čvor.,
You cannot restart a Subscription that is not cancelled.,Ne možete ponovo pokrenuti pretplatu koja nije otkazana.,
You don't have enough Loyalty Points to redeem,Ne iskoristite Loyalty Points za otkup,
You have already assessed for the assessment criteria {}.,Ste već ocijenili za kriterije procjene {}.,
You have already selected items from {0} {1},Vi ste već odabrane stavke iz {0} {1},
You have been invited to collaborate on the project: {0},Vi ste pozvani da surađuju na projektu: {0},
You have entered duplicate items. Please rectify and try again.,Unijeli duple stavke . Molimo ispraviti i pokušajte ponovno .,
You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Morate biti korisnik osim administratora sa ulogama upravitelja sistema i menadžera postavki za registraciju na tržištu.,
You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Morate biti korisnik sa ulogama System Manager i Item Manager da biste dodali korisnike u Marketplace.,
You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Potrebno je da budete korisnik sa ulogama System Manager i Item Manager za prijavljivanje na Marketplace.,
You need to enable Shopping Cart,Trebate omogućiti Košarica,
You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Izgubićete podatke o prethodno generisanim računima. Da li ste sigurni da želite ponovo pokrenuti ovu pretplatu?,
Your Organization,Vaša organizacija,
Your cart is Empty,Vaša košarica je prazna,
Your email address...,Tvoja e-mail adresa...,
Your order is out for delivery!,Vaša narudžba je isporučena!,
Your tickets,Vaše karte,
ZIP Code,Poštanski broj,
[Error],[Greška],
[{0}](#Form/Item/{0}) is out of stock,[{0}] (# obrazac / Stavka / {0}) je out of stock,
`Freeze Stocks Older Than` should be smaller than %d days.,`blokiraj zalihe starije od podrazumijevanog manje od % d dana .,
based_on,based_on,
cannot be greater than 100,ne može biti veća od 100,
disabled user,invaliditetom korisnika,
"e.g. ""Build tools for builders""","na primjer "" Izgraditi alate za graditelje """,
"e.g. ""Primary School"" or ""University""",npr &quot;Osnovna škola&quot; ili &quot;Univerzitet&quot;,
"e.g. Bank, Cash, Credit Card","npr. banka, gotovina, kreditne kartice",
hidden,skriven,
modified,modificirani,
old_parent,old_parent,
on,na,
{0} '{1}' is disabled,{0} '{1}' je onemogućeno,
{0} '{1}' not in Fiscal Year {2},{0} ' {1} ' nije u fiskalnoj godini {2},
{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) ne može biti veća od planirane količine ({2}) u radnom nalogu {3},
{0} - {1} is inactive student,{0} - {1} je neaktivan student,
{0} - {1} is not enrolled in the Batch {2},{0} - {1} nije upisana u Batch {2},
{0} - {1} is not enrolled in the Course {2},{0} - {1} nije upisanim na predmetu {2},
{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} budžeta za računa {1} protiv {2} {3} je {4}. To će premašiti po {5},
{0} Digest,{0} Digest,
{0} Request for {1},{0} Zahtev za {1},
{0} Result submittted,{0} Rezultat je podnet,
{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} serijski brojevi potrebni za artikal {1}. koji ste trazili {2}.,
{0} Student Groups created.,{0} studentskih grupa stvorio.,
{0} Students have been enrolled,{0} Studenti su upisani,
{0} against Bill {1} dated {2},{0} protiv placanje {1}  od {2},
{0} against Purchase Order {1},{0} protiv narudzbine dobavljacu {1},
{0} against Sales Invoice {1},{0} protiv prodaje fakture {1},
{0} against Sales Order {1},{0} protiv naloga prodaje {1},
{0} asset cannot be transferred,{0} imovine ne može se prenositi,
{0} can not be negative,{0} ne može biti negativna,
{0} created,{0} kreirao,
"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} trenutno ima {1} Scorecard stava, a narudžbine za ovaj dobavljač treba izdati oprezno.",
"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.",{0} trenutno ima {1} Scorecard stava i RFQs ovog dobavljača treba izdati oprezno.,
{0} does not belong to Company {1},{0} ne pripada preduzecu {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} nema raspored zdravstvenih radnika. Dodajte ga u Master Health Practitioner,
{0} entered twice in Item Tax,{0}pritisnite dva puta u sifri poreza,
{0} for {1},{0} {1} za,
{0} has been submitted successfully,{0} je uspešno podnet,
{0} has fee validity till {1},{0} ima važeću tarifu do {1},
{0} hours,{0} sati,
{0} in row {1},{0} u redu {1},
{0} is blocked so this transaction cannot proceed,"{0} je blokiran, tako da se ova transakcija ne može nastaviti",
{0} is mandatory,{0} je obavezno,
{0} is mandatory for Item {1},{0} je obavezno za tu stavku {1},
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} je obavezno. Možda knjigovodstveni zapis nije kreiran za {1} na {2}.,
{0} is not a stock Item,{0} ne postoji na zalihama.,
{0} is not a valid Batch Number for Item {1},{0} nije ispravan broj serije za artikal {1},
{0} is not added in the table,{0} nije dodan u tabeli,
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} je podrazumijevana Fiskalna godina . Osvježite svoj browserda bi se izmjene primijenile.,
{0} is on hold till {1},{0} je na čekanju do {1},
{0} item found.,{0} predmet je pronađen.,
{0} items found.,{0} pronađenih predmeta.,
{0} items in progress,{0} stavke u tijeku,
{0} items produced,{0} artikala proizvedenih,
{0} must appear only once,{0} se mora pojaviti samo jednom,
{0} must be negative in return document,{0} mora biti negativan za uzvrat dokumentu,
{0} not allowed to transact with {1}. Please change the Company.,{0} nije dozvoljeno da radi sa {1}. Zamijenite Kompaniju.,
{0} not found for item {1},{0} nije pronađen za stavku {1},
{0} parameter is invalid,Parametar {0} nije važeći,
{0} payment entries can not be filtered by {1},{0} unosi isplate ne mogu biti filtrirani po {1},
{0} should be a value between 0 and 100,{0} treba da bude vrednost između 0 i 100,
{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} jedinice [{1}] (# obrazac / Stavka / {1}) naći u [{2}] (# obrazac / Skladište / {2}),
{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} jedinicama {1} potrebno {2} na {3} {4} za {5} da završi ovu transakciju.,
{0} units of {1} needed in {2} to complete this transaction.,{0} jedinicama {1} potrebno {2} za završetak ove transakcije.,
{0} valid serial nos for Item {1},{0} valjani serijski broj za artikal {1},
{0} variants created.,{0} kreirane varijante.,
{0} {1} created,{0} {1} stvorio,
{0} {1} does not exist,{0} {1} ne postoji,
{0} {1} has been modified. Please refresh.,{0} {1} je izmijenjen . Osvježite stranicu.,
{0} {1} has not been submitted so the action cannot be completed,{0} {1} nije dostavljen tako akciju nije moguće dovršiti,
"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} je povezan sa {2}, ali Party Party je {3}",
{0} {1} is cancelled or closed,{0} {1} je otkazan ili zatvoren,
{0} {1} is cancelled or stopped,{0} {1} je otkazan ili zaustavljen,
{0} {1} is cancelled so the action cannot be completed,{0} {1} je otkazan tako da akcija ne može završiti,
{0} {1} is closed,{0} {1} je zatvoren,
{0} {1} is disabled,{0} {1} je onemogućena,
{0} {1} is frozen,{0} {1} je smrznuto,
{0} {1} is fully billed,{0} {1} je u potpunosti naplaćeno,
{0} {1} is not active,{0} {1} nije aktivan,
{0} {1} is not associated with {2} {3},{0} {1} nije povezan sa {2} {3},
{0} {1} is not present in the parent company,{0} {1} nije prisutan u matičnoj kompaniji,
{0} {1} is not submitted,{0} {1} nije proslijedjen,
{0} {1} is {2},{0} {1} je {2},
{0} {1} must be submitted,{0} {1} mora biti podnesen,
{0} {1} not in any active Fiscal Year.,{0} {1} ne u bilo kojem aktivnom fiskalne godine.,
{0} {1} status is {2},{0} {1} {2} status,
{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &#39;dobiti i gubitka&#39; tip naloga {2} nije dozvoljeno otvaranje Entry,
{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Račun {2} ne pripada kompaniji {3},
{0} {1}: Account {2} is inactive,{0} {1}: Račun {2} je neaktivan,
{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Računovodstvo Ulaz za {2} može se vršiti samo u valuti: {3},
{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: trošak je obvezan za artikal {2},
{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: Troškovi Centar je potreban za &quot;dobiti i gubitka računa {2}. Molimo vas da se uspostavi default troškova Centra za kompanije.,
{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Cost Center {2} ne pripada kompaniji {3},
{0} {1}: Customer is required against Receivable account {2},{0} {1}: gost je dužan protiv potraživanja nalog {2},
{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Ili debitne ili kreditne iznos je potreban za {2},
{0} {1}: Supplier is required against Payable account {2},{0} {1}: dobavljača se protiv plaćaju račun {2},
{0}% Billed,{0}% Fakturisana,
{0}% Delivered,{0}% Isporučeno,
{0}: From {1},{0}: {1} Od,
{0}: {1} does not exists,{0}: {1} ne postoji,
{0}: {1} not found in Invoice Details table,{0}: {1} nije pronađen u tabeli details na fakturi,
{} of {},{} od {},
Assigned To,Dodijeljeno,
Chat,Chat,
Completed By,Završio,
Day of Week,Dan Tjedan,
"Dear System Manager,","Dragi System Manager,",
Default Value,Zadana vrijednost,
Email Group,E-mail Group,
Email Settings,Postavke e-pošte,
Email not sent to {0} (unsubscribed / disabled),E-mail ne šalju {0} (odjavljeni / invaliditetom),
Error Message,Poruka o grešci,
Fieldtype,Polja,
Help Articles,Članci pomoći,
ID,ID,
Import,Uvoz,
Language,Jezik,
Likes,Like,
Merge with existing,Merge sa postojećim,
Orientation,orijentacija,
Parent,Roditelj,
Payment Failed,plaćanje nije uspjelo,
Personal,Osobno,
Post,Pošalji,
Postal Code,poštanski broj,
Provider,Provajder,
Read Only,Read Only,
Recipient,Primalac,
Reviews,Recenzije,
Sender,Pošiljaoc,
There were errors while sending email. Please try again.,Bilo je grešaka tijekom slanja e-pošte. Molimo pokušajte ponovno .,
Values Changed,Promena vrednosti,
or,ili,
Ageing Range 4,Raspon starenja 4,
Allocated amount cannot be greater than unadjusted amount,Dodijeljeni iznos ne može biti veći od neprilagođenog iznosa,
Allocated amount cannot be negative,Dodijeljeni iznos ne može biti negativan,
"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Račun razlike mora biti račun vrste imovine / odgovornosti, jer je ovaj unos dionica otvaranje",
Import Successful,Uvoz je uspešan,
Please save first,Prvo sačuvajte,
Price not found for item {0} in price list {1},Cijena nije pronađena za artikl {0} u cjeniku {1},
Warehouse Type,Tip skladišta,
'Date' is required,Obavezan je datum,
Budgets,Budžeti,
Bundle Qty,Količina paketa,
Company GSTIN,Kompanija GSTIN,
Company field is required,Polje kompanije je obavezno,
Creating Dimensions...,Stvaranje dimenzija ...,
Duplicate entry against the item code {0} and manufacturer {1},Duplikat unosa sa šifrom artikla {0} i proizvođačem {1},
Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,Nevažeći GSTIN! Uneseni unos ne odgovara formatu GSTIN za vlasnike UIN-a ili nerezidentne dobavljače usluga OIDAR,
Invoice Grand Total,Faktura Grand Total,
Last carbon check date cannot be a future date,Posljednji datum provjere ugljika ne može biti budući datum,
Make Stock Entry,Unesite zalihe,
Quality Feedback,Kvalitetne povratne informacije,
Quality Feedback Template,Predložak kvalitetne povratne informacije,
Rules for applying different promotional schemes.,Pravila za primjenu različitih promotivnih shema.,
Show {0},Prikaži {0},
Target Details,Detalji cilja,
{0} already has a Parent Procedure {1}.,{0} već ima roditeljsku proceduru {1}.,
API,API,
Annual,godišnji,
Change,Promjena,
Contact Email,Kontakt email,
From Date,Od datuma,
Group By,Group By,
Invalid URL,Nevažeća URL adresa,
Landscape,Pejzaž,
Naming Series,Imenovanje serije,
No data to export,Nema podataka za izvoz,
Portrait,Portret,
Print Heading,Ispis Naslov,
Scheduler Inactive,Planer neaktivan,
Scheduler is inactive. Cannot import data.,Planer je neaktivan. Nije moguće uvesti podatke.,
Show Document,Prikaži dokument,
Show Traceback,Prikaži Traceback,
Video,Video,
% Of Grand Total,% Od ukupnog iznosa,
<b>Company</b> is a mandatory filter.,<b>Kompanija</b> je obavezan filter.,
<b>From Date</b> is a mandatory filter.,<b>From Date</b> je obavezan filtar.,
<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>Od vremena</b> ne može biti kasnije od <b>Toca</b> za {0},
<b>To Date</b> is a mandatory filter.,<b>Do danas</b> je obavezan filter.,
A new appointment has been created for you with {0},Za vas je stvoren novi sastanak sa {0},
Account Value,Vrijednost računa,
Account is mandatory to get payment entries,Račun je obavezan za unos plaćanja,
Account is not set for the dashboard chart {0},Za grafikon nadzorne ploče nije postavljen račun {0},
Account {0} does not exists in the dashboard chart {1},Račun {0} ne postoji u grafikonu nadzorne ploče {1},
Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Račun: <b>{0}</b> je kapital Ne radi se i ne može se ažurirati unos u časopisu,
Account: {0} is not permitted under Payment Entry,Račun: {0} nije dozvoljen unosom plaćanja,
Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Za račun &quot;Bilans stanja&quot; {1} potrebna je knjigovodstvena dimenzija <b>{0</b> }.,
Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Za račun „Dobit i gubitak“ {1} potrebna je računovodstvena dimenzija <b>{0</b> }.,
Accounting Masters,Majstori računovodstva,
Accounting Period overlaps with {0},Računovodstveno razdoblje se preklapa sa {0},
Activity,Aktivnost,
Add / Manage Email Accounts.,Dodaj / Upravljanje Email Accounts.,
Add Child,Dodaj podređenu stavku,
Add Multiple,dodavanje više,
Add Participants,Dodajte Učesnike,
Add to Featured Item,Dodaj u istaknuti artikl,
Add your review,Dodajte svoju recenziju,
Add/Edit Coupon Conditions,Dodavanje / uređivanje uvjeta kupona,
Added to Featured Items,Dodano u istaknute predmete,
Added {0} ({1}),Dodano {0} ({1}),
Address Line 1,Adresa - linija 1,
Addresses,Adrese,
Admission End Date should be greater than Admission Start Date.,Datum završetka prijema trebao bi biti veći od datuma početka upisa.,
All,Sve,
All bank transactions have been created,Sve bankarske transakcije su stvorene,
All the depreciations has been booked,Sve amortizacije su knjižene,
Allow Resetting Service Level Agreement from Support Settings.,Dopustite resetiranje sporazuma o nivou usluge iz postavki podrške.,
Amount of {0} is required for Loan closure,Za zatvaranje zajma potreban je iznos {0},
Applied Coupon Code,Primenjeni kod kupona,
Apply Coupon Code,Primijenite kupon kod,
Appointment Booking,Rezervacija termina,
"As there are existing transactions against item {0}, you can not change the value of {1}","Kao što je već postoje transakcije protiv stavku {0}, ne možete promijeniti vrijednost {1}",
Asset Id,Id sredstva,
Asset Value,Vrijednost imovine,
Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Podešavanje vrednosti imovine ne može se objaviti pre datuma kupovine imovine <b>{0}</b> .,
Asset {0} does not belongs to the custodian {1},Imovina {0} ne pripada staratelju {1},
Asset {0} does not belongs to the location {1},Imovina {0} ne pripada lokaciji {1},
At least one of the Applicable Modules should be selected,Treba odabrati barem jedan od primjenjivih modula,
Atleast one asset has to be selected.,Treba odabrati najmanje jedno sredstvo.,
Authentication Failed,Autentifikacija nije uspjela,
Automatic Reconciliation,Automatsko pomirenje,
Available For Use Date,Datum upotrebe,
Available Stock,Dostupne zalihe,
"Available quantity is {0}, you need {1}","Dostupna količina je {0}, treba vam {1}",
BOM 1,BOM 1,
BOM 2,BOM 2,
BOM Comparison Tool,Alat za upoređivanje BOM-a,
BOM recursion: {0} cannot be child of {1},BOM rekurzija: {0} ne može biti dijete od {1},
BOM recursion: {0} cannot be parent or child of {1},BOM rekurzija: {0} ne može biti roditelj ili dijete od {1},
Back to Messages,Nazad na poruke,
Bank Data mapper doesn't exist,Map Data Mapper ne postoji,
Bank Details,Bankovni detalji,
Bank account '{0}' has been synchronized,Bankovni račun &#39;{0}&#39; je sinhronizovan,
Bank account {0} already exists and could not be created again,Bankovni račun {0} već postoji i ne može se ponovo otvoriti,
Bank accounts added,Dodani su bankovni računi,
Batch no is required for batched item {0},Za serijski artikal nije potreban serijski broj {0},
Billing Date,Datum obračuna,
Billing Interval Count cannot be less than 1,Interni broj naplate ne može biti manji od 1,
Blue,Plava boja,
Book,Knjiga,
Book Appointment,Sastanak knjige,
Brand,Brend,
Browse,Izaberi,
Call Connected,Poziv je povezan,
Call Disconnected,Poziv prekinuti,
Call Missed,Poziv propušten,
Call Summary,Rezime poziva,
Call Summary Saved,Sažetak poziva je spremljen,
Cancelled,Otkazano,
Cannot Calculate Arrival Time as Driver Address is Missing.,Ne mogu izračunati vrijeme dolaska jer nedostaje adresa vozača.,
Cannot Optimize Route as Driver Address is Missing.,Ruta ne može da se optimizira jer nedostaje adresa vozača.,
Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Ne mogu dovršiti zadatak {0} jer njegov ovisni zadatak {1} nije dovršen / otkazan.,
Cannot find a matching Item. Please select some other value for {0}.,Ne možete pronaći stavku koja se podudara. Molimo odaberite neki drugi vrijednost za {0}.,
"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Ne mogu se preplatiti za stavku {0} u redu {1} više od {2}. Da biste omogućili prekomerno naplaćivanje, molimo postavite dodatak u Postavkama računa",
"Capacity Planning Error, planned start time can not be same as end time","Pogreška planiranja kapaciteta, planirano vrijeme početka ne može biti isto koliko i vrijeme završetka",
Categories,Kategorije,
Changes in {0},Promjene u {0},
Chart,Grafikon,
Choose a corresponding payment,Odaberite odgovarajuću uplatu,
Click on the link below to verify your email and confirm the appointment,Kliknite na donju vezu kako biste potvrdili svoju e-poštu i potvrdili sastanak,
Close,Zatvoriti,
Communication,Komunikacija,
Compact Item Print,Compact Stavka Print,
Company,Preduzeće,
Company of asset {0} and purchase document {1} doesn't matches.,Kompanija imovine {0} i dokument o kupovini {1} ne odgovaraju.,
Compare BOMs for changes in Raw Materials and Operations,Uporedite BOM za promjene u sirovinama i načinu rada,
Compare List function takes on list arguments,Funkcija Uporedi listu preuzima argumente liste,
Complete,Kompletan,
Completed,Dovršen,
Completed Quantity,Popunjena količina,
Connect your Exotel Account to ERPNext and track call logs,Povežite svoj Exotel račun u ERPNext i pratite zapise poziva,
Connect your bank accounts to ERPNext,Povežite svoje bankovne račune s ERPNext-om,
Contact Seller,Kontakt oglašivača,
Continue,Nastaviti,
Cost Center: {0} does not exist,Centar troškova: {0} ne postoji,
Couldn't Set Service Level Agreement {0}.,Nije moguće podesiti ugovor o nivou usluge {0}.,
Country,Zemlja,
Country Code in File does not match with country code set up in the system,Kôd države u datoteci ne podudara se sa kodom države postavljenim u sistemu,
Create New Contact,Kreirajte novi kontakt,
Create New Lead,Stvorite novi potencijal,
Create Pick List,Napravite listu odabira,
Create Quality Inspection for Item {0},Napravite inspekciju kvaliteta za predmet {0},
Creating Accounts...,Stvaranje računa ...,
Creating bank entries...,Stvaranje bankovnih unosa ...,
Credit limit is already defined for the Company {0},Kreditni limit je već definisan za Kompaniju {0},
Ctrl + Enter to submit,Ctrl + Enter da biste poslali,
Ctrl+Enter to submit,Ctrl + Enter za slanje,
Currency,Valuta,
Current Status,Trenutni status,
Customer PO,Potrošački PO,
Daily,Svakodnevno,
Date,Datum,
Date of Birth cannot be greater than Joining Date.,Datum rođenja ne može biti veći od datuma pridruživanja.,
Dear,Poštovani,
Default,Podrazumjevano,
Define coupon codes.,Definirajte kodove kupona.,
Delayed Days,Odloženi dani,
Delete,Izbrisati,
Delivered Quantity,Isporučena količina,
Delivery Notes,Napomene o isporuci,
Depreciated Amount,Amortizovani iznos,
Description,Opis,
Designation,Oznaka,
Difference Value,Vrijednost razlike,
Dimension Filter,Dimenzijski filter,
Disabled,Ugašeno,
Disbursement and Repayment,Isplata i otplata,
Distance cannot be greater than 4000 kms,Udaljenost ne može biti veća od 4000 km,
Do you want to submit the material request,Želite li poslati materijalni zahtjev,
Doctype,Vrsta dokumenta,
Document {0} successfully uncleared,Dokument {0} uspješno nije izbrisan,
Download Template,Preuzmite predložak,
Dr,Doktor,
Due Date,Datum dospijeća,
Duplicate,Duplikat,
Duplicate Project with Tasks,Duplikat projekta sa zadacima,
Duplicate project has been created,Izrađen je duplikat projekta,
E-Way Bill JSON can only be generated from a submitted document,e-Way Bill JSON može se generirati samo iz poslanog dokumenta,
E-Way Bill JSON can only be generated from submitted document,e-Way Bill JSON može se generirati samo iz dostavljenog dokumenta,
E-Way Bill JSON cannot be generated for Sales Return as of now,E-Way Bill JSON od sada se ne može generirati za povrat prodaje,
ERPNext could not find any matching payment entry,ERPNext nije mogao pronaći nijedan odgovarajući unos za plaćanje,
Earliest Age,Najranije doba,
Edit Details,Uredite detalje,
Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,"Ako je način prevoza cestovni, nije potreban ili GST Transporter ID ili vozilo",
Email,Email,
Email Campaigns,Kampanja e-pošte,
Employee ID is linked with another instructor,ID zaposlenika povezan je s drugim instruktorom,
Employee Tax and Benefits,Porez i beneficije zaposlenih,
Employee is required while issuing Asset {0},Zaposlenik je potreban dok izdaje imovinu {0},
Employee {0} does not belongs to the company {1},Zaposleni {0} ne pripada kompaniji {1},
Enable Auto Re-Order,Omogući automatsku ponovnu narudžbu,
End Date of Agreement can't be less than today.,Datum završetka sporazuma ne može biti manji od današnjeg.,
End Time,End Time,
Energy Point Leaderboard,Energy Point Leaderboard,
Enter API key in Google Settings.,Unesite ključ API-a u Google postavke.,
Enter Supplier,Unesite dobavljača,
Enter Value,Unesite vrijednost,
Entity Type,Tip entiteta,
Error,Pogreška,
Error in Exotel incoming call,Pogreška u dolaznom pozivu Exotela,
Error: {0} is mandatory field,Greška: {0} je obavezno polje,
Exception occurred while reconciling {0},Izuzetak je nastao prilikom usklađivanja {0},
Expected and Discharge dates cannot be less than Admission Schedule date,Očekivani i datum otpuštanja ne može biti manji od datuma Plana prijema,
Expired,Istekla,
Export,Izvoz,
Export not allowed. You need {0} role to export.,Izvoz nisu dopušteni . Trebate {0} ulogu za izvoz .,
Failed to add Domain,Nije moguće dodati Domen,
Fetch Items from Warehouse,Dohvaćanje predmeta iz skladišta,
Fetching...,Dohvaćanje ...,
Field,polje,
Filters,Filteri,
Finding linked payments,Pronalaženje povezanih plaćanja,
Fleet Management,Fleet Management,
Following fields are mandatory to create address:,Sledeća polja su obavezna za kreiranje adrese:,
For Month,Za mesec,
"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Za stavku {0} u redu {1}, broj serijskih brojeva ne odgovara izabranoj količini",
For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Za rad {0}: Količina ({1}) ne može biti veća od količine na čekanju ({2}),
For quantity {0} should not be greater than work order quantity {1},Za količinu {0} ne smije biti veća od količine radnog naloga {1},
Free item not set in the pricing rule {0},Besplatni artikal nije postavljen u pravilu o cijenama {0},
From Date and To Date are Mandatory,Datum i datum su obavezni,
From employee is required while receiving Asset {0} to a target location,Od zaposlenika je potrebno za vrijeme prijema imovine {0} do ciljane lokacije,
Future Payment Amount,Budući iznos plaćanja,
Future Payment Ref,Buduće plaćanje Ref,
Future Payments,Buduće isplate,
GST HSN Code does not exist for one or more items,GST HSN kod ne postoji za jednu ili više stavki,
Generate E-Way Bill JSON,Stvorite e-Way Bill JSON,
Get Items,Kreiraj proizvode,
Get Outstanding Documents,Nabavite izvanredne dokumente,
Goal,Cilj,
Greater Than Amount,Veća od iznosa,
Green,Zelenilo,
Group,Grupa,
Group By Customer,Grupiranje prema kupcu,
Group By Supplier,Grupiranje po dobavljaču,
Group Node,Group Node,
Group Warehouses cannot be used in transactions. Please change the value of {0},Grupne skladišta se ne mogu koristiti u transakcijama. Molimo promijenite vrijednost {0},
Help,Pomoć,
Help Article,Pomoć član,
"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Pomaže vam da pratite ugovore na osnovu dobavljača, kupca i zaposlenika",
Helps you manage appointments with your leads,Pomaže vam u upravljanju sastancima sa potencijalnim klijentima,
Home,dom,
IBAN is not valid,IBAN nije valjan,
Import Data from CSV / Excel files.,Uvoz podataka iz datoteka CSV / Excel.,
In Progress,U toku,
Incoming call from {0},Dolazni poziv od {0},
Incorrect Warehouse,Pogrešno skladište,
Invalid Barcode. There is no Item attached to this barcode.,Nevažeći barkod. Nijedna stavka nije priložena ovom barkodu.,
Invalid credentials,Nevažeće vjerodajnice,
Issue Priority.,Prioritet pitanja.,
Issue Type.,Vrsta izdanja,
"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Čini se da postoji problem sa konfiguracijom trake servera. U slučaju neuspeha, iznos će biti vraćen na vaš račun.",
Item Reported,Stavka prijavljena,
Item listing removed,Popis predmeta je uklonjen,
Item quantity can not be zero,Količina predmeta ne može biti jednaka nuli,
Item taxes updated,Ažurirani su porezi na artikle,
Item {0}: {1} qty produced. ,Stavka {0}: {1} proizvedeno.,
Joining Date can not be greater than Leaving Date,Datum pridruživanja ne može biti veći od Datum napuštanja,
Lab Test Item {0} already exist,Predmet laboratorijskog testa {0} već postoji,
Last Issue,Poslednje izdanje,
Latest Age,Najnovije doba,
Leaves Taken,Ostavljeni listovi,
Less Than Amount,Manje od iznosa,
Liabilities,Obaveze,
Loading...,Učitavanje ...,
Loan Applications from customers and employees.,Prijave za zajmove od kupaca i zaposlenih.,
Loan Processes,Procesi zajma,
Loan Type for interest and penalty rates,Vrsta kredita za kamate i zatezne stope,
Loans,Krediti,
Loans provided to customers and employees.,Krediti kupcima i zaposlenima.,
Location,Lokacija,
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Izgleda kao da je neko poslao na nepotpune URL. Zamolite ih da pogleda u nju.,
Make Journal Entry,Make Journal Entry,
Make Purchase Invoice,Napravite kupnje proizvoda,
Manufactured,Proizvedeno,
Mark Work From Home,Označi rad od kuće,
Master,Majstor,
Max strength cannot be less than zero.,Maksimalna snaga ne može biti manja od nule.,
Maximum attempts for this quiz reached!,Došli su maksimalni pokušaji ovog kviza!,
Message,Poruka,
Missing Values Required,Nedostaje vrijednosti potrebne,
Mobile No,Br. mobilnog telefona,
Mobile Number,Broj mobitela,
Month,Mjesec,
Name,Ime,
Near you,U vašoj blizini,
Net Profit/Loss,Neto dobit / gubitak,
New Expense,Novi trošak,
New Invoice,Nova faktura,
New Payment,Nova uplata,
New release date should be in the future,Novi datum izlaska trebao bi biti u budućnosti,
No Account matched these filters: {},Nijedan račun ne odgovara ovim filterima: {},
No communication found.,Nije pronađena komunikacija.,
No correct answer is set for {0},Nije postavljen tačan odgovor za {0},
No description,Bez opisa,
No issue has been raised by the caller.,Pozivatelj nije pokrenuo nijedan problem.,
No items to publish,Nema predmeta za objavljivanje,
No outstanding invoices found,Nisu pronađeni neizmireni računi,
No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Nisu pronađene neizmirene fakture za {0} {1} koji kvalificiraju filtere koje ste naveli.,
No outstanding invoices require exchange rate revaluation,Nijedna nepodmirena faktura ne zahtijeva revalorizaciju tečaja,
No reviews yet,Još nema recenzija,
No views yet,Još uvijek nema pogleda,
Non stock items,Artikli koji nisu dostupni,
Not Allowed,Nije dozvoljen,
Not allowed to create accounting dimension for {0},Nije dozvoljeno stvaranje dimenzije računovodstva za {0},
Not permitted. Please disable the Lab Test Template,Nije dozvoljeno. Isključite predložak laboratorijskog testa,
Note,Biljeske,
Notes: ,Bilješke :,
On Converting Opportunity,O pretvaranju mogućnosti,
On Purchase Order Submission,Prilikom narudžbe,
On Sales Order Submission,O podnošenju prodajnih naloga,
On Task Completion,Po završetku zadatka,
On {0} Creation,Na {0} Stvaranje,
Only .csv and .xlsx files are supported currently,Trenutno su podržane samo .csv i .xlsx datoteke,
Open,Otvoreno,
Open Contact,Otvori kontakt,
Open Lead,Otvoreno olovo,
Opening and Closing,Otvaranje i zatvaranje,
Operating Cost as per Work Order / BOM,Operativni trošak po radnom nalogu / BOM,
Order Amount,Iznos narudžbe,
Page {0} of {1},Strana {0} od {1},
Paid amount cannot be less than {0},Plaćeni iznos ne može biti manji od {0},
Parent Company must be a group company,Matična kompanija mora biti kompanija u grupi,
Passing Score value should be between 0 and 100,Vrijednost prolaska rezultata trebala bi biti između 0 i 100,
Patient History,Istorija pacijenata,
Pause,pause,
Pay,Platiti,
Payment Document Type,Vrsta dokumenta plaćanja,
Payment Name,Naziv plaćanja,
Pending,Čekanje,
Performance,Performanse,
Period based On,Period zasnovan na,
Perpetual inventory required for the company {0} to view this report.,Trajni inventar potreban je kompaniji {0} za pregled ovog izvještaja.,
Phone,Telefon,
Pick List,Popis liste,
Plaid authentication error,Greška provjere autentičnosti,
Plaid public token error,Greška u javnom tokenu,
Plaid transactions sync error,Greška sinhronizacije transakcija u plaidu,
Please check the error log for details about the import errors,Molimo provjerite dnevnik grešaka za detalje o uvoznim greškama,
Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Molimo kreirajte <b>DATEV postavke</b> za kompaniju <b>{}</b> .,
Please create adjustment Journal Entry for amount {0} ,Molimo izradite podešavanje unosa u časopisu za iznos {0},
Please do not create more than 500 items at a time,Molimo ne stvarajte više od 500 predmeta odjednom,
Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Unesite <b>račun razlike</b> ili postavite zadani <b>račun</b> za <b>prilagodbu dionica</b> za kompaniju {0},
Please enter GSTIN and state for the Company Address {0},Unesite GSTIN i upišite adresu kompanije {0},
Please enter Item Code to get item taxes,Unesite šifru predmeta da biste dobili porez na artikl,
Please enter Warehouse and Date,Unesite skladište i datum,
Please login as a Marketplace User to edit this item.,Prijavite se kao Korisnik Marketplace-a da biste uredili ovu stavku.,
Please login as a Marketplace User to report this item.,Prijavite se kao korisnik Marketplacea kako biste prijavili ovu stavku.,
Please select <b>Template Type</b> to download template,Molimo odaberite <b>Vrsta predloška</b> za preuzimanje predloška,
Please select Customer first,Prvo odaberite kupca,
Please select Item Code first,Prvo odaberite šifru predmeta,
Please select a Delivery Note,Odaberite bilješku o dostavi,
Please select a Sales Person for item: {0},Izaberite prodajnu osobu za predmet: {0},
Please select another payment method. Stripe does not support transactions in currency '{0}',Odaberite drugi način plaćanja. Pruga ne podržava transakcije u valuti &#39;{0}&#39;,
Please select the customer.,Molimo odaberite kupca.,
Please set a Supplier against the Items to be considered in the Purchase Order.,Molimo postavite dobavljača protiv predmeta koji će se smatrati narudžbenicom.,
Please set account heads in GST Settings for Compnay {0},Postavite glave računa u GST Settings za preduzeće {0},
Please set an email id for the Lead {0},Molimo postavite ID e-pošte za Lead {0},
Please set default UOM in Stock Settings,Molimo postavite zadani UOM u Postavkama dionica,
Please set filter based on Item or Warehouse due to a large amount of entries.,Molimo postavite filtar na osnovu predmeta ili skladišta zbog velike količine unosa.,
Please set up the Campaign Schedule in the Campaign {0},Molimo postavite Raspored kampanje u kampanji {0},
Please set valid GSTIN No. in Company Address for company {0},Molimo vas da podesite važeći GSTIN broj na adresi kompanije {0},
Please set {0},Molimo postavite {0},customer
Please setup a default bank account for company {0},Postavite zadani bankovni račun za kompaniju {0},
Please specify,Navedite,
Please specify a {0},Navedite {0},lead
Priority,Prioritet,
Priority has been changed to {0}.,Prioritet je promijenjen u {0}.,
Priority {0} has been repeated.,Prioritet {0} je ponovljen.,
Processing XML Files,Obrada XML datoteka,
Profitability,Profitabilnost,
Project,Projekat,
Provide the academic year and set the starting and ending date.,Navedite akademsku godinu i postavite datum početka i završetka.,
Public token is missing for this bank,Javni token nedostaje za ovu banku,
Publish 1 Item,Objavite 1 predmet,
Publish Items,Objavite stavke,
Publish More Items,Objavite još predmeta,
Publish Your First Items,Objavite svoje prve stavke,
Publish {0} Items,Objavite {0} stavke,
Published Items,Objavljeni predmeti,
Purchase Invoice cannot be made against an existing asset {0},Račun za kupovinu ne može se izvršiti protiv postojećeg sredstva {0},
Purchase Invoices,Računi za kupovinu,
Purchase Orders,Narudžbenice,
Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Kupoprodajna potvrda nema stavku za koju je omogućen zadržati uzorak.,
Purchase Return,Kupnja Povratak,
Qty of Finished Goods Item,Količina proizvoda gotove robe,
Quality Inspection required for Item {0} to submit,Inspekcija kvaliteta potrebna za podnošenje predmeta {0},
Quantity to Manufacture,Količina za proizvodnju,
Quantity to Manufacture can not be zero for the operation {0},Količina za proizvodnju ne može biti nula za operaciju {0},
Quarterly,Kvartalno,
Queued,Na čekanju,
Quick Entry,Brzo uvođenje,
Quiz {0} does not exist,Kviz {0} ne postoji,
Quotation Amount,Iznos kotacije,
Rate or Discount is required for the price discount.,Za popust na cijenu potreban je popust ili popust.,
Reason,Razlog,
Reconcile Entries,Usklađivanje unosa,
Reconcile this account,Uskladi ovaj račun,
Reconciled,Pomirjen,
Recruitment,regrutacija,
Red,Crven,
Release date must be in the future,Datum izlaska mora biti u budućnosti,
Relieving Date must be greater than or equal to Date of Joining,Datum oslobađanja mora biti veći ili jednak datumu pridruživanja,
Rename,preimenovati,
Rename Not Allowed,Preimenovanje nije dozvoljeno,
Report Item,Izvještaj,
Report this Item,Prijavi ovu stavku,
Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Količina rezervisanog za podugovor: Količina sirovina za izradu predmeta koji su predmet podugovora.,
Reset,resetovanje,
Reset Service Level Agreement,Vratite ugovor o nivou usluge,
Resetting Service Level Agreement.,Poništavanje ugovora o nivou usluge.,
Return amount cannot be greater unclaimed amount,Povratni iznos ne može biti veći nenaplaćeni iznos,
Review,Pregled,
Room,soba,
Room Type,Tip sobe,
Row # ,Row #,
Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Red # {0}: Prihvaćena skladišta i skladišta dobavljača ne mogu biti isti,
Row #{0}: Cannot delete item {1} which has already been billed.,Redak broj {0}: Nije moguće izbrisati stavku {1} koja je već naplaćena.,
Row #{0}: Cannot delete item {1} which has already been delivered,Redak broj {0}: Ne može se izbrisati stavka {1} koja je već isporučena,
Row #{0}: Cannot delete item {1} which has already been received,Redak broj {0}: Ne može se izbrisati stavka {1} koja je već primljena,
Row #{0}: Cannot delete item {1} which has work order assigned to it.,Redak broj {0}: Ne može se izbrisati stavka {1} kojoj je dodijeljen radni nalog.,
Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Redak broj {0}: Ne može se izbrisati stavka {1} koja je dodijeljena kupčevom nalogu za kupovinu.,
Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Red broj {0}: Nije moguće odabrati skladište dobavljača dok dobavlja sirovine podizvođaču,
Row #{0}: Cost Center {1} does not belong to company {2},Redak # {0}: Troškovi {1} ne pripada kompaniji {2},
Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Red # {0}: Operacija {1} nije dovršena za {2} broj gotovih proizvoda u radnom nalogu {3}. Ažurirajte status rada putem Job Card {4}.,
Row #{0}: Payment document is required to complete the transaction,Redak broj {0}: Za završetak transakcije potreban je dokument o plaćanju,
Row #{0}: Serial No {1} does not belong to Batch {2},Red # {0}: Serijski br. {1} ne pripada grupi {2},
Row #{0}: Service End Date cannot be before Invoice Posting Date,Redak broj {0}: Datum završetka usluge ne može biti prije datuma knjiženja fakture,
Row #{0}: Service Start Date cannot be greater than Service End Date,Redak broj {0}: Datum početka usluge ne može biti veći od datuma završetka usluge,
Row #{0}: Service Start and End Date is required for deferred accounting,Redak broj {0}: Datum početka i završetka usluge potreban je za odgođeni računovodstvo,
Row {0}: Invalid Item Tax Template for item {1},Red {0}: Nevažeći predložak poreza na stavku {1},
Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Red {0}: Količina nije dostupna za {4} u skladištu {1} u vrijeme knjiženja unosa ({2} {3}),
Row {0}: user has not applied the rule {1} on the item {2},Red {0}: korisnik nije primijenio pravilo {1} na stavku {2},
Row {0}:Sibling Date of Birth cannot be greater than today.,Red {0}: Datum rođenja braće ne može biti veći od današnjeg.,
Row({0}): {1} is already discounted in {2},Red ({0}): {1} već je diskontiran u {2},
Rows Added in {0},Redovi dodani u {0},
Rows Removed in {0},Redovi su uklonjeni za {0},
Save,Snimi,
Save Item,Spremi stavku,
Saved Items,Spremljene stavke,
Search Items ...,Stavke za pretraživanje ...,
Search for a payment,Potražite plaćanje,
Search for anything ...,Traži bilo šta ...,
Search results for,Rezultati pretrage za,
Select Difference Account,Odaberite račun razlike,
Select a Default Priority.,Odaberite zadani prioritet.,
Select a company,Odaberite kompaniju,
Select finance book for the item {0} at row {1},Odaberite knjigu finansiranja za stavku {0} u retku {1},
Select only one Priority as Default.,Odaberite samo jedan prioritet kao podrazumevani.,
Seller Information,Informacije o prodavaču,
Send,Poslati,
Send a message,Pošaljite poruku,
Sending,Slanje,
Sends Mails to lead or contact based on a Campaign schedule,Šalje poruke kako bi vodio ili kontaktirao na osnovu rasporeda kampanje,
Serial Number Created,Serijski broj je kreiran,
Serial Numbers Created,Serijski brojevi stvoreni,
Serial no(s) required for serialized item {0},Serijski br. Nisu potrebni za serijski broj {0},
Series,Serija,
Server Error,greska servera,
Service Level Agreement has been changed to {0}.,Ugovor o nivou usluge izmenjen je u {0}.,
Service Level Agreement was reset.,Ugovor o nivou usluge je resetiran.,
Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Ugovor o nivou usluge sa tipom entiteta {0} i entitetom {1} već postoji.,
Set Meta Tags,Postavljanje meta tagova,
Set {0} in company {1},Set {0} u kompaniji {1},
Setup,Podešavanje,
Shift Management,Shift Management,
Show Future Payments,Prikaži buduće isplate,
Show Linked Delivery Notes,Prikaži povezane bilješke isporuke,
Show Sales Person,Prikaži osobu prodaje,
Show Stock Ageing Data,Prikaži podatke o starenju zaliha,
Show Warehouse-wise Stock,Pokažite zalihe pametne,
Size,Veličina,
Something went wrong while evaluating the quiz.,Nešto je pošlo po zlu tokom vrednovanja kviza.,
Sr,sr,
Start,početak,
Start Date cannot be before the current date,Datum početka ne može biti prije trenutnog datuma,
Start Time,Start Time,
Status,Status,
Status must be Cancelled or Completed,Status mora biti otkazan ili završen,
Stock Balance Report,Izvještaj o stanju zaliha,
Stock Entry has been already created against this Pick List,Unos dionica već je stvoren protiv ove Pick liste,
Stock Ledger ID,ID knjige knjige,
Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Vrijednost zaliha ({0}) i saldo računa ({1}) nisu usklađeni za račun {2} i povezani su skladišta.,
Stores - {0},Trgovine - {0},
Student with email {0} does not exist,Student sa e-mailom {0} ne postoji,
Submit Review,Submit Review,
Submitted,Potvrđeno,
Supplier Addresses And Contacts,Supplier Adrese i kontakti,
Synchronize this account,Sinhronizirajte ovaj račun,
Tag,Oznaka,
Target Location is required while receiving Asset {0} from an employee,Ciljna lokacija je potrebna dok primate imovinu {0} od zaposlenika,
Target Location is required while transferring Asset {0},Ciljana lokacija je potrebna prilikom prijenosa sredstva {0},
Target Location or To Employee is required while receiving Asset {0},Ciljana lokacija ili zaposleni su potrebni za vrijeme prijema imovine {0},
Task's {0} End Date cannot be after Project's End Date.,Završni datum zadatka {0} ne može biti nakon završetka datuma projekta.,
Task's {0} Start Date cannot be after Project's End Date.,Zadatak {0} Datum početka ne može biti nakon završetka datuma projekta.,
Tax Account not specified for Shopify Tax {0},Porezni račun nije naveden za Shopify Tax {0},
Tax Total,Porez ukupno,
Template,Predložak,
The Campaign '{0}' already exists for the {1} '{2}',Kampanja &#39;{0}&#39; već postoji za {1} &#39;{2}&#39;,
The difference between from time and To Time must be a multiple of Appointment,Razlika između vremena i vremena mora biti višestruka od imenovanja,
The field Asset Account cannot be blank,Polje Račun imovine ne može biti prazno,
The field Equity/Liability Account cannot be blank,Polje Vlasnički račun / račun odgovornosti ne može biti prazno,
The following serial numbers were created: <br><br> {0},Napravljeni su sljedeći serijski brojevi: <br><br> {0},
The parent account {0} does not exists in the uploaded template,Roditeljski račun {0} ne postoji u učitanom predlošku,
The question cannot be duplicate,Pitanje ne može biti duplicirano,
The selected payment entry should be linked with a creditor bank transaction,Odabrani unos za plaćanje treba biti povezan s bankovnom transakcijom vjerovnika,
The selected payment entry should be linked with a debtor bank transaction,Odabrani unos za plaćanje treba biti povezan sa bankovnom transakcijom dužnika,
The total allocated amount ({0}) is greated than the paid amount ({1}).,Ukupni dodijeljeni iznos ({0}) je namazan od uplaćenog iznosa ({1}).,
This Service Level Agreement is specific to Customer {0},Ovaj Ugovor o nivou usluge specifičan je za kupca {0},
This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Ova akcija će prekinuti vezu ovog računa s bilo kojom vanjskom uslugom koja integrira ERPNext sa vašim bankovnim računima. Ne može se poništiti. Jeste li sigurni?,
This bank account is already synchronized,Taj je bankovni račun već sinhroniziran,
This bank transaction is already fully reconciled,Ova je bankarska transakcija već u potpunosti usklađena,
This page keeps track of items you want to buy from sellers.,Ova stranica prati stvari koje želite kupiti od prodavača.,
This page keeps track of your items in which buyers have showed some interest.,Ova stranica prati vaše predmete za koje su kupci pokazali neki interes.,
Thursday,Četvrtak,
Title,Naslov,
"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Da biste omogućili prekomerno naplaćivanje, ažurirajte „Nadoplatu za naplatu“ u Postavkama računa ili Stavka.",
"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Da biste omogućili primanje / isporuku, ažurirajte &quot;Over Receipt / Dozvola za isporuku&quot; u Postavke zaliha ili Artikl.",
Total,Ukupno,
Total Payment Request amount cannot be greater than {0} amount,Ukupni iznos zahtjeva za plaćanje ne može biti veći od {0},
Total payments amount can't be greater than {},Ukupni iznos plaćanja ne može biti veći od {},
Totals,Ukupan rezultat,
Transactions already retreived from the statement,Transakcije su već povučene iz izjave,
Transfer Material to Supplier,Transfera Materijal dobavljaču,
Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Ne i datum prijevoza obavezni su za odabrani način prijevoza,
Tuesday,Utorak,
Type,Vrsta,
Unable to find the time slot in the next {0} days for the operation {1}.,Nije moguće pronaći vremenski interval u narednih {0} dana za operaciju {1}.,
Unable to update remote activity,Nije moguće ažurirati daljinsku aktivnost,
Unknown Caller,Nepoznati pozivalac,
Unlink external integrations,Prekini vezu s vanjskim integracijama,
Unpublish Item,Ponipublishtavanje predmeta,
Unreconciled,Neusklađeno,
Unsupported GST Category for E-Way Bill JSON generation,Nepodržana GST kategorija za e-Way Bill JSON generacije,
Update,Ažurirati,
Update Taxes for Items,Ažurirajte porez na stavke,
"Upload a bank statement, link or reconcile a bank account","Pošaljite bankovni izvod, povežite ili usklađujete bankovni račun",
Upload a statement,Pošaljite izjavu,
Use a name that is different from previous project name,Koristite ime koje se razlikuje od prethodnog naziva projekta,
User {0} is disabled,Korisnik {0} je onemogućen,
Users and Permissions,Korisnici i dozvole,
Valuation Rate required for Item {0} at row {1},Stopa vrednovanja potrebna za poziciju {0} u retku {1},
Values Out Of Sync,Vrijednosti van sinkronizacije,
Vehicle Type is required if Mode of Transport is Road,Vrsta vozila je obavezna ako je način prevoza cestovni,
Vendor Name,Ime dobavljača,
Verify Email,Potvrdi Email,
View,Pogled,
View all issues from {0},Pogledajte sva izdanja od {0},
View call log,Pogledajte dnevnik poziva,
Warehouse,Skladište,
Warehouse not found against the account {0},Skladište nije pronađeno na računu {0},
Welcome to {0},Dobrodošli na {0},
Why do think this Item should be removed?,Zašto mislite da bi ovaj predmet trebalo ukloniti?,
Work Order {0}: Job Card not found for the operation {1},Radni nalog {0}: kartica posla nije pronađena za operaciju {1},
Workday {0} has been repeated.,Radni dan {0} se ponavlja.,
XML Files Processed,Obrađene XML datoteke,
Year,Godina,
Yearly,Godišnji,
You are not allowed to enroll for this course,Nije vam dopušteno da se upišete na ovaj kurs,
You are not enrolled in program {0},Niste upisani u program {0},
You can Feature upto 8 items.,Možete predstaviti do 8 predmeta.,
You can also copy-paste this link in your browser,Također možete copy-paste ovaj link u vašem pregledniku,
You can publish upto 200 items.,Možete objaviti do 200 predmeta.,
You have to enable auto re-order in Stock Settings to maintain re-order levels.,Morate omogućiti automatsku ponovnu narudžbu u Postavkama dionica da biste održavali razinu ponovne narudžbe.,
You must be a registered supplier to generate e-Way Bill,Morate biti registrirani dobavljač za generiranje e-puta računa,
You need to login as a Marketplace User before you can add any reviews.,"Prije nego što dodate bilo koju recenziju, morate se prijaviti kao korisnik Marketplacea.",
Your Featured Items,Vaše istaknute stavke,
Your Items,Vaše predmete,
Your Profile,Tvoj profil,
Your rating:,Vaša ocjena:,
and,i,
e-Way Bill already exists for this document,Za ovaj dokument već postoji e-Way Bill,
woocommerce - {0},woocommerce - {0},
{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Kupon se koristi {1}. Dozvoljena količina se iscrpljuje,
{0} Operations: {1},{0} Operacije: {1},
{0} bank transaction(s) created,{0} Napravljene su bankarske transakcije,
{0} bank transaction(s) created and {1} errors,{0} napravljene bankarske transakcije i greške {1},
{0} can not be greater than {1},{0} ne može biti veći od {1},
{0} conversations,{0} razgovora,
{0} is not a company bank account,{0} nije bankovni račun kompanije,
{0} is not a group node. Please select a group node as parent cost center,{0} nije grupni čvor. Odaberite čvor grupe kao roditeljsko trošak,
{0} is not the default supplier for any items.,{0} nije zadani dobavljač za bilo koju robu.,
{0} is required,{0} je potrebno,
{0}: {1} must be less than {2},{0}: {1} mora biti manji od {2},
{} is required to generate E-Way Bill JSON,{} je potreban za generisanje e-Way Bill JSON,
"Invalid lost reason {0}, please create a new lost reason","Nevažeći izgubljeni razlog {0}, napravite novi izgubljeni razlog",
Profit This Year,Dobit ove godine,
Total Expense,Ukupni rashodi,
Total Expense This Year,Ukupni troškovi ove godine,
Total Income,Ukupni prihod,
Total Income This Year,Ukupni prihod u ovoj godini,
Barcode,Barkod,
Clear,Jasno,
Comments,Komentari,
DocType,DocType,
Download,Skinuti,
Left,Lijevo,
Link,Veza,
New,Novo,
Print,Ispis,
Reference Name,Referentno ime,
Refresh,Osvježi,
Success,Uspeh,
Time,Vreme,
Value,Vrijednost,
Actual,Aktuelno,
Add to Cart,Dodaj u košaricu,
Days Since Last Order,Dani od poslednje narudžbe,
In Stock,U Stock,
Mode Of Payment,Način plaćanja,
No students Found,Nije pronađen nijedan student,
Not in Stock,Nije raspoloživo,
Please select a Customer,Izaberite klijenta,
Received From,Dobili od,
Sales Person,Prodajno lice,
To date cannot be before From date,Do danas ne može biti prije Od datuma,
Write Off,Otpisati,
{0} Created,{0} kreirano,
Email Id,Email ID,
No,Ne,
Reference Doctype,Referentna DOCTYPEhtml,
Yes,Da,
Actual ,Stvaran,
Add to cart,Dodaj u košaricu,
Budget,Budžet,
Chart of Accounts,Chart of Accounts,
Customer database.,Baza podataka klijenata.,
Days Since Last order,Dana od posljednje narudžbe,
Download as JSON,Preuzmi kao JSON,
End date can not be less than start date,Datum završetka ne može biti manja od početnog datuma,
For Default Supplier (Optional),Za podrazumevani dobavljač,
From date cannot be greater than To date,Od datuma ne može biti veća od To Date,
Group by,Group By,
In stock,Na zalihama,
Item name,Naziv artikla,
Minimum Qty,Minimalni količina,
More details,Više informacija,
Nature of Supplies,Nature of Supplies,
No Items found.,Ništa nije pronađeno.,
No students found,No studenti Found,
Not in stock,Nije na zalihama,
Not permitted,Nije dozvoljeno,
Open Issues ,Otvorena pitanja,
Open Projects ,Open Projekti,
Open To Do ,Open To Do,
Operation Id,Operacija ID,
Partially ordered,parcijalno uređenih,
Please select company first,Prvo izaberite preduzeće,
Please select patient,Molimo izaberite Pacijent,
Printed On ,Printed On,
Projected qty,Projektovana kolicina,
Sales person,Referent prodaje,
Serial No {0} Created,Serijski Ne {0} stvorio,
Source Location is required for the Asset {0},Izvorna lokacija je potrebna za sredstvo {0},
Tax Id,Tax ID,
To Time,Za vrijeme,
To date cannot be before from date,Do danas ne može biti prije Od datuma,
Total Taxable value,Ukupna porezna vrijednost,
Upcoming Calendar Events ,Najave Kalendar događanja,
Value or Qty,Vrijednost ili broj,
Variance ,Varijanca,
Variant of,Varijanta,
Write off,Otpisati,
hours,Hours,
received from,Dobili od,
to,To,
Cards,Karte,
Percentage,Postotak,
Failed to setup defaults for country {0}. Please contact support@erpnext.com,Nije uspjelo postavljanje zadanih postavki za zemlju {0}. Molimo kontaktirajte support@erpnext.com,
Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Redak # {0}: Stavka {1} nije serijski / skupa stavka. Ne može imati serijski broj / br. Seriju protiv.,
Please set {0},Molimo postavite {0},
Please set {0},Molimo postavite {0},supplier
Draft,Skica,"docstatus,=,0"
Cancelled,Otkazano,"docstatus,=,2"
Please setup Instructor Naming System in Education > Education Settings,Postavite sistem imenovanja instruktora u Obrazovanje&gt; Postavke obrazovanja,
Please set Naming Series for {0} via Setup > Settings > Naming Series,Molimo postavite Naming Series za {0} putem Podešavanje&gt; Podešavanja&gt; Imenovanje serije,
UOM Conversion factor ({0} -> {1}) not found for item: {2},Faktor konverzije UOM ({0} -&gt; {1}) nije pronađen za stavku: {2},
Item Code > Item Group > Brand,Kod artikla&gt; Grupa artikala&gt; Marka,
Customer > Customer Group > Territory,Kupac&gt; grupa kupaca&gt; teritorija,
Supplier > Supplier Type,Dobavljač&gt; vrsta dobavljača,
The value of {0} differs between Items {1} and {2},Vrijednost {0} razlikuje se između stavki {1} i {2},
Auto Fetch,Automatsko dohvaćanje,
Fetch Serial Numbers based on FIFO,Dohvati serijske brojeve na osnovu FIFO-a,
"Outward taxable supplies(other than zero rated, nil rated and exempted)","Oporezive vanjske isporuke (osim nulte ocjene, nula i izuzete)",
"To allow different rates, disable the {0} checkbox in {1}.","Da biste omogućili različite stope, onemogućite {0} potvrdni okvir u {1}.",
Asset{} {assets_link} created for {},Sredstvo {} {assets_link} kreirano za {},
Row {}: Asset Naming Series is mandatory for the auto creation for item {},Red {}: Serija imenovanja sredstava obavezna je za automatsko kreiranje stavke {},
Assets not created for {0}. You will have to create asset manually.,Sredstva nisu kreirana za {0}. Morat ćete stvoriti materijal ručno.,
{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} ima knjigovodstvene stavke u valuti {2} za kompaniju {3}. Odaberite račun potraživanja ili plaćanja u valuti {2}.,
Invalid Account,Nevažeći račun,
Purchase Order Required,Narudžbenica kupnje je obavezna,
Purchase Receipt Required,Kupnja Potvrda Obvezno,
Account Missing,Račun nedostaje,
Requested,Tražena,
Partially Paid,Djelomično plaćeno,
Invalid Account Currency,Nevažeća valuta računa,
"Row {0}: The item {1}, quantity must be positive number","Red {0}: Stavka {1}, količina mora biti pozitivan broj",
"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Postavite {0} za grupnu stavku {1}, koja se koristi za postavljanje {2} na Submit.",
Expiry Date Mandatory,Datum isteka obavezan,
Variant Item,Variant Item,
BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} i BOM 2 {1} ne bi trebali biti isti,
Note: Item {0} added multiple times,Napomena: Stavka {0} dodana je više puta,
YouTube,YouTube,
Vimeo,Vimeo,
Publish Date,Datum objave,
Duration,Trajanje,
Advanced Settings,Napredne postavke,
Path,Put,
Components,komponente,
Verified By,Ovjeren od strane,
Invalid naming series (. missing) for {0},Nevažeća serija imenovanja (. Nedostaje) za {0},
Filter Based On,Filter zasnovan na,
Reqd by date,Potrebno po datumu,
Manufacturer Part Number <b>{0}</b> is invalid,Broj dijela proizvođača <b>{0}</b> je nevažeći,
Invalid Part Number,Nevažeći broj dijela,
Select atleast one Social Media from Share on.,Odaberite barem jedan društveni medij iz Dijeli dalje.,
Invalid Scheduled Time,Nevažeće zakazano vrijeme,
Length Must be less than 280.,Dužina Mora biti manja od 280.,
Error while POSTING {0},Greška prilikom POSTAVLJANJA {0},
"Session not valid, Do you want to login?","Sesija nije važeća, želite li se prijaviti?",
Session Active,Sesija aktivna,
Session Not Active. Save doc to login.,Sesija nije aktivna. Sačuvajte dokument za prijavu.,
Error! Failed to get request token.,Greška! Dohvaćanje tokena zahtjeva nije uspjelo.,
Invalid {0} or {1},Nevažeće {0} ili {1},
Error! Failed to get access token.,Greška! Dohvaćanje tokena za pristup nije uspjelo.,
Invalid Consumer Key or Consumer Secret Key,Nevažeći potrošački ključ ili tajni ključ potrošača,
Your Session will be expire in ,Vaša sesija istječe za,
 days.,dana.,
Session is expired. Save doc to login.,Sjednica je istekla. Sačuvajte dokument za prijavu.,
Error While Uploading Image,Greška prilikom prijenosa slike,
You Didn't have permission to access this API,Niste imali dozvolu za pristup ovom API-ju,
Valid Upto date cannot be before Valid From date,Važeći Ažurirani datum ne može biti prije Važi od,
Valid From date not in Fiscal Year {0},Važi od datuma koji nije u fiskalnoj godini {0},
Valid Upto date not in Fiscal Year {0},Vrijedi do datuma koji nije u fiskalnoj godini {0},
Group Roll No,Grupna rola br,
Maintain Same Rate Throughout Sales Cycle,Održavati ista stopa Tijekom cijele prodajni ciklus,
"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Red {1}: Količina ({0}) ne može biti razlomak. Da biste to omogućili, onemogućite &#39;{2}&#39; u UOM-u {3}.",
Must be Whole Number,Mora biti cijeli broj,
Please setup Razorpay Plan ID,Molimo postavite Razorpay ID plana,
Contact Creation Failed,Stvaranje kontakta nije uspjelo,
Leaves Expired,Lišće je isteklo,
Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Red # {}: {} od {} trebao bi biti {}. Izmijenite račun ili odaberite drugi račun.,
Row #{}: Please asign task to a member.,Red # {}: Molimo dodijelite zadatak članu.,
Process Failed,Proces nije uspio,
Tally Migration Error,Pogreška migracije Tally-a,
Please set Warehouse in Woocommerce Settings,Molimo postavite Warehouse u Woocommerce Settings,
Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Red {0}: Skladište za dostavu ({1}) i Skladište za kupce ({2}) ne mogu biti isto,
Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Red {0}: Datum dospijeća u tablici Uslovi plaćanja ne može biti prije datuma knjiženja,
Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Nije moguće pronaći {} za stavku {}. Molimo postavite isto u stavci Master Master ili Stock Settings.,
Row #{0}: The batch {1} has already expired.,Redak {0}: serija {1} je već istekla.,
Start Year and End Year are mandatory,Početna i završna godina su obavezne,
GL Entry,GL ulaz,
Cannot allocate more than {0} against payment term {1},Ne možete dodijeliti više od {0} prema roku plaćanja {1},
The root account {0} must be a group,Korijenski račun {0} mora biti grupa,
Shipping rule not applicable for country {0} in Shipping Address,Pravilo dostave nije primjenjivo za zemlju {0} u adresi za dostavu,
Get Payments from,Primajte uplate od,
Set Shipping Address or Billing Address,Postavite adresu za dostavu ili adresu za naplatu,
Consultation Setup,Postavljanje konsultacija,
Fee Validity,Vrijednost naknade,
Laboratory Setup,Postavljanje laboratorija,
Dosage Form,Formular za doziranje,
Records and History,Zapisi i istorija,
Patient Medical Record,Medicinski zapis pacijenta,
Rehabilitation,Rehabilitacija,
Exercise Type,Tip vježbe,
Exercise Difficulty Level,Nivo teškoće u vježbanju,
Therapy Type,Vrsta terapije,
Therapy Plan,Plan terapije,
Therapy Session,Sjednica terapije,
Motor Assessment Scale,Skala za procjenu motora,
[Important] [ERPNext] Auto Reorder Errors,[Važno] [ERPNext] Pogreške automatskog preuređivanja,
"Regards,","Pozdrav,",
The following {0} were created: {1},Stvoreni su sljedeći {0}: {1},
Work Orders,Nalozi za rad,
The {0} {1} created sucessfully,{0} {1} je uspješno kreiran,
Work Order cannot be created for following reason: <br> {0},Radni nalog se ne može kreirati iz sljedećeg razloga:<br> {0},
Add items in the Item Locations table,Dodajte stavke u tabelu Lokacije predmeta,
Update Current Stock,Ažurirajte trenutne zalihe,
"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Zadržavanje uzorka temelji se na šarži, označite Ima šaržu br. Da biste zadržali uzorak predmeta",
Empty,Prazno,
Currently no stock available in any warehouse,Trenutno nema zaliha u bilo kojem skladištu,
BOM Qty,BOM Količina,
Time logs are required for {0} {1},Potrebni su vremenski dnevnici za {0} {1},
Total Completed Qty,Ukupno završeno Količina,
Qty to Manufacture,Količina za proizvodnju,
Social Media Campaigns,Kampanje na društvenim mrežama,
From Date can not be greater than To Date,Od datuma ne može biti veći od datuma,
Please set a Customer linked to the Patient,Postavite kupca povezanog s pacijentom,
Customer Not Found,Kupac nije pronađen,
Please Configure Clinical Procedure Consumable Item in ,Molimo konfigurirajte potrošni predmet za klinički postupak u,
Missing Configuration,Nedostaje konfiguracija,
Out Patient Consulting Charge Item,Iznad Pansionske konsultantske stavke,
Inpatient Visit Charge Item,Obavezna posjeta obaveznoj posjeti,
OP Consulting Charge,OP Konsalting Charge,
Inpatient Visit Charge,Hirurška poseta,
Appointment Status,Status imenovanja,
Test: ,Test:,
Collection Details: ,Detalji kolekcije:,
{0} out of {1},{0} od {1},
Select Therapy Type,Odaberite vrstu terapije,
{0} sessions completed,Završeno je {0} sesija,
{0} session completed,Završena je {0} sesija,
 out of {0},od {0},
Therapy Sessions,Terapijske sesije,
Add Exercise Step,Dodajte korak vježbe,
Edit Exercise Step,Uredite korak vježbe,
Patient Appointments,Imenovanja pacijenta,
Item with Item Code {0} already exists,Stavka sa kodom artikla {0} već postoji,
Registration Fee cannot be negative or zero,Naknada za registraciju ne može biti negativna ili nula,
Configure a service Item for {0},Konfigurirajte stavku usluge za {0},
Temperature: ,Temperatura:,
Pulse: ,Puls:,
Respiratory Rate: ,Stopa disanja:,
BP: ,BP:,
BMI: ,BMI:,
Note: ,Bilješka:,
Check Availability,Provjera dostupnosti,
Please select Patient first,Prvo odaberite Pacijent,
Please select a Mode of Payment first,Prvo odaberite način plaćanja,
Please set the Paid Amount first,Prvo postavite plaćeni iznos,
Not Therapies Prescribed,Nisu propisane terapije,
There are no Therapies prescribed for Patient {0},Nema propisanih terapija za pacijenta {0},
Appointment date and Healthcare Practitioner are Mandatory,Datum imenovanja i zdravstveni radnik su obavezni,
No Prescribed Procedures found for the selected Patient,Nisu pronađeni propisani postupci za odabranog pacijenta,
Please select a Patient first,Prvo odaberite pacijenta,
There are no procedure prescribed for ,Nije propisana procedura za,
Prescribed Therapies,Propisane terapije,
Appointment overlaps with ,Imenovanje se preklapa sa,
{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} ima zakazan sastanak sa {1} u {2} u trajanju od {3} minuta.,
Appointments Overlapping,Imenovanja koja se preklapaju,
Consulting Charges: {0},Naknade za savjetovanje: {0},
Appointment Cancelled. Please review and cancel the invoice {0},Imenovanje otkazano. Pregledajte i otkažite račun {0},
Appointment Cancelled.,Imenovanje otkazano.,
Fee Validity {0} updated.,Valjanost naknade {0} je ažurirana.,
Practitioner Schedule Not Found,Raspored praktičara nije pronađen,
{0} is on a Half day Leave on {1},{0} je na pola dana odlaska {1},
{0} is on Leave on {1},{0} je na dopustu {1},
{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} nema raspored zdravstvenih radnika. Dodajte ga u Healthcare Practitioner,
Healthcare Service Units,Jedinice zdravstvene zaštite,
Complete and Consume,Dovršite i potrošite,
Complete {0} and Consume Stock?,Ispunite {0} i potrošite zalihe?,
Complete {0}?,Dovršiti {0}?,
Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Količina zaliha za pokretanje postupka nije dostupna u Skladištu {0}. Da li želite snimiti unos zaliha?,
{0} as on {1},{0} kao {1},
Clinical Procedure ({0}):,Klinički postupak ({0}):,
Please set Customer in Patient {0},Postavite kupca za pacijenta {0},
Item {0} is not active,Stavka {0} nije aktivna,
Therapy Plan {0} created successfully.,Plan terapije {0} je uspješno kreiran.,
Symptoms: ,Simptomi:,
No Symptoms,Nema simptoma,
Diagnosis: ,Dijagnoza:,
No Diagnosis,Nema dijagnoze,
Drug(s) Prescribed.,Lijek (i) propisani.,
Test(s) Prescribed.,Test (i) propisani.,
Procedure(s) Prescribed.,Procedura (i) propisana.,
Counts Completed: {0},Prebrojavanja završena: {0},
Patient Assessment,Procjena pacijenta,
Assessments,Procjene,
Heads (or groups) against which Accounting Entries are made and balances are maintained.,Heads (ili grupe) protiv kojih Računovodstvo unosi se izrađuju i sredstva se održavaju.,
Account Name,Naziv konta,
Inter Company Account,Inter Company Account,
Parent Account,Roditelj račun,
Setting Account Type helps in selecting this Account in transactions.,Postavljanje Vrsta računa pomaže u odabiru ovaj račun u prometu.,
Chargeable,Naplativ,
Rate at which this tax is applied,Stopa po kojoj je taj porez se primjenjuje,
Frozen,Zaleđeni,
"If the account is frozen, entries are allowed to restricted users.","Ako je račun zamrznut , unosi dopušteno ograničene korisnike .",
Balance must be,Bilans mora biti,
Lft,Lft,
Rgt,Rgt,
Old Parent,Stari Roditelj,
Include in gross,Uključuju se u bruto,
Auditor,Revizor,
Accounting Dimension,Računovodstvena dimenzija,
Dimension Name,Ime dimenzije,
Dimension Defaults,Zadane dimenzije,
Accounting Dimension Detail,Detalji dimenzije računovodstva,
Default Dimension,Podrazumevana dimenzija,
Mandatory For Balance Sheet,Obavezno za bilans stanja,
Mandatory For Profit and Loss Account,Obavezno za račun dobiti i gubitka,
Accounting Period,Period računovodstva,
Period Name,Ime perioda,
Closed Documents,Zatvoreni dokumenti,
Accounts Settings,Podešavanja konta,
Settings for Accounts,Postavke za račune,
Make Accounting Entry For Every Stock Movement,Provjerite knjiženje za svaki burzi pokreta,
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,
Determine Address Tax Category From,Odredite kategoriju adrese poreza od,
Over Billing Allowance (%),Dodatak za naplatu (%),
Credit Controller,Kreditne kontroler,
Check Supplier Invoice Number Uniqueness,Check Dobavljač Faktura Broj Jedinstvenost,
Make Payment via Journal Entry,Izvršiti uplatu preko Journal Entry,
Unlink Payment on Cancellation of Invoice,Odvajanje Plaćanje o otkazivanju fakture,
Book Asset Depreciation Entry Automatically,Knjiga imovine Amortizacija Entry Automatski,
Automatically Add Taxes and Charges from Item Tax Template,Automatski dodajte poreze i pristojbe sa predloška poreza na stavke,
Automatically Fetch Payment Terms,Automatski preuzmi Uvjete plaćanja,
Show Payment Schedule in Print,Prikaži raspored plaćanja u štampanju,
Currency Exchange Settings,Postavke razmjene valuta,
Allow Stale Exchange Rates,Dozvolite stare kurseve,
Stale Days,Zastareli dani,
Report Settings,Postavke izveštaja,
Use Custom Cash Flow Format,Koristite Custom Flow Flow Format,
Allowed To Transact With,Dozvoljeno za transakciju,
SWIFT number,SWIFT broj,
Branch Code,Branch Code,
Address and Contact,Adresa i kontakt,
Address HTML,Adressa u HTML-u,
Contact HTML,Kontakt HTML,
Data Import Configuration,Konfiguracija uvoza podataka,
Bank Transaction Mapping,Mapiranje bankovnih transakcija,
Plaid Access Token,Plaid Access Token,
Company Account,Račun kompanije,
Account Subtype,Podtip računa,
Is Default Account,Je zadani račun,
Is Company Account,Račun kompanije,
Party Details,Party Detalji,
Account Details,Detalji konta,
IBAN,IBAN,
Bank Account No,Bankarski račun br,
Integration Details,Detalji integracije,
Integration ID,ID integracije,
Last Integration Date,Datum posljednje integracije,
Change this date manually to setup the next synchronization start date,Ručno promenite ovaj datum da biste postavili sledeći datum početka sinhronizacije,
Mask,Maska,
Bank Account Subtype,Podvrsta bankovnog računa,
Bank Account Type,Vrsta bankovnog računa,
Bank Guarantee,Bankarska garancija,
Bank Guarantee Type,Tip garancije banke,
Receiving,Primanje,
Providing,Pružanje,
Reference Document Name,Referentni naziv dokumenta,
Validity in Days,Valjanost u Dani,
Bank Account Info,Informacije o bankovnom računu,
Clauses and Conditions,Klauzule i uslovi,
Other Details,Ostali detalji,
Bank Guarantee Number,Bankarska garancija Broj,
Name of Beneficiary,Ime korisnika,
Margin Money,Margin Money,
Charges Incurred,Napunjene naknade,
Fixed Deposit Number,Fiksni depozitni broj,
Account Currency,Valuta račun,
Select the Bank Account to reconcile.,Odaberite bankovni račun da biste ga uskladili.,
Include Reconciled Entries,Uključi pomirio objave,
Get Payment Entries,Get plaćanja unosi,
Payment Entries,plaćanje unosi,
Update Clearance Date,Ažurirajte provjeri datum,
Bank Reconciliation Detail,Banka Pomirenje Detalj,
Cheque Number,Broj čeka,
Cheque Date,Datum čeka,
Statement Header Mapping,Mapiranje zaglavlja izjave,
Statement Headers,Izjave zaglavlja,
Transaction Data Mapping,Mapiranje podataka o transakcijama,
Mapped Items,Mapped Items,
Bank Statement Settings Item,Stavka Postavke banke,
Mapped Header,Mapped Header,
Bank Header,Bank Header,
Bank Statement Transaction Entry,Prijavljivanje transakcije u banci,
Bank Transaction Entries,Bankovne transakcije,
New Transactions,Nove transakcije,
Match Transaction to Invoices,Transakcija na fakture,
Create New Payment/Journal Entry,Kreirajte novu uplatu / dnevnik,
Submit/Reconcile Payments,Pošalji / usaglasite plaćanja,
Matching Invoices,Upoređivanje faktura,
Payment Invoice Items,Stavke fakture za plaćanje,
Reconciled Transactions,Usklađene transakcije,
Bank Statement Transaction Invoice Item,Stavka fakture za transakciju iz banke,
Payment Description,Opis plaćanja,
Invoice Date,Datum fakture,
invoice,faktura,
Bank Statement Transaction Payment Item,Stavka za plaćanje transakcije u banci,
outstanding_amount,preostali iznos,
Payment Reference,Reference za plaćanje,
Bank Statement Transaction Settings Item,Stavka Postavke Transakcije Stavke Bank Banke,
Bank Data,Podaci banke,
Mapped Data Type,Mapped Data Type,
Mapped Data,Mapped Data,
Bank Transaction,Bankovna transakcija,
ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
Transaction ID,transakcija ID,
Unallocated Amount,neraspoređenih Iznos,
Field in Bank Transaction,Polje u bankovnoj transakciji,
Column in Bank File,Stupac u datoteci banke,
Bank Transaction Payments,Plaćanja putem bankarskih transakcija,
Control Action,Kontrolna akcija,
Applicable on Material Request,Primenljivo na zahtev za materijal,
Action if Annual Budget Exceeded on MR,Akcija ako je godišnji budžet prešao na MR,
Warn,Upozoriti,
Ignore,Ignorirati,
Action if Accumulated Monthly Budget Exceeded on MR,Akcija ako je akumulirani mesečni budžet prešao na MR,
Applicable on Purchase Order,Primenljivo na nalogu za kupovinu,
Action if Annual Budget Exceeded on PO,Akcija ako je godišnji budžet prešao na PO,
Action if Accumulated Monthly Budget Exceeded on PO,Akcija ako je zbirni mesečni budžet prešao na PO,
Applicable on booking actual expenses,Primenjuje se prilikom rezervisanja stvarnih troškova,
Action if Annual Budget Exceeded on Actual,Akcija ako se godišnji budžet premašuje na aktuelnom nivou,
Action if Accumulated Monthly Budget Exceeded on Actual,Akcija ako se akumulirani mesečni budžet premašuje na aktuelnom nivou,
Budget Accounts,računa budžeta,
Budget Account,računa budžeta,
Budget Amount,budžet Iznos,
C-Form,C-Form,
ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
C-Form No,C-Obrazac br,
Received Date,Datum pozicija,
Quarter,Četvrtina,
I,ja,
II,II,
III,III,
IV,IV,
C-Form Invoice Detail,C-Obrazac Račun Detalj,
Invoice No,Račun br,
Cash Flow Mapper,Mapper za gotovinski tok,
Section Name,Naziv odeljka,
Section Header,Header odeljka,
Section Leader,Rukovodilac odjela,
e.g Adjustments for:,npr. prilagođavanja za:,
Section Subtotal,Sekcija subota,
Section Footer,Segment Footer,
Cash Flow Mapping,Mapiranje tokova gotovine,
Select Maximum Of 1,Izaberite maksimum od 1,
Is Finance Cost,Da li je finansijski trošak,
Is Working Capital,Je radni kapital,
Is Finance Cost Adjustment,Da li je usklađivanje troškova finansiranja,
Is Income Tax Liability,Da li je porez na dohodak,
Is Income Tax Expense,Da li je porez na prihod?,
Cash Flow Mapping Accounts,Mapiranje računa gotovine,
account,Konto,
Cash Flow Mapping Template,Šablon za mapiranje toka gotovine,
Cash Flow Mapping Template Details,Detalji šablona za mapiranje gotovog toka,
POS-CLO-,POS-CLO-,
Custody,Starateljstvo,
Net Amount,Neto iznos,
Cashier Closing Payments,Plaćanje plaćanja blagajnika,
Chart of Accounts Importer,Kontni plan računa,
Import Chart of Accounts from a csv file,Uvoz računa sa CSV datoteke,
Attach custom Chart of Accounts file,Priložite datoteku prilagođenog računa računa,
Chart Preview,Pregled grafikona,
Chart Tree,Chart Tree,
Cheque Print Template,Ček Ispis Template,
Has Print Format,Ima Print Format,
Primary Settings,primarni Postavke,
Cheque Size,Ček Veličina,
Regular,redovan,
Starting position from top edge,Početne pozicije od gornje ivice,
Cheque Width,Ček Širina,
Cheque Height,Ček Visina,
Scanned Cheque,skeniranim Ček,
Is Account Payable,Je nalog plaćaju,
Distance from top edge,Udaljenost od gornje ivice,
Distance from left edge,Udaljenost od lijevog ruba,
Message to show,Poruke za prikaz,
Date Settings,Datum Postavke,
Starting location from left edge,Početna lokacija od lijevog ruba,
Payer Settings,Payer Postavke,
Width of amount in word,Širina iznos u riječi,
Line spacing for amount in words,Prored za iznos u riječima,
Amount In Figure,Iznos Na slici,
Signatory Position,potpisnik Pozicija,
Closed Document,Zatvoreni dokument,
Track separate Income and Expense for product verticals or divisions.,Pratite odvojene prihoda i rashoda za vertikala proizvod ili podjele.,
Cost Center Name,Troška Name,
Parent Cost Center,Roditelj troška,
lft,LFT,
rgt,RGT,
Coupon Code,Kupon kod,
Coupon Name,Naziv kupona,
"e.g. ""Summer Holiday 2019 Offer 20""",npr. &quot;Ljetni odmor 201 ponuda 20&quot;,
Coupon Type,Vrsta kupona,
Promotional,Promotivni,
Gift Card,Poklon kartica,
unique e.g. SAVE20  To be used to get discount,jedinstveni npr. SAVE20 Da biste koristili popust,
Validity and Usage,Rok valjanosti i upotreba,
Valid From,Vrijedi od,
Valid Upto,Vrijedi do,
Maximum Use,Maksimalna upotreba,
Used,Rabljeni,
Coupon Description,Opis kupona,
Discounted Invoice,Račun s popustom,
Debit to,Na teret,
Exchange Rate Revaluation,Revalorizacija deviznog kursa,
Get Entries,Get Entries,
Exchange Rate Revaluation Account,Račun revalorizacije kursa,
Total Gain/Loss,Ukupni dobitak / gubitak,
Balance In Account Currency,Balans u valuti računa,
Current Exchange Rate,Tekući kurs,
Balance In Base Currency,Bilans u osnovnoj valuti,
New Exchange Rate,Novi kurs,
New Balance In Base Currency,Novo stanje u osnovnoj valuti,
Gain/Loss,Dobit / gubitak,
**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Fiskalna godina ** predstavlja finansijske godine. Svi računovodstvene stavke i drugih većih transakcija se prate protiv ** Fiskalna godina **.,
Year Name,Naziv godine,
"For e.g. 2012, 2012-13","Za npr. 2012, 2012-13",
Year Start Date,Početni datum u godini,
Year End Date,Završni datum godine,
Companies,Companies,
Auto Created,Automatski kreiran,
Stock User,Stock korisnika,
Fiscal Year Company,Fiskalna godina Company,
Debit Amount,Debit Iznos,
Credit Amount,Iznos kredita,
Debit Amount in Account Currency,Debit Iznos u računu valuta,
Credit Amount in Account Currency,Iznos kredita u računu valuta,
Voucher Detail No,Bon Detalj Ne,
Is Opening,Je Otvaranje,
Is Advance,Je avans,
To Rename,Preimenovati,
GST Account,GST račun,
CGST Account,CGST nalog,
SGST Account,SGST nalog,
IGST Account,IGST nalog,
CESS Account,CESS nalog,
Loan Start Date,Datum početka zajma,
Loan Period (Days),Period zajma (Dani),
Loan End Date,Datum završetka zajma,
Bank Charges,Naknade za banke,
Short Term Loan Account,Kratkoročni račun zajma,
Bank Charges Account,Račun bankovnih naknada,
Accounts Receivable Credit Account,Račun za naplatu potraživanja,
Accounts Receivable Discounted Account,Račun s diskontovanim potraživanjima,
Accounts Receivable Unpaid Account,Neplaćeni račun za potraživanja,
Item Tax Template,Predložak poreza na stavku,
Tax Rates,Porezne stope,
Item Tax Template Detail,Detalj predloška predloška poreza,
Entry Type,Entry Tip,
Inter Company Journal Entry,Inter Company Journal Entry,
Bank Entry,Bank Entry,
Cash Entry,Cash Entry,
Credit Card Entry,Credit Card Entry,
Contra Entry,Contra Entry,
Excise Entry,Akcizama Entry,
Write Off Entry,Napišite Off Entry,
Opening Entry,Otvaranje unos,
ACC-JV-.YYYY.-,ACC-JV-YYYY.-,
Accounting Entries,Računovodstvo unosi,
Total Debit,Ukupno zaduženje,
Total Credit,Ukupna kreditna,
Difference (Dr - Cr),Razlika ( dr. - Cr ),
Make Difference Entry,Čine razliku Entry,
Total Amount Currency,Ukupan iznos valute,
Total Amount in Words,Ukupan iznos riječima,
Remark,Primjedba,
Paid Loan,Paid Loan,
Inter Company Journal Entry Reference,Referenca za unos dnevnika Inter Company,
Write Off Based On,Otpis na temelju,
Get Outstanding Invoices,Kreiraj neplaćene račune,
Write Off Amount,Otpis iznosa,
Printing Settings,Printing Settings,
Pay To / Recd From,Platiti Da / RecD Od,
Payment Order,Nalog za plaćanje,
Subscription Section,Subscription Section,
Journal Entry Account,Journal Entry račun,
Account Balance,Bilans konta,
Party Balance,Party Balance,
Accounting Dimensions,Računovodstvene dimenzije,
If Income or Expense,Ako prihoda i rashoda,
Exchange Rate,Tečaj,
Debit in Company Currency,Debit u Company valuta,
Credit in Company Currency,Credit Company valuta,
Payroll Entry,Unos plata,
Employee Advance,Advance Employee,
Reference Due Date,Referentni rok za dostavljanje,
Loyalty Program Tier,Nivo programa lojalnosti,
Redeem Against,Iskoristi protiv,
Expiry Date,Datum isteka,
Loyalty Point Entry Redemption,Povlačenje ulazne točke na lojalnost,
Redemption Date,Datum otkupljenja,
Redeemed Points,Iskorišćene tačke,
Loyalty Program Name,Ime programa lojalnosti,
Loyalty Program Type,Vrsta programa lojalnosti,
Single Tier Program,Jednostavni program,
Multiple Tier Program,Multiple Tier Program,
Customer Territory,Teritorija kupaca,
Auto Opt In (For all customers),Automatsko uključivanje (za sve potrošače),
Collection Tier,Kolekcija Tier,
Collection Rules,Pravila sakupljanja,
Redemption,Otkupljenje,
Conversion Factor,Konverzijski faktor,
1 Loyalty Points = How much base currency?,1 Loyalty Bodovi = Kolika osnovna valuta?,
Expiry Duration (in days),Trajanje isteka (u danima),
Help Section,Help Section,
Loyalty Program Help,Pomoć programa za lojalnost,
Loyalty Program Collection,Zbirka programa lojalnosti,
Tier Name,Tier Name,
Minimum Total Spent,Minimalno ukupno potrošeno,
Collection Factor (=1 LP),Faktor sakupljanja (= 1 LP),
For how much spent = 1 Loyalty Point,Za koliko je potrošeno = 1 lojalnost,
Mode of Payment Account,Način plaćanja računa,
Default Account,Podrazumjevani konto,
Default account will be automatically updated in POS Invoice when this mode is selected.,Podrazumevani nalog će se automatski ažurirati u POS računu kada je izabran ovaj režim.,
**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Mjesečna distribucija ** će Vam pomoći distribuirati budžeta / Target preko mjeseca ako imate sezonalnost u vaše poslovanje.,
Distribution Name,Naziv distribucije,
Name of the Monthly Distribution,Naziv Mjesečni distribucije,
Monthly Distribution Percentages,Mjesečni Distribucija Procenat,
Monthly Distribution Percentage,Mjesečni Distribucija Postotak,
Percentage Allocation,Postotak Raspodjela,
Create Missing Party,Napravite Missing Party,
Create missing customer or supplier.,Kreirajte nestalog klijenta ili dobavljača.,
Opening Invoice Creation Tool Item,Stavka o otvaranju fakture kreiranja stavke,
Temporary Opening Account,Privremeni račun za otvaranje,
Party Account,Party račun,
Type of Payment,Vrsta plaćanja,
ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
Receive,Primiti,
Internal Transfer,Interna Transfer,
Payment Order Status,Status naloga za plaćanje,
Payment Ordered,Raspored plaćanja,
Payment From / To,Plaćanje Od / Do,
Company Bank Account,Bankovni račun kompanije,
Party Bank Account,Bankovni račun stranke,
Account Paid From,Računa isplaćuju iz,
Account Paid To,Račun Paid To,
Paid Amount (Company Currency),Uplaćeni iznos (poduzeća Valuta),
Received Amount,Primljeni Iznos,
Received Amount (Company Currency),Primljeni Iznos (Company Valuta),
Get Outstanding Invoice,Nabavite izvanredni račun,
Payment References,plaćanje Reference,
Writeoff,Otpisati,
Total Allocated Amount,Ukupan dodijeljeni iznos,
Total Allocated Amount (Company Currency),Ukupan dodijeljeni iznos (Company Valuta),
Set Exchange Gain / Loss,Set Exchange dobitak / gubitak,
Difference Amount (Company Currency),Razlika Iznos (Company Valuta),
Write Off Difference Amount,Otpis Razlika Iznos,
Deductions or Loss,Smanjenja ili gubitak,
Payment Deductions or Loss,Plaćanje Smanjenja ili gubitak,
Cheque/Reference Date,Ček / Referentni datum,
Payment Entry Deduction,Plaćanje Entry Odbitak,
Payment Entry Reference,Plaćanje Entry Reference,
Allocated,Izdvojena,
Payment Gateway Account,Payment Gateway računa,
Payment Account,Plaćanje računa,
Default Payment Request Message,Uobičajeno plaćanje poruka zahtjeva,
PMO-,PMO-,
Payment Order Type,Vrsta naloga za plaćanje,
Payment Order Reference,Referentni nalog za plaćanje,
Bank Account Details,Detalji o bankovnom računu,
Payment Reconciliation,Pomirenje plaćanja,
Receivable / Payable Account,Potraživanja / Account plaćaju,
Bank / Cash Account,Banka / Cash račun,
From Invoice Date,Iz Datum računa,
To Invoice Date,Da biste Datum računa,
Minimum Invoice Amount,Minimalni iznos fakture,
Maximum Invoice Amount,Maksimalni iznos fakture,
System will fetch all the entries if limit value is zero.,Sustav će preuzeti sve unose ako je granična vrijednost jednaka nuli.,
Get Unreconciled Entries,Kreiraj neusklađene ulaze,
Unreconciled Payment Details,Nesaglašen Detalji plaćanja,
Invoice/Journal Entry Details,Račun / Journal Entry Detalji,
Payment Reconciliation Invoice,Pomirenje Plaćanje fakture,
Invoice Number,Račun broj,
Payment Reconciliation Payment,Pomirenje Plaćanje Plaćanje,
Reference Row,referentni Row,
Allocated amount,Izdvojena iznosu,
Payment Request Type,Tip zahtjeva za plaćanje,
Outward,Napolju,
Inward,Unutra,
ACC-PRQ-.YYYY.-,ACC-PRQ-YYYY.-,
Transaction Details,Detalji transakcije,
Amount in customer's currency,Iznos u valuti kupca,
Is a Subscription,Je Pretplata,
Transaction Currency,transakcija valuta,
Subscription Plans,Planovi pretplate,
SWIFT Number,SWIFT broj,
Recipient Message And Payment Details,Primalac poruka i plaćanju,
Make Sales Invoice,Ostvariti prodaju fakturu,
Mute Email,Mute-mail,
payment_url,payment_url,
Payment Gateway Details,Payment Gateway Detalji,
Payment Schedule,Raspored plaćanja,
Invoice Portion,Portfelj fakture,
Payment Amount,Plaćanje Iznos,
Payment Term Name,Naziv termina plaćanja,
Due Date Based On,Due Date Based On,
Day(s) after invoice date,Dan (a) nakon datuma fakture,
Day(s) after the end of the invoice month,Dan (i) nakon završetka meseca fakture,
Month(s) after the end of the invoice month,Mesec (i) nakon kraja mjeseca fakture,
Credit Days,Kreditne Dani,
Credit Months,Kreditni meseci,
Allocate Payment Based On Payment Terms,Dodijelite plaćanje na osnovu uslova plaćanja,
"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Ako je ovo polje potvrđeno, uplaćeni iznos podijelit će se i rasporediti prema iznosima u rasporedu plaćanja prema svakom roku plaćanja",
Payment Terms Template Detail,Detail Template Template,
Closing Fiscal Year,Zatvaranje Fiskalna godina,
Closing Account Head,Zatvaranje računa šefa,
"The account head under Liability or Equity, in which Profit/Loss will be booked","Glava račun pod odgovornošću ili Equity, u kojoj će se rezervirati Dobit / Gubitak",
POS Customer Group,POS kupaca Grupa,
POS Field,POS polje,
POS Item Group,POS Stavka Group,
Company Address,Company Adresa,
Update Stock,Ažurirajte Stock,
Ignore Pricing Rule,Ignorirajte Cijene pravilo,
Applicable for Users,Primenljivo za korisnike,
Sales Invoice Payment,Prodaja fakture za plaćanje,
Item Groups,stavka grupe,
Only show Items from these Item Groups,Prikažite samo stavke iz ovih grupa predmeta,
Customer Groups,Customer grupe,
Only show Customer of these Customer Groups,Pokaži samo kupca ovih grupa kupaca,
Write Off Account,Napišite Off račun,
Write Off Cost Center,Otpis troška,
Account for Change Amount,Nalog za promjene Iznos,
Taxes and Charges,Porezi i naknade,
Apply Discount On,Nanesite popusta na,
POS Profile User,POS korisnik profila,
Apply On,Primjeni na,
Price or Product Discount,Cijena ili popust na proizvod,
Apply Rule On Item Code,Primijenite pravilo na kod predmeta,
Apply Rule On Item Group,Primijenite pravilo na grupu predmeta,
Apply Rule On Brand,Primjeni pravilo na marku,
Mixed Conditions,Mešani uslovi,
Conditions will be applied on all the selected items combined. ,Uvjeti će se primjenjivati na sve odabrane stavke zajedno.,
Is Cumulative,Je kumulativno,
Coupon Code Based,Na osnovu koda kupona,
Discount on Other Item,Popust na drugi artikl,
Apply Rule On Other,Primijenite Pravilo na ostalo,
Party Information,Informacije o zabavi,
Quantity and Amount,Količina i količina,
Min Qty,Min kol,
Max Qty,Max kol,
Min Amt,Min Amt,
Max Amt,Max Amt,
Period Settings,Podešavanja razdoblja,
Margin,Marža,
Margin Type,Margina Tip,
Margin Rate or Amount,Margina Rate ili iznos,
Price Discount Scheme,Shema popusta na cijene,
Rate or Discount,Stopa ili popust,
Discount Percentage,Postotak rabata,
Discount Amount,Iznos rabata,
For Price List,Za Cjeniku,
Product Discount Scheme,Shema popusta na proizvode,
Same Item,Ista stavka,
Free Item,Free Item,
Threshold for Suggestion,Prag za sugestiju,
System will notify to increase or decrease quantity or amount ,Sistem će obavijestiti da poveća ili smanji količinu ili količinu,
"Higher the number, higher the priority","Veći broj, veći prioritet",
Apply Multiple Pricing Rules,Primenite višestruka pravila cena,
Apply Discount on Rate,Primenite popust na rate,
Validate Applied Rule,Potvrdite primijenjeno pravilo,
Rule Description,Opis pravila,
Pricing Rule Help,Cijene Pravilo Pomoć,
Promotional Scheme Id,Id promotivne šeme,
Promotional Scheme,Promotivna šema,
Pricing Rule Brand,Marka pravila o cijenama,
Pricing Rule Detail,Detalj pravila o cijenama,
Child Docname,Ime deteta,
Rule Applied,Pravilo se primjenjuje,
Pricing Rule Item Code,Pravilo cijene Šifra predmeta,
Pricing Rule Item Group,Skupina pravila pravila o cijenama,
Price Discount Slabs,Ploče s popustom cijena,
Promotional Scheme Price Discount,Popust na promotivne šeme,
Product Discount Slabs,Ploče s popustom na proizvode,
Promotional Scheme Product Discount,Popust na promotivne šeme proizvoda,
Min Amount,Min. Iznos,
Max Amount,Maksimalni iznos,
Discount Type,Tip popusta,
ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
Tax Withholding Category,Kategorija za oduzimanje poreza,
Edit Posting Date and Time,Edit knjiženja datuma i vremena,
Is Paid,plaća,
Is Return (Debit Note),Je povratak (obaveštenje o zaduživanju),
Apply Tax Withholding Amount,Primijeniti iznos poreznog štednje,
Accounting Dimensions ,Računovodstvene dimenzije,
Supplier Invoice Details,Dobavljač Račun Detalji,
Supplier Invoice Date,Dobavljač Datum fakture,
Return Against Purchase Invoice,Vratiti protiv fakturi,
Select Supplier Address,Izaberite dobavljač adresa,
Contact Person,Kontakt osoba,
Select Shipping Address,Izaberite Dostava Adresa,
Currency and Price List,Valuta i cjenik,
Price List Currency,Cjenik valuta,
Price List Exchange Rate,Cjenik tečajna,
Set Accepted Warehouse,Postavite Prihvaćeno skladište,
Rejected Warehouse,Odbijen galerija,
Warehouse where you are maintaining stock of rejected items,Skladište gdje ste održavanju zaliha odbijenih stavki,
Raw Materials Supplied,Sirovine nabavlja,
Supplier Warehouse,Dobavljač galerija,
Pricing Rules,Pravila cijena,
Supplied Items,Isporučenog pribora,
Total (Company Currency),Ukupno (Company valuta),
Net Total (Company Currency),Neto Ukupno (Društvo valuta),
Total Net Weight,Ukupna neto težina,
Shipping Rule,Pravilo transporta,
Purchase Taxes and Charges Template,Kupiti poreza i naknada Template,
Purchase Taxes and Charges,Kupnja Porezi i naknade,
Tax Breakup,porez Raspad,
Taxes and Charges Calculation,Porezi i naknade Proračun,
Taxes and Charges Added (Company Currency),Porezi i naknade uvrštenja (Društvo valuta),
Taxes and Charges Deducted (Company Currency),Porezi i naknade Umanjenja (Društvo valuta),
Total Taxes and Charges (Company Currency),Ukupno Porezi i naknade (Društvo valuta),
Taxes and Charges Added,Porezi i naknade Dodano,
Taxes and Charges Deducted,Porezi i naknade oduzeti,
Total Taxes and Charges,Ukupno Porezi i naknade,
Additional Discount,Dodatni popust,
Apply Additional Discount On,Nanesite dodatni popust na,
Additional Discount Amount (Company Currency),Dodatni popust Iznos (Company valuta),
Additional Discount Percentage,Dodatni postotak popusta,
Additional Discount Amount,Dodatni iznos popusta,
Grand Total (Company Currency),Sveukupno (valuta tvrtke),
Rounding Adjustment (Company Currency),Prilagođavanje zaokruživanja (valuta kompanije),
Rounded Total (Company Currency),Zaobljeni Ukupno (Društvo valuta),
In Words (Company Currency),Riječima (valuta tvrtke),
Rounding Adjustment,Prilagođavanje zaokruživanja,
In Words,Riječima,
Total Advance,Ukupno predujma,
Disable Rounded Total,Ugasiti zaokruženi iznos,
Cash/Bank Account,Novac / bankovni račun,
Write Off Amount (Company Currency),Otpis Iznos (poduzeća Valuta),
Set Advances and Allocate (FIFO),Postavite napredak i dodelite (FIFO),
Get Advances Paid,Kreiraj avansno plaćanje,
Advances,Avansi,
Terms,Uvjeti,
Terms and Conditions1,Odredbe i Conditions1,
Group same items,Grupa iste stavke,
Print Language,print Jezik,
"Once set, this invoice will be on hold till the set date","Jednom podešen, ovaj račun će biti na čekanju do određenog datuma",
Credit To,Kreditne Da,
Party Account Currency,Party računa valuta,
Against Expense Account,Protiv Rashodi račun,
Inter Company Invoice Reference,Referenca interne kompanije,
Is Internal Supplier,Je interni snabdevač,
Start date of current invoice's period,Početak datum tekućeg razdoblja dostavnice,
End date of current invoice's period,Kraj datum tekućeg razdoblja dostavnice,
Update Auto Repeat Reference,Ažurirajte Auto Repeat Reference,
Purchase Invoice Advance,Narudzbine avans,
Purchase Invoice Item,Narudzbine stavki,
Quantity and Rate,Količina i stopa,
Received Qty,Pozicija Kol,
Accepted Qty,Prihvaćeno Količina,
Rejected Qty,odbijena Količina,
UOM Conversion Factor,UOM konverzijski faktor,
Discount on Price List Rate (%),Popust na cijenu List stopa (%),
Price List Rate (Company Currency),Cjenik stopa (Društvo valuta),
Rate ,Cijena,
Rate (Company Currency),Cijena (Valuta kompanije),
Amount (Company Currency),Iznos (valuta preduzeća),
Is Free Item,Je besplatna stavka,
Net Rate,Neto stopa,
Net Rate (Company Currency),Neto stopa (Company valuta),
Net Amount (Company Currency),Neto iznos (Company valuta),
Item Tax Amount Included in Value,Iznos poreza uključen u vrijednost,
Landed Cost Voucher Amount,Sleteo Cost vaučera Iznos,
Raw Materials Supplied Cost,Sirovine Isporuka Troškovi,
Accepted Warehouse,Prihvaćeno skladište,
Serial No,Serijski br,
Rejected Serial No,Odbijen Serijski br,
Expense Head,Rashodi voditelj,
Is Fixed Asset,Fiksni Asset,
Asset Location,Lokacija imovine,
Deferred Expense,Odloženi troškovi,
Deferred Expense Account,Odloženi račun za troškove,
Service Stop Date,Datum zaustavljanja usluge,
Enable Deferred Expense,Omogućite odloženi trošak,
Service Start Date,Datum početka usluge,
Service End Date,Datum završetka usluge,
Allow Zero Valuation Rate,Dozvolite Zero Vrednovanje Rate,
Item Tax Rate,Poreska stopa artikla,
Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Porez detalj stol učitani iz stavka master kao string i pohranjeni u ovoj oblasti.\n Koristi se za poreza i naknada,
Purchase Order Item,Narudžbenica predmet,
Purchase Receipt Detail,Detalji potvrde o kupnji,
Item Weight Details,Detaljna težina stavke,
Weight Per Unit,Težina po jedinici,
Total Weight,Ukupna tezina,
Weight UOM,Težina UOM,
Page Break,Prijelom stranice,
Consider Tax or Charge for,Razmislite poreza ili pristojbi za,
Valuation and Total,Vrednovanje i Total,
Valuation,Procjena,
Add or Deduct,Zbrajanje ili oduzimanje,
Deduct,Odbiti,
On Previous Row Amount,Na prethodnu Row visini,
On Previous Row Total,Na prethodni redak Ukupno,
On Item Quantity,Na Količina predmeta,
Reference Row #,Reference Row #,
Is this Tax included in Basic Rate?,Je li ovo pristojba uključena u osnovne stope?,
"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",
Account Head,Zaglavlje konta,
Tax Amount After Discount Amount,Iznos poreza Nakon iznosa popusta,
Item Wise Tax Detail ,Detalj poreza na mudar predmet,
"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.\n\n#### Note\n\nThe 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.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **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.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. 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).\n9. 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.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Standard poreza predložak koji se može primijeniti na sve kupovnih transakcija. Ovaj predložak može sadržavati popis poreskih glava i drugih rashoda glave kao što su ""Shipping"", ""osiguranje"", ""Rukovanje"" itd \n\n #### Napomena \n\n Stopa poreza te definirati ovdje će biti standardna stopa poreza za sve ** Predmeti **. Ako postoje ** ** Predmeti koji imaju različite stope, oni moraju biti dodan u ** Stavka poreza na stolu ** u ** ** Stavka master.\n\n #### Opis Kolumne \n\n 1. Obračun Tip: \n - To može biti na ** Neto Ukupno ** (to je zbroj osnovnog iznosa).\n - ** Na Prethodna Row Ukupan / Iznos ** (za kumulativni poreza ili naknada). Ako odaberete ovu opciju, porez će se primjenjivati kao postotak prethodnog reda (u tabeli poreza) iznos ili ukupno.\n - ** Stvarna ** (kao što je spomenuto).\n 2. Račun Head: The račun knjigu pod kojima porez će biti kažnjen \n 3. Trošak Center: Ako porez / zadužen je prihod (kao što je shipping) ili rashod treba da se rezervirati protiv troška.\n 4. Opis: Opis poreza (koje će se štampati u fakturama / navodnika).\n 5. Rate: Stopa poreza.\n 6. Iznos: Iznos PDV-a.\n 7. Ukupno: Kumulativni ukupno do ove tačke.\n 8. Unesite Row: Ako na osnovu ""Prethodna Row Ukupno"" možete odabrati broj reda koji se mogu uzeti kao osnova za ovaj proračun (default je prethodnog reda).\n 9. Razmislite poreza ili naknada za: U ovom dijelu možete odrediti ako poreski / zadužen je samo za vrednovanje (nije dio od ukupnog broja), ili samo za ukupno (ne dodaje vrijednost u stavku) ili oboje.\n 10. Dodavanje ili Oduzeti: Bilo da želite dodati ili oduzeti porez.",
ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
Include Payment (POS),Uključuju plaćanje (POS),
Offline POS Name,Offline POS Ime,
Is Return (Credit Note),Je povratak (kreditna beleška),
Return Against Sales Invoice,Vratiti Protiv Sales fakture,
Update Billed Amount in Sales Order,Ažurirajte naplaćeni iznos u prodajnom nalogu,
Customer PO Details,Kupac PO Detalji,
Customer's Purchase Order,Narudžbenica kupca,
Customer's Purchase Order Date,Kupca narudžbenice Datum,
Customer Address,Kupac Adresa,
Shipping Address Name,Dostava adresa Ime,
Company Address Name,Kompanija adresa Ime,
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 customer's base currency,Stopa po kojoj Cjenik valute se pretvaraju u kupca osnovne valute,
Set Source Warehouse,Podesite Source Warehouse,
Packing List,Popis pakiranja,
Packed Items,Pakirano Predmeti,
Product Bundle Help,Proizvod Bundle Pomoć,
Time Sheet List,Time Sheet List,
Time Sheets,Time listovi,
Total Billing Amount,Ukupan iznos naplate,
Sales Taxes and Charges Template,Prodaja poreza i naknada Template,
Sales Taxes and Charges,Prodaja Porezi i naknade,
Loyalty Points Redemption,Povlačenje lojalnosti,
Redeem Loyalty Points,Iskoristite lojalnostne tačke,
Redemption Account,Račun za otkup,
Redemption Cost Center,Centar za isplatu troškova,
In Words will be visible once you save the Sales Invoice.,U riječi će biti vidljiv nakon što spremite prodaje fakture.,
Allocate Advances Automatically (FIFO),Dodjeljivanje unaprijed automatski (FIFO),
Get Advances Received,Kreiraj avansno primanje,
Base Change Amount (Company Currency),Base Promijeni Iznos (Company Valuta),
Write Off Outstanding Amount,Otpisati preostali iznos,
Terms and Conditions Details,Uvjeti Detalji,
Is Internal Customer,Je interni korisnik,
Is Discounted,Se snižava,
Unpaid and Discounted,Neplaćeno i sniženo,
Overdue and Discounted,Zakašnjeli i sniženi,
Accounting Details,Računovodstvo Detalji,
Debit To,Rashodi za,
Is Opening Entry,Je Otvaranje unos,
C-Form Applicable,C-obrascu,
Commission Rate (%),Komisija stopa (%),
Sales Team1,Prodaja Team1,
Against Income Account,Protiv računu dohotka,
Sales Invoice Advance,Predujam prodajnog računa,
Advance amount,Iznos avansa,
Sales Invoice Item,Stavka fakture prodaje,
Customer's Item Code,Kupca Stavka Šifra,
Brand Name,Naziv brenda,
Qty as per Stock UOM,Količina po burzi UOM,
Discount and Margin,Popust i Margin,
Rate With Margin,Stopu sa margina,
Discount (%) on Price List Rate with Margin,Popust (%) na Cjenovnik objekta sa margina,
Rate With Margin (Company Currency),Rate With Margin (Valuta kompanije),
Delivered By Supplier,Isporučuje dobavljač,
Deferred Revenue,Odloženi prihodi,
Deferred Revenue Account,Odgođeni račun za prihode,
Enable Deferred Revenue,Omogućite odloženi prihod,
Stock Details,Stock Detalji,
Customer Warehouse (Optional),Customer Warehouse (Opcionalno),
Available Batch Qty at Warehouse,Dostupno Batch Količina na Skladište,
Available Qty at Warehouse,Dostupna količina na skladištu,
Delivery Note Item,Stavka otpremnice,
Base Amount (Company Currency),Base Iznos (Company Valuta),
Sales Invoice Timesheet,Prodaja Račun Timesheet,
Time Sheet,Time Sheet,
Billing Hours,Billing Hours,
Timesheet Detail,Timesheet Detail,
Tax Amount After Discount Amount (Company Currency),Iznos PDV-a Nakon Popust Iznos (Company valuta),
Item Wise Tax Detail,Stavka Wise Porezna Detalj,
Parenttype,Parenttype,
"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.\n\n#### Note\n\nThe 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.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **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.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. 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).\n9. 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.","Standard poreza predložak koji se može primijeniti na sve poslove prodaje. Ovaj predložak može sadržavati popis poreskih glava i ostali rashodi / prihodi glave kao što su ""Shipping"", ""osiguranje"", ""Rukovanje"" itd \n\n #### Napomena \n\n Stopa poreza te definirati ovdje će biti standardna stopa poreza za sve ** Predmeti **. Ako postoje ** ** Predmeti koji imaju različite stope, oni moraju biti dodan u ** Stavka poreza na stolu ** u ** ** Stavka master.\n\n #### Opis Kolumne \n\n 1. Obračun Tip: \n - To može biti na ** Neto Ukupno ** (to je zbroj osnovnog iznosa).\n - ** Na Prethodna Row Ukupan / Iznos ** (za kumulativni poreza ili naknada). Ako odaberete ovu opciju, porez će se primjenjivati kao postotak prethodnog reda (u tabeli poreza) iznos ili ukupno.\n - ** Stvarna ** (kao što je spomenuto).\n 2. Račun Head: The račun knjigu pod kojima porez će biti kažnjen \n 3. Trošak Center: Ako porez / zadužen je prihod (kao što je shipping) ili rashod treba da se rezervirati protiv troška.\n 4. Opis: Opis poreza (koje će se štampati u fakturama / navodnika).\n 5. Rate: Stopa poreza.\n 6. Iznos: Iznos PDV-a.\n 7. Ukupno: Kumulativni ukupno do ove tačke.\n 8. Unesite Row: Ako na osnovu ""Prethodna Row Ukupno"" možete odabrati broj reda koji se mogu uzeti kao osnova za ovaj proračun (default je prethodnog reda).\n 9. Je li ovo pristojba uključena u Basic Rate ?: Ako označite ovu, to znači da ovaj porez neće biti prikazan ispod stola stavku, ali će biti uključeni u Basic Rate na glavnom stavku stola. To je korisno u kojoj želite dati cijena stana (uključujući sve poreze) cijene kupcima.",
* Will be calculated in the transaction.,* Hoće li biti izračunata u transakciji.,
From No,Od br,
To No,Da ne,
Is Company,Je kompanija,
Current State,Trenutna drzava,
Purchased,Kupljeno,
From Shareholder,Od dioničara,
From Folio No,Od Folio No,
To Shareholder,Za dioničara,
To Folio No,Za Folio No,
Equity/Liability Account,Račun kapitala / obaveza,
Asset Account,Račun imovine,
(including),(uključujući),
ACC-SH-.YYYY.-,ACC-SH-YYYY.-,
Folio no.,Folio br.,
Address and Contacts,Adresa i kontakti,
Contact List,Lista kontakata,
Hidden list maintaining the list of contacts linked to Shareholder,Skrivena lista održavajući listu kontakata povezanih sa akcionarima,
Specify conditions to calculate shipping amount,Odredite uvjete za izračunavanje iznosa shipping,
Shipping Rule Label,Naziv pravila transporta,
example: Next Day Shipping,Primjer: Sljedeći dan Dostava,
Shipping Rule Type,Tip pravila isporuke,
Shipping Account,Konto transporta,
Calculate Based On,Izračun zasnovan na,
Fixed,Fiksna,
Net Weight,Neto težina,
Shipping Amount,Iznos transporta,
Shipping Rule Conditions,Uslovi pravila transporta,
Restrict to Countries,Ograničiti zemlje,
Valid for Countries,Vrijedi za zemlje,
Shipping Rule Condition,Uslov pravila transporta,
A condition for a Shipping Rule,A uvjet za Shipping Pravilo,
From Value,Od Vrijednost,
To Value,Za vrijednost,
Shipping Rule Country,Dostava Pravilo Country,
Subscription Period,Period pretplate,
Subscription Start Date,Datum početka pretplate,
Cancelation Date,Datum otkazivanja,
Trial Period Start Date,Datum početka probnog perioda,
Trial Period End Date,Datum završetka probnog perioda,
Current Invoice Start Date,Trenutni datum početka fakture,
Current Invoice End Date,Trenutni datum završetka računa,
Days Until Due,Dani do dospijeća,
Number of days that the subscriber has to pay invoices generated by this subscription,Broj dana kada pretplatnik mora platiti fakture koje generiše ova pretplata,
Cancel At End Of Period,Otkaži na kraju perioda,
Generate Invoice At Beginning Of Period,Generirajte fakturu na početku perioda,
Plans,Planovi,
Discounts,Popusti,
Additional DIscount Percentage,Dodatni popust Procenat,
Additional DIscount Amount,Dodatni popust Iznos,
Subscription Invoice,Pretplata faktura,
Subscription Plan,Plan pretplate,
Cost,Troškovi,
Billing Interval,Interval zaračunavanja,
Billing Interval Count,Interval broja obračuna,
"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Broj intervala za intervalno polje npr. Ako je Interval &quot;Dani&quot; i broj intervala obračuna je 3, fakture će biti generirane svakih 3 dana",
Payment Plan,Plan placanja,
Subscription Plan Detail,Detalji pretplate,
Plan,Plan,
Subscription Settings,Podešavanja pretplate,
Grace Period,Grace Period,
Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Broj dana od dana kada je faktura protekla prije otkazivanja pretplate ili obilježavanja pretplate kao neplaćenog,
Prorate,Prorate,
Tax Rule,Porez pravilo,
Tax Type,Vrste poreza,
Use for Shopping Cart,Koristiti za Košarica,
Billing City,Billing Grad,
Billing County,Billing županije,
Billing State,State billing,
Billing Zipcode,Zipcode za naplatu,
Billing Country,Billing Country,
Shipping City,Dostava City,
Shipping County,Dostava županije,
Shipping State,State dostava,
Shipping Zipcode,Isporuka Zipcode,
Shipping Country,Dostava Country,
Tax Withholding Account,Porez na odbitak,
Tax Withholding Rates,Poreske stope odbijanja,
Rates,Cijene,
Tax Withholding Rate,Stopa zadržavanja poreza,
Single Transaction Threshold,Pojedinačni transakcioni prag,
Cumulative Transaction Threshold,Kumulativni prag transakcije,
Agriculture Analysis Criteria,Kriterijumi za analizu poljoprivrede,
Linked Doctype,Linked Doctype,
Water Analysis,Analiza vode,
Soil Analysis,Analiza tla,
Plant Analysis,Analiza biljaka,
Fertilizer,Đubrivo,
Soil Texture,Tekstura tla,
Weather,Vrijeme,
Agriculture Manager,Poljoprivredni menadžer,
Agriculture User,Korisnik poljoprivrede,
Agriculture Task,Poljoprivreda zadatak,
Task Name,Task Name,
Start Day,Početak dana,
End Day,Krajnji dan,
Holiday Management,Holiday Management,
Ignore holidays,Ignoriši praznike,
Previous Business Day,Prethodni radni dan,
Next Business Day,Sledeći radni dan,
Urgent,Hitan,
Crop Name,Naziv žetve,
Scientific Name,Naučno ime,
"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Možete definisati sve zadatke koje je potrebno izvršiti za ovu žetvu ovdje. Dnevno polje se koristi da se pomene dan na koji se zadatak treba izvršiti, 1 je 1. dan itd.",
Crop Spacing,Rastojanje usjeva,
Crop Spacing UOM,Crop Spacing UOM,
Row Spacing,Razmak redova,
Row Spacing UOM,Razmak redova UOM,
Perennial,Višegodišnje,
Biennial,Bijenale,
Planting UOM,Sadnja UOM,
Planting Area,Sala za sadnju,
Yield UOM,Primarni UOM,
Materials Required,Potrebni materijali,
Produced Items,Proizvedene stavke,
Produce,Proizvesti,
Byproducts,Podbrojevi,
Linked Location,Povezana lokacija,
A link to all the Locations in which the Crop is growing,Veza sa svim lokacijama u kojima se Crop raste,
This will be day 1 of the crop cycle,Ovo će biti dan 1 ciklusa usjeva,
ISO 8601 standard,ISO 8601 standard,
Cycle Type,Tip ciklusa,
Less than a year,Manje od godinu dana,
The minimum length between each plant in the field for optimum growth,Minimalna dužina između svake biljke u polju za optimalan rast,
The minimum distance between rows of plants for optimum growth,Minimalno rastojanje između redova biljaka za optimalan rast,
Detected Diseases,Otkrivene bolesti,
List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Spisak otkrivenih bolesti na terenu. Kada je izabran, automatski će dodati listu zadataka koji će se baviti bolesti",
Detected Disease,Detektovana bolest,
LInked Analysis,LInked Analysis,
Disease,Bolest,
Tasks Created,Kreirani zadaci,
Common Name,Zajedničko ime,
Treatment Task,Tretman zadataka,
Treatment Period,Period lečenja,
Fertilizer Name,Ime đubriva,
Density (if liquid),Gustina (ako je tečnost),
Fertilizer Contents,Sadržaj đubriva,
Fertilizer Content,Sadržaj đubriva,
Linked Plant Analysis,Analiza povezanih biljaka,
Linked Soil Analysis,Linked soil analysis,
Linked Soil Texture,Linked Soil Texture,
Collection Datetime,Kolekcija Datetime,
Laboratory Testing Datetime,Laboratorijsko ispitivanje Datetime,
Result Datetime,Result Datetime,
Plant Analysis Criterias,Kriterijumi za analizu biljaka,
Plant Analysis Criteria,Kriterijumi za analizu biljaka,
Minimum Permissible Value,Minimalna dozvoljena vrijednost,
Maximum Permissible Value,Maksimalna dozvoljena vrijednost,
Ca/K,Ca / K,
Ca/Mg,Ca / Mg,
Mg/K,Mg / K,
(Ca+Mg)/K,(Ca + Mg) / K,
Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
Soil Analysis Criterias,Kriterijumi za analizu zemljišta,
Soil Analysis Criteria,Kriterijumi za analizu zemljišta,
Soil Type,Vrsta zemljišta,
Loamy Sand,Loamy Sand,
Sandy Loam,Sandy Loam,
Loam,Loam,
Silt Loam,Silt Loam,
Sandy Clay Loam,Sandy Clay Loam,
Clay Loam,Clay Loam,
Silty Clay Loam,Silty Clay Loam,
Sandy Clay,Sandy Clay,
Silty Clay,Silty Clay,
Clay Composition (%),Glina sastav (%),
Sand Composition (%),Kompozicija peska (%),
Silt Composition (%),Silt sastav (%),
Ternary Plot,Ternary plot,
Soil Texture Criteria,Kriterijumi za teksturu tla,
Type of Sample,Tip uzorka,
Container,Kontejner,
Origin,Poreklo,
Collection Temperature ,Temperatura kolekcije,
Storage Temperature,Temperatura skladištenja,
Appearance,Izgled,
Person Responsible,Odgovorna osoba,
Water Analysis Criteria,Kriterijumi za analizu vode,
Weather Parameter,Vremenski parametar,
ACC-ASS-.YYYY.-,ACC-ASS-YYYY.-,
Asset Owner,Vlasnik imovine,
Asset Owner Company,Vlasnička kompanija,
Custodian,Skrbnik,
Disposal Date,odlaganje Datum,
Journal Entry for Scrap,Journal Entry za otpad,
Available-for-use Date,Datum dostupan za upotrebu,
Calculate Depreciation,Izračunajte amortizaciju,
Allow Monthly Depreciation,Dopustite mjesečnu amortizaciju,
Number of Depreciations Booked,Broj Amortizacija Booked,
Finance Books,Finansijske knjige,
Straight Line,Duž,
Double Declining Balance,Double degresivne,
Manual,priručnik,
Value After Depreciation,Vrijednost Nakon Amortizacija,
Total Number of Depreciations,Ukupan broj Amortizacija,
Frequency of Depreciation (Months),Učestalost amortizacije (mjeseci),
Next Depreciation Date,Sljedeća Amortizacija Datum,
Depreciation Schedule,Amortizacija Raspored,
Depreciation Schedules,Amortizacija rasporedi,
Insurance details,Detalji osiguranja,
Policy number,Broj police,
Insurer,Osiguravač,
Insured value,Osigurana vrijednost,
Insurance Start Date,Datum početka osiguranja,
Insurance End Date,Krajnji datum osiguranja,
Comprehensive Insurance,Sveobuhvatno osiguranje,
Maintenance Required,Potrebno održavanje,
Check if Asset requires Preventive Maintenance or Calibration,Proverite da li imovina zahteva preventivno održavanje ili kalibraciju,
Booked Fixed Asset,Rezervisana osnovna sredstva,
Purchase Receipt Amount,Iznos kupoprodajnog iznosa,
Default Finance Book,Osnovna finansijska knjiga,
Quality Manager,Quality Manager,
Asset Category Name,Asset Ime kategorije,
Depreciation Options,Opcije amortizacije,
Enable Capital Work in Progress Accounting,Omogućite kapitalni rad u računovodstvu u toku,
Finance Book Detail,Knjiga finansija Detail,
Asset Category Account,Asset Kategorija računa,
Fixed Asset Account,Osnovnih sredstava računa,
Accumulated Depreciation Account,Ispravka vrijednosti računa,
Depreciation Expense Account,Troškovi amortizacije računa,
Capital Work In Progress Account,Kapitalni rad je u toku,
Asset Finance Book,Asset Finance Book,
Written Down Value,Pisanje vrednosti,
Expected Value After Useful Life,Očekivana vrijednost Nakon Korisni Life,
Rate of Depreciation,Stopa amortizacije,
In Percentage,U procentima,
Maintenance Team,Tim za održavanje,
Maintenance Manager Name,Ime menadžera održavanja,
Maintenance Tasks,Zadaci održavanja,
Manufacturing User,Proizvodnja korisnika,
Asset Maintenance Log,Dnevnik o održavanju imovine,
ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
Maintenance Type,Održavanje Tip,
Maintenance Status,Održavanje statusa,
Planned,Planirano,
Has Certificate ,Ima certifikat,
Certificate,Certifikat,
Actions performed,Izvršene akcije,
Asset Maintenance Task,Zadatak održavanja sredstava,
Maintenance Task,Zadatak održavanja,
Preventive Maintenance,Preventivno održavanje,
Calibration,Kalibracija,
2 Yearly,2 Yearly,
Certificate Required,Sertifikat je potreban,
Assign to Name,Dodijeli imenu,
Next Due Date,Sljedeći datum roka,
Last Completion Date,Zadnji datum završetka,
Asset Maintenance Team,Tim za održavanje imovine,
Maintenance Team Name,Naziv tima za održavanje,
Maintenance Team Members,Članovi tima za održavanje,
Purpose,Svrha,
Stock Manager,Stock Manager,
Asset Movement Item,Stavka kretanja imovine,
Source Location,Izvor Lokacija,
From Employee,Od zaposlenika,
Target Location,Ciljna lokacija,
To Employee,Za zaposlene,
Asset Repair,Popravka imovine,
ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
Failure Date,Datum otkaza,
Assign To Name,Dodeli ime,
Repair Status,Status popravke,
Error Description,Opis greške,
Downtime,Zaustavljanje,
Repair Cost,Troškovi popravki,
Manufacturing Manager,Proizvodnja Manager,
Current Asset Value,Trenutna vrednost aktive,
New Asset Value,Nova vrijednost imovine,
Make Depreciation Entry,Make Amortizacija Entry,
Finance Book Id,Id Book of Finance,
Location Name,Ime lokacije,
Parent Location,Lokacija roditelja,
Is Container,Je kontejner,
Check if it is a hydroponic unit,Proverite da li je to hidroponska jedinica,
Location Details,Detalji o lokaciji,
Latitude,Latitude,
Longitude,Dužina,
Area,Područje,
Area UOM,Područje UOM,
Tree Details,Tree Detalji,
Maintenance Team Member,Član tima za održavanje,
Team Member,Član tima,
Maintenance Role,Uloga održavanja,
Buying Settings,Podešavanja nabavke,
Settings for Buying Module,Postavke za kupovinu modul,
Supplier Naming By,Dobavljač nazivanje,
Default Supplier Group,Podrazumevana grupa dobavljača,
Default Buying Price List,Zadani cjenik kupnje,
Backflush Raw Materials of Subcontract Based On,Backflush sirovine od podizvođača na bazi,
Material Transferred for Subcontract,Preneseni materijal za podugovaranje,
Over Transfer Allowance (%),Dodatak za prebacivanje (%),
Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Postotak koji vam je dozvoljen da prenesete više u odnosu na naručenu količinu. Na primjer: Ako ste naručili 100 jedinica. a vaš dodatak iznosi 10%, tada vam je dozvoljeno prenijeti 110 jedinica.",
PUR-ORD-.YYYY.-,PUR-ORD-YYYY.-,
Get Items from Open Material Requests,Saznajte Predmeti od Open materijala Zahtjevi,
Fetch items based on Default Supplier.,Dohvatite stavke na osnovu zadanog dobavljača.,
Required By,Potrebna Do,
Order Confirmation No,Potvrda o porudžbini br,
Order Confirmation Date,Datum potvrđivanja porudžbine,
Customer Mobile No,Mobilni broj kupca,
Customer Contact Email,Email kontakta kupca,
Set Target Warehouse,Postavite Target Warehouse,
Sets 'Warehouse' in each row of the Items table.,Postavlja &#39;Skladište&#39; u svaki red tabele Predmeti.,
Supply Raw Materials,Supply sirovine,
Purchase Order Pricing Rule,Pravilo o cenama narudžbe,
Set Reserve Warehouse,Postavite rezervnu magacinu,
In Words will be visible once you save the Purchase Order.,U riječi će biti vidljiv nakon što spremite narudžbenice.,
Advance Paid,Advance Paid,
Tracking,Praćenje,
% Billed,Naplaćeno%,
% Received,% Primljeno,
Ref SQ,Ref. SQ,
Inter Company Order Reference,Referentna narudžba kompanije,
Supplier Part Number,Dobavljač Broj dijela,
Billed Amt,Naplaćeni izn,
Warehouse and Reference,Skladište i upute,
To be delivered to customer,Dostaviti kupcu,
Material Request Item,Materijal Zahtjev artikla,
Supplier Quotation Item,Dobavljač ponudu artikla,
Against Blanket Order,Protiv pokrivača,
Blanket Order,Narudžbina odeće,
Blanket Order Rate,Stopa porudžbine odeće,
Returned Qty,Vraćeni Količina,
Purchase Order Item Supplied,Narudžbenica artikla Isporuka,
BOM Detail No,BOM detalji - broj,
Stock Uom,Kataloški UOM,
Raw Material Item Code,Sirovine Stavka Šifra,
Supplied Qty,Isporučeni Količina,
Purchase Receipt Item Supplied,Kupnja Prijem artikla Isporuka,
Current Stock,Trenutni Stock,
PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
For individual supplier,Za pojedinačne dobavljač,
Link to Material Requests,Link do zahtjeva za materijalom,
Message for Supplier,Poruka za dobavljača,
Request for Quotation Item,Zahtjev za ponudu artikla,
Required Date,Potrebna Datum,
Request for Quotation Supplier,Zahtjev za ponudu dobavljač,
Send Email,Pošaljite e-mail,
Quote Status,Quote Status,
Download PDF,Preuzmi PDF,
Supplier of Goods or Services.,Dobavljač robe ili usluga.,
Name and Type,Naziv i tip,
SUP-.YYYY.-,SUP-.YYYY.-,
Default Bank Account,Zadani bankovni račun,
Is Transporter,Je transporter,
Represents Company,Predstavlja kompaniju,
Supplier Type,Dobavljač Tip,
Allow Purchase Invoice Creation Without Purchase Order,Dozvoli stvaranje računa za kupovinu bez naloga za kupovinu,
Allow Purchase Invoice Creation Without Purchase Receipt,Dozvoli stvaranje računa za kupovinu bez potvrde o kupovini,
Warn RFQs,Upozorite RFQs,
Warn POs,Upozorite PO,
Prevent RFQs,Sprečite RFQs,
Prevent POs,Sprečite PO,
Billing Currency,Valuta plaćanja,
Default Payment Terms Template,Podrazumevani obrazac za plaćanje,
Block Supplier,Blok isporučilac,
Hold Type,Tip držanja,
Leave blank if the Supplier is blocked indefinitely,Ostavite prazno ako je Dobavljač blokiran na neodređeno vreme,
Default Payable Accounts,Uobičajeno Računi dobavljača,
Mention if non-standard payable account,Navesti ukoliko nestandardnog plaća račun,
Default Tax Withholding Config,Podrazumevana poreska obaveza zadržavanja poreza,
Supplier Details,Dobavljač Detalji,
Statutory info and other general information about your Supplier,Zakonska info i druge opće informacije o vašem Dobavljaču,
PUR-SQTN-.YYYY.-,PUR-SQTN-YYYY.-,
Supplier Address,Dobavljač Adresa,
Link to material requests,Link za materijal zahtjeva,
Rounding Adjustment (Company Currency,Prilagođavanje zaokruživanja (valuta kompanije,
Auto Repeat Section,Auto Repeat Odjeljak,
Is Subcontracted,Je podugovarati,
Lead Time in days,Potencijalni kupac u danima,
Supplier Score,Ocjena dobavljača,
Indicator Color,Boja boje,
Evaluation Period,Period evaluacije,
Per Week,Po tjednu,
Per Month,Mjesečno,
Per Year,Godišnje,
Scoring Setup,Podešavanje bodova,
Weighting Function,Funkcija ponderiranja,
"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Može se koristiti varijable Scorecard, kao i: {total_score} (ukupna ocjena iz tog perioda), {period_number} (broj perioda za današnji dan)",
Scoring Standings,Tabelarni stavovi,
Criteria Setup,Postavljanje kriterijuma,
Load All Criteria,Učitaj sve kriterije,
Scoring Criteria,Kriteriji bodovanja,
Scorecard Actions,Action Scorecard,
Warn for new Request for Quotations,Upozorite na novi zahtev za citate,
Warn for new Purchase Orders,Upozoriti na nova narudžbina,
Notify Supplier,Obavijestiti dobavljača,
Notify Employee,Obavesti zaposlenika,
Supplier Scorecard Criteria,Kriterijumi za ocenjivanje dobavljača,
Criteria Name,Ime kriterijuma,
Max Score,Max Score,
Criteria Formula,Kriterijum Formula,
Criteria Weight,Kriterij Težina,
Supplier Scorecard Period,Period perioda ocenjivanja dobavljača,
PU-SSP-.YYYY.-,PU-SSP-YYYY.-,
Period Score,Ocena perioda,
Calculations,Izračunavanje,
Criteria,Kriterijumi,
Variables,Varijable,
Supplier Scorecard Setup,Podešavanje Scorecard-a,
Supplier Scorecard Scoring Criteria,Kriterijumi bodovanja rezultata ocenjivanja dobavljača,
Score,skor,
Supplier Scorecard Scoring Standing,Postupak Scorecard Scoreing Standing,
Standing Name,Stalno ime,
Purple,Ljubičasta,
Yellow,Žuta,
Orange,Narandžasta,
Min Grade,Min razred,
Max Grade,Max Grade,
Warn Purchase Orders,Upozoravajte narudžbenice,
Prevent Purchase Orders,Sprečite kupovne naloge,
Employee ,Radnik,
Supplier Scorecard Scoring Variable,Dobavljač Scorecard Scoring Variable,
Variable Name,Ime promenljive,
Parameter Name,Ime parametra,
Supplier Scorecard Standing,Standing Scorecard Standing,
Notify Other,Obavesti drugu,
Supplier Scorecard Variable,Varijabilni pokazatelj dobavljača,
Call Log,Spisak poziva,
Received By,Primio,
Caller Information,Informacije o pozivaocu,
Contact Name,Kontakt ime,
Lead ,Olovo,
Lead Name,Ime Lead-a,
Ringing,Zvuči,
Missed,Propušteno,
Call Duration in seconds,Trajanje poziva u sekundi,
Recording URL,URL za snimanje,
Communication Medium,Srednja komunikacija,
Communication Medium Type,Srednja komunikacija,
Voice,Glas,
Catch All,Catch All,
"If there is no assigned timeslot, then communication will be handled by this group","Ako nema dodeljenog vremenskog intervala, komunikacija će upravljati ovom grupom",
Timeslots,Timeslots,
Communication Medium Timeslot,Srednja komunikacija za vreme komunikacije,
Employee Group,Employee Group,
Appointment,Imenovanje,
Scheduled Time,Zakazano vreme,
Unverified,Neprovereno,
Customer Details,Korisnički podaci,
Phone Number,Telefonski broj,
Skype ID,Skype ID,
Linked Documents,Povezani dokumenti,
Appointment With,Sastanak sa,
Calendar Event,Kalendar događaja,
Appointment Booking Settings,Podešavanja rezervacije termina,
Enable Appointment Scheduling,Omogući zakazivanje termina,
Agent Details,Detalji o agentu,
Availability Of Slots,Dostupnost Slotova,
Number of Concurrent Appointments,Broj istodobnih imenovanja,
Agents,Agenti,
Appointment Details,Detalji sastanka,
Appointment Duration (In Minutes),Trajanje sastanka (u nekoliko minuta),
Notify Via Email,Obavijesti putem e-pošte,
Notify customer and agent via email on the day of the appointment.,Obavijestite kupca i agenta putem e-maila na dan sastanka.,
Number of days appointments can be booked in advance,Broj dana termina može se unaprijed rezervirati,
Success Settings,Postavke uspjeha,
Success Redirect URL,URL za preusmeravanje uspeha,
"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Ostavite prazno kod kuće. Ovo se odnosi na URL stranice, na primjer, &quot;about&quot; će se preusmjeriti na &quot;https://yoursitename.com/about&quot;",
Appointment Booking Slots,Slotovi za rezervaciju termina,
Day Of Week,Dan u nedelji,
From Time ,S vremena,
Campaign Email Schedule,Raspored e-pošte kampanje,
Send After (days),Pošaljite nakon (dana),
Signed,Potpisano,
Party User,Party User,
Unsigned,Unsigned,
Fulfilment Status,Status ispune,
N/A,N / A,
Unfulfilled,Neispunjeno,
Partially Fulfilled,Delimično ispunjeno,
Fulfilled,Ispunjeno,
Lapsed,Propušteno,
Contract Period,Period ugovora,
Signee Details,Signee Detalji,
Signee,Signee,
Signed On,Signed On,
Contract Details,Detalji ugovora,
Contract Template,Template Template,
Contract Terms,Uslovi ugovora,
Fulfilment Details,Ispunjavanje Detalji,
Requires Fulfilment,Zahteva ispunjenje,
Fulfilment Deadline,Rok ispunjenja,
Fulfilment Terms,Uslovi ispunjenja,
Contract Fulfilment Checklist,Kontrolna lista Ispunjavanja ugovora,
Requirement,Zahtev,
Contract Terms and Conditions,Uslovi i uslovi ugovora,
Fulfilment Terms and Conditions,Uslovi ispunjavanja uslova,
Contract Template Fulfilment Terms,Uslovi ispunjavanja obrasca ugovora,
Email Campaign,Kampanja e-pošte,
Email Campaign For ,Kampanja e-pošte za,
Lead is an Organization,Olovo je organizacija,
CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
Person Name,Ime osobe,
Lost Quotation,Lost Ponuda,
Interested,Zainteresovan,
Converted,Pretvoreno,
Do Not Contact,Ne kontaktirati,
From Customer,Od kupca,
Campaign Name,Naziv kampanje,
Follow Up,Pratite gore,
Next Contact By,Sledeci put kontaktirace ga,
Next Contact Date,Datum sledeceg kontaktiranja,
Ends On,Završava se,
Address & Contact,Adresa i kontakt,
Mobile No.,Mobitel broj,
Lead Type,Tip potencijalnog kupca,
Channel Partner,Partner iz prodajnog kanala,
Consultant,Konsultant,
Market Segment,Tržišni segment,
Industry,Industrija,
Request Type,Zahtjev Tip,
Product Enquiry,Na upit,
Request for Information,Zahtjev za informacije,
Suggestions,Prijedlozi,
Blog Subscriber,Blog pretplatnik,
LinkedIn Settings,Postavke LinkedIn-a,
Company ID,ID kompanije,
OAuth Credentials,OAuth akreditivi,
Consumer Key,Potrošački ključ,
Consumer Secret,Potrošačka tajna,
User Details,Detalji o korisniku,
Person URN,Osoba URN,
Session Status,Status sesije,
Lost Reason Detail,Detalj izgubljenog razloga,
Opportunity Lost Reason,Prilika izgubljen razlog,
Potential Sales Deal,Potencijalni Sales Deal,
CRM-OPP-.YYYY.-,CRM-OPP-YYYY.-,
Opportunity From,Prilika od,
Customer / Lead Name,Kupac / Ime osobe koja je Lead,
Opportunity Type,Vrsta prilike,
Converted By,Pretvorio,
Sales Stage,Prodajna scena,
Lost Reason,Razlog gubitka,
Expected Closing Date,Očekivani datum zatvaranja,
To Discuss,Za diskusiju,
With Items,Sa stavkama,
Probability (%),Verovatnoća (%),
Contact Info,Kontakt Informacije,
Customer / Lead Address,Kupac / Adresa Lead-a,
Contact Mobile No,Kontak GSM,
Enter name of campaign if source of enquiry is campaign,"Unesite naziv kampanje, ako je izvor upit je kampanja",
Opportunity Date,Datum prilike,
Opportunity Item,Poslovna prilika artikla,
Basic Rate,Osnovna stopa,
Stage Name,Ime faze,
Social Media Post,Post na društvenim mrežama,
Post Status,Post post,
Posted,Objavljeno,
Share On,Podijelite dalje,
Twitter,Twitter,
LinkedIn,LinkedIn,
Twitter Post Id,Twitter Post Id,
LinkedIn Post Id,LinkedIn Post Id,
Tweet,Tweet,
Twitter Settings,Twitter postavke,
API Secret Key,Tajni ključ API-ja,
Term Name,term ime,
Term Start Date,Term Ozljede Datum,
Term End Date,Term Završni datum,
Academics User,akademici korisnika,
Academic Year Name,Akademska godina Ime,
Article,Član,
LMS User,Korisnik LMS-a,
Assessment Criteria Group,Kriteriji procjene Group,
Assessment Group Name,Procjena Ime grupe,
Parent Assessment Group,Parent Procjena Group,
Assessment Name,procjena ime,
Grading Scale,Pravilo Scale,
Examiner,ispitivač,
Examiner Name,Examiner Naziv,
Supervisor,nadzornik,
Supervisor Name,Supervizor ime,
Evaluate,Procijenite,
Maximum Assessment Score,Maksimalan rezultat procjene,
Assessment Plan Criteria,Kriteriji Plan Procjena,
Maximum Score,Maksimalna Score,
Grade,razred,
Assessment Result Detail,Procjena Rezultat Detail,
Assessment Result Tool,Procjena Alat Rezultat,
Result HTML,rezultat HTML,
Content Activity,Sadržajna aktivnost,
Last Activity ,Poslednja aktivnost,
Content Question,Sadržajno pitanje,
Question Link,Link pitanja,
Course Name,Naziv predmeta,
Topics,Teme,
Hero Image,Image Hero,
Default Grading Scale,Uobičajeno Pravilo Scale,
Education Manager,Menadžer obrazovanja,
Course Activity,Aktivnost kursa,
Course Enrollment,Upis na tečaj,
Activity Date,Datum aktivnosti,
Course Assessment Criteria,Kriteriji procjene naravno,
Weightage,Weightage,
Course Content,Sadržaj kursa,
Quiz,Kviz,
Program Enrollment,Upis program,
Enrollment Date,upis Datum,
Instructor Name,instruktor ime,
EDU-CSH-.YYYY.-,EDU-CSH-YYYY.-,
Course Scheduling Tool,Naravno rasporedu Tool,
Course Start Date,Naravno Ozljede Datum,
To TIme,Za vrijeme,
Course End Date,Naravno Završni datum,
Course Topic,Tema kursa,
Topic Name,Topic Name,
Education Settings,Obrazovne postavke,
Current Academic Year,Trenutni akademske godine,
Current Academic Term,Trenutni Academic Term,
Attendance Freeze Date,Posjećenost Freeze Datum,
Validate Batch for Students in Student Group,Potvrditi Batch za studente u Studentskom Group,
"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.",Za studentske grupe Batch bazi Studentskog Batch će biti potvrđeni za svakog studenta iz Upis Programa.,
Validate Enrolled Course for Students in Student Group,Potvrditi upisala kurs za studente u Studentskom Group,
"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Za studentske grupe na osnovu Naravno, kurs će biti potvrđeni za svakog studenta iz upisao jezika u upisu Programa.",
Make Academic Term Mandatory,Obavezni akademski termin,
"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Ako je omogućeno, polje Akademski termin će biti obavezno u alatu za upisivanje programa.",
Skip User creation for new Student,Preskoči stvaranje korisnika za novog učenika,
"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Po defaultu se za svakog novog učenika kreira novi korisnik. Ako je omogućeno, neće se kreirati novi korisnik kada se kreira novi student.",
Instructor Records to be created by,Instruktorske zapise koje kreira,
Employee Number,Broj radnika,
Fee Category,naknada Kategorija,
Fee Component,naknada Komponenta,
Fees Category,naknade Kategorija,
Fee Schedule,naknada Raspored,
Fee Structure,naknada Struktura,
EDU-FSH-.YYYY.-,EDU-FSH-YYYY.-,
Fee Creation Status,Status stvaranja naknade,
In Process,U procesu,
Send Payment Request Email,Pošaljite zahtev za plaćanje,
Student Category,student Kategorija,
Fee Breakup for each student,Naknada za svaki student,
Total Amount per Student,Ukupan iznos po učeniku,
Institution,institucija,
Fee Schedule Program,Program raspoređivanja naknada,
Student Batch,student Batch,
Total Students,Ukupno Studenti,
Fee Schedule Student Group,Raspored studijske grupe,
EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
Include Payment,Uključi plaćanje,
Send Payment Request,Pošaljite zahtev za plaćanje,
Student Details,Student Detalji,
Student Email,Student Email,
Grading Scale Name,Pravilo Scale Ime,
Grading Scale Intervals,Pravilo Scale Intervali,
Intervals,intervali,
Grading Scale Interval,Pravilo Scale Interval,
Grade Code,Grade Kod,
Threshold,prag,
Grade Description,Grade Opis,
Guardian,staratelj,
Guardian Name,Guardian ime,
Alternate Number,Alternativna Broj,
Occupation,okupacija,
Work Address,rad Adresa,
Guardian Of ,Guardian Of,
Students,studenti,
Guardian Interests,Guardian Interesi,
Guardian Interest,Guardian interesa,
Interest,interes,
Guardian Student,Guardian Student,
EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
Instructor Log,Logor instruktora,
Other details,Ostali detalji,
Option,Opcija,
Is Correct,Tacno je,
Program Name,Naziv programa,
Program Abbreviation,program Skraćenica,
Courses,kursevi,
Is Published,Objavljeno je,
Allow Self Enroll,Dozvoli samoostvarivanje,
Is Featured,Je istaknuto,
Intro Video,Intro Video,
Program Course,program kursa,
School House,School House,
Boarding Student,Boarding Student,
Check this if the Student is residing at the Institute's Hostel.,Označite ovu ako student boravi na Instituta Hostel.,
Walking,hodanje,
Institute's Bus,Institutski autobus,
Self-Driving Vehicle,Self-vožnje vozila,
Pick/Drop by Guardian,Pick / Drop Guardian,
Enrolled courses,upisani kurseve,
Program Enrollment Course,Program Upis predmeta,
Program Enrollment Fee,Program Upis Naknada,
Program Enrollment Tool,Program Upis Tool,
Get Students From,Get Studenti iz,
Student Applicant,student zahtjeva,
Get Students,Get Studenti,
Enrollment Details,Detalji upisa,
New Program,novi program,
New Student Batch,Nova studentska serija,
Enroll Students,upisati studenti,
New Academic Year,Nova akademska godina,
New Academic Term,Novi akademski termin,
Program Enrollment Tool Student,Program Upis Tool Student,
Student Batch Name,Student Batch Ime,
Program Fee,naknada za program,
Question,Pitanje,
Single Correct Answer,Jedan tačan odgovor,
Multiple Correct Answer,Višestruki ispravan odgovor,
Quiz Configuration,Konfiguracija kviza,
Passing Score,Prolazni rezultat,
Score out of 100,Rezultat od 100,
Max Attempts,Maks pokušaji,
Enter 0 to waive limit,Unesite 0 da biste odbili granicu,
Grading Basis,Osnove ocjenjivanja,
Latest Highest Score,Najnoviji najviši rezultat,
Latest Attempt,Najnoviji pokušaj,
Quiz Activity,Aktivnost kviza,
Enrollment,Upis,
Pass,Pass,
Quiz Question,Pitanje za kviz,
Quiz Result,Rezultat kviza,
Selected Option,Izabrana opcija,
Correct,Tacno,
Wrong,Pogrešno,
Room Name,Soba Naziv,
Room Number,Broj sobe,
Seating Capacity,Broj sjedećih mjesta,
House Name,nazivu,
EDU-STU-.YYYY.-,EDU-STU-YYYY.-,
Student Mobile Number,Student Broj mobilnog,
Blood Group,Krvna grupa,
A+,A +,
A-,A-,
B+,B +,
B-,B-,
O+,O +,
O-,O-,
AB+,AB +,
AB-,AB-,
Nationality,državljanstvo,
Home Address,Kućna adresa,
Guardian Details,Guardian Detalji,
Guardians,čuvari,
Sibling Details,Polubrat Detalji,
Siblings,braća i sestre,
Exit,Izlaz,
Date of Leaving,Datum odlaska,
Leaving Certificate Number,Maturom Broj,
Reason For Leaving,Razlog za napuštanje,
Student Admission,student Ulaz,
Admission Start Date,Prijem Ozljede Datum,
Admission End Date,Prijem Završni datum,
Eligibility and Details,Prihvatljivost i Detalji,
Student Admission Program,Studentski program za prijem studenata,
Minimum Age,Minimalna dob,
Maximum Age,Maksimalno doba,
Application Fee,naknada aplikacija,
Naming Series (for Student Applicant),Imenovanje serija (za studentske Podnositelj zahtjeva),
LMS Only,Samo LMS,
EDU-APP-.YYYY.-,EDU-APP-YYYY.-,
Application Date,patenta,
Student Attendance Tool,Student Posjeta Tool,
Group Based On,Na osnovu grupe,
Students HTML,studenti HTML,
Group Based on,Grupa na osnovu,
Student Group Name,Student Ime grupe,
Max Strength,Max Snaga,
Set 0 for no limit,Set 0 za no limit,
Instructors,instruktori,
Student Group Creation Tool,Student Group Creation Tool,
Leave blank if you make students groups per year,Ostavite prazno ako napravite grupa studenata godišnje,
Get Courses,Get kursevi,
Separate course based Group for every Batch,Poseban grupe na osnovu naravno za svaku seriju,
Leave unchecked if you don't want to consider batch while making course based groups. ,Ostavite nekontrolisano ako ne želite uzeti u obzir batch prilikom donošenja grupe naravno na bazi.,
Student Group Creation Tool Course,Student Group Creation Tool Course,
Course Code,Šifra predmeta,
Student Group Instructor,Student Group Instruktor,
Student Group Student,Student Group Studentski,
Group Roll Number,Grupa Roll Broj,
Student Guardian,student Guardian,
Relation,Odnos,
Mother,majka,
Father,otac,
Student Language,student Jezik,
Student Leave Application,Student Leave aplikacije,
Mark as Present,Mark kao Present,
Student Log,student Prijavite,
Academic,akademski,
Achievement,Postignuće,
Student Report Generation Tool,Alat za generisanje studenata,
Include All Assessment Group,Uključite svu grupu procene,
Show Marks,Pokaži oznake,
Add letterhead,Dodaj slovo,
Print Section,Odsek za štampu,
Total Parents Teacher Meeting,Ukupno sastanak učitelja roditelja,
Attended by Parents,Prisustvuju roditelji,
Assessment Terms,Uslovi za procjenu,
Student Sibling,student Polubrat,
Studying in Same Institute,Studiranje u istom institutu,
NO,Ne,
YES,DA,
Student Siblings,student Siblings,
Topic Content,Sadržaj teme,
Amazon MWS Settings,Amazon MWS Settings,
ERPNext Integrations,ERPNext Integrations,
Enable Amazon,Omogućite Amazon,
MWS Credentials,MVS akreditivi,
Seller ID,ID prodavca,
AWS Access Key ID,AWS Access Key ID,
MWS Auth Token,MWS Auth Token,
Market Place ID,ID tržišta,
AE,AE,
AU,AU,
BR,BR,
CA,CA,
CN,CN,
DE,DE,
ES,ES,
FR,FR,
JP,JP,
IT,IT,
MX,mx,
UK,UK,
US,SAD,
Customer Type,Tip kupca,
Market Place Account Group,Tržišna grupa računa,
After Date,Posle Datuma,
Amazon will synch data updated after this date,Amazon će sinhronizovati podatke ažurirane nakon ovog datuma,
Sync Taxes and Charges,Sinhronizacija poreza i naknada,
Get financial breakup of Taxes and charges data by Amazon ,Dobije finansijski raspad podataka o porezima i naplaćuje Amazon,
Sync Products,Sync Products,
Always sync your products from Amazon MWS before synching the Orders details,Uvijek sinhronizirajte svoje proizvode s Amazona MWS prije sinkronizacije detalja narudžbi,
Sync Orders,Nalozi za sinhronizaciju,
Click this button to pull your Sales Order data from Amazon MWS.,Kliknite ovo dugme da biste izveli podatke o prodaji iz Amazon MWS-a.,
Enable Scheduled Sync,Omogućite planiranu sinhronizaciju,
Check this to enable a scheduled Daily synchronization routine via scheduler,Proverite ovo da biste omogućili planiranu dnevnu sinhronizaciju rutine preko rasporeda,
Max Retry Limit,Maks retry limit,
Exotel Settings,Exotel Settings,
Account SID,SID računa,
API Token,API Token,
GoCardless Mandate,GoCardless Mandate,
Mandate,Mandat,
GoCardless Customer,GoCardless kupac,
GoCardless Settings,GoCardless Settings,
Webhooks Secret,Webhooks Secret,
Plaid Settings,Plaid Settings,
Synchronize all accounts every hour,Sinkronizirajte sve račune na svakih sat vremena,
Plaid Client ID,Plaid ID klijenta,
Plaid Secret,Plaid Secret,
Plaid Environment,Plaid Environment,
sandbox,peskovnik,
development,razvoj,
production,proizvodnja,
QuickBooks Migrator,QuickBooks Migrator,
Application Settings,Postavke aplikacije,
Token Endpoint,Krajnji tačak žetona,
Scope,Obim,
Authorization Settings,Podešavanja autorizacije,
Authorization Endpoint,Autorizacija Endpoint,
Authorization URL,URL autorizacije,
Quickbooks Company ID,Identifikacijski broj kompanije Quickbooks,
Company Settings,Tvrtka Postavke,
Default Shipping Account,Uobičajeni nalog za isporuku,
Default Warehouse,Glavno skladište,
Default Cost Center,Standard Cost Center,
Undeposited Funds Account,Račun Undeposited Funds,
Shopify Log,Shopify Log,
Shopify Settings,Shopify Settings,
status html,status html,
Enable Shopify,Omogući Shopify,
App Type,Tip aplikacije,
Last Sync Datetime,Last Sync Datetime,
Shop URL,URL prodavnice,
eg: frappe.myshopify.com,npr: frappe.myshopify.com,
Shared secret,Zajednička tajna,
Webhooks Details,Webhooks Details,
Webhooks,Webhooks,
Customer Settings,Postavke klijenta,
Default Customer,Podrazumevani korisnik,
Customer Group will set to selected group while syncing customers from Shopify,Grupa potrošača će postaviti odabranu grupu dok sinhronizuje kupce iz Shopify-a,
For Company,Za tvrtke,
Cash Account will used for Sales Invoice creation,Gotovinski račun će se koristiti za kreiranje prodajne fakture,
Update Price from Shopify To ERPNext Price List,Ažurirajte cijenu od Shopify do ERPNext Cjenik,
Default Warehouse to to create Sales Order and Delivery Note,Podrazumevano skladište za kreiranje naloga za prodaju i dostave,
Sales Order Series,Narudžbe serije prodaje,
Import Delivery Notes from Shopify on Shipment,Napomene o uvoznoj isporuci od Shopify na pošiljci,
Delivery Note Series,Serija Napomena o isporuci,
Import Sales Invoice from Shopify if Payment is marked,Uvezite fakturu prodaje iz Shopify-a ako je oznaka uplaćena,
Sales Invoice Series,Serija faktura prodaje,
Shopify Tax Account,Kupujte poreski račun,
Shopify Tax/Shipping Title,Kupujte naslov poreza / dopuštenja,
ERPNext Account,ERPNext nalog,
Shopify Webhook Detail,Shopify Webhook Detail,
Webhook ID,Webhook ID,
Tally Migration,Tally Migration,
Master Data,Glavni podaci,
"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Podaci izvezeni iz Tally-a koji se sastoje od kontnog plana, kupaca, dobavljača, adresa, predmeta i UOM-ova",
Is Master Data Processed,Obrađuju li se glavni podaci,
Is Master Data Imported,Uvezu se glavni podaci,
Tally Creditors Account,Račun poverioca Tally,
Creditors Account set in Tally,Račun povjerilaca postavljen u Tally,
Tally Debtors Account,Račun dužnika Tally,
Debtors Account set in Tally,Račun dužnika postavljen u Tally-u,
Tally Company,Tally Company,
Company Name as per Imported Tally Data,Naziv kompanije prema uvoznim Tally podacima,
Default UOM,Zadani UOM,
UOM in case unspecified in imported data,UOM u slučaju da nije specificiran u uvezenim podacima,
ERPNext Company,Kompanija ERPNext,
Your Company set in ERPNext,Vaša kompanija smještena je u ERPNext,
Processed Files,Obrađene datoteke,
Parties,Stranke,
UOMs,UOMs,
Vouchers,Vaučeri,
Round Off Account,Zaokružiti račun,
Day Book Data,Podaci o dnevnoj knjizi,
Day Book Data exported from Tally that consists of all historic transactions,Podaci iz dnevne knjige izvezeni iz Tally-a koji se sastoje od svih povijesnih transakcija,
Is Day Book Data Processed,Obrađuju se podaci dnevnih knjiga,
Is Day Book Data Imported,Uvoze li se podaci dnevnih knjiga,
Woocommerce Settings,Woocommerce postavke,
Enable Sync,Omogući sinhronizaciju,
Woocommerce Server URL,Woocommerce Server URL,
Secret,Tajna,
API consumer key,API korisnički ključ,
API consumer secret,API potrošačke tajne,
Tax Account,Poreski račun,
Freight and Forwarding Account,Teretni i špediterski račun,
Creation User,Stvaranje korisnika,
"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Korisnik koji će se koristiti za kreiranje kupaca, predmeta i naloga za prodaju. Ovaj korisnik trebao bi imati odgovarajuća dopuštenja.",
"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Ovo skladište će se koristiti za kreiranje prodajnih naloga. Rezervno skladište su &quot;Trgovine&quot;.,
"The fallback series is ""SO-WOO-"".",Rezervna serija je „SO-WOO-“.,
This company will be used to create Sales Orders.,Ova kompanija će se koristiti za kreiranje prodajnih naloga.,
Delivery After (Days),Dostava nakon (dana),
This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Ovo je zadani offset (dani) za datum isporuke u prodajnim nalozima. Ponovno nadoknađivanje je 7 dana od datuma slanja narudžbe.,
"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Ovo je zadani UOM koji se koristi za artikle i prodajne naloge. Povratna UOM je &quot;Nos&quot;.,
Endpoints,Krajnje tačke,
Endpoint,Krajnja tačka,
Antibiotic Name,Antibiotički naziv,
Healthcare Administrator,Administrator zdravstvene zaštite,
Laboratory User,Laboratorijski korisnik,
Is Inpatient,Je stacionarno,
Default Duration (In Minutes),Zadano trajanje (u minutama),
Body Part,Dio tijela,
Body Part Link,Link dijela tijela,
HLC-CPR-.YYYY.-,HLC-CPR-YYYY.-,
Procedure Template,Šablon procedure,
Procedure Prescription,Procedura Prescription,
Service Unit,Servisna jedinica,
Consumables,Potrošni materijal,
Consume Stock,Consume Stock,
Invoice Consumables Separately,Fakturirajte potrošni materijal odvojeno,
Consumption Invoiced,Potrošnja fakturirana,
Consumable Total Amount,Potrošni ukupni iznos,
Consumption Details,Detalji potrošnje,
Nursing User,Korisnik medicinske sestre,
Clinical Procedure Item,Klinička procedura,
Invoice Separately as Consumables,Faktura posebno kao Potrošni materijal,
Transfer Qty,Transfer Količina,
Actual Qty (at source/target),Stvarna kol (na izvoru/cilju),
Is Billable,Da li se može naplatiti,
Allow Stock Consumption,Dozvolite potrošnju zaliha,
Sample UOM,Uzorak UOM,
Collection Details,Detalji o kolekciji,
Change In Item,Promjena stavke,
Codification Table,Tabela kodifikacije,
Complaints,Žalbe,
Dosage Strength,Snaga doziranja,
Strength,Snaga,
Drug Prescription,Prescription drugs,
Drug Name / Description,Naziv / opis lijeka,
Dosage,Doziranje,
Dosage by Time Interval,Doziranje po vremenskom intervalu,
Interval,Interval,
Interval UOM,Interval UOM,
Hour,Sat,
Update Schedule,Raspored ažuriranja,
Exercise,Vježbaj,
Difficulty Level,Nivo poteškoće,
Counts Target,Broji meta,
Counts Completed,Brojanja završena,
Assistance Level,Nivo pomoći,
Active Assist,Active Assist,
Exercise Name,Naziv vježbe,
Body Parts,Dijelovi tijela,
Exercise Instructions,Upute za vježbu,
Exercise Video,Video za vježbu,
Exercise Steps,Koraci vježbanja,
Steps Table,Tabela koraka,
Exercise Type Step,Tip vježbe korak,
Max number of visit,Maksimalan broj poseta,
Visited yet,Posjećeno još,
Reference Appointments,Referentna imenovanja,
Valid till,Vrijedi do,
Fee Validity Reference,Referenca valjanosti naknade,
Basic Details,Osnovni detalji,
HLC-PRAC-.YYYY.-,FHP-PRAC-.GGGG.-,
Mobile,Mobilni,
Phone (R),Telefon (R),
Phone (Office),Telefon (Office),
Employee and User Details,Podaci o zaposleniku i korisniku,
Hospital,Bolnica,
Appointments,Imenovanja,
Practitioner Schedules,Raspored lekara,
Charges,Naknade,
Out Patient Consulting Charge,Naknada za konsultacije sa pacijentima,
Default Currency,Zadana valuta,
Healthcare Schedule Time Slot,Vremenska raspored zdravstvene zaštite,
Parent Service Unit,Jedinica za roditeljsku službu,
Service Unit Type,Tip jedinice servisne jedinice,
Allow Appointments,Dozvoli zakazivanja,
Allow Overlap,Dopusti preklapanje,
Inpatient Occupancy,Bolničko stanovanje,
Occupancy Status,Status zauzetosti,
Vacant,Slobodno,
Occupied,Zauzeti,
Item Details,Detalji artikla,
UOM Conversion in Hours,UOM konverzija u satima,
Rate / UOM,Rate / UOM,
Change in Item,Promenite stavku,
Out Patient Settings,Out Pacijent Settings,
Patient Name By,Ime pacijenta,
Patient Name,Ime pacijenta,
Link Customer to Patient,Povežite kupca sa pacijentom,
"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","Ako se proveri, biće kreiran korisnik, mapiran na Pacijent. Pacijentove fakture će biti stvorene protiv ovog Korisnika. Takođe možete izabrati postojećeg kupca prilikom stvaranja Pacijenta.",
Default Medical Code Standard,Standardni medicinski kodni standard,
Collect Fee for Patient Registration,Prikupiti naknadu za registraciju pacijenta,
Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,"Ako provjerite ovo, stvorit će se novi pacijenti sa statusom onemogućenog prema zadanim postavkama i bit će omogućeni tek nakon fakturiranja naknade za registraciju.",
Registration Fee,Kotizaciju,
Automate Appointment Invoicing,Automatizirajte fakturiranje imenovanja,
Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Upravljanje imenovanjima Faktura podnosi i otkazati automatski za susret pacijenta,
Enable Free Follow-ups,Omogućite besplatna praćenja,
Number of Patient Encounters in Valid Days,Broj susreta pacijenata u važećim danima,
The number of free follow ups (Patient Encounters in valid days) allowed,Dozvoljen broj besplatnih praćenja (Susreti pacijenata u važećim danima),
Valid Number of Days,Veliki broj dana,
Time period (Valid number of days) for free consultations,Vremenski period (važeći broj dana) za besplatne konsultacije,
Default Healthcare Service Items,Zadane stavke zdravstvenih usluga,
"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Možete konfigurirati zadane stavke za troškove savjetovanja za naplatu, stavke potrošnje postupka i stacionarne posjete",
Clinical Procedure Consumable Item,Klinička procedura Potrošna stavka,
Default Accounts,Zadani računi,
Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Uobičajeni računi prihoda koji će se koristiti ako nisu postavljeni u Zdravstvenom lekaru da rezervišu troškove naplate.,
Default receivable accounts to be used to book Appointment charges.,Zadani računi potraživanja koji će se koristiti za knjiženje troškova imenovanja.,
Out Patient SMS Alerts,Out Patient SMS upozorenja,
Patient Registration,Registracija pacijenata,
Registration Message,Poruka za upis,
Confirmation Message,Potvrda poruka,
Avoid Confirmation,Izbjegavajte potvrdu,
Do not confirm if appointment is created for the same day,Ne potvrdite da li je zakazan termin za isti dan,
Appointment Reminder,Pamćenje imenovanja,
Reminder Message,Poruka podsetnika,
Laboratory Settings,Laboratorijske postavke,
Create Lab Test(s) on Sales Invoice Submission,Kreirajte laboratorijske testove na podnošenju fakture za prodaju,
Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,"Ako potvrdite ovo, stvoriće se laboratorijski testovi navedeni u Računu prodaje prilikom slanja.",
Create Sample Collection document for Lab Test,Stvorite dokument za prikupljanje uzoraka za laboratorijski test,
Checking this will create a Sample Collection document  every time you create a Lab Test,"Ako potvrdite ovo, stvoriće se dokument sa uzorcima svaki put kada kreirate laboratorijski test",
Employee name and designation in print,Ime i oznaka zaposlenika u štampi,
Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,Označite ovo ako želite da se ime i ime zaposlenika povezanog s korisnikom koji preda dokument ispišu u izvještaju o laboratorijskom ispitivanju.,
Do not print or email Lab Tests without Approval,Nemojte štampati ili slati laboratorijske testove bez odobrenja,
Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Ako ovo provjerite, ograničit će se ispis i slanje dokumenata laboratorijskog testa po e-pošti, osim ako nemaju status Odobreno.",
Custom Signature in Print,Prilagođeni potpis u štampi,
Laboratory SMS Alerts,Laboratorijski SMS upozorenja,
Result Printed Message,Rezultat ispisana poruka,
Result Emailed Message,Poruka rezultata e-poštom,
Check In,Provjeri,
Check Out,Provjeri,
HLC-INP-.YYYY.-,HLC-INP-YYYY.-,
A Positive,Pozitivan,
A Negative,Negativan,
AB Positive,AB Pozitivan,
AB Negative,AB Negativ,
B Positive,B Pozitivan,
B Negative,B Negativno,
O Positive,O Pozitivno,
O Negative,O Negativ,
Date of birth,Datum rođenja,
Admission Scheduled,Prijem zakazan,
Discharge Scheduled,Pražnjenje je zakazano,
Discharged,Ispušteni,
Admission Schedule Date,Datum prijema prijave,
Admitted Datetime,Prihvaćeno Datetime,
Expected Discharge,Očekivano pražnjenje,
Discharge Date,Datum otpustanja,
Lab Prescription,Lab recept,
Lab Test Name,Naziv laboratorijskog testa,
Test Created,Test Created,
Submitted Date,Datum podnošenja,
Approved Date,Odobreni datum,
Sample ID,Primer uzorka,
Lab Technician,Laboratorijski tehničar,
Report Preference,Prednost prijave,
Test Name,Ime testa,
Test Template,Test Template,
Test Group,Test grupa,
Custom Result,Prilagođeni rezultat,
LabTest Approver,LabTest Approver,
Add Test,Dodajte test,
Normal Range,Normalni opseg,
Result Format,Format rezultata,
Single,Singl,
Compound,Jedinjenje,
Descriptive,Deskriptivno,
Grouped,Grupisano,
No Result,Bez rezultata,
This value is updated in the Default Sales Price List.,Ova vrijednost se ažurira na listi podrazumevanih prodajnih cijena.,
Lab Routine,Lab Routine,
Result Value,Vrednost rezultata,
Require Result Value,Zahtevaj vrednost rezultata,
Normal Test Template,Normalni testni šablon,
Patient Demographics,Demografija pacijenta,
HLC-PAT-.YYYY.-,HLC-PAT-YYYY.-,
Middle Name (optional),Srednje ime (nije obavezno),
Inpatient Status,Status bolesnika,
"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Ako je u postavkama zdravstvene zaštite označeno &quot;Poveži kupca sa pacijentom&quot; i ne odabere se postojeći kupac, za ovog pacijenta će se stvoriti kupac za evidentiranje transakcija u modulu Računi.",
Personal and Social History,Lična i društvena istorija,
Marital Status,Bračni status,
Married,Oženjen,
Divorced,Rastavljen,
Widow,Udovica,
Patient Relation,Relacija pacijenta,
"Allergies, Medical and Surgical History","Alergije, medicinska i hirurška istorija",
Allergies,Alergije,
Medication,Lijekovi,
Medical History,Medicinska istorija,
Surgical History,Hirurška istorija,
Risk Factors,Faktori rizika,
Occupational Hazards and Environmental Factors,Opasnosti po životnu sredinu i faktore zaštite životne sredine,
Other Risk Factors,Ostali faktori rizika,
Patient Details,Detalji pacijenta,
Additional information regarding the patient,Dodatne informacije o pacijentu,
HLC-APP-.YYYY.-,FHP-APP-.GGGG.-,
Patient Age,Pacijentsko doba,
Get Prescribed Clinical Procedures,Zatražite propisane kliničke postupke,
Therapy,Terapija,
Get Prescribed Therapies,Nabavite propisane terapije,
Appointment Datetime,Imenovanje Datum i vrijeme,
Duration (In Minutes),Trajanje (u minutama),
Reference Sales Invoice,Referentna faktura prodaje,
More Info,Više informacija,
Referring Practitioner,Poznavanje lekara,
HLC-PA-.YYYY.-,FHP-PA-.GGGG.-,
Assessment Template,Predložak procjene,
Assessment Datetime,Procjena datum i vrijeme,
Assessment Description,Opis procjene,
Assessment Sheet,Procjena lista,
Total Score Obtained,Ukupni postignuti rezultat,
Scale Min,Vaga Min,
Scale Max,Skala Max,
Patient Assessment Detail,Detalji o procjeni pacijenta,
Assessment Parameter,Parametar procjene,
Patient Assessment Parameter,Parametar procjene pacijenta,
Patient Assessment Sheet,List za procjenu pacijenta,
Patient Assessment Template,Predložak procjene pacijenta,
Assessment Parameters,Parametri procjene,
Parameters,Parametri,
Assessment Scale,Skala procjene,
Scale Minimum,Skala minimalna,
Scale Maximum,Skala maksimum,
HLC-ENC-.YYYY.-,HLC-ENC-YYYY.-,
Encounter Date,Datum susreta,
Encounter Time,Vrijeme susreta,
Encounter Impression,Encounter Impression,
Symptoms,Simptomi,
In print,U štampi,
Medical Coding,Medicinsko kodiranje,
Procedures,Procedure,
Therapies,Terapije,
Review Details,Detalji pregleda,
Patient Encounter Diagnosis,Dijagnoza susreta pacijenta,
Patient Encounter Symptom,Simptom susreta s pacijentom,
HLC-PMR-.YYYY.-,HLC-PMR-YYYY.-,
Attach Medical Record,Priložite medicinsku evidenciju,
Spouse,Supružnik,
Family,Porodica,
Schedule Details,Detalji rasporeda,
Schedule Name,Ime rasporeda,
Time Slots,Time Slots,
Practitioner Service Unit Schedule,Raspored jedinica službe lekara,
Procedure Name,Ime postupka,
Appointment Booked,Imenovanje rezervirano,
Procedure Created,Kreiran postupak,
HLC-SC-.YYYY.-,HLC-SC-YYYY.-,
Collected By,Prikupljeno od strane,
Particulars,Posebnosti,
Result Component,Komponenta rezultata,
HLC-THP-.YYYY.-,FHP-THP-.GGGG.-,
Therapy Plan Details,Detalji plana terapije,
Total Sessions,Ukupno sesija,
Total Sessions Completed,Ukupno završenih sesija,
Therapy Plan Detail,Detalji plana terapije,
No of Sessions,Broj sesija,
Sessions Completed,Sesije završene,
Tele,Tele,
Exercises,Vježbe,
Therapy For,Terapija za,
Add Exercises,Dodajte vježbe,
Body Temperature,Temperatura tela,
Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Prisustvo groznice (temperatura&gt; 38,5 ° C / 101,3 ° F ili trajna temperatura&gt; 38 ° C / 100,4 ° F)",
Heart Rate / Pulse,Srčana brzina / impuls,
Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Stopa pulsa odraslih je između 50 i 80 otkucaja u minuti.,
Respiratory rate,Stopa respiratornih organa,
Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Normalni referentni opseg za odraslu osobu je 16-20 diha / minut (RCP 2012),
Tongue,Jezik,
Coated,Premazan,
Very Coated,Veoma prevučeni,
Normal,Normalno,
Furry,Furry,
Cuts,Rezanja,
Abdomen,Stomak,
Bloated,Vatreno,
Fluid,Fluid,
Constipated,Zapremljen,
Reflexes,Refleksi,
Hyper,Hyper,
Very Hyper,Veoma Hyper,
One Sided,Jednostrani,
Blood Pressure (systolic),Krvni pritisak (sistolni),
Blood Pressure (diastolic),Krvni pritisak (dijastolni),
Blood Pressure,Krvni pritisak,
"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Normalni krvni pritisak pri odraslima je oko 120 mmHg sistolnog, a dijastolni 80 mmHg, skraćeni &quot;120/80 mmHg&quot;",
Nutrition Values,Vrednosti ishrane,
Height (In Meter),Visina (u metrima),
Weight (In Kilogram),Težina (u kilogramu),
BMI,BMI,
Hotel Room,Hotelska soba,
Hotel Room Type,Tip sobe hotela,
Capacity,Kapacitet,
Extra Bed Capacity,Kapacitet dodatnog ležaja,
Hotel Manager,Menadžer hotela,
Hotel Room Amenity,Hotelska soba Amenity,
Billable,Naplativo,
Hotel Room Package,Paket za hotelsku sobu,
Amenities,Pogodnosti,
Hotel Room Pricing,Hotelska soba Pricing,
Hotel Room Pricing Item,Stavka hotela u sobi,
Hotel Room Pricing Package,Paket za hotelsku sobu,
Hotel Room Reservation,Hotelska rezervacija,
Guest Name,Ime gosta,
Late Checkin,Late Checkin,
Booked,Rezervirano,
Hotel Reservation User,Rezervacija korisnika hotela,
Hotel Room Reservation Item,Hotelska rezervacija Stavka,
Hotel Settings,Hotel Settings,
Default Taxes and Charges,Uobičajeno Porezi i naknadama,
Default Invoice Naming Series,Podrazumevana faktura imenovanja serije,
HR,HR,
Date on which this component is applied,Datum primjene ove komponente,
Salary Slip,Plaća proklizavanja,
HR User,HR korisnika,
Job Applicant,Posao podnositelj,
Body,Telo,
Appraisal Template,Procjena Predložak,
Parent Department,Odeljenje roditelja,
Leave Block List,Ostavite Block List,
Days for which Holidays are blocked for this department.,Dani za koje su praznici blokirani za ovaj odjel.,
Leave Approver,Ostavite odobravatelju,
Expense Approver,Rashodi Approver,
Required Skills,Potrebne veštine,
Skills,Vještine,
Driver,Vozač,
HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
Suspended,Suspendirano,
Transporter,Transporter,
Applicable for external driver,Važeće za spoljni upravljački program,
Cellphone Number,Broj mobitela,
License Details,Detalji o licenci,
License Number,Broj licence,
Issuing Date,Datum izdavanja,
Driving License Categories,Vozačke dozvole Kategorije,
Driving License Category,Kategorija vozačke dozvole,
Fleet Manager,Fleet Manager,
Driver licence class,Klasa vozačke dozvole,
HR-EMP-,HR-EMP-,
Employment Type,Zapošljavanje Tip,
Emergency Contact,Hitni kontakt,
Emergency Contact Name,Ime kontakta za hitne slučajeve,
Emergency Phone,Hitna Telefon,
ERPNext User,ERPNext User,
"System User (login) ID. If set, it will become default for all HR forms.","ID korisnika sustava. Ako je postavljen, postat će zadani za sve HR oblike.",
Create User Permission,Kreirajte dozvolu korisnika,
This will restrict user access to other employee records,Ovo će ograničiti pristup korisnika drugim zapisima zaposlenih,
Joining Details,Sastavljanje Detalji,
Offer Date,ponuda Datum,
Confirmation Date,potvrda Datum,
Contract End Date,Ugovor Datum završetka,
Notice (days),Obavijest (dani ),
Date Of Retirement,Datum odlaska u mirovinu,
Department and Grade,Odeljenje i razred,
Reports to,Izvještaji za,
Attendance and Leave Details,Detalji posjeta i odlaska,
Attendance Device ID (Biometric/RF tag ID),ID uređaja prisutnosti (ID biometrijske / RF oznake),
Applicable Holiday List,Primjenjivo odmor Popis,
Default Shift,Podrazumevano Shift,
Salary Mode,Plaća način,
Bank A/C No.,Bankovni  A/C br.,
Health Insurance,Zdravstveno osiguranje,
Health Insurance Provider,Zdravstveno osiguranje,
Health Insurance No,Zdravstveno osiguranje br,
Prefered Email,Prefered mail,
Personal Email,Osobni e,
Permanent Address Is,Stalna adresa je,
Rented,Iznajmljuje,
Owned,U vlasništvu,
Permanent Address,Stalna adresa,
Prefered Contact Email,Prefered Kontakt mail,
Company Email,Zvanični e-mail,
Provide Email Address registered in company,Osigurati mail registrovan u kompaniji Adresa,
Current Address Is,Trenutni Adresa je,
Current Address,Trenutna adresa,
Personal Bio,Lični Bio,
Bio / Cover Letter,Bio / Cover Letter,
Short biography for website and other publications.,Kratka biografija za web stranice i druge publikacije.,
Passport Number,Putovnica Broj,
Date of Issue,Datum izdavanja,
Place of Issue,Mjesto izdavanja,
Widowed,Udovički,
Family Background,Obitelj Pozadina,
"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",
Health Details,Zdravlje Detalji,
"Here you can maintain height, weight, allergies, medical concerns etc","Ovdje možete održavati visina, težina, alergije, medicinske brige itd.",
Educational Qualification,Obrazovne kvalifikacije,
Previous Work Experience,Radnog iskustva,
External Work History,Vanjski History Work,
History In Company,Povijest tvrtke,
Internal Work History,Interni History Work,
Resignation Letter Date,Ostavka Pismo Datum,
Relieving Date,Rasterećenje Datum,
Reason for Leaving,Razlog za odlazak,
Leave Encashed?,Ostavite Encashed?,
Encashment Date,Encashment Datum,
New Workplace,Novi radnom mjestu,
Returned Amount,Iznos vraćenog iznosa,
Advance Account,Advance Account,
Benefits Applied,Prednosti koje se primjenjuju,
Benefit Type and Amount,Tip i iznos povlastice,
Task Weight,zadatak Težina,
Employee Education,Obrazovanje zaposlenog,
School/University,Škola / Univerzitet,
Graduate,Diplomski,
Post Graduate,Post diplomski,
Under Graduate,Pod diplomski,
Year of Passing,Tekuća godina,
Class / Percentage,Klasa / Postotak,
Major/Optional Subjects,Glavni / Izborni predmeti,
Employee External Work History,Istorija rada zaposlenog izvan preduzeća,
Total Experience,Ukupno Iskustvo,
Default Leave Policy,Default Leave Policy,
Employee Group Table,Tabela grupe zaposlenih,
ERPNext User ID,ERPNext User ID,
Employee Internal Work History,Istorija rada zaposlenog u preduzeću,
Activities,Aktivnosti,
Employee Onboarding Activity,Aktivnost aktivnosti na radnom mjestu,
Employee Promotion Detail,Detalji o napredovanju zaposlenih,
Employee Transfer Property,Imovina Transfera zaposlenika,
Unclaimed amount,Neobjavljeni iznos,
Holiday List Name,Naziv liste odmora,
Total Holidays,Total Holidays,
Add Weekly Holidays,Dodajte Weekly Holidays,
Weekly Off,Tjedni Off,
Add to Holidays,Dodaj u praznike,
Holidays,Praznici,
Clear Table,Poništi tabelu,
Retirement Age,Retirement Godine,
Enter retirement age in years,Unesite dob za odlazak u penziju u godinama,
Stop Birthday Reminders,Zaustavi Rođendan Podsjetnici,
Leave Settings,Ostavite podešavanja,
Accepted,Prihvaćeno,
Printing Details,Printing Detalji,
Job Title,Titula,
Allocation,Alokacija,
Select Employees,Odaberite Zaposleni,
Allocate,Dodijeli,
Max Leaves Allowed,Maksimalno dozvoljeno odstupanje,
Maximum Continuous Days Applicable,Primenjivi su maksimalni trajni dani,
Select Payroll Period,Odaberite perioda isplate,
Abbr,Skraćeni naziv,
Condition and Formula,Stanje i formula,
Total Working Hours,Ukupno Radno vrijeme,
Hour Rate,Cijena sata,
Bank Account No.,Žiro račun broj,
Earning & Deduction,Zarada &amp; Odbitak,
Loan repayment,Otplata kredita,
Employee Loan,zaposlenik kredita,
Total Principal Amount,Ukupni glavni iznos,
Total Interest Amount,Ukupan iznos kamate,
Total Loan Repayment,Ukupno otplate kredita,
net pay info,neto plata info,
Gross Pay - Total Deduction - Loan Repayment,Bruto Pay - Ukupno odbitak - Otplata kredita,
Net Pay (in words) will be visible once you save the Salary Slip.,Neto plaća (riječima) će biti vidljiva nakon što spremite klizne plaće.,
Staffing Plan Details,Detalji o kadrovskom planu,
Optional,Neobavezno,
Costing,Koštanje,
Vehicle,vozilo,
License Plate,registarska tablica,
Odometer Value (Last),Odometar vrijednost (Zadnje),
Acquisition Date,akvizicija Datum,
Chassis No,šasija Ne,
Vehicle Value,Vrijednost vozila,
Insurance Details,osiguranje Detalji,
Insurance Company,Insurance Company,
Policy No,Politika Nema,
Additional Details,Dodatni Detalji,
Fuel Type,Vrsta goriva,
Petrol,benzin,
Diesel,dizel,
Natural Gas,prirodni gas,
Electric,Electric,
Fuel UOM,gorivo UOM,
Last Carbon Check,Zadnji Carbon Check,
Wheels,Wheels,
Doors,vrata,
last Odometer Value ,zadnja vrijednost odometra,
Service Detail,Servis Detail,
Hub Tracked Item,Hub Gusjen stavka,
Hub Node,Hub Node,
Image List,Lista slika,
Item Manager,Stavka Manager,
Hub User,Hub User,
Hub Password,Hub Password,
Hub Users,Korisnici Hub-a,
Marketplace Settings,Postavke tržišta,
Disable Marketplace,Onemogući tržište,
Marketplace URL (to hide and update label),URL prodavnice (za skrivanje i ažuriranje oznake),
Registered,Registrovano,
Sync in Progress,Sinhronizacija u toku,
Hub Seller Name,Hub Ime prodavca,
Custom Data,Korisnički podaci,
Repay From Salary,Otplatiti iz Plata,
Regular Payment,Redovna uplata,
Loan Closure,Zatvaranje zajma,
Rate of Interest (%) Yearly,Kamatnu stopu (%) Godišnji,
MAT-MSH-.YYYY.-,MAT-MSH-YYYY.-,
Generate Schedule,Generiranje Raspored,
Schedules,Rasporedi,
Maintenance Schedule Detail,Raspored održavanja detaljno,
Scheduled Date,Planski datum,
Actual Date,Stvarni datum,
Maintenance Schedule Item,Raspored održavanja stavki,
Random,Slučajno,
No of Visits,Bez pregleda,
MAT-MVS-.YYYY.-,MAT-MVS-YYYY.-,
Maintenance Date,Održavanje Datum,
Maintenance Time,Održavanje Vrijeme,
Completion Status,Završetak Status,
Partially Completed,Djelomično Završeni,
Fully Completed,Potpuno Završeni,
Unscheduled,Neplanski,
Breakdown,Slom,
Purposes,Namjene,
Customer Feedback,Ocjena Kupca,
Maintenance Visit Purpose,Svrha posjete za odrzavanje,
Work Done,Rad Done,
Against Document No,Protiv dokumentu nema,
Against Document Detail No,Protiv dokumenta Detalj No,
MFG-BLR-.YYYY.-,MFG-BLR-YYYY.-,
Order Type,Vrsta narudžbe,
Blanket Order Item,Stavka narudžbe odeće,
Ordered Quantity,Naručena količina,
Item to be manufactured or repacked,Artikal će biti proizveden ili prepakiran,
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,
Set rate of sub-assembly item based on BOM,Postavite brzinu stavke podkomponenta na osnovu BOM-a,
Allow Alternative Item,Dozvoli alternativu,
Item UOM,Mjerna jedinica artikla,
Conversion Rate,Stopa konverzije,
Rate Of Materials Based On,Stopa materijali na temelju,
With Operations,Uz operacije,
Manage cost of operations,Upravljanje troškove poslovanja,
Transfer Material Against,Prenos materijala protiv,
Routing,Routing,
Materials,Materijali,
Quality Inspection Required,Potrebna inspekcija kvaliteta,
Quality Inspection Template,Šablon za proveru kvaliteta,
Scrap,komadić,
Scrap Items,Scrap Predmeti,
Operating Cost,Operativni troškovi,
Raw Material Cost,Troškovi sirovina,
Scrap Material Cost,Otpadnog materijala troškova,
Operating Cost (Company Currency),Operativni trošak (Company Valuta),
Raw Material Cost (Company Currency),Trošak sirovina (Kompanija valuta),
Scrap Material Cost(Company Currency),Otpadnog materijala troškova (poduzeća Valuta),
Total Cost,Ukupan trošak,
Total Cost (Company Currency),Ukupni trošak (valuta kompanije),
Materials Required (Exploded),Materijali Obavezno (eksplodirala),
Exploded Items,Eksplodirani predmeti,
Show in Website,Prikaži na web lokaciji,
Item Image (if not slideshow),Slika proizvoda (ako nije slide prikaz),
Thumbnail,Thumbnail,
Website Specifications,Web Specifikacije,
Show Items,Pokaži Predmeti,
Show Operations,Pokaži operacije,
Website Description,Web stranica Opis,
BOM Explosion Item,BOM eksplozije artikla,
Qty Consumed Per Unit,Kol Potrošeno po jedinici,
Include Item In Manufacturing,Uključi stavku u proizvodnju,
BOM Item,BOM proizvod,
Item operation,Rad operacija,
Rate & Amount,Cijena i količina,
Basic Rate (Company Currency),Osnovna stopa (valuta preduzeća),
Scrap %,Otpad%,
Original Item,Original Item,
BOM Operation,BOM operacija,
Operation Time ,Vrijeme rada,
In minutes,Za nekoliko minuta,
Batch Size,Veličina serije,
Base Hour Rate(Company Currency),Base Hour Rate (Company Valuta),
Operating Cost(Company Currency),Operativni trošak (Company Valuta),
BOM Scrap Item,BOM otpad Stavka,
Basic Amount (Company Currency),Osnovni Iznos (Company Valuta),
BOM Update Tool,Alat za ažuriranje BOM,
"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.\nIt also updates latest price in all the BOMs.","Zamenite određenu tehničku tehničku pomoć u svim ostalim BOM-u gde se koristi. On će zamijeniti stari BOM link, ažurirati troškove i regenerirati tabelu &quot;BOM Explosion Item&quot; po novom BOM-u. Takođe ažurira najnoviju cenu u svim BOM.",
Replace BOM,Zamijenite BOM,
Current BOM,Trenutni BOM,
The BOM which will be replaced,BOM koji će biti zamijenjen,
The new BOM after replacement,Novi BOM nakon zamjene,
Replace,Zamijeniti,
Update latest price in all BOMs,Ažurirajte najnoviju cenu u svim BOM,
BOM Website Item,BOM Web Stavka,
BOM Website Operation,BOM Web Operacija,
Operation Time,Operacija Time,
PO-JOB.#####,POZIV. #####,
Timing Detail,Detalji vremena,
Time Logs,Time Dnevnici,
Total Time in Mins,Ukupno vrijeme u minima,
Operation ID,ID operacije,
Transferred Qty,prebačen Kol,
Job Started,Započeo posao,
Started Time,Started Time,
Current Time,Trenutno vrijeme,
Job Card Item,Stavka za karticu posla,
Job Card Time Log,Vremenski dnevnik radne kartice,
Time In Mins,Vrijeme u minutima,
Completed Qty,Završen Kol,
Manufacturing Settings,Proizvodnja Settings,
Raw Materials Consumption,Potrošnja sirovina,
Allow Multiple Material Consumption,Dozvolite višestruku potrošnju materijala,
Backflush Raw Materials Based On,Backflush sirovine na osnovu,
Material Transferred for Manufacture,Materijal za Preneseni Proizvodnja,
Capacity Planning,Planiranje kapaciteta,
Disable Capacity Planning,Onemogući planiranje kapaciteta,
Allow Overtime,Omogućiti Prekovremeni rad,
Allow Production on Holidays,Dopustite Production o praznicima,
Capacity Planning For (Days),Kapacitet planiranje (Dana),
Default Warehouses for Production,Zadane Skladišta za proizvodnju,
Default Work In Progress Warehouse,Uobičajeno Work in Progress Skladište,
Default Finished Goods Warehouse,Uobičajeno Gotovi proizvodi skladište,
Default Scrap Warehouse,Uobičajeno Scrap Warehouse,
Overproduction Percentage For Sales Order,Procenat prekomerne proizvodnje za porudžbinu prodaje,
Overproduction Percentage For Work Order,Procent prekomerne proizvodnje za radni nalog,
Other Settings,Ostale postavke,
Update BOM Cost Automatically,Ažurirajte BOM trošak automatski,
Material Request Plan Item,Zahtev za materijalni zahtev za materijal,
Material Request Type,Materijal Zahtjev Tip,
Material Issue,Materijal Issue,
Customer Provided,Kupac,
Minimum Order Quantity,Minimalna količina narudžbine,
Default Workstation,Uobičajeno Workstation,
Production Plan,Plan proizvodnje,
MFG-PP-.YYYY.-,MFG-PP-YYYY.-,
Get Items From,Get stavke iz,
Get Sales Orders,Kreiraj narudžbe,
Material Request Detail,Zahtev za materijal za materijal,
Get Material Request,Get materijala Upit,
Material Requests,materijal Zahtjevi,
Get Items For Work Order,Dobijte stavke za radni nalog,
Material Request Planning,Planiranje zahtjeva za materijal,
Include Non Stock Items,Uključite stavke bez zaliha,
Include Subcontracted Items,Uključite predmete sa podugovaračima,
Ignore Existing Projected Quantity,Zanemarite postojeću projiciranu količinu,
"To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","Da biste saznali više o projektovanoj količini, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">kliknite ovdje</a> .",
Download Required Materials,Preuzmite potrebne materijale,
Get Raw Materials For Production,Uzmite sirovine za proizvodnju,
Total Planned Qty,Ukupna planirana količina,
Total Produced Qty,Ukupno proizvedeni količina,
Material Requested,Zahtevani materijal,
Production Plan Item,Proizvodnja plan artikla,
Make Work Order for Sub Assembly Items,Napravite radni nalog za predmete podmontaže,
"If enabled, system will create the work order for the exploded items against which BOM is available.","Ako je omogućeno, sistem će kreirati radni nalog za eksplodirane predmete protiv kojih je BOM dostupan.",
Planned Start Date,Planirani Ozljede Datum,
Quantity and Description,Količina i opis,
material_request_item,material_request_item,
Product Bundle Item,Proizvod Bundle Stavka,
Production Plan Material Request,Proizvodni plan materijala Upit,
Production Plan Sales Order,Proizvodnja plan prodajnog naloga,
Sales Order Date,Datum narudžbe kupca,
Routing Name,Ime rutiranja,
MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
Item To Manufacture,Artikal za proizvodnju,
Material Transferred for Manufacturing,Materijal Prebačen za izradu,
Manufactured Qty,Proizvedeno Kol,
Use Multi-Level BOM,Koristite multi-level BOM,
Plan material for sub-assemblies,Plan materijal za podsklopove,
Skip Material Transfer to WIP Warehouse,Preskočite transfer materijala u WIP skladište,
Check if material transfer entry is not required,Provjerite da li se ne traži upis prenosa materijala,
Backflush Raw Materials From Work-in-Progress Warehouse,Backflush sirovine iz radnog materijala u skladištu,
Update Consumed Material Cost In Project,Ažurirajte potrošene troškove materijala u projektu,
Warehouses,Skladišta,
This is a location where raw materials are available.,To je mjesto gdje su dostupne sirovine.,
Work-in-Progress Warehouse,Rad u tijeku Warehouse,
This is a location where operations are executed.,Ovo je lokacija na kojoj se izvode operacije.,
This is a location where final product stored.,Ovo je mjesto na kojem se sprema krajnji proizvod.,
Scrap Warehouse,Scrap Skladište,
This is a location where scraped materials are stored.,Ovo je mjesto gdje se čuvaju strugani materijali.,
Required Items,potrebna Predmeti,
Actual Start Date,Stvarni datum početka,
Planned End Date,Planirani Završni datum,
Actual End Date,Stvarni datum završetka,
Operation Cost,Operacija Cost,
Planned Operating Cost,Planirani operativnih troškova,
Actual Operating Cost,Stvarni operativnih troškova,
Additional Operating Cost,Dodatni operativnih troškova,
Total Operating Cost,Ukupni trošak,
Manufacture against Material Request,Proizvodnja protiv Materijal Upit,
Work Order Item,Work Order Item,
Available Qty at Source Warehouse,Dostupno Količina na izvoru Skladište,
Available Qty at WIP Warehouse,Dostupno Količina u WIP Skladište,
Work Order Operation,Operacija rada,
Operation Description,Operacija Opis,
Operation completed for how many finished goods?,Operacija završena za koliko gotovih proizvoda?,
Work in Progress,Radovi u toku,
Estimated Time and Cost,Procijenjena vremena i troškova,
Planned Start Time,Planirani Start Time,
Planned End Time,Planirani End Time,
in Minutes,U minuta,
Actual Time and Cost,Stvarno vrijeme i troškovi,
Actual Start Time,Stvarni Start Time,
Actual End Time,Stvarni End Time,
Updated via 'Time Log',Ažurirano putem 'Time Log',
Actual Operation Time,Stvarni Operation Time,
in Minutes\nUpdated via 'Time Log',u minutama \n ažurirano preko 'Time Log',
(Hour Rate / 60) * Actual Operation Time,(Satnica / 60) * Puna radno vrijeme,
Workstation Name,Ime Workstation,
Production Capacity,Kapacitet proizvodnje,
Operating Costs,Operativni troškovi,
Electricity Cost,Troškovi struje,
per hour,na sat,
Consumable Cost,potrošni cost,
Rent Cost,Rent cost,
Wages,Plata,
Wages per hour,Plaće po satu,
Net Hour Rate,Neto Hour Rate,
Workstation Working Hour,Workstation Radno vrijeme,
Certification Application,Aplikacija za sertifikaciju,
Name of Applicant,Ime podnosioca zahteva,
Certification Status,Status certifikacije,
Yet to appear,Još uvek se pojavljuje,
Certified,Certified,
Not Certified,Nije sertifikovan,
USD,Američki dolar,
INR,INR,
Certified Consultant,Certified Consultant,
Name of Consultant,Ime konsultanta,
Certification Validity,Validnost sertifikacije,
Discuss ID,Diskutujte ID,
GitHub ID,GitHub ID,
Non Profit Manager,Neprofitni menadžer,
Chapter Head,Glava poglavlja,
Meetup Embed HTML,Upoznajte Embed HTML,
chapters/chapter_name\nleave blank automatically set after saving chapter.,poglavlja / chapter_name ostavite prazno automatski nakon podešavanja poglavlja.,
Chapter Members,Članovi poglavlja,
Members,Članovi,
Chapter Member,Član poglavlja,
Website URL,Website URL,
Leave Reason,Ostavite razlog,
Donor Name,Ime donatora,
Donor Type,Tip donatora,
Withdrawn,povučen,
Grant Application Details ,Grant Application Details,
Grant Description,Grant Opis,
Requested Amount,Traženi iznos,
Has any past Grant Record,Ima bilo kakav prošli Grant Record,
Show on Website,Show on Website,
Assessment  Mark (Out of 10),Oznaka ocene (od 10),
Assessment  Manager,Menadžer procjene,
Email Notification Sent,Poslato obaveštenje o pošti,
NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
Membership Expiry Date,Datum isteka članstva,
Razorpay Details,Razorpay Detalji,
Subscription ID,ID pretplate,
Customer ID,ID kupca,
Subscription Activated,Pretplata aktivirana,
Subscription Start ,Početak pretplate,
Subscription End,Kraj pretplate,
Non Profit Member,Član neprofitne organizacije,
Membership Status,Status članstva,
Member Since,Član od,
Payment ID,ID plaćanja,
Membership Settings,Postavke članstva,
Enable RazorPay For Memberships,Omogućite RazorPay za članstva,
RazorPay Settings,Postavke RazorPay-a,
Billing Cycle,Ciklus naplate,
Billing Frequency,Učestalost naplate,
"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Broj obračunskih ciklusa za koji se kupcu treba naplatiti. Na primjer, ako kupac kupuje jednogodišnje članstvo koje bi trebalo naplaćivati mjesečno, ova vrijednost trebala bi biti 12.",
Razorpay Plan ID,ID plana za Razorpay,
Volunteer Name,Ime volontera,
Volunteer Type,Volonterski tip,
Availability and Skills,Dostupnost i vještine,
Availability,Dostupnost,
Weekends,Vikendi,
Availability Timeslot,Availability Timeslot,
Morning,Jutro,
Afternoon,Popodne,
Evening,Veče,
Anytime,Uvek,
Volunteer Skills,Volonterske veštine,
Volunteer Skill,Volonterska vještina,
Homepage,homepage,
Hero Section Based On,Odjeljak za heroje zasnovan na,
Homepage Section,Odjeljak početne stranice,
Hero Section,Sekcija heroja,
Tag Line,Tag Line,
Company Tagline for website homepage,Kompanija Tagline za web stranice homepage,
Company Description for website homepage,Kompanija Opis za web stranice homepage,
Homepage Slideshow,Prezentacija početne stranice,
"URL for ""All Products""",URL za &quot;Svi proizvodi&quot;,
Products to be shown on website homepage,Proizvodi koji će biti prikazan na sajtu homepage,
Homepage Featured Product,Homepage Istaknuti proizvoda,
route,ruta,
Section Based On,Odeljak na osnovu,
Section Cards,Karte odsjeka,
Number of Columns,Broj stupaca,
Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Broj stupaca za ovaj odjeljak. Po 3 kartice prikazat će se u svakom retku ako odaberete 3 stupca.,
Section HTML,Odjeljak HTML,
Use this field to render any custom HTML in the section.,Upotrijebite ovo polje za prikaz bilo kojeg prilagođenog HTML-a u odjeljku.,
Section Order,Odredba odjeljka,
"Order in which sections should appear. 0 is first, 1 is second and so on.","Redoslijed u kojim će se odjeljcima pojaviti. 0 je prvo, 1 je drugo itd.",
Homepage Section Card,Kartica odsjeka za početnu stranicu,
Subtitle,Podnaslov,
Products Settings,Proizvodi Postavke,
Home Page is Products,Početna stranica su proizvodi,
"If checked, the Home page will be the default Item Group for the website","Ako je označeno, na početnu stranicu će biti default Stavka grupe za web stranicu",
Show Availability Status,Prikaži status dostupnosti,
Product Page,Stranica proizvoda,
Products per Page,Proizvodi po stranici,
Enable Field Filters,Omogući filtre polja,
Item Fields,Polja predmeta,
Enable Attribute Filters,Omogući filtre atributa,
Attributes,Atributi,
Hide Variants,Sakrij varijante,
Website Attribute,Atributi web lokacije,
Attribute,Atribut,
Website Filter Field,Polje filtera za web stranicu,
Activity Cost,Aktivnost troškova,
Billing Rate,Billing Rate,
Costing Rate,Costing Rate,
title,naslov,
Projects User,Projektni korisnik,
Default Costing Rate,Uobičajeno Costing Rate,
Default Billing Rate,Uobičajeno Billing Rate,
Dependent Task,Zavisna Task,
Project Type,Vrsta projekta,
% Complete Method,% Complete Način,
Task Completion,zadatak Završetak,
Task Progress,zadatak Napredak,
% Completed,Završen%,
From Template,Iz šablona,
Project will be accessible on the website to these users,Projekt će biti dostupna na web stranici ovih korisnika,
Copied From,kopira iz,
Start and End Dates,Datume početka i završetka,
Actual Time in Hours (via Timesheet),Stvarno vrijeme (u satima),
Costing and Billing,Cijena i naplata,
Total Costing Amount (via Timesheet),Ukupni iznos troškova (preko Timesheeta),
Total Expense Claim (via Expense Claim),Ukupni rashodi potraživanja (preko rashodi potraživanja),
Total Purchase Cost (via Purchase Invoice),Ukupno TROŠKA (preko fakturi),
Total Sales Amount (via Sales Order),Ukupan iznos prodaje (preko prodajnog naloga),
Total Billable Amount (via Timesheet),Ukupan iznos iznosa (preko Timesheeta),
Total Billed Amount (via Sales Invoice),Ukupan fakturisani iznos (preko faktura prodaje),
Total Consumed Material Cost (via Stock Entry),Ukupni troškovi potrošnje materijala (preko zaliha zaliha),
Gross Margin,Bruto marža,
Gross Margin %,Bruto marža %,
Monitor Progress,Napredak monitora,
Collect Progress,Prikupi napredak,
Frequency To Collect Progress,Frekvencija za sakupljanje napretka,
Twice Daily,Twice Daily,
First Email,Prva e-pošta,
Second Email,Druga e-pošta,
Time to send,Vreme za slanje,
Day to Send,Dan za slanje,
Message will be sent to the users to get their status on the Project,Korisnicima će se poslati poruka da dobiju svoj status na Projektu,
Projects Manager,Projektni menadzer,
Project Template,Predložak projekta,
Project Template Task,Zadatak predloška projekta,
Begin On (Days),Početak (dani),
Duration (Days),Trajanje (dani),
Project Update,Ažuriranje projekta,
Project User,Korisnik projekta,
View attachments,Pregledajte priloge,
Projects Settings,Postavke projekata,
Ignore Workstation Time Overlap,Prezreti vremensko preklapanje radne stanice,
Ignore User Time Overlap,Isključiti preklapanje korisničkog vremena,
Ignore Employee Time Overlap,Prezreti vremensko preklapanje radnika,
Weight,težina,
Parent Task,Zadatak roditelja,
Timeline,Vremenska linija,
Expected Time (in hours),Očekivano trajanje (u satima),
% Progress,% Napredak,
Is Milestone,je Milestone,
Task Description,Opis zadatka,
Dependencies,Zavisnosti,
Dependent Tasks,Zavisni zadaci,
Depends on Tasks,Ovisi o Zadaci,
Actual Start Date (via Timesheet),Stvarni Ozljede Datum (preko Time Sheet),
Actual Time in Hours (via Timesheet),Stvarno vrijeme (u satima),
Actual End Date (via Timesheet),Stvarni Završni datum (preko Time Sheet),
Total Expense Claim (via Expense Claim),Ukupni rashodi potraživanja (preko rashodi potraživanje),
Review Date,Datum pregleda,
Closing Date,Datum zatvaranja,
Task Depends On,Zadatak ovisi o,
Task Type,Tip zadatka,
TS-.YYYY.-,TS-.YYYY.-,
Employee Detail,Detalji o radniku,
Billing Details,Billing Detalji,
Total Billable Hours,Ukupno naplative Hours,
Total Billed Hours,Ukupno Fakturisana Hours,
Total Costing Amount,Ukupno Costing iznos,
Total Billable Amount,Ukupno naplative iznos,
Total Billed Amount,Ukupno Fakturisana iznos,
% Amount Billed,% Naplaćenog iznosa,
Hrs,Hrs,
Costing Amount,Costing Iznos,
Corrective/Preventive,Korektivni / preventivni,
Corrective,Korektiv,
Preventive,Preventivno,
Resolution,Rezolucija,
Resolutions,Rezolucije,
Quality Action Resolution,Kvalitetna rezolucija akcije,
Quality Feedback Parameter,Parametar povratne informacije o kvalitetu,
Quality Feedback Template Parameter,Parametar predloška za povratne informacije o kvalitetu,
Quality Goal,Cilj kvaliteta,
Monitoring Frequency,Frekvencija praćenja,
Weekday,Radnim danom,
Objectives,Ciljevi,
Quality Goal Objective,Cilj kvaliteta kvaliteta,
Objective,Cilj,
Agenda,Dnevni red,
Minutes,Minute,
Quality Meeting Agenda,Agenda za kvalitetni sastanak,
Quality Meeting Minutes,Zapisnici sa kvalitetom sastanka,
Minute,Minuta,
Parent Procedure,Postupak roditelja,
Processes,Procesi,
Quality Procedure Process,Proces postupka kvaliteta,
Process Description,Opis procesa,
Link existing Quality Procedure.,Povežite postojeći postupak kvaliteta.,
Additional Information,Dodatne informacije,
Quality Review Objective,Cilj pregleda kvaliteta,
DATEV Settings,Postavke DATEV-a,
Regional,regionalni,
Consultant ID,ID konsultanta,
GST HSN Code,PDV HSN Kod,
HSN Code,HSN Kod,
GST Settings,PDV Postavke,
GST Summary,PDV Pregled,
GSTIN Email Sent On,GSTIN mail poslan,
GST Accounts,GST računi,
B2C Limit,B2C Limit,
Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Postavite vrednost fakture za B2C. B2CL i B2CS izračunati na osnovu ove fakture vrednosti.,
GSTR 3B Report,GSTR 3B Izvještaj,
January,Januar,
February,februar,
March,Marta,
April,Aprila,
August,Avgusta,
September,Septembra,
October,Oktobar,
November,Novembra,
December,Prosinca,
JSON Output,Izlaz JSON,
Invoices with no Place Of Supply,Računi bez mjesta opskrbe,
Import Supplier Invoice,Uvoz fakture dobavljača,
Invoice Series,Serija fakture,
Upload XML Invoices,Pošaljite XML fakture,
Zip File,Zip File,
Import Invoices,Uvoz računa,
Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Kliknite gumb Uvezi račune nakon što se dokument pridruži. Sve pogreške povezane s obradom bit će prikazane u dnevniku grešaka.,
Lower Deduction Certificate,Potvrda o nižem odbitku,
Certificate Details,Detalji certifikata,
194A,194A,
194C,194C,
194D,194D,
194H,194H,
194I,194I,
194J,194J,
194LA,194LA,
194LBB,194LBB,
194LBC,194LBC,
Certificate No,Potvrda br,
Deductee Details,Detalji o odbitku,
PAN No,PAN br,
Validity Details,Detalji valjanosti,
Rate Of TDS As Per Certificate,Stopa TDS-a prema certifikatu,
Certificate Limit,Ograničenje certifikata,
Invoice Series Prefix,Prefix serije računa,
Active Menu,Aktivni meni,
Restaurant Menu,Restoran meni,
Price List (Auto created),Cenovnik (Automatski kreiran),
Restaurant Manager,Restoran menadžer,
Restaurant Menu Item,Restoran Menu Item,
Restaurant Order Entry,Restoran za unos naloga,
Restaurant Table,Restoran Stol,
Click Enter To Add,Kliknite Enter za dodavanje,
Last Sales Invoice,Poslednja prodaja faktura,
Current Order,Trenutna porudžbina,
Restaurant Order Entry Item,Restoran za unos stavke,
Served,Servirano,
Restaurant Reservation,Rezervacija restorana,
Waitlisted,Waitlisted,
No Show,Ne Show,
No of People,Broj ljudi,
Reservation Time,Vrijeme rezervacije,
Reservation End Time,Vreme završetka rezervacije,
No of Seats,Broj sedišta,
Minimum Seating,Minimalno sedenje,
"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Pratite prodajne kampanje. Pratite Lead-ove, Ponude, Porudžbenice itd iz Kampanje i procijeniti povrat investicije.",
SAL-CAM-.YYYY.-,SAL-CAM-YYYY.-,
Campaign Schedules,Rasporedi kampanje,
Buyer of Goods and Services.,Kupac robe i usluga.,
CUST-.YYYY.-,CUST-YYYY.-,
Default Company Bank Account,Bankovni račun kompanije,
From Lead,Od Lead-a,
Account Manager,Menadžer računa,
Allow Sales Invoice Creation Without Sales Order,Omogućite stvaranje fakture za prodaju bez naloga za prodaju,
Allow Sales Invoice Creation Without Delivery Note,Dozvoli stvaranje fakture za prodaju bez napomene o isporuci,
Default Price List,Zadani cjenik,
Primary Address and Contact Detail,Primarna adresa i kontakt detalji,
"Select, to make the customer searchable with these fields",Izaberite da biste potrošaču omogućili pretragu sa ovim poljima,
Customer Primary Contact,Primarni kontakt klijenta,
"Reselect, if the chosen contact is edited after save","Ponovo izaberi, ako je odabrani kontakt uređen nakon čuvanja",
Customer Primary Address,Primarna adresa klijenta,
"Reselect, if the chosen address is edited after save","Ponovo odaberite, ako je izabrana adresa uređena nakon čuvanja",
Primary Address,Primarna adresa,
Mention if non-standard receivable account,Spomenuti ako nestandardni potraživanja račun,
Credit Limit and Payment Terms,Kreditni limit i uslovi plaćanja,
Additional information regarding the customer.,Dodatne informacije o kupcu.,
Sales Partner and Commission,Prodajnog partnera i Komisije,
Commission Rate,Komisija Stopa,
Sales Team Details,Prodaja Team Detalji,
Customer POS id,Korisnički POS id,
Customer Credit Limit,Limit za klijenta,
Bypass Credit Limit Check at Sales Order,Provjerite kreditni limit za obilaznicu na nalogu za prodaju,
Industry Type,Industrija Tip,
MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
Installation Date,Instalacija Datum,
Installation Time,Vrijeme instalacije,
Installation Note Item,Napomena instalacije proizvoda,
Installed Qty,Instalirana kol,
Lead Source,Izvor potencijalnog kupca,
Period Start Date,Datum početka perioda,
Period End Date,Datum završetka perioda,
Cashier,Blagajna,
Difference,Razlika,
Modes of Payment,Načini plaćanja,
Linked Invoices,Povezane fakture,
POS Closing Voucher Details,POS Closing Voucher Detalji,
Collected Amount,Prikupljeni iznos,
Expected Amount,Očekivani iznos,
POS Closing Voucher Invoices,POS zaključavanje vaučera,
Quantity of Items,Količina predmeta,
"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**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor 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 Product Bundle Item.\n\nNote: BOM = Bill of Materials","Agregat grupa ** Predmeti ** u drugu ** Stavka **. Ovo je korisno ako se vezanje određenog ** Predmeti ** u paketu i održavanje zaliha na upakovane ** Predmeti ** a ne agregata ** Stavka **. Paket ** ** Stavka će imati &quot;Je Stock Stavka&quot; kao &quot;ne&quot; i &quot;Da li je prodaja Stavka&quot; kao &quot;Da&quot;. Na primjer: Ako se prodaje laptopa i Ruksaci odvojeno i imaju posebnu cijenu ako kupac kupuje obje, onda Laptop + Ruksak će biti novi Bundle proizvoda stavku. Napomena: BOM = Bill of Materials",
Parent Item,Roditelj artikla,
List items that form the package.,Popis stavki koje čine paket.,
SAL-QTN-.YYYY.-,SAL-QTN-YYYY-,
Quotation To,Ponuda za,
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 Price list currency is converted to company's base currency,Stopa po kojoj Cjenik valute se pretvaraju u tvrtke bazne valute,
Additional Discount and Coupon Code,Dodatni popust i kod kupona,
Referral Sales Partner,Preporuka prodajni partner,
In Words will be visible once you save the Quotation.,U riječi će biti vidljiv nakon što spremite ponudu.,
Term Details,Oročeni Detalji,
Quotation Item,Artikl iz ponude,
Against Doctype,Protiv DOCTYPE,
Against Docname,Protiv Docname,
Additional Notes,Dodatne napomene,
SAL-ORD-.YYYY.-,SAL-ORD-YYYY.-,
Skip Delivery Note,Preskočite dostavnicu,
In Words will be visible once you save the Sales Order.,U riječi će biti vidljiv nakon što spremite prodajnog naloga.,
Track this Sales Order against any Project,Prati ovu porudzbinu na svim Projektima,
Billing and Delivery Status,Obračun i Status isporuke,
Not Delivered,Ne Isporučeno,
Fully Delivered,Potpuno Isporučeno,
Partly Delivered,Djelomično Isporučeno,
Not Applicable,Nije primjenjivo,
%  Delivered,Isporučeno%,
% of materials delivered against this Sales Order,% Materijala dostavljenih od ovog prodajnog naloga,
% of materials billed against this Sales Order,% Materijala naplaćeno protiv ovog prodajnog naloga,
Not Billed,Ne Naplaćeno,
Fully Billed,Potpuno Naplaćeno,
Partly Billed,Djelomično Naplaćeno,
Ensure Delivery Based on Produced Serial No,Osigurati isporuku zasnovanu na serijskom br,
Supplier delivers to Customer,Dobavljač dostavlja kupaca,
Delivery Warehouse,Isporuka Skladište,
Planned Quantity,Planirana količina,
For Production,Za proizvodnju,
Work Order Qty,Work Order Količina,
Produced Quantity,Proizvedena količina,
Used for Production Plan,Koristi se za plan proizvodnje,
Sales Partner Type,Vrsta prodajnog partnera,
Contact No.,Kontakt broj,
Contribution (%),Doprinos (%),
Contribution to Net Total,Doprinos neto Ukupno,
Selling Settings,Podešavanja prodaje,
Settings for Selling Module,Postavke za prodaju modul,
Customer Naming By,Kupac Imenovanje By,
Campaign Naming By,Imenovanje kampanja po,
Default Customer Group,Zadana grupa korisnika,
Default Territory,Zadani teritorij,
Close Opportunity After Days,Zatvori Opportunity Nakon nekoliko dana,
Default Quotation Validity Days,Uobičajeni dani valute kvotiranja,
Sales Update Frequency,Frekvencija ažuriranja prodaje,
Each Transaction,Svaka transakcija,
SMS Center,SMS centar,
Send To,Pošalji na adresu,
All Contact,Svi kontakti,
All Customer Contact,Svi kontakti kupaca,
All Supplier Contact,Svi kontakti dobavljača,
All Sales Partner Contact,Svi kontakti distributera,
All Lead (Open),Svi potencijalni kupci (aktualni),
All Employee (Active),Svi zaposleni (aktivni),
All Sales Person,Svi prodavači,
Create Receiver List,Kreiraj listu primalaca,
Receiver List,Lista primalaca,
Messages greater than 160 characters will be split into multiple messages,Poruka veća od 160 karaktera će biti odvojena u više poruka,
Total Characters,Ukupno Likovi,
Total Message(s),Ukupno poruka ( i),
Authorization Control,Odobrenje kontrole,
Authorization Rule,Autorizacija Pravilo,
Average Discount,Prosječni popust,
Customerwise Discount,Customerwise Popust,
Itemwise Discount,Itemwise Popust,
Customer or Item,Kupac ili stavka,
Customer / Item Name,Kupac / Stavka Ime,
Authorized Value,Ovlašteni Vrijednost,
Applicable To (Role),Odnosi se na (uloga),
Applicable To (Employee),Odnosi se na (Radnik),
Applicable To (User),Odnosi se na (Upute),
Applicable To (Designation),Odnosi se na (Oznaka),
Approving Role (above authorized value),Odobravanje ulogu (iznad ovlašteni vrijednost),
Approving User  (above authorized value),Odobravanje korisnika (iznad ovlašteni vrijednost),
Brand Defaults,Podrazumevane robne marke,
Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Pravna osoba / Podružnica sa zasebnim kontnom pripadaju Organizacije.,
Change Abbreviation,Promijeni Skraćenica,
Parent Company,Matična kompanija,
Default Values,Default vrijednosti,
Default Holiday List,Uobičajeno Holiday List,
Default Selling Terms,Uobičajeni prodajni uslovi,
Default Buying Terms,Uvjeti kupnje,
Create Chart Of Accounts Based On,Napravite Kontni plan na osnovu,
Standard Template,standard Template,
Existing Company,Postojeća kompanija,
Chart Of Accounts Template,Kontni plan Template,
Existing Company ,postojeći Company,
Date of Establishment,Datum uspostavljanja,
Sales Settings,Postavke prodaje,
Monthly Sales Target,Mesečni cilj prodaje,
Sales Monthly History,Prodaja mesečne istorije,
Transactions Annual History,Godišnja istorija transakcija,
Total Monthly Sales,Ukupna mesečna prodaja,
Default Cash Account,Zadani novčani račun,
Default Receivable Account,Uobičajeno Potraživanja račun,
Round Off Cost Center,Zaokružimo troškova Center,
Discount Allowed Account,Dopušten popust,
Discount Received Account,Račun primljen na popust,
Exchange Gain / Loss Account,Exchange dobitak / gubitak računa,
Unrealized Exchange Gain/Loss Account,Nerealizirani račun za dobitak / gubitak,
Allow Account Creation Against Child Company,Dozvolite otvaranje računa protiv kompanije Child,
Default Payable Account,Uobičajeno računa se plaća,
Default Employee Advance Account,Uobičajeni uposni račun zaposlenog,
Default Cost of Goods Sold Account,Uobičajeno Nabavna vrednost prodate robe računa,
Default Income Account,Zadani račun prihoda,
Default Deferred Revenue Account,Podrazumevani odloženi porezni račun,
Default Deferred Expense Account,Podrazumevani odloženi račun za troškove,
Default Payroll Payable Account,Uobičajeno zarade plaćaju nalog,
Default Expense Claim Payable Account,Podrazumevani troškovi potraživanja,
Stock Settings,Stock Postavke,
Enable Perpetual Inventory,Omogućiti vječni zaliha,
Default Inventory Account,Uobičajeno zaliha računa,
Stock Adjustment Account,Stock Adjustment račun,
Fixed Asset Depreciation Settings,Osnovnih sredstava Amortizacija Postavke,
Series for Asset Depreciation Entry (Journal Entry),Serija za unos sredstava za amortizaciju (dnevnik),
Gain/Loss Account on Asset Disposal,Dobitak / gubitak računa na Asset Odlaganje,
Asset Depreciation Cost Center,Asset Amortizacija troškova Center,
Budget Detail,Proračun Detalj,
Exception Budget Approver Role,Izuzetna budžetska uloga odobravanja,
Company Info,Podaci o preduzeću,
For reference only.,Za referencu samo.,
Company Logo,Logo kompanije,
Date of Incorporation,Datum osnivanja,
Date of Commencement,Datum početka,
Phone No,Telefonski broj,
Company Description,Opis preduzeća,
Registration Details,Registracija Brodu,
Company registration numbers for your reference. Tax numbers etc.,Tvrtka registracijski brojevi za svoju referencu. Porezni brojevi itd.,
Delete Company Transactions,Izbrišite Company Transakcije,
Currency Exchange,Mjenjačnica,
Specify Exchange Rate to convert one currency into another,Odredite Exchange Rate pretvoriti jedne valute u drugu,
From Currency,Od novca,
To Currency,Valutno,
For Buying,Za kupovinu,
For Selling,Za prodaju,
Customer Group Name,Naziv vrste djelatnosti Kupca,
Parent Customer Group,Roditelj Kupac Grupa,
Only leaf nodes are allowed in transaction,Samo leaf čvorovi su dozvoljeni u transakciji,
Mention if non-standard receivable account applicable,Spomenite ako nestandardnih potraživanja računa važećim,
Credit Limits,Kreditni limiti,
Email Digest,E-pošta,
Send regular summary reports via Email.,Pošalji redovne zbirne izvještaje putem e-maila.,
Email Digest Settings,E-pošta Postavke,
How frequently?,Koliko često?,
Next email will be sent on:,Sljedeća e-mail će biti poslan na:,
Note: Email will not be sent to disabled users,Napomena: E-mail neće biti poslan invalide,
Profit & Loss,Dobiti i gubitka,
New Income,novi prihod,
New Expenses,novi Troškovi,
Annual Income,Godišnji prihod,
Annual Expenses,Godišnji troškovi,
Bank Balance,Banka Balance,
Bank Credit Balance,Kreditni saldo banke,
Receivables,Potraživanja,
Payables,Obveze,
Sales Orders to Bill,Prodajni nalogi za Bill,
Purchase Orders to Bill,Narudžbe za kupovinu,
New Sales Orders,Nove narudžbenice,
New Purchase Orders,Novi narudžbenice kupnje,
Sales Orders to Deliver,Prodajna narudžbina za isporuku,
Purchase Orders to Receive,Narudžbe za kupovinu,
New Purchase Invoice,Nova faktura za kupovinu,
New Quotations,Nove ponude,
Open Quotations,Open Quotations,
Open Issues,Otvorena izdanja,
Open Projects,Otvoreni projekti,
Purchase Orders Items Overdue,Nalozi za kupovinu narudžbine,
Upcoming Calendar Events,Nadolazeći kalendarski događaji,
Open To Do,Otvoreno za obaviti,
Add Quote,Dodaj Citat,
Global Defaults,Globalne zadane postavke,
Default Company,Zadana tvrtka,
Current Fiscal Year,Tekuće fiskalne godine,
Default Distance Unit,Podrazumevana jedinica udaljenosti,
Hide Currency Symbol,Sakrij simbol valute,
Do not show any symbol like $ etc next to currencies.,Ne pokazati nikakav simbol poput $ iza valute.,
"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",
Disable In Words,Onemogućena u Words,
"If disable, 'In Words' field will not be visible in any transaction","Ako onemogućite, &#39;riječima&#39; polju neće biti vidljivi u bilo koju transakciju",
Item Classification,Stavka Klasifikacija,
General Settings,General Settings,
Item Group Name,Naziv grupe artikla,
Parent Item Group,Roditelj artikla Grupa,
Item Group Defaults,Podrazumevana postavka grupe,
Item Tax,Porez artikla,
Check this if you want to show in website,Označite ovo ako želite pokazati u web,
Show this slideshow at the top of the page,Prikaži ovaj slideshow na vrhu stranice,
HTML / Banner that will show on the top of product list.,HTML / baner koji će se prikazivati na vrhu liste proizvoda.,
Set prefix for numbering series on your transactions,Postavite prefiks za numeriranje niza na svoje transakcije,
Setup Series,Postavljanje Serija,
Update Series,Update serija,
Change the starting / current sequence number of an existing series.,Promjena polaznu / tekući redni broj postojeće serije.,
Quotation Lost Reason,Razlog nerealizirane ponude,
A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,A treće strane distributera / trgovca / komisije agent / affiliate / prodavače koji prodaje kompanije proizvoda za proviziju.,
Sales Partner Name,Prodaja Ime partnera,
Partner Type,Partner Tip,
Address & Contacts,Adresa i kontakti,
Address Desc,Adresa silazno,
Contact Desc,Kontakt ukratko,
Sales Partner Target,Prodaja partner Target,
Targets,Mete,
Show In Website,Pokaži Na web stranice,
Referral Code,Kod preporuke,
To Track inbound purchase,Da biste pratili ulaznu kupovinu,
Logo,Logo,
Partner website,website partner,
All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Sve Sales Transakcije mogu biti označena protiv više osoba ** ** Sales, tako da možete postaviti i pratiti ciljeve.",
Name and Employee ID,Ime i ID zaposlenika,
Sales Person Name,Ime referenta prodaje,
Parent Sales Person,Roditelj Prodaja Osoba,
Select company name first.,Prvo odaberite naziv preduzeća.,
Sales Person Targets,Prodaje osobi Mete,
Set targets Item Group-wise for this Sales Person.,Set cilja predmet Grupa-mudar za ovaj prodavač.,
Supplier Group Name,Ime grupe dobavljača,
Parent Supplier Group,Matična grupa dobavljača,
Target Detail,Ciljana Detalj,
Target Qty,Ciljana Kol,
Target  Amount,Ciljani iznos,
Target Distribution,Ciljana Distribucija,
"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Standardnim uvjetima koji se mogu dodati da prodaje i kupovine.\n\n Primjeri: \n\n 1. Valjanost ponude.\n 1. Uslovi plaćanja (unaprijed, na kredit, dio unaprijed itd).\n 1. Što je extra (ili na teret kupca).\n 1. Sigurnost / Upozorenje korištenje.\n 1. Jamstvo ako ih ima.\n 1. Vraća politike.\n 1. Uvjeti shipping, ako je primjenjivo.\n 1. Načini adresiranja sporova, naknadu štete, odgovornosti, itd \n 1. Adresu i kontakt vaše kompanije.",
Applicable Modules,Primjenjivi moduli,
Terms and Conditions Help,Uslovi Pomoć,
Classification of Customers by region,Klasifikacija Kupci po regiji,
Territory Name,Regija Ime,
Parent Territory,Roditelj Regija,
Territory Manager,Manager teritorije,
For reference,Za referencu,
Territory Targets,Teritorij Mete,
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.,
UOM Name,UOM Ime,
Check this to disallow fractions. (for Nos),Provjerite to da ne dopušta frakcija. (Za br),
Website Item Group,Web stranica artikla Grupa,
Cross Listing of Item in multiple groups,Cross Oglas tačke u više grupa,
Default settings for Shopping Cart,Početne postavke za Košarica,
Enable Shopping Cart,Enable Košarica,
Display Settings,Podešavanja izgleda,
Show Public Attachments,Pokaži Javna Prilozi,
Show Price,Prikaži cijene,
Show Stock Availability,Show Stock Availability,
Show Contact Us Button,Prikaži gumb Kontaktirajte nas,
Show Stock Quantity,Show Stock Quantity,
Show Apply Coupon Code,Prikaži Primjeni kod kupona,
Allow items not in stock to be added to cart,Dopustite da se dodaju u košaricu artikli koji nisu na zalihama,
Prices will not be shown if Price List is not set,Cijene neće biti prikazan ako nije postavljena Cjenik,
Quotation Series,Citat serije,
Checkout Settings,Plaćanje Postavke,
Enable Checkout,Enable Checkout,
Payment Success Url,Plaćanje Uspjeh URL,
After payment completion redirect user to selected page.,Nakon završetka uplate preusmjeriti korisnika na odabrani stranicu.,
Batch Details,Detalji serije,
Batch ID,ID serije,
image,slika,
Parent Batch,roditelja Batch,
Manufacturing Date,Datum proizvodnje,
Batch Quantity,Serijska količina,
Batch UOM,Batch UOM,
Source Document Type,Izvor Document Type,
Source Document Name,Izvor Document Name,
Batch Description,Batch Opis,
Bin,Kanta,
Reserved Quantity,Rezervirano Količina,
Actual Quantity,Stvarna količina,
Requested Quantity,Tražena količina,
Reserved Qty for sub contract,Rezervisana količina za pod ugovorom,
Moving Average Rate,Premještanje prosječna stopa,
FCFS Rate,FCFS Stopa,
Customs Tariff Number,Carinski tarifni broj,
Tariff Number,tarifni broj,
Delivery To,Dostava za,
MAT-DN-.YYYY.-,MAT-DN-YYYY.-,
Is Return,Je li povratak,
Issue Credit Note,Izdajte kreditnu poruku,
Return Against Delivery Note,Vratiti protiv Isporuka Napomena,
Customer's Purchase Order No,Kupca Narudžbenica br,
Billing Address Name,Naziv adrese za naplatu,
Required only for sample item.,Potrebna je samo za primjer stavke.,
"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Ako ste kreirali standardni obrazac u prodaji poreza i naknada Template, odaberite jednu i kliknite na dugme ispod.",
In Words will be visible once you save the Delivery Note.,Riječima će biti vidljivo nakon što spremite otpremnicu.,
In Words (Export) will be visible once you save the Delivery Note.,Riječima (izvoz) će biti vidljivo nakon što spremite otpremnicu.,
Transporter Info,Transporter Info,
Driver Name,Ime vozača,
Track this Delivery Note against any Project,Prati ovu napomenu o isporuci na svim Projektima,
Inter Company Reference,Inter Company Reference,
Print Without Amount,Ispis Bez visini,
% Installed,Instalirano%,
% of materials delivered against this Delivery Note,% Materijala dostavljenih protiv ove otpremnici,
Installation Status,Status instalacije,
Excise Page Number,Trošarina Broj stranice,
Instructions,Instrukcije,
From Warehouse,Od Skladište,
Against Sales Order,Protiv prodajnog naloga,
Against Sales Order Item,Protiv naloga prodaje Item,
Against Sales Invoice,Protiv prodaje fakture,
Against Sales Invoice Item,Protiv prodaje fakture Item,
Available Batch Qty at From Warehouse,Dostupno Batch Količina na Od Skladište,
Available Qty at From Warehouse,Dostupno Količina na Od Skladište,
Delivery Settings,Postavke isporuke,
Dispatch Settings,Dispečerske postavke,
Dispatch Notification Template,Šablon za obavještenje o otpremi,
Dispatch Notification Attachment,Prilog za obavještenje o otpremi,
Leave blank to use the standard Delivery Note format,Ostavite prazno da biste koristili standardni format isporuke,
Send with Attachment,Pošaljite sa Prilogom,
Delay between Delivery Stops,Kašnjenje između prekida isporuke,
Delivery Stop,Dostava Stop,
Lock,Zaključati,
Visited,Posjetio,
Order Information,Informacije o porudžbini,
Contact Information,Kontakt informacije,
Email sent to,E-mail poslat,
Dispatch Information,Informacije o otpremi,
Estimated Arrival,Procijenjeni dolazak,
MAT-DT-.YYYY.-,MAT-DT-YYYY.-,
Initial Email Notification Sent,Poslato je prvo obaveštenje o e-mailu,
Delivery Details,Detalji isporuke,
Driver Email,E-adresa vozača,
Driver Address,Adresa vozača,
Total Estimated Distance,Ukupna procenjena rastojanja,
Distance UOM,Udaljenost UOM,
Departure Time,Vrijeme odlaska,
Delivery Stops,Dostava je prestala,
Calculate Estimated Arrival Times,Izračunajte procenjene vremenske prilike,
Use Google Maps Direction API to calculate estimated arrival times,Koristite API za Google Maps Direction za izračunavanje predviđenih vremena dolaska,
Optimize Route,Optimizirajte rutu,
Use Google Maps Direction API to optimize route,Koristite API za usmjeravanje Google Maps za optimizaciju rute,
In Transit,U prolazu,
Fulfillment User,Fulfillment User,
"A Product or a Service that is bought, sold or kept in stock.","Proizvoda ili usluge koja je kupio, prodati ili držati u čoporu.",
STO-ITEM-.YYYY.-,STO-ITEM-.YYYY.-,
Variant Of,Variant Of,
"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Ako proizvod varijanta druge stavke onda opis, slike, cijene, poreze itd će biti postavljena iz predloška, osim ako izričito navedeno",
Is Item from Hub,Je stavka iz Hub-a,
Default Unit of Measure,Zadana mjerna jedinica,
Maintain Stock,Održavati Stock,
Standard Selling Rate,Standard prodajni kurs,
Auto Create Assets on Purchase,Automatski kreirajte sredstva prilikom kupovine,
Asset Naming Series,Serija imenovanja imovine,
Over Delivery/Receipt Allowance (%),Nadoknada za isporuku / primanje (%),
Barcodes,Barkodovi,
Shelf Life In Days,Rok trajanja u danima,
End of Life,Kraj života,
Default Material Request Type,Uobičajeno materijala Upit Tip,
Valuation Method,Vrednovanje metoda,
FIFO,FIFO,
Moving Average,Moving Average,
Warranty Period (in days),Jamstveni period (u danima),
Auto re-order,Autorefiniš reda,
Reorder level based on Warehouse,Nivo Ponovno red zasnovan na Skladište,
Will also apply for variants unless overridden,Primjenjivat će se i za varijante osim overridden,
Units of Measure,Jedinice mjere,
Will also apply for variants,Primjenjivat će se i za varijante,
Serial Nos and Batches,Serijski brojevi i Paketi,
Has Batch No,Je Hrpa Ne,
Automatically Create New Batch,Automatski Create New Batch,
Batch Number Series,Serija brojeva serija,
"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Primer: ABCD. #####. Ako je serija postavljena i Batch No se ne pominje u transakcijama, na osnovu ove serije će se kreirati automatski broj serije. Ako uvek želite da eksplicitno navedete Batch No za ovu stavku, ostavite ovo praznim. Napomena: ovo podešavanje će imati prioritet nad Prefiksom naziva serije u postavkama zaliha.",
Has Expiry Date,Ima datum isteka,
Retain Sample,Zadrži uzorak,
Max Sample Quantity,Maksimalna količina uzorka,
Maximum sample quantity that can be retained,Maksimalna količina uzorka koja se može zadržati,
Has Serial No,Ima serijski br,
Serial Number Series,Serijski broj serije,
"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Primjer:. ABCD ##### \n Ako serije je postavljen i serijski broj se ne spominje u transakcijama, a zatim automatski serijski broj će biti kreiran na osnovu ove serije. Ako želite uvijek izričito spomenuti Serial Nos za ovu stavku. ovo ostavite prazno.",
Variants,Varijante,
Has Variants,Ima Varijante,
"If this item has variants, then it cannot be selected in sales orders etc.","Ako ova stavka ima varijante, onda ne može biti izabran u prodaji naloge itd",
Variant Based On,Varijanta na osnovu,
Item Attribute,Stavka Atributi,
"Sales, Purchase, Accounting Defaults","Prodaja, kupovina, podrazumevane vrednosti računovodstva",
Item Defaults,Item Defaults,
"Purchase, Replenishment Details","Detalji kupovine, dopunjavanja",
Is Purchase Item,Je dobavljivi proizvod,
Default Purchase Unit of Measure,Podrazumevana jedinica kupovine mjere,
Minimum Order Qty,Minimalna količina za naručiti,
Minimum quantity should be as per Stock UOM,Minimalna količina treba biti prema zalihama UOM-a,
Average time taken by the supplier to deliver,Prosječno vrijeme koje je dobavljač isporuči,
Is Customer Provided Item,Da li je predmet koji pruža klijent,
Delivered by Supplier (Drop Ship),Isporučuje Dobavljač (Drop Ship),
Supplier Items,Dobavljač Predmeti,
Foreign Trade Details,Vanjske trgovine Detalji,
Country of Origin,Zemlja porijekla,
Sales Details,Prodajni detalji,
Default Sales Unit of Measure,Podrazumevana jedinica prodaje mjere,
Is Sales Item,Je artikl namijenjen prodaji,
Max Discount (%),Max rabat (%),
No of Months,Broj meseci,
Customer Items,Customer Predmeti,
Inspection Criteria,Inspekcijski Kriteriji,
Inspection Required before Purchase,Inspekcija Obavezno prije kupnje,
Inspection Required before Delivery,Inspekcija Potrebna prije isporuke,
Default BOM,Zadani BOM,
Supply Raw Materials for Purchase,Supply sirovine za kupovinu,
If subcontracted to a vendor,Ako podizvođača na dobavljača,
Customer Code,Kupac Šifra,
Default Item Manufacturer,Zadani proizvođač predmeta,
Default Manufacturer Part No,Zadani broj dijela proizvođača,
Show in Website (Variant),Pokaži u Web (Variant),
Items with higher weightage will be shown higher,Predmeti sa višim weightage će biti prikazan veći,
Show a slideshow at the top of the page,Prikaži slideshow na vrhu stranice,
Website Image,Slika web stranice,
Website Warehouse,Web stranica galerije,
"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.,
Website Item Groups,Website Stavka Grupe,
List this Item in multiple groups on the website.,Popis ovaj predmet u više grupa na web stranici.,
Copy From Item Group,Primjerak iz točke Group,
Website Content,Sadržaj web stranice,
You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,U ovom polju možete koristiti bilo koji važeći oznaku Bootstrap 4. To će biti prikazano na vašoj stranici predmeta.,
Total Projected Qty,Ukupni planirani Količina,
Hub Publishing Details,Detalji izdavanja stanice,
Publish in Hub,Objavite u Hub,
Publish Item to hub.erpnext.com,Objavite stavku da hub.erpnext.com,
Hub Category to Publish,Glavna kategorija za objavljivanje,
Hub Warehouse,Hub skladište,
"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Objavite &quot;Na lageru&quot; ili &quot;Nema na lageru&quot; na Hub-u na osnovu raspoloživih zaliha u ovom skladištu.,
Synced With Hub,Pohranjen Hub,
Item Alternative,Artikal Alternative,
Alternative Item Code,Alternativni kod artikla,
Two-way,Dvosmerno,
Alternative Item Name,Alternativni naziv predmeta,
Attribute Name,Atributi Ime,
Numeric Values,Brojčane vrijednosti,
From Range,Od Range,
Increment,Prirast,
To Range,U rasponu,
Item Attribute Values,Stavka Atributi vrijednosti,
Item Attribute Value,Stavka vrijednost atributa,
Attribute Value,Vrijednost atributa,
Abbreviation,Skraćenica,
"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Ovo će biti dodan na Šifra za varijantu. Na primjer, ako je vaš skraćenica ""SM"", a stavka kod je ""T-SHIRT"", stavka kod varijante će biti ""T-SHIRT-SM""",
Item Barcode,Barkod artikla,
Barcode Type,Tip barkoda,
EAN,EAN,
UPC-A,UPC-A,
Item Customer Detail,Artikal - detalji kupca,
"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",
Ref Code,Ref. Šifra,
Item Default,Stavka Default,
Purchase Defaults,Kupovina Defaults,
Default Buying Cost Center,Zadani trošak kupnje,
Default Supplier,Glavni dobavljač,
Default Expense Account,Zadani račun rashoda,
Sales Defaults,Sales Defaults,
Default Selling Cost Center,Zadani trošak prodaje,
Item Manufacturer,artikal Proizvođač,
Item Price,Cijena artikla,
Packing Unit,Jedinica za pakovanje,
Quantity  that must be bought or sold per UOM,Količina koja se mora kupiti ili prodati po UOM,
Item Quality Inspection Parameter,Parametar provjere kvalitete artikala,
Acceptance Criteria,Kriterij prihvaćanja,
Item Reorder,Ponovna narudžba artikla,
Check in (group),Check in (grupa),
Request for,Zahtjev za,
Re-order Level,Re-order Level,
Re-order Qty,Re-order Količina,
Item Supplier,Dobavljač artikla,
Item Variant,Stavka Variant,
Item Variant Attribute,Stavka Variant Atributi,
Do not update variants on save,Ne ažurirajte varijante prilikom štednje,
Fields will be copied over only at time of creation.,Polja će se kopirati samo u trenutku kreiranja.,
Allow Rename Attribute Value,Dozvoli preimenovati vrednost atributa,
Rename Attribute Value in Item Attribute.,Preimenuj vrijednost atributa u atributu predmeta.,
Copy Fields to Variant,Kopiraj polja na varijantu,
Item Website Specification,Specifikacija web stranice artikla,
Table for Item that will be shown in Web Site,Sto za stavku koja će se prikazati u Web Site,
Landed Cost Item,Sletio Troškovi artikla,
Receipt Document Type,Prijem Document Type,
Receipt Document,dokument o prijemu,
Applicable Charges,Mjerodavno Optužbe,
Purchase Receipt Item,Kupnja Potvrda predmet,
Landed Cost Purchase Receipt,Sletio Trošak Kupnja Potvrda,
Landed Cost Taxes and Charges,Sleteo Troškovi poreza i naknada,
Landed Cost Voucher,Sleteo Cost vaučera,
MAT-LCV-.YYYY.-,MAT-LCV-YYYY.-,
Purchase Receipts,Kupovina Primici,
Purchase Receipt Items,Primka proizvoda,
Get Items From Purchase Receipts,Get Predmeti iz otkupa Primici,
Distribute Charges Based On,Podijelite Optužbe na osnovu,
Landed Cost Help,Sleteo Cost Pomoć,
Manufacturers used in Items,Proizvođači se koriste u Predmeti,
Limited to 12 characters,Ograničena na 12 znakova,
MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
Partially Ordered,Djelomično naređeno,
Transferred,prebačen,
% Ordered,% Poruceno,
Terms and Conditions Content,Uvjeti sadržaj,
Quantity and Warehouse,Količina i skladišta,
Lead Time Date,Datum i vrijeme Lead-a,
Min Order Qty,Min Red Kol,
Packed Item,Dostava Napomena Pakiranje artikla,
To Warehouse (Optional),Da Warehouse (Opcionalno),
Actual Batch Quantity,Stvarna količina serije,
Prevdoc DocType,Prevdoc DOCTYPE,
Parent Detail docname,Roditelj Detalj docname,
"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generirajte pakovanje Slips za pakete dostaviti. Koristi se za obavijesti paket broja, sadržaj paket i njegove težine.",
Indicates that the package is a part of this delivery (Only Draft),Ukazuje da je paket je dio ove isporuke (samo nacrti),
MAT-PAC-.YYYY.-,MAT-PAC-YYYY.-,
From Package No.,Iz paketa broj,
Identification of the package for the delivery (for print),Identifikacija paketa za dostavu (za tisak),
To Package No.,Za Paket br,
If more than one package of the same type (for print),Ako je više od jedan paket od iste vrste (za tisak),
Package Weight Details,Težina paketa - detalji,
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),
Net Weight UOM,Težina mjerna jedinica,
Gross Weight,Bruto težina,
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),
Gross Weight UOM,Bruto težina UOM,
Packing Slip Item,Odreskom predmet,
DN Detail,DN detalj,
STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
Material Transfer for Manufacture,Prijenos materijala za izradu,
Qty of raw materials will be decided based on the qty of the Finished Goods Item,Količina sirovina odlučivat će se na osnovu količine proizvoda Gotove robe,
Parent Warehouse,Parent Skladište,
Items under this warehouse will be suggested,Predlozi ispod ovog skladišta bit će predloženi,
Get Item Locations,Dohvati lokacije predmeta,
Item Locations,Lokacije predmeta,
Pick List Item,Izaberite stavku popisa,
Picked Qty,Izabrani broj,
Price List Master,Cjenik Master,
Price List Name,Cjenik Ime,
Price Not UOM Dependent,Cijena nije UOM zavisna,
Applicable for Countries,Za zemlje u,
Price List Country,Cijena Lista država,
MAT-PRE-.YYYY.-,MAT-PRE-YYYY.-,
Supplier Delivery Note,Napomena o isporuci dobavljača,
Time at which materials were received,Vrijeme u kojem su materijali primili,
Return Against Purchase Receipt,Vratiti protiv Kupovina prijem,
Rate at which supplier's currency is converted to company's base currency,Stopa po kojoj supplier valuta se pretvaraju u tvrtke bazne valute,
Sets 'Accepted Warehouse' in each row of the items table.,Postavlja &#39;Prihvaćeno skladište&#39; u svaki red tablice stavki.,
Sets 'Rejected Warehouse' in each row of the items table.,Postavlja &#39;Odbijeno skladište&#39; u svaki red tablice stavki.,
Raw Materials Consumed,Potrošena sirovina,
Get Current Stock,Kreiraj trenutne zalihe,
Consumed Items,Potrošeni predmeti,
Add / Edit Taxes and Charges,Dodaj / uredi poreze i troškove,
Auto Repeat Detail,Auto Repeat Detail,
Transporter Details,Transporter Detalji,
Vehicle Number,Broj vozila,
Vehicle Date,Vozilo Datum,
Received and Accepted,Primljeni i prihvaćeni,
Accepted Quantity,Prihvaćena količina,
Rejected Quantity,Odbijen Količina,
Accepted Qty as per Stock UOM,Prihvaćena količina prema zalihama UOM,
Sample Quantity,Količina uzorka,
Rate and Amount,Kamatna stopa i iznos,
MAT-QA-.YYYY.-,MAT-QA-YYYY.-,
Report Date,Prijavi Datum,
Inspection Type,Inspekcija Tip,
Item Serial No,Serijski broj artikla,
Sample Size,Veličina uzorka,
Inspected By,Provjereno od strane,
Readings,Očitavanja,
Quality Inspection Reading,Kvaliteta Inspekcija čitanje,
Reading 1,Čitanje 1,
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,
Reading 10,Čitanje 10,
Quality Inspection Template Name,Kvalitetno ime za proveru kvaliteta,
Quick Stock Balance,Brzi bilans stanja,
Available Quantity,Dostupna količina,
Distinct unit of an Item,Različite jedinice strane jedinice,
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,
Purchase / Manufacture Details,Kupnja / Proizvodnja Detalji,
Creation Document Type,Tip stvaranje dokumenata,
Creation Document No,Stvaranje dokumenata nema,
Creation Date,Datum stvaranja,
Creation Time,vrijeme kreiranja,
Asset Details,Detalji o aktivi,
Asset Status,Status imovine,
Delivery Document Type,Dokument isporuke - tip,
Delivery Document No,Dokument isporuke br,
Delivery Time,Vrijeme isporuke,
Invoice Details,Račun Detalji,
Warranty / AMC Details,Jamstveni / AMC Brodu,
Warranty Expiry Date,Datum isteka jamstva,
AMC Expiry Date,AMC Datum isteka,
Under Warranty,Pod jamstvo,
Out of Warranty,Od jamstvo,
Under AMC,Pod AMC,
Out of AMC,Od AMC,
Warranty Period (Days),Jamstveni period (dani),
Serial No Details,Serijski nema podataka,
MAT-STE-.YYYY.-,MAT-STE-YYYY.-,
Stock Entry Type,Vrsta unosa zaliha,
Stock Entry (Outward GIT),Unos dionica (vanjski GIT),
Material Consumption for Manufacture,Potrošnja materijala za proizvodnju,
Repack,Prepakovati,
Send to Subcontractor,Pošaljite podizvođaču,
Delivery Note No,Otpremnica br,
Sales Invoice No,Faktura prodaje br,
Purchase Receipt No,Primka br.,
Inspection Required,Inspekcija Obvezno,
From BOM,Iz BOM,
For Quantity,Za količina,
As per Stock UOM,Kao po burzi UOM,
Including items for sub assemblies,Uključujući i stavke za pod sklopova,
Default Source Warehouse,Zadano izvorno skladište,
Source Warehouse Address,Adresa skladišta izvora,
Default Target Warehouse,Centralno skladište,
Target Warehouse Address,Adresa ciljne magacine,
Update Rate and Availability,Ažuriranje Rate i raspoloživost,
Total Incoming Value,Ukupna vrijednost Incoming,
Total Outgoing Value,Ukupna vrijednost Odlazni,
Total Value Difference (Out - In),Ukupna vrijednost Razlika (Out - In),
Additional Costs,Dodatni troškovi,
Total Additional Costs,Ukupno dodatnih troškova,
Customer or Supplier Details,Detalji o Kupcu ili Dobavljacu,
Per Transferred,Per Transferred,
Stock Entry Detail,Kataloški Stupanje Detalj,
Basic Rate (as per Stock UOM),Basic Rate (kao po akciji UOM),
Basic Amount,Osnovni iznos,
Additional Cost,Dodatni trošak,
Serial No / Batch,Serijski Ne / Batch,
BOM No. for a Finished Good Item,BOM broj za Gotovi Dobar točki,
Material Request used to make this Stock Entry,Materijal Zahtjev se koristi da bi se ova Stock unos,
Subcontracted Item,Predmet podizvođača,
Against Stock Entry,Protiv ulaska u dionice,
Stock Entry Child,Dijete ulaska na zalihe,
PO Supplied Item,PO isporučeni artikal,
Reference Purchase Receipt,Referentna kupovina,
Stock Ledger Entry,Stock Ledger Stupanje,
Outgoing Rate,Odlazni Rate,
Actual Qty After Transaction,Stvarna količina nakon transakcije,
Stock Value Difference,Stock Vrijednost razlika,
Stock Queue (FIFO),Kataloški red (FIFO),
Is Cancelled,Je otkazan,
Stock Reconciliation,Kataloški pomirenje,
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 vrednovanje zaliha u sistemu. To se obično koristi za usklađivanje vrijednosti sistema i ono što zaista postoji u skladištima.,
MAT-RECO-.YYYY.-,MAT-RECO-YYYY.-,
Reconciliation JSON,Pomirenje JSON,
Stock Reconciliation Item,Stock Pomirenje Item,
Before reconciliation,Prije nego pomirenje,
Current Serial No,Trenutni serijski br,
Current Valuation Rate,Trenutno Vrednovanje Rate,
Current Amount,Trenutni iznos,
Quantity Difference,Količina Razlika,
Amount Difference,iznos Razlika,
Item Naming By,Artikal imenovan po,
Default Item Group,Zadana grupa proizvoda,
Default Stock UOM,Zadana kataloška mjerna jedinica,
Sample Retention Warehouse,Skladište za zadržavanje uzorka,
Default Valuation Method,Zadana metoda vrednovanja,
Show Barcode Field,Pokaži Barcode Field,
Convert Item Description to Clean HTML,Pretvoriti stavku Opis za čišćenje HTML-a,
Allow Negative Stock,Dopustite negativnu zalihu,
Automatically Set Serial Nos based on FIFO,Automatski se postavlja rednim brojevima na osnovu FIFO,
Auto Material Request,Auto Materijal Zahtjev,
Inter Warehouse Transfer Settings,Postavke prijenosa Inter Warehouse,
Freeze Stock Entries,Zamrzavanje Stock Unosi,
Stock Frozen Upto,Kataloški Frozen Upto,
Batch Identification,Identifikacija serije,
Use Naming Series,Koristite nazive serije,
Naming Series Prefix,Prefiks naziva serije,
UOM Category,Kategorija UOM,
UOM Conversion Detail,UOM pretvorbe Detalj,
Variant Field,Varijantsko polje,
A logical Warehouse against which stock entries are made.,A logično Skladište protiv kojih su napravljeni unosa zaliha.,
Warehouse Detail,Detalji o skladištu,
Warehouse Name,Naziv skladišta,
Warehouse Contact Info,Kontakt informacije skladišta,
PIN,PIN,
ISS-.YYYY.-,ISS-.GGGG.-,
Raised By (Email),Pokrenuo (E-mail),
Issue Type,Vrsta izdanja,
Issue Split From,Izdanje Split From,
Service Level,Nivo usluge,
Response By,Odgovor By,
Response By Variance,Odgovor prema varijanci,
Ongoing,U toku,
Resolution By,Rezolucija,
Resolution By Variance,Rezolucija po varijanti,
Service Level Agreement Creation,Izrada sporazuma o nivou usluge,
First Responded On,Prvi put odgovorio dana,
Resolution Details,Detalji o rjesenju problema,
Opening Date,Otvaranje Datum,
Opening Time,Radno vrijeme,
Resolution Date,Rezolucija Datum,
Via Customer Portal,Preko portala za kupce,
Support Team,Tim za podršku,
Issue Priority,Prioritet pitanja,
Service Day,Dan usluge,
Workday,Radni dan,
Default Priority,Default Priority,
Priorities,Prioriteti,
Support Hours,sati podrške,
Support and Resolution,Podrška i rezolucija,
Default Service Level Agreement,Standardni ugovor o nivou usluge,
Entity,Entitet,
Agreement Details,Detalji sporazuma,
Response and Resolution Time,Vreme odziva i rešavanja,
Service Level Priority,Prioritet na nivou usluge,
Resolution Time,Vreme rezolucije,
Support Search Source,Podrška za pretragu,
Source Type,Tip izvora,
Query Route String,String string upita,
Search Term Param Name,Termin za pretragu Param Ime,
Response Options,Opcije odgovora,
Response Result Key Path,Response Result Key Path,
Post Route String,Post String niz,
Post Route Key List,Lista spiska ključeva,
Post Title Key,Ključ posta za naslov,
Post Description Key,Post Opis Ključ,
Link Options,Link Options,
Source DocType,Source DocType,
Result Title Field,Polje rezultata rezultata,
Result Preview Field,Polje za pregled rezultata,
Result Route Field,Polje trase rezultata,
Service Level Agreements,Ugovori o nivou usluge,
Track Service Level Agreement,Sporazum o nivou usluge za praćenje,
Allow Resetting Service Level Agreement,Dozvoli resetiranje sporazuma o nivou usluge,
Close Issue After Days,Zatvori Issue Nakon nekoliko dana,
Auto close Issue after 7 days,Auto blizu izdanje nakon 7 dana,
Support Portal,Portal za podršku,
Get Started Sections,Započnite sekcije,
Show Latest Forum Posts,Prikaži najnovije poruke foruma,
Forum Posts,Forum Posts,
Forum URL,Forum URL,
Get Latest Query,Najnoviji upit,
Response Key List,Lista ključnih reagovanja,
Post Route Key,Post Route Key,
Search APIs,API pretraživanja,
SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
Issue Date,Datum izdavanja,
Item and Warranty Details,Stavka i garancija Detalji,
Warranty / AMC Status,Jamstveni / AMC Status,
Resolved By,Riješen Do,
Service Address,Usluga Adresa,
If different than customer address,Ako se razlikuje od kupaca adresu,
Raised By,Povišena Do,
From Company,Iz Društva,
Rename Tool,Preimenovanje alat,
Utilities,Komunalne usluge,
Type of document to rename.,Vrsta dokumenta za promjenu naziva.,
File to Rename,File da biste preimenovali,
"Attach .csv file with two columns, one for the old name and one for the new name","Priložiti .csv datoteku s dvije kolone, jedan za stari naziv i jedna za novo ime",
Rename Log,Preimenovanje Prijavite,
SMS Log,SMS log,
Sender Name,Ime / Naziv pošiljaoca,
Sent On,Poslano na adresu,
No of Requested SMS,Nema traženih SMS,
Requested Numbers,Traženi brojevi,
No of Sent SMS,Ne poslanih SMS,
Sent To,Poslati,
Absent Student Report,Odsutan Student Report,
Assessment Plan Status,Status plana procjene,
Asset Depreciation Ledger,Asset Amortizacija Ledger,
Asset Depreciations and Balances,Imovine Amortizacija i vage,
Available Stock for Packing Items,Raspoloživo stanje za pakirane proizvode,
Bank Clearance Summary,Razmak banka Sažetak,
Batch Item Expiry Status,Batch Stavka Status isteka,
Batch-Wise Balance History,Batch-Wise bilanca Povijest,
BOM Explorer,BOM Explorer,
BOM Search,BOM pretraga,
BOM Stock Calculated,Obračun BOM-a,
BOM Variance Report,Izveštaj BOM varijacije,
Campaign Efficiency,kampanja efikasnost,
Cash Flow,Priliv novca,
Completed Work Orders,Završene radne naloge,
To Produce,proizvoditi,
Produced,Proizvedeno,
Consolidated Financial Statement,Konsolidovana finansijska izjava,
Course wise Assessment Report,Naravno mudar Izvještaj o procjeni,
Customer Acquisition and Loyalty,Stjecanje kupaca i lojalnost,
Customer Credit Balance,Customer Credit Balance,
Customer Ledger Summary,Sažetak knjige klijenta,
Customer-wise Item Price,Kupcima prilagođena cijena,
Customers Without Any Sales Transactions,Kupci bez prodajnih transakcija,
Daily Timesheet Summary,Dnevni Timesheet Pregled,
DATEV,DATEV,
Delayed Item Report,Izvještaj o odloženom predmetu,
Delayed Order Report,Izveštaj o odloženom nalogu,
Delivered Items To Be Billed,Isporučeni proizvodi za naplatiti,
Delivery Note Trends,Trendovi otpremnica,
Electronic Invoice Register,Registar elektroničkih računa,
Employee Billing Summary,Sažetak naplate zaposlenika,
Employee Birthday,Rođendani zaposlenih,
Employee Information,Informacija o zaposlenom,
Employee Leave Balance,Zaposlenik napuste balans,
Employee Leave Balance Summary,Sažetak ravnoteže zaposlenika,
Eway Bill,Eway Bill,
Expiring Memberships,Istekao članstva,
Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
Final Assessment Grades,Završne ocene,
Fixed Asset Register,Registar fiksne imovine,
Gross and Net Profit Report,Izvještaj o bruto i neto dobiti,
GST Itemised Purchase Register,PDV Specificirane Kupovina Registracija,
GST Itemised Sales Register,PDV Specificirane prodaje Registracija,
GST Purchase Register,PDV Kupovina Registracija,
GST Sales Register,PDV prodaje Registracija,
GSTR-1,GSTR-1,
GSTR-2,GSTR-2,
Hotel Room Occupancy,Hotelska soba u posjedu,
HSN-wise-summary of outward supplies,HSN-mudar-rezime izvora isporuke,
Inactive Customers,neaktivnih kupaca,
Inactive Sales Items,Neaktivni artikli prodaje,
IRS 1099,IRS 1099,
Issued Items Against Work Order,Izdate stavke protiv radnog naloga,
Projected Quantity as Source,Projektovanih količina kao izvor,
Item Balance (Simple),Balans predmeta (Jednostavno),
Item Price Stock,Stavka cijena Stock,
Item Prices,Cijene artikala,
Item Shortage Report,Nedostatak izvješća za artikal,
Item Variant Details,Detalji varijante proizvoda,
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 To Be Requested,Potraživani artikli,
Reserved,Rezervirano,
Itemwise Recommended Reorder Level,Itemwise Preporučio redoslijeda Level,
Lead Details,Detalji potenciajalnog kupca,
Lead Owner Efficiency,Lead Vlasnik efikasnost,
Lost Opportunity,Izgubljena prilika,
Maintenance Schedules,Rasporedi održavanja,
Material Requests for which Supplier Quotations are not created,Materijalni Zahtjevi za koje Supplier Citati nisu stvorene,
Open Work Orders,Otvorite radne naloge,
Qty to Deliver,Količina za dovođenje,
Patient Appointment Analytics,Analitika imenovanja pacijenta,
Payment Period Based On Invoice Date,Razdoblje za naplatu po Datum fakture,
Pending SO Items For Purchase Request,Otvorena SO Proizvodi za zahtjev za kupnju,
Procurement Tracker,Praćenje nabavke,
Product Bundle Balance,Bilans proizvoda,
Production Analytics,proizvodnja Analytics,
Profit and Loss Statement,Račun dobiti i gubitka,
Profitability Analysis,Analiza profitabilnosti,
Project Billing Summary,Sažetak naplate projekta,
Project wise Stock Tracking,Projektno mudro praćenje zaliha,
Project wise Stock Tracking ,Supervizor pracenje zaliha,
Prospects Engaged But Not Converted,Izgledi Engaged Ali ne pretvaraju,
Purchase Analytics,Kupnja Analytics,
Purchase Invoice Trends,Trendovi kupnje proizvoda,
Qty to Receive,Količina za primanje,
Received Qty Amount,Količina primljene količine,
Billed Qty,Količina računa,
Purchase Order Trends,Trendovi narudžbenica kupnje,
Purchase Receipt Trends,Račun kupnje trendovi,
Purchase Register,Kupnja Registracija,
Quotation Trends,Trendovi ponude,
Received Items To Be Billed,Primljeni Proizvodi se naplaćuje,
Qty to Order,Količina za narudžbu,
Requested Items To Be Transferred,Traženi stavki za prijenos,
Qty to Transfer,Količina za prijenos,
Sales Analytics,Prodajna analitika,
Sales Invoice Trends,Trendovi prodajnih računa,
Sales Order Trends,Prodajnog naloga trendovi,
Sales Partner Commission Summary,Rezime Komisije za prodajne partnere,
Sales Partner Target Variance based on Item Group,Ciljna varijanta prodajnog partnera na temelju grupe proizvoda,
Sales Partner Transaction Summary,Sažetak transakcije prodajnog partnera,
Sales Partners Commission,Prodaja Partneri komisija,
Invoiced Amount (Exclusive Tax),Iznos na fakturi (ekskluzivni porez),
Average Commission Rate,Prosječna stopa komisija,
Sales Payment Summary,Sažetak prodaje plata,
Sales Person Commission Summary,Povjerenik Komisije za prodaju,
Sales Person Target Variance Based On Item Group,Ciljna varijacija prodajnog lica na osnovu grupe predmeta,
Sales Person-wise Transaction Summary,Prodaja Osobne mudar Transakcija Sažetak,
Sales Register,Prodaja Registracija,
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,
Stock Ageing,Kataloški Starenje,
Stock and Account Value Comparison,Poređenje vrednosti akcija i računa,
Stock Projected Qty,Projektovana kolicina na zalihama,
Student and Guardian Contact Details,Student i Guardian Kontakt detalji,
Student Batch-Wise Attendance,Student Batch-Wise Posjećenost,
Student Fee Collection,Student Naknada Collection,
Student Monthly Attendance Sheet,Student Mjesečni Posjeta list,
Subcontracted Item To Be Received,Podugovarački predmet koji treba primiti,
Subcontracted Raw Materials To Be Transferred,Podugovarane sirovine koje treba prenijeti,
Supplier Ledger Summary,Sažetak knjige dobavljača,
Supplier-Wise Sales Analytics,Supplier -mudar prodaje Analytics,
Support Hour Distribution,Podrška Distribucija sata,
TDS Computation Summary,Pregled TDS računa,
TDS Payable Monthly,TDS se plaća mesečno,
Territory Target Variance Based On Item Group,Varijacija ciljne teritorije na osnovu grupe predmeta,
Territory-wise Sales,Prodaja na teritoriji,
Total Stock Summary,Ukupno Stock Pregled,
Trial Balance,Pretresno bilanca,
Trial Balance (Simple),Probni balans (jednostavan),
Trial Balance for Party,Suđenje Balance za stranke,
Warehouse wise Item Balance Age and Value,Skladno mudro Stavka Balansno doba i vrijednost,
Work Order Stock Report,Izveštaj o radnom nalogu,
Work Orders in Progress,Radni nalogi u toku,
Automatically Process Deferred Accounting Entry,Automatski obradi odgođeni knjigovodstveni unos,
Bank Clearance,Potvrda banke,
Bank Clearance Detail,Detalji o odobrenju banke,
Update Cost Center Name / Number,Ažuriranje naziva / broja mjesta troška,
Journal Entry Template,Predložak unosa u časopis,
Template Title,Naslov predloška,
Journal Entry Type,Vrsta unosa u časopis,
Journal Entry Template Account,Račun predloška unosa u dnevnik,
Process Deferred Accounting,Obraditi odgođeno računovodstvo,
Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Nije moguće kreirati ručni unos! Onemogućite automatski unos za odgođeno računovodstvo u postavkama računa i pokušajte ponovo,
End date cannot be before start date,Datum završetka ne može biti prije datuma početka,
Total Counts Targeted,Ukupno ciljano brojanje,
Total Counts Completed,Ukupno prebrojavanje završeno,
Counts Targeted: {0},Broj ciljanih brojeva: {0},
Material Request Warehouse,Skladište zahtjeva za materijalom,
Select warehouse for material requests,Odaberite skladište za zahtjeve za materijalom,
Transfer Materials For Warehouse {0},Transfer materijala za skladište {0},
Production Plan Material Request Warehouse,Skladište zahtjeva za planom proizvodnje,
Sets 'Source Warehouse' in each row of the items table.,Postavlja &#39;Izvorno skladište&#39; u svaki red tablice stavki.,
Sets 'Target Warehouse' in each row of the items table.,Postavlja &#39;Target Warehouse&#39; u svaki red tablice stavki.,
Show Cancelled Entries,Prikaži otkazane unose,
Backdated Stock Entry,Unos dionica sa zadnjim datumom,
Row #{}: Currency of {} - {} doesn't matches company currency.,Redak {{}: Valuta od {} - {} se ne podudara s valutom kompanije.,
{} Assets created for {},{} Sredstva kreirana za {},
{0} Number {1} is already used in {2} {3},{0} Broj {1} već se koristi u dokumentu {2} {3},
Update Bank Clearance Dates,Ažurirajte datume odobrenja za banke,
Healthcare Practitioner: ,Zdravstveni radnik:,
Lab Test Conducted: ,Izvršen laboratorijski test:,
Lab Test Event: ,Laboratorijski test:,
Lab Test Result: ,Rezultat laboratorijskog testa:,
Clinical Procedure conducted: ,Provedeni klinički postupak:,
Therapy Session Charges: {0},Troškovi sesije terapije: {0},
Therapy: ,Terapija:,
Therapy Plan: ,Plan terapije:,
Total Counts Targeted: ,Ukupno ciljano brojanje:,
Total Counts Completed: ,Ukupno završeno brojanje:,
Is Mandatory,Je obavezna,
Service Received But Not Billed,"Usluga primljena, ali ne naplaćena",
Deferred Accounting Settings,Postavke odgođenog računovodstva,
Book Deferred Entries Based On,Rezervirajte odložene unose na osnovu,
Days,Dani,
Months,Mjeseci,
Book Deferred Entries Via Journal Entry,Rezervirajte unose putem dnevnika,
Submit Journal Entries,Pošaljite članke u časopisu,
If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Ako ovo nije označeno, unosi u dnevnik bit će spremljeni u stanje nacrta i morat će se slati ručno",
Enable Distributed Cost Center,Omogući distribuirano mjesto troškova,
Distributed Cost Center,Distribuirano mjesto troškova,
Dunning,Dunning,
DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
Overdue Days,Zakašnjeli dani,
Dunning Type,Dunning Type,
Dunning Fee,Naknada za Dunning,
Dunning Amount,Iznos za izlazak,
Resolved,Riješeno,
Unresolved,Neriješeno,
Printing Setting,Podešavanje ispisa,
Body Text,Body Text,
Closing Text,Završni tekst,
Resolve,Riješi,
Dunning Letter Text,Dunning Letter Text,
Is Default Language,To je zadani jezik,
Letter or Email Body Text,Tekst pisma ili e-pošte,
Letter or Email Closing Text,Završni tekst pisma ili e-pošte,
Body and Closing Text Help,Pomoć za tekst i završni tekst,
Overdue Interval,Preostali interval,
Dunning Letter,Dunning Letter,
"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","Ovaj odjeljak omogućava korisniku da postavi tekst tijela i završni tekst Pisma za upozoravanje za vrstu odbojke na osnovu jezika, koji se može koristiti u Ispisu.",
Reference Detail No,Referentni detalj br,
Custom Remarks,Prilagođene napomene,
Please select a Company first.,Prvo odaberite kompaniju.,
"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Redak {0}: vrsta referentnog dokumenta mora biti jedan od prodajnih naloga, faktura prodaje, unosa u dnevnik ili isteka",
POS Closing Entry,Zatvaranje ulaza u POS,
POS Opening Entry,POS otvaranje,
POS Transactions,POS transakcije,
POS Closing Entry Detail,Detalji o zatvaranju POS-a,
Opening Amount,Iznos otvaranja,
Closing Amount,Završni iznos,
POS Closing Entry Taxes,POS porez na zatvaranje,
POS Invoice,POS faktura,
ACC-PSINV-.YYYY.-,ACC-PSINV-.GGGG.-,
Consolidated Sales Invoice,Konsolidovana faktura prodaje,
Return Against POS Invoice,Povraćaj protiv POS fakture,
Consolidated,Konsolidovano,
POS Invoice Item,POS faktura,
POS Invoice Merge Log,Dnevnik spajanja POS faktura,
POS Invoices,POS fakture,
Consolidated Credit Note,Konsolidovana kreditna napomena,
POS Invoice Reference,Referenca POS računa,
Set Posting Date,Postavite datum knjiženja,
Opening Balance Details,Detalji o početnom stanju,
POS Opening Entry Detail,Detalji o otvaranju POS-a,
POS Payment Method,POS način plaćanja,
Payment Methods,metode plaćanja,
Process Statement Of Accounts,Obraditi izvod računa,
General Ledger Filters,Filteri glavne knjige,
Customers,Kupci,
Select Customers By,Odaberite Kupce prema,
Fetch Customers,Dohvatite kupce,
Send To Primary Contact,Pošalji primarnom kontaktu,
Print Preferences,Postavke ispisa,
Include Ageing Summary,Uključite sažetak starenja,
Enable Auto Email,Omogućite automatsku e-poštu,
Filter Duration (Months),Trajanje filtra (mjeseci),
CC To,CC To,
Help Text,Tekst pomoći,
Emails Queued,E-adrese u redu,
Process Statement Of Accounts Customer,Obradite izvod računa,
Billing Email,E-adresa za naplatu,
Primary Contact Email,Primarna kontakt adresa e-pošte,
PSOA Cost Center,PSOA centar troškova,
PSOA Project,PSOA projekat,
ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.GGGG.-,
Supplier GSTIN,Dobavljač GSTIN,
Place of Supply,Mjesto isporuke,
Select Billing Address,Odaberite Adresa za naplatu,
GST Details,GST detalji,
GST Category,GST kategorija,
Registered Regular,Registered Regular,
Registered Composition,Registrovana kompozicija,
Unregistered,Neregistrirano,
SEZ,SEZ,
Overseas,Prekomorski,
UIN Holders,UIN držači,
With Payment of Tax,Uz plaćanje poreza,
Without Payment of Tax,Bez plaćanja poreza,
Invoice Copy,Kopija fakture,
Original for Recipient,Original za primatelja,
Duplicate for Transporter,Duplikat za Transporter,
Duplicate for Supplier,Duplikat za dobavljača,
Triplicate for Supplier,Trostruki primjerak za dobavljača,
Reverse Charge,Obrnuto punjenje,
Y,Y.,
N,N,
E-commerce GSTIN,E-trgovina GSTIN,
Reason For Issuing document,Razlog za izdavanje dokumenta,
01-Sales Return,01-Povratak prodaje,
02-Post Sale Discount,Popust za prodaju nakon 02,
03-Deficiency in services,03-Nedostatak usluga,
04-Correction in Invoice,04-Ispravak na fakturi,
05-Change in POS,05-Promjena u POS-u,
06-Finalization of Provisional assessment,06-Finalizacija privremene procjene,
07-Others,07-Ostalo,
Eligibility For ITC,Ispunjavanje uslova za ITC,
Input Service Distributor,Distributer ulaznih usluga,
Import Of Service,Uvoz usluge,
Import Of Capital Goods,Uvoz kapitalnih dobara,
Ineligible,Neprihvatljivo,
All Other ITC,Svi ostali ITC,
Availed ITC Integrated Tax,Integrisani ITC integrisani porez,
Availed ITC Central Tax,Dostupni centralni porez ITC-a,
Availed ITC State/UT Tax,Availed ITC State / UT porez,
Availed ITC Cess,Availed ITC Cess,
Is Nil Rated or Exempted,Da li je Nil ocijenjen ili izuzet,
Is Non GST,Nije GST,
ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.GGGG.-,
E-Way Bill No.,E-Way Bill No.,
Is Consolidated,Konsolidovan je,
Billing Address GSTIN,Adresa za naplatu GSTIN,
Customer GSTIN,Kupac GSTIN,
GST Transporter ID,GST Transporter ID,
Distance (in km),Udaljenost (u km),
Road,Cesta,
Air,Zrak,
Rail,Rail,
Ship,Brod,
GST Vehicle Type,GST tip vozila,
Over Dimensional Cargo (ODC),Prekomerni teret (ODC),
Consumer,Potrošač,
Deemed Export,Predviđeni izvoz,
Port Code,Port port,
 Shipping Bill Number,Broj računa za dostavu,
Shipping Bill Date,Datum dostave računa,
Subscription End Date,Datum završetka pretplate,
Follow Calendar Months,Pratite mjesece kalendara,
If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Ako je ovo potvrđeno, kreirat će se nove fakture na datum početka kalendarskog mjeseca i kvartala, bez obzira na datum početka tekuće fakture",
Generate New Invoices Past Due Date,Generirajte nove fakture s rokom dospijeća,
New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Nove fakture generirat će se prema rasporedu, čak i ako su tekuće fakture neplaćene ili su istekle",
Document Type ,Tip dokumenta,
Subscription Price Based On,Cijena pretplate na osnovu,
Fixed Rate,Fiksna stopa,
Based On Price List,Na osnovu cjenika,
Monthly Rate,Mjesečna stopa,
Cancel Subscription After Grace Period,Otkažite pretplatu nakon počeka,
Source State,Izvorna država,
Is Inter State,Je Inter State,
Purchase Details,Detalji kupovine,
Depreciation Posting Date,Datum knjiženja amortizacije,
"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Prema zadanim postavkama, ime dobavljača je postavljeno prema unesenom imenu dobavljača. Ako želite da dobavljače imenuje",
 choose the 'Naming Series' option.,odaberite opciju &#39;Naming Series&#39;.,
Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Konfigurišite zadani cjenik prilikom kreiranja nove transakcije kupovine. Cijene stavki će se preuzeti iz ovog cjenika.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Ako je ova opcija konfigurirana kao &quot;Da&quot;, ERPNext će vas spriječiti u stvaranju računa ili potvrde o kupovini bez prethodnog kreiranja narudžbenice. Ovu konfiguraciju možete nadjačati za određenog dobavljača tako što ćete omogućiti potvrdni okvir &#39;Dopusti stvaranje računa za kupovinu bez narudžbenice&#39; u glavnom meniju dobavljača.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Ako je ova opcija konfigurirana kao &quot;Da&quot;, ERPNext će vas spriječiti u stvaranju fakture za kupovinu bez prethodnog kreiranja potvrde o kupovini. Ovu konfiguraciju možete nadjačati za određenog dobavljača tako što ćete omogućiti potvrdni okvir &#39;Omogući stvaranje računa za kupovinu bez potvrde o kupovini&#39; na glavnom mjestu dobavljača.",
Quantity & Stock,Količina i zalihe,
Call Details,Detalji poziva,
Authorised By,Ovlašteno od,
Signee (Company),Potpisnik (kompanija),
Signed By (Company),Potpisao (kompanija),
First Response Time,Vrijeme prvog odgovora,
Request For Quotation,Zahtjev za ponudu,
Opportunity Lost Reason Detail,Detalji izgubljenog razloga za priliku,
Access Token Secret,Pristup tajnoj žetonu,
Add to Topics,Dodaj u teme,
...Adding Article to Topics,... Dodavanje članka u teme,
Add Article to Topics,Dodajte članak u teme,
This article is already added to the existing topics,Ovaj je članak već dodan postojećim temama,
Add to Programs,Dodaj u programe,
Programs,Programi,
...Adding Course to Programs,... Dodavanje kursa programima,
Add Course to Programs,Dodajte kurs u programe,
This course is already added to the existing programs,Ovaj kurs je već dodan postojećim programima,
Learning Management System Settings,Postavke sistema za upravljanje učenjem,
Enable Learning Management System,Omogućite sistem upravljanja učenjem,
Learning Management System Title,Naslov sistema upravljanja učenjem,
...Adding Quiz to Topics,... Dodavanje kviza u teme,
Add Quiz to Topics,Dodajte kviz u teme,
This quiz is already added to the existing topics,Ovaj kviz je već dodan postojećim temama,
Enable Admission Application,Omogućite prijavu za prijem,
EDU-ATT-.YYYY.-,EDU-ATT-.GGGG.-,
Marking attendance,Označavanje prisustva,
Add Guardians to Email Group,Dodajte skrbnike u grupu e-pošte,
Attendance Based On,Prisustvo na osnovu,
Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Označite ovo da biste studenta označili kao prisutnog u slučaju da student ne pohađa institut da bi u bilo kojem slučaju učestvovao ili predstavljao institut.,
Add to Courses,Dodaj u kurseve,
...Adding Topic to Courses,... Dodavanje teme kursevima,
Add Topic to Courses,Dodajte temu kursevima,
This topic is already added to the existing courses,Ova je tema već dodana postojećim tečajevima,
"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order","Ako Shopify nema kupca u narudžbi, tada će tijekom sinkronizacije narudžbi sistem uzeti u obzir zadanog kupca za narudžbu.",
The accounts are set by the system automatically but do confirm these defaults,"Račune sustav postavlja automatski, ali potvrđuje ove zadane postavke",
Default Round Off Account,Zadani zaokruženi račun,
Failed Import Log,Dnevnik uvoza nije uspio,
Fixed Error Log,Fiksni dnevnik grešaka,
Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Kompanija {0} već postoji. Nastavak će prebrisati kompaniju i kontni plan,
Meta Data,Meta podaci,
Unresolve,Nerazriješi,
Create Document,Kreirajte dokument,
Mark as unresolved,Označi kao neriješeno,
TaxJar Settings,Postavke TaxJar-a,
Sandbox Mode,Peščanik režim,
Enable Tax Calculation,Omogućite obračun poreza,
Create TaxJar Transaction,Kreirajte TaxJar transakciju,
Credentials,Akreditivi,
Live API Key,API API ključ,
Sandbox API Key,API ključ Sandbox-a,
Configuration,Konfiguracija,
Tax Account Head,Voditelj poreznog računa,
Shipping Account Head,Šef računa za isporuku,
Practitioner Name,Ime liječnika,
Enter a name for the Clinical Procedure Template,Unesite naziv za obrazac kliničke procedure,
Set the Item Code which will be used for billing the Clinical Procedure.,Postavite kod predmeta koji će se koristiti za naplatu kliničkog postupka.,
Select an Item Group for the Clinical Procedure Item.,Odaberite grupu predmeta za stavku kliničkog postupka.,
Clinical Procedure Rate,Stopa kliničke procedure,
Check this if the Clinical Procedure is billable and also set the rate.,Provjerite ovo ako se klinički postupak naplati i također postavite stopu.,
Check this if the Clinical Procedure utilises consumables. Click ,Provjerite ovo ako klinički postupak koristi potrošni materijal. Kliknite,
 to know more,da znam više,
"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","Za obrazac možete postaviti i Medicinsko odjeljenje. Nakon spremanja dokumenta, automatski će se stvoriti stavka za naplatu ovog kliničkog postupka. Tada možete koristiti ovaj obrazac dok kreirate kliničke postupke za pacijente. Predlošci vas štede od popunjavanja suvišnih podataka svaki put. Također možete stvoriti predloške za druge operacije poput laboratorijskih testova, terapijskih sesija itd.",
Descriptive Test Result,Opisni rezultat testa,
Allow Blank,Dopusti prazno,
Descriptive Test Template,Opisni testni obrazac,
"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Ako želite pratiti obračun plaća i druge HRMS operacije za praktičara, stvorite zaposlenika i povežite ga ovdje.",
Set the Practitioner Schedule you just created. This will be used while booking appointments.,Postavite raspored praktičara koji ste upravo kreirali. Ovo će se koristiti prilikom rezervacije termina.,
Create a service item for Out Patient Consulting.,Stvorite stavku usluge za savjetovanje izvan pacijenata.,
"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Ako ovaj zdravstveni radnik radi za stacionar, stvorite uslugu za stacionarne posjete.",
Set the Out Patient Consulting Charge for this Practitioner.,Postavite naknadu za konsultacije s pacijentom za ovog praktičara.,
"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Ako ovaj zdravstveni radnik radi i na stacionaru, postavite mu troškove stacionarnog posjeta.",
"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","Ako se označi, stvorit će se kupac za svakog pacijenta. Računi za pacijenta stvorit će se protiv ovog kupca. Također možete odabrati postojećeg kupca tijekom stvaranja pacijenta. Ovo polje je standardno označeno.",
Collect Registration Fee,Naplati naknadu za registraciju,
"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Ako vaša zdravstvena ustanova obračunava registraciju pacijenata, možete to provjeriti i postaviti polje za registraciju u donjem polju. Ako provjerite ovo, stvorit će se novi pacijenti sa statusom onemogućenog prema zadanim postavkama i bit će omogućeni tek nakon fakturiranja naknade za registraciju.",
Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Ako potvrdite ovo, automatski će se stvoriti faktura prodaje kad god se za pacijenta rezervira sastanak.",
Healthcare Service Items,Predmeti zdravstvene zaštite,
"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","Možete stvoriti stavku usluge za naplatu stacionarnih posjeta i postaviti je ovdje. Slično tome, u ovom odjeljku možete postaviti druge stavke zdravstvenih usluga za naplatu. Kliknite",
Set up default Accounts for the Healthcare Facility,Postavite zadane račune za zdravstvenu ustanovu,
"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Ako želite zamijeniti zadane postavke računa i konfigurirati račune prihoda i potraživanja za zdravstvenu zaštitu, to možete učiniti ovdje.",
Out Patient SMS alerts,Upozorenja za SMS pacijenta,
"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Ako želite poslati SMS upozorenje o registraciji pacijenta, možete omogućiti ovu opciju. Slično tome, u ovom odjeljku možete postaviti upozorenja za SMS pacijenta za druge funkcije. Kliknite",
Admission Order Details,Detalji naloga za prijem,
Admission Ordered For,Ulaz naređen za,
Expected Length of Stay,Očekivana dužina boravka,
Admission Service Unit Type,Vrsta jedinice usluge prijema,
Healthcare Practitioner (Primary),Zdravstveni radnik (primarni),
Healthcare Practitioner (Secondary),Zdravstveni radnik (sekundarni),
Admission Instruction,Uputstvo za prijem,
Chief Complaint,Žalba šefa,
Medications,Lijekovi,
Investigations,Istrage,
Discharge Detials,Ispuštanja,
Discharge Ordered Date,Datum otpuštanja,
Discharge Instructions,Upute za pražnjenje,
Follow Up Date,Datum praćenja,
Discharge Notes,Otpusne napomene,
Processing Inpatient Discharge,Obrada otpusta iz bolnice,
Processing Patient Admission,Obrada prijema pacijenta,
Check-in time cannot be greater than the current time,Vrijeme prijave ne može biti duže od trenutnog vremena,
Process Transfer,Prenos procesa,
HLC-LAB-.YYYY.-,FHP-LAB-.GGGG.-,
Expected Result Date,Očekivani datum rezultata,
Expected Result Time,Očekivano vrijeme rezultata,
Printed on,Odštampano,
Requesting Practitioner,Zahtjev za praktičarom,
Requesting Department,Odjel za podnošenje zahtjeva,
Employee (Lab Technician),Zaposlenik (laboratorijski tehničar),
Lab Technician Name,Ime laboratorijskog tehničara,
Lab Technician Designation,Oznaka laboratorijskog tehničara,
Compound Test Result,Rezultat složenog testa,
Organism Test Result,Rezultat testa organizma,
Sensitivity Test Result,Rezultat testa osjetljivosti,
Worksheet Print,Ispis radnog lista,
Worksheet Instructions,Upute za radni list,
Result Legend Print,Rezultat Legend Print,
Print Position,Položaj ispisa,
Both,Oboje,
Result Legend,Legenda rezultata,
Lab Tests,Laboratorijski testovi,
No Lab Tests found for the Patient {0},Nisu pronađeni laboratorijski testovi za pacijenta {0},
"Did not send SMS, missing patient mobile number or message content.","Nisam poslao SMS, broj mobilnog telefona pacijenta ili sadržaj poruke.",
No Lab Tests created,Nije kreiran nijedan laboratorijski test,
Creating Lab Tests...,Izrada laboratorijskih testova ...,
Lab Test Group Template,Predložak grupe za laboratorijske testove,
Add New Line,Dodaj novu liniju,
Secondary UOM,Sekundarni UOM,
"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results","<b>Pojedinačno</b> : Rezultati koji zahtijevaju samo jedan unos.<br> <b>Složeni</b> : Rezultati koji zahtijevaju višestruke unose događaja.<br> <b>Opisno</b> : Ispitivanja koja imaju više komponenata rezultata sa ručnim unosom rezultata.<br> <b>Grupirano</b> : Predlošci za testiranje koji su grupa ostalih predložaka za ispitivanje.<br> <b>Nema rezultata</b> : testovi bez rezultata mogu se naručiti i naplatiti, ali neće biti kreiran laboratorijski test. npr. Podtestovi za grupisane rezultate",
"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Ako se ne označi, stavka neće biti dostupna u fakturama prodaje za naplatu, ali se može koristiti u kreiranju grupnog testa.",
Description ,Opis,
Descriptive Test,Opisni test,
Group Tests,Grupni testovi,
Instructions to be printed on the worksheet,Upute za ispis na radnom listu,
"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Informacije koje će vam olakšati tumačenje izvještaja o ispitivanju bit će tiskane kao dio rezultata laboratorijskog testa.,
Normal Test Result,Uobičajeni rezultat testa,
Secondary UOM Result,Sekundarni rezultat UOM-a,
Italic,Kurziv,
Underline,Podvući,
Organism,Organizam,
Organism Test Item,Predmet ispitivanja organizma,
Colony Population,Stanovništvo kolonija,
Colony UOM,Colony UOM,
Tobacco Consumption (Past),Potrošnja duhana (prošlost),
Tobacco Consumption (Present),Potrošnja duhana (danas),
Alcohol Consumption (Past),Konzumacija alkohola (prošlost),
Alcohol Consumption (Present),Konzumacija alkohola (danas),
Billing Item,Predmet naplate,
Medical Codes,Medicinski kodovi,
Clinical Procedures,Klinički postupci,
Order Admission,Naručite prijem,
Scheduling Patient Admission,Zakazivanje prijema pacijenta,
Order Discharge,Naručite pražnjenje,
Sample Details,Detalji uzorka,
Collected On,Prikupljeno dana,
No. of prints,Broj otisaka,
Number of prints required for labelling the samples,Broj otisaka potrebnih za označavanje uzoraka,
HLC-VTS-.YYYY.-,FHP-VTS-.GGGG.-,
Payroll Cost Center,Centar troškova troškova zarada,
Approvers,Odobrivači,
The first Approver in the list will be set as the default Approver.,Prvi odobravatelj na listi postavit će se kao zadani odobravatelj.,
Shift Request Approver,Odobrivač zahtjeva za smjenom,
Provident Fund Account,Račun osiguravajućeg fonda,
MICR Code,MICR kod,
Repay unclaimed amount from salary,Otplatite neiskorišteni iznos iz plate,
Deduction from salary,Odbitak od plate,
If this is not checked the loan by default will be considered as a Demand Loan,"Ako ovo nije potvrđeno, zajam će se prema zadanim postavkama smatrati zajmom na zahtjev",
This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,Ovaj račun koristi se za rezerviranje otplate zajma od zajmoprimca i za isplatu zajmova zajmoprimcu,
This account is capital account which is used to allocate capital for loan disbursal account ,Ovaj račun je račun kapitala koji se koristi za alokaciju kapitala za račun izdvajanja kredita,
This account will be used for booking loan interest accruals,Ovaj račun će se koristiti za rezerviranje obračunatih kamata,
This account will be used for booking penalties levied due to delayed repayments,Ovaj će se račun koristiti za rezerviranje penala zbog odgode otplate,
Variant BOM,Varijanta BOM,
Template Item,Predložak,
Select template item,Odaberite stavku predloška,
Select variant item code for the template item {0},Odaberite kod varijante stavke za stavku predloška {0},
Downtime Entry,Ulazak u stanke,
DT-,DT-,
Workstation / Machine,Radna stanica / mašina,
Operator,Operater,
In Mins,In Mins,
Downtime Reason,Razlog zastoja,
Stop Reason,Stop razumu,
Excessive machine set up time,Pretjerano vrijeme postavljanja stroja,
Unplanned machine maintenance,Neplanirano održavanje mašine,
On-machine press checks,Provjere tiska na mašini,
Machine operator errors,Greške rukovaoca mašine,
Machine malfunction,Kvar mašine,
Electricity down,Ispala struja,
Operation Row Number,Broj reda operacije,
Operation {0} added multiple times in the work order {1},Operacija {0} dodana više puta u radnom nalogu {1},
"If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","Ako se označi, za jedan radni nalog može se koristiti više materijala. Ovo je korisno ako se proizvodi jedan ili više dugotrajnih proizvoda.",
Backflush Raw Materials,Backflush sirovine,
"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","Unos zaliha tipa &#39;Proizvodnja&#39; poznat je kao povratno ispiranje. Sirovine koje se troše za proizvodnju gotovih proizvoda poznate su kao povratno ispiranje.<br><br> Prilikom kreiranja stavke o proizvodnji, sirovinski proizvodi se vraćaju prema BOM proizvodnom proizvodu. Ako želite da se sirovinske stavke ponovo ispiru na osnovu unosa za prijenos materijala izvršenog prema tom radnom nalogu, onda ga možete postaviti u ovom polju.",
Work In Progress Warehouse,Skladište u toku,
This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Ovo skladište će se automatski ažurirati u polju Skladište u toku u radnim nalozima.,
Finished Goods Warehouse,Skladište gotove robe,
This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Ovo skladište će se automatski ažurirati u polju ciljanog skladišta radnog naloga.,
"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Ako se označi, BOM trošak će se automatski ažurirati na osnovu stope procjene / stope cjenika / posljednje stope otkupa sirovina.",
Source Warehouses (Optional),Izvorna skladišta (neobavezna),
"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Sistem će preuzeti materijale iz odabranih skladišta. Ako nije navedeno, sistem će stvoriti zahtjev za materijalom za kupovinu.",
Lead Time,Vodeće vrijeme,
PAN Details,PAN detalji,
Create Customer,Stvori kupca,
Invoicing,Fakturisanje,
Enable Auto Invoicing,Omogućite automatsko fakturiranje,
Send Membership Acknowledgement,Pošaljite potvrdu o članstvu,
Send Invoice with Email,Pošaljite fakturu e-poštom,
Membership Print Format,Format za ispis članstva,
Invoice Print Format,Format ispisa fakture,
Revoke <Key></Key>,Opozovi&lt;Key&gt;&lt;/Key&gt;,
You can learn more about memberships in the manual. ,U članku možete saznati više o članstvu.,
ERPNext Docs,ERPNext Docs,
Regenerate Webhook Secret,Obnovite tajnu Webhook-a,
Generate Webhook Secret,Generiraj Webhook Secret,
Copy Webhook URL,Kopirajte URL webhooka,
Linked Item,Povezani predmet,
Feedback By,Povratne informacije od,
Manufacturing Section,Odjel za proizvodnju,
"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Po defaultu, Korisničko ime je postavljeno prema punom imenu. Ako želite da kupce imenuje a",
Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurirajte zadani cjenik prilikom kreiranja nove prodajne transakcije. Cijene stavki će se preuzeti iz ovog cjenika.,
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Ako je ova opcija konfigurirana kao &quot;Da&quot;, ERPNext će vas spriječiti da kreirate fakturu ili napomenu o isporuci bez prethodnog kreiranja narudžbenice. Ovu konfiguraciju može se nadjačati za određenog Kupca omogućavanjem potvrdnog okvira &#39;Omogući izradu fakture za prodaju bez prodajnog naloga&#39; u masteru kupca.",
"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Ako je ova opcija konfigurisana kao &quot;Da&quot;, ERPNext će vas spriječiti u stvaranju fakture prodaje bez prethodnog kreiranja bilješke o isporuci. Ovu konfiguraciju možete nadjačati za određenog kupca tako što ćete omogućiti potvrdni okvir &#39;Omogući izradu fakture za prodaju bez napomene o isporuci&#39; u masteru kupca.",
Default Warehouse for Sales Return,Zadani magacin za povratak prodaje,
Default In Transit Warehouse,Zadani u tranzitnom skladištu,
Enable Perpetual Inventory For Non Stock Items,Omogućite trajni inventar za stavke koje nisu na zalihi,
HRA Settings,Postavke HRA,
Basic Component,Osnovna komponenta,
HRA Component,HRA komponenta,
Arrear Component,Komponenta zaostatka,
Please enter the company name to confirm,Unesite naziv kompanije za potvrdu,
Quotation Lost Reason Detail,Detalj izgubljenog razloga ponude,
Enable Variants,Omogući varijante,
Save Quotations as Draft,Sačuvajte ponude kao skice,
MAT-DN-RET-.YYYY.-,MAT-DN-RET-.GGGG.-,
Please Select a Customer,Molimo odaberite kupca,
Against Delivery Note Item,Protiv stavke naloga za isporuku,
Is Non GST ,Nije GST,
Image Description,Opis slike,
Transfer Status,Status prijenosa,
MAT-PR-RET-.YYYY.-,MAT-PR-RET-.GGGG.-,
Track this Purchase Receipt against any Project,Pratite ovu potvrdu o kupovini prema bilo kojem projektu,
Please Select a Supplier,Molimo odaberite dobavljača,
Add to Transit,Dodaj u tranzit,
Set Basic Rate Manually,Ručno postavite osnovnu stopu,
"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Prema zadanim postavkama, naziv predmeta je postavljen prema unesenom kodu artikla. Ako želite da stavke imenuje",
Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Postavljanje zadanog skladišta za transakcije zalihama. Ovo će se dohvatiti u Zadani magacin u masteru predmeta.,
"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","To će omogućiti prikazivanje zaliha u negativnim vrijednostima. Korištenje ove opcije ovisi o vašem slučaju korištenja. Ako ova opcija nije potvrđena, sistem upozorava prije nego što ometa transakciju koja uzrokuje negativne zalihe.",
Choose between FIFO and Moving Average Valuation Methods. Click ,Izaberite između metoda FIFO i metoda procjene pokretnog prosjeka. Kliknite,
 to know more about them.,da znam više o njima.,
Show 'Scan Barcode' field above every child table to insert Items with ease.,Pokažite polje „Skeniraj crtični kod“ iznad svake podređene tablice da biste s lakoćom umetnuli predmete.,
"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Serijski brojevi zaliha automatski će se postaviti na osnovu stavki koje se unose na osnovu first in first out u transakcijama poput faktura kupovine / prodaje, otpremnica itd.",
"If blank, parent Warehouse Account or company default will be considered in transactions","Ako je prazno, u transakcijama će se uzeti u obzir matični račun skladišta ili zadana vrijednost kompanije",
Service Level Agreement Details,Detalji sporazuma o nivou usluge,
Service Level Agreement Status,Status sporazuma o nivou usluge,
On Hold Since,Na čekanju od,
Total Hold Time,Ukupno vrijeme zadržavanja,
Response Details,Detalji odgovora,
Average Response Time,Prosječno vrijeme odziva,
User Resolution Time,Vrijeme razlučivanja korisnika,
SLA is on hold since {0},SLA je na čekanju od {0},
Pause SLA On Status,Pauzirajte SLA na statusu,
Pause SLA On,Pauzirajte SLA Uključeno,
Greetings Section,Pozdravni odjeljak,
Greeting Title,Pozdravni naslov,
Greeting Subtitle,Pozdravni titl,
Youtube ID,Youtube ID,
Youtube Statistics,Youtube Statistika,
Views,Pregledi,
Dislikes,Ne voli,
Video Settings,Video Settings,
Enable YouTube Tracking,Omogućite YouTube praćenje,
30 mins,30 min,
1 hr,1 h,
6 hrs,6 sati,
Patient Progress,Napredak pacijenta,
Targetted,Ciljano,
Score Obtained,Rezultat dobijen,
Sessions,Sesije,
Average Score,Prosječna ocjena,
Select Assessment Template,Odaberite predložak procjene,
 out of ,van,
Select Assessment Parameter,Odaberite parametar procjene,
Gender: ,Spol:,
Contact: ,Kontakt:,
Total Therapy Sessions: ,Ukupno terapijskih sesija:,
Monthly Therapy Sessions: ,Mjesečne terapijske sesije:,
Patient Profile,Profil pacijenta,
Point Of Sale,Mjestu prodaje,
Email sent successfully.,E-pošta je uspješno poslana.,
Search by invoice id or customer name,Pretražujte prema ID-u fakture ili imenu kupca,
Invoice Status,Status fakture,
Filter by invoice status,Filtriraj prema statusu fakture,
Select item group,Odaberite grupu stavki,
No items found. Scan barcode again.,Predmeti nisu pronađeni. Ponovo skenirajte crtični kod.,
"Search by customer name, phone, email.","Pretražujte po imenu kupca, telefonu, e-pošti.",
Enter discount percentage.,Unesite postotak popusta.,
Discount cannot be greater than 100%,Popust ne može biti veći od 100%,
Enter customer's email,Unesite e-poštu kupca,
Enter customer's phone number,Unesite telefonski broj kupca,
Customer contact updated successfully.,Kontakt s kupcem je uspješno ažuriran.,
Item will be removed since no serial / batch no selected.,Stavka će biti uklonjena jer nije odabrana nijedna serijska serija.,
Discount (%),Popust (%),
You cannot submit the order without payment.,Ne možete poslati narudžbu bez plaćanja.,
You cannot submit empty order.,Ne možete poslati praznu narudžbu.,
To Be Paid,Da se plati,
Create POS Opening Entry,Kreirajte unos za otvaranje POS-a,
Please add Mode of payments and opening balance details.,Molimo dodajte detalje o načinu plaćanja i početnom stanju.,
Toggle Recent Orders,Uključi / isključi nedavne narudžbe,
Save as Draft,Spremiti kao nacrt,
You must add atleast one item to save it as draft.,Morate dodati najmanje jednu stavku da biste je sačuvali kao skicu.,
There was an error saving the document.,Došlo je do greške prilikom spremanja dokumenta.,
You must select a customer before adding an item.,Morate odabrati kupca prije dodavanja stavke.,
Please Select a Company,Molimo odaberite kompaniju,
Active Leads,Active Leads,
Please Select a Company.,Molimo odaberite kompaniju.,
BOM Operations Time,BOM operativno vrijeme,
BOM ID,BOM ID,
BOM Item Code,Šifra predmeta BOM,
Time (In Mins),Vrijeme (u minutama),
Sub-assembly BOM Count,Broj sastavnih dijelova podsklopa,
View Type,Vrsta prikaza,
Total Delivered Amount,Ukupni isporučeni iznos,
Downtime Analysis,Analiza zastoja,
Machine,Mašina,
Downtime (In Hours),Zastoji (u satima),
Employee Analytics,Analitika zaposlenih,
"""From date"" can not be greater than or equal to ""To date""",&quot;Od datuma&quot; ne može biti veći ili jednak &quot;Do danas&quot;,
Exponential Smoothing Forecasting,Eksponencijalno izglađivanje predviđanja,
First Response Time for Issues,Vrijeme prvog odgovora na izdanja,
First Response Time for Opportunity,Prvo vrijeme odgovora za priliku,
Depreciatied Amount,Amortizirani iznos,
Period Based On,Period zasnovan na,
Date Based On,Datum zasnovan,
{0} and {1} are mandatory,{0} i {1} su obavezni,
Consider Accounting Dimensions,Razmotrite računovodstvene dimenzije,
Reserved Quantity for Production,Rezervisana količina za proizvodnju,
Projected Quantity,Predviđena količina,
 Total Sales Amount,Ukupan iznos prodaje,
Job Card Summary,Sažetak kartice posla,
Id,Id,
Time Required (In Mins),Potrebno vrijeme (u minutama),
From Posting Date,Od datuma knjiženja,
To Posting Date,Do datuma knjiženja,
No records found,Nije pronađen nijedan zapis,
Customer/Lead Name,Ime kupca / potencijalnog klijenta,
Production Planning Report,Izvještaj o planiranju proizvodnje,
Order Qty,Naruči Kol,
Raw Material Code,Šifra sirovina,
Raw Material Name,Naziv sirovine,
Allotted Qty,Dodijeljena količina,
Expected Arrival Date,Očekivani datum dolaska,
Arrival Quantity,Količina dolaska,
Raw Material Warehouse,Skladište sirovina,
Order By,Poredak po,
Include Sub-assembly Raw Materials,Uključite sirovine podsklopa,
Program wise Fee Collection,Programska naplata naknada,
Fees Collected,Naknade naplaćene,
Project Summary,Sažetak projekta,
Total Tasks,Ukupno zadataka,
Tasks Completed,Zadaci izvršeni,
Tasks Overdue,Zadaci kasne,
Completion,Završetak,
Purchase Order Analysis,Analiza narudžbenice,
From and To Dates are required.,Potrebni su datumi od i do.,
To Date cannot be before From Date.,Do datuma ne može biti prije od datuma.,
Qty to Bill,Količina za Billa,
Group by Purchase Order,Grupiraj prema narudžbenici,
 Purchase Value,Nabavna vrijednost,
Total Received Amount,Ukupni primljeni iznos,
Quality Inspection Summary,Sažetak inspekcije kvaliteta,
 Quoted Amount,Citirani iznos,
Lead Time (Days),Vrijeme izvođenja (dani),
Include Expired,Uključi Isteklo,
Requested Items to Order and Receive,Tražene stavke za naručivanje i primanje,
Sales Order Analysis,Analiza naloga za prodaju,
Amount Delivered,Isporučeni iznos,
Delay (in Days),Kašnjenje (u danima),
Group by Sales Order,Grupiranje prema prodajnom nalogu,
 Sales Value,Vrijednost prodaje,
Stock Qty vs Serial No Count,Količina zaliha u odnosu na serijski broj,
Serial No Count,Broj serijskog broja,
Work Order Summary,Sažetak radnog naloga,
Produce Qty,Količina proizvoda,
Lead Time (in mins),Vrijeme izvođenja (u minutama),
Charts Based On,Grafikoni zasnovani na,
YouTube Interactions,YouTube interakcije,
Published Date,Datum objavljivanja,
Barnch,Barnch,
Select a Company,Odaberite kompaniju,
Opportunity {0} created,Stvorena prilika {0},
Kindly select the company first,Molimo vas da prvo odaberete kompaniju,
Please enter From Date and To Date to generate JSON,Unesite From Date i To Date da biste generirali JSON,
Download DATEV File,Preuzmite datoteku DATEV,
Numero has not set in the XML file,Numero nije postavljen u XML datoteku,
Inward Supplies(liable to reverse charge),Unutarnje zalihe (podložne storniranju),
This is based on the course schedules of this Instructor,Ovo se zasniva na rasporedu kurseva ovog instruktora,
Course and Assessment,Kurs i procjena,
Course {0} has been added to all the selected programs successfully.,Kurs {0} je uspješno dodan svim odabranim programima.,
Programs updated,Programi ažurirani,
Program and Course,Program i kurs,
{0} or {1} is mandatory,{0} ili {1} je obavezno,
Mandatory Fields,Obavezna polja,
Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} ne pripada studentskoj grupi {2},
Student Attendance record {0} already exists against the Student {1},Evidencija o posjećenosti učenika {0} već postoji protiv učenika {1},
Course and Fee,Kurs i naknada,
Not eligible for the admission in this program as per Date Of Birth,Ne ispunjava uslove za prijem u ovaj program prema datumu rođenja,
Topic {0} has been added to all the selected courses successfully.,Tema {0} uspješno je dodana na sve odabrane kurseve.,
Courses updated,Kursevi ažurirani,
{0} {1} has been added to all the selected topics successfully.,{0} {1} je uspješno dodan u sve odabrane teme.,
Topics updated,Teme ažurirane,
Academic Term and Program,Akademski termin i program,
Please remove this item and try to submit again or update the posting time.,Uklonite ovu stavku i pokušajte je ponovo poslati ili ažurirajte vrijeme objavljivanja.,
Failed to Authenticate the API key.,Autentifikacija API ključa nije uspjela.,
Invalid Credentials,Nevažeće vjerodajnice,
URL can only be a string,URL može biti samo niz,
"Here is your webhook secret, this will be shown to you only once.","Evo vaše tajne webhook-a, ovo će vam biti prikazano samo jednom.",
The payment for this membership is not paid. To generate invoice fill the payment details,Plaćanje za ovo članstvo nije plaćeno. Za generiranje fakture popunite detalje o plaćanju,
An invoice is already linked to this document,Račun je već povezan s ovim dokumentom,
No customer linked to member {},Nijedan kupac nije povezan sa članom {},
You need to set <b>Debit Account</b> in Membership Settings,U postavkama članstva morate postaviti <b>račun za zaduživanje</b>,
You need to set <b>Default Company</b> for invoicing in Membership Settings,U postavkama članstva morate postaviti <b>zadanu kompaniju</b> za fakturiranje,
You need to enable <b>Send Acknowledge Email</b> in Membership Settings,U postavkama članstva morate omogućiti <b>e-poštu</b> za <b>slanje potvrde</b>,
Error creating membership entry for {0},Greška pri kreiranju unosa za članstvo za {0},
A customer is already linked to this Member,Kupac je već povezan s ovim članom,
End Date must not be lesser than Start Date,Datum završetka ne smije biti manji od datuma početka,
Employee {0} already has Active Shift {1}: {2},Zaposlenik {0} već ima aktivnu smjenu {1}: {2},
 from {0},od {0},
 to {0},do {0},
Please set {0} for the Employee or for Department: {1},Postavite {0} za zaposlenika ili za odjel: {1},
Employee Onboarding: {0} is already for Job Applicant: {1},Ukrcavanje zaposlenih: {0} je već za kandidata za posao: {1},
Asset Value Analytics,Analitika vrijednosti imovine,
Category-wise Asset Value,Vrijednost imovine prema kategorijama,
Total Assets,Ukupna imovina,
New Assets (This Year),Nova imovina (ove godine),
Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Red # {}: Datum knjiženja amortizacije ne bi trebao biti jednak datumu Dostupno za upotrebu.,
Incorrect Date,Netačan datum,
Invalid Gross Purchase Amount,Nevažeći bruto iznos kupovine,
There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Aktivno se održavaju ili popravljaju sredstva. Morate ih popuniti prije nego što otkažete sredstvo.,
% Complete,% Kompletno,
Back to Course,Povratak na kurs,
Finish Topic,Završi temu,
Mins,Min,
by,by,
Back to,Povratak na,
Enrolling...,Upis ...,
You have successfully enrolled for the program ,Uspješno ste se prijavili za program,
Enrolled,Upisan,
Watch Intro,Pogledajte uvod,
We're here to help!,Ovdje smo da vam pomognemo!,
Frequently Read Articles,Članci koji se često čitaju,
Please set a default company address,Molimo postavite zadanu adresu kompanije,
{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} nije važeće stanje! Provjerite ima li grešaka u kucanju ili unesite ISO kod za svoje stanje.,
Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Došlo je do greške prilikom raščlanjivanja kontnog plana: Uvjerite se da niti jedan račun nema isto ime,
Plaid invalid request error,Pogreška nevažećeg zahtjeva karira,
Please check your Plaid client ID and secret values,Molimo provjerite svoj ID klijenta i tajne vrijednosti,
Bank transaction creation error,Greška u kreiranju bankovne transakcije,
Unit of Measurement,Mjerna jedinica,
Fiscal Year {0} Does Not Exist,Fiskalna godina {0} ne postoji,
Row # {0}: Returned Item {1} does not exist in {2} {3},Redak {0}: Vraćena stavka {1} ne postoji u {2} {3},
Valuation type charges can not be marked as Inclusive,Naknade za vrstu vrednovanja ne mogu se označiti kao sveobuhvatne,
You do not have permissions to {} items in a {}.,Nemate dozvole za {} stavki u {}.,
Insufficient Permissions,Nedovoljna dozvola,
You are not allowed to update as per the conditions set in {} Workflow.,Nije vam dozvoljeno ažuriranje prema uvjetima postavljenim u {} Tok rada.,
Expense Account Missing,Račun troškova nedostaje,
{0} is not a valid Value for Attribute {1} of Item {2}.,{0} nije važeća vrijednost za atribut {1} stavke {2}.,
Invalid Value,Nevažeća vrijednost,
The value {0} is already assigned to an existing Item {1}.,Vrijednost {0} je već dodijeljena postojećoj stavci {1}.,
"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Da i dalje nastavite s uređivanjem ove vrijednosti atributa, omogućite {0} u Postavkama varijante stavke.",
Edit Not Allowed,Uređivanje nije dozvoljeno,
Row #{0}: Item {1} is already fully received in Purchase Order {2},Redak {0}: Stavka {1} je već u potpunosti primljena u narudžbenici {2},
You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Ne možete kreirati ili otkazati nijedan knjigovodstveni zapis u zatvorenom obračunskom periodu {0},
POS Invoice should have {} field checked.,POS račun mora imati označeno polje {}.,
Invalid Item,Nevažeća stavka,
Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Red # {}: Ne možete dodati pozitivne količine u fakturu za povrat. Uklonite stavku {} da biste dovršili povrat.,
The selected change account {} doesn't belongs to Company {}.,Odabrani račun za promjenu {} ne pripada Kompaniji {}.,
Atleast one invoice has to be selected.,Mora biti izabrana najmanje jedna faktura.,
Payment methods are mandatory. Please add at least one payment method.,Načini plaćanja su obavezni. Dodajte barem jedan način plaćanja.,
Please select a default mode of payment,Odaberite zadani način plaćanja,
You can only select one mode of payment as default,Možete odabrati samo jedan način plaćanja kao zadani,
Missing Account,Nedostaje račun,
Customers not selected.,Kupci nisu odabrani.,
Statement of Accounts,Izvod računa,
Ageing Report Based On ,Izvještaj o starenju na osnovu,
Please enter distributed cost center,Unesite raspodijeljeno mjesto troškova,
Total percentage allocation for distributed cost center should be equal to 100,Ukupna alokacija u procentima za raspodijeljeno mjesto troškova trebala bi biti jednaka 100,
Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Ne može se omogućiti raspodijeljeno mjesto troškova za mjesto troškova koje je već dodijeljeno u drugom raspodijeljenom mjestu troškova,
Parent Cost Center cannot be added in Distributed Cost Center,Nadređeno mjesto troškova ne može se dodati u distribuirano mjesto troškova,
A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Distribuirano mjesto troškova ne može se dodati u tablicu raspodjele mjesta troškova.,
Cost Center with enabled distributed cost center can not be converted to group,Mjesto troškova s omogućenim distribuiranim mjestom troškova ne može se pretvoriti u grupu,
Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Već dodijeljeno mjesto troškova u distribuiranom mjestu troškova ne može se pretvoriti u grupu,
Trial Period Start date cannot be after Subscription Start Date,Datum početka probnog razdoblja ne može biti nakon datuma početka pretplate,
Subscription End Date must be after {0} as per the subscription plan,Datum završetka pretplate mora biti nakon {0} prema planu pretplate,
Subscription End Date is mandatory to follow calendar months,Krajnji datum pretplate je obavezan za kalendarske mjesece,
Row #{}: POS Invoice {} is not against customer {},Red # {}: POS faktura {} nije protiv kupca {},
Row #{}: POS Invoice {} is not submitted yet,Redak {{}: POS faktura {} još nije dostavljena,
Row #{}: POS Invoice {} has been {},Red # {}: POS faktura {} je {},
No Supplier found for Inter Company Transactions which represents company {0},Nije pronađen dobavljač za transakcije među kompanijama koji predstavljaju kompaniju {0},
No Customer found for Inter Company Transactions which represents company {0},Nije pronađen nijedan kupac za transakcije kompanije koje predstavljaju kompaniju {0},
Invalid Period,Nevažeće razdoblje,
Selected POS Opening Entry should be open.,Odabrani unos za otvaranje POS-a trebao bi biti otvoren.,
Invalid Opening Entry,Nevažeći uvodni unos,
Please set a Company,Molimo postavite kompaniju,
"Sorry, this coupon code's validity has not started","Nažalost, valjanost ovog koda kupona nije započela",
"Sorry, this coupon code's validity has expired","Nažalost, valjanost ovog koda kupona je istekla",
"Sorry, this coupon code is no longer valid","Žao nam je, ovaj kod kupona više nije važeći",
For the 'Apply Rule On Other' condition the field {0} is mandatory,Za uvjet &quot;Primijeni pravilo na ostalo&quot; polje {0} je obavezno,
{1} Not in Stock,{1} Nije na lageru,
Only {0} in Stock for item {1},Na skladištu za artikal {1} samo {0},
Please enter a coupon code,Unesite kod kupona,
Please enter a valid coupon code,Unesite važeći kôd kupona,
Invalid Child Procedure,Nevažeća procedura za dijete,
Import Italian Supplier Invoice.,Uvoz fakture italijanskog dobavljača.,
"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Stopa procjene za stavku {0} potrebna je za knjiženje knjigovodstvenih evidencija za {1} {2}.,
 Here are the options to proceed:,Evo opcija za nastavak:,
"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Ako stavka trguje kao stavka nulte stope vrednovanja u ovom unosu, omogućite &#39;Dopusti nultu stopu vrednovanja&#39; u tablici {0} Stavka.",
"If not, you can Cancel / Submit this entry ","Ako ne, možete otkazati / poslati ovaj unos",
 performing either one below:,izvodeći bilo koji dole:,
Create an incoming stock transaction for the Item.,Kreirajte dolaznu transakciju zaliha za Artikal.,
Mention Valuation Rate in the Item master.,Spomenite stopu vrednovanja u glavnom predmetu.,
Valuation Rate Missing,Nedostaje stopa procjene,
Serial Nos Required,Potrebni su serijski brojevi,
Quantity Mismatch,Količina neusklađenosti,
"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Molimo vas da ponovo nastavite sa proizvodima i ažurirate listu za odabir da biste nastavili. Da biste prekinuli, otkažite Pick List.",
Out of Stock,Nema na zalihi,
{0} units of Item {1} is not available.,{0} jedinica stavke {1} nije dostupno.,
Item for row {0} does not match Material Request,Stavka za red {0} se ne podudara sa zahtjevom za materijal,
Warehouse for row {0} does not match Material Request,Skladište za red {0} ne odgovara zahtjevu za materijalom,
Accounting Entry for Service,Knjigovodstveni unos usluge,
All items have already been Invoiced/Returned,Sve stavke su već fakturirane / vraćene,
All these items have already been Invoiced/Returned,Sve ove stavke su već fakturirane / vraćene,
Stock Reconciliations,Pomirenje dionica,
Merge not allowed,Spajanje nije dozvoljeno,
The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,"Sljedeći izbrisani atributi postoje u varijantama, ali ne i u predlošku. Možete izbrisati varijante ili zadržati atribut (e) u predlošku.",
Variant Items,Variant Items,
Variant Attribute Error,Pogreška varijante atributa,
The serial no {0} does not belong to item {1},Serijski broj {0} ne pripada stavci {1},
There is no batch found against the {0}: {1},Nije pronađena serija protiv {0}: {1},
Completed Operation,Završena operacija,
Work Order Analysis,Analiza radnog naloga,
Quality Inspection Analysis,Analiza inspekcije kvaliteta,
Pending Work Order,Na čekanju radni nalog,
Last Month Downtime Analysis,Analiza zastoja posljednjeg mjeseca,
Work Order Qty Analysis,Analiza količine radnog naloga,
Job Card Analysis,Analiza radnih mjesta,
Monthly Total Work Orders,Ukupni mjesečni nalozi za rad,
Monthly Completed Work Orders,Mjesečno izvršeni nalozi za rad,
Ongoing Job Cards,Kartice za posao u toku,
Monthly Quality Inspections,Mjesečne provjere kvaliteta,
(Forecast),(Prognoza),
Total Demand (Past Data),Ukupna potražnja (prošli podaci),
Total Forecast (Past Data),Ukupna prognoza (prošli podaci),
Total Forecast (Future Data),Ukupna prognoza (budući podaci),
Based On Document,Na osnovu dokumenta,
Based On Data ( in years ),Na osnovu podataka (u godinama),
Smoothing Constant,Smoothing Constant,
Please fill the Sales Orders table,Molimo popunite tablicu Prodajni nalozi,
Sales Orders Required,Potrebni nalozi za prodaju,
Please fill the Material Requests table,Molimo popunite tablicu Zahtjevi za materijalom,
Material Requests Required,Zahtjevi za materijal,
Items to Manufacture are required to pull the Raw Materials associated with it.,Proizvodi za proizvodnju dužni su povući sirovine povezane s tim.,
Items Required,Predmeti potrebni,
Operation {0} does not belong to the work order {1},Operacija {0} ne pripada radnom nalogu {1},
Print UOM after Quantity,Ispis UOM nakon količine,
Set default {0} account for perpetual inventory for non stock items,Postavite zadani {0} račun za vječni inventar za stavke koje nisu na zalihi,
Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Redak {0}: Podređena stavka ne bi trebala biti paket proizvoda. Uklonite stavku {1} i spremite,
Credit limit reached for customer {0},Dosegnuto kreditno ograničenje za kupca {0},
Could not auto create Customer due to the following missing mandatory field(s):,Nije moguće automatski kreirati kupca zbog sljedećih obaveznih polja koja nedostaju:,
Please create Customer from Lead {0}.,Kreirajte kupca od potencijalnog klijenta {0}.,
Mandatory Missing,Obavezno nedostaje,
From Date can not be greater than To Date.,Od datuma ne može biti veći od datuma.,
Row #{0}: Please enter the result value for {1},Redak {0}: Unesite vrijednost rezultata za {1},
Mandatory Results,Obavezni rezultati,
Sales Invoice or Patient Encounter is required to create Lab Tests,Račun za prodaju ili susret pacijenta potreban je za izradu laboratorijskih testova,
Insufficient Data,Nedovoljno podataka,
Lab Test(s) {0} created successfully,Laboratorijski testovi {0} su uspješno stvoreni,
Test :,Test:,
Sample Collection {0} has been created,Zbirka uzoraka {0} je kreirana,
Normal Range: ,Uobičajeni domet:,
Row #{0}: Check Out datetime cannot be less than Check In datetime,Redak {0}: Datum odjave ne može biti manji od datuma i vremena prijave,
"Missing required details, did not create Inpatient Record","Nedostaju potrebni detalji, nije stvorena stacionarna evidencija",
Unbilled Invoices,Nefakturirane fakture,
Standard Selling Rate should be greater than zero.,Standardna stopa prodaje trebala bi biti veća od nule.,
Conversion Factor is mandatory,Faktor konverzije je obavezan,
Row #{0}: Conversion Factor is mandatory,Redak {0}: Faktor konverzije je obavezan,
Sample Quantity cannot be negative or 0,Količina uzorka ne može biti negativna ili 0,
Invalid Quantity,Nevažeća količina,
"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Molimo postavite zadane postavke za Grupu kupaca, Teritoriju i Cjenik prodaje u Postavkama prodaje",
{0} on {1},{0} na {1},
{0} with {1},{0} sa {1},
Appointment Confirmation Message Not Sent,Poruka o potvrdi imenovanja nije poslana,
"SMS not sent, please check SMS Settings","SMS nije poslan, provjerite postavke SMS-a",
Healthcare Service Unit Type cannot have both {0} and {1},Tip jedinice zdravstvene službe ne može imati i {0} i {1},
Healthcare Service Unit Type must allow atleast one among {0} and {1},Tip zdravstvene jedinice mora dopustiti najmanje jedan između {0} i {1},
Set Response Time and Resolution Time for Priority {0} in row {1}.,Postavite vrijeme odziva i vrijeme razlučivanja za prioritet {0} u redu {1}.,
Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Vrijeme odziva za {0} prioritet u redu {1} ne može biti veće od vremena razlučivanja.,
{0} is not enabled in {1},{0} nije omogućen u {1},
Group by Material Request,Grupiraj prema zahtjevu za materijal,
Email Sent to Supplier {0},E-pošta poslana dobavljaču {0},
"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Pristup zahtjevu za ponudu sa portala je onemogućen. Da biste omogućili pristup, omogućite ga u postavkama portala.",
Supplier Quotation {0} Created,Ponuda dobavljača {0} kreirana,
Valid till Date cannot be before Transaction Date,Važi do datuma ne može biti prije datuma transakcije,
Unlink Advance Payment on Cancellation of Order,Prekinite vezu s avansnim plaćanjem nakon otkazivanja narudžbe,
"Simple Python Expression, Example: territory != 'All Territories'","Jednostavan Python izraz, primjer: teritorij! = &#39;Sve teritorije&#39;",
Sales Contributions and Incentives,Doprinosi prodaji i podsticaji,
Sourced by Supplier,Izvor dobavljača,
Total weightage assigned should be 100%.<br>It is {0},Ukupna dodijeljena težina treba biti 100%.<br> {0} je,
Account {0} exists in parent company {1}.,Račun {0} postoji u matičnoj kompaniji {1}.,
"To overrule this, enable '{0}' in company {1}","Da biste ovo prevladali, omogućite &#39;{0}&#39; u kompaniji {1}",
Invalid condition expression,Nevažeći izraz stanja,
Please Select a Company First,Prvo odaberite kompaniju,
Please Select Both Company and Party Type First,Molimo odaberite prvo vrstu kompanije i stranke,
Provide the invoice portion in percent,Navedite dio fakture u procentima,
Give number of days according to prior selection,Navedite broj dana prema prethodnom odabiru,
Email Details,Detalji e-pošte,
"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Odaberite pozdrav za prijemnik. Npr. Gospodin, gospođa itd.",
Preview Email,Pregled e-pošte,
Please select a Supplier,Molimo odaberite dobavljača,
Supplier Lead Time (days),Vrijeme isporuke dobavljača (dana),
"Home, Work, etc.","Kuća, posao itd.",
Exit Interview Held On,Izlazni intervju održan,
Sets 'Target Warehouse' in each row of the Items table.,Postavlja &#39;Ciljno skladište&#39; u svaki red tabele Predmeti.,
Sets 'Source Warehouse' in each row of the Items table.,Postavlja &#39;Izvorno skladište&#39; u svaki red tabele Predmeti.,
POS Register,POS registar,
"Can not filter based on POS Profile, if grouped by POS Profile","Ne može se filtrirati na osnovu POS profila, ako je grupirano po POS profilu",
"Can not filter based on Customer, if grouped by Customer","Ne može se filtrirati prema kupcu, ako ga grupiše kupac",
"Can not filter based on Cashier, if grouped by Cashier","Ne može se filtrirati na osnovu blagajne, ako je grupirana po blagajni",
Payment Method,Način plaćanja,
"Can not filter based on Payment Method, if grouped by Payment Method","Ne može se filtrirati na osnovu načina plaćanja, ako je grupirano prema načinu plaćanja",
Supplier Quotation Comparison,Usporedba ponuda dobavljača,
Price per Unit (Stock UOM),Cijena po jedinici (zaliha UOM),
Group by Supplier,Grupa prema dobavljaču,
Group by Item,Grupiraj po stavkama,
Remember to set {field_label}. It is required by {regulation}.,Ne zaboravite postaviti {field_label}. To zahtijeva {propis}.,
Enrollment Date cannot be before the Start Date of the Academic Year {0},Datum upisa ne može biti pre datuma početka akademske godine {0},
Enrollment Date cannot be after the End Date of the Academic Term {0},Datum upisa ne može biti nakon datuma završetka akademskog roka {0},
Enrollment Date cannot be before the Start Date of the Academic Term {0},Datum upisa ne može biti pre datuma početka akademskog roka {0},
Future Posting Not Allowed,Objavljivanje u budućnosti nije dozvoljeno,
"To enable Capital Work in Progress Accounting, ","Da bi se omogućilo računovodstvo kapitalnog rada u toku,",
you must select Capital Work in Progress Account in accounts table,u tablici računa morate odabrati Račun kapitalnog rada u toku,
You can also set default CWIP account in Company {},Također možete postaviti zadani CWIP račun u kompaniji {},
The Request for Quotation can be accessed by clicking on the following button,Zahtjevu za ponudu možete pristupiti klikom na sljedeće dugme,
Regards,Pozdrav,
Please click on the following button to set your new password,Kliknite na sljedeći gumb da biste postavili novu lozinku,
Update Password,Ažuriraj lozinku,
Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Red # {}: Stopa prodaje predmeta {} niža je od njegove {}. Prodaja {} treba biti najmanje {},
You can alternatively disable selling price validation in {} to bypass this validation.,Alternativno možete onemogućiti provjeru prodajne cijene u {} da biste zaobišli ovu provjeru.,
Invalid Selling Price,Nevažeća prodajna cijena,
Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adresa mora biti povezana sa kompanijom. Dodajte red za kompaniju u tabelu veza.,
Company Not Linked,Kompanija nije povezana,
Import Chart of Accounts from CSV / Excel files,Uvezite kontni plan iz CSV / Excel datoteka,
Completed Qty cannot be greater than 'Qty to Manufacture',Završena količina ne može biti veća od &#39;Količina za proizvodnju&#39;,
"Row {0}: For Supplier {1}, Email Address is Required to send an email",Red {0}: Za dobavljača {1} za slanje e-pošte potrebna je adresa e-pošte,
"If enabled, the system will post accounting entries for inventory automatically","Ako je omogućeno, sistem će automatski knjižiti knjigovodstvene evidencije zaliha",
Accounts Frozen Till Date,Računi zamrznuti do datuma,
Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Knjigovodstvene stavke su zamrznute do danas. Nitko ne može stvarati ili mijenjati unose osim korisnika s ulogom navedenom u nastavku,
Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Dopuštena uloga za postavljanje zamrznutih računa i uređivanje zamrznutih unosa,
Address used to determine Tax Category in transactions,Adresa koja se koristi za određivanje kategorije poreza u transakcijama,
"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Procenat koji vam je dozvoljen da naplatite više u odnosu na naručeni iznos. Na primjer, ako vrijednost narudžbe iznosi 100 USD za artikl, a tolerancija je postavljena na 10%, tada možete naplatiti do 110 USD",
This role is allowed to submit transactions that exceed credit limits,Ovoj ulozi je dozvoljeno podnošenje transakcija koje premašuju kreditna ograničenja,
"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","Ako je odabrano &quot;Mjeseci&quot;, fiksni iznos knjižiti će se kao odgođeni prihod ili rashod za svaki mjesec, bez obzira na broj dana u mjesecu. Proportirat će se ako odgođeni prihodi ili rashodi ne budu knjiženi cijeli mjesec",
"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Ako ovo nije označeno, stvorit će se izravni GL unosi za knjiženje odgođenih prihoda ili troškova",
Show Inclusive Tax in Print,Prikaži uključeni porez u štampi,
Only select this if you have set up the Cash Flow Mapper documents,Odaberite ovo samo ako ste postavili dokumente Mape tokova gotovine,
Payment Channel,Kanal plaćanja,
Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Da li je narudžbenica potrebna za fakturisanje i izradu računa?,
Is Purchase Receipt Required for Purchase Invoice Creation?,Da li je za izradu računa za kupovinu potrebna potvrda o kupovini?,
Maintain Same Rate Throughout the Purchase Cycle,Održavajte istu stopu tokom ciklusa kupovine,
Allow Item To Be Added Multiple Times in a Transaction,Omogućite dodavanje predmeta više puta u transakciji,
Suppliers,Dobavljači,
Send Emails to Suppliers,Pošaljite e-poštu dobavljačima,
Select a Supplier,Odaberite dobavljača,
Cannot mark attendance for future dates.,Nije moguće označiti prisustvo za buduće datume.,
Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Želite li ažurirati prisustvo?<br> Prisutan: {0}<br> Odsutan: {1},
Mpesa Settings,Mpesa Settings,
Initiator Name,Ime inicijatora,
Till Number,Do broja,
Sandbox,Sandbox,
 Online PassKey,Online PassKey,
Security Credential,Sigurnosne vjerodajnice,
Get Account Balance,Nabavite stanje na računu,
Please set the initiator name and the security credential,Molimo postavite ime inicijatora i sigurnosne vjerodajnice,
Inpatient Medication Entry,Stacionarni unos lijekova,
HLC-IME-.YYYY.-,FHP-IME-.GGGG.-,
Item Code (Drug),Šifra artikla (lijek),
Medication Orders,Narudžbe lijekova,
Get Pending Medication Orders,Nabavite lijekove na čekanju,
Inpatient Medication Orders,Stacionarni lijekovi,
Medication Warehouse,Skladište lijekova,
Warehouse from where medication stock should be consumed,Skladište odakle treba potrošiti zalihe lijekova,
Fetching Pending Medication Orders,Preuzimanje naloga za lijekove na čekanju,
Inpatient Medication Entry Detail,Pojedinosti o ulazu u stacionarne lijekove,
Medication Details,Detalji lijekova,
Drug Code,Kod droge,
Drug Name,Ime lijeka,
Against Inpatient Medication Order,Protiv naloga za stacionarno liječenje,
Against Inpatient Medication Order Entry,Protiv ulaza u stacionarne lijekove,
Inpatient Medication Order,Stacionarni nalog za lijekove,
HLC-IMO-.YYYY.-,FHP-IMO-.GGGG.-,
Total Orders,Ukupno narudžbi,
Completed Orders,Završene narudžbe,
Add Medication Orders,Dodajte naredbe za lijekove,
Adding Order Entries,Dodavanje unosa naloga,
{0} medication orders completed,Završeno je {0} narudžbi lijekova,
{0} medication order completed,{0} narudžba lijekova završena,
Inpatient Medication Order Entry,Unos naloga za stacionarne lijekove,
Is Order Completed,Da li je narudžba završena,
Employee Records to Be Created By,Evidencija zaposlenih koju će kreirati,
Employee records are created using the selected field,Evidencija zaposlenih kreira se pomoću izabranog polja,
Don't send employee birthday reminders,Ne šaljite podsjetnike za rođendan zaposlenika,
Restrict Backdated Leave Applications,Ograničite aplikacije za napuštanje sa zadnjim datumom,
Sequence ID,ID sekvence,
Sequence Id,Sekvenca Id,
Allow multiple material consumptions against a Work Order,Omogućite višestruku potrošnju materijala prema radnom nalogu,
Plan time logs outside Workstation working hours,Planirajte evidenciju vremena izvan radnog vremena radne stanice,
Plan operations X days in advance,Planirajte operacije X dana unaprijed,
Time Between Operations (Mins),Vrijeme između operacija (minuta),
Default: 10 mins,Zadano: 10 min,
Overproduction for Sales and Work Order,Prekomerna proizvodnja za prodaju i radni nalog,
"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Ažurirajte BOM troškove automatski putem planera, na osnovu najnovije stope procjene / stope cjenika / stope zadnje kupovine sirovina",
Purchase Order already created for all Sales Order items,Narudžbenica je već kreirana za sve stavke narudžbenice,
Select Items,Odaberite stavke,
Against Default Supplier,Protiv zadanog dobavljača,
Auto close Opportunity after the no. of days mentioned above,Automatsko zatvaranje prilika nakon br. dana gore spomenutih,
Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Da li je narudžbenica za kupovinu potrebna za izradu fakture i naloga za isporuku?,
Is Delivery Note Required for Sales Invoice Creation?,Da li je za izradu fakture za prodaju potrebna dostavnica?,
How often should Project and Company be updated based on Sales Transactions?,Koliko često treba ažurirati projekat i kompaniju na osnovu prodajnih transakcija?,
Allow User to Edit Price List Rate in Transactions,Omogućite korisniku da uređuje cijenu cjenika u transakcijama,
Allow Item to Be Added Multiple Times in a Transaction,Dopusti dodavanje predmeta u transakciji više puta,
Allow Multiple Sales Orders Against a Customer's Purchase Order,Omogućite više naloga za prodaju u odnosu na narudžbenice kupca,
Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Potvrdite prodajnu cijenu za stavku naspram stope kupovine ili stope procjene,
Hide Customer's Tax ID from Sales Transactions,Sakrijte poreski broj kupca iz prodajnih transakcija,
"The 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.","Procenat koji smijete primiti ili isporučiti više u odnosu na naručenu količinu. Na primjer, ako ste naručili 100 jedinica, a Vaš dodatak je 10%, tada možete primiti 110 jedinica.",
Action If Quality Inspection Is Not Submitted,Akcija ako se inspekcija kvaliteta ne podnese,
Auto Insert Price List Rate If Missing,Automatsko umetanje cijene cjenika ako nedostaje,
Automatically Set Serial Nos Based on FIFO,Automatski postavi serijske brojeve na osnovu FIFO-a,
Set Qty in Transactions Based on Serial No Input,Postavi količinu u transakcijama na osnovu serijskog unosa,
Raise Material Request When Stock Reaches Re-order Level,Podignite zahtjev za materijal kada zalihe dosegnu nivo narudžbe,
Notify by Email on Creation of Automatic Material Request,Obavijestite e-poštom o stvaranju automatskog zahtjeva za materijalom,
Allow Material Transfer from Delivery Note to Sales Invoice,Omogućite prijenos materijala iz otpremnice na fakturu prodaje,
Allow Material Transfer from Purchase Receipt to Purchase Invoice,Omogućite prijenos materijala sa računa o kupovini na račun za kupovinu,
Freeze Stocks Older Than (Days),Zamrznite zalihe starije od (dana),
Role Allowed to Edit Frozen Stock,Dopuštena uloga za uređivanje smrznutih zaliha,
The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Neraspoređeni iznos Unosa za plaćanje {0} veći je od neraspoređenog iznosa Bankovne transakcije,
Payment Received,Primljena uplata,
Attendance cannot be marked outside of Academic Year {0},Prisustvo se ne može označiti van akademske godine {0},
Student is already enrolled via Course Enrollment {0},Student je već upisan putem upisa na predmet {0},
Attendance cannot be marked for future dates.,Prisustvo se ne može označiti za buduće datume.,
Please add programs to enable admission application.,Dodajte programe kako biste omogućili prijavu.,
The following employees are currently still reporting to {0}:,Sljedeći zaposlenici trenutno još uvijek izvještavaju {0}:,
Please make sure the employees above report to another Active employee.,Molimo osigurajte da se gore navedeni zaposlenici prijave drugom aktivnom zaposleniku.,
Cannot Relieve Employee,Ne mogu osloboditi zaposlenika,
Please enter {0},Unesite {0},
Please select another payment method. Mpesa does not support transactions in currency '{0}',Odaberite drugi način plaćanja. Mpesa ne podržava transakcije u valuti &#39;{0}&#39;,
Transaction Error,Greška u transakciji,
Mpesa Express Transaction Error,Mpesa Express Transaction Greška,
"Issue detected with Mpesa configuration, check the error logs for more details","Otkriven je problem s Mpesa konfiguracijom, za više detalja provjerite zapisnike grešaka",
Mpesa Express Error,Mpesa Express greška,
Account Balance Processing Error,Pogreška pri obradi stanja računa,
Please check your configuration and try again,Provjerite svoju konfiguraciju i pokušajte ponovo,
Mpesa Account Balance Processing Error,Greška u obradi stanja računa Mpesa,
Balance Details,Detalji stanja,
Current Balance,Trenutno stanje,
Available Balance,Dostupno stanje,
Reserved Balance,Rezervisano stanje,
Uncleared Balance,Nerazjašnjeni bilans,
Payment related to {0} is not completed,Isplata vezana za {0} nije završena,
Row #{}: Item Code: {} is not available under warehouse {}.,Red # {}: Kod artikla: {} nije dostupan u skladištu {}.,
Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Red # {}: Količina zaliha nije dovoljna za šifru artikla: {} ispod skladišta {}. Dostupna količina {}.,
Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Red # {}: Odaberite serijski broj i seriju stavke: {} ili ga uklonite da biste dovršili transakciju.,
Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Red # {}: Nije odabran serijski broj za stavku: {}. Odaberite jedan ili ga uklonite da biste dovršili transakciju.,
Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Red # {}: Nije odabrana serija za stavku: {}. Odaberite grupu ili je uklonite da biste dovršili transakciju.,
Payment amount cannot be less than or equal to 0,Iznos uplate ne može biti manji ili jednak 0,
Please enter the phone number first,Prvo unesite broj telefona,
Row #{}: {} {} does not exist.,Red # {}: {} {} ne postoji.,
Row #{0}: {1} is required to create the Opening {2} Invoices,Redak {0}: {1} potreban je za kreiranje početnih {2} faktura,
You had {} errors while creating opening invoices. Check {} for more details,Imali ste {} grešaka prilikom kreiranja faktura za otvaranje. Pogledajte {} za više detalja,
Error Occured,Dogodila se greška,
Opening Invoice Creation In Progress,Otvaranje fakture u toku,
Creating {} out of {} {},Izrada {} od {} {},
(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Serijski broj: {0}) ne može se potrošiti jer je rezerviran za potpuno popunjavanje prodajnog naloga {1}.,
Item {0} {1},Stavka {0} {1},
Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Posljednja transakcija zaliha za artikal {0} u skladištu {1} bila je {2}.,
Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Transakcije dionicama za stavku {0} u skladištu {1} ne mogu se objaviti prije ovog vremena.,
Posting future stock transactions are not allowed due to Immutable Ledger,Knjiženje budućih transakcija dionicama nije dopušteno zbog Nepromjenjive knjige,
A BOM with name {0} already exists for item {1}.,BOM sa imenom {0} već postoji za stavku {1}.,
{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Jeste li preimenovali stavku? Molimo kontaktirajte administratora / tehničku podršku,
At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},U retku # {0}: ID sekvence {1} ne može biti manji od ID-a sekvence prethodnog reda {2},
The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) mora biti jednako {2} ({3}),
"{0}, complete the operation {1} before the operation {2}.","{0}, dovršite operaciju {1} prije operacije {2}.",
Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Ne možemo osigurati isporuku serijskim brojem jer se dodaje stavka {0} sa i bez osiguranja isporuke serijskim br.,
Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Stavka {0} nema serijski broj. Samo serilizirani predmeti mogu isporučivati na osnovu serijskog broja,
No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nije pronađena aktivna BOM za stavku {0}. Dostava serijskim brojem ne može se osigurati,
No pending medication orders found for selected criteria,Nije pronađena nijedna narudžba lijekova za odabrane kriterije,
From Date cannot be after the current date.,Od datuma ne može biti nakon trenutnog datuma.,
To Date cannot be after the current date.,Do datuma ne može biti nakon trenutnog datuma.,
From Time cannot be after the current time.,Iz vremena ne može biti nakon trenutnog vremena.,
To Time cannot be after the current time.,To Time ne može biti nakon trenutnog vremena.,
Stock Entry {0} created and ,Unos dionica {0} stvoren i,
Inpatient Medication Orders updated successfully,Nalozi za stacionarne lijekove su uspješno ažurirani,
Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Red {0}: Ne može se stvoriti unos za stacionarne lijekove protiv otkazanog naloga za stacionarno liječenje {1},
Row {0}: This Medication Order is already marked as completed,Redak {0}: Ovaj nalog za lijekove već je označen kao ispunjen,
Quantity not available for {0} in warehouse {1},Količina nije dostupna za {0} u skladištu {1},
Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Omogućite Dozvoli negativne zalihe u postavkama zaliha ili kreirajte unos zaliha da biste nastavili.,
No Inpatient Record found against patient {0},Nije pronađen nijedan stacionarni zapis protiv pacijenta {0},
An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Nalog stacionarnih lijekova {0} protiv susreta s pacijentima {1} već postoji.,
Allow In Returns,Omogući povratak,
Hide Unavailable Items,Sakrij nedostupne stavke,
Apply Discount on Discounted Rate,Primijenite popust na sniženu stopu,
Therapy Plan Template,Predložak plana terapije,
Fetching Template Details,Preuzimanje podataka o predlošku,
Linked Item Details,Povezani detalji predmeta,
Therapy Types,Vrste terapije,
Therapy Plan Template Detail,Pojedinosti predloška plana terapije,
Non Conformance,Neusklađenost,
Process Owner,Vlasnik procesa,
Corrective Action,Korektivna akcija,
Preventive Action,Preventivna akcija,
Problem,Problem,
Responsible,Odgovorno,
Completion By,Završetak,
Process Owner Full Name,Puno ime vlasnika procesa,
Right Index,Desni indeks,
Left Index,Lijevi indeks,
Sub Procedure,Potprocedura,
Passed,Prošao,
Print Receipt,Potvrda o ispisu,
Edit Receipt,Uredi potvrdu,
Focus on search input,Usredotočite se na unos pretraživanja,
Focus on Item Group filter,Usredotočite se na filter grupe predmeta,
Checkout Order / Submit Order / New Order,Narudžba za plaćanje / Predaja naloga / Nova narudžba,
Add Order Discount,Dodajte popust za narudžbinu,
Item Code: {0} is not available under warehouse {1}.,Šifra artikla: {0} nije dostupno u skladištu {1}.,
Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serijski brojevi nisu dostupni za artikl {0} u skladištu {1}. Pokušajte promijeniti skladište.,
Fetched only {0} available serial numbers.,Preuzeto je samo {0} dostupnih serijskih brojeva.,
Switch Between Payment Modes,Prebacivanje između načina plaćanja,
Enter {0} amount.,Unesite iznos od {0}.,
You don't have enough points to redeem.,Nemate dovoljno bodova za iskorištavanje.,
You can redeem upto {0}.,Možete iskoristiti do {0}.,
Enter amount to be redeemed.,Unesite iznos koji treba iskoristiti.,
You cannot redeem more than {0}.,Ne možete iskoristiti više od {0}.,
Open Form View,Otvorite prikaz obrasca,
POS invoice {0} created succesfully,POS račun {0} je uspješno kreiran,
Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Količina zaliha nije dovoljna za šifru artikla: {0} ispod skladišta {1}. Dostupna količina {2}.,
Serial No: {0} has already been transacted into another POS Invoice.,Serijski broj: {0} je već prebačen na drugu POS fakturu.,
Balance Serial No,Serijski br. Stanja,
Warehouse: {0} does not belong to {1},Skladište: {0} ne pripada {1},
Please select batches for batched item {0},Odaberite serije za serijsku stavku {0},
Please select quantity on row {0},Odaberite količinu u retku {0},
Please enter serial numbers for serialized item {0},Unesite serijske brojeve za serijsku stavku {0},
Batch {0} already selected.,Paket {0} je već odabran.,
Please select a warehouse to get available quantities,Odaberite skladište da biste dobili dostupne količine,
"For transfer from source, selected quantity cannot be greater than available quantity","Za prijenos iz izvora, odabrana količina ne može biti veća od dostupne količine",
Cannot find Item with this Barcode,Ne mogu pronaći predmet sa ovim crtičnim kodom,
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} je obavezno. Možda zapis mjenjačnice nije kreiran za {1} do {2},
{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} je poslao sredstva povezana s tim. Morate otkazati imovinu da biste stvorili povrat kupovine.,
Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Ovaj dokument nije moguće otkazati jer je povezan sa dostavljenim materijalom {0}. Otkažite ga da biste nastavili.,
Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Red # {}: Serijski broj {} je već prebačen na drugu POS fakturu. Odaberite važeći serijski broj.,
Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Red # {}: Serijski brojevi. {} Je već prebačen na drugu POS fakturu. Odaberite važeći serijski broj.,
Item Unavailable,Predmet nije dostupan,
Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Red # {}: Serijski broj {} se ne može vratiti jer nije izvršen u originalnoj fakturi {},
Please set default Cash or Bank account in Mode of Payment {},Postavite zadani gotovinski ili bankovni račun u načinu plaćanja {},
Please set default Cash or Bank account in Mode of Payments {},Postavite zadani gotovinski ili bankovni račun u načinu plaćanja {},
Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Molimo provjerite je li račun {} račun bilance stanja. Možete promijeniti roditeljski račun u račun bilansa stanja ili odabrati drugi račun.,
Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Molimo provjerite je li račun {} račun koji se plaća. Promijenite vrstu računa u Plativo ili odaberite drugi račun.,
Row {}: Expense Head changed to {} ,Red {}: Glava rashoda promijenjena u {},
because account {} is not linked to warehouse {} ,jer račun {} nije povezan sa skladištem {},
or it is not the default inventory account,ili to nije zadani račun zaliha,
Expense Head Changed,Promijenjena glava rashoda,
because expense is booked against this account in Purchase Receipt {},jer je račun evidentiran na ovom računu u potvrdi o kupovini {},
as no Purchase Receipt is created against Item {}. ,jer se prema stavci {} ne kreira potvrda o kupovini.,
This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,To se radi radi obračunavanja slučajeva kada se potvrda o kupovini kreira nakon fakture za kupovinu,
Purchase Order Required for item {},Narudžbenica potrebna za stavku {},
To submit the invoice without purchase order please set {} ,"Da biste predali račun bez narudžbenice, postavite {}",
as {} in {},kao u {},
Mandatory Purchase Order,Obavezna narudžbenica,
Purchase Receipt Required for item {},Potvrda o kupovini za stavku {},
To submit the invoice without purchase receipt please set {} ,"Da biste predali račun bez potvrde o kupovini, postavite {}",
Mandatory Purchase Receipt,Obavezna potvrda o kupovini,
POS Profile {} does not belongs to company {},POS profil {} ne pripada kompaniji {},
User {} is disabled. Please select valid user/cashier,Korisnik {} je onemogućen. Odaberite valjanog korisnika / blagajnika,
Row #{}: Original Invoice {} of return invoice {} is {}. ,Redak {{}: Originalna faktura {} fakture za povrat {} je {}.,
Original invoice should be consolidated before or along with the return invoice.,Originalnu fakturu treba konsolidirati prije ili zajedno s povratnom fakturom.,
You can add original invoice {} manually to proceed.,Možete nastaviti originalnu fakturu {} ručno da biste nastavili.,
Please ensure {} account is a Balance Sheet account. ,Molimo provjerite je li račun {} račun bilance stanja.,
You can change the parent account to a Balance Sheet account or select a different account.,Možete promijeniti roditeljski račun u račun bilansa stanja ili odabrati drugi račun.,
Please ensure {} account is a Receivable account. ,Molimo provjerite je li račun} račun potraživanja.,
Change the account type to Receivable or select a different account.,Promijenite vrstu računa u Potraživanje ili odaberite drugi račun.,
{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} se ne može otkazati jer su iskorišteni bodovi za lojalnost iskorišteni. Prvo otkažite {} Ne {},
already exists,već postoji,
POS Closing Entry {} against {} between selected period,Zatvaranje unosa POS-a {} protiv {} između izabranog perioda,
POS Invoice is {},POS račun je {},
POS Profile doesn't matches {},POS profil se ne podudara sa {},
POS Invoice is not {},POS račun nije {},
POS Invoice isn't created by user {},POS račun ne kreira korisnik {},
Row #{}: {},Red # {}: {},
Invalid POS Invoices,Nevažeći POS računi,
Please add the account to root level Company - {},Molimo dodajte račun korijenskom nivou kompanije - {},
"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Tokom kreiranja računa za kompaniju Child Child {0}, nadređeni račun {1} nije pronađen. Molimo kreirajte roditeljski račun u odgovarajućem COA",
Account Not Found,Račun nije pronađen,
"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Prilikom kreiranja računa za Child Company {0}, roditeljski račun {1} je pronađen kao račun glavne knjige.",
Please convert the parent account in corresponding child company to a group account.,Molimo konvertujte roditeljski račun u odgovarajućem podređenom preduzeću u grupni račun.,
Invalid Parent Account,Nevažeći račun roditelja,
"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Preimenovanje je dozvoljeno samo preko matične kompanije {0}, kako bi se izbjegla neusklađenost.",
"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Ako {0} {1} količinu predmeta {2}, shema {3} primijenit će se na stavku.",
"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ako {0} {1} vrijedite stavku {2}, shema {3} primijenit će se na stavku.",
"As the field {0} is enabled, the field {1} is mandatory.","Kako je polje {0} omogućeno, polje {1} je obavezno.",
"As the field {0} is enabled, the value of the field {1} should be more than 1.","Kako je polje {0} omogućeno, vrijednost polja {1} trebala bi biti veća od 1.",
Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Nije moguće isporučiti serijski broj {0} stavke {1} jer je rezervisan za puni popunjeni prodajni nalog {2},
"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Prodajni nalog {0} ima rezervaciju za artikal {1}, rezervisani {1} možete dostaviti samo protiv {0}.",
{0} Serial No {1} cannot be delivered,{0} Serijski broj {1} nije moguće isporučiti,
Row {0}: Subcontracted Item is mandatory for the raw material {1},Red {0}: Predmet podugovaranja je obavezan za sirovinu {1},
"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Budući da postoji dovoljno sirovina, zahtjev za materijal nije potreban za Skladište {0}.",
" If you still want to proceed, please enable {0}.","Ako i dalje želite nastaviti, omogućite {0}.",
The item referenced by {0} - {1} is already invoiced,Stavka na koju se poziva {0} - {1} već je fakturirana,
Therapy Session overlaps with {0},Sjednica terapije preklapa se sa {0},
Therapy Sessions Overlapping,Preklapanje terapijskih sesija,
Therapy Plans,Planovi terapije,
"Item Code, warehouse, quantity are required on row {0}","Šifra artikla, skladište, količina su obavezni na retku {0}",
Get Items from Material Requests against this Supplier,Nabavite predmete od materijalnih zahtjeva protiv ovog dobavljača,
Enable European Access,Omogućiti evropski pristup,
Creating Purchase Order ...,Kreiranje narudžbenice ...,
"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Odaberite dobavljača od zadanih dobavljača dolje navedenih stavki. Nakon odabira, narudžbenica će se izvršiti samo za proizvode koji pripadaju odabranom dobavljaču.",
Row #{}: You must select {} serial numbers for item {}.,Red # {}: Morate odabrati {} serijske brojeve za stavku {}.,
Add Comment,Dodaj komentar,
More...,Više ...,
Notes,Bilješke,
Payment Gateway,Payment Gateway,
Payment Gateway Name,Naziv Gateway Gateway-a,
Payments,Plaćanja,
Plan Name,Ime plana,
Portal,Portal,
Scan Barcode,Skenirajte bar kod,
Some information is missing,Neke informacije nedostaju,
Successful,Uspešno,
Tools,Alati,
Use Sandbox,Koristite Sandbox,
Busy,Zauzeto,
Completed By,Završio,
Payment Failed,plaćanje nije uspjelo,
Column {0},Stupac {0},
Field Mapping,Mapiranje polja,
Not Specified,Nije određeno,
Update Type,Tip ažuriranja,
Dr,Doktor,
End Time,End Time,
Fetching...,Dohvaćanje ...,
"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Čini se da postoji problem sa konfiguracijom trake servera. U slučaju neuspeha, iznos će biti vraćen na vaš račun.",
Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Izgleda kao da je neko poslao na nepotpune URL. Zamolite ih da pogleda u nju.,
Master,Majstor,
Pay,Platiti,
You can also copy-paste this link in your browser,Također možete copy-paste ovaj link u vašem pregledniku,
Verified By,Ovjeren od strane,
Invalid naming series (. missing) for {0},Nevažeća serija imenovanja (. Nedostaje) za {0},
Phone Number,Telefonski broj,
Account SID,SID računa,
Global Defaults,Globalne zadane postavke,
Is Mandatory,Je obavezna,
WhatsApp,WhatsApp,
Make a call,Pozovite,
Approve,odobriti,
Reject,odbiti,
