, (Half Day), (Hálfan dag)
, and year: , og ár: 
,""" does not exists",""" er ekki til"
,%  Delivered,%  Afhent
,% Amount Billed,% Upphæð reikningsfærð
,% Billed,% Reikningsfært
,% Completed,% Lokið
,% Delivered,% Afhent
,% Installed,% Uppsett
,% Milestones Achieved,% Áföngum náð
,% Milestones Completed,% Áföngum lokið
,% Received,% Móttekið
,% Tasks Completed,% Verkefnum lokið
,% of materials billed against this Purchase Order.,% of materials billed against this Purchase Order.
,% of materials billed against this Sales Order,% of materials billed against this Sales Order
,% of materials delivered against this Delivery Note,% of materials delivered against this Delivery Note
,% of materials delivered against this Sales Order,% of materials delivered against this Sales Order
,% of materials ordered against this Material Request,% of materials ordered against this Material Request
,% of materials received against this Purchase Order,% of materials received against this Purchase Order
,'Actual Start Date' can not be greater than 'Actual End Date','Actual Start Date' can not be greater than 'Actual End Date'
,'Based On' and 'Group By' can not be same,'Based On' and 'Group By' can not be same
,'Days Since Last Order' must be greater than or equal to zero,'Days Since Last Order' must be greater than or equal to zero
,'Entries' cannot be empty,'Entries' cannot be empty
,'Expected Start Date' can not be greater than 'Expected End Date','Expected Start Date' can not be greater than 'Expected End Date'
,'From Date' is required,'Upphafsdagur' er krafist
,'From Date' must be after 'To Date','Upphafsdagur' verður að vera nýrri en 'Lokadagur'
,'Has Serial No' can not be 'Yes' for non-stock item,'Has Serial No' can not be 'Yes' for non-stock item
,'Notification Email Addresses' not specified for recurring %s,'Notification Email Addresses' not specified for recurring %s
,'Profit and Loss' type account {0} not allowed in Opening Entry,'Profit and Loss' type account {0} not allowed in Opening Entry
,'To Case No.' cannot be less than 'From Case No.','To Case No.' cannot be less than 'From Case No.'
,'To Date' is required,'Lokadagur' er krafist
,'Update Stock' for Sales Invoice {0} must be set,'Update Stock' for Sales Invoice {0} must be set
,* Will be calculated in the transaction.,* Will be calculated in the transaction.
,"**Budget Distribution** helps you distribute your budget across months if you have seasonality in your business.To distribute a budget using this distribution, set this **Budget Distribution** in the **Cost Center**","**Budget Distribution** helps you distribute your budget across months if you have seasonality in your business.To distribute a budget using this distribution, set this **Budget Distribution** in the **Cost Center**"
,**Currency** Master,**Currency** Master
,**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.
,1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent
,1. To maintain the customer wise item code and to make them searchable based on their code use this option,1. To maintain the customer wise item code and to make them searchable based on their code use this option
,90-Above,90-Above
,"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer Group"">Add / Edit</a>"
,"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item Group"">Add / Edit</a>"
,"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory"">Add / Edit</a>"
,"<h4>Default Template</h4><p>Uses <a href=""http://jinja.pocoo.org/docs/templates/"">Jinja Templating</a> and all the fields of Address (including Custom Fields if any) will be available</p><pre><code>{{ address_line1 }}&lt;br&gt;{% if address_line2 %}{{ address_line2 }}&lt;br&gt;{% endif -%}{{ city }}&lt;br&gt;{% if state %}{{ state }}&lt;br&gt;{% endif -%}{% if pincode %} PIN:  {{ pincode }}&lt;br&gt;{% endif -%}{{ country }}&lt;br&gt;{% if phone %}Phone: {{ phone }}&lt;br&gt;{% endif -%}{% if fax %}Fax: {{ fax }}&lt;br&gt;{% endif -%}{% if email_id %}Email: {{ email_id }}&lt;br&gt;{% endif -%}</code></pre>","<h4>Default Template</h4><p>Uses <a href=""http://jinja.pocoo.org/docs/templates/"">Jinja Templating</a> and all the fields of Address (including Custom Fields if any) will be available</p><pre><code>{{ address_line1 }}&lt;br&gt;{% if address_line2 %}{{ address_line2 }}&lt;br&gt;{% endif -%}{{ city }}&lt;br&gt;{% if state %}{{ state }}&lt;br&gt;{% endif -%}{% if pincode %} PIN:  {{ pincode }}&lt;br&gt;{% endif -%}{{ country }}&lt;br&gt;{% if phone %}Phone: {{ phone }}&lt;br&gt;{% endif -%}{% if fax %}Fax: {{ fax }}&lt;br&gt;{% endif -%}{% if email_id %}Email: {{ email_id }}&lt;br&gt;{% endif -%}</code></pre>"
,A Customer Group exists with same name please change the Customer name or rename the Customer Group,A Customer Group exists with same name please change the Customer name or rename the Customer Group
,A Customer exists with same name,Viðskiptavinur til með sama nafni
,A Lead with this email id should exist,Ábending með kenni netfangs ætti að vera til
,A Product or Service,Vara eða þjónusta
,"A Product or a Service that is bought, sold or kept in stock.","Vara eða þjónustu sem er keypt, seld eða haldið á lager."
,A Supplier exists with same name,Birgir til með sama nafni
,A condition for a Shipping Rule,Skilyrði fyrir reglu vöruflutninga
,A logical Warehouse against which stock entries are made.,A logical Warehouse against which stock entries are made.
,A symbol for this currency. For e.g. $,Tákn fyrir þennan gjaldmiðil. For e.g. $
,A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Þriðja aðila dreifingaraðili / söluaðili / umboðsaðili umboðslauna / hlutdeildarfélag / endurseljandi sem selur fyrirtækjum vörur fyrir þóknun.
,"A user with ""Expense Approver"" role","A user with ""Expense Approver"" role"
,AMC Expiry Date,AMC Expiry Date
,Abbr,Abbr
,Abbreviation cannot have more than 5 characters,Skammstöfun má ekki hafa fleiri en 5 stafi
,Above Value,Umfram gildi
,Absent,Fjarverandi
,Acceptance Criteria,Viðtökuskilyrði
,Accepted,Samþykkt
,Accepted + Rejected Qty must be equal to Received quantity for Item {0},Samþykkt + Hafnað magn skulu vera jöfn mótteknu magni fyrir lið {0}
,Accepted Quantity,Samþykkt magn
,Accepted Warehouse,Samþykkt vörugeymsla
,Account,Reikningur
,Account Balance,Reikningsstaða
,Account Created: {0},Reikningur stofnaður: {0}
,Account Details,Reiknings upplýsingar
,Account Group,Reikninga hópur
,Account Head,Account Head
,Account Name,Reikningsnafn
,Account Type,Rekningsgerð
,"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'"
,"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'"
,Account for the warehouse (Perpetual Inventory) will be created under this Account.,Account for the warehouse (Perpetual Inventory) will be created under this Account.
,Account head {0} created,Account head {0} created
,Account must be a balance sheet account,Account must be a balance sheet account
,Account with child nodes cannot be converted to ledger,Account with child nodes cannot be converted to ledger
,Account with existing transaction can not be converted to group.,Account with existing transaction can not be converted to group.
,Account with existing transaction can not be deleted,Account with existing transaction can not be deleted
,Account with existing transaction cannot be converted to ledger,Account with existing transaction cannot be converted to ledger
,Account {0} cannot be a Group,Account {0} cannot be a Group
,Account {0} does not belong to Company {1},Account {0} does not belong to Company {1}
,Account {0} does not belong to company: {1},Account {0} does not belong to company: {1}
,Account {0} does not exist,Account {0} does not exist
,Account {0} does not exists,Account {0} does not exists
,Account {0} has been entered more than once for fiscal year {1},Account {0} has been entered more than once for fiscal year {1}
,Account {0} is frozen,Account {0} is frozen
,Account {0} is inactive,Account {0} is inactive
,Account {0} is not valid,Account {0} is not valid
,Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item,Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item
,Account {0}: Parent account {1} can not be a ledger,Account {0}: Parent account {1} can not be a ledger
,Account {0}: Parent account {1} does not belong to company: {2},Account {0}: Parent account {1} does not belong to company: {2}
,Account {0}: Parent account {1} does not exist,Account {0}: Parent account {1} does not exist
,Account {0}: You can not assign itself as parent account,Account {0}: You can not assign itself as parent account
,Account: {0} can only be updated via Stock Transactions,Account: {0} can only be updated via Stock Transactions
,Accountant,Bókari
,Accounting,Bókhald
,"Accounting Entries can be made against leaf nodes, called","Accounting Entries can be made against leaf nodes, called"
,Accounting Entry for Stock,Accounting Entry for Stock
,"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Accounting entry frozen up to this date, nobody can do / modify entry except role specified below."
,Accounting journal entries.,Accounting journal entries.
,Accounts,Reikningar
,Accounts Browser,Accounts Browser
,Accounts Frozen Upto,Accounts Frozen Upto
,Accounts Manager,Accounts Manager
,Accounts Payable,Viðskiptaskuldir
,Accounts Receivable,Viðskiptakröfur
,Accounts Settings,Accounts Settings
,Accounts User,Accounts User
,Achieved,Achieved
,Active,Virkt
,Active: Will extract emails from ,Active: Will extract emails from 
,Activity,Aðgerðir
,Activity Log,Activity Log
,Activity Log:,Activity Log:
,Activity Type,Activity Type
,Actual,Actual
,Actual Budget,Actual Budget
,Actual Completion Date,Actual Completion Date
,Actual Date,Actual Date
,Actual End Date,Actual End Date
,Actual Invoice Date,Actual Invoice Date
,Actual Posting Date,Raundagsetning bókunar
,Actual Qty,Raunmagn
,Actual Qty (at source/target),Raunmagn (við upptök/markmið)
,Actual Qty After Transaction,Raunmagn eftir færslu
,Actual Qty is mandatory,Raunmagn er bindandi
,Actual Qty: Quantity available in the warehouse.,Raunmagn: Magn í boði á lager.
,Actual Quantity,Raunmagn
,Actual Start Date,Actual Start Date
,Add,Add
,Add / Edit Prices,Add / Edit Prices
,Add / Edit Taxes and Charges,Add / Edit Taxes and Charges
,Add Child,Add Child
,Add Serial No,Add Serial No
,Add Taxes,Add Taxes
,Add or Deduct,Add or Deduct
,Add rows to set annual budgets on Accounts.,Add rows to set annual budgets on Accounts.
,Add to Cart,Add to Cart
,Add to calendar on this date,Add to calendar on this date
,Add/Remove Recipients,Add/Remove Recipients
,Address,Address
,Address & Contact,Address & Contact
,Address & Contacts,Address & Contacts
,Address Desc,Address Desc
,Address Details,Address Details
,Address HTML,Address HTML
,Address Line 1,Address Line 1
,Address Line 2,Address Line 2
,Address Template,Address Template
,Address Title,Address Title
,Address Title is mandatory.,Address Title is mandatory.
,Address Type,Address Type
,Address master.,Address master.
,Administrative Expenses,Stjórnunarkostnaður
,Administrative Officer,Administrative Officer
,Administrator,Stjórnandi
,Advance Amount,Heildarupphæð
,Advance Paid,Advance Paid
,Advance amount,Advance amount
,Advance paid against {0} {1} cannot be greater \					than Grand Total {2},Advance paid against {0} {1} cannot be greater \					than Grand Total {2}
,Advances,Advances
,Advertisement,Advertisement
,Advertising,Advertising
,Aerospace,Aerospace
,After Sale Installations,After Sale Installations
,Against,Against
,Against Account,Á móti reikning
,Against Docname,Á móti nafni skjals
,Against Doctype,Á móti gerð skjals
,Against Document Detail No,Á móti upplýsinganúmeri skjals
,Against Document No,Á móti skjalanúmeri
,Against Expense Account,Á móti kostnaðarreikningi
,Against Income Account,Á móti tekjureikningi
,Against Invoice,Á móti reikningi
,Against Invoice Posting Date,Á móti bókunardagsetningu
,Against Journal Voucher,Á móti færslu í færslubók
,Against Journal Voucher {0} does not have any unmatched {1} entry,Á móti færslu í færslubók {0} hefur ekki samsvarandi {1} færslu
,Against Journal Voucher {0} is already adjusted against some other voucher,Á móti færslu í færslubók {0} er þegar tengd við aðra færslu
,Against Purchase Invoice,Á móti innkaupareikningi
,Against Purchase Order,Á móti innkaupapöntun
,Against Sales Invoice,Á móti sölureikningi
,Against Sales Order,Á móti sölupöntun
,Against Supplier Invoice {0} dated {1},Á móti reikningi frá birgja {0} dagsettum {1}
,Against Voucher,Á móti fylgiskjali
,Against Voucher No,Á móti fylgiskjali nr
,Against Voucher Type,Á móti gerð fylgiskjals
,"Against Voucher Type must be one of Purchase Order, Purchase Invoice or Journal Voucher","Á móti gerð fylgiskjals verður að vera eitt af innkaupapöntun, innkaupareikningi eða færslu í færslubók"
,"Against Voucher Type must be one of Sales Order, Sales Invoice or Journal Voucher","Á móti gerð fylgiskjals verður að vera eitt af sölupöntun, sölureikningi eða færslu í færslubók"
,Age,Aldur
,Ageing Based On,Ageing Based On
,Ageing Date is mandatory for opening entry,Ageing Date is mandatory for opening entry
,Ageing date is mandatory for opening entry,Ageing date is mandatory for opening entry
,Agent,Umboðsmaður
,"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials","Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials"
,Aging Date,Aging Date
,Aging Date is mandatory for opening entry,Aging Date is mandatory for opening entry
,Agriculture,Landbúnaður
,Airline,Flugfélag
,All,Allt
,All Addresses.,Öll heimilisföng.
,All Contact,Allir tengiliðir
,All Contacts.,Allir tengiliðir
,All Customer Contact,All Customer Contact
,All Customer Groups,All Customer Groups
,All Day,Allan daginn
,All Employee (Active),Allir starfsmenn (virkir)
,All Item Groups,All Item Groups
,All Lead (Open),Allar ábendingar (opnar)
,All Products or Services.,Allar vörur eða þjónusta.
,All Sales Partner Contact,All Sales Partner Contact
,All Sales Person,All Sales Person
,All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.
,All Supplier Contact,All Supplier Contact
,All Supplier Types,All Supplier Types
,All Territories,All Territories
,"All export related fields like currency, conversion rate, export total, export grand total etc are available in Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","All export related fields like currency, conversion rate, export total, export grand total etc are available in Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc."
,"All import related fields like currency, conversion rate, import total, import grand total etc are available in Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","All import related fields like currency, conversion rate, import total, import grand total etc are available in Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc."
,All items have already been invoiced,Allt hefur nú þegar verið reikningsfært
,All these items have already been invoiced,Allt þetta hér hefur nú þegar verið reiknisfært
,Allocate,Úthluta
,Allocate leaves for a period.,Úthluta fríum á tímabil.
,Allocate leaves for the year.,Úthluta fríum á árið.
,Allocated,Úthlutað
,Allocated Amount,Úthlutuð fjárhæð
,Allocated Budget,Úthlutuð kostnaðaráætlun
,Allocated amount,Úthlutuð fjárhæð
,Allocated amount can not be negative,Úthlutuð fjárhæð getur ekki verið neikvæð
,Allocated amount can not greater than unadusted amount,Allocated amount can not greater than unadusted amount
,Allow Bill of Materials,Allow Bill of Materials
,Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item,Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item
,Allow Children,Allow Children
,Allow Dropbox Access,Allow Dropbox Access
,Allow Google Drive Access,Allow Google Drive Access
,Allow Negative Balance,Allow Negative Balance
,Allow Negative Stock,Leyfa neikvæðar birgðir
,Allow Production Order,Leyfa framleiðslupöntun
,Allow User,Leyfa notanda
,Allow Users,Leyfa notendur
,Allow the following users to approve Leave Applications for block days.,Allow the following users to approve Leave Applications for block days.
,Allow user to edit Price List Rate in transactions,Allow user to edit Price List Rate in transactions
,Allowance Percent,Allowance Percent
,Allowance for over-{0} crossed for Item {1},Allowance for over-{0} crossed for Item {1}
,Allowance for over-{0} crossed for Item {1}.,Allowance for over-{0} crossed for Item {1}.
,Allowed Role to Edit Entries Before Frozen Date,Allowed Role to Edit Entries Before Frozen Date
,Amended From,Amended From
,Amount,Upphæð
,Amount (Company Currency),Amount (Company Currency)
,Amount Paid,Upphæð greidd
,Amount to Bill,Amount to Bill
,Amounts not reflected in bank,Amounts not reflected in bank
,Amounts not reflected in system,Amounts not reflected in system
,Amt,Amt
,An Customer exists with same name,Viðskiptavinur til með sama nafni
,"An Item Group exists with same name, please change the item name or rename the item group","An Item Group exists with same name, please change the item name or rename the item group"
,"An item exists with same name ({0}), please change the item group name or rename the item","An item exists with same name ({0}), please change the item group name or rename the item"
,Analyst,Greinir
,Annual,Árlegur
,Another Period Closing Entry {0} has been made after {1},Another Period Closing Entry {0} has been made after {1}
,Another Salary Structure {0} is active for employee {1}. Please make its status 'Inactive' to proceed.,Another Salary Structure {0} is active for employee {1}. Please make its status 'Inactive' to proceed.
,"Any other comments, noteworthy effort that should go in the records.","Any other comments, noteworthy effort that should go in the records."
,Apparel & Accessories,Fatnaður & Aukabúnaður
,Applicability,Gildi
,Applicable Charges,Gildandi gjöld
,Applicable For,Gilda fyrir
,Applicable Holiday List,Gildandi listi fyrir fríið
,Applicable Territory,Gildandi svæði
,Applicable To (Designation),Applicable To (Designation)
,Applicable To (Employee),Applicable To (Employee)
,Applicable To (Role),Applicable To (Role)
,Applicable To (User),Applicable To (User)
,Applicant Name,Nafn umsækjanda
,Applicant for a Job,Umsækjandi um vinnu
,Applicant for a Job.,Umsækjandi um vinnu.
,Application of Funds (Assets),Eignir
,Applications for leave.,Umsókn um leyfi.
,Applies to Company,Gildir um fyrirtæki
,Apply / Approve Leaves,Apply / Approve Leaves
,Apply On,Apply On
,Appraisal,Appraisal
,Appraisal Goal,Appraisal Goal
,Appraisal Goals,Appraisal Goals
,Appraisal Template,Appraisal Template
,Appraisal Template Goal,Appraisal Template Goal
,Appraisal Template Title,Appraisal Template Title
,Appraisal {0} created for Employee {1} in the given date range,Appraisal {0} created for Employee {1} in the given date range
,Apprentice,Apprentice
,Approval Status,Staða samþykkis
,Approval Status must be 'Approved' or 'Rejected',Staða samþykkis verður að vera 'Samþykkt' eða 'Hafnað'
,Approved,Samþykkt
,Approver,Samþykkjandi
,Approving Role,Approving Role
,Approving Role cannot be same as role the rule is Applicable To,Approving Role cannot be same as role the rule is Applicable To
,Approving User,Approving User
,Approving User cannot be same as user the rule is Applicable To,Approving User cannot be same as user the rule is Applicable To
,Are you sure you want to STOP ,Are you sure you want to STOP 
,Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP 
,Arrear Amount,Arrear Amount
,"As Production Order can be made for this item, it must be a stock item.","As Production Order can be made for this item, it must be a stock item."
,As per Stock UOM,As per Stock UOM
,"As there are existing stock transactions for this item, you can not change the values of 'Has Serial No', 'Has Batch No', 'Is Stock Item' and 'Valuation Method'","As there are existing stock transactions for this item, you can not change the values of 'Has Serial No', 'Has Batch No', 'Is Stock Item' and 'Valuation Method'"
,Asset,Eign
,Assistant,Aðstoðarmaður
,Associate,Samstarfsmaður
,Atleast one of the Selling or Buying must be selected,Atleast one of the Selling or Buying must be selected
,Atleast one warehouse is mandatory,Atleast one warehouse is mandatory
,Attach Image,Hengja við mynd
,Attach Letterhead,Hengja við bréfshausinn
,Attach Logo,Hengdu við logo
,Attach Your Picture,Hengdu við myndina þína
,Attendance,Aðsókn
,Attendance Date,Attendance Date
,Attendance Details,Attendance Details
,Attendance From Date,Attendance From Date
,Attendance From Date and Attendance To Date is mandatory,Attendance From Date and Attendance To Date is mandatory
,Attendance To Date,Attendance To Date
,Attendance can not be marked for future dates,Attendance can not be marked for future dates
,Attendance for employee {0} is already marked,Attendance for employee {0} is already marked
,Attendance record.,Attendance record.
,Auditor,Auditor
,Authorization Control,Authorization Control
,Authorization Rule,Authorization Rule
,Auto Accounting For Stock Settings,Auto Accounting For Stock Settings
,Auto Material Request,Auto Material Request
,Auto-raise Material Request if quantity goes below re-order level in a warehouse,Auto-raise Material Request if quantity goes below re-order level in a warehouse
,Automatically compose message on submission of transactions.,Automatically compose message on submission of transactions.
,Automatically updated via Stock Entry of type Manufacture or Repack,Automatically updated via Stock Entry of type Manufacture or Repack
,Automotive,Automotive
,Autoreply when a new mail is received,Autoreply when a new mail is received
,Available,Available
,Available Qty at Warehouse,Available Qty at Warehouse
,Available Stock for Packing Items,Available Stock for Packing Items
,"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet"
,Average Age,Average Age
,Average Commission Rate,Average Commission Rate
,Average Discount,Average Discount
,Avg Daily Outgoing,Avg Daily Outgoing
,Avg. Buying Rate,Avg. Buying Rate
,Awesome Products,Meirihàttar vörur
,Awesome Services,Meirihàttar þjónusta
,BOM Detail No,BOM Detail No
,BOM Explosion Item,BOM Explosion Item
,BOM Item,BOM Item
,BOM No,BOM No
,BOM No. for a Finished Good Item,BOM No. for a Finished Good Item
,BOM Operation,BOM Operation
,BOM Operations,BOM Operations
,BOM Rate,BOM Rate
,BOM Replace Tool,BOM Replace Tool
,BOM number is required for manufactured Item {0} in row {1},BOM number is required for manufactured Item {0} in row {1}
,BOM number not allowed for non-manufactured Item {0} in row {1},BOM number not allowed for non-manufactured Item {0} in row {1}
,BOM recursion: {0} cannot be parent or child of {2},BOM recursion: {0} cannot be parent or child of {2}
,BOM replaced,BOM replaced
,BOM {0} for Item {1} in row {2} is inactive or not submitted,BOM {0} for Item {1} in row {2} is inactive or not submitted
,BOM {0} is not active or not submitted,BOM {0} is not active or not submitted
,BOM {0} is not submitted or inactive BOM for Item {1},BOM {0} is not submitted or inactive BOM for Item {1}
,Backup Manager,Afritunarstjóri
,Backup Right Now,Afrita núna
,Backups will be uploaded to,Backups will be uploaded to
,Balance,Balance
,Balance Qty,Balance Qty
,Balance Sheet,Efnahagsreikningur
,Balance Value,Balance Value
,Balance for Account {0} must always be {1},Balance for Account {0} must always be {1}
,Balance must be,Balance must be
,"Balances of Accounts of type ""Bank"" or ""Cash""","Balances of Accounts of type ""Bank"" or ""Cash"""
,Bank,Bank
,Bank / Cash Account,Bank / Cash Account
,Bank A/C No.,Bank A/C No.
,Bank Account,Bank Account
,Bank Account No.,Bank Account No.
,Bank Accounts,Bankareikningar
,Bank Clearance Summary,Bank Clearance Summary
,Bank Draft,Bank Draft
,Bank Name,Bank Name
,Bank Overdraft Account,Yfirdráttarreikningur
,Bank Reconciliation,Bank Reconciliation
,Bank Reconciliation Detail,Bank Reconciliation Detail
,Bank Reconciliation Statement,Bank Reconciliation Statement
,Bank Voucher,Bank Voucher
,Bank/Cash Balance,Bank/Cash Balance
,Banking,Banking
,Barcode,Barcode
,Barcode {0} already used in Item {1},Barcode {0} already used in Item {1}
,Based On,Based On
,Basic,Basic
,Basic Info,Basic Info
,Basic Information,Basic Information
,Basic Rate,Basic Rate
,Basic Rate (Company Currency),Basic Rate (Company Currency)
,Batch,Batch
,Batch (lot) of an Item.,Batch (lot) of an Item.
,Batch Finished Date,Batch Finished Date
,Batch ID,Batch ID
,Batch No,Batch No
,Batch Started Date,Batch Started Date
,Batch Time Logs for Billing.,Batch Time Logs for Billing.
,Batch Time Logs for billing.,Batch Time Logs for billing.
,Batch-Wise Balance History,Batch-Wise Balance History
,Batched for Billing,Batched for Billing
,Better Prospects,Better Prospects
,Bill Date,Bill Date
,Bill No,Bill No
,Bill of Material,Bill of Material
,Bill of Material to be considered for manufacturing,Bill of Material to be considered for manufacturing
,Bill of Materials (BOM),Bill of Materials (BOM)
,Billable,Billable
,Billed,Billed
,Billed Amount,Billed Amount
,Billed Amt,Billed Amt
,Billing,Billing
,Billing (Sales Invoice),Billing (Sales Invoice)
,Billing Address,Billing Address
,Billing Address Name,Billing Address Name
,Billing Status,Billing Status
,Bills raised by Suppliers.,Bills raised by Suppliers.
,Bills raised to Customers.,Bills raised to Customers.
,Bin,Bin
,Bio,Bio
,Biotechnology,Biotechnology
,Birthday,Birthday
,Block Date,Block Date
,Block Days,Block Days
,Block Holidays on important days.,Block Holidays on important days.
,Block leave applications by department.,Block leave applications by department.
,Blog Post,Blog Post
,Blog Subscriber,Blog Subscriber
,Blood Group,Blood Group
,Both Warehouse must belong to same Company,Both Warehouse must belong to same Company
,Box,Box
,Branch,Branch
,Brand,Brand
,Brand Name,Brand Name
,Brand master.,Brand master.
,Brands,Brands
,Breakdown,Breakdown
,Broadcasting,Broadcasting
,Brokerage,Brokerage
,Budget,Budget
,Budget Allocated,Budget Allocated
,Budget Detail,Budget Detail
,Budget Details,Budget Details
,Budget Distribution,Budget Distribution
,Budget Distribution Detail,Budget Distribution Detail
,Budget Distribution Details,Budget Distribution Details
,Budget Variance Report,Budget Variance Report
,Budget cannot be set for Group Cost Centers,Budget cannot be set for Group Cost Centers
,Build Report,Build Report
,Bundle items at time of sale.,Bundle items at time of sale.
,Business Development Manager,Business Development Manager
,Buyer of Goods and Services.,Buyer of Goods and Services.
,Buying,Innkaup
,Buying & Selling,Buying & Selling
,Buying Amount,Buying Amount
,Buying Settings,Buying Settings
,"Buying must be checked, if Applicable For is selected as {0}","Buying must be checked, if Applicable For is selected as {0}"
,C-Form,C-Form
,C-Form Applicable,C-Form Applicable
,C-Form Invoice Detail,C-Form Invoice Detail
,C-Form No,C-Form No
,C-Form records,C-Form records
,CENVAT Capital Goods,CENVAT Capital Goods
,CENVAT Edu Cess,CENVAT Edu Cess
,CENVAT SHE Cess,CENVAT SHE Cess
,CENVAT Service Tax,CENVAT Service Tax
,CENVAT Service Tax Cess 1,CENVAT Service Tax Cess 1
,CENVAT Service Tax Cess 2,CENVAT Service Tax Cess 2
,Calculate Based On,Calculate Based On
,Calculate Total Score,Calculate Total Score
,Calendar Events,Calendar Events
,Call,Call
,Calls,Calls
,Campaign,Campaign
,Campaign Name,Campaign Name
,Campaign Name is required,Campaign Name is required
,Campaign Naming By,Campaign Naming By
,Campaign-.####,Campaign-.####
,Can be approved by {0},Can be approved by {0}
,"Can not filter based on Account, if grouped by Account","Can not filter based on Account, if grouped by Account"
,"Can not filter based on Voucher No, if grouped by Voucher","Can not filter based on Voucher No, if grouped by Voucher"
,Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total'
,Cancel Material Visit {0} before cancelling this Customer Issue,Cancel Material Visit {0} before cancelling this Customer Issue
,Cancel Material Visits {0} before cancelling this Maintenance Visit,Cancel Material Visits {0} before cancelling this Maintenance Visit
,Cancelled,Hætt við
,Cancelling this Stock Reconciliation will nullify its effect.,Cancelling this Stock Reconciliation will nullify its effect.
,Cannot Cancel Opportunity as Quotation Exists,Cannot Cancel Opportunity as Quotation Exists
,Cannot approve leave as you are not authorized to approve leaves on Block Dates,Cannot approve leave as you are not authorized to approve leaves on Block Dates
,Cannot cancel because Employee {0} is already approved for {1},Cannot cancel because Employee {0} is already approved for {1}
,Cannot cancel because submitted Stock Entry {0} exists,Cannot cancel because submitted Stock Entry {0} exists
,Cannot carry forward {0},Cannot carry forward {0}
,Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.
,"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency."
,Cannot convert Cost Center to ledger as it has child nodes,Cannot convert Cost Center to ledger as it has child nodes
,Cannot covert to Group because Master Type or Account Type is selected.,Cannot covert to Group because Master Type or Account Type is selected.
,Cannot deactive or cancle BOM as it is linked with other BOMs,Cannot deactive or cancle BOM as it is linked with other BOMs
,"Cannot declare as lost, because Quotation has been made.","Cannot declare as lost, because Quotation has been made."
,Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Cannot deduct when category is for 'Valuation' or 'Valuation and Total'
,"Cannot delete Serial No {0} in stock. First remove from stock, then delete.","Cannot delete Serial No {0} in stock. First remove from stock, then delete."
,"Cannot directly set amount. For 'Actual' charge type, use the rate field","Cannot directly set amount. For 'Actual' charge type, use the rate field"
,"Cannot overbill for Item {0} in row {0} more than {1}. To allow overbilling, please set in Stock Settings","Cannot overbill for Item {0} in row {0} more than {1}. To allow overbilling, please set in Stock Settings"
,Cannot produce more Item {0} than Sales Order quantity {1},Cannot produce more Item {0} than Sales Order quantity {1}
,Cannot refer row number greater than or equal to current row number for this Charge type,Cannot refer row number greater than or equal to current row number for this Charge type
,Cannot return more than {0} for Item {1},Cannot return more than {0} for Item {1}
,Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row
,Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for valuation. You can select only 'Total' option for previous row amount or previous row total,Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for valuation. You can select only 'Total' option for previous row amount or previous row total
,Cannot set as Lost as Sales Order is made.,Cannot set as Lost as Sales Order is made.
,Cannot set authorization on basis of Discount for {0},Cannot set authorization on basis of Discount for {0}
,Capacity,Capacity
,Capacity Units,Capacity Units
,Capital Account,Eigið fé
,Capital Equipments,Fjárfestingarvara
,Carry Forward,Carry Forward
,Carry Forwarded Leaves,Carry Forwarded Leaves
,Case No(s) already in use. Try from Case No {0},Case No(s) already in use. Try from Case No {0}
,Case No. cannot be 0,Case No. cannot be 0
,Cash,Reiðufé
,Cash In Hand,Handbært fé
,Cash Voucher,Færsla fyrir reiðufé
,Cash or Bank Account is mandatory for making payment entry,Reiðufé eða bankareikningur er nauðsynlegur til að gera greiðslu færslu 
,Cash/Bank Account,Reiðufé/Bankareikningur
,Casual Leave,Óformlegt leyfi
,Cell Number,Farsímanúmer
,Change Abbreviation,Breyta skammstöfun
,Change UOM for an Item.,Breyta mælieiningu (UOM) fyrir hlut.
,Change the starting / current sequence number of an existing series.,Change the starting / current sequence number of an existing series.
,Channel Partner,Samstarfsaðili
,Charge of type 'Actual' in row {0} cannot be included in Item Rate,Charge of type 'Actual' in row {0} cannot be included in Item Rate
,Chargeable,Gjaldfærsluhæfur
,Charges are updated in Purchase Receipt against each item,Charges are updated in Purchase Receipt against each item
,Charges will be distributed proportionately based on item amount,Charges will be distributed proportionately based on item amount
,Charity and Donations,Góðgerðarstarfsemi og gjafir
,Chart Name,Chart Name
,Chart of Accounts,Bókhaldslykill
,Chart of Cost Centers,Chart of Cost Centers
,Check how the newsletter looks in an email by sending it to your email.,Check how the newsletter looks in an email by sending it to your email.
,"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Check if recurring invoice, uncheck to stop recurring or put proper End Date"
,"Check if recurring order, uncheck to stop recurring or put proper End Date","Check if recurring order, uncheck to stop recurring or put proper End Date"
,"Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible."
,Check if you want to send salary slip in mail to each employee while submitting salary slip,Check if you want to send salary slip in mail to each employee while submitting salary slip
,Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Check this if you want to force the user to select a series before saving. There will be no default if you check this.
,Check this if you want to show in website,Check this if you want to show in website
,Check this to disallow fractions. (for Nos),Check this to disallow fractions. (for Nos)
,Check this to pull emails from your mailbox,Check this to pull emails from your mailbox
,Check to activate,Hakaðu við til að virkja
,Check to make Shipping Address,Check to make Shipping Address
,Check to make primary address,Hakaðu við til að gera að aðal heimilisfangi
,Chemical,Chemical
,Cheque,Ávísun
,Cheque Date,Dagsetning ávísunar
,Cheque Number,Númer ávísunar
,Child account exists for this account. You can not delete this account.,Child account exists for this account. Þú getur ekki eytt þessum reikning.
,City,Borg
,City/Town,Borg/Bær
,Claim Amount,Kröfuupphæð
,Claims for company expense.,Krafa fyrir kostnað.
,Class / Percentage,Class / Percentage
,Classic,Classic
,Classification of Customers by region,Flokkun viðskiptavina eftir svæðum
,Clear Table,Hreinsa töflu
,Clearance Date,Clearance Date
,Clearance Date not mentioned,Clearance Date not mentioned
,Clearance date cannot be before check date in row {0},Clearance date cannot be before check date in row {0}
,Click on 'Make Sales Invoice' button to create a new Sales Invoice.,Click on 'Make Sales Invoice' button to create a new Sales Invoice.
,Click on a link to get options to expand get options ,Click on a link to get options to expand get options 
,Client,Client
,Close,Loka
,Close Balance Sheet and book Profit or Loss.,Loka efnahagsreikningi og bóka hagnað eða tap.
,Closed,Lokað
,Closing (Cr),Closing (Cr)
,Closing (Dr),Closing (Dr)
,Closing Account Head,Closing Account Head
,Closing Account {0} must be of type 'Liability',Closing Account {0} must be of type 'Liability'
,Closing Date,Closing Date
,Closing Fiscal Year,Closing Fiscal Year
,CoA Help,CoA Help
,Code,Kóði
,Cold Calling,Cold Calling
,Color,Litur
,Column Break,Dálkaskil
,Column Break 1,Column Break 1
,Comma separated list of email addresses,Kommu aðgreindur listi af netföngum
,Comment,Athugasemd
,Comments,Athugasemdir
,Commercial,Commercial
,Commission,Þóknun
,Commission Rate,Hlutfall þóknunar
,Commission Rate (%),Hlutfall þóknunar (%)
,Commission on Sales,Söluþóknun
,Commission rate cannot be greater than 100,Hlutfall þóknunar getur ekki orðið meira en 100
,Communication,Samskipti
,Communication HTML,HTML samskipti
,Communication History,Samskiptasaga
,Communication log.,Samskiptaferli.
,Communications,Samskipti
,Company,Fyrirtæki
,Company (not Customer or Supplier) master.,Company (not Customer or Supplier) master.
,Company Abbreviation,Skammstöfun fyrirtækis
,Company Details,Fyrirtækjaupplýsingar
,Company Email,Netfang fyrirtækis
,"Company Email ID not found, hence mail not sent","Company Email ID not found, hence mail not sent"
,Company Info,Fyrirtækjaupplýsingar
,Company Name,Nafn fyrirtækis
,Company Settings,Stillingar fyrirtækis
,Company is missing in warehouses {0},Fyrirtæki vantar í vörugeymslu {0}
,Company is required,Fyrirtæki er krafist
,Company registration numbers for your reference. Example: VAT Registration Numbers etc.,Company registration numbers for your reference. Example: VAT Registration Numbers etc.
,Company registration numbers for your reference. Tax numbers etc.,Company registration numbers for your reference. Tax numbers etc.
,"Company, Month and Fiscal Year is mandatory","Company, Month and Fiscal Year is mandatory"
,Compensatory Off,Compensatory Off
,Complete,Lokið
,Complete Setup,Ljúka uppsetningu
,Completed,Lokið
,Completed Production Orders,Framleiðslupöntunum sem er lokið
,Completed Qty,Magn sem er lokið
,Completion Date,Lokadagsetning
,Completion Status,Completion Status
,Computer,Tölva
,Computers,Tölvubúnaður
,Confirmation Date,Dagsetning staðfestingar
,Confirmed orders from Customers.,Staðfestar pantanir frá viðskiptavinum.
,Consider Tax or Charge for,Consider Tax or Charge for
,Considered as Opening Balance,Considered as Opening Balance
,Considered as an Opening Balance,Considered as an Opening Balance
,Consultant,Ráðgjafi
,Consulting,Ráðgjöf
,Consumable,Consumable
,Consumable Cost,Consumable Cost
,Consumable cost per hour,Consumable cost per hour
,Consumed,Consumed
,Consumed Amount,Consumed Amount
,Consumed Qty,Consumed Qty
,Consumer Products,Neytandavörur
,Contact,Tengiliður
,Contact Control,Stjórnun tengiliðar
,Contact Desc,Contact Desc
,Contact Details,Upplýsingar um tengilið
,Contact Email,Tengiliður neffang
,Contact HTML,Contact HTML
,Contact Info,Upplýsingar um tengilið
,Contact Mobile No,Farsímanúmer tengiliðs
,Contact Name,NAfn tengiliðs
,Contact No.,Nr tengiliðs.
,Contact Person,Tengiliður
,Contact Type,Gerð tengiliðs
,Contact master.,Contact master.
,Contacts,Tengiliðir
,Content,Innihald
,Content Type,Gerð innihalds
,Contra Voucher,Samningsfærsla
,Contract,Samningur
,Contract End Date,Lokadagur samnings
,Contract End Date must be greater than Date of Joining,Lokadagur samnings verður að vera nýrri en dagsetning skráningar
,Contribution %,Framlag %
,Contribution (%),Framlag (%)
,Contribution Amount,Upphæð framlags
,Contribution to Net Total,Framlag til samtals nettó
,Conversion Factor,Umreiknistuðull
,Conversion Factor is required,Umreiknistuðuls er krafist
,Conversion factor cannot be in fractions,Umreiknistuðull getur ekki verið í broti
,Conversion factor for default Unit of Measure must be 1 in row {0},Conversion factor for default Unit of Measure must be 1 in row {0}
,Conversion rate cannot be 0 or 1,Conversion rate cannot be 0 or 1
,Convert to Group,Convert to Group
,Convert to Ledger,Convert to Ledger
,Converted,Converted
,Copy From Item Group,Copy From Item Group
,Cosmetics,Cosmetics
,Cost Center,Cost Center
,Cost Center Details,Cost Center Details
,Cost Center For Item with Item Code ',Cost Center For Item with Item Code '
,Cost Center Name,Cost Center Name
,Cost Center is required for 'Profit and Loss' account {0},Cost Center is required for 'Profit and Loss' account {0}
,Cost Center is required in row {0} in Taxes table for type {1},Cost Center is required in row {0} in Taxes table for type {1}
,Cost Center with existing transactions can not be converted to group,Cost Center with existing transactions can not be converted to group
,Cost Center with existing transactions can not be converted to ledger,Cost Center with existing transactions can not be converted to ledger
,Cost Center {0} does not belong to Company {1},Cost Center {0} does not belong to Company {1}
,Cost of Delivered Items,Cost of Delivered Items
,Cost of Goods Sold,Kostnaðarverð seldra vara
,Cost of Issued Items,Cost of Issued Items
,Cost of Purchased Items,Cost of Purchased Items
,Costing,Costing
,Country,Land
,Country Name,Nafn lands
,Country wise default Address Templates,Sjálfgefið landstengt heimilisfangasnið
,"Country, Timezone and Currency","Land, tímabelti og Gjaldmiðill"
,Cr,Cr
,Create Bank Voucher for the total salary paid for the above selected criteria,Stofna færslu í banka fyrir greidd heildarlaun með völdum viðmiðum að ofan
,Create Customer,Stofna viðskiptavin
,Create Material Requests,Create Material Requests
,Create New,Create New
,Create Opportunity,Create Opportunity
,Create Payment Entries against Orders or Invoices.,Create Payment Entries against Orders or Invoices.
,Create Production Orders,Create Production Orders
,Create Quotation,Create Quotation
,Create Receiver List,Create Receiver List
,Create Salary Slip,Create Salary Slip
,Create Stock Ledger Entries when you submit a Sales Invoice,Create Stock Ledger Entries when you submit a Sales Invoice
,Create and Send Newsletters,Create and Send Newsletters
,"Create and manage daily, weekly and monthly email digests.","Create and manage daily, weekly and monthly email digests."
,Create rules to restrict transactions based on values.,Create rules to restrict transactions based on values.
,Created By,Stofnað af
,Creates salary slip for above mentioned criteria.,Creates salary slip for above mentioned criteria.
,Creation Date,Creation Date
,Creation Document No,Creation Document No
,Creation Document Type,Creation Document Type
,Creation Time,Creation Time
,Credentials,Credentials
,Credit,Credit
,Credit Amt,Credit Amt
,Credit Card,Credit Card
,Credit Card Voucher,Credit Card Voucher
,Credit Controller,Credit Controller
,Credit Days,Credit Days
,Credit Limit,Credit Limit
,Credit Note,Credit Note
,Credit To,Credit To
,Cross Listing of Item in multiple groups,Cross Listing of Item in multiple groups
,Currency,Currency
,Currency Exchange,Currency Exchange
,Currency Name,Currency Name
,Currency Settings,Currency Settings
,Currency and Price List,Currency and Price List
,Currency exchange rate master.,Currency exchange rate master.
,Current Address,Current Address
,Current Address Is,Current Address Is
,Current Assets,Veltufjármunir
,Current BOM,Current BOM
,Current BOM and New BOM can not be same,Current BOM and New BOM can not be same
,Current Fiscal Year,Current Fiscal Year
,Current Liabilities,Skammtímaskuldir
,Current Stock,Núverandi birgðir
,Current Stock UOM,Current Stock UOM
,Current Value,Current Value
,Custom,Custom
,Custom Autoreply Message,Custom Autoreply Message
,Custom Message,Custom Message
,Customer,Viðskiptavinur
,Customer (Receivable) Account,Viðskiptavinur (kröfu) reikningur
,Customer / Item Name,Viðskiptavinur / Nafn hlutar
,Customer / Lead Address,Viðskiptavinur / Heimilisfang ábendingar
,Customer / Lead Name,Viðskiptavinur / Nafn ábendingar
,Customer > Customer Group > Territory,Viðskiptavinur > Viðskiptavinaflokkur > Svæði
,Customer Account,Viðskiptareikningur
,Customer Account Head,Customer Account Head
,Customer Acquisition and Loyalty,Customer Acquisition and Loyalty
,Customer Address,Customer Address
,Customer Addresses And Contacts,Customer Addresses And Contacts
,Customer Addresses and Contacts,Customer Addresses and Contacts
,Customer Code,Customer Code
,Customer Codes,Customer Codes
,Customer Details,Customer Details
,Customer Feedback,Customer Feedback
,Customer Group,Customer Group
,Customer Group / Customer,Customer Group / Customer
,Customer Group Name,Customer Group Name
,Customer Id,Customer Id
,Customer Intro,Customer Intro
,Customer Issue,Customer Issue
,Customer Issue against Serial No.,Customer Issue against Serial No.
,Customer Name,Customer Name
,Customer Naming By,Customer Naming By
,Customer Service,Customer Service
,Customer database.,Customer database.
,Customer is required,Customer is required
,Customer master.,Customer master.
,Customer required for 'Customerwise Discount',Customer required for 'Customerwise Discount'
,Customer {0} does not belong to project {1},Customer {0} does not belong to project {1}
,Customer {0} does not exist,Customer {0} does not exist
,Customer's Item Code,Customer's Item Code
,Customer's Purchase Order Date,Customer's Purchase Order Date
,Customer's Purchase Order No,Customer's Purchase Order No
,Customer's Purchase Order Number,Customer's Purchase Order Number
,Customer's Vendor,Customer's Vendor
,Customers Not Buying Since Long Time,Customers Not Buying Since Long Time
,Customers Not Buying Since Long Time ,Customers Not Buying Since Long Time 
,Customerwise Discount,Customerwise Discount
,Customize, Sérsníða
,Customize the Notification,Sérsníða tilkynninguna
,Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,Aðlaga inngangs texta sem fer sem hluti af tölvupóstinum. Hver viðskipti eru með sérstakan inngangs texta.
,DN Detail,DN Detail
,Daily,Daglega
,Daily Time Log Summary,Daily Time Log Summary
,Database Folder ID,Database Folder ID
,Database of potential customers.,Database of potential customers.
,Date,Dagsetning
,Date Format,Dagsetningarsnið
,Date Of Retirement,Dagsetning starfsloka
,Date Of Retirement must be greater than Date of Joining,Dagsetning starfsloka verður að vera nýrri en dagsetning skráningar
,Date is repeated,Dagsetningin er endurtekin
,Date of Birth,Fæðingardagur
,Date of Issue,Date of Issue
,Date of Joining,Dagsetning skráningar
,Date of Joining must be greater than Date of Birth,Dagsetning skráningar verður að vera nýrri en fæðingardagur
,Date on which lorry started from supplier warehouse,Þann dag sem vöruflutningabifreið byrjaði frá vörugeymslu birgja
,Date on which lorry started from your warehouse,Þann dag sem vöruflutningabifreið byrjaði frá eigin vörugeymslu
,Dates,Dagsetningar
,Days Since Last Order,Dagar frá síðustu pöntun
,Days for which Holidays are blocked for this department.,Dagar sem frídagar eru lokaðir fyrir þessa deild.
,Dealer,Söluaðili
,Debit,Debet
,Debit Amt,Debet upphæð
,Debit Note,Debit Note
,Debit To,Debet á
,Debit and Credit not equal for this voucher. Difference is {0}.,Debet og kredit eru ekki jöfn fyrir þetta fylgiskjal. Mismunurinn er {0}.
,Deduct,Draga frá
,Deduction,Frádráttur
,Deduction Type,Gerð frádráttar
,Deduction1,Frádráttur1
,Deductions,Frádrættir
,Default,Sjálfgefið
,Default Account,Sjálfgefinn reikningur
,Default Address Template cannot be deleted,Sjálfgefið heimilisfangasnið er ekki hægt að eyða
,Default Amount,Sjálfgefin upphæð
,Default BOM,Sjálfgefinn efnislisti
,Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,Sjálfgefinn banki / Sjóðreikningur verður sjálfkrafa uppfærður í verslunarkerfi (POS) reikning þegar þessi háttur er valinn.
,Default Bank Account,Sjálfgefinn bankareikningur
,Default Buying Cost Center,Default Buying Cost Center
,Default Buying Price List,Sjálfgefinn innkaupaverðlisti
,Default Cash Account,Sjálfgefinn sjóðreikningur
,Default Company,Sjálfgefið fyrirtæki
,Default Cost Center,Default Cost Center
,Default Currency,Sjálfgefinn gjaldmiðill
,Default Customer Group,Sjálfgefinn viðskiptavinaflokkur
,Default Expense Account,Sjálfgefinn kostnaðarreikningur
,Default Income Account,Sjálfgefinn tekjureikningur
,Default Item Group,Default Item Group
,Default Price List,Sjálfgefinn verðlisti
,Default Purchase Account in which cost of the item will be debited.,Default Purchase Account in which cost of the item will be debited.
,Default Selling Cost Center,Default Selling Cost Center
,Default Settings,Sjálfgefnar stillingar
,Default Source Warehouse,Sjálfgefið uppruna vörugeymslu
,Default Stock UOM,sjálfgefin birgðamælieining
,Default Supplier,Sjálfgefinn birgir
,Default Supplier Type,Sjálfgefin gerð birgja
,Default Target Warehouse,Default Target Warehouse
,Default Territory,Sjálfgefið svæði
,Default Unit of Measure,Sjálfgefin mælieining
,"Default Unit of Measure can not be changed directly because you have already made some transaction(s) with another UOM. To change default UOM, use 'UOM Replace Utility' tool under Stock module.","Default Unit of Measure can not be changed directly because you have already made some transaction(s) with another UOM. To change default UOM, use 'UOM Replace Utility' tool under Stock module."
,Default Valuation Method,Sjálfgefin verðmatsaðferð
,Default Warehouse,Sjálfgefin vörugeymsla
,Default Warehouse is mandatory for stock Item.,Default Warehouse is mandatory for stock Item.
,Default settings for accounting transactions.,Default settings for accounting transactions.
,Default settings for buying transactions.,Default settings for buying transactions.
,Default settings for selling transactions.,Default settings for selling transactions.
,Default settings for stock transactions.,Default settings for stock transactions.
,Defense,Defense
,"Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>","Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>"
,Del,Eyða
,Delete,Eyða
,Delete {0} {1}?,Eyða {0} {1}?
,Delivered,Afhent
,Delivered Amount,Afhent upphæð
,Delivered Items To Be Billed,Afhent atriði til innheimtu
,Delivered Qty,Afhent magn
,Delivered Serial No {0} cannot be deleted,Afhent raðnúmer {0} ekki hægt að eyða
,Delivery Date,Afhendingardagsetning
,Delivery Details,Afhendingarupplýsingar
,Delivery Document No,Nr afhendingarskjals
,Delivery Document Type,Gerð afhendingarskjals
,Delivery Note,Afhendingarseðill
,Delivery Note Item,Atriði á afhendingarseðli
,Delivery Note Items,Atriði á afhendingarseðli
,Delivery Note Message,Skilaboð á afhendingarseðli
,Delivery Note No,Númer afhendingarseðils
,Delivery Note Required,Afhendingarseðils krafist
,Delivery Note Trends,Afhendingarseðilsþróun
,Delivery Note {0} is not submitted,Afheningarseðill {0} er ekki skilað
,Delivery Note {0} must not be submitted,Afhendingarseðill {0} má ekki skila
,Delivery Note/Sales Invoice,Afhedingarseðill/Sölureikningur
,Delivery Notes {0} must be cancelled before cancelling this Sales Order,Afhendingarseðlar {0} verður að fella niður áður en hægt er að fella niður sölupöntunina
,Delivery Status,Afhendingarstaða
,Delivery Time,Afheningartími
,Delivery To,Afhending til
,Department,Deild
,Department Stores,Stórverslanir
,Depends on LWP,Depends on LWP
,Depreciation,Afskriftir
,Description,Lýsing
,Description HTML,HTML lýsing
,Description of a Job Opening,Lýsing á lausu starfi
,Designation,Merking
,Designer,Hönnuður
,Detailed Breakup of the totals,Ítarlegar heildarniðurstöður
,Details,Upplýsingar
,Difference (Dr - Cr),Mismunur (Dr - Cr)
,Difference Account,Difference Account
,"Difference Account must be a 'Liability' type account, since this Stock Reconciliation is an Opening Entry","Difference Account must be a 'Liability' type account, since this Stock Reconciliation is an Opening Entry"
,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.,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.
,Direct Expenses,Beinn kostnaður
,Direct Income,Beinar tekjur
,Disable,Gera óvirkt
,Disable Rounded Total,Gera óvirkt rúnnuð alls
,Disabled,Óvirkur
,Discount,Afsláttur
,Discount  %,Afsláttur  %
,Discount %,Afsláttur %
,Discount (%),Afsláttur (%)
,Discount Amount,Afsláttarupphæð
,"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice"
,Discount Percentage,Afsláttarprósenta
,Discount Percentage can be applied either against a Price List or for all Price List.,Afsláttarprósenta er hægt að nota annaðhvort á verðlista eða fyrir alla verðlista.
,Discount must be less than 100,Afsláttur verður að vera minni en 100
,Discount(%),Afsláttur(%)
,Dispatch,Senda
,Display all the individual items delivered with the main items,Display all the individual items delivered with the main items
,Distinct unit of an Item,Distinct unit of an Item
,Distribution,Dreifing
,Distribution Id,Distribution Id
,Distribution Name,Dreifingarnafn
,Distributor,Dreifingaraðili 
,Divorced,Fráskilinn
,Do Not Contact,Ekki hafa samband
,Do not show any symbol like $ etc next to currencies.,Ekki sýna tákn eins og $ o. s. frv. við hliðina á gjaldmiðlum.
,Do really want to unstop production order: ,Do really want to unstop production order: 
,Do you really want to STOP ,Viltu örugglega hætta 
,Do you really want to STOP this Material Request?,Do you really want to STOP this Material Request?
,Do you really want to Submit all Salary Slip for month {0} and year {1},Do you really want to Submit all Salary Slip for month {0} and year {1}
,Do you really want to UNSTOP ,Do you really want to UNSTOP 
,Do you really want to UNSTOP this Material Request?,Do you really want to UNSTOP this Material Request?
,Do you really want to stop production order: ,Viltu hætta við framleiðslu pöntun: 
,Doc Name,Nafn skjals
,Doc Type,Gerð skjals
,Document Description,Lýsing á skjali
,Document Type,Skjalagerð
,Documents,Skjöl
,Domain,Domain
,Don't send Employee Birthday Reminders,Don't send Employee Birthday Reminders
,Download Materials Required,Download Materials Required
,Download Reconcilation Data,Download Reconcilation Data
,Download Template,Sækja snið
,Download a report containing all raw materials with their latest inventory status,Download a report containing all raw materials with their latest inventory status
,"Download the Template, fill appropriate data and attach the modified file.","Download the Template, fill appropriate data and attach the modified file."
,"Download the Template, fill appropriate data and attach the modified file.All dates and employee combination in the selected period will come in the template, with existing attendance records","Download the Template, fill appropriate data and attach the modified file.All dates and employee combination in the selected period will come in the template, with existing attendance records"
,Dr,Dr
,Draft,Draft
,Dropbox,Dropbox
,Dropbox Access Allowed,Dropbox Access Allowed
,Dropbox Access Key,Dropbox Access Key
,Dropbox Access Secret,Dropbox Access Secret
,Due Date,Due Date
,Due Date cannot be after {0},Due Date cannot be after {0}
,Due Date cannot be before Posting Date,Due Date cannot be before Posting Date
,Duplicate Entry. Please check Authorization Rule {0},Duplicate Entry. Please check Authorization Rule {0}
,Duplicate Serial No entered for Item {0},Duplicate Serial No entered for Item {0}
,Duplicate entry,Duplicate entry
,Duplicate row {0} with same {1},Duplicate row {0} with same {1}
,Duties and Taxes,Virðisaukaskattur
,ERPNext Setup,ERPNext uppsetning
,Earliest,Earliest
,Earnest Money,Fyrirframgreiðslur
,Earning,Earning
,Earning & Deduction,Earning & Deduction
,Earning Type,Earning Type
,Earning1,Earning1
,Edit,Breyta
,Edu. Cess on Excise,Edu. Cess on Excise
,Edu. Cess on Service Tax,Edu. Cess on Service Tax
,Edu. Cess on TDS,Edu. Cess on TDS
,Education,Menntun
,Educational Qualification,Menntun og hæfi
,Educational Qualification Details,Menntun og hæfisupplýsingar
,Eg. smsgateway.com/api/send_sms.cgi,Eg. smsgateway.com/api/send_sms.cgi
,Either debit or credit amount is required for {0},Either debit or credit amount is required for {0}
,Either target qty or target amount is mandatory,Either target qty or target amount is mandatory
,Either target qty or target amount is mandatory.,Either target qty or target amount is mandatory.
,Electrical,Electrical
,Electricity Cost,Electricity Cost
,Electricity cost per hour,Electricity cost per hour
,Electronics,Electronics
,Email,Tölvupóstur
,Email Digest,Samantekt tölvupósts
,Email Digest Settings,Stillingar samantekt tölvupósts
,Email Digest: ,Samantekt tölvupósts: 
,Email Id,Netfang
,"Email Id where a job applicant will email e.g. ""jobs@example.com""","Netfang þar sem atvinnu umsækjandi sendir tölvupóst t.d. ""jobs@example.com"""
,Email Notifications,Tölvupósts tilkynningar
,Email Sent?,Tölvupóstur sendur?
,Email Settings for Outgoing and Incoming Emails.,Tölvupósts stillingar fyrir sendan og móttekin tölvupóst.
,"Email id must be unique, already exists for {0}","Netfang verður að vera einstakt, þegar til fyrir {0}"
,Email ids separated by commas.,Netföng aðskilin með kommu.
,"Email settings for jobs email id ""jobs@example.com""","Email settings for jobs email id ""jobs@example.com"""
,"Email settings to extract Leads from sales email id e.g. ""sales@example.com""","Email settings to extract Leads from sales email id e.g. ""sales@example.com"""
,Emergency Contact,Neyðartengiliður
,Emergency Contact Details,Upplýsingar um neyðartengilið
,Emergency Phone,Neyðarsímanúmer
,Employee,Starfsmaður
,Employee Birthday,Afmælisdagur starfsmanns
,Employee Details,Upplýsingar um starfsmann
,Employee Education,Starfsmenntun
,Employee External Work History,Employee External Work History
,Employee Information,Upplýsingar um starfsmann
,Employee Internal Work History,Employee Internal Work History
,Employee Internal Work Historys,Employee Internal Work Historys
,Employee Leave Approver,Employee Leave Approver
,Employee Leave Balance,Employee Leave Balance
,Employee Name,Nafn starfsmanns
,Employee Number,Númer starfsmanns
,Employee Records to be created by,Employee Records to be created by
,Employee Settings,Stillingar starfsmanns
,Employee Type,Gerð starfsmanns
,Employee can not be changed,Ekki hægt að breyta starfsmanni
,"Employee designation (e.g. CEO, Director etc.).","Employee designation (e.g. CEO, Director etc.)."
,Employee master.,Employee master.
,Employee record is created using selected field. ,Employee record is created using selected field. 
,Employee records.,Stafsmannafærslur.
,Employee relieved on {0} must be set as 'Left',Employee relieved on {0} must be set as 'Left'
,Employee {0} has already applied for {1} between {2} and {3},Employee {0} has already applied for {1} between {2} and {3}
,Employee {0} is not active or does not exist,Employee {0} is not active or does not exist
,Employee {0} was on leave on {1}. Cannot mark attendance.,Employee {0} was on leave on {1}. Cannot mark attendance.
,Employees Email Id,Employees Email Id
,Employment Details,Employment Details
,Employment Type,Employment Type
,Enable / disable currencies.,Enable / disable currencies.
,Enabled,Enabled
,Encashment Date,Encashment Date
,End Date,End Date
,End Date can not be less than Start Date,End Date can not be less than Start Date
,End date of current invoice's period,End date of current invoice's period
,End date of current order's period,End date of current order's period
,End of Life,End of Life
,Energy,Energy
,Engineer,Engineer
,Enter Verification Code,Enter Verification Code
,Enter campaign name if the source of lead is campaign.,Enter campaign name if the source of lead is campaign.
,Enter department to which this Contact belongs,Enter department to which this Contact belongs
,Enter designation of this Contact,Enter designation of this Contact
,"Enter email id separated by commas, invoice will be mailed automatically on particular date","Enter email id separated by commas, invoice will be mailed automatically on particular date"
,"Enter email id separated by commas, order will be mailed automatically on particular date","Enter email id separated by commas, order will be mailed automatically on particular date"
,Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.,Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.
,Enter name of campaign if source of enquiry is campaign,Enter name of campaign if source of enquiry is campaign
,"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)"
,Enter the company name under which Account Head will be created for this Supplier,Enter the company name under which Account Head will be created for this Supplier
,Enter url parameter for message,Enter url parameter for message
,Enter url parameter for receiver nos,Enter url parameter for receiver nos
,Entertainment & Leisure,Entertainment & Leisure
,Entertainment Expenses,Risna
,Entries,Entries
,Entries against ,Entries against 
,Entries are not allowed against this Fiscal Year if the year is closed.,Entries are not allowed against this Fiscal Year if the year is closed.
,Equity,Eigið fé
,Error: {0} > {1},Error: {0} > {1}
,Estimated Material Cost,Estimated Material Cost
,"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:"
,Everyone can read,Everyone can read
,"Example: ABCD.#####If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Example: ABCD.#####If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank."
,Exchange Rate,Exchange Rate
,Excise Duty 10,Excise Duty 10
,Excise Duty 14,Excise Duty 14
,Excise Duty 4,Excise Duty 4
,Excise Duty 8,Excise Duty 8
,Excise Duty @ 10,Excise Duty @ 10
,Excise Duty @ 14,Excise Duty @ 14
,Excise Duty @ 4,Excise Duty @ 4
,Excise Duty @ 8,Excise Duty @ 8
,Excise Duty Edu Cess 2,Excise Duty Edu Cess 2
,Excise Duty SHE Cess 1,Excise Duty SHE Cess 1
,Excise Page Number,Excise Page Number
,Excise Voucher,Excise Voucher
,Execution,Execution
,Executive Search,Executive Search
,Exhibition,Exhibition
,Existing Customer,Existing Customer
,Exit,Exit
,Exit Interview Details,Exit Interview Details
,Expected,Expected
,Expected Completion Date can not be less than Project Start Date,Expected Completion Date can not be less than Project Start Date
,Expected Date cannot be before Material Request Date,Expected Date cannot be before Material Request Date
,Expected Delivery Date,Expected Delivery Date
,Expected Delivery Date cannot be before Purchase Order Date,Expected Delivery Date cannot be before Purchase Order Date
,Expected Delivery Date cannot be before Sales Order Date,Expected Delivery Date cannot be before Sales Order Date
,Expected End Date,Expected End Date
,Expected Start Date,Expected Start Date
,Expected balance as per bank,Expected balance as per bank
,Expense,Kostnaður
,Expense / Difference account ({0}) must be a 'Profit or Loss' account,Expense / Difference account ({0}) must be a 'Profit or Loss' account
,Expense Account,Expense Account
,Expense Account is mandatory,Expense Account is mandatory
,Expense Approver,Expense Approver
,Expense Claim,Expense Claim
,Expense Claim Approved,Expense Claim Approved
,Expense Claim Approved Message,Expense Claim Approved Message
,Expense Claim Detail,Expense Claim Detail
,Expense Claim Details,Expense Claim Details
,Expense Claim Rejected,Expense Claim Rejected
,Expense Claim Rejected Message,Expense Claim Rejected Message
,Expense Claim Type,Expense Claim Type
,Expense Claim has been approved.,Expense Claim has been approved.
,Expense Claim has been rejected.,Expense Claim has been rejected.
,Expense Claim is pending approval. Only the Expense Approver can update status.,Expense Claim is pending approval. Only the Expense Approver can update status.
,Expense Date,Expense Date
,Expense Details,Expense Details
,Expense Head,Expense Head
,Expense account is mandatory for item {0},Expense account is mandatory for item {0}
,Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,Expense or Difference account is mandatory for Item {0} as it impacts overall stock value
,Expenses,Rekstrargjöld
,Expenses Booked,Bókfærð rekstrargjöld
,Expenses Included In Valuation,Kostnaður við birgðamat
,Expenses booked for the digest period,Expenses booked for the digest period
,Expired,Expired
,Expiry,Expiry
,Expiry Date,Expiry Date
,Exports,Exports
,External,External
,Extract Emails,Extract Emails
,FCFS Rate,FCFS Rate
,Failed: ,Failed: 
,Family Background,Family Background
,Fax,Fax
,Features Setup,Features Setup
,Feed,Feed
,Feed Type,Feed Type
,Feedback,Feedback
,Female,Female
,Fetch exploded BOM (including sub-assemblies),Fetch exploded BOM (including sub-assemblies)
,"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order","Field available in Delivery Note, Quotation, Sales Invoice, Sales Order"
,Files Folder ID,Files Folder ID
,Fill the form and save it,Fill the form and save it
,Filter based on customer,Filter based on customer
,Filter based on item,Filter based on item
,Financial / accounting year.,Financial / accounting year.
,Financial Analytics,Fjárhagsgreiningar
,Financial Chart of Accounts. Imported from file.,Financial Chart of Accounts. Imported from file.
,Financial Services,Financial Services
,Financial Year End Date,Financial Year End Date
,Financial Year Start Date,Financial Year Start Date
,Finished Goods,Fullunnar vörur
,First Name,First Name
,First Responded On,First Responded On
,Fiscal Year,Fiscal Year
,Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0}
,Fiscal Year Start Date and Fiscal Year End Date cannot be more than a year apart.,Fiscal Year Start Date and Fiscal Year End Date cannot be more than a year apart.
,Fiscal Year Start Date should not be greater than Fiscal Year End Date,Fiscal Year Start Date should not be greater than Fiscal Year End Date
,Fiscal Year {0} not found.,Fiscal Year {0} not found.
,Fixed Asset,Fastafjármunir
,Fixed Assets,Fastafjármunir
,Fixed Cycle Cost,Fixed Cycle Cost
,Fold,Fold
,Follow via Email,Follow via Email
,"Following table will show values if items are sub - contracted. These values will be fetched from the master of ""Bill of Materials"" of sub - contracted items.","Following table will show values if items are sub - contracted. These values will be fetched from the master of ""Bill of Materials"" of sub - contracted items."
,Food,Food
,"Food, Beverage & Tobacco","Food, Beverage & Tobacco"
,"For 'Sales BOM' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Sales BOM' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","For 'Sales BOM' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Sales BOM' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table."
,For Company,For Company
,For Employee,For Employee
,For Employee Name,For Employee Name
,For Price List,For Price List
,For Production,For Production
,For Reference Only.,For Reference Only.
,For Sales Invoice,For Sales Invoice
,For Server Side Print Formats,For Server Side Print Formats
,For Supplier,For Supplier
,For Warehouse,For Warehouse
,For Warehouse is required before Submit,For Warehouse is required before Submit
,"For e.g. 2012, 2012-13","For e.g. 2012, 2012-13"
,For reference,For reference
,For reference only.,For reference only.
,"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes"
,"For {0}, only credit entries can be linked against another debit entry","For {0}, only credit entries can be linked against another debit entry"
,"For {0}, only debit entries can be linked against another credit entry","For {0}, only debit entries can be linked against another credit entry"
,Fraction,Fraction
,Fraction Units,Fraction Units
,Freeze Stock Entries,Freeze Stock Entries
,Freeze Stocks Older Than [Days],Freeze Stocks Older Than [Days]
,Freight and Forwarding Charges,Burðargjöld
,Friday,Föstudagur
,From,Frá
,From Bill of Materials,From Bill of Materials
,From Company,From Company
,From Currency,From Currency
,From Currency and To Currency cannot be same,From Currency and To Currency cannot be same
,From Customer,From Customer
,From Customer Issue,From Customer Issue
,From Date,Upphafsdagur
,From Date cannot be greater than To Date,Upphfsdagur verður að vera nýrri en lokadagur
,From Date must be before To Date,From Date must be before To Date
,From Date should be within the Fiscal Year. Assuming From Date = {0},From Date should be within the Fiscal Year. Assuming From Date = {0}
,From Datetime,From Datetime
,From Delivery Note,From Delivery Note
,From Employee,From Employee
,From Lead,From Lead
,From Maintenance Schedule,From Maintenance Schedule
,From Material Request,From Material Request
,From Opportunity,From Opportunity
,From Package No.,From Package No.
,From Purchase Order,From Purchase Order
,From Purchase Receipt,From Purchase Receipt
,From Quotation,From Quotation
,From Sales Order,From Sales Order
,From Supplier Quotation,From Supplier Quotation
,From Time,From Time
,From Value,From Value
,From and To dates required,From and To dates required
,From value must be less than to value in row {0},From value must be less than to value in row {0}
,Frozen,Frozen
,Frozen Accounts Modifier,Frozen Accounts Modifier
,Fulfilled,Fulfilled
,Full Name,Full Name
,Full-time,Full-time
,Fully Billed,Fully Billed
,Fully Completed,Fully Completed
,Fully Delivered,Fully Delivered
,Furniture and Fixture,Skrifstofuáhöld
,Further accounts can be made under Groups but entries can be made against Ledger,Further accounts can be made under Groups but entries can be made against Ledger
,"Further accounts can be made under Groups, but entries can be made against Ledger","Further accounts can be made under Groups, but entries can be made against Ledger"
,Further nodes can be only created under 'Group' type nodes,Further nodes can be only created under 'Group' type nodes
,GL Entry,GL Entry
,Gantt Chart,Gantt Chart
,Gantt chart of all tasks.,Gantt chart of all tasks.
,Gender,Gender
,General,General
,General Ledger,Aðalbók
,General Settings,General Settings
,Generate Description HTML,Generate Description HTML
,Generate Material Requests (MRP) and Production Orders.,Generate Material Requests (MRP) and Production Orders.
,Generate Salary Slips,Generate Salary Slips
,Generate Schedule,Generate Schedule
,"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight."
,Generates HTML to include selected image in the description,Generates HTML to include selected image in the description
,Get Advances Paid,Get Advances Paid
,Get Advances Received,Get Advances Received
,Get Current Stock,Get Current Stock
,Get Items,Get Items
,Get Items From Purchase Receipts,Get Items From Purchase Receipts
,Get Items From Sales Orders,Get Items From Sales Orders
,Get Items from BOM,Get Items from BOM
,Get Last Purchase Rate,Get Last Purchase Rate
,Get Outstanding Invoices,Get Outstanding Invoices
,Get Outstanding Vouchers,Get Outstanding Vouchers
,Get Relevant Entries,Get Relevant Entries
,Get Sales Orders,Get Sales Orders
,Get Specification Details,Get Specification Details
,Get Stock and Rate,Get Stock and Rate
,Get Template,Get Template
,Get Terms and Conditions,Get Terms and Conditions
,Get Unreconciled Entries,Get Unreconciled Entries
,Get Weekly Off Dates,Get Weekly Off Dates
,"Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos.","Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos."
,Global Defaults,Global Defaults
,Global POS Setting {0} already created for company {1},Global POS Setting {0} already created for company {1}
,Global Settings,Altækar stillingar
,"Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts and create a new Account Ledger (by clicking on Add Child) of type ""Bank""","Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts and create a new Account Ledger (by clicking on Add Child) of type ""Bank"""
,"Go to the appropriate group (usually Source of Funds > Current Liabilities > Taxes and Duties and create a new Account Ledger (by clicking on Add Child) of type ""Tax"" and do mention the Tax rate.","Go to the appropriate group (usually Source of Funds > Current Liabilities > Taxes and Duties and create a new Account Ledger (by clicking on Add Child) of type ""Tax"" and do mention the Tax rate."
,Goal,Goal
,Goals,Goals
,Goods received from Suppliers.,Goods received from Suppliers.
,Google Drive,Google Drive
,Google Drive Access Allowed,Google Drive Access Allowed
,Government,Government
,Graduate,Graduate
,Grand Total,Grand Total
,Grand Total (Company Currency),Grand Total (Company Currency)
,"Grid ""","Grid """
,Grocery,Grocery
,Gross Margin %,Gross Margin %
,Gross Margin Value,Gross Margin Value
,Gross Pay,Gross Pay
,Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,Gross Pay + Arrear Amount +Encashment Amount - Total Deduction
,Gross Profit,Heildarhagnaður
,Gross Profit %,Heildarhagnaður %
,Gross Profit (%),Heildarhagnaður % (%)
,Gross Weight,Heildarþyngd
,Gross Weight UOM,Heildarþyngd mælieiningar (UOM)
,Group,Group
,Group Node,Group Node
,Group by Account,Flokka eftir reikningi
,Group by Voucher,Flokka eftir fylgiskjali
,Group or Ledger,Group or Ledger
,Groups,Groups
,Guest,Guest
,HR Manager,HR Manager
,HR Settings,HR Settings
,HR User,HR User
,HTML / Banner that will show on the top of product list.,HTML / Banner that will show on the top of product list.
,Half Day,Half Day
,Half Yearly,Half Yearly
,Half-yearly,Half-yearly
,Happy Birthday!,Happy Birthday!
,Hardware,Hardware
,Has Batch No,Has Batch No
,Has Child Node,Has Child Node
,Has Serial No,Has Serial No
,Head of Marketing and Sales,Head of Marketing and Sales
,Header,Header
,Heads (or groups) against which Accounting Entries are made and balances are maintained.,Heads (or groups) against which Accounting Entries are made and balances are maintained.
,Health Care,Health Care
,Health Concerns,Health Concerns
,Health Details,Health Details
,Held On,Held On
,Help HTML,Help HTML
,"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")"
,"Here you can maintain family details like name and occupation of parent, spouse and children","Here you can maintain family details like name and occupation of parent, spouse and children"
,"Here you can maintain height, weight, allergies, medical concerns etc","Here you can maintain height, weight, allergies, medical concerns etc"
,Hide Currency Symbol,Hide Currency Symbol
,High,High
,History In Company,History In Company
,Hold,Hold
,Holiday,Frí
,Holiday List,Listi yfir frí
,Holiday List Name,Nafn á lista yfir frí
,Holiday master.,Holiday master.
,Holidays,Frídagar
,Home,Heim
,Host,Host
,"Host, Email and Password required if emails are to be pulled","Host, Email and Password required if emails are to be pulled"
,Hour,Klukkustund
,Hour Rate,Tímagjald
,Hour Rate Labour,Tímagjald vinna
,Hours,Klukkustundir
,How Pricing Rule is applied?,How Pricing Rule is applied?
,How frequently?,Hversu oft?
,"How should this currency be formatted? If not set, will use system defaults","Hvernig ætti þessi gjaldmiðill að vera sniðinn? Ef ekki sett, mun nota sjálfgefna kerfisstillingu"
,Human Resources,Mannauður
,Identification of the package for the delivery (for print),Identification of the package for the delivery (for print)
,If Income or Expense,If Income or Expense
,If Monthly Budget Exceeded,If Monthly Budget Exceeded
,"If Supplier Part Number exists for given Item, it gets stored here","If Supplier Part Number exists for given Item, it gets stored here"
,If Yearly Budget Exceeded,If Yearly Budget Exceeded
,"If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.","If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material."
,"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day"
,"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","If checked, the tax amount will be considered as already included in the Print Rate / Print Amount"
,If different than customer address,If different than customer address
,"If disable, 'Rounded Total' field will not be visible in any transaction","If disable, 'Rounded Total' field will not be visible in any transaction"
,"If enabled, the system will post accounting entries for inventory automatically.","If enabled, the system will post accounting entries for inventory automatically."
,If more than one package of the same type (for print),If more than one package of the same type (for print)
,"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict."
,"If no change in either Quantity or Valuation Rate, leave the cell blank.","If no change in either Quantity or Valuation Rate, leave the cell blank."
,"If not checked, the list will have to be added to each Department where it has to be applied.","If not checked, the list will have to be added to each Department where it has to be applied."
,"If selected Pricing Rule is made for 'Price', it will overwrite Price List. Pricing Rule price is the final price, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","If selected Pricing Rule is made for 'Price', it will overwrite Price List. Pricing Rule price is the final price, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field."
,"If specified, send the newsletter using this email address","If specified, send the newsletter using this email address"
,"If the account is frozen, entries are allowed to restricted users.","If the account is frozen, entries are allowed to restricted users."
,"If this Account represents a Customer, Supplier or Employee, set it here.","If this Account represents a Customer, Supplier or Employee, set it here."
,"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.","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."
,If you follow Quality Inspection. Enables Item QA Required and QA No in Purchase Receipt,If you follow Quality Inspection. Enables Item QA Required and QA No in Purchase Receipt
,If you have Sales Team and Sale Partners (Channel Partners)  they can be tagged and maintain their contribution in the sales activity,If you have Sales Team and Sale Partners (Channel Partners)  they can be tagged and maintain their contribution in the sales activity
,"If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below.","If you have created a standard template in Purchase Taxes and Charges Master, select one and click on the button below."
,"If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below.","If you have created a standard template in Sales Taxes and Charges Master, select one and click on the button below."
,"If you have long print formats, this feature can be used to split the page to be printed on multiple pages with all headers and footers on each page","If you have long print formats, this feature can be used to split the page to be printed on multiple pages with all headers and footers on each page"
,If you involve in manufacturing activity. Enables Item 'Is Manufactured',If you involve in manufacturing activity. Enables Item 'Is Manufactured'
,Ignore,Ignore
,Ignore Pricing Rule,Ignore Pricing Rule
,Ignored: ,Ignored: 
,Image,Image
,Image View,Image View
,Implementation Partner,Implementation Partner
,Import Attendance,Import Attendance
,Import Failed!,Innsetning mistókst!
,Import Log,Import Log
,Import Successful!,Innsetning tókst!
,Imports,Imports
,In Hours,In Hours
,In Process,In Process
,In Qty,In Qty
,In Stock,In Stock
,In Words,In Words
,In Words (Company Currency),In Words (Company Currency)
,In Words (Export) will be visible once you save the Delivery Note.,In Words (Export) will be visible once you save the Delivery Note.
,In Words will be visible once you save the Delivery Note.,In Words will be visible once you save the Delivery Note.
,In Words will be visible once you save the Purchase Invoice.,In Words will be visible once you save the Purchase Invoice.
,In Words will be visible once you save the Purchase Order.,In Words will be visible once you save the Purchase Order.
,In Words will be visible once you save the Purchase Receipt.,In Words will be visible once you save the Purchase Receipt.
,In Words will be visible once you save the Quotation.,In Words will be visible once you save the Quotation.
,In Words will be visible once you save the Sales Invoice.,In Words will be visible once you save the Sales Invoice.
,In Words will be visible once you save the Sales Order.,In Words will be visible once you save the Sales Order.
,Incentives,Incentives
,Include Reconciled Entries,Include Reconciled Entries
,Include holidays in Total no. of Working Days,Include holidays in Total no. of Working Days
,Income,Tekjur
,Income / Expense,Income / Expense
,Income Account,Income Account
,Income Booked,Income Booked
,Income Tax,Income Tax
,Income Year to Date,Income Year to Date
,Income booked for the digest period,Income booked for the digest period
,Incoming,Incoming
,Incoming Rate,Incoming Rate
,Incoming quality inspection.,Incoming quality inspection.
,Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.
,Incorrect or Inactive BOM {0} for Item {1} at row {2},Incorrect or Inactive BOM {0} for Item {1} at row {2}
,Indicates that the package is a part of this delivery (Only Draft),Indicates that the package is a part of this delivery (Only Draft)
,Indirect Expenses,Annar rekstrarkostnaður
,Indirect Income,Aðrar tekjur
,Individual,Individual
,Industry,Industry
,Industry Type,Industry Type
,Inspected By,Inspected By
,Inspection Criteria,Inspection Criteria
,Inspection Required,Inspection Required
,Inspection Type,Inspection Type
,Installation Date,Installation Date
,Installation Note,Installation Note
,Installation Note Item,Installation Note Item
,Installation Note {0} has already been submitted,Installation Note {0} has already been submitted
,Installation Status,Installation Status
,Installation Time,Installation Time
,Installation date cannot be before delivery date for Item {0},Installation date cannot be before delivery date for Item {0}
,Installation record for a Serial No.,Installation record for a Serial No.
,Installed Qty,Installed Qty
,Instructions,Instructions
,Interested,Interested
,Intern,Intern
,Internal,Internal
,Internet Publishing,Internet Publishing
,Introduction,Introduction
,Invalid Barcode,Invalid Barcode
,Invalid Barcode or Serial No,Invalid Barcode or Serial No
,Invalid Mail Server. Please rectify and try again.,Invalid Mail Server. Please rectify and try again.
,Invalid Master Name,Invalid Master Name
,Invalid User Name or Support Password. Please rectify and try again.,Invalid User Name or Support Password. Please rectify and try again.
,Invalid quantity specified for item {0}. Quantity should be greater than 0.,Invalid quantity specified for item {0}. Quantity should be greater than 0.
,Inventory,Inventory
,Inventory & Support,Inventory & Support
,Investment Banking,Investment Banking
,Investments,Fjárfestingar
,Invoice,Reikningur
,Invoice Date,Dagsetning reiknings
,Invoice Details,Reikningsupplýsingar
,Invoice No,Reikningsnúmer
,Invoice Number,Reikningsnúmer
,Invoice Type,Reikningsgerð
,Invoice/Journal Voucher Details,Invoice/Journal Voucher Details
,Invoiced Amount,Reikningsupphæð
,Invoiced Amount (Exculsive Tax),Reikningsfærð upphæð (án skatts)
,Is Active,Er virkur
,Is Advance,Is Advance
,Is Cancelled,Er frestað
,Is Carry Forward,Is Carry Forward
,Is Default,Er sjálfgefið
,Is Encash,Is Encash
,Is Fixed Asset Item,Er fastafjármuna hlutur
,Is LWP,Is LWP
,Is Opening,Is Opening
,Is Opening Entry,Is Opening Entry
,Is POS,Is POS
,Is Primary Contact,Is Primary Contact
,Is Purchase Item,Is Purchase Item
,Is Recurring,Is Recurring
,Is Sales Item,Is Sales Item
,Is Service Item,Is Service Item
,Is Stock Item,Is Stock Item
,Is Sub Contracted Item,Is Sub Contracted Item
,Is Subcontracted,Is Subcontracted
,Is this Tax included in Basic Rate?,Is this Tax included in Basic Rate?
,Issue,Issue
,Issue Date,Issue Date
,Issue Details,Issue Details
,Issued Items Against Production Order,Issued Items Against Production Order
,It can also be used to create opening stock entries and to fix stock value.,It can also be used to create opening stock entries and to fix stock value.
,Item,Item
,Item #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,Item #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).
,Item Advanced,Item Advanced
,Item Barcode,Item Barcode
,Item Batch Nos,Item Batch Nos
,Item Classification,Item Classification
,Item Code,Item Code
,Item Code > Item Group > Brand,Item Code > Item Group > Brand
,Item Code and Warehouse should already exist.,Item Code and Warehouse should already exist.
,Item Code cannot be changed for Serial No.,Item Code cannot be changed for Serial No.
,Item Code is mandatory because Item is not automatically numbered,Item Code is mandatory because Item is not automatically numbered
,Item Code required at Row No {0},Item Code required at Row No {0}
,Item Customer Detail,Item Customer Detail
,Item Description,Item Description
,Item Desription,Item Desription
,Item Details,Item Details
,Item Group,Item Group
,Item Group Name,Item Group Name
,Item Group Tree,Item Group Tree
,Item Group not mentioned in item master for item {0},Item Group not mentioned in item master for item {0}
,Item Groups in Details,Item Groups in Details
,Item Image (if not slideshow),Item Image (if not slideshow)
,Item Name,Item Name
,Item Naming By,Item Naming By
,Item Price,Item Price
,Item Prices,Item Prices
,Item Quality Inspection Parameter,Item Quality Inspection Parameter
,Item Reorder,Item Reorder
,Item Row {0}: Purchase Receipt {1} does not exist in above 'Purchase Receipts' table,Item Row {0}: Purchase Receipt {1} does not exist in above 'Purchase Receipts' table
,Item Serial No,Item Serial No
,Item Serial Nos,Item Serial Nos
,Item Shortage Report,Item Shortage Report
,Item Supplier,Item Supplier
,Item Supplier Details,Item Supplier Details
,Item Tax,Item Tax
,Item Tax Amount,Item Tax Amount
,Item Tax Rate,Item Tax Rate
,Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable
,Item Tax1,Item Tax1
,Item To Manufacture,Item To Manufacture
,Item UOM,Item UOM
,Item Website Specification,Item Website Specification
,Item Website Specifications,Item Website Specifications
,Item Wise Tax Detail,Item Wise Tax Detail
,Item Wise Tax Detail ,Item Wise Tax Detail 
,Item is required,Item is required
,Item is updated,Item is updated
,Item master.,Item master.
,"Item must be a purchase item, as it is present in one or many Active BOMs","Item must be a purchase item, as it is present in one or many Active BOMs"
,Item must be added using 'Get Items from Purchase Receipts' button,Item must be added using 'Get Items from Purchase Receipts' button
,Item or Warehouse for row {0} does not match Material Request,Item or Warehouse for row {0} does not match Material Request
,Item table can not be blank,Item table can not be blank
,Item to be manufactured or repacked,Item to be manufactured or repacked
,Item valuation rate is recalculated considering landed cost voucher amount,Item valuation rate is recalculated considering landed cost voucher amount
,Item valuation updated,Item valuation updated
,Item will be saved by this name in the data base.,Item will be saved by this name in the data base.
,Item {0} appears multiple times in Price List {1},Item {0} appears multiple times in Price List {1}
,Item {0} does not exist,Item {0} does not exist
,Item {0} does not exist in the system or has expired,Item {0} does not exist in the system or has expired
,Item {0} does not exist in {1} {2},Item {0} does not exist in {1} {2}
,Item {0} has already been returned,Item {0} has already been returned
,Item {0} has been entered multiple times against same operation,Item {0} has been entered multiple times against same operation
,Item {0} has been entered multiple times with same description or date,Item {0} has been entered multiple times with same description or date
,Item {0} has been entered multiple times with same description or date or warehouse,Item {0} has been entered multiple times with same description or date or warehouse
,Item {0} has been entered twice,Item {0} has been entered twice
,Item {0} has reached its end of life on {1},Item {0} has reached its end of life on {1}
,Item {0} ignored since it is not a stock item,Item {0} ignored since it is not a stock item
,Item {0} is cancelled,Item {0} is cancelled
,Item {0} is not Purchase Item,Item {0} is not Purchase Item
,Item {0} is not a serialized Item,Item {0} is not a serialized Item
,Item {0} is not a stock Item,Item {0} is not a stock Item
,Item {0} is not active or end of life has been reached,Item {0} is not active or end of life has been reached
,Item {0} is not setup for Serial Nos. Check Item master,Item {0} is not setup for Serial Nos. Check Item master
,Item {0} is not setup for Serial Nos. Column must be blank,Item {0} is not setup for Serial Nos. Column must be blank
,Item {0} must be Sales Item,Item {0} must be Sales Item
,Item {0} must be Sales or Service Item in {1},Item {0} must be Sales or Service Item in {1}
,Item {0} must be Service Item,Item {0} must be Service Item
,Item {0} must be a Purchase Item,Item {0} must be a Purchase Item
,Item {0} must be a Sales Item,Item {0} must be a Sales Item
,Item {0} must be a Service Item.,Item {0} must be a Service Item.
,Item {0} must be a Sub-contracted Item,Item {0} must be a Sub-contracted Item
,Item {0} must be a stock Item,Item {0} must be a stock Item
,Item {0} must be manufactured or sub-contracted,Item {0} must be manufactured or sub-contracted
,Item {0} not found,Item {0} not found
,Item {0} with Serial No {1} is already installed,Item {0} with Serial No {1} is already installed
,Item {0} with same description entered twice,Item {0} with same description entered twice
,"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected."
,Item-wise Price List Rate,Item-wise Price List Rate
,Item-wise Purchase History,Item-wise Purchase History
,Item-wise Purchase Register,Item-wise Purchase Register
,Item-wise Sales History,Item-wise Sales History
,Item-wise Sales Register,Item-wise Sales Register
,"Item: {0} managed batch-wise, can not be reconciled using \					Stock Reconciliation, instead use Stock Entry","Item: {0} managed batch-wise, can not be reconciled using \					Stock Reconciliation, instead use Stock Entry"
,Item: {0} not found in the system,Item: {0} not found in the system
,Items,Items
,Items To Be Requested,Items To Be Requested
,Items required,Items required
,"Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty","Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty"
,Items which do not exist in Item master can also be entered on customer's request,Items which do not exist in Item master can also be entered on customer's request
,Itemwise Discount,Itemwise Discount
,Itemwise Recommended Reorder Level,Itemwise Recommended Reorder Level
,Job Applicant,Job Applicant
,Job Opening,Job Opening
,Job Profile,Job Profile
,Job Title,Job Title
,"Job profile, qualifications required etc.","Job profile, qualifications required etc."
,Jobs Email Settings,Jobs Email Settings
,Journal Entries,Journal Entries
,Journal Entry,Journal Entry
,Journal Voucher,Journal Voucher
,Journal Voucher Detail,Journal Voucher Detail
,Journal Voucher Detail No,Journal Voucher Detail No
,Journal Voucher {0} does not have account {1} or already matched against other voucher,Journal Voucher {0} does not have account {1} or already matched against other voucher
,"Journal Voucher {0} is linked against Order {1}, hence it must be fetched as advance in Invoice as well.","Journal Voucher {0} is linked against Order {1}, hence it must be fetched as advance in Invoice as well."
,Journal Vouchers {0} are un-linked,Journal Vouchers {0} are un-linked
,"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. "
,Keep a track of communication related to this enquiry which will help for future reference.,Keep a track of communication related to this enquiry which will help for future reference.
,Keep it web friendly 900px (w) by 100px (h),Keep it web friendly 900px (w) by 100px (h)
,Key Performance Area,Key Performance Area
,Key Responsibility Area,Key Responsibility Area
,Kg,Kg
,LR Date,LR Date
,LR No,LR No
,Label,Label
,Landed Cost Help,Landed Cost Help
,Landed Cost Item,Landed Cost Item
,Landed Cost Purchase Receipt,Landed Cost Purchase Receipt
,Landed Cost Taxes and Charges,Landed Cost Taxes and Charges
,Landed Cost Voucher,Landed Cost Voucher
,Landed Cost Voucher Amount,Landed Cost Voucher Amount
,Language,Language
,Last Name,Eftirnafn
,Last Order Amount,Last Order Amount
,Last Purchase Rate,Last Purchase Rate
,Last Sales Order Date,Last Sales Order Date
,Latest,Latest
,Lead,Ábending
,Lead Details,Upplýsingar um ábendingu
,Lead Id,Kenni ábendingar
,Lead Name,Nafn ábendingar
,Lead Owner,Eigandi ábendingar
,Lead Source,Heimild ábendingarinnar
,Lead Status,Staða ábendingarinnar
,Lead Time Date,Afgreiðslutími dagsetning
,Lead Time Days,Afgreiðslutími dagar
,Lead Time days is number of days by which this item is expected in your warehouse. This days is fetched in Material Request when you select this item.,Afgreiðslutími dagar er fjöldi daga þangað til þessi hlutur er væntalegur í vöruhúsið. This days is fetched in Material Request when you select this item.
,Lead Type,Gerð ábendingar
,Lead must be set if Opportunity is made from Lead,Ábending verður að vera stillt ef tækifæri er stofnað frá ábeningu
,Leave Allocation,Leave Allocation
,Leave Allocation Tool,Leave Allocation Tool
,Leave Application,Leave Application
,Leave Approver,Leave Approver
,Leave Approvers,Leave Approvers
,Leave Balance Before Application,Leave Balance Before Application
,Leave Block List,Leave Block List
,Leave Block List Allow,Leave Block List Allow
,Leave Block List Allowed,Leave Block List Allowed
,Leave Block List Date,Leave Block List Date
,Leave Block List Dates,Leave Block List Dates
,Leave Block List Name,Leave Block List Name
,Leave Blocked,Leave Blocked
,Leave Control Panel,Leave Control Panel
,Leave Encashed?,Leave Encashed?
,Leave Encashment Amount,Leave Encashment Amount
,Leave Type,Leave Type
,Leave Type Name,Leave Type Name
,Leave Without Pay,Leave Without Pay
,Leave application has been approved.,Leave application has been approved.
,Leave application has been rejected.,Leave application has been rejected.
,Leave approver must be one of {0},Leave approver must be one of {0}
,Leave blank if considered for all branches,Leave blank if considered for all branches
,Leave blank if considered for all departments,Leave blank if considered for all departments
,Leave blank if considered for all designations,Leave blank if considered for all designations
,Leave blank if considered for all employee types,Leave blank if considered for all employee types
,"Leave can be approved by users with Role, ""Leave Approver""","Leave can be approved by users with Role, ""Leave Approver"""
,Leave of type {0} cannot be longer than {1},Leave of type {0} cannot be longer than {1}
,Leaves Allocated Successfully for {0},Leaves Allocated Successfully for {0}
,Leaves for type {0} already allocated for Employee {1} for Fiscal Year {0},Leaves for type {0} already allocated for Employee {1} for Fiscal Year {0}
,Leaves must be allocated in multiples of 0.5,Leaves must be allocated in multiples of 0.5
,Ledger,Ledger
,Ledgers,Ledgers
,Left,Vinstri
,Legal,Legal
,Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.
,Legal Expenses,Lögfræðikostnaður
,Letter Head,Bréfshaus
,Letter Heads for print templates.,Bréfshaus fyrir sniðmát prentunar.
,Level,Stig
,Lft,Lft
,Liability,Skuld
,Link,Tengill
,List a few of your customers. They could be organizations or individuals.,List a few of your customers. They could be organizations or individuals.
,List a few of your suppliers. They could be organizations or individuals.,List a few of your suppliers. They could be organizations or individuals.
,List items that form the package.,List items that form the package.
,List of users who can edit a particular Note,List of users who can edit a particular Note
,List this Item in multiple groups on the website.,List this Item in multiple groups on the website.
,"List your products or services that you buy or sell. Make sure to check the Item Group, Unit of Measure and other properties when you start.","List your products or services that you buy or sell. Make sure to check the Item Group, Unit of Measure and other properties when you start."
,"List your tax heads (e.g. VAT, Excise; they should have unique names) and their standard rates. This will create a standard template, which you can edit and add more later.","List your tax heads (e.g. VAT, Excise; they should have unique names) and their standard rates. This will create a standard template, which you can edit and add more later."
,Loading...,Hleð inn...
,Loans (Liabilities),Lán (skuldir)
,Loans and Advances (Assets),Fyrirframgreiðslur
,Local,Local
,"Log of Activities performed by users against Tasks that can be used for tracking time, billing.","Log of Activities performed by users against Tasks that can be used for tracking time, billing."
,Login,Innskrá
,Login with your new User ID,Login with your new User ID
,Logo,Logo
,Logo and Letter Heads,Logo and Letter Heads
,Lost,Lost
,Lost Reason,Lost Reason
,Low,Lágt
,Lower Income,Lower Income
,MTN Details,MTN Details
,Main,Main
,Main Reports,Helstu skýrslur
,Maintain Same Rate Throughout Sales Cycle,Maintain Same Rate Throughout Sales Cycle
,Maintain same rate throughout purchase cycle,Maintain same rate throughout purchase cycle
,Maintenance,Viðhald
,Maintenance Date,Viðhalds dagsetning
,Maintenance Details,Viðhaldsupplýsingar
,Maintenance Manager,Viðhaldsstjóri
,Maintenance Schedule,Viðhaldsáætlun
,Maintenance Schedule Detail,Upplýsingar um viðhaldsáætlun
,Maintenance Schedule Item,Atriði viðhaldsáætlunar
,Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Viðhaldsáætlunin er ekki búin til fyrir öll atriðin. Vinsamlegast smelltu á 'Búa til áætlun'
,Maintenance Schedule {0} exists against {0},Viðhaldsáætlun {0} er til staðar gegn {0}
,Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Viðhaldsáætlun {0} verður að fella niður áður en hægt er að fella niður sölupöntunina
,Maintenance Schedules,Viðhaldsáætlanir
,Maintenance Status,Viðhaldsstaða
,Maintenance Time,Viðhaldstími
,Maintenance Type,Viðhaldsgerð
,Maintenance User,Viðhalds notandi
,Maintenance Visit,Viðhalds heimsókn
,Maintenance Visit Purpose,Maintenance Visit Purpose
,Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Maintenance Visit {0} must be cancelled before cancelling this Sales Order
,Maintenance start date can not be before delivery date for Serial No {0},Maintenance start date can not be before delivery date for Serial No {0}
,Major/Optional Subjects,Major/Optional Subjects
,Make ,Búa til 
,Make Accounting Entry For Every Stock Movement,Make Accounting Entry For Every Stock Movement
,Make Bank Voucher,Make Bank Voucher
,Make Credit Note,Make Credit Note
,Make Debit Note,Make Debit Note
,Make Delivery,Make Delivery
,Make Difference Entry,Make Difference Entry
,Make Excise Invoice,Make Excise Invoice
,Make Installation Note,Make Installation Note
,Make Invoice,Make Invoice
,Make Journal Voucher,Make Journal Voucher
,Make Maint. Schedule,Make Maint. Schedule
,Make Maint. Visit,Make Maint. Visit
,Make Maintenance Visit,Make Maintenance Visit
,Make Packing Slip,Make Packing Slip
,Make Payment,Make Payment
,Make Payment Entry,Make Payment Entry
,Make Purchase Invoice,Make Purchase Invoice
,Make Purchase Order,Make Purchase Order
,Make Purchase Receipt,Make Purchase Receipt
,Make Salary Slip,Make Salary Slip
,Make Salary Structure,Make Salary Structure
,Make Sales Invoice,Make Sales Invoice
,Make Sales Order,Make Sales Order
,Make Supplier Quotation,Make Supplier Quotation
,Make Time Log Batch,Make Time Log Batch
,Make new POS Setting,Make new POS Setting
,Male,Karl
,Manage Customer Group Tree.,Manage Customer Group Tree.
,Manage Sales Partners.,Manage Sales Partners.
,Manage Sales Person Tree.,Manage Sales Person Tree.
,Manage Territory Tree.,Manage Territory Tree.
,Manage cost of operations,Manage cost of operations
,Management,Management
,Manager,Manager
,"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.","Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order."
,Manufacture,Manufacture
,Manufacture against Sales Order,Manufacture against Sales Order
,Manufactured Item,Manufactured Item
,Manufactured Qty,Manufactured Qty
,Manufactured quantity will be updated in this warehouse,Manufactured quantity will be updated in this warehouse
,Manufactured quantity {0} cannot be greater than planned quanitity {1} in Production Order {2},Manufactured quantity {0} cannot be greater than planned quanitity {1} in Production Order {2}
,Manufacturer,Manufacturer
,Manufacturer Part Number,Manufacturer Part Number
,Manufacturing,Framleiðsla
,Manufacturing Manager,Manufacturing Manager
,Manufacturing Quantity,Manufacturing Quantity
,Manufacturing Quantity is mandatory,Manufacturing Quantity is mandatory
,Manufacturing User,Manufacturing User
,Margin,Margin
,Marital Status,Marital Status
,Market Segment,Market Segment
,Marketing,Marketing
,Marketing Expenses,Markaðskostnaður
,Married,Married
,Mass Mailing,Mass Mailing
,Master Name,Master Name
,Master Name is mandatory if account type is Warehouse,Master Name is mandatory if account type is Warehouse
,Master Type,Master Type
,Masters,Masters
,Match non-linked Invoices and Payments.,Match non-linked Invoices and Payments.
,Material Issue,Material Issue
,Material Manager,Material Manager
,Material Master Manager,Material Master Manager
,Material Receipt,Material Receipt
,Material Request,Material Request
,Material Request Detail No,Material Request Detail No
,Material Request For Warehouse,Material Request For Warehouse
,Material Request Item,Material Request Item
,Material Request Items,Material Request Items
,Material Request No,Material Request No
,Material Request Type,Material Request Type
,Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Material Request of maximum {0} can be made for Item {1} against Sales Order {2}
,Material Request used to make this Stock Entry,Material Request used to make this Stock Entry
,Material Request {0} is cancelled or stopped,Material Request {0} is cancelled or stopped
,Material Requests for which Supplier Quotations are not created,Material Requests for which Supplier Quotations are not created
,Material Requests {0} created,Material Requests {0} created
,Material Requirement,Material Requirement
,Material Transfer,Material Transfer
,Material User,Material User
,Materials,Materials
,Materials Required (Exploded),Materials Required (Exploded)
,Max 5 characters,Max 5 characters
,Max Days Leave Allowed,Max Days Leave Allowed
,Max Discount (%),Max Discount (%)
,Max Qty,Max Qty
,Max discount allowed for item: {0} is {1}%,Max discount allowed for item: {0} is {1}%
,Maximum Amount,Maximum Amount
,Maximum {0} rows allowed,Maximum {0} rows allowed
,Maxiumm discount for Item {0} is {1}%,Maxiumm discount for Item {0} is {1}%
,Medical,Medical
,Medium,Medium
,"Merging is only possible if following properties are same in both records. Group or Ledger, Root Type, Company","Merging is only possible if following properties are same in both records. Group or Ledger, Root Type, Company"
,Message,Skilaboð
,Message Parameter,Færibreyta skilaboða
,Message Sent,Skilaboð send
,Message updated,Skilaboð uppfærð
,Messages,Skilaboð
,Messages greater than 160 characters will be split into multiple messages,Skilaboðum með meira en 160 stöfum verður skipt upp í mörg skilaboð
,Middle Income,Millitekjur
,Milestone,Áfangi
,Milestone Date,Dagsetning áfanga
,Milestones,Áfangar
,Milestones will be added as Events in the Calendar,Áföngum verður bætt við atburði í dagatalinu
,Min Order Qty,Lágmarks magn pöntunar
,Min Qty,Lágmarks magn
,Min Qty can not be greater than Max Qty,Lágmarks magn getur ekki verið meira en hámarks magn
,Minimum Amount,Lágmarksfjárhæð
,Minimum Inventory Level,Lágmarks birgðastaða
,Minimum Order Qty,Lágmarks magn pöntunar
,Minute,Mínúta
,Misc Details,Ýmsar upplýsingar
,Miscellaneous Expenses,Ýmis gjöld
,Miscelleneous,Ýmislegt
,Mobile No,Farsímanúmer
,Mobile No.,Farsímanúmer.
,Mode of Payment,Greiðsluháttur
,Modern,Nýtískulegur
,Monday,Mánudagur
,Month,Mánuður
,Monthly,Mánaðarlega
,Monthly Attendance Sheet,Mánaðarlegt mætingarblað
,Monthly Earning & Deduction,Mánaðarlegar tekjur & frádráttur
,Monthly Salary Register,Mánaðarleg launaskrá
,Monthly salary statement.,Mánaðarlegt launayfirlit.
,More Details,Nánari upplýsingar
,More Info,Nánari upplýsingar
,Motion Picture & Video,Kvikmynd & myndband
,Moving Average,Hlaupandi meðaltal
,Moving Average Rate,Hraði hlaupandi meðaltals
,Mr,Mr
,Ms,Ms
,Multiple Item prices.,Multiple Item prices.
,"Multiple Price Rule exists with same criteria, please resolve \			conflict by assigning priority. Price Rules: {0}","Multiple Price Rule exists with same criteria, please resolve \			conflict by assigning priority. Verð reglur: {0}"
,Music,Tónlist
,Must be Whole Number,Verður að vera heil tala
,Name,Nafn
,Name and Description,Nafn og lýsing
,Name and Employee ID,Nafn og starfsmanna kenni
,"Name of new Account. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master","Nafn á nýja reikningnum. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master"
,Name of person or organization that this address belongs to.,Name of person or organization that this address belongs to.
,Name of the Budget Distribution,Name of the Budget Distribution
,Naming Series,Naming Series
,Negative Quantity is not allowed,Neikvætt magn er ekki leyft
,Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5}
,Negative Valuation Rate is not allowed,Negative Valuation Rate is not allowed
,Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4}
,Net Pay,Net Pay
,Net Pay (in words) will be visible once you save the Salary Slip.,Net Pay (in words) will be visible once you save the Salary Slip.
,Net Profit / Loss,Net Profit / Loss
,Net Total,Net Total
,Net Total (Company Currency),Net Total (Company Currency)
,Net Weight,Nettó þyngd
,Net Weight UOM,Net Weight UOM
,Net Weight of each Item,Net Weight of each Item
,Net pay cannot be negative,Net pay cannot be negative
,Never,Aldrei
,New Account,Nýr reikningur
,New Account Name,Nýtt reikningsnafn
,New BOM,New BOM
,New Communications,Ný samskipti
,New Company,Nýtt fyrirtæki
,New Cost Center,New Cost Center
,New Cost Center Name,New Cost Center Name
,New Customer Revenue,New Customer Revenue
,New Customers,New Customers
,New Delivery Notes,New Delivery Notes
,New Enquiries,Nýjar fyrirspurnir
,New Leads,New Leads
,New Leave Application,New Leave Application
,New Leaves Allocated,New Leaves Allocated
,New Leaves Allocated (In Days),New Leaves Allocated (In Days)
,New Material Requests,New Material Requests
,New Projects,Ný verkefni
,New Purchase Orders,New Purchase Orders
,New Purchase Receipts,New Purchase Receipts
,New Quotations,New Quotations
,New Sales Orders,New Sales Orders
,New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt
,New Stock Entries,New Stock Entries
,New Stock UOM,New Stock UOM
,New Stock UOM is required,New Stock UOM is required
,New Stock UOM must be different from current stock UOM,New Stock UOM must be different from current stock UOM
,New Supplier Quotations,New Supplier Quotations
,New Support Tickets,New Support Tickets
,New UOM must NOT be of type Whole Number,New UOM must NOT be of type Whole Number
,New Workplace,New Workplace
,New {0},New {0}
,New {0} Name,New {0} Name
,New {0}: #{1},New {0}: #{1}
,Newsletter,Fréttabréf
,Newsletter Content,Innihald fréttabréfs
,Newsletter Status,Staða fréttabréfs
,Newsletter has already been sent,Fréttabréf hefur þegar verið sent
,"Newsletters to contacts, leads.","Newsletters to contacts, leads."
,Newspaper Publishers,Útgefendur dagblaðs
,Next,Næst
,Next Contact By,Next Contact By
,Next Contact Date,Næsti dagur til að hafa samband
,Next Date,Næsti dagur
,Next Recurring {0} will be created on {1},Next Recurring {0} will be created on {1}
,Next email will be sent on:,Næsti tölvupóstur verður sendur á:
,No,Nei
,No Customer Accounts found.,Engir reikningar fyrir viðskiptavin fundust.
,No Customer or Supplier Accounts found,Engir reikningar fyrir viðskiptavin eða birgja fundust
,No Data,Engin gögn
,No Item with Barcode {0},No Item with Barcode {0}
,No Item with Serial No {0},No Item with Serial No {0}
,No Items to pack,No Items to pack
,No Permission,No Permission
,No Production Orders created,No Production Orders created
,No Remarks,Engar athugasemdir
,No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,Engir reikningar fyrir birgja fundust. Supplier Accounts are identified based on 'Master Type' value in account record.
,No Updates For,Engar uppfærslur fyrir
,No accounting entries for the following warehouses,Engar bókhaldsfærslur fyrir eftirfarandi vöruhús
,No addresses created,Engin heimilisföng stofnuð
,No contacts created,Engir tengiliðir stofnaðir
,No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template.,No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template.
,No default BOM exists for Item {0},No default BOM exists for Item {0}
,No description given,Engin lýsing gefin
,No employee found,Enginn starfsmaður fannst
,No employee found!,Enginn starfsmaður fannst!
,No of Requested SMS,Fjöldi umbeðinna smáskilaboða (SMS)
,No of Sent SMS,Fjöldi sendra smáskilaboða ( SMS)
,No of Visits,Fjöldi heimsókna
,No permission,Engin réttindi
,No permission to use Payment Tool,Engin heimild til að nota greiðslu tól
,No record found,Ekkert fannst
,No records found in the Invoice table,No records found in the Invoice table
,No records found in the Payment table,No records found in the Payment table
,No salary slip found for month: ,No salary slip found for month: 
,Non Profit,Non Profit
,Nos,Nos
,Not Active,Not Active
,Not Applicable,Not Applicable
,Not Available,Not Available
,Not Billed,Not Billed
,Not Delivered,Not Delivered
,Not In Stock,Not In Stock
,Not Sent,Not Sent
,Not Set,Not Set
,Not allowed to update stock transactions older than {0},Not allowed to update stock transactions older than {0}
,Not authorized to edit frozen Account {0},Not authorized to edit frozen Account {0}
,Not authroized since {0} exceeds limits,Not authroized since {0} exceeds limits
,Not permitted,Not permitted
,Note,Note
,Note User,Note User
,Note is a free page where users can share documents / notes,Note is a free page where users can share documents / notes
,"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.","Note: Backups and files are not deleted from Dropbox, you will have to delete them manually."
,"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.","Note: Backups and files are not deleted from Google Drive, you will have to delete them manually."
,Note: Due Date exceeds the allowed credit days by {0} day(s),Note: Due Date exceeds the allowed credit days by {0} day(s)
,Note: Email will not be sent to disabled users,Note: Email will not be sent to disabled users
,"Note: If payment is not made against any reference, make Journal Voucher manually.","Note: If payment is not made against any reference, make Journal Voucher manually."
,Note: Item {0} entered multiple times,Note: Item {0} entered multiple times
,Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified
,Note: Reference Date {0} is after invoice due date {1},Note: Reference Date {0} is after invoice due date {1}
,Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0
,Note: There is not enough leave balance for Leave Type {0},Note: There is not enough leave balance for Leave Type {0}
,Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Note: This Cost Center is a Group. Cannot make accounting entries against groups.
,Note: {0},Note: {0}
,Notes,Skýringar
,Notes:,Skýringar:
,Nothing to request,Nothing to request
,Notice (days),Notice (days)
,Notification Control,Notification Control
,Notification Email Address,Notification Email Address
,Notify by Email on creation of automatic Material Request,Notify by Email on creation of automatic Material Request
,Number Format,Number Format
,Number of Order,Number of Order
,Offer Date,Offer Date
,Office,Office
,Office Equipments,Skrifstofuáhöld og tæki
,Office Maintenance Expenses,Viðhald húsnæðis
,Office Rent,Húsaleiga
,Old Parent,Old Parent
,On Net Total,On Net Total
,On Previous Row Amount,On Previous Row Amount
,On Previous Row Total,On Previous Row Total
,Online Auctions,Online Auctions
,Only Leave Applications with status 'Approved' can be submitted,Only Leave Applications with status 'Approved' can be submitted
,"Only Serial Nos with status ""Available"" can be delivered.","Only Serial Nos with status ""Available"" can be delivered."
,Only leaf nodes are allowed in transaction,Only leaf nodes are allowed in transaction
,Only the selected Leave Approver can submit this Leave Application,Only the selected Leave Approver can submit this Leave Application
,Open,Open
,Open Production Orders,Open Production Orders
,Open Tickets,Open Tickets
,Opening (Cr),Opening (Cr)
,Opening (Dr),Opening (Dr)
,Opening Date,Opening Date
,Opening Entry,Opening Entry
,Opening Qty,Opening Qty
,Opening Time,Opening Time
,Opening for a Job.,Opening for a Job.
,Operating Cost,Operating Cost
,Operation Description,Operation Description
,Operation No,Operation No
,Operation Time (mins),Operation Time (mins)
,Operation {0} is repeated in Operations Table,Operation {0} is repeated in Operations Table
,Operation {0} not present in Operations Table,Operation {0} not present in Operations Table
,Operations,Operations
,Opportunity,Opportunity
,Opportunity Date,Opportunity Date
,Opportunity From,Opportunity From
,Opportunity Item,Opportunity Item
,Opportunity Items,Opportunity Items
,Opportunity Lost,Opportunity Lost
,Opportunity Type,Opportunity Type
,Optional. This setting will be used to filter in various transactions.,Optional. This setting will be used to filter in various transactions.
,Order Type,Order Type
,Order Type must be one of {0},Order Type must be one of {0}
,Ordered,Ordered
,Ordered Items To Be Billed,Ordered Items To Be Billed
,Ordered Items To Be Delivered,Ordered Items To Be Delivered
,Ordered Qty,Ordered Qty
,"Ordered Qty: Quantity ordered for purchase, but not received.","Ordered Qty: Quantity ordered for purchase, but not received."
,Ordered Quantity,Ordered Quantity
,Orders released for production.,Orders released for production.
,Organization Name,Organization Name
,Organization Profile,Organization Profile
,Organization branch master.,Organization branch master.
,Organization unit (department) master.,Organization unit (department) master.
,Other,Other
,Other Details,Other Details
,Others,Others
,Out Qty,Out Qty
,Out of AMC,Out of AMC
,Out of Warranty,Out of Warranty
,Outgoing,Outgoing
,Outstanding Amount,Outstanding Amount
,Outstanding for {0} cannot be less than zero ({1}),Outstanding for {0} cannot be less than zero ({1})
,Overdue,Overdue
,Overdue: ,Overdue: 
,Overhead,Overhead
,Overheads,Overheads
,Overlapping conditions found between:,Overlapping conditions found between:
,Overview,Overview
,Owned,Owned
,Owner,Owner
,P L A - Cess Portion,P L A - Cess Portion
,PL or BS,PL or BS
,PO Date,PO Date
,PO No,PO No
,POP3 Mail Server,POP3 Mail Server
,POP3 Mail Settings,POP3 Mail Settings
,POP3 mail server (e.g. pop.gmail.com),POP3 mail server (e.g. pop.gmail.com)
,POP3 server e.g. (pop.gmail.com),POP3 server e.g. (pop.gmail.com)
,POS,Verslunarkerfi
,POS Setting,POS Setting
,POS Setting required to make POS Entry,POS Setting required to make POS Entry
,POS Setting {0} already created for user: {1} and company {2},POS Setting {0} already created for user: {1} and company {2}
,POS View,POS View
,PR Detail,PR Detail
,Package Item Details,Package Item Details
,Package Items,Package Items
,Package Weight Details,Package Weight Details
,Packed Item,Packed Item
,Packed quantity must equal quantity for Item {0} in row {1},Packed quantity must equal quantity for Item {0} in row {1}
,Packing Details,Packing Details
,Packing List,Packing List
,Packing Slip,Packing Slip
,Packing Slip Item,Packing Slip Item
,Packing Slip Items,Packing Slip Items
,Packing Slip(s) cancelled,Packing Slip(s) cancelled
,Page Break,Page Break
,Page Name,Page Name
,Paid,Paid
,Paid Amount,Paid Amount
,Paid amount + Write Off Amount can not be greater than Grand Total,Paid amount + Write Off Amount can not be greater than Grand Total
,Pair,Pair
,Parameter,Parameter
,Parent Account,Parent Account
,Parent Cost Center,Parent Cost Center
,Parent Customer Group,Parent Customer Group
,Parent Detail docname,Parent Detail docname
,Parent Item,Parent Item
,Parent Item Group,Parent Item Group
,Parent Item {0} must be not Stock Item and must be a Sales Item,Parent Item {0} must be not Stock Item and must be a Sales Item
,Parent Party Type,Parent Party Type
,Parent Sales Person,Parent Sales Person
,Parent Territory,Parent Territory
,Parent Website Route,Parent Website Route
,Parenttype,Parenttype
,Part-time,Part-time
,Partially Completed,Partially Completed
,Partly Billed,Partly Billed
,Partly Delivered,Partly Delivered
,Partner Target Detail,Partner Target Detail
,Partner Type,Partner Type
,Partner's Website,Partner's Website
,Party,Party
,Party Account,Party Account
,Party Details,Party Details
,Party Type,Party Type
,Party Type Name,Party Type Name
,Passive,Passive
,Passport Number,Passport Number
,Password,Password
,Pay To / Recd From,Pay To / Recd From
,Payable,Payable
,Payables,Payables
,Payables Group,Payables Group
,Payment Account,Payment Account
,Payment Amount,Payment Amount
,Payment Days,Payment Days
,Payment Due Date,Payment Due Date
,Payment Mode,Payment Mode
,Payment Pending,Payment Pending
,Payment Period Based On Invoice Date,Payment Period Based On Invoice Date
,Payment Received,Payment Received
,Payment Reconciliation,Payment Reconciliation
,Payment Reconciliation Invoice,Payment Reconciliation Invoice
,Payment Reconciliation Invoices,Payment Reconciliation Invoices
,Payment Reconciliation Payment,Payment Reconciliation Payment
,Payment Reconciliation Payments,Payment Reconciliation Payments
,Payment Tool,Payment Tool
,Payment Tool Detail,Payment Tool Detail
,Payment Tool Details,Payment Tool Details
,Payment Type,Payment Type
,Payment against {0} {1} cannot be greater \					than Outstanding Amount {2},Payment against {0} {1} cannot be greater \					than Outstanding Amount {2}
,Payment cannot be made for empty cart,Payment cannot be made for empty cart
,Payment of salary for the month {0} and year {1},Payment of salary for the month {0} and year {1}
,Payments,Payments
,Payments Made,Payments Made
,Payments Received,Payments Received
,Payments made during the digest period,Payments made during the digest period
,Payments received during the digest period,Payments received during the digest period
,Payroll Settings,Payroll Settings
,Pending,Pending
,Pending Amount,Pending Amount
,Pending Items {0} updated,Pending Items {0} updated
,Pending Review,Pending Review
,Pending SO Items For Purchase Request,Pending SO Items For Purchase Request
,Pension Funds,Pension Funds
,Percentage Allocation,Percentage Allocation
,Percentage Allocation should be equal to 100%,Percentage Allocation should be equal to 100%
,Percentage variation in quantity to be allowed while receiving or delivering this item.,Percentage variation in quantity to be allowed while receiving or delivering this item.
,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.,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.
,Performance appraisal.,Performance appraisal.
,Period,Period
,Period Closing Entry,Period Closing Entry
,Period Closing Voucher,Period Closing Voucher
,Period From and Period To dates mandatory for recurring %s,Period From and Period To dates mandatory for recurring %s
,Periodicity,Periodicity
,Permanent Address,Permanent Address
,Permanent Address Is,Permanent Address Is
,Permission,Permission
,Personal,Personal
,Personal Details,Personal Details
,Personal Email,Personal Email
,Pharmaceutical,Pharmaceutical
,Pharmaceuticals,Pharmaceuticals
,Phone,Sími
,Phone No,Phone No
,Piecework,Piecework
,Pincode,Pinn
,Place of Issue,Place of Issue
,Plan for maintenance visits.,Plan for maintenance visits.
,Planned Qty,Planned Qty
,"Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured.","Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured."
,Planned Quantity,Planned Quantity
,Planning,Planning
,Plant,Plant
,Plant and Machinery,"Vélar, áhöld og tæki"
,Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.
,Please Update SMS Settings,Please Update SMS Settings
,Please add expense voucher details,Please add expense voucher details
,Please add to Modes of Payment from Setup.,Please add to Modes of Payment from Setup.
,Please click on 'Generate Schedule',Vinsamlegast smelltu á 'Búa til áætlun'
,Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Please click on 'Generate Schedule' to fetch Serial No added for Item {0}
,Please click on 'Generate Schedule' to get schedule,Please click on 'Generate Schedule' to get schedule
,Please create Customer from Lead {0},Please create Customer from Lead {0}
,Please create Salary Structure for employee {0},Please create Salary Structure for employee {0}
,Please create new account from Chart of Accounts.,Please create new account from Chart of Accounts.
,Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.,Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.
,Please enter 'Expected Delivery Date',Please enter 'Expected Delivery Date'
,Please enter 'Is Subcontracted' as Yes or No,Please enter 'Is Subcontracted' as Yes or No
,Please enter 'Repeat on Day of Month' field value,Please enter 'Repeat on Day of Month' field value
,Please enter Account Receivable/Payable group in company master,Please enter Account Receivable/Payable group in company master
,Please enter Approving Role or Approving User,Please enter Approving Role or Approving User
,Please enter BOM for Item {0} at row {1},Please enter BOM for Item {0} at row {1}
,Please enter Company,Please enter Company
,Please enter Cost Center,Please enter Cost Center
,Please enter Delivery Note No or Sales Invoice No to proceed,Please enter Delivery Note No or Sales Invoice No to proceed
,Please enter Employee Id of this sales parson,Please enter Employee Id of this sales parson
,Please enter Expense Account,Please enter Expense Account
,Please enter Item Code to get batch no,Please enter Item Code to get batch no
,Please enter Item Code.,Please enter Item Code.
,Please enter Item first,Please enter Item first
,Please enter Maintaince Details first,Please enter Maintaince Details first
,Please enter Master Name once the account is created.,Please enter Master Name once the account is created.
,Please enter Payment Amount in atleast one row,Please enter Payment Amount in atleast one row
,Please enter Planned Qty for Item {0} at row {1},Please enter Planned Qty for Item {0} at row {1}
,Please enter Production Item first,Please enter Production Item first
,Please enter Purchase Receipt No to proceed,Please enter Purchase Receipt No to proceed
,Please enter Purchase Receipt first,Please enter Purchase Receipt first
,Please enter Purchase Receipts,Please enter Purchase Receipts
,Please enter Reference date,Please enter Reference date
,Please enter Taxes and Charges,Please enter Taxes and Charges
,Please enter Warehouse for which Material Request will be raised,Please enter Warehouse for which Material Request will be raised
,Please enter Write Off Account,Please enter Write Off Account
,Please enter atleast 1 invoice in the table,Please enter atleast 1 invoice in the table
,Please enter company first,Please enter company first
,Please enter company name first,Please enter company name first
,Please enter default Unit of Measure,Please enter default Unit of Measure
,Please enter default currency in Company Master,Please enter default currency in Company Master
,Please enter email address,Please enter email address
,Please enter item details,Please enter item details
,Please enter message before sending,Please enter message before sending
,Please enter parent account group for warehouse {0},Please enter parent account group for warehouse {0}
,Please enter parent cost center,Please enter parent cost center
,Please enter quantity for Item {0},Please enter quantity for Item {0}
,Please enter relieving date.,Please enter relieving date.
,Please enter sales order in the above table,Please enter sales order in the above table
,Please enter the Against Vouchers manually,Please enter the Against Vouchers manually
,Please enter valid Company Email,Please enter valid Company Email
,Please enter valid Email Id,Please enter valid Email Id
,Please enter valid Personal Email,Please enter valid Personal Email
,Please enter valid mobile nos,Please enter valid mobile nos
,Please find attached {0} #{1},Please find attached {0} #{1}
,Please install dropbox python module,Please install dropbox python module
,Please mention no of visits required,Please mention no of visits required
,Please pull items from Delivery Note,Please pull items from Delivery Note
,Please remove this Invoice {0} from C-Form {1},Please remove this Invoice {0} from C-Form {1}
,Please save the Newsletter before sending,Please save the Newsletter before sending
,Please save the document before generating maintenance schedule,Please save the document before generating maintenance schedule
,Please see attachment,Please see attachment
,"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row"
,Please select Bank Account,Please select Bank Account
,Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year
,Please select Category first,Please select Category first
,Please select Charge Type first,Please select Charge Type first
,Please select Fiscal Year,Please select Fiscal Year
,Please select Group or Ledger value,Please select Group or Ledger value
,Please select Incharge Person's name,Please select Incharge Person's name
,"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM","Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Sales BOM"
,Please select Price List,Please select Price List
,Please select Start Date and End Date for Item {0},Please select Start Date and End Date for Item {0}
,Please select Time Logs.,Please select Time Logs.
,Please select a csv file,Please select a csv file
,Please select a valid csv file with data,Please select a valid csv file with data
,Please select a value for {0} quotation_to {1},Please select a value for {0} quotation_to {1}
,"Please select an ""Image"" first","Please select an ""Image"" first"
,Please select charge type first,Please select charge type first
,Please select company first,Please select company first
,Please select company first.,Please select company first.
,Please select item code,Please select item code
,Please select month and year,Please select month and year
,Please select prefix first,Please select prefix first
,Please select the document type first,Please select the document type first
,Please select weekly off day,Please select weekly off day
,Please select {0},Please select {0}
,Please select {0} first,Please select {0} first
,Please select {0} first.,Please select {0} first.
,Please set Dropbox access keys in your site config,Please set Dropbox access keys in your site config
,Please set Google Drive access keys in {0},Please set Google Drive access keys in {0}
,Please set User ID field in an Employee record to set Employee Role,Please set User ID field in an Employee record to set Employee Role
,Please set default Cash or Bank account in Mode of Payment {0},Please set default Cash or Bank account in Mode of Payment {0}
,Please set default value {0} in Company {0},Please set default value {0} in Company {0}
,Please set {0},Please set {0}
,Please setup Employee Naming System in Human Resource > HR Settings,Please setup Employee Naming System in Human Resource > HR Settings
,Please setup numbering series for Attendance via Setup > Numbering Series,Please setup numbering series for Attendance via Setup > Numbering Series
,Please setup your POS Preferences,Please setup your POS Preferences
,Please setup your chart of accounts before you start Accounting Entries,Vinsamlegast settu upp bókhaldslykilinn áður en þú byrjar að færa bókhaldið
,Please specify,Vinsamlegast tilgreindu
,Please specify Company,Vinsamlegast tilgreindu fyrirtæki
,Please specify Company to proceed,Vinsamlegast tilgreindu fyrirtæki til að halda áfram
,Please specify Default Currency in Company Master and Global Defaults,Please specify Default Currency in Company Master and Global Defaults
,Please specify a,Vinsamlegast tilgreindu
,Please specify a valid 'From Case No.',Please specify a valid 'From Case No.'
,Please specify a valid Row ID for {0} in row {1},Please specify a valid Row ID for {0} in row {1}
,Please specify either Quantity or Valuation Rate or both,Please specify either Quantity or Valuation Rate or both
,Please submit to update Leave Balance.,Please submit to update Leave Balance.
,Plot,Plot
,Point of Sale,Point of Sale
,Point-of-Sale Setting,Point-of-Sale Setting
,Post Graduate,Post Graduate
,Postal,Postal
,Postal Expenses,Burðargjöld
,Posting Date,Bókunardagsetning
,Posting Time,Bókunartími
,Posting date and posting time is mandatory,Bókunardagsetning og tími er skylda
,Posting timestamp must be after {0},Tímastimpill bókunar verður að vera eftir {0}
,Potential Sales Deal,Potential Sales Deal
,Potential opportunities for selling.,Potential opportunities for selling.
,Preferred Billing Address,Preferred Billing Address
,Preferred Shipping Address,Preferred Shipping Address
,Prefix,Prefix
,Present,Present
,Prevdoc DocType,Prevdoc DocType
,Prevdoc Doctype,Prevdoc Doctype
,Preview,Preview
,Previous,Previous
,Previous Work Experience,Previous Work Experience
,Price,Price
,Price / Discount,Price / Discount
,Price List,Price List
,Price List Currency,Price List Currency
,Price List Currency not selected,Price List Currency not selected
,Price List Exchange Rate,Price List Exchange Rate
,Price List Master,Price List Master
,Price List Name,Price List Name
,Price List Rate,Price List Rate
,Price List Rate (Company Currency),Price List Rate (Company Currency)
,Price List master.,Price List master.
,Price List must be applicable for Buying or Selling,Price List must be applicable for Buying or Selling
,Price List not selected,Price List not selected
,Price List {0} is disabled,Price List {0} is disabled
,Price or Discount,Price or Discount
,Pricing Rule,Pricing Rule
,Pricing Rule Help,Pricing Rule Help
,"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand."
,"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria."
,Pricing Rules are further filtered based on quantity.,Pricing Rules are further filtered based on quantity.
,Print Format Style,Print Format Style
,Print Heading,Print Heading
,Print Without Amount,Print Without Amount
,Print and Stationary,Prentun og pappír
,Printing and Branding,Prentun og vörumerki
,Priority,Forgangur
,Private,Einka
,Private Equity,Private Equity
,Privilege Leave,Privilege Leave
,Probation,Probation
,Process Payroll,Process Payroll
,Produced,Produced
,Produced Quantity,Produced Quantity
,Product Enquiry,Product Enquiry
,Production,Production
,Production Order,Production Order
,Production Order status is {0},Production Order status is {0}
,Production Order {0} must be cancelled before cancelling this Sales Order,Production Order {0} must be cancelled before cancelling this Sales Order
,Production Order {0} must be submitted,Production Order {0} must be submitted
,Production Orders,Production Orders
,Production Orders in Progress,Production Orders in Progress
,Production Plan Item,Production Plan Item
,Production Plan Items,Production Plan Items
,Production Plan Sales Order,Production Plan Sales Order
,Production Plan Sales Orders,Production Plan Sales Orders
,Production Planning Tool,Production Planning Tool
,Production order number is mandatory for stock entry purpose manufacture,Production order number is mandatory for stock entry purpose manufacture
,Products,Products
,"Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list.","Products will be sorted by weight-age in default searches. More the weight-age, higher the product will appear in the list."
,Professional Tax,Professional Tax
,Profit and Loss,Rekstur
,Profit and Loss Statement,Rekstrarreikningur
,Project,Project
,Project Costing,Project Costing
,Project Details,Project Details
,Project Id,Project Id
,Project Manager,Project Manager
,Project Milestone,Project Milestone
,Project Milestones,Project Milestones
,Project Name,Project Name
,Project Start Date,Project Start Date
,Project Status,Project Status
,Project Type,Project Type
,Project Value,Project Value
,Project activity / task.,Project activity / task.
,Project master.,Project master.
,Project will get saved and will be searchable with project name given,Project will get saved and will be searchable with project name given
,Project wise Stock Tracking,Project wise Stock Tracking
,Project wise Stock Tracking ,Project wise Stock Tracking 
,Project-wise data is not available for Quotation,Project-wise data is not available for Quotation
,Projected,Projected
,Projected Qty,Projected Qty
,Projects,Verkefni
,Projects & System,Projects & System
,Projects Manager,Projects Manager
,Projects User,Projects User
,Prompt for Email on Submission of,Prompt for Email on Submission of
,Proposal Writing,Proposal Writing
,Provide email id registered in company,Provide email id registered in company
,Provisional Profit / Loss (Credit),Provisional Profit / Loss (Credit)
,Public,Public
,Published on website at: {0},Published on website at: {0}
,Publishing,Publishing
,Pull sales orders (pending to deliver) based on the above criteria,Pull sales orders (pending to deliver) based on the above criteria
,Purchase,Purchase
,Purchase / Manufacture Details,Purchase / Manufacture Details
,Purchase Analytics,Purchase Analytics
,Purchase Common,Purchase Common
,Purchase Details,Purchase Details
,Purchase Discounts,Purchase Discounts
,Purchase Invoice,Purchase Invoice
,Purchase Invoice Advance,Purchase Invoice Advance
,Purchase Invoice Advances,Purchase Invoice Advances
,Purchase Invoice Item,Purchase Invoice Item
,Purchase Invoice Trends,Purchase Invoice Trends
,Purchase Invoice {0} is already submitted,Purchase Invoice {0} is already submitted
,Purchase Item,Purchase Item
,Purchase Manager,Purchase Manager
,Purchase Master Manager,Purchase Master Manager
,Purchase Order,Innkaupapöntun
,Purchase Order Item,Purchase Order Item
,Purchase Order Item No,Purchase Order Item No
,Purchase Order Item Supplied,Purchase Order Item Supplied
,Purchase Order Items,Purchase Order Items
,Purchase Order Items Supplied,Purchase Order Items Supplied
,Purchase Order Items To Be Billed,Purchase Order Items To Be Billed
,Purchase Order Items To Be Received,Purchase Order Items To Be Received
,Purchase Order Message,Purchase Order Message
,Purchase Order Required,Purchase Order Required
,Purchase Order Trends,Purchase Order Trends
,Purchase Order number required for Item {0},Purchase Order number required for Item {0}
,Purchase Order {0} is 'Stopped',Purchase Order {0} is 'Stopped'
,Purchase Order {0} is not submitted,Purchase Order {0} is not submitted
,Purchase Orders given to Suppliers.,Purchase Orders given to Suppliers.
,Purchase Price List,Purchase Price List
,Purchase Receipt,Purchase Receipt
,Purchase Receipt Item,Purchase Receipt Item
,Purchase Receipt Item Supplied,Purchase Receipt Item Supplied
,Purchase Receipt Item Supplieds,Purchase Receipt Item Supplieds
,Purchase Receipt Items,Purchase Receipt Items
,Purchase Receipt Message,Purchase Receipt Message
,Purchase Receipt No,Purchase Receipt No
,Purchase Receipt Required,Purchase Receipt Required
,Purchase Receipt Trends,Purchase Receipt Trends
,Purchase Receipt must be submitted,Purchase Receipt must be submitted
,Purchase Receipt number required for Item {0},Purchase Receipt number required for Item {0}
,Purchase Receipt {0} is not submitted,Purchase Receipt {0} is not submitted
,Purchase Receipts,Purchase Receipts
,Purchase Register,Purchase Register
,Purchase Return,Purchase Return
,Purchase Returned,Purchase Returned
,Purchase Taxes and Charges,Purchase Taxes and Charges
,Purchase Taxes and Charges Master,Purchase Taxes and Charges Master
,Purchase User,Purchase User
,"Purchase rate for item: {0} not found, which is required to book accounting entry (expense). Please mention item price against a buying price list.","Purchase rate for item: {0} not found, which is required to book accounting entry (expense). Please mention item price against a buying price list."
,Purchse Order number required for Item {0},Purchse Order number required for Item {0}
,Purpose,Tilgangur
,Purpose must be one of {0},Tilgangurinn verður að vera einn af {0}
,QA Inspection,Gæðaeftirlit
,Qty,Magn
,Qty Consumed Per Unit,Magn notað per einingu
,Qty To Manufacture,Magn til framleiðslu
,Qty as per Stock UOM,Qty as per Stock UOM
,Qty to Deliver,Magn til afhendingar
,Qty to Order,Magn til að panta
,Qty to Receive,Magn til að taka á móti
,Qty to Transfer,Magn sem á að flytja
,Qualification,Flokkun
,Quality,Gæði
,Quality Inspection,Gæðaeftirlit
,Quality Inspection Parameters,Quality Inspection Parameters
,Quality Inspection Reading,Quality Inspection Reading
,Quality Inspection Readings,Quality Inspection Readings
,Quality Inspection required for Item {0},Quality Inspection required for Item {0}
,Quality Management,Quality Management
,Quality Manager,Quality Manager
,Quantity,Quantity
,Quantity Requested for Purchase,Quantity Requested for Purchase
,Quantity and Rate,Quantity and Rate
,Quantity and Warehouse,Quantity and Warehouse
,Quantity cannot be a fraction in row {0},Quantity cannot be a fraction in row {0}
,Quantity for Item {0} must be less than {1},Quantity for Item {0} must be less than {1}
,Quantity in row {0} ({1}) must be same as manufactured quantity {2},Quantity in row {0} ({1}) must be same as manufactured quantity {2}
,Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Quantity of item obtained after manufacturing / repacking from given quantities of raw materials
,Quantity required for Item {0} in row {1},Quantity required for Item {0} in row {1}
,Quarter,Quarter
,Quarterly,Quarterly
,Quick Help,Flýtihjálp
,Quotation,Kostnaðaráætlun
,Quotation Item,Quotation Item
,Quotation Items,Quotation Items
,Quotation Lost Reason,Quotation Lost Reason
,Quotation Message,Quotation Message
,Quotation To,Quotation To
,Quotation Trends,Quotation Trends
,Quotation {0} is cancelled,Quotation {0} is cancelled
,Quotation {0} not of type {1},Quotation {0} not of type {1}
,Quotations received from Suppliers.,Quotations received from Suppliers.
,Quotes to Leads or Customers.,Quotes to Leads or Customers.
,Raise Material Request when stock reaches re-order level,Raise Material Request when stock reaches re-order level
,Raised By,Raised By
,Raised By (Email),Raised By (Email)
,Random,Random
,Range,Range
,Rate,Rate
,Rate ,Rate 
,Rate (%),Rate (%)
,Rate (Company Currency),Rate (Company Currency)
,Rate Of Materials Based On,Rate Of Materials Based On
,Rate and Amount,Rate and Amount
,Rate at which Customer Currency is converted to customer's base currency,Rate at which Customer Currency is converted to customer's base currency
,Rate at which Price list currency is converted to company's base currency,Rate at which Price list currency is converted to company's base currency
,Rate at which Price list currency is converted to customer's base currency,Rate at which Price list currency is converted to customer's base currency
,Rate at which customer's currency is converted to company's base currency,Rate at which customer's currency is converted to company's base currency
,Rate at which supplier's currency is converted to company's base currency,Rate at which supplier's currency is converted to company's base currency
,Rate at which this tax is applied,Rate at which this tax is applied
,Raw Material,Raw Material
,Raw Material Item Code,Raw Material Item Code
,Raw Materials Supplied,Raw Materials Supplied
,Raw Materials Supplied Cost,Raw Materials Supplied Cost
,Raw material cannot be same as main Item,Raw material cannot be same as main Item
,Re-Open Ticket,Re-Open Ticket
,Re-Order Level,Re-Order Level
,Re-Order Qty,Re-Order Qty
,Re-order,Re-order
,Re-order Level,Re-order Level
,Re-order Qty,Re-order Qty
,Read,Lesa
,Reading 1,Aflestur 1
,Reading 10,Aflestur 10
,Reading 2,Aflestur 2
,Reading 3,Aflestur 3
,Reading 4,Aflestur 4
,Reading 5,Aflestur 5
,Reading 6,Aflestur 6
,Reading 7,Aflestur 7
,Reading 8,Aflestur 8
,Reading 9,Aflestur 9
,Real Estate,Fasteign
,Reason,Ástæða
,Reason for Leaving,Ástæða fyrir brottför
,Reason for Resignation,Ástæða fyrir uppsögn
,Reason for losing,Ástæða fyrir tapi
,Recd Quantity,Recd Quantity
,Receivable,Receivable
,Receivable / Payable account will be identified based on the field Master Type,Receivable / Payable account will be identified based on the field Master Type
,Receivables,Receivables
,Receivables / Payables,Receivables / Payables
,Receivables Group,Receivables Group
,Received,Received
,Received Date,Received Date
,Received Items To Be Billed,Received Items To Be Billed
,Received Or Paid,Received Or Paid
,Received Qty,Received Qty
,Received and Accepted,Received and Accepted
,Receiver List,Receiver List
,Receiver List is empty. Please create Receiver List,Receiver List is empty. Please create Receiver List
,Receiver Parameter,Receiver Parameter
,Recipients,Recipients
,Reconcile,Reconcile
,Reconciliation Data,Reconciliation Data
,Reconciliation HTML,Reconciliation HTML
,Reconciliation JSON,Reconciliation JSON
,Record item movement.,Record item movement.
,Recurring Id,Recurring Id
,Recurring Invoice,Recurring Invoice
,Recurring Order,Recurring Order
,Recurring Type,Recurring Type
,Reduce Deduction for Leave Without Pay (LWP),Reduce Deduction for Leave Without Pay (LWP)
,Reduce Earning for Leave Without Pay (LWP),Reduce Earning for Leave Without Pay (LWP)
,Ref,Ref
,Ref Code,Ref Code
,Ref Date,Ref Date
,Ref SQ,Ref SQ
,Reference,Reference
,Reference #{0} dated {1},Reference #{0} dated {1}
,Reference Date,Reference Date
,Reference Name,Reference Name
,Reference No,Reference No
,Reference No & Reference Date is required for {0},Reference No & Reference Date is required for {0}
,Reference No is mandatory if you entered Reference Date,Reference No is mandatory if you entered Reference Date
,Reference Number,Reference Number
,Reference Row #,Reference Row #
,Refresh,Endurnýja
,Registration Details,Skráningarupplýsingar
,Registration Info,Skráningarupplýsingar
,Rejected,Hafnað
,Rejected Quantity,Hafnað magn
,Rejected Serial No,Hafnað raðnúmer
,Rejected Warehouse,Höfnuð vöruhús
,Rejected Warehouse is mandatory against regected item,Rejected Warehouse is mandatory against regected item
,Relation,Vensl
,Relieving Date,Relieving Date
,Relieving Date must be greater than Date of Joining,Relieving Date must be greater than Date of Joining
,Remark,Athugasemd
,Remarks,Athugasemdir
,Remove item if charges is not applicable to that item,Remove item if charges is not applicable to that item
,Rename,Endurnefna
,Rename Log,Annáll fyrir endurnefningar
,Rename Tool,Tól til að endurnefna
,Rent Cost,Leiguverð
,Rent per hour,Leiga á klukkustund
,Rented,Leigt
,Reorder Level,Endurpöntunarstig
,Reorder Qty,Endurpöntunarmagn
,Repack,Endurpakka
,Repeat Customer Revenue,Repeat Customer Revenue
,Repeat Customers,Repeat Customers
,Repeat on Day of Month,Repeat on Day of Month
,Replace,Replace
,Replace Item / BOM in all BOMs,Replace Item / BOM in all BOMs
,"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","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"
,Replied,Replied
,Report Date,Report Date
,Report Type,Report Type
,Report Type is mandatory,Report Type is mandatory
,Reports to,Reports to
,Reqd By Date,Reqd By Date
,Reqd by Date,Reqd by Date
,Request Type,Request Type
,Request for Information,Request for Information
,Request for purchase.,Request for purchase.
,Requested,Requested
,Requested For,Requested For
,Requested Items To Be Ordered,Requested Items To Be Ordered
,Requested Items To Be Transferred,Requested Items To Be Transferred
,Requested Qty,Requested Qty
,"Requested Qty: Quantity requested for purchase, but not ordered.","Requested Qty: Quantity requested for purchase, but not ordered."
,Requests for items.,Requests for items.
,Required By,Required By
,Required Date,Required Date
,Required Qty,Required Qty
,Required only for sample item.,Required only for sample item.
,Required raw materials issued to the supplier for producing a sub - contracted item.,Required raw materials issued to the supplier for producing a sub - contracted item.
,Research,Research
,Research & Development,Research & Development
,Researcher,Researcher
,Reseller,Reseller
,Reserved,Reserved
,Reserved Qty,Reserved Qty
,"Reserved Qty: Quantity ordered for sale, but not delivered.","Reserved Qty: Quantity ordered for sale, but not delivered."
,Reserved Quantity,Reserved Quantity
,Reserved Warehouse,Reserved Warehouse
,Reserved Warehouse in Sales Order / Finished Goods Warehouse,Reserved Warehouse in Sales Order / Finished Goods Warehouse
,Reserved Warehouse is missing in Sales Order,Reserved Warehouse is missing in Sales Order
,Reserved Warehouse required for stock Item {0} in row {1},Reserved Warehouse required for stock Item {0} in row {1}
,Reserved warehouse required for stock item {0},Reserved warehouse required for stock item {0}
,Reserves and Surplus,Ársniðurstaða
,Reset Filters,Reset Filters
,Resignation Letter Date,Resignation Letter Date
,Resolution,Resolution
,Resolution Date,Resolution Date
,Resolution Details,Resolution Details
,Resolved By,Resolved By
,Rest Of The World,Rest Of The World
,Retail,Retail
,Retail & Wholesale,Retail & Wholesale
,Retailer,Retailer
,Review Date,Review Date
,Rgt,Rgt
,Role Allowed to edit frozen stock,Role Allowed to edit frozen stock
,Role that is allowed to submit transactions that exceed credit limits set.,Role that is allowed to submit transactions that exceed credit limits set.
,Root Type,Root Type
,Root Type is mandatory,Root Type is mandatory
,Root account can not be deleted,Root account can not be deleted
,Root cannot be edited.,Root cannot be edited.
,Root cannot have a parent cost center,Root cannot have a parent cost center
,Rounded Off,Auramismunur
,Rounded Total,Rounded Total
,Rounded Total (Company Currency),Rounded Total (Company Currency)
,Row # ,Row # 
,Row # {0}: ,Row # {0}: 
,Row #{0}: Please specify Serial No for Item {1},Row #{0}: Please specify Serial No for Item {1}
,Row {0}: Account {1} does not match with {2} {3} Name,Row {0}: Account {1} does not match with {2} {3} Name
,Row {0}: Account {1} does not match with {2} {3} account,Row {0}: Account {1} does not match with {2} {3} account
,Row {0}: Allocated amount {1} must be less than or equals to JV amount {2},Row {0}: Allocated amount {1} must be less than or equals to JV amount {2}
,Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2}
,Row {0}: Conversion Factor is mandatory,Row {0}: Conversion Factor is mandatory
,Row {0}: Credit entry can not be linked with a {1},Row {0}: Credit entry can not be linked with a {1}
,Row {0}: Debit entry can not be linked with a {1},Row {0}: Debit entry can not be linked with a {1}
,Row {0}: Payment Amount cannot be greater than Outstanding Amount,Row {0}: Payment Amount cannot be greater than Outstanding Amount
,Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Row {0}: Payment against Sales/Purchase Order should always be marked as advance
,Row {0}: Payment amount can not be negative,Row {0}: Payment amount can not be negative
,Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.
,Row {0}: Qty is mandatory,Row {0}: Qty is mandatory
,"Row {0}: Qty not avalable in warehouse {1} on {2} {3}.					Available Qty: {4}, Transfer Qty: {5}","Row {0}: Qty not avalable in warehouse {1} on {2} {3}.					Available Qty: {4}, Transfer Qty: {5}"
,"Row {0}: To set {1} periodicity, difference between from and to date \						must be greater than or equal to {2}","Row {0}: To set {1} periodicity, difference between from and to date \						must be greater than or equal to {2}"
,Row {0}: {1} is not a valid {2},Row {0}: {1} is not a valid {2}
,Row {0}:Start Date must be before End Date,Row {0}:Start Date must be before End Date
,Rules for adding shipping costs.,Rules for adding shipping costs.
,Rules for applying pricing and discount.,Rules for applying pricing and discount.
,Rules to calculate shipping amount for a sale,Rules to calculate shipping amount for a sale
,S.O. No.,S.O. No.
,SHE Cess on Excise,SHE Cess on Excise
,SHE Cess on Service Tax,SHE Cess on Service Tax
,SHE Cess on TDS,SHE Cess on TDS
,SMS Center,SMS Center
,SMS Gateway URL,SMS Gateway URL
,SMS Log,SMS Log
,SMS Parameter,SMS Parameter
,SMS Sender Name,SMS Sender Name
,SMS Settings,SMS Settings
,SO Date,SO Date
,SO Pending Qty,SO Pending Qty
,SO Qty,SO Qty
,Salary,Laun
,Salary Information,Salary Information
,Salary Manager,Salary Manager
,Salary Mode,Salary Mode
,Salary Slip,Salary Slip
,Salary Slip Deduction,Salary Slip Deduction
,Salary Slip Earning,Salary Slip Earning
,Salary Slip of employee {0} already created for this month,Salary Slip of employee {0} already created for this month
,Salary Structure,Salary Structure
,Salary Structure Deduction,Salary Structure Deduction
,Salary Structure Earning,Salary Structure Earning
,Salary Structure Earnings,Salary Structure Earnings
,Salary breakup based on Earning and Deduction.,Salary breakup based on Earning and Deduction.
,Salary components.,Salary components.
,Salary template master.,Salary template master.
,Sales,Sala
,Sales Analytics,Sales Analytics
,Sales BOM,Sales BOM
,Sales BOM Help,Sales BOM Help
,Sales BOM Item,Sales BOM Item
,Sales BOM Items,Sales BOM Items
,Sales Browser,Sales Browser
,Sales Details,Sales Details
,Sales Discounts,Sales Discounts
,Sales Email Settings,Sales Email Settings
,Sales Expenses,Sölukostnaður
,Sales Extras,Sales Extras
,Sales Funnel,Sales Funnel
,Sales Invoice,Sales Invoice
,Sales Invoice Advance,Sales Invoice Advance
,Sales Invoice Item,Sales Invoice Item
,Sales Invoice Items,Sales Invoice Items
,Sales Invoice Message,Sales Invoice Message
,Sales Invoice No,Sales Invoice No
,Sales Invoice Trends,Sales Invoice Trends
,Sales Invoice {0} has already been submitted,Sales Invoice {0} has already been submitted
,Sales Invoice {0} must be cancelled before cancelling this Sales Order,Sales Invoice {0} must be cancelled before cancelling this Sales Order
,Sales Item,Sales Item
,Sales Manager,Sales Manager
,Sales Master Manager,Sales Master Manager
,Sales Order,Sales Order
,Sales Order Date,Sales Order Date
,Sales Order Item,Sales Order Item
,Sales Order Items,Sales Order Items
,Sales Order Message,Sales Order Message
,Sales Order No,Sales Order No
,Sales Order Required,Sales Order Required
,Sales Order Trends,Sales Order Trends
,Sales Order required for Item {0},Sales Order required for Item {0}
,Sales Order {0} is not submitted,Sales Order {0} is not submitted
,Sales Order {0} is not valid,Sales Order {0} is not valid
,Sales Order {0} is stopped,Sales Order {0} is stopped
,Sales Partner,Sales Partner
,Sales Partner Name,Sales Partner Name
,Sales Partner Target,Sales Partner Target
,Sales Partners Commission,Sales Partners Commission
,Sales Person,Sales Person
,Sales Person Name,Sales Person Name
,Sales Person Target Variance Item Group-Wise,Sales Person Target Variance Item Group-Wise
,Sales Person Targets,Sales Person Targets
,Sales Person-wise Transaction Summary,Sales Person-wise Transaction Summary
,Sales Price List,Sales Price List
,Sales Register,Sales Register
,Sales Return,Sales Return
,Sales Returned,Sales Returned
,Sales Taxes and Charges,Sales Taxes and Charges
,Sales Taxes and Charges Master,Sales Taxes and Charges Master
,Sales Team,Sales Team
,Sales Team Details,Sales Team Details
,Sales Team1,Sales Team1
,Sales User,Sales User
,Sales and Purchase,Sales and Purchase
,Sales campaigns.,Sales campaigns.
,Salutation,Salutation
,Sample Size,Sample Size
,Sanctioned Amount,Sanctioned Amount
,Saturday,Saturday
,Schedule,Schedule
,Schedule Date,Schedule Date
,Schedule Details,Schedule Details
,Scheduled,Scheduled
,Scheduled Date,Scheduled Date
,Scheduled to send to {0},Scheduled to send to {0}
,Scheduled to send to {0} recipients,Scheduled to send to {0} recipients
,Scheduler Failed Events,Scheduler Failed Events
,School/University,School/University
,Score (0-5),Score (0-5)
,Score Earned,Score Earned
,Score must be less than or equal to 5,Score must be less than or equal to 5
,Scrap %,Scrap %
,Seasonality for setting budgets.,Seasonality for setting budgets.
,Secretary,Secretary
,Secured Loans,Veðlán
,Securities & Commodity Exchanges,Securities & Commodity Exchanges
,Securities and Deposits,Verðbréf og innstæður
,"See ""Rate Of Materials Based On"" in Costing Section","See ""Rate Of Materials Based On"" in Costing Section"
,"Select ""Yes"" for sub - contracting items","Select ""Yes"" for sub - contracting items"
,"Select ""Yes"" if this item is used for some internal purpose in your company.","Select ""Yes"" if this item is used for some internal purpose in your company."
,"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Select ""Yes"" if this item represents some work like training, designing, consulting etc."
,"Select ""Yes"" if you are maintaining stock of this item in your Inventory.","Select ""Yes"" if you are maintaining stock of this item in your Inventory."
,"Select ""Yes"" if you supply raw materials to your supplier to manufacture this item.","Select ""Yes"" if you supply raw materials to your supplier to manufacture this item."
,Select Budget Distribution to unevenly distribute targets across months.,Select Budget Distribution to unevenly distribute targets across months.
,"Select Budget Distribution, if you want to track based on seasonality.","Select Budget Distribution, if you want to track based on seasonality."
,Select Company...,Select Company...
,Select DocType,Select DocType
,Select Fiscal Year,Select Fiscal Year
,Select Fiscal Year...,Select Fiscal Year...
,Select Items,Select Items
,Select Sales Orders,Select Sales Orders
,Select Sales Orders from which you want to create Production Orders.,Select Sales Orders from which you want to create Production Orders.
,Select Time Logs and Submit to create a new Sales Invoice.,Select Time Logs and Submit to create a new Sales Invoice.
,Select Transaction,Select Transaction
,Select Your Language,Select Your Language
,Select account head of the bank where cheque was deposited.,Select account head of the bank where cheque was deposited.
,Select company name first.,Select company name first.
,Select template from which you want to get the Goals,Select template from which you want to get the Goals
,Select the Employee for whom you are creating the Appraisal.,Select the Employee for whom you are creating the Appraisal.
,Select the period when the invoice will be generated automatically,Select the period when the invoice will be generated automatically
,Select the relevant company name if you have multiple companies,Select the relevant company name if you have multiple companies
,Select the relevant company name if you have multiple companies.,Select the relevant company name if you have multiple companies.
,Select type of transaction,Select type of transaction
,Select who you want to send this newsletter to,Select who you want to send this newsletter to
,Select your home country and check the timezone and currency.,Select your home country and check the timezone and currency.
,"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.","Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt."
,"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note","Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note"
,"Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item.","Selecting ""Yes"" will allow you to create Bill of Material showing raw material and operational costs incurred to manufacture this item."
,"Selecting ""Yes"" will allow you to make a Production Order for this item.","Selecting ""Yes"" will allow you to make a Production Order for this item."
,"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.","Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master."
,Selling,Sala
,Selling Amount,Selling Amount
,Selling Rate,Selling Rate
,Selling Settings,Selling Settings
,"Selling must be checked, if Applicable For is selected as {0}","Selling must be checked, if Applicable For is selected as {0}"
,Send,Send
,Send Autoreply,Send Autoreply
,Send Email,Send Email
,Send From,Send From
,Send Notifications To,Send Notifications To
,Send Now,Send Now
,Send SMS,Send SMS
,Send To,Send To
,Send To Type,Send To Type
,Send automatic emails to Contacts on Submitting transactions.,Send automatic emails to Contacts on Submitting transactions.
,Send mass SMS to your contacts,Send mass SMS to your contacts
,Send regular summary reports via Email.,Send regular summary reports via Email.
,Send to this list,Send to this list
,Sender Name,Sender Name
,Sent,Send
,Sent On,Sent On
,Separate production order will be created for each finished good item.,Separate production order will be created for each finished good item.
,Serial #,Serial #
,Serial No,Serial No
,Serial No / Batch,Serial No / Batch
,Serial No Details,Serial No Details
,Serial No Service Contract Expiry,Serial No Service Contract Expiry
,Serial No Status,Serial No Status
,Serial No Warranty Expiry,Serial No Warranty Expiry
,Serial No is mandatory for Item {0},Serial No is mandatory for Item {0}
,Serial No {0} created,Serial No {0} created
,Serial No {0} does not belong to Delivery Note {1},Serial No {0} does not belong to Delivery Note {1}
,Serial No {0} does not belong to Item {1},Serial No {0} does not belong to Item {1}
,Serial No {0} does not belong to Warehouse {1},Serial No {0} does not belong to Warehouse {1}
,Serial No {0} does not exist,Serial No {0} does not exist
,Serial No {0} has already been received,Serial No {0} has already been received
,Serial No {0} is under maintenance contract upto {1},Serial No {0} is under maintenance contract upto {1}
,Serial No {0} is under warranty upto {1},Serial No {0} is under warranty upto {1}
,Serial No {0} not found,Serial No {0} not found
,Serial No {0} not in stock,Serial No {0} not in stock
,Serial No {0} quantity {1} cannot be a fraction,Serial No {0} quantity {1} cannot be a fraction
,Serial No {0} status must be 'Available' to Deliver,Serial No {0} status must be 'Available' to Deliver
,Serial Nos Required for Serialized Item {0},Serial Nos Required for Serialized Item {0}
,Serial Number Series,Serial Number Series
,Serial number {0} entered more than once,Serial number {0} entered more than once
,Serialized Item {0} cannot be updated \					using Stock Reconciliation,Serialized Item {0} cannot be updated \					using Stock Reconciliation
,Series,Röð
,Series List for this Transaction,Series List for this Transaction
,Series Updated,Series Updated
,Series Updated Successfully,Series Updated Successfully
,Series is mandatory,Series is mandatory
,Series {0} already used in {1},Röð {0} er þegar notuð í {1}
,Service,Þjónusta
,Service Address,Service Address
,Service Tax,Þjónustuskattur
,Services,Þjónustur
,Set,Set
,"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Stilla sjálfgefin gildi eins og fyrirtæki, gjaldmiðil, reikningsár o.fl."
,Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.
,Set Status as Available,Set Status as Available
,Set as Default,Set as Default
,Set as Lost,Set as Lost
,Set prefix for numbering series on your transactions,Set prefix for numbering series on your transactions
,Set targets Item Group-wise for this Sales Person.,Set targets Item Group-wise for this Sales Person.
,Setting Account Type helps in selecting this Account in transactions.,Setting Account Type helps in selecting this Account in transactions.
,Setting this Address Template as default as there is no other default,Setting this Address Template as default as there is no other default
,Setting up...,Setting up...
,Settings,Stillingar
,Settings for Accounts,Stillingar fyrir reikninga
,Settings for Buying Module,Settings for Buying Module
,Settings for HR Module,Settings for HR Module
,Settings for Selling Module,Settings for Selling Module
,"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""","Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com"""
,Setup,Uppsetning
,Setup Already Complete!!,Setup Already Complete!!
,Setup Complete,Setup Complete
,Setup SMS gateway settings,Setup SMS gateway settings
,Setup Series,Setup Series
,Setup Wizard,Setup Wizard
,Setup incoming server for jobs email id. (e.g. jobs@example.com),Setup incoming server for jobs email id. (e.g. jobs@example.com)
,Setup incoming server for sales email id. (e.g. sales@example.com),Setup incoming server for sales email id. (e.g. sales@example.com)
,Setup incoming server for support email id. (e.g. support@example.com),Setup incoming server for support email id. (e.g. support@example.com)
,Share,Share
,Share With,Share With
,Shareholders Funds,Óráðstafað eigið fé
,Shipments to customers.,Shipments to customers.
,Shipping,Shipping
,Shipping Account,Shipping Account
,Shipping Address,Shipping Address
,Shipping Address Name,Shipping Address Name
,Shipping Amount,Shipping Amount
,Shipping Rule,Shipping Rule
,Shipping Rule Condition,Shipping Rule Condition
,Shipping Rule Conditions,Shipping Rule Conditions
,Shipping Rule Label,Shipping Rule Label
,Shop,Shop
,Shopping Cart,Innkaupakarfa
,Short biography for website and other publications.,Short biography for website and other publications.
,Shortage Qty,Shortage Qty
,"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse."
,"Show / Hide features like Serial Nos, POS etc.","Show / Hide features like Serial Nos, POS etc."
,Show In Website,Show In Website
,Show a slideshow at the top of the page,Show a slideshow at the top of the page
,Show in Website,Show in Website
,Show this slideshow at the top of the page,Show this slideshow at the top of the page
,Show zero values,Show zero values
,Shown in Website,Shown in Website
,Sick Leave,Sick Leave
,Signature,Signature
,Signature to be appended at the end of every email,Signature to be appended at the end of every email
,Single,Single
,Single unit of an Item.,Single unit of an Item.
,Sit tight while your system is being setup. This may take a few moments.,Sit tight while your system is being setup. This may take a few moments.
,Slideshow,Slideshow
,Soap & Detergent,Soap & Detergent
,Software,Software
,Software Developer,Software Developer
,"Sorry, Serial Nos cannot be merged","Sorry, Serial Nos cannot be merged"
,"Sorry, companies cannot be merged","Sorry, companies cannot be merged"
,Source,Source
,Source File,Source File
,Source Warehouse,Source Warehouse
,Source and target warehouse cannot be same for row {0},Source and target warehouse cannot be same for row {0}
,Source of Funds (Liabilities),Skuldir og eigið fé
,Source warehouse is mandatory for row {0},Source warehouse is mandatory for row {0}
,Spartan,Spartan
,"Special Characters except ""-"" and ""/"" not allowed in naming series","Special Characters except ""-"" and ""/"" not allowed in naming series"
,Specification Details,Specification Details
,Specifications,Specifications
,Specify Exchange Rate to convert one currency into another,Specify Exchange Rate to convert one currency into another
,"Specify a list of Territories, for which, this Price List is valid","Specify a list of Territories, for which, this Price List is valid"
,"Specify a list of Territories, for which, this Shipping Rule is valid","Specify a list of Territories, for which, this Shipping Rule is valid"
,"Specify a list of Territories, for which, this Taxes Master is valid","Specify a list of Territories, for which, this Taxes Master is valid"
,Specify conditions to calculate shipping amount,Specify conditions to calculate shipping amount
,"Specify the operations, operating cost and give a unique Operation no to your operations.","Specify the operations, operating cost and give a unique Operation no to your operations."
,Split Delivery Note into packages.,Split Delivery Note into packages.
,Sports,Sports
,Sr,Sr
,Standard,Standard
,Standard Buying,Standard Buying
,Standard Reports,Staðlaðar skýrslur
,Standard Selling,Stöðluð sala
,"Standard Terms and Conditions that can be added to Sales and Purchases.Examples:1. Validity of the offer.1. Payment Terms (In Advance, On Credit, part advance etc).1. What is extra (or payable by the Customer).1. Safety / usage warning.1. Warranty if any.1. Returns Policy.1. Terms of shipping, if applicable.1. Ways of addressing disputes, indemnity, liability, etc.1. Address and Contact of your Company.","Staðlaðir skilmálar og skilyrði sem hægt er að bæta við sölu og innkaup.Dæmi:1. Gildi tilboðsins.1. Greiðsluskilmálar (fyrirfram, í reikning, að hluta fyrirfram etc).1. Hvað er aukalega (eða það sem viðskiptavinur þarf að greiða).1. Öryggi / notkunarviðvörun.1. Ábyrgð ef einhver er.1. Skilareglur.1. Sendingarskilmálar, ef við á.1. Ways of addressing disputes, indemnity, liability, etc.1. Address and Contact of your Company."
,Standard contract terms for Sales or Purchase.,Standard contract terms for Sales or Purchase.
,"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.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.10. Add or Deduct: Whether you want to add or deduct the tax.","Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.10. Add or Deduct: Whether you want to add or deduct the tax."
,"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","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.#### NoteThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.#### Description of Columns1. Calculation Type:     - This can be on **Net Total** (that is the sum of basic amount).    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.    - **Actual** (as mentioned).2. Account Head: The Account ledger under which this tax will be booked3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.4. Description: Description of the tax (that will be printed in invoices / quotes).5. Rate: Tax rate.6. Amount: Tax amount.7. Total: Cumulative total to this point.8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers."
,Start,Byrja
,Start Date,Byrjunardagsetning
,Start POS,Ræsa verlunarkerfi (POS)
,Start date of current invoice's period,Start date of current invoice's period
,Start date of current order's period,Start date of current order's period
,Start date should be less than end date for Item {0},Start date should be less than end date for Item {0}
,State,State
,Statement of Account,Statement of Account
,Static Parameters,Static Parameters
,Status,Status
,Status must be one of {0},Status must be one of {0}
,Status of {0} {1} is now {2},Status of {0} {1} is now {2}
,Status updated to {0},Status updated to {0}
,Statutory info and other general information about your Supplier,Statutory info and other general information about your Supplier
,Stay Updated,Stay Updated
,Stock,Birgðir
,Stock Adjustment,Birgðaleiðrétting
,Stock Adjustment Account,Reikningur fyrir birgðaleiðréttingu
,Stock Ageing,Stock Ageing
,Stock Analytics,Stock Analytics
,Stock Assets,Vörubirgðir
,Stock Balance,Stock Balance
,Stock Entries already created for Production Order ,Stock Entries already created for Production Order 
,Stock Entry,Stock Entry
,Stock Entry Detail,Stock Entry Detail
,Stock Expenses,Birgðagjöld
,Stock Frozen Upto,Stock Frozen Upto
,Stock Item,Stock Item
,Stock Ledger,Stock Ledger
,Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts
,Stock Ledger Entry,Stock Ledger Entry
,Stock Ledger entries balances updated,Stock Ledger entries balances updated
,Stock Level,Stock Level
,Stock Liabilities,Birgðaskuldir
,Stock Projected Qty,Stock Projected Qty
,Stock Queue (FIFO),Stock Queue (FIFO)
,Stock Received But Not Billed,Mótteknar birgðir en ekki greiddar
,Stock Reconcilation Data,Stock Reconcilation Data
,Stock Reconcilation Template,Stock Reconcilation Template
,Stock Reconciliation,Stock Reconciliation
,"Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory.","Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory."
,Stock Settings,Stock Settings
,Stock UOM,Stock UOM
,Stock UOM Replace Utility,Stock UOM Replace Utility
,Stock UOM updatd for Item {0},Stock UOM updatd for Item {0}
,Stock Uom,Stock Uom
,Stock Value,Stock Value
,Stock Value Difference,Stock Value Difference
,Stock balances updated,Stock balances updated
,Stock cannot be updated against Delivery Note {0},Stock cannot be updated against Delivery Note {0}
,Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name',Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name'
,Stock transactions before {0} are frozen,Stock transactions before {0} are frozen
,Stock: ,Stock: 
,Stop,Stop
,Stop Birthday Reminders,Stop Birthday Reminders
,Stop users from making Leave Applications on following days.,Stop users from making Leave Applications on following days.
,Stopped,Stopped
,Stopped order cannot be cancelled. Unstop to cancel.,Stopped order cannot be cancelled. Unstop to cancel.
,Stores,Verslanir
,Stub,Stub
,Sub Assemblies,Sub Assemblies
,"Sub-currency. For e.g. ""Cent""","Sub-currency. For e.g. ""Cent"""
,Subcontract,Subcontract
,Subcontracted,Subcontracted
,Subject,Subject
,Submit Salary Slip,Submit Salary Slip
,Submit all salary slips for the above selected criteria,Submit all salary slips for the above selected criteria
,Submit this Production Order for further processing.,Submit this Production Order for further processing.
,Submitted,Submitted
,Subsidiary,Subsidiary
,Successful: ,Successful: 
,Successfully Reconciled,Successfully Reconciled
,Suggestions,Suggestions
,Sunday,Sunday
,Supplier,Supplier
,Supplier (Payable) Account,Supplier (Payable) Account
,Supplier (vendor) name as entered in supplier master,Supplier (vendor) name as entered in supplier master
,Supplier > Supplier Type,Supplier > Supplier Type
,Supplier Account,Supplier Account
,Supplier Account Head,Supplier Account Head
,Supplier Address,Supplier Address
,Supplier Addresses and Contacts,Supplier Addresses and Contacts
,Supplier Details,Supplier Details
,Supplier Id,Supplier Id
,Supplier Intro,Supplier Intro
,Supplier Invoice Date,Supplier Invoice Date
,Supplier Invoice No,Supplier Invoice No
,Supplier Name,Supplier Name
,Supplier Naming By,Supplier Naming By
,Supplier Part Number,Supplier Part Number
,Supplier Quotation,Supplier Quotation
,Supplier Quotation Item,Supplier Quotation Item
,Supplier Reference,Supplier Reference
,Supplier Type,Supplier Type
,Supplier Type / Supplier,Supplier Type / Supplier
,Supplier Type master.,Supplier Type master.
,Supplier Warehouse,Supplier Warehouse
,Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Supplier Warehouse mandatory for sub-contracted Purchase Receipt
,Supplier database.,Supplier database.
,Supplier master.,Supplier master.
,Supplier of Goods or Services.,Supplier of Goods or Services.
,Supplier warehouse where you have issued raw materials for sub - contracting,Supplier warehouse where you have issued raw materials for sub - contracting
,Supplier(s),Supplier(s)
,Supplier-Wise Sales Analytics,Supplier-Wise Sales Analytics
,Support,Þjónusta
,Support Analtyics,Support Analtyics
,Support Analytics,Support Analytics
,Support Email,Support Email
,Support Email Settings,Support Email Settings
,Support Manager,Support Manager
,Support Password,Support Password
,Support Team,Support Team
,Support Ticket,Support Ticket
,Support queries from customers.,Support queries from customers.
,Symbol,Symbol
,Sync Support Mails,Sync Support Mails
,Sync with Dropbox,Sync with Dropbox
,Sync with Google Drive,Sync with Google Drive
,System,Kerfi
,System Balance,Kerfisstaða
,System Manager,Kerfisstjóri
,System Settings,Kerfisstillingar
,"System User (login) ID. If set, it will become default for all HR forms.","System User (login) ID. If set, it will become default for all HR forms."
,System for managing Backups,Kerfi til að stjórna afritun
,TDS (Advertisement),TDS (Advertisement)
,TDS (Commission),TDS (Commission)
,TDS (Contractor),TDS (Contractor)
,TDS (Interest),TDS (Interest)
,TDS (Rent),TDS (Rent)
,TDS (Salary),TDS (Salary)
,Table for Item that will be shown in Web Site,Tafla fyrir atriði sem verða sýnd á vefsíðu
,Taken,Taken
,Target,Target
,Target  Amount,Target  Amount
,Target Detail,Target Detail
,Target Details,Target Details
,Target Details1,Target Details1
,Target Distribution,Target Distribution
,Target On,Target On
,Target Qty,Target Qty
,Target Warehouse,Target Warehouse
,Target warehouse in row {0} must be same as Production Order,Target warehouse in row {0} must be same as Production Order
,Target warehouse is mandatory for row {0},Target warehouse is mandatory for row {0}
,Task,Task
,Task Details,Task Details
,Task Subject,Task Subject
,Tasks,Tasks
,Tax,Tax
,Tax Amount After Discount Amount,Tax Amount After Discount Amount
,Tax Assets,Skatteignir
,Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items,Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items
,Tax Rate,Tax Rate
,Tax and other salary deductions.,Tax and other salary deductions.
,Tax detail table fetched from item master as a string and stored in this field.Used for Taxes and Charges,Tax detail table fetched from item master as a string and stored in this field.Used for Taxes and Charges
,Tax template for buying transactions.,Tax template for buying transactions.
,Tax template for selling transactions.,Tax template for selling transactions.
,Taxes,Taxes
,Taxes and Charges,Taxes and Charges
,Taxes and Charges Added,Taxes and Charges Added
,Taxes and Charges Added (Company Currency),Taxes and Charges Added (Company Currency)
,Taxes and Charges Calculation,Taxes and Charges Calculation
,Taxes and Charges Deducted,Taxes and Charges Deducted
,Taxes and Charges Deducted (Company Currency),Taxes and Charges Deducted (Company Currency)
,Taxes and Charges Total,Taxes and Charges Total
,Taxes and Charges Total (Company Currency),Taxes and Charges Total (Company Currency)
,Technology,Technology
,Telecommunications,Telecommunications
,Telephone Expenses,Fjarskiptaútgjöld
,Television,Television
,Template,Template
,Template for performance appraisals.,Template for performance appraisals.
,Template of terms or contract.,Template of terms or contract.
,Temporary Accounts (Assets),Tímabundnir reikningar (Eignir)
,Temporary Accounts (Liabilities),Tímabundnir reikningar (Skuldir)
,Temporary Assets,Tímabundnar eignir
,Temporary Liabilities,Tímabundnar skuldir
,Term Details,Term Details
,Terms,Terms
,Terms and Conditions,Terms and Conditions
,Terms and Conditions Content,Terms and Conditions Content
,Terms and Conditions Details,Terms and Conditions Details
,Terms and Conditions Template,Terms and Conditions Template
,Terms and Conditions1,Terms and Conditions1
,Terretory,Terretory
,Territory,Territory
,Territory / Customer,Territory / Customer
,Territory Manager,Territory Manager
,Territory Name,Territory Name
,Territory Target Variance Item Group-Wise,Territory Target Variance Item Group-Wise
,Territory Targets,Territory Targets
,Test,Test
,Test Email Id,Test Email Id
,Test the Newsletter,Test the Newsletter
,The BOM which will be replaced,The BOM which will be replaced
,The First User: You,The First User: You
,"The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes""","The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"""
,The Organization,The Organization
,"The account head under Liability, in which Profit/Loss will be booked","The account head under Liability, in which Profit/Loss will be booked"
,The date on which next invoice will be generated. It is generated on submit.,The date on which next invoice will be generated. It is generated on submit.
,The date on which recurring invoice will be stop,The date on which recurring invoice will be stop
,The date on which recurring order will be stop,The date on which recurring order will be stop
,"The day of the month on which auto invoice will be generated e.g. 05, 28 etc","The day of the month on which auto invoice will be generated e.g. 05, 28 etc"
,"The day of the month on which auto invoice will be generated e.g. 05, 28 etc ","The day of the month on which auto invoice will be generated e.g. 05, 28 etc "
,"The day of the month on which auto order will be generated e.g. 05, 28 etc","The day of the month on which auto order will be generated e.g. 05, 28 etc"
,"The day of the month on which auto order will be generated e.g. 05, 28 etc ","The day of the month on which auto order will be generated e.g. 05, 28 etc "
,The day(s) on which you are applying for leave are holiday. You need not apply for leave.,The day(s) on which you are applying for leave are holiday. You need not apply for leave.
,The first Leave Approver in the list will be set as the default Leave Approver,The first Leave Approver in the list will be set as the default Leave Approver
,The first user will become the System Manager (you can change that later).,The first user will become the System Manager (you can change that later).
,The gross weight of the package. Usually net weight + packaging material weight. (for print),The gross weight of the package. Usually net weight + packaging material weight. (for print)
,The name of your company for which you are setting up this system.,The name of your company for which you are setting up this system.
,The net weight of this package. (calculated automatically as sum of net weight of items),The net weight of this package. (calculated automatically as sum of net weight of items)
,The new BOM after replacement,The new BOM after replacement
,The rate at which Bill Currency is converted into company's base currency,The rate at which Bill Currency is converted into company's base currency
,The selected item cannot have Batch,The selected item cannot have Batch
,The unique id for tracking all recurring invoices. It is generated on submit.,The unique id for tracking all recurring invoices. It is generated on submit.
,The unique id for tracking all recurring invoices. It is generated on submit.,The unique id for tracking all recurring invoices. It is generated on submit.
,"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc."
,There are more holidays than working days this month.,There are more holidays than working days this month.
,"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","There can only be one Shipping Rule Condition with 0 or blank value for ""To Value"""
,There is not enough leave balance for Leave Type {0},There is not enough leave balance for Leave Type {0}
,There is nothing to edit.,There is nothing to edit.
,There was an error. One probable reason could be that you haven't saved the form. Please contact support@erpnext.com if the problem persists.,There was an error. One probable reason could be that you haven't saved the form. Please contact support@erpnext.com if the problem persists.
,There were errors.,There were errors.
,There were no updates in the items selected for this digest.,There were no updates in the items selected for this digest.
,This Currency is disabled. Enable to use in transactions,This Currency is disabled. Enable to use in transactions
,This Leave Application is pending approval. Only the Leave Apporver can update status.,This Leave Application is pending approval. Only the Leave Apporver can update status.
,This Time Log Batch has been billed.,This Time Log Batch has been billed.
,This Time Log Batch has been cancelled.,This Time Log Batch has been cancelled.
,This Time Log conflicts with {0},This Time Log conflicts with {0}
,This format is used if country specific format is not found,This format is used if country specific format is not found
,This is a root account and cannot be edited.,This is a root account and cannot be edited.
,This is a root customer group and cannot be edited.,This is a root customer group and cannot be edited.
,This is a root item group and cannot be edited.,This is a root item group and cannot be edited.
,This is a root sales person and cannot be edited.,This is a root sales person and cannot be edited.
,This is a root territory and cannot be edited.,This is a root territory and cannot be edited.
,This is an example website auto-generated from ERPNext,This is an example website auto-generated from ERPNext
,This is the number of the last created transaction with this prefix,This is the number of the last created transaction with this prefix
,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.,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.
,This will be used for setting rule in HR module,This will be used for setting rule in HR module
,Thread HTML,Thread HTML
,Thursday,Thursday
,Time Log,Time Log
,Time Log Batch,Time Log Batch
,Time Log Batch Detail,Time Log Batch Detail
,Time Log Batch Details,Time Log Batch Details
,Time Log Batch {0} must be 'Submitted',Time Log Batch {0} must be 'Submitted'
,Time Log Status must be Submitted.,Time Log Status must be Submitted.
,Time Log for tasks.,Time Log for tasks.
,Time Log is not billable,Time Log is not billable
,Time Log {0} must be 'Submitted',Time Log {0} must be 'Submitted'
,Time Zone,Tímabelti
,Time Zones,Tímabelti
,Time and Budget,Time and Budget
,Time at which items were delivered from warehouse,Time at which items were delivered from warehouse
,Time at which materials were received,Time at which materials were received
,Title,Title
,Titles for print templates e.g. Proforma Invoice.,Titles for print templates e.g. Proforma Invoice.
,To,To
,To Currency,To Currency
,To Date,Lokadagur
,To Date should be same as From Date for Half Day leave,To Date should be same as From Date for Half Day leave
,To Date should be within the Fiscal Year. Assuming To Date = {0},To Date should be within the Fiscal Year. Assuming To Date = {0}
,To Datetime,To Datetime
,To Discuss,To Discuss
,To Do List,To Do List
,To Package No.,To Package No.
,To Produce,To Produce
,To Time,To Time
,To Value,To Value
,To Warehouse,To Warehouse
,"To add child nodes, explore tree and click on the node under which you want to add more nodes.","To add child nodes, explore tree and click on the node under which you want to add more nodes."
,"To assign this issue, use the ""Assign"" button in the sidebar.","To assign this issue, use the ""Assign"" button in the sidebar."
,To create a Bank Account,Til að stofna bankareikning
,To create a Tax Account,Til að búa til virðisaukaskattsreikninga
,"To create an Account Head under a different company, select the company and save customer.","To create an Account Head under a different company, select the company and save customer."
,To date cannot be before from date,To date cannot be before from date
,To enable <b>Point of Sale</b> features,To enable <b>Point of Sale</b> features
,To enable <b>Point of Sale</b> view,To enable <b>Point of Sale</b> view
,To get Item Group in details table,To get Item Group in details table
,"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","To include tax in row {0} in Item rate, taxes in rows {1} must also be included"
,"To merge, following properties must be same for both items","To merge, following properties must be same for both items"
,"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled."
,"To set this Fiscal Year as Default, click on 'Set as Default'","To set this Fiscal Year as Default, click on 'Set as Default'"
,To track any installation or commissioning related work after sales,To track any installation or commissioning related work after sales
,"To track brand name in the following documents Delivery Note, Opportunity, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","To track brand name in the following documents Delivery Note, Opportunity, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No"
,To track item in sales and purchase documents based on their serial nos. This is can also used to track warranty details of the product.,To track item in sales and purchase documents based on their serial nos. This is can also used to track warranty details of the product.
,To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>,To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>
,To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.
,Too many columns. Export the report and print it using a spreadsheet application.,Of margir dálkar. Flytjið út skýrsluna og prentið með töflureikni.
,Tools,Verkfæri
,Total,Alls
,Total ({0}),Alls ({0})
,Total Absent,Alls fjarverandi
,Total Achieved,Alls náð
,Total Actual,Total Raun niðurstaða
,Total Advance,Alls fyrirfram
,Total Amount,Heildarupphæð
,Total Amount To Pay,Heikdarupphæð til greiðslu
,Total Amount in Words,Heildarupphæð með orðum
,Total Billing This Year: ,Heildar reikningsfærsla á þessu ári: 
,Total Characters,Fjöldi stafa
,Total Claimed Amount,Total Claimed Amount
,Total Commission,Heildar umboðslaun
,Total Cost,Heildarkostnaður
,Total Credit,Heildar kredit
,Total Debit,Heildar debet
,Total Debit must be equal to Total Credit. The difference is {0},Heildar debet verður að stemma við heildar kredit. Mismunurinn er {0}
,Total Deduction,Heildar frádráttur
,Total Earning,Heildartekjur
,Total Experience,Heildarreynsla
,Total Fixed Cost,Allur fastur kostnaður
,Total Hours,Heildar stundir
,Total Hours (Expected),Total Hours (Expected)
,Total Invoiced Amount,Total Invoiced Amount
,Total Leave Days,Total Leave Days
,Total Leaves Allocated,Total Leaves Allocated
,Total Message(s),Total Message(s)
,Total Operating Cost,Total Operating Cost
,Total Order Considered,Total Order Considered
,Total Order Value,Total Order Value
,Total Outgoing,Total Outgoing
,Total Payment Amount,Total Payment Amount
,Total Points,Total Points
,Total Present,Total Present
,Total Qty,Total Qty
,Total Raw Material Cost,Total Raw Material Cost
,Total Revenue,Total Revenue
,Total Sanctioned Amount,Total Sanctioned Amount
,Total Score (Out of 5),Total Score (Out of 5)
,Total Target,Total Target
,Total Tax (Company Currency),Total Tax (Company Currency)
,Total Taxes and Charges,Total Taxes and Charges
,Total Taxes and Charges (Company Currency),Total Taxes and Charges (Company Currency)
,Total Variable Cost,Total Variable Cost
,Total Variance,Total Variance
,Total advance ({0}) against Order {1} cannot be greater \				than the Grand Total ({2}),Total advance ({0}) against Order {1} cannot be greater \				than the Grand Total ({2})
,Total allocated percentage for sales team should be 100,Total allocated percentage for sales team should be 100
,Total amount of invoices received from suppliers during the digest period,Total amount of invoices received from suppliers during the digest period
,Total amount of invoices sent to the customer during the digest period,Total amount of invoices sent to the customer during the digest period
,Total cannot be zero,Total cannot be zero
,Total in words,Total in words
,Total points for all goals should be 100. It is {0},Total points for all goals should be 100. það er {0}
,Total valuation for manufactured or repacked item(s) can not be less than total valuation of raw materials,Total valuation for manufactured or repacked item(s) can not be less than total valuation of raw materials
,Total weightage assigned should be 100%. It is {0},Total weightage assigned should be 100%. það er {0}
,Total(Amt),Heildar(upphæð)
,Total(Qty),Heildar(magn)
,Totals,Heildar
,Track Leads by Industry Type.,Track Leads by Industry Type.
,Track separate Income and Expense for product verticals or divisions.,Track separate Income and Expense for product verticals or divisions.
,Track this Delivery Note against any Project,Track this Delivery Note against any Project
,Track this Sales Order against any Project,Track this Sales Order against any Project
,Transaction,Færsla
,Transaction Date,Færsludagur
,Transaction not allowed against stopped Production Order {0},Færsla ekki heimil þegar hætt hefur verið við framleiðslupöntun {0}
,Transfer,Flytja
,Transfer Material,Flytja efni
,Transfer Raw Materials,Flytja hráefni
,Transferred Qty,Flutt magn
,Transportation,Flutningur
,Transporter Info,Upplýsingar um flytjanda
,Transporter Name,Nafn flytjanda
,Transporter lorry number,Númer á vöruflutningabifreið flytjanda
,Travel,Ferð
,Travel Expenses,Ferðakostnaður
,Tree Type,Tree Type
,Tree of Item Groups.,Tree of Item Groups.
,Tree of finanial Cost Centers.,Tree of finanial Cost Centers.
,Tree of finanial accounts.,Tree of finanial accounts.
,Trial Balance,Trial Balance
,Tuesday,Þriðjudagur
,Type,Gerð
,Type of document to rename.,Gerð skjals sem á að endurnefna
,"Type of leaves like casual, sick etc.","Type of leaves like casual, sick etc."
,Types of Expense Claim.,Tegundir af kostnaðarkröfum.
,Types of activities for Time Sheets,Types of activities for Time Sheets
,"Types of employment (permanent, contract, intern etc.).","Types of employment (permanent, contract, intern etc.)."
,UOM Conversion Detail,UOM Conversion Detail
,UOM Conversion Details,UOM Conversion Details
,UOM Conversion Factor,UOM Conversion Factor
,UOM Conversion factor is required in row {0},UOM Conversion factor is required in row {0}
,UOM Name,UOM Name
,UOM coversion factor required for UOM: {0} in Item: {1},UOM coversion factor required for UOM: {0} in Item: {1}
,Under AMC,Under AMC
,Under Graduate,Under Graduate
,Under Warranty,Í ábyrgð
,Unit,Eining
,Unit of Measure,Mælieining
,Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unit of Measure {0} has been entered more than once in Conversion Factor Table
,"Unit of measurement of this item (e.g. Kg, Unit, No, Pair).","Unit of measurement of this item (e.g. Kg, Unit, No, Pair)."
,Units/Hour,Eining/Klukkustund
,Units/Shifts,Units/Shifts
,Unpaid,Ógreitt
,Unreconciled Payment Details,Unreconciled Payment Details
,Unscheduled,Unscheduled
,Unsecured Loans,Ótryggð lán
,Unstop,Unstop
,Unstop Material Request,Unstop Material Request
,Unstop Purchase Order,Unstop Purchase Order
,Unsubscribed,Unsubscribed
,Upcoming Calendar Events (max 10),Upcoming Calendar Events (max 10)
,Update,Update
,Update Clearance Date,Update Clearance Date
,Update Cost,Update Cost
,Update Finished Goods,Uppfæra fullunnar vörur
,Update Series,Uppfæra röð
,Update Series Number,Uppfæra númer raðar
,Update Stock,Update Stock
,Update additional costs to calculate landed cost of items,Update additional costs to calculate landed cost of items
,Update bank payment dates with journals.,Update bank payment dates with journals.
,Update clearance date of Journal Entries marked as 'Bank Vouchers',Update clearance date of Journal Entries marked as 'Bank Vouchers'
,Updated,Updated
,Updated Birthday Reminders,Updated Birthday Reminders
,Upload Attendance,Upload Attendance
,Upload Backups to Dropbox,Upload Backups to Dropbox
,Upload Backups to Google Drive,Upload Backups to Google Drive
,Upload HTML,Upload HTML
,Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,Upload a .csv file with two columns: the old name and the new name. Max 500 rows.
,Upload attendance from a .csv file,Upload attendance from a .csv file
,Upload stock balance via csv.,Upload stock balance via csv.
,Upload your letter head and logo - you can edit them later.,Upload your letter head and logo - you can edit them later.
,Upper Income,Efri tekjumörk
,Urgent,Áríðandi
,Use Multi-Level BOM,Use Multi-Level BOM
,Use SSL,Nota SSL
,Used for Production Plan,Notað í framleiðsluáætlun
,User,Notandi
,User ID,Notendakenni
,User ID not set for Employee {0},Notendakenni ekki skilgreint fyrir starfsmann {0}
,User Name,Notandanafn
,User Name or Support Password missing. Please enter and try again.,Notandanafn eða stuðnings lykilorð vantar. Skráðu og reyndu aftur.
,User Remark,Athugasemd notanda
,User Remark will be added to Auto Remark,Athugasemd notanda verður bætt við sjálfvirk athugasemd
,User Specific,Tiltekinn notandi
,User must always select,Notandi verður alltaf að velja
,User {0} is already assigned to Employee {1},User {0} is already assigned to Employee {1}
,User {0} is disabled,Notandi {0} er óvirkur
,Username,Notandanafn
,Users who can approve a specific employee's leave applications,Users who can approve a specific employee's leave applications
,Users with this role are allowed to create / modify accounting entry before frozen date,Users with this role are allowed to create / modify accounting entry before frozen date
,Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts
,Utilities,Veitur
,Utility Expenses,Veitugjöld
,Valid For Territories,Valid For Territories
,Valid From,Valid From
,Valid Upto,Valid Upto
,Valid for Territories,Valid for Territories
,Validate,Validate
,Valuation,Valuation
,Valuation Method,Valuation Method
,Valuation Rate,Valuation Rate
,Valuation Rate required for Item {0},Valuation Rate required for Item {0}
,Valuation and Total,Valuation and Total
,Value,Value
,Value or Qty,Value or Qty
,Variance,Variance
,Vehicle Dispatch Date,Vehicle Dispatch Date
,Vehicle No,Vehicle No
,Venture Capital,Venture Capital
,Verified By,Verified By
,View Details,View Details
,View Ledger,View Ledger
,View Now,View Now
,Visit report for maintenance call.,Visit report for maintenance call.
,Voucher #,Voucher #
,Voucher Detail No,Voucher Detail No
,Voucher Detail Number,Voucher Detail Number
,Voucher ID,Voucher ID
,Voucher No,Númer fylgiskjals
,Voucher Type,Færslugerð
,Voucher Type and Date,Gerð og dagsetning fylgiskjals
,Walk In,Walk In
,Warehouse,Vörugeymsla
,Warehouse Contact Info,Upplýsingar um tengilið vörugeymslu
,Warehouse Detail,Upplýsingar um vörugeymslu
,Warehouse Name,Nafn vörugeymslu
,Warehouse and Reference,Vörugeymsla og tilvísun
,Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Warehouse can not be deleted as stock ledger entry exists for this warehouse.
,Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt
,Warehouse cannot be changed for Serial No.,Warehouse cannot be changed for Serial No.
,Warehouse is mandatory for stock Item {0} in row {1},Warehouse is mandatory for stock Item {0} in row {1}
,Warehouse not found in the system,Warehouse not found in the system
,Warehouse required for stock Item {0},Warehouse required for stock Item {0}
,Warehouse where you are maintaining stock of rejected items,Warehouse where you are maintaining stock of rejected items
,Warehouse {0} can not be deleted as quantity exists for Item {1},Warehouse {0} can not be deleted as quantity exists for Item {1}
,Warehouse {0} does not belong to company {1},Warehouse {0} does not belong to company {1}
,Warehouse {0} does not exist,Warehouse {0} does not exist
,Warehouse {0}: Company is mandatory,Warehouse {0}: Company is mandatory
,Warehouse {0}: Parent account {1} does not bolong to the company {2},Warehouse {0}: Parent account {1} does not bolong to the company {2}
,Warehouse-wise Item Reorder,Warehouse-wise Item Reorder
,Warehouses,Warehouses
,Warehouses.,Warehouses.
,Warn,Warn
,Warning: Leave application contains following block dates,Warning: Leave application contains following block dates
,Warning: Material Requested Qty is less than Minimum Order Qty,Warning: Material Requested Qty is less than Minimum Order Qty
,Warning: Sales Order {0} already exists against same Purchase Order number,Warning: Sales Order {0} already exists against same Purchase Order number
,Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Warning: System will not check overbilling since amount for Item {0} in {1} is zero
,Warranty / AMC Details,Warranty / AMC Details
,Warranty / AMC Status,Warranty / AMC Status
,Warranty Expiry Date,Warranty Expiry Date
,Warranty Period (Days),Warranty Period (Days)
,Warranty Period (in days),Warranty Period (in days)
,We buy this Item,We buy this Item
,We sell this Item,We sell this Item
,Website,Vefsíða
,Website Description,Website Description
,Website Item Group,Website Item Group
,Website Item Groups,Website Item Groups
,Website Manager,Website Manager
,Website Settings,Website Settings
,Website Warehouse,Website Warehouse
,Wednesday,Wednesday
,Weekly,Weekly
,Weekly Off,Weekly Off
,Weight UOM,Weight UOM
,"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Weight is mentioned,\nPlease mention ""Weight UOM"" too"
,Weightage,Weightage
,Weightage (%),Weightage (%)
,Welcome,Welcome
,Welcome to ERPNext. Over the next few minutes we will help you setup your ERPNext account. Try and fill in as much information as you have even if it takes a bit longer. It will save you a lot of time later. Good Luck!,Welcome to ERPNext. Over the next few minutes we will help you setup your ERPNext account. Try and fill in as much information as you have even if it takes a bit longer. It will save you a lot of time later. Good Luck!
,Welcome to ERPNext. Please select your language to begin the Setup Wizard.,Welcome to ERPNext. Please select your language to begin the Setup Wizard.
,What does it do?,What does it do?
,"When any of the checked transactions are ""Submitted"", an email pop-up automatically opened to send an email to the associated ""Contact"" in that transaction, with the transaction as an attachment. The user may or may not send the email.","When any of the checked transactions are ""Submitted"", an email pop-up automatically opened to send an email to the associated ""Contact"" in that transaction, with the transaction as an attachment. The user may or may not send the email."
,"When submitted, the system creates difference entries to set the given stock and valuation on this date.","When submitted, the system creates difference entries to set the given stock and valuation on this date."
,Where items are stored.,Where items are stored.
,Where manufacturing operations are carried out.,Where manufacturing operations are carried out.
,Widowed,Widowed
,Will be calculated automatically when you enter the details,Will be calculated automatically when you enter the details
,Will be updated after Sales Invoice is Submitted.,Will be updated after Sales Invoice is Submitted.
,Will be updated when batched.,Will be updated when batched.
,Will be updated when billed.,Will be updated when billed.
,Wire Transfer,Wire Transfer
,With Operations,With Operations
,Work Details,Work Details
,Work Done,Work Done
,Work In Progress,Verk í vinnslu
,Work-in-Progress Warehouse,Verk í vinnslu vörugeymsla
,Work-in-Progress Warehouse is required before Submit,"Verk í vinnslu, vörugeymslu er krafist fyrir sendingu"
,Working,Vinna
,Working Days,Vinnudagar
,Workstation,Vinnustöð
,Workstation Name,Nafn á vinnustöð
,Write Off Account,Afskrifta reikningur
,Write Off Amount,Afskrifta upphæð
,Write Off Amount <=,Afskrifta upphæð <=
,Write Off Based On,Afskriftir byggðar á
,Write Off Cost Center,Write Off Cost Center
,Write Off Outstanding Amount,Afskrifa útistandandi upphæð
,Write Off Voucher,Afskrifa fylgiskjal
,Wrong Template: Unable to find head row.,Wrong Template: Unable to find head row.
,Year,Ár
,Year Closed,Ár lokað
,Year End Date,Lokadagsetning árs
,Year Name,Nafn árs
,Year Start Date,Upphafsdagsetning árs
,Year of Passing,Núverandi ár
,Yearly,Árlega
,Yes,Já
,You are not authorized to add or update entries before {0},Þú hefur ekki leyfi til að bæta við eða uppfæra færslur fyrir {0}
,You are not authorized to set Frozen value,Þú hefur ekki leyfi til að setja frosin gildi
,You are the Expense Approver for this record. Please Update the 'Status' and Save,Þú ert kostnaðar samþykkjandi fyrir þessa færslu. Please Update the 'Status' and Save
,You are the Leave Approver for this record. Please Update the 'Status' and Save,You are the Leave Approver for this record. Please Update the 'Status' and Save
,You can enter any date manually,You can enter any date manually
,You can enter the minimum quantity of this item to be ordered.,You can enter the minimum quantity of this item to be ordered.
,You can not change rate if BOM mentioned agianst any item,You can not change rate if BOM mentioned agianst any item
,You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.
,You can not enter current voucher in 'Against Journal Voucher' column,You can not enter current voucher in 'Against Journal Voucher' column
,You can set Default Bank Account in Company master,You can set Default Bank Account in Company master
,You can start by selecting backup frequency and granting access for sync,You can start by selecting backup frequency and granting access for sync
,You can submit this Stock Reconciliation.,You can submit this Stock Reconciliation.
,You can update either Quantity or Valuation Rate or both.,You can update either Quantity or Valuation Rate or both.
,You cannot credit and debit same account at the same time,You cannot credit and debit same account at the same time
,You have entered duplicate items. Please rectify and try again.,You have entered duplicate items. Please rectify and try again.
,You may need to update: {0},You may need to update: {0}
,You must Save the form before proceeding,You must Save the form before proceeding
,Your Customer's TAX registration numbers (if applicable) or any general information,Your Customer's TAX registration numbers (if applicable) or any general information
,Your Customers,Your Customers
,Your Login Id,Your Login Id
,Your Products or Services,Your Products or Services
,Your Suppliers,Your Suppliers
,Your email address,Your email address
,Your financial year begins on,Your financial year begins on
,Your financial year ends on,Your financial year ends on
,Your sales person who will contact the customer in future,Your sales person who will contact the customer in future
,Your sales person will get a reminder on this date to contact the customer,Your sales person will get a reminder on this date to contact the customer
,Your setup is complete. Refreshing...,Your setup is complete. Refreshing...
,Your support email id - must be a valid email - this is where your emails will come!,Your support email id - must be a valid email - this is where your emails will come!
,[Error],[Error]
,[Select],[Select]
,`Freeze Stocks Older Than` should be smaller than %d days.,`Freeze Stocks Older Than` should be smaller than %d days.
,and,and
,are not allowed.,are not allowed.
,assigned by,assigned by
,cannot be greater than 100,cannot be greater than 100
,disabled user,disabled user
,"e.g. ""Build tools for builders""","e.g. ""Build tools for builders"""
,"e.g. ""MC""","e.g. ""MC"""
,"e.g. ""My Company LLC""","e.g. ""My Company LLC"""
,e.g. 5,e.g. 5
,"e.g. Bank, Cash, Credit Card","e.g. Bank, Cash, Credit Card"
,"e.g. Kg, Unit, Nos, m","e.g. Kg, Unit, Nos, m"
,e.g. VAT,e.g. VAT
,eg. Cheque Number,eg. Númer ávísunar
,example: Next Day Shipping,example: Next Day Shipping
,fold,fold
,hidden,hidden
,hours,hours
,lft,lft
,old_parent,old_parent
,rgt,rgt
,to,to
,website page link,website page link
,{0} '{1}' not in Fiscal Year {2},{0} '{1}' not in Fiscal Year {2}
,{0} ({1}) must have role 'Expense Approver',{0} ({1}) must have role 'Expense Approver'
,{0} ({1}) must have role 'Leave Approver',{0} ({1}) must have role 'Leave Approver'
,{0} Credit limit {1} crossed,{0} Credit limit {1} crossed
,{0} Recipients,{0} Recipients
,{0} Serial Numbers required for Item {0}. Only {0} provided.,{0} Serial Numbers required for Item {0}. Only {0} provided.
,{0} Tree,{0} Tree
,{0} against Purchase Order {1},{0} against Purchase Order {1}
,{0} against Sales Invoice {1},{0} against Sales Invoice {1}
,{0} against Sales Order {1},{0} against Sales Order {1}
,{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} budget for Account {1} against Cost Center {2} will exceed by {3}
,{0} can not be negative,{0} can not be negative
,{0} created,{0} created
,{0} days from {1},{0} days from {1}
,{0} does not belong to Company {1},{0} does not belong to Company {1}
,{0} entered twice in Item Tax,{0} entered twice in Item Tax
,{0} is an invalid email address in 'Notification \					Email Address',{0} is an invalid email address in 'Notification \					Email Address'
,{0} is mandatory,{0} is mandatory
,{0} is mandatory for Item {1},{0} is mandatory for Item {1}
,{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.
,{0} is not a stock Item,{0} is not a stock Item
,{0} is not a valid Batch Number for Item {1},{0} is not a valid Batch Number for Item {1}
,{0} is not a valid Leave Approver. Removing row #{1}.,{0} is not a valid Leave Approver. Removing row #{1}.
,{0} is not a valid email id,{0} is not a valid email id
,{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.
,{0} is required,{0} is required
,{0} must be a Purchased or Sub-Contracted Item in row {1},{0} must be a Purchased or Sub-Contracted Item in row {1}
,{0} must be reduced by {1} or you should increase overflow tolerance,{0} must be reduced by {1} or you should increase overflow tolerance
,{0} valid serial nos for Item {1},{0} valid serial nos for Item {1}
,{0} {1} against Bill {2} dated {3},{0} {1} against Bill {2} dated {3}
,{0} {1} has already been submitted,{0} {1} has already been submitted
,{0} {1} has been modified. Please refresh.,{0} {1} has been modified. Please refresh.
,{0} {1} is fully billed,{0} {1} is fully billed
,{0} {1} is not submitted,{0} {1} is not submitted
,{0} {1} is stopped,{0} {1} is stopped
,{0} {1} must be submitted,{0} {1} must be submitted
,{0} {1} not in any Fiscal Year,{0} {1} not in any Fiscal Year
,{0} {1} status is 'Stopped',{0} {1} status is 'Stopped'
,{0} {1} status is Stopped,{0} {1} status is Stopped
,{0} {1} status is Unstopped,{0} {1} status is Unstopped
,{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Cost Center is mandatory for Item {2}
,{0}: {1} not found in Invoice Details table,{0}: {1} not found in Invoice Details table
