 (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,Grupa Odbiorców posiada taką nazwę - wprowadź inną nazwę Odbiorcy lub zmień nazwę Grupy  
A Customer exists with same name,Odbiorca o tej nazwie już istnieje
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,Dostawca o tej nazwie już istnieje
A symbol for this currency. For e.g. $,Symbol waluty. Np. $
AMC Expiry Date,AMC Expiry Date
Abbr,Skrót
Abbreviation cannot have more than 5 characters,Skrót nie może posiadać więcej niż 5 znaków
About,Informacje
Above Value,Above Value
Absent,Nieobecny
Acceptance Criteria,Kryteria akceptacji
Accepted,Przyjęte
Accepted + Rejected Qty must be equal to Received quantity for Item {0},Ilość Przyjętych + Odrzuconych musi odpowiadać ilości Odebranych (Element {0})
Accepted Quantity,Przyjęta Ilość
Accepted Warehouse,Accepted Warehouse
Account,Konto
Account Balance,Bilans konta
Account Created: {0},Utworzono Konto: {0}
Account Details,Szczegóły konta
Account Head,Account Head
Account Name,Nazwa konta
Account Type,Typ konta
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,Konto musi być bilansowe
Account with child nodes cannot be converted to ledger,Konto grupujące inne konta nie może być konwertowane
Account with existing transaction can not be converted to group.,Konto z istniejącymi zapisami nie może być konwertowane na Grupę (konto dzielone).
Account with existing transaction can not be deleted,Konto z istniejącymi zapisami nie może być usunięte
Account with existing transaction cannot be converted to ledger,Konto z istniejącymi zapisami nie może być konwertowane
Account {0} cannot be a Group,Konto {0} nie może być Grupą (kontem dzielonym)
Account {0} does not belong to Company {1},Konto {0} nie jest przypisane do Firmy {1}
Account {0} does not exist,Konto {0} nie istnieje
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,Konto {0} jest zamrożone
Account {0} is inactive,Konto {0} jest nieaktywne
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,Konto: {0} może być aktualizowane tylko przez \ Operacje Magazynowe
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.","Zapisywanie kont zostało zamrożone do tej daty, nikt  nie może / modyfikować zapisów poza uprawnionymi użytkownikami wymienionymi poniżej."
Accounting journal entries.,Accounting journal entries.
Accounts,Księgowość
Accounts Browser,Accounts Browser
Accounts Frozen Upto,Konta zamrożone do 
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,Dodaj nr seryjny
Add Taxes,Dodaj Podatki
Add Taxes and Charges,Dodaj podatki i opłaty
Add or Deduct,Dodatki lub Potrącenia
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,Dodaj do kalendarza pod tą datą
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 Voucher,Against Journal Voucher
Against Journal Voucher {0} does not have any unmatched {1} entry,Against Journal Voucher {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,Dozwolony ujemny bilans
Allow Negative Stock,Dozwolony ujemny stan
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 >=,Wartość >=
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",Istnieje element Grupy o takiej nazwie. Zmień nazwę elementu lub tamtej Grupy.
"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,Załącz 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},Bilans dla Konta {0} zawsze powinien wynosić {1}
Balance must be,Bilans powinien wynosić 
"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 Voucher,Bank Voucher
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,Partia
Batch (lot) of an Item.,Partia (pakiet) produktu.
Batch Finished Date,Data ukończenia Partii
Batch ID,Identyfikator Partii
Batch No,Nr Partii
Batch Started Date,Data rozpoczęcia Partii
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,Oblicz całkowity wynik
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,Anulowano
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.,Nie można zmieniać daty początkowej i końcowej uworzonego już Roku Podatkowego.
"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 Voucher,Cash Voucher
Cash or Bank Account is mandatory for making payment entry,Konto Kasa lub Bank jest wymagane dla tworzenia zapisów Płatności
Cash/Bank Account,Konto Kasa/Bank
Casual Leave,Casual Leave
Cell Number,Telefon komórkowy
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,Plan Kont
Chart of Cost Centers,Struktura kosztów (MPK)
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.,To konto zawiera konta potomne. Nie można usunąć takiego konta.
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,Osoba kontaktowa
Contact Type,Contact Type
Contact master.,Contact master.
Contacts,Kontakty
Content,Zawartość
Content Type,Content Type
Contra Voucher,Contra Voucher
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,MPK
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","Kraj, Strefa czasowa i Waluta"
Create Bank Voucher for the total salary paid for the above selected criteria,Create Bank Voucher 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 Voucher,Credit Card Voucher
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,Codziennie
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,Data urodzenia
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,Daty
Days Since Last Order,Dni od ostatniego zamówienia
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,Domyślne konto bankowe
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,Domyślna grupa klientów
Default Expense Account,Domyślne konto rozchodów
Default Income Account,Domyślne konto przychodów
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,Domyślna jednostka
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,Powiadomienia na e-mail
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.,Nie jest możliwe wykonywanie zapisów na zamkniętym Roku Podatkowym.
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 Voucher,Excise Voucher
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,Koszt
Expense Account,Konto Wydatków
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 Podatkowy
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,Grupa lub Konto
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.","Jeśli konto jest zamrożone, zapisy mogą wykonywać tylko wyznaczone osoby."
"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,Ignoruj
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,Zapisy księgowe
Journal Entry,Journal Entry
Journal Voucher,Polecenia Księgowania
Journal Voucher Detail,Journal Voucher Detail
Journal Voucher Detail No,Journal Voucher Detail No
Journal Voucher {0} does not have account {1} or already matched,Journal Voucher {0} does not have account {1} or already matched
Journal Vouchers {0} are un-linked,Journal Vouchers {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,Język
Last Name,Nazwisko
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,Tworzenie Zapisów Księgowych dla każdej zmiany stanu Magazynu
Make Bank Voucher,Make Bank Voucher
Make Credit Note,Make Credit Note
Make Debit Note,Make Debit Note
Make Delivery,Make Delivery
Make Difference Entry,Make Difference Entry
Make Excise Invoice,Make Excise Invoice
Make Installation Note,Make Installation Note
Make Invoice,Make Invoice
Make 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,Więcej szczegółów
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,Nadrzędne konto
Parent Cost Center,Parent Cost Center
Parent Customer Group,Parent Customer Group
Parent Detail docname,Parent Detail docname
Parent Item,Element nadrzędny
Parent Item Group,Grupa Elementu nadrzędnego
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,Nadrzędne konto (Grupa) nie może być zwykłym kontem
Parent account does not exist,Nadrzędne konto nie istnieje
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,Wprowadź konto Wydatków
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,Wybierz konto Bank
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,Wybierz Rok Podatkowy
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,Należy stworzyć własny Plan Kont zanim rozpocznie się księgowanie
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,Punkt Sprzedaży
Point-of-Sale Setting,Konfiguracja Punktu Sprzedaży
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,Koszty Sprzedaży
Sales Extras,Sales Extras
Sales Funnel,Sales Funnel
Sales Invoice,Faktura sprzedaży
Sales Invoice Advance,Sales Invoice Advance
Sales Invoice Item,Sales Invoice Item
Sales Invoice Items,Pozycje na Fakturze sprzedaży
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,Faktura Sprzedaży {0} została już wprowadzona
Sales Invoice {0} must be cancelled before cancelling this Sales Order,Faktura Sprzedaży {0} powinna być anulowana przed anulowaniem samego Zlecenia Sprzedaży
Sales Order,Zlecenie sprzedaży
Sales Order Date,Data Zlecenia
Sales Order Item,Pozycja Zlecenia Sprzedaży
Sales Order Items,Pozycje Zlecenia Sprzedaży
Sales Order Message,Informacje Zlecenia Sprzedaży
Sales Order No,Nr Zlecenia Sprzedaży
Sales Order Required,Sales Order Required
Sales Order Trends,Sales Order Trends
Sales Order required for Item {0},Zlecenie Sprzedaży jest wymagane dla Elementu {0}
Sales Order {0} is not submitted,Zlecenie Sprzedaży {0} nie jest jeszcze złożone
Sales Order {0} is not valid,Zlecenie Sprzedaży {0} jest niepoprawne
Sales Order {0} is stopped,Zlecenie Sprzedaży {0} jest wstrzymane
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,Sprzedaże zwrócone
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,Sobota
Schedule,Harmonogram
Schedule Date,Schedule Date
Schedule Details,Schedule Details
Scheduled,Zaplanowane
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,Wybierz Elementy
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,Wybierz Swój Język
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.,Wybierz kraj oraz sprawdź strefę czasową i walutę
"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,Ustawienia Sprzedaży
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,Nr faktury dostawcy
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,Ustawienia Systemowe
"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.,Miejsca Powstawania Kosztów.
Tree of finanial accounts.,Rejestr operacji gospodarczych.
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 Vouchers',Update clearance date of Journal Entries marked as 'Bank Vouchers'
Updated,Updated
Updated Birthday Reminders,Updated Birthday Reminders
Upload Attendance,Upload Attendance
Upload Backups to Dropbox,Upload Backups to Dropbox
Upload Backups to Google Drive,Upload Backups to Google Drive
Upload HTML,Upload HTML
Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,Upload a .csv file with two columns: the old name and the new name. Max 500 rows.
Upload attendance from a .csv file,Upload attendance from a .csv file
Upload stock balance via csv.,Upload stock balance via csv.
Upload your letter head and logo - you can edit them later.,Upload your letter head and logo - you can edit them later.
Upper Income,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,Nazwa Użytkownika
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,Magazyn wymagany w ustawieniach Punktu Sprzedaży (POS)
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 Voucher,Write Off Voucher
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},Data Początkowa i Data Końcowa są już zdefiniowane dla Roku Podatkowego {0}
Year Start Date and Year End Date are not within Fiscal Year.,Data Początkowa i Data Końcowa nie zawierają się w Roku Podatkowym.
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,Nie można przypisać jako nadrzędne konto tego samego konta
You can not change rate if BOM mentioned agianst any item,You can not change rate if BOM mentioned agianst any item
You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.,You can not enter both Delivery Note No and Sales Invoice No. Please enter any one.
You can not enter current voucher in 'Against Journal Voucher' column,You can not enter current voucher in 'Against Journal Voucher' column
You can set Default Bank Account in Company master,You can set Default Bank Account in Company master
You can start by selecting backup frequency and granting access for sync,You can start by selecting backup frequency and granting access for sync
You can submit this Stock Reconciliation.,You can submit this Stock Reconciliation.
You can update either Quantity or Valuation Rate or both.,You can update either Quantity or Valuation Rate or both.
You cannot credit and debit same account at the same time,Nie można wykonywać zapisów po stronie debetowej oraz kredytowej tego samego konta w jednym czasie
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,Zapisz formularz aby kontynuować
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,Rok Podatkowy rozpoczyna się 
Your financial year ends on,Rok Podatkowy kończy się 
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
