 (Half Day), (Pół dnia)
 and year: ,i rok:
""" does not exists",""" nie istnieje"
%  Delivered,% dostarczonych
% Amount Billed,% wartości rozliczonej
% Billed,% rozliczonych
% Completed,% zamkniętych
% Delivered,% dostarczonych
% Installed,% Zainstalowanych
% Received,% Otrzymanych
% of materials billed against this Purchase Order.,% materiałów rozliczonych w ramach zamówienia
% of materials billed against this Sales Order,% materiałów rozliczonych w ramach zlecenia sprzedaży
% of materials delivered against this Delivery Note,% materiałów dostarczonych w stosunku do dowodu dostawy
% of materials delivered against this Sales Order,% materiałów dostarczonych w ramach zlecenia sprzedaży
% of materials ordered against this Material Request,% materiałów zamówionych w stosunku do zapytania o materiały
% of materials received against this Purchase Order,% materiałów otrzymanych w ramach zamówienia
%(conversion_rate_label)s is mandatory. Maybe Currency Exchange record is not created for %(from_currency)s to %(to_currency)s,% ( conversion_rate_label )s jest obowiązkowa. Może rekord wymiany waluty nie jest stworzony dla wymiany %(from_currency )s na %(to_currency )s
'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,“Data od” jest wymagana
'From Date' must be after 'To Date','From Date' must be after 'To Date'
'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 invoice,'Notification Email Addresses' not specified for recurring invoice
'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,'To Date' is required
'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.
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
"<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>"
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,A Customer exists with same name
A Lead with this email id should exist,A Lead with this email id should exist
A Product or Service,Produkt lub usługa
A Supplier exists with same name,A Supplier exists with same name
A symbol for this currency. For e.g. $,A symbol for this currency. For e.g. $
AMC Expiry Date,AMC Expiry Date
Abbr,Abbr
Abbreviation cannot have more than 5 characters,Abbreviation cannot have more than 5 characters
About,About
Above Value,Above Value
Absent,Nieobecny
Acceptance Criteria,Kryteria akceptacji
Accepted,Accepted
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Accepted + Rejected Qty must be equal to Received quantity for Item {0}
Accepted Quantity,Accepted Quantity
Accepted Warehouse,Accepted Warehouse
Account,Konto
Account Balance,Bilans konta
Account Created: {0},Account Created: {0}
Account Details,Szczegóły konta
Account Head,Account Head
Account Name,Nazwa konta
Account Type,Account Type
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 exist,Account {0} does not exist
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} 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} can only be updated via \					Stock Transactions,Account: {0} can only be updated via \					Stock Transactions
Accountant,Księgowy
Accounting,Księgowość
"Accounting Entries can be made against leaf nodes, called","Accounting Entries can be made against leaf nodes, called"
"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,Księgowość
Accounts Browser,Accounts Browser
Accounts Frozen Upto,Accounts Frozen Upto
Accounts Payable,Accounts Payable
Accounts Receivable,Accounts Receivable
Accounts Settings,Accounts Settings
Active,Aktywny
Active: Will extract emails from ,Active: Will extract emails from 
Activity,Aktywność
Activity Log,Dziennik aktywności
Activity Log:,Dziennik aktywności:
Activity Type,Rodzaj aktywności
Actual,Właściwy
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,Actual Posting Date
Actual Qty,Actual Qty
Actual Qty (at source/target),Actual Qty (at source/target)
Actual Qty After Transaction,Actual Qty After Transaction
Actual Qty: Quantity available in the warehouse.,Actual Qty: Quantity available in the warehouse.
Actual Quantity,Actual Quantity
Actual Start Date,Actual Start Date
Add,Dodaj
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 Taxes and Charges,Dodaj podatki i opłaty
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,Adres
Address & Contact,Adres i kontakt
Address & Contacts,Adres i kontakty
Address Desc,Opis adresu
Address Details,Szczegóły adresu
Address HTML,Adres HTML
Address Line 1,Address Line 1
Address Line 2,Address Line 2
Address Title,Address Title
Address Title is mandatory.,Address Title is mandatory.
Address Type,Address Type
Address master.,Address master.
Administrative Expenses,Administrative Expenses
Administrative Officer,Administrative Officer
Advance Amount,Advance Amount
Advance amount,
Advances,Advances
Advertisement,Reklama
Advertising,Reklamowanie
Aerospace,Aerospace
After Sale Installations,After Sale Installations
Against,Against
Against Account,Against Account
Against Bill {0} dated {1},Against Bill {0} dated {1}
Against Docname,Against Docname
Against Doctype,Against Doctype
Against Document Detail No,Against Document Detail No
Against Document No,Against Document No
Against Entries,Against Entries
Against Expense Account,Against Expense Account
Against Income Account,Against Income Account
Against Journal Entry,Against Journal Entry
Against Journal Entry {0} does not have any unmatched {1} entry,Against Journal Entry {0} does not have any unmatched {1} entry
Against Purchase Invoice,Against Purchase Invoice
Against Sales Invoice,Against Sales Invoice
Against Sales Order,Against Sales Order
Against Voucher,Against Voucher
Against Voucher Type,Against Voucher Type
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,
Agent,Agent
Aging Date,Aging Date
Aging Date is mandatory for opening entry,Aging Date is mandatory for opening entry
Agriculture,Agriculture
Airline,Airline
All Addresses.,Wszystkie adresy
All Contact,All Contact
All Contacts.,Wszystkie kontakty.
All Customer Contact,All Customer Contact
All Customer Groups,All Customer Groups
All Day,All Day
All Employee (Active),All Employee (Active)
All Item Groups,All Item Groups
All Lead (Open),All Lead (Open)
All Products or Services.,Wszystkie produkty i usługi.
All Sales Partner Contact,All Sales Partner Contact
All Sales Person,All Sales Person
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,All items have already been invoiced
All items have already been transferred for this Production Order.,All items have already been transferred for this Production Order.
All these items have already been invoiced,All these items have already been invoiced
Allocate,Allocate
Allocate Amount Automatically,Allocate Amount Automatically
Allocate leaves for a period.,Allocate leaves for a period.
Allocate leaves for the year.,Allocate leaves for the year.
Allocated Amount,Allocated Amount
Allocated Budget,Allocated Budget
Allocated amount,
Allocated amount can not be negative,Allocated amount can not be negative
Allocated amount can not greater than unadusted amount,Allocated amount can not greater than unadusted amount
Allow Bill of Materials,Zezwól na zestawienie materiałowe
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,Allow Negative Stock
Allow Production Order,Allow Production Order
Allow User,Allow User
Allow Users,Allow Users
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,Dopuszczalny procent
Allowance for over-delivery / over-billing crossed for Item {0},Allowance for over-delivery / over-billing crossed for Item {0}
Allowed Role to Edit Entries Before Frozen Date,Allowed Role to Edit Entries Before Frozen Date
Amended From,Amended From
Amount,Wartość
Amount (Company Currency),Amount (Company Currency)
Amount <=,Amount <=
Amount >=,Amount >=
Amount to Bill,Amount to Bill
An Customer exists with same name,An Customer exists with same name
"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,Analyst
Annual,Roczny
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 {0}. Please make its status 'Inactive' to proceed.,Another Salary Structure {0} is active for employee {0}. 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,Apparel & Accessories
Applicability,Applicability
Applicable For,Applicable For
Applicable Holiday List,Applicable Holiday List
Applicable Territory,Applicable Territory
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,Applicant Name
Applicant for a Job.,Applicant for a Job.
Application of Funds (Assets),Application of Funds (Assets)
Applications for leave.,Applications for leave.
Applies to Company,Applies to Company
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,Approval Status
Approval Status must be 'Approved' or 'Rejected',Approval Status must be 'Approved' or 'Rejected'
Approved,Approved
Approver,Approver
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', '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', 'Is Stock Item' and 'Valuation Method'"
Asset,Składnik aktywów
Assistant,Asystent
Associate,Associate
Atleast one warehouse is mandatory,Atleast one warehouse is mandatory
Attach Image,Dołącz obrazek
Attach Letterhead,Attach Letterhead
Attach Logo,Attach Logo
Attach Your Picture,Attach Your Picture
Attendance,Attendance
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.
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,Automatycznie twórz Zamówienie Produktu jeśli ilość w magazynie spada poniżej poziomu dla ponownego zamówienia
Automatically compose message on submission of transactions.,Automatically compose message on submission of transactions.
Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box 
Automatically extract Leads from a mail box e.g.,Automatically extract Leads from a mail box e.g.
Automatically updated via Stock Entry of type Manufacture/Repack,Automatically updated via Stock Entry of type Manufacture/Repack
Automotive,Automotive
Autoreply when a new mail is received,Autoreply when a new mail is received
Available,Dostępny
Available Qty at Warehouse,Ilość dostępna w magazynie
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
Awesome Products,Awesome Products
Awesome Services,Awesome Services
BOM Detail No,BOM Detail No
BOM Explosion Item,BOM Explosion Item
BOM Item,BOM Item
BOM No,Nr zestawienia materiałowego
BOM No. for a Finished Good Item,BOM No. for a Finished Good Item
BOM Operation,BOM Operation
BOM Operations,BOM Operations
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,Backup Manager
Backup Right Now,Backup Right Now
Backups will be uploaded to,Backups will be uploaded to
Balance Qty,Balance Qty
Balance Sheet,Balance Sheet
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 A/C No.,Bank A/C No.
Bank Account,Konto bankowe
Bank Account No.,Nr konta bankowego
Bank Accounts,Konta bankowe
Bank Clearance Summary,Bank Clearance Summary
Bank Draft,Bank Draft
Bank Name,Nazwa banku
Bank Overdraft Account,Bank Overdraft Account
Bank Reconciliation,Bank Reconciliation
Bank Reconciliation Detail,Bank Reconciliation Detail
Bank Reconciliation Statement,Bank Reconciliation Statement
Bank Entry,Bank Entry
Bank/Cash Balance,Bank/Cash Balance
Banking,Banking
Barcode,Kod kreskowy
Barcode {0} already used in Item {1},Barcode {0} already used in Item {1}
Based On,Bazujący na
Basic,Podstawowy
Basic Info,Informacje podstawowe
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) produktu.
Batch Finished Date,Data zakończenia lotu
Batch ID,Identyfikator lotu
Batch No,Nr lotu
Batch Started Date,Data rozpoczęcia lotu
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 No {0} already booked in Purchase Invoice {1},Bill No {0} already booked in Purchase Invoice {1}
Bill of Material,Zestawienie materiałowe
Bill of Material to be considered for manufacturing,Bill of Material to be considered for manufacturing
Bill of Materials (BOM),Zestawienie materiałowe (BOM)
Billable,Billable
Billed,Billed
Billed Amount,Billed Amount
Billed Amt,Billed Amt
Billing,Billing
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,Urodziny
Block Date,Block Date
Block Days,Block 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,Marka
Brand Name,Nazwa marki
Brand master.,Brand master.
Brands,Marki
Breakdown,Breakdown
Broadcasting,Broadcasting
Brokerage,Brokerage
Budget,Budżet
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
Built on,Built on
Bundle items at time of sale.,Bundle items at time of sale.
Business Development Manager,Business Development Manager
Buying,Zakupy
Buying & Selling,Zakupy i sprzedaż
Buying Amount,Buying Amount
Buying Settings,Buying Settings
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
Calculate Based On,Calculate Based On
Calculate Total Score,Calculate Total Score
Calendar Events,Calendar Events
Call,Call
Calls,Calls
Campaign,Kampania
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,Cancelled
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 Year Start Date and Year End Date once the Fiscal Year is saved.,Cannot change Year Start Date and 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 'Setup' > 'Global Defaults'","Cannot overbill for Item {0} in row {0} more than {1}. To allow overbilling, please set in 'Setup' > 'Global Defaults'"
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,Capital Account
Capital Equipments,Capital Equipments
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,Gotówka
Cash In Hand,Cash In Hand
Cash Entry,Cash Entry
Cash or Bank Account is mandatory for making payment entry,Cash or Bank Account is mandatory for making payment entry
Cash/Bank Account,Cash/Bank Account
Casual Leave,Casual Leave
Cell Number,Cell Number
Change UOM for an Item.,Change UOM for an Item.
Change the starting / current sequence number of an existing series.,Change the starting / current sequence number of an existing series.
Channel Partner,Channel Partner
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,Chargeable
Charity and Donations,Charity and Donations
Chart Name,Chart Name
Chart of Accounts,Chart of Accounts
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 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,Check to activate
Check to make Shipping Address,Check to make Shipping Address
Check to make primary address,Check to make primary address
Chemical,Chemical
Cheque,Cheque
Cheque Date,Cheque Date
Cheque Number,Cheque Number
Child account exists for this account. You can not delete this account.,Child account exists for this account. You can not delete this account.
City,Miasto
City/Town,Miasto/Miejscowość
Claim Amount,Claim Amount
Claims for company expense.,Claims for company expense.
Class / Percentage,Class / Percentage
Classic,Klasyczny
Clear Table,Clear Table
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 Balance Sheet and book Profit or Loss.,Close Balance Sheet and book Profit or Loss.
Closed,Closed
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
Closing Qty,Closing Qty
Closing Value,Closing Value
CoA Help,CoA Help
Code,Kod
Cold Calling,Cold Calling
Color,Kolor
Comma separated list of email addresses,Comma separated list of email addresses
Comments,Komentarze
Commercial,Commercial
Commission,Prowizja
Commission Rate,Commission Rate
Commission Rate (%),Commission Rate (%)
Commission on Sales,Commission on Sales
Commission rate cannot be greater than 100,Commission rate cannot be greater than 100
Communication,Komunikacja
Communication HTML,Communication HTML
Communication History,Historia komunikacji
Communication log.,Communication log.
Communications,Communications
Company,Firma
Company (not Customer or Supplier) master.,Company (not Customer or Supplier) master.
Company Abbreviation,Nazwa skrótowa firmy
Company Details,Szczegóły firmy
Company Email,Email do firmy
"Company Email ID not found, hence mail not sent","Company Email ID not found, hence mail not sent"
Company Info,Informacje o firmie
Company Name,Nazwa firmy
Company Settings,Ustawienia firmy
Company is missing in warehouses {0},Company is missing in warehouses {0}
Company is required,Company is required
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,Complete
Complete Setup,Complete Setup
Completed,Completed
Completed Production Orders,Completed Production Orders
Completed Qty,Completed Qty
Completion Date,Completion Date
Completion Status,Completion Status
Computer,Komputer
Computers,Komputery
Confirmation Date,Data potwierdzenia
Confirmed orders from Customers.,Confirmed orders from Customers.
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,Konsultant
Consulting,Konsulting
Consumable,Consumable
Consumable Cost,Consumable Cost
Consumable cost per hour,Consumable cost per hour
Consumed Qty,Consumed Qty
Consumer Products,Consumer Products
Contact,Kontakt
Contact Control,Contact Control
Contact Desc,Contact Desc
Contact Details,Contact Details
Contact Email,Contact Email
Contact HTML,Contact HTML
Contact Info,Dane kontaktowe
Contact Mobile No,Contact Mobile No
Contact Name,Nazwa kontaktu
Contact No.,Contact No.
Contact Person,Contact Person
Contact Type,Contact Type
Contact master.,Contact master.
Contacts,Kontakty
Content,Zawartość
Content Type,Content Type
Contra Entry,Contra Entry
Contract,Kontrakt
Contract End Date,Contract End Date
Contract End Date must be greater than Date of Joining,Contract End Date must be greater than Date of Joining
Contribution (%),Contribution (%)
Contribution to Net Total,Contribution to Net Total
Conversion Factor,Conversion Factor
Conversion Factor is required,Conversion Factor is required
Conversion factor cannot be in fractions,Conversion factor cannot be in fractions
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 into Recurring Invoice,Convert into Recurring Invoice
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 Name,Cost Center Name
Cost Center is mandatory for Item {0},Cost Center is mandatory for Item {0}
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 Goods Sold,Cost of Goods Sold
Costing,Zestawienie kosztów
Country,Kraj
Country Name,Nazwa kraju
"Country, Timezone and Currency","Country, Timezone and Currency"
Create Bank Entry for the total salary paid for the above selected criteria,Create Bank Entry for the total salary paid for the above selected criteria
Create Customer,Create Customer
Create Material Requests,Create Material Requests
Create New,Create New
Create Opportunity,Create Opportunity
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 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,Created By
Creates salary slip for above mentioned criteria.,Creates salary slip for above mentioned criteria.
Creation Date,Data stworzenia
Creation Document No,Creation Document No
Creation Document Type,Creation Document Type
Creation Time,Czas stworzenia
Credentials,Credentials
Credit,Credit
Credit Amt,Credit Amt
Credit Card,Credit Card
Credit Card Entry,Credit Card Entry
Credit Controller,Credit Controller
Credit Days,Credit Days
Credit Limit,Credit Limit
Credit Note,Credit Note
Credit To,Credit To
Currency,Currency
Currency Exchange,Currency Exchange
Currency Name,Currency Name
Currency Settings,Currency Settings
Currency and Price List,Waluta i cennik
Currency exchange rate master.,Currency exchange rate master.
Current Address,Current Address
Current Address Is,Current Address Is
Current Assets,Current Assets
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,Current Liabilities
Current Stock,Current Stock
Current Stock UOM,Current Stock UOM
Current Value,Current Value
Custom,Custom
Custom Autoreply Message,Custom Autoreply Message
Custom Message,Custom Message
Customer,Klient
Customer (Receivable) Account,Customer (Receivable) Account
Customer / Item Name,Customer / Item Name
Customer / Lead Address,Customer / Lead Address
Customer / Lead Name,Customer / Lead Name
Customer Account Head,Customer Account Head
Customer Acquisition and Loyalty,Customer Acquisition and Loyalty
Customer Address,Adres klienta
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 Intro,Customer Intro
Customer Issue,Customer Issue
Customer Issue against Serial No.,Customer Issue against Serial No.
Customer Name,Nazwa klienta
Customer Naming By,Customer Naming By
Customer Service,Customer Service
Customer database.,Baza danych klientów.
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
Customerwise Discount,Customerwise Discount
Customize,Customize
Customize the Notification,Customize the Notification
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.
DN Detail,DN Detail
Daily,Daily
Daily Time Log Summary,Daily Time Log Summary
Database Folder ID,Database Folder ID
Database of potential customers.,Baza danych potencjalnych klientów.
Date,Data
Date Format,Format daty
Date Of Retirement,Date Of Retirement
Date Of Retirement must be greater than Date of Joining,Date Of Retirement must be greater than Date of Joining
Date is repeated,Date is repeated
Date of Birth,Date of Birth
Date of Issue,Date of Issue
Date of Joining,Date of Joining
Date of Joining must be greater than Date of Birth,Date of Joining must be greater than Date of Birth
Date on which lorry started from supplier warehouse,Date on which lorry started from supplier warehouse
Date on which lorry started from your warehouse,Date on which lorry started from your warehouse
Dates,Dates
Days Since Last Order,Days Since Last Order
Days for which Holidays are blocked for this department.,Days for which Holidays are blocked for this department.
Dealer,Dealer
Debit,Debit
Debit Amt,Debit Amt
Debit Note,Debit Note
Debit To,Debit To
Debit and Credit not equal for this voucher. Difference is {0}.,Debit and Credit not equal for this voucher. Difference is {0}.
Deduct,Deduct
Deduction,Deduction
Deduction Type,Deduction Type
Deduction1,Deduction1
Deductions,Deductions
Default,Default
Default Account,Default Account
Default BOM,Default BOM
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.
Default Bank Account,Default Bank Account
Default Buying Cost Center,Default Buying Cost Center
Default Buying Price List,Default Buying Price List
Default Cash Account,Default Cash Account
Default Company,Default Company
Default Cost Center for tracking expense for this item.,Default Cost Center for tracking expense for this item.
Default Currency,Domyślna waluta
Default Customer Group,Default Customer Group
Default Expense Account,Default Expense Account
Default Income Account,Default Income Account
Default Item Group,Default Item Group
Default Price List,Default Price List
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,Default Settings
Default Source Warehouse,Domyślny źródłowy magazyn
Default Stock UOM,Default Stock UOM
Default Supplier,Domyślny dostawca
Default Supplier Type,Default Supplier Type
Default Target Warehouse,Domyślny magazyn docelowy
Default Territory,Default Territory
Default Unit of Measure,Domyślna jednostka miary
"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,Default Valuation Method
Default Warehouse,Domyślny magazyn
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>",Setup
Delete,Usuń
Delete {0} {1}?,Delete {0} {1}?
Delivered,Delivered
Delivered Items To Be Billed,Delivered Items To Be Billed
Delivered Qty,Delivered Qty
Delivered Serial No {0} cannot be deleted,Delivered Serial No {0} cannot be deleted
Delivery Date,Data dostawy
Delivery Details,Szczegóły dostawy
Delivery Document No,Nr dokumentu dostawy
Delivery Document Type,Typ dokumentu dostawy
Delivery Note,Dowód dostawy
Delivery Note Item,Delivery Note Item
Delivery Note Items,Delivery Note Items
Delivery Note Message,Delivery Note Message
Delivery Note No,Nr dowodu dostawy
Delivery Note Required,Delivery Note Required
Delivery Note Trends,Delivery Note Trends
Delivery Note {0} is not submitted,Delivery Note {0} is not submitted
Delivery Note {0} must not be submitted,Delivery Note {0} must not be submitted
Delivery Notes {0} must be cancelled before cancelling this Sales Order,Delivery Notes {0} must be cancelled before cancelling this Sales Order
Delivery Status,Status dostawy
Delivery Time,Czas dostawy
Delivery To,Dostawa do
Department,Department
Department Stores,Department Stores
Depends on LWP,Depends on LWP
Depreciation,Depreciation
Description,Opis
Description HTML,Opis HTML
Designation,Designation
Designer,Designer
Detailed Breakup of the totals,Detailed Breakup of the totals
Details,Details
Difference (Dr - Cr),Difference (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,Direct Expenses
Direct Income,Direct Income
Disable,Disable
Disable Rounded Total,Disable Rounded Total
Disabled,Nieaktywny
Discount  %,Rabat %
Discount %,Rabat %
Discount (%),Rabat (%)
Discount Amount,Wartość rabatu
"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,Procent rabatu
Discount must be less than 100,Discount must be less than 100
Discount(%),Rabat (%)
Dispatch,Dispatch
Display all the individual items delivered with the main items,Display all the individual items delivered with the main items
Distribute transport overhead across items.,Distribute transport overhead across items.
Distribution,Distribution
Distribution Id,Distribution Id
Distribution Name,Distribution Name
Distributor,Dystrybutor
Divorced,Divorced
Do Not Contact,Do Not Contact
Do not show any symbol like $ etc next to currencies.,Do not show any symbol like $ etc next to currencies.
Do really want to unstop production order: ,Do really want to unstop production order: 
Do you really want to STOP ,Do you really want to STOP 
Do you really want to STOP this Material Request?,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: ,Do you really want to stop production order: 
Doc Name,Doc Name
Doc Type,Doc Type
Document Description,Document Description
Document Type,Document Type
Documents,Dokumenty
Domain,Domena
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,Download Template
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"
Draft,Szkic
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,Duties and Taxes
ERPNext Setup,ERPNext Setup
Earliest,Earliest
Earnest Money,Earnest Money
Earning,Earning
Earning & Deduction,Earning & Deduction
Earning Type,Earning Type
Earning1,Earning1
Edit,Edytuj
Education,Education
Educational Qualification,Educational Qualification
Educational Qualification Details,Educational Qualification Details
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,Koszt energii elekrycznej
Electricity cost per hour,Koszt energii elektrycznej na godzinę
Electronics,Electronics
Email,Email
Email Digest,Email Digest
Email Digest Settings,Email Digest Settings
Email Digest: ,Email Digest: 
Email Id,Email Id
"Email Id where a job applicant will email e.g. ""jobs@example.com""","Email Id where a job applicant will email e.g. ""jobs@example.com"""
Email Notifications,Email Notifications
Email Sent?,Email Sent?
"Email id must be unique, already exists for {0}","Email id must be unique, already exists for {0}"
Email ids separated by commas.,Email ids separated by commas.
"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,Emergency Contact
Emergency Contact Details,Emergency Contact Details
Emergency Phone,Emergency Phone
Employee,Pracownik
Employee Birthday,Data urodzenia pracownika
Employee Details,Employee Details
Employee Education,Wykształcenie pracownika
Employee External Work History,Employee External Work History
Employee Information,Employee Information
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,Employee Name
Employee Number,Employee Number
Employee Records to be created by,Employee Records to be created by
Employee Settings,Employee Settings
Employee Type,Employee Type
"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.,Employee records.
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,Włączony
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 of Life,Zakończenie okresu eksploatacji
Energy,Energia
Engineer,Inżynier
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 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,Entertainment Expenses
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.
Entries before {0} are frozen,Entries before {0} are frozen
Equity,Equity
Error: {0} > {1},Error: {0} > {1}
Estimated Material Cost,Estimated Material Cost
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 Page Number,Excise Page Number
Excise Entry,Excise Entry
Execution,Execution
Executive Search,Executive Search
Exemption Limit,Exemption Limit
Exhibition,Exhibition
Existing Customer,Existing Customer
Exit,Wyjście
Exit Interview Details,Exit Interview Details
Expected,Przewidywany
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
Expense,Expense
Expense Account,Expense Account
Expense Account is mandatory,Expense Account is mandatory
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,Wydatki
Expenses Booked,Expenses Booked
Expenses Included In Valuation,Expenses Included In Valuation
Expenses booked for the digest period,Expenses booked for the digest period
Expiry Date,Data ważności
Exports,Exports
External,External
Extract Emails,Extract Emails
FCFS Rate,FCFS Rate
Failed: ,Failed: 
Family Background,Family Background
Fax,Faks
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,Financial Analytics
Financial Services,Financial Services
Financial Year End Date,Financial Year End Date
Financial Year Start Date,Financial Year Start Date
Finished Goods,Finished Goods
First Name,First Name
First Responded On,First Responded On
Fiscal Year,Rok obrotowy
Fixed Asset,Fixed Asset
Fixed Assets,Fixed Assets
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,Żywność
"Food, Beverage & Tobacco","Food, Beverage & Tobacco"
For Company,Dla firmy
For Employee,Dla pracownika
For Employee Name,For Employee Name
For Price List,For Price List
For Production,For Production
For Reference Only.,Wyłącznie w celach informacyjnych.
For Sales Invoice,For Sales Invoice
For Server Side Print Formats,For Server Side Print Formats
For Supplier,Dla dostawcy
For Warehouse,Dla magazynu
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 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"
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,Freight and Forwarding Charges
Friday,Piątek
From,Od
From Bill of Materials,Z zestawienia materiałowego
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,From Date
From Date must be before To Date,From Date must be before To Date
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 Completed,Fully Completed
Furniture and Fixture,Furniture and Fixture
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,General Ledger
Generate Description HTML,Generuj opis 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
Generates HTML to include selected image in the description,Generuje HTML zawierający wybrany obrazek w opisie
Get Advances Paid,Get Advances Paid
Get Advances Received,Get Advances Received
Get Against Entries,Get Against Entries
Get Current Stock,Pobierz aktualny stan magazynowy
Get Items,Pobierz produkty
Get Items From Sales Orders,Get Items From Sales Orders
Get Items from BOM,Weź produkty z zestawienia materiałowego
Get Last Purchase Rate,Get Last Purchase Rate
Get Outstanding Invoices,Get Outstanding Invoices
Get Relevant Entries,Get Relevant Entries
Get Sales Orders,Get Sales Orders
Get Specification Details,Pobierz szczegóły specyfikacji
Get Stock and Rate,Pobierz stan magazynowy i stawkę
Get Template,Get Template
Get Terms and Conditions,Get Terms and Conditions
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,Global Settings
"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.,Produkty otrzymane od dostawców.
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,Gross Profit
Gross Profit (%),Gross Profit (%)
Gross Weight,Gross Weight
Gross Weight UOM,Gross Weight UOM
Group,Grupa
Group by Account,Group by Account
Group by Voucher,Group by Voucher
Group or Ledger,Group or Ledger
Groups,Grupy
HR Manager,HR Manager
HR Settings,HR Settings
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,Posada numer lotu (batch'u)
Has Child Node,Has Child Node
Has Serial No,Posiada numer seryjny
Head of Marketing and Sales,Head of Marketing and Sales
Header,Nagłówek
Health Care,Opieka zdrowotna
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,Wysoki
History In Company,History In Company
Hold,Hold
Holiday,Holiday
Holiday List,Holiday List
Holiday List Name,Holiday List Name
Holiday master.,Holiday master.
Holidays,Holidays
Home,Home
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,Godzina
Hour Rate,Stawka godzinowa
Hour Rate Labour,Hour Rate Labour
Hours,Godziny
How frequently?,Jak często?
"How should this currency be formatted? If not set, will use system defaults","How should this currency be formatted? If not set, will use system defaults"
Human Resources,Kadry
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 Sale BOM is defined, the actual BOM of the Pack is displayed as table. Available in Delivery Note and Sales Order","If Sale BOM is defined, the actual BOM of the Pack is displayed as table. Available in Delivery Note and Sales Order"
"If Supplier Part Number exists for given Item, it gets stored here","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 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 applicable please enter: NA,If not applicable please enter: NA
"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 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 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
Ignored: ,Ignored: 
Image,Obrazek
Image View,Image View
Implementation Partner,Implementation Partner
Import Attendance,Import Attendance
Import Failed!,Import Failed!
Import Log,Import Log
Import Successful!,Import Successful!
Imports,Imports
In Hours,In Hours
In Process,In Process
In Qty,In Qty
In Value,In Value
In Words,Słownie
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,Income
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 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,Indicates that the package is a part of this delivery
Indirect Expenses,Indirect Expenses
Indirect Income,Indirect Income
Individual,Individual
Industry,Industry
Industry Type,Industry Type
Inspected By,Skontrolowane przez
Inspection Criteria,Kryteria kontrolne
Inspection Required,Wymagana kontrola
Inspection Type,Typ kontroli
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,Instrukcje
Integrate incoming support emails to Support Ticket,Integrate incoming support emails to Support Ticket
Interested,Interested
Intern,Intern
Internal,Internal
Internet Publishing,Internet Publishing
Introduction,Introduction
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,Inwentarz
Inventory & Support,Inventory & Support
Investment Banking,Investment Banking
Investments,Investments
Invoice Date,Invoice Date
Invoice Details,Invoice Details
Invoice No,Invoice No
Invoice Period From Date,Invoice Period From Date
Invoice Period From and Invoice Period To dates mandatory for recurring invoice,Invoice Period From and Invoice Period To dates mandatory for recurring invoice
Invoice Period To Date,Invoice Period To Date
Invoiced Amount (Exculsive Tax),Invoiced Amount (Exculsive Tax)
Is Active,Jest aktywny
Is Advance,Is Advance
Is Cancelled,Is Cancelled
Is Carry Forward,Is Carry Forward
Is Default,Jest domyślny
Is Encash,Is Encash
Is Fixed Asset Item,Jest stałą pozycją aktywów
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,Jest produktem kupowalnym
Is Sales Item,Jest produktem sprzedawalnym
Is Service Item,Jest usługą
Is Stock Item,Jest produktem w magazynie
Is Sub Contracted Item,Produkcja jest zlecona innemu podmiotowi
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,Produkt
Item Advanced,Item Advanced
Item Barcode,Kod kreskowy produktu
Item Batch Nos,Item Batch Nos
Item Code,Kod produktu
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,Opis produktu
Item Desription,Opis produktu
Item Details,Szczegóły produktu
Item Group,Grupa produktów
Item Group Name,Item Group Name
Item Group Tree,Drzewo grup produktów
Item Groups in Details,Item Groups in Details
Item Image (if not slideshow),Item Image (if not slideshow)
Item Name,Nazwa produktu
Item Naming By,Item Naming By
Item Price,Cena produktu
Item Prices,Ceny produktu
Item Quality Inspection Parameter,Item Quality Inspection Parameter
Item Reorder,Item Reorder
Item Serial No,Nr seryjny produktu
Item Serial Nos,Item Serial Nos
Item Shortage Report,Item Shortage Report
Item Supplier,Dostawca produktu
Item Supplier Details,Szczegóły dostawcy produktu
Item Tax,Podatek dla produktu
Item Tax Amount,Wysokość podatku dla produktu
Item Tax Rate,Stawka podatku dla produktu
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,Produkt do wyprodukowania
Item UOM,Jednostka miary produktu
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 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 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,"Produkt, który ma zostać wyprodukowany lub przepakowany"
Item valuation updated,Item valuation updated
Item will be saved by this name in the data base.,Produkt zostanie zapisany pod tą nazwą w bazie danych.
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,Produkty
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 Entry,Journal Entry
Journal Entry Account,Journal Entry Account
Journal Entry Account No,Journal Entry Account No
Journal Entry {0} does not have account {1} or already matched,Journal Entry {0} does not have account {1} or already matched
Journal Entries {0} are un-linked,Journal Entries {0} are un-linked
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,Nr ciężarówki
Label,Label
Landed Cost Item,Landed Cost Item
Landed Cost Items,Landed Cost Items
Landed Cost Purchase Receipt,Landed Cost Purchase Receipt
Landed Cost Purchase Receipts,Landed Cost Purchase Receipts
Landed Cost Wizard,Landed Cost Wizard
Landed Cost updated successfully,Landed Cost updated successfully
Language,Language
Last Name,Last Name
Last Purchase Rate,Last Purchase Rate
Latest,Latest
Lead,Lead
Lead Details,Lead Details
Lead Id,Lead Id
Lead Name,Lead Name
Lead Owner,Lead Owner
Lead Source,Lead Source
Lead Status,Lead Status
Lead Time Date,Termin realizacji
Lead Time Days,Czas realizacji (dni)
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.,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.
Lead Type,Lead Type
Lead must be set if Opportunity is made from Lead,Lead must be set if Opportunity is made from Lead
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,Left
Legal,Legal
Legal Expenses,Legal Expenses
Letter Head,Letter Head
Letter Heads for print templates.,Letter Heads for print templates.
Level,Level
Lft,Lft
Liability,Liability
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 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...,Loading...
Loans (Liabilities),Loans (Liabilities)
Loans and Advances (Assets),Loans and Advances (Assets)
Local,Local
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,Low
Lower Income,Lower Income
MTN Details,MTN Details
Main,Główny
Main Reports,Raporty główne
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,Maintenance
Maintenance Date,Maintenance Date
Maintenance Details,Maintenance Details
Maintenance Schedule,Maintenance Schedule
Maintenance Schedule Detail,Maintenance Schedule Detail
Maintenance Schedule Item,Maintenance Schedule Item
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule'
Maintenance Schedule {0} exists against {0},Maintenance Schedule {0} exists against {0}
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Maintenance Schedule {0} must be cancelled before cancelling this Sales Order
Maintenance Schedules,Maintenance Schedules
Maintenance Status,Maintenance Status
Maintenance Time,Maintenance Time
Maintenance Type,Maintenance Type
Maintenance Visit,Maintenance Visit
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 ,Stwórz
Make Accounting Entry For Every Stock Movement,Make Accounting Entry For Every Stock Movement
Make Bank Entry,Make Bank Entry
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 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 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
Male,Male
Manage Customer Group Tree.,Manage Customer Group Tree.
Manage Sales Person Tree.,Manage Sales Person Tree.
Manage Territory Tree.,Manage Territory Tree.
Manage cost of operations,Zarządzaj kosztami działań
Management,Management
Manager,Manager
"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.",Wymagane jeśli jest produktem w magazynie. Również z domyślnego magazynu rezerwowana jest wymagana ilość przy Zleceniu Sprzedaży.
Manufacture against Sales Order,Manufacture against Sales Order
Manufacture/Repack,Produkcja/Przepakowanie
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,Producent
Manufacturer Part Number,Numer katalogowy producenta
Manufacturing,Produkcja
Manufacturing Quantity,Ilość produkcji
Manufacturing Quantity is mandatory,Manufacturing Quantity is mandatory
Margin,Margin
Marital Status,Marital Status
Market Segment,Market Segment
Marketing,Marketing
Marketing Expenses,Marketing Expenses
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,Wydanie materiałów
Material Receipt,Przyjęcie materiałów
Material Request,Zamówienie produktu
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,Typ zamówienia produktu
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,Transfer materiałów
Materials,Materiały
Materials Required (Exploded),Materials Required (Exploded)
Max 5 characters,Max 5 characters
Max Days Leave Allowed,Max Days Leave Allowed
Max Discount (%),Maksymalny rabat (%)
Max Qty,Maks. Ilość
Maximum allowed credit is {0} days after posting date,Maximum allowed credit is {0} days after posting date
Maximum {0} rows allowed,Maximum {0} rows allowed
Maxiumm discount for Item {0} is {1}%,Maxiumm discount for Item {0} is {1}%
Medical,Medyczny
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,Wiadomość
Message Parameter,Message Parameter
Message Sent,Wiadomość wysłana
Message updated,Message updated
Messages,Wiadomości
Messages greater than 160 characters will be split into multiple messages,Messages greater than 160 characters will be split into multiple messages
Middle Income,Middle Income
Milestone,Milestone
Milestone Date,Milestone Date
Milestones,Milestones
Milestones will be added as Events in the Calendar,Milestones will be added as Events in the Calendar
Min Order Qty,Min. wartość zamówienia
Min Qty,Min. ilość
Min Qty can not be greater than Max Qty,Min Qty can not be greater than Max Qty
Minimum Order Qty,Minimalna wartość zamówienia
Minute,Minuta
Misc Details,Misc Details
Miscellaneous Expenses,Miscellaneous Expenses
Miscelleneous,Miscelleneous
Mobile No,Nr tel. Komórkowego
Mobile No.,Nr tel. Komórkowego
Mode of Payment,Mode of Payment
Modern,Nowoczesny
Modified Amount,Modified Amount
Monday,Poniedziałek
Month,Miesiąc
Monthly,Miesięcznie
Monthly Attendance Sheet,Monthly Attendance Sheet
Monthly Earning & Deduction,Monthly Earning & Deduction
Monthly Salary Register,Monthly Salary Register
Monthly salary statement.,Monthly salary statement.
More Details,More Details
More Info,Więcej informacji
Motion Picture & Video,Motion Picture & Video
Moving Average,Moving Average
Moving Average Rate,Moving Average Rate
Mr,Pan
Ms,Pani
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. Price Rules: {0}"
Music,Muzyka
Must be Whole Number,Musi być liczbą całkowitą
Name,Imię
Name and Description,Nazwa i opis
Name and Employee ID,Name and Employee ID
"Name of new Account. Note: Please don't create accounts for Customers and Suppliers, they are created automatically from the Customer and Supplier master","Name of new Account. 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,Negative Quantity is not allowed
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 Total,Łączna wartość netto
Net Total (Company Currency),Łączna wartość netto (waluta firmy)
Net Weight,Waga netto
Net Weight UOM,Jednostka miary wagi netto
Net Weight of each Item,Waga netto każdego produktu
Net pay cannot be negative,Net pay cannot be negative
Never,Nigdy
New ,Nowy
New Account,Nowe konto
New Account Name,Nowa nazwa konta
New BOM,Nowe zestawienie materiałowe
New Communications,New Communications
New Company,Nowa firma
New Cost Center,New Cost Center
New Cost Center Name,New Cost Center Name
New Delivery Notes,New Delivery Notes
New Enquiries,New Enquiries
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,Nowe projekty
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
Newsletter,Newsletter
Newsletter Content,Newsletter Content
Newsletter Status,Newsletter Status
Newsletter has already been sent,Newsletter has already been sent
Newsletters is not allowed for Trial users,Newsletters is not allowed for Trial users
"Newsletters to contacts, leads.","Newsletters to contacts, leads."
Newspaper Publishers,Newspaper Publishers
Next,Następny
Next Contact By,Next Contact By
Next Contact Date,Next Contact Date
Next Date,Next Date
Next email will be sent on:,Next email will be sent on:
No,Nie
No Customer Accounts found.,No Customer Accounts found.
No Customer or Supplier Accounts found,No Customer or Supplier Accounts found
No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user,No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user
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 Leave Approvers. Please assign 'Leave Approver' Role to atleast one user,No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user
No Permission,No Permission
No Production Orders created,No Production Orders created
No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.
No accounting entries for the following warehouses,No accounting entries for the following warehouses
No addresses created,No addresses created
No contacts created,No contacts created
No default BOM exists for Item {0},No default BOM exists for Item {0}
No description given,No description given
No employee found,No employee found
No employee found!,No employee found!
No of Requested SMS,No of Requested SMS
No of Sent SMS,No of Sent SMS
No of Visits,No of Visits
No permission,
No record found,No record found
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,Niedostępny
Not Billed,Not Billed
Not Delivered,Not Delivered
Not Set,Not Set
Not allowed to update entries older than {0},Not allowed to update entries 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: 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: 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: 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,Notatki
Notes:,Notatki:
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
Offer Date,Offer Date
Office,Biuro
Office Equipments,Office Equipments
Office Maintenance Expenses,Office Maintenance Expenses
Office Rent,Office Rent
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.",Tylko numery seryjne o statusie “Dostępny” mogą zostać dostarczone.
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,Otwarty
Open Production Orders,Open Production Orders
Open Tickets,Open Tickets
Open source ERP built for the web,Open source ERP built for the web
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 Value,Opening Value
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,Działania
Opportunity,Szansa
Opportunity Date,Data szansy
Opportunity From,Szansa od
Opportunity Item,Opportunity Item
Opportunity Items,Opportunity Items
Opportunity Lost,Opportunity Lost
Opportunity Type,Typ szansy
Optional. This setting will be used to filter in various transactions.,Optional. This setting will be used to filter in various transactions.
Order Type,Typ zamówienia
Order Type must be one of {1},Order Type must be one of {1}
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.,Zamówienia zwolnione do produkcji.
Organization Name,Nazwa organizacji
Organization Profile,Organization Profile
Organization branch master.,Organization branch master.
Organization unit (department) master.,Organization unit (department) master.
Original Amount,Original Amount
Other,Inne
Other Details,Other Details
Others,Inni
Out Qty,Out Qty
Out Value,Out Value
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})
Overhead,Overhead
Overheads,Koszty ogólne
Overlapping conditions found between:,Overlapping conditions found between:
Overview,Overview
Owned,Owned
Owner,Właściciel
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 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
PR Posting Date,PR Posting Date
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 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,Para
Parameter,Parametr
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 Page,Parent Website Page
Parent Website Route,Parent Website Route
Parent account can not be a ledger,Parent account can not be a ledger
Parent account does not exist,Parent account does not exist
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 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 Days,Payment Days
Payment Due Date,Payment Due Date
Payment Period Based On Invoice Date,Payment Period Based On Invoice Date
Payment Type,Payment Type
Payment of salary for the month {0} and year {1},Payment of salary for the month {0} and year {1}
Payment to Invoice Matching Tool,Payment to Invoice Matching Tool
Payment to Invoice Matching Tool Detail,Payment to Invoice Matching Tool Detail
Payments,Płatności
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
Percent Complete,Percent Complete
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.,Procentowa wariacja w ilości dopuszczalna przy otrzymywaniu lub dostarczaniu tego produktu.
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,Okres
Period Closing Voucher,Period Closing Voucher
Periodicity,Periodicity
Permanent Address,Permanent Address
Permanent Address Is,Permanent Address Is
Permission,Pozwolenie
Personal,Personal
Personal Details,Personal Details
Personal Email,Personal Email
Pharmaceutical,Pharmaceutical
Pharmaceuticals,Pharmaceuticals
Phone,Telefon
Phone No,Nr telefonu
Piecework,Piecework
Pincode,Kod PIN
Place of Issue,Place of Issue
Plan for maintenance visits.,Plan for maintenance visits.
Planned Qty,Planowana ilość
"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,Planowana ilość
Planning,Planowanie
Plant,Zakład
Plant and Machinery,Plant and Machinery
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 add expense voucher details,Please add expense voucher details
Please check 'Is Advance' against Account {0} if this is an advance entry.,Please check 'Is Advance' against Account {0} if this is an advance entry.
Please click on 'Generate Schedule',Please click on 'Generate Schedule'
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 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 Reference date,Please enter Reference date
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 account,Please enter parent account group for warehouse account
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 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 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 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 select Account first,Please select Account first
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 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 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 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 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 chart of accounts before you start Accounting Entries,Please setup your chart of accounts before you start Accounting Entries
Please specify,Please specify
Please specify Company,Please specify Company
Please specify Company to proceed,Please specify Company to proceed
Please specify Default Currency in Company Master and Global Defaults,Please specify Default Currency in Company Master and Global Defaults
Please specify a,Please specify a
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
Plot By,Plot By
Point of Sale,Point of Sale
Point-of-Sale Setting,Point-of-Sale Setting
Post Graduate,Post Graduate
Postal,Postal
Postal Expenses,Postal Expenses
Posting Date,Data publikacji
Posting Time,Czas publikacji
Posting timestamp must be after {0},Posting timestamp must be after {0}
Potential opportunities for selling.,Potencjalne okazje na sprzedaż.
Preferred Billing Address,Preferred Billing Address
Preferred Shipping Address,Preferred Shipping Address
Prefix,Prefix
Present,Present
Prevdoc DocType,Prevdoc DocType
Prevdoc Doctype,
Preview,Preview
Previous,Wstecz
Previous Work Experience,Previous Work Experience
Price,Cena
Price / Discount,Cena / Rabat
Price List,Cennik
Price List Currency,Waluta cennika
Price List Currency not selected,Price List Currency not selected
Price List Exchange Rate,Price List Exchange Rate
Price List Name,Nazwa cennika
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 For Discount,Pricing Rule For Discount
Pricing Rule For Price,Pricing Rule For Price
Print Format Style,Print Format Style
Print Heading,Nagłówek do druku
Print Without Amount,Drukuj bez wartości
Print and Stationary,Print and Stationary
Printing and Branding,Printing and Branding
Priority,Priorytet
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,Produkcja
Production Order,Zamówinie produkcji
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
Products,Produkty
"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."
Profit and Loss,Profit and Loss
Project,Projekt
Project Costing,Project Costing
Project Details,Project Details
Project Manager,Project Manager
Project Milestone,Project Milestone
Project Milestones,Project Milestones
Project Name,Nazwa projektu
Project Start Date,Project Start Date
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 data is not available for Quotation,Project-wise data is not available for Quotation
Projected,Projected
Projected Qty,Prognozowana ilość
Projects,Projekty
Projects & System,Projects & System
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
Public,Public
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,Zakup
Purchase / Manufacture Details,Purchase / Manufacture Details
Purchase Analytics,Purchase Analytics
Purchase Common,Purchase Common
Purchase Details,Szczegóły zakupu
Purchase Discounts,Purchase Discounts
Purchase In Transit,Purchase In Transit
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 Order,Zamówienie
Purchase Order Date,Data zamówienia
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 Receipt,Dowód zakupu
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,Nr dowodu zakupu
Purchase Receipt Required,Purchase Receipt Required
Purchase Receipt Trends,Purchase Receipt Trends
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 Register,Purchase Register
Purchase Return,Zwrot zakupu
Purchase Returned,Purchase Returned
Purchase Taxes and Charges,Purchase Taxes and Charges
Purchase Taxes and Charges Master,Purchase Taxes and Charges Master
Purchse Order number required for Item {0},Purchse Order number required for Item {0}
Purpose,Cel
Purpose must be one of {0},Purpose must be one of {0}
QA Inspection,Inspecja kontroli jakości
Qty,Ilość
Qty Consumed Per Unit,Qty Consumed Per Unit
Qty To Manufacture,Qty To Manufacture
Qty as per Stock UOM,Qty as per Stock UOM
Qty to Deliver,Qty to Deliver
Qty to Order,Qty to Order
Qty to Receive,Qty to Receive
Qty to Transfer,Qty to Transfer
Qualification,Qualification
Quality,Jakość
Quality Inspection,Kontrola jakości
Quality Inspection Parameters,Parametry kontroli jakości
Quality Inspection Reading,Odczyt kontroli jakości
Quality Inspection Readings,Odczyty kontroli jakości
Quality Inspection required for Item {0},Quality Inspection required for Item {0}
Quality Management,Quality Management
Quantity,Ilość
Quantity Requested for Purchase,Quantity Requested for Purchase
Quantity and Rate,Quantity and Rate
Quantity and Warehouse,Ilość i magazyn
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,Ilość produktu otrzymanego po produkcji / przepakowaniu z podanych ilości surowców
Quantity required for Item {0} in row {1},Quantity required for Item {0} in row {1}
Quarter,Kwartał
Quarterly,Kwartalnie
Quick Help,Szybka pomoc
Quotation,Wycena
Quotation Date,Data wyceny
Quotation Item,Przedmiot wyceny
Quotation Items,Przedmioty wyceny
Quotation Lost Reason,Quotation Lost Reason
Quotation Message,Quotation Message
Quotation To,Wycena dla
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,Losowy
Range,Przedział
Rate,Stawka
Rate ,Stawka 
Rate (%),Stawka (%)
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,Surowiec
Raw Material Item Code,Raw Material Item Code
Raw Materials Supplied,Dostarczone surowce
Raw Materials Supplied Cost,Koszt dostarczonych surowców
Raw material cannot be same as main Item,Raw material cannot be same as main Item
Re-Order Level,Poziom dla ponownego zamówienia
Re-Order Qty,Ilość ponownego zamówienia
Re-order,Ponowne zamówienie
Re-order Level,Poziom dla ponownego zamówienia
Re-order Qty,Ilość ponownego zamówienia
Read,Read
Reading 1,Odczyt 1
Reading 10,Odczyt 10
Reading 2,Odczyt 2
Reading 3,Odczyt 3
Reading 4,Odczyt 4
Reading 5,Odczyt 5
Reading 6,Odczyt 6
Reading 7,Odczyt 7
Reading 8,Odczyt 8
Reading 9,Odczyt 9
Real Estate,Real Estate
Reason,Reason
Reason for Leaving,Reason for Leaving
Reason for Resignation,Reason for Resignation
Reason for losing,Reason for losing
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 Date,Received Date
Received Items To Be Billed,Received Items To Be Billed
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.,Zapisz ruch produktu.
Recurring Id,Recurring Id
Recurring Invoice,Recurring Invoice
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 Code,Ref Code
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 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,Odśwież
Registration Details,Registration Details
Registration Info,Registration Info
Rejected,Rejected
Rejected Quantity,Rejected Quantity
Rejected Serial No,Rejected Serial No
Rejected Warehouse,Rejected Warehouse
Rejected Warehouse is mandatory against regected item,Rejected Warehouse is mandatory against regected item
Relation,Relation
Relieving Date,Relieving Date
Relieving Date must be greater than Date of Joining,Relieving Date must be greater than Date of Joining
Remark,Remark
Remarks,Uwagi
Rename,Zmień nazwę
Rename Log,Rename Log
Rename Tool,Rename Tool
Rent Cost,Rent Cost
Rent per hour,Rent per hour
Rented,Rented
Repeat on Day of Month,Repeat on Day of Month
Replace,Replace
Replace Item / BOM in all BOMs,Replace Item / BOM in all BOMs
Replied,Replied
Report Date,Data raportu
Report Type,Typ raportu
Report Type is mandatory,Typ raportu jest wymagany
Reports to,Reports to
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.,Zamówienia produktów.
Required By,Required By
Required Date,Required Date
Required Qty,Wymagana ilość
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,Badania
Research & Development,Badania i rozwój
Researcher,Researcher
Reseller,Reseller
Reserved,Zarezerwowany
Reserved Qty,Zarezerwowana ilość
"Reserved Qty: Quantity ordered for sale, but not delivered.","Reserved Qty: Quantity ordered for sale, but not delivered."
Reserved Quantity,Zarezerwowana ilość
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,Reserves and Surplus
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,Rounded Off
Rounded Total,Rounded Total
Rounded Total (Company Currency),Rounded Total (Company Currency)
Row # ,Rząd #
Row # {0}: ,Rząd # {0}:
Row {0}: Account does not match with \						Purchase Invoice Credit To account,Row {0}: Account does not match with \						Purchase Invoice Credit To account
Row {0}: Account does not match with \						Sales Invoice Debit To account,Row {0}: Account does not match with \						Sales Invoice Debit To account
Row {0}: Credit entry can not be linked with a Purchase Invoice,Row {0}: Credit entry can not be linked with a Purchase Invoice
Row {0}: Debit entry can not be linked with a Sales Invoice,Row {0}: Debit entry can not be linked with a Sales Invoice
"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}: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.
SMS Center,SMS Center
SMS Control,SMS Control
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,Pensja
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,Sprzedaż
Sales Analytics,Analityka sprzedaży
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,Szczegóły sprzedaży
Sales Discounts,Sales Discounts
Sales Email Settings,Sales Email Settings
Sales Expenses,Sales Expenses
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,Nr faktury sprzedażowej
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 Order,Zlecenie sprzedaży
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 Register,Sales Register
Sales Return,Zwrot sprzedaży
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 and Purchase,Sales and Purchase
Sales campaigns.,Sales campaigns.
Salutation,Salutation
Sample Size,Wielkość próby
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,Secured Loans
Securities & Commodity Exchanges,Securities & Commodity Exchanges
Securities and Deposits,Securities and Deposits
"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.",Wybierz “Tak” jeśli produkt jest używany w celach wewnętrznych w firmie.
"Select ""Yes"" if this item represents some work like training, designing, consulting etc.","Wybierz “Tak” jeśli produkt to jakaś forma usługi/pracy, np. szkolenie, doradztwo"
"Select ""Yes"" if you are maintaining stock of this item in your Inventory.",Wybierz “Tak” jeśli produkt jest przechowywany w magazynie.
"Select ""Yes"" if you supply raw materials to your supplier to manufacture this item.",Wybierz “Tak” jeśli dostarczasz sutowce swojemu dostawcy w celu wyprodukowania tego produktu.
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 DocType,Select DocType
Select Items,Select Items
Select Purchase Receipts,Select Purchase Receipts
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 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.",Wybranie “Tak” pozwoli na dostępność tego produktu w Zamówieniach i Potwierdzeniach Odbioru
"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,Sprzedaż
Selling Settings,Selling Settings
Send,Wyślij
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 mass SMS to your contacts,Send mass SMS to your contacts
Send to this list,Send to this list
Sender Name,Sender Name
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 No,Nr seryjny
Serial No / Batch,Serial No / Batch
Serial No Details,Szczegóły numeru seryjnego
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 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,Seria
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},Series {0} already used in {1}
Service,Usługa
Service Address,Service Address
Services,Usługi
Set,Zbiór
"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Set Default Values like Company, Currency, Current Fiscal Year, etc."
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 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 up...,Setting up...
Settings,Settings
Settings for HR Module,Settings for HR 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,Ustawienia
Setup Already Complete!!,Setup Already Complete!!
Setup Complete,Setup Complete
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,Podziel się
Share With,Podziel się z
Shareholders Funds,Shareholders Funds
Shipments to customers.,Dostawy do klientów.
Shipping,Dostawa
Shipping Account,Shipping Account
Shipping Address,Adres dostawy
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,Sklep
Shopping Cart,Koszyk
Short biography for website and other publications.,Short biography for website and other publications.
"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,Pokaż na stronie internetowej
Show a slideshow at the top of the page,Show a slideshow at the top of the page
Show in Website,
Show this slideshow at the top of the page,Show this slideshow at the top of the page
Sick Leave,Sick Leave
Signature,Podpis
Signature to be appended at the end of every email,Signature to be appended at the end of every email
Single,Pojedynczy
Single unit of an Item.,Jednostka produktu.
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,Oprogramowanie
Software Developer,Programista
"Sorry, Serial Nos cannot be merged","Sorry, Serial Nos cannot be merged"
"Sorry, companies cannot be merged","Sorry, companies cannot be merged"
Source,Źródło
Source File,Source File
Source Warehouse,Magazyn źródłowy
Source and target warehouse cannot be same for row {0},Source and target warehouse cannot be same for row {0}
Source of Funds (Liabilities),Source of Funds (Liabilities)
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,Szczegóły specyfikacji
Specifications,Specifications
"Specify a list of Territories, for which, this Price List is valid","Lista terytoriów, na których cennik jest obowiązujący"
"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 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
Standard,Standard
Standard Buying,Standard Buying
Standard Rate,Standard Rate
Standard Reports,Raporty standardowe
Standard Selling,Standard Selling
Standard contract terms for Sales or Purchase.,Standard contract terms for Sales or Purchase.
Start,Start
Start Date,Start Date
Start date of current invoice's period,Start date of current invoice'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,Stan
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,Magazyn
Stock Adjustment,Stock Adjustment
Stock Adjustment Account,Stock Adjustment Account
Stock Ageing,Stock Ageing
Stock Analytics,Analityka magazynu
Stock Assets,Stock Assets
Stock Balance,Stock Balance
Stock Entries already created for Production Order ,Stock Entries already created for Production Order 
Stock Entry,Dokument magazynowy
Stock Entry Detail,Szczególy wpisu magazynowego
Stock Expenses,Stock Expenses
Stock Frozen Upto,Stock Frozen Upto
Stock Ledger,Stock Ledger
Stock Ledger Entry,Stock Ledger Entry
Stock Ledger entries balances updated,Stock Ledger entries balances updated
Stock Level,Stock Level
Stock Liabilities,Stock Liabilities
Stock Projected Qty,Stock Projected Qty
Stock Queue (FIFO),Stock Queue (FIFO)
Stock Received But Not Billed,Stock Received But Not Billed
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 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'
Stop,Stop
Stop Birthday Reminders,Stop Birthday Reminders
Stop Material Request,Stop Material Request
Stop users from making Leave Applications on following days.,Stop users from making Leave Applications on following days.
Stop!,Stop!
Stopped,Stopped
Stopped order cannot be cancelled. Unstop to cancel.,Stopped order cannot be cancelled. Unstop to cancel.
Stores,Stores
Stub,Stub
Sub Assemblies,Sub Assemblies
"Sub-currency. For e.g. ""Cent""","Sub-currency. For e.g. ""Cent"""
Subcontract,Zlecenie
Subject,Temat
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 allocated,Successfully allocated
Suggestions,Sugestie
Sunday,Niedziela
Supplier,Dostawca
Supplier (Payable) Account,Supplier (Payable) Account
Supplier (vendor) name as entered in supplier master,Supplier (vendor) name as entered in supplier master
Supplier Account,Supplier Account
Supplier Account Head,Supplier Account Head
Supplier Address,Adres dostawcy
Supplier Addresses and Contacts,Supplier Addresses and Contacts
Supplier Details,Szczegóły dostawcy
Supplier Intro,Supplier Intro
Supplier Invoice Date,Supplier Invoice Date
Supplier Invoice No,Supplier Invoice No
Supplier Name,Nazwa dostawcy
Supplier Naming By,Supplier Naming By
Supplier Part Number,Numer katalogowy dostawcy
Supplier Quotation,Supplier Quotation
Supplier Quotation Item,Supplier Quotation Item
Supplier Reference,Supplier Reference
Supplier Type,Typ dostawcy
Supplier Type / Supplier,Supplier Type / Supplier
Supplier Type master.,Supplier Type master.
Supplier Warehouse,Magazyn dostawcy
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 warehouse where you have issued raw materials for sub - contracting,Supplier warehouse where you have issued raw materials for sub - contracting
Supplier-Wise Sales Analytics,Supplier-Wise Sales Analytics
Support,Wsparcie
Support Analtyics,Support Analtyics
Support Analytics,Support Analytics
Support Email,Support Email
Support Email Settings,Support Email Settings
Support Password,Support Password
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,System
System Settings,System Settings
"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."
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
Tasks,Tasks
Tax,Podatek
Tax Amount After Discount Amount,Tax Amount After Discount Amount
Tax Assets,Tax Assets
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,Stawka podatku
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.
Taxable,Taxable
Taxes and Charges,Podatki i opłaty
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,Technologia
Telecommunications,Telecommunications
Telephone Expenses,Telephone Expenses
Television,Telewizja
Template for performance appraisals.,Template for performance appraisals.
Template of terms or contract.,Template of terms or contract.
Temporary Accounts (Assets),Temporary Accounts (Assets)
Temporary Accounts (Liabilities),Temporary Accounts (Liabilities)
Temporary Assets,Temporary Assets
Temporary Liabilities,Temporary Liabilities
Term Details,Szczegóły warunków
Terms,Warunki
Terms and Conditions,Regulamin
Terms and Conditions Content,Zawartość regulaminu
Terms and Conditions Details,Szczegóły regulaminu
Terms and Conditions Template,Terms and Conditions Template
Terms and Conditions1,Terms and Conditions1
Terretory,Terytorium
Territory,Terytorium
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 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(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 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.
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.
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 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 will be used for setting rule in HR module,This will be used for setting rule in HR module
Thread HTML,Thread HTML
Thursday,Czwartek
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 for tasks.,Time Log for tasks.
Time Log {0} must be 'Submitted',Time Log {0} must be 'Submitted'
Time Zone,Time Zone
Time Zones,Time Zones
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,Do
To Currency,To Currency
To Date,To Date
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 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,Do magazynu
"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:,To create a Bank Account:
To create a Tax Account:,To create a Tax Account:
"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 report an issue, go to ","To report an issue, go to "
"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.
Tools,Narzędzia
Total,Total
Total Advance,Total Advance
Total Allocated Amount,Total Allocated Amount
Total Allocated Amount can not be greater than unmatched amount,Total Allocated Amount can not be greater than unmatched amount
Total Amount,Wartość całkowita
Total Amount To Pay,Total Amount To Pay
Total Amount in Words,Total Amount in Words
Total Billing This Year: ,Total Billing This Year: 
Total Claimed Amount,Total Claimed Amount
Total Commission,Total Commission
Total Cost,Koszt całkowity
Total Credit,Total Credit
Total Debit,Total Debit
Total Debit must be equal to Total Credit. The difference is {0},Total Debit must be equal to Total Credit. The difference is {0}
Total Deduction,Total Deduction
Total Earning,Total Earning
Total Experience,Total Experience
Total Hours,Total Hours
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,Całkowity koszt operacyjny
Total Points,Total Points
Total Raw Material Cost,Całkowity koszt surowców
Total Sanctioned Amount,Total Sanctioned Amount
Total Score (Out of 5),Total Score (Out of 5)
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 Words,Total Words
Total Working Days In The Month,Total Working Days In The Month
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. It is {0}
Total weightage assigned should be 100%. It is {0},Total weightage assigned should be 100%. It is {0}
Totals,Sumy całkowite
Track Leads by Industry Type.,Track Leads by Industry Type.
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,Transaction
Transaction Date,Data transakcji
Transaction not allowed against stopped Production Order {0},Transaction not allowed against stopped Production Order {0}
Transfer,Transfer
Transfer Material,Transfer Material
Transfer Raw Materials,Transfer Raw Materials
Transferred Qty,Transferred Qty
Transportation,Transportation
Transporter Info,Informacje dotyczące przewoźnika
Transporter Name,Nazwa przewoźnika
Transporter lorry number,Nr ciężarówki przewoźnika
Travel,Podróż
Travel Expenses,Travel Expenses
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,Wtorek
Type,Typ
Type of document to rename.,Type of document to rename.
"Type of leaves like casual, sick etc.","Type of leaves like casual, sick etc."
Types of Expense Claim.,Types of Expense Claim.
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,Szczegóły konwersji JM
UOM Conversion Details,Współczynnik konwersji JM
UOM Conversion Factor,UOM Conversion Factor
UOM Conversion factor is required in row {0},UOM Conversion factor is required in row {0}
UOM Name,Nazwa Jednostki Miary
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,Under Warranty
Unit,Jednostka
Unit of Measure,Jednostka miary
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).","Jednostka miary tego produktu (np. Kg, jednostka, numer, para)."
Units/Hour,Jednostka/godzinę
Units/Shifts,Units/Shifts
Unmatched Amount,Unmatched Amount
Unpaid,Unpaid
Unscheduled,Unscheduled
Unsecured Loans,Unsecured Loans
Unstop,Unstop
Unstop Material Request,Unstop Material Request
Unstop Purchase Order,Unstop Purchase Order
Unsubscribed,Unsubscribed
Update,Update
Update Clearance Date,Update Clearance Date
Update Cost,Update Cost
Update Finished Goods,Update Finished Goods
Update Landed Cost,Update Landed Cost
Update Series,Update Series
Update Series Number,Update Series Number
Update Stock,Update Stock
"Update allocated amount in the above table and then click ""Allocate"" button","Update allocated amount in the above table and then click ""Allocate"" button"
Update bank payment dates with journals.,Update bank payment dates with journals.
Update clearance date of Journal Entries marked as 'Bank Entry',Update clearance date of Journal Entries marked as 'Bank Entry'
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,Upper Income
Urgent,Urgent
Use Multi-Level BOM,Używaj wielopoziomowych zestawień materiałowych
Use SSL,Use SSL
User,Użytkownik
User ID,User ID
User ID not set for Employee {0},User ID not set for Employee {0}
User Name,User Name
User Name or Support Password missing. Please enter and try again.,User Name or Support Password missing. Please enter and try again.
User Remark,User Remark
User Remark will be added to Auto Remark,User Remark will be added to Auto Remark
User Remarks is mandatory,User Remarks is mandatory
User Specific,User Specific
User must always select,User must always select
User {0} is already assigned to Employee {1},User {0} is already assigned to Employee {1}
User {0} is disabled,User {0} is disabled
Username,Username
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,Utilities
Utility Expenses,Utility Expenses
Valid For Territories,Valid For Territories
Valid From,Valid From
Valid Upto,Valid Upto
Valid for Territories,
Validate,Validate
Valuation,Valuation
Valuation Method,Metoda wyceny
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
Vehicle Dispatch Date,Vehicle Dispatch Date
Vehicle No,Nr rejestracyjny pojazdu
Venture Capital,Venture Capital
Verified By,Zweryfikowane przez
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 ID,Voucher ID
Voucher No,Voucher No
Voucher No is not valid,Voucher No is not valid
Voucher Type,Voucher Type
Voucher Type and Date,Voucher Type and Date
Walk In,Walk In
Warehouse,Magazyn
Warehouse Contact Info,Dane kontaktowe dla magazynu
Warehouse Detail,Szczegóły magazynu
Warehouse Name,Nazwa magazynu
Warehouse and Reference,Warehouse and Reference
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 is missing in Purchase Order,Warehouse is missing in Purchase Order
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 required in POS Setting,Warehouse required in POS Setting
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-Wise Stock Balance,Warehouse-Wise Stock Balance
Warehouse-wise Item Reorder,Warehouse-wise Item Reorder
Warehouses,Magazyny
Warehouses.,Magazyny.
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,Data upływu gwarancji
Warranty Period (Days),Okres gwarancji (dni)
Warranty Period (in days),Okres gwarancji (w dniach)
We buy this Item,We buy this Item
We sell this Item,We sell this Item
Website,Strona internetowa
Website Description,Website Description
Website Item Group,Website Item Group
Website Item Groups,Website Item Groups
Website Settings,Website Settings
Website Warehouse,Website Warehouse
Wednesday,Środa
Weekly,Tygodniowo
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,Witamy
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.,Gdzie produkty są przechowywane.
Where manufacturing operations are carried out.,Gdzie prowadzona jest działalność produkcyjna.
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,Przelew
With Operations,Wraz z działaniami
With period closing entry,With period closing entry
Work Details,Work Details
Work Done,Work Done
Work In Progress,Work In Progress
Work-in-Progress Warehouse,Magazyn dla produkcji
Work-in-Progress Warehouse is required before Submit,Work-in-Progress Warehouse is required before Submit
Working,Working
Workstation,Stacja robocza
Workstation Name,Nazwa stacji roboczej
Write Off Account,Write Off Account
Write Off Amount,Write Off Amount
Write Off Amount <=,Write Off Amount <=
Write Off Based On,Write Off Based On
Write Off Cost Center,Write Off Cost Center
Write Off Outstanding Amount,Write Off Outstanding Amount
Write Off Entry,Write Off Entry
Wrong Template: Unable to find head row.,Wrong Template: Unable to find head row.
Year,Rok
Year Closed,Year Closed
Year End Date,Year End Date
Year Name,Year Name
Year Start Date,Year Start Date
Year Start Date and Year End Date are already set in Fiscal Year {0},Year Start Date and Year End Date are already set in Fiscal Year {0}
Year Start Date and Year End Date are not within Fiscal Year.,Year Start Date and Year End Date are not within Fiscal Year.
Year Start Date should not be greater than Year End Date,Year Start Date should not be greater than Year End Date
Year of Passing,Year of Passing
Yearly,Rocznie
Yes,Tak
You are not authorized to add or update entries before {0},You are not authorized to add or update entries before {0}
You are not authorized to set Frozen value,You are not authorized to set Frozen value
You are the Expense Approver for this record. Please Update the 'Status' and Save,You are the Expense 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 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.,"Można wpisać minimalna ilość tego produktu, którą zamierza się zamawiać."
You can not assign itself as parent account,You can not assign itself as parent account
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 Entry' column,You can not enter current voucher in 'Against Journal Entry' 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
You must allocate amount before reconcile,You must allocate amount before reconcile
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!
[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
"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. Cheque Number
example: Next Day Shipping,example: Next Day Shipping
lft,
old_parent,old_parent
rgt,
website page link,website page link
{0} '{1}' not in Fiscal Year {2},{0} '{1}' not in Fiscal Year {2}
{0} Credit limit {0} crossed,{0} Credit limit {0} crossed
{0} Serial Numbers required for Item {0}. Only {0} provided.,{0} Serial Numbers required for Item {0}. Only {0} provided.
{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} created,{0} created
{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 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,{0} is not a valid Leave Approver
{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 less than or equal to {1},{0} must be less than or equal to {1}
{0} must have role 'Leave Approver',{0} must have role 'Leave Approver'
{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} against Invoice {2},{0} {1} against Invoice {2}
{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} has been modified. Please refresh,
{0} {1} has been modified. Please refresh.,{0} {1} has been modified. Please refresh.
{0} {1} is not submitted,{0} {1} is not submitted
{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
