 (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',
'Based On' and 'Group By' can not be same,
'Days Since Last Order' must be greater than or equal to zero,
'Entries' cannot be empty,
'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',
'Has Serial No' can not be 'Yes' for non-stock item,
'Notification Email Addresses' not specified for recurring invoice,
'Profit and Loss' type account {0} not allowed in Opening Entry,
'To Case No.' cannot be less than 'From Case No.',
'To Date' is required,
'Update Stock' for Sales Invoice {0} must be set,
* Will be calculated in the transaction.,
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,
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>",
"<a href=""#Sales Browser/Item Group"">Add / Edit</a>",
"<a href=""#Sales Browser/Territory"">Add / Edit</a>",
A Customer Group exists with same name please change the Customer name or rename the Customer Group,
A Customer exists with same name,
A Lead with this email id should exist,
A Product or Service,Produkt lub usługa
A Supplier exists with same name,
A symbol for this currency. For e.g. $,
AMC Expiry Date,
Abbr,
Abbreviation cannot have more than 5 characters,
About,
Above Value,
Absent,Nieobecny
Acceptance Criteria,Kryteria akceptacji
Accepted,
Accepted + Rejected Qty must be equal to Received quantity for Item {0},
Accepted Quantity,
Accepted Warehouse,
Account,Konto
Account Balance,Bilans konta
Account Created: {0},
Account Details,Szczegóły konta
Account Head,
Account Name,Nazwa konta
Account Type,
Account for the warehouse (Perpetual Inventory) will be created under this Account.,
Account head {0} created,
Account must be a balance sheet account,
Account with child nodes cannot be converted to ledger,
Account with existing transaction can not be converted to group.,
Account with existing transaction can not be deleted,
Account with existing transaction cannot be converted to ledger,
Account {0} cannot be a Group,
Account {0} does not belong to Company {1},
Account {0} does not exist,
Account {0} has been entered more than once for fiscal year {1},
Account {0} is frozen,
Account {0} is inactive,
Account {0} must be of type 'Fixed Asset' as Item {1} is an Asset Item,
Account: {0} can only be updated via \					Stock Transactions,
Accountant,Księgowy
Accounting,Księgowość
"Accounting Entries can be made against leaf nodes, called",
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.",
Accounting journal entries.,
Accounts,Księgowość
Accounts Browser,
Accounts Frozen Upto,
Accounts Payable,
Accounts Receivable,
Accounts Settings,
Active,Aktywny
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 Completion Date,
Actual Date,
Actual End Date,
Actual Invoice Date,
Actual Posting Date,
Actual Qty,
Actual Qty (at source/target),
Actual Qty After Transaction,
Actual Qty: Quantity available in the warehouse.,
Actual Quantity,
Actual Start Date,
Add,Dodaj
Add / Edit Taxes and Charges,
Add Child,
Add Serial No,
Add Taxes,
Add Taxes and Charges,Dodaj podatki i opłaty
Add or Deduct,
Add rows to set annual budgets on Accounts.,
Add to Cart,
Add to calendar on this date,
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 2,
Address Title,
Address Title is mandatory.,
Address Type,
Address master.,
Administrative Expenses,
Administrative Officer,
Advance Amount,
Advance amount,
Advances,
Advertisement,Reklama
Advertising,Reklamowanie
Aerospace,
After Sale Installations,
Against,
Against Account,
Against Bill {0} dated {1},
Against Docname,
Against Doctype,
Against Document Detail No,
Against Document No,
Against Entries,
Against Expense Account,
Against Income Account,
Against Journal Voucher,
Against Journal Voucher {0} does not have any unmatched {1} entry,
Against Purchase Invoice,
Against Sales Invoice,
Against Sales Order,
Against Voucher,
Against Voucher Type,
Ageing Based On,
Ageing Date is mandatory for opening entry,
Ageing date is mandatory for opening entry,
Agent,
Aging Date,
Aging Date is mandatory for opening entry,
Agriculture,
Airline,
All Addresses.,Wszystkie adresy
All Contact,
All Contacts.,Wszystkie kontakty.
All Customer Contact,
All Customer Groups,
All Day,
All Employee (Active),
All Item Groups,
All Lead (Open),
All Products or Services.,Wszystkie produkty i usługi.
All Sales Partner Contact,
All Sales Person,
All Supplier Contact,
All Supplier Types,
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 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 transferred for this Production Order.,
All these items have already been invoiced,
Allocate,
Allocate Amount Automatically,
Allocate leaves for a period.,
Allocate leaves for the year.,
Allocated Amount,
Allocated Budget,
Allocated amount,
Allocated amount can not be negative,
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 Children,
Allow Dropbox Access,
Allow Google Drive Access,
Allow Negative Balance,
Allow Negative Stock,
Allow Production Order,
Allow User,
Allow Users,
Allow the following users to approve Leave Applications for block days.,
Allow user to edit Price List Rate in transactions,
Allowance Percent,Dopuszczalny procent
Allowance for over-delivery / over-billing crossed for Item {0},
Allowed Role to Edit Entries Before Frozen Date,
Amended From,
Amount,Wartość
Amount (Company Currency),
Amount <=,
Amount >=,
Amount to Bill,
An Customer exists with same name,
"An Item Group exists with same name, please change the item name or rename the item group",
"An item exists with same name ({0}), please change the item group name or rename the item",
Analyst,
Annual,Roczny
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.,
"Any other comments, noteworthy effort that should go in the records.",
Apparel & Accessories,
Applicability,
Applicable For,
Applicable Holiday List,
Applicable Territory,
Applicable To (Designation),
Applicable To (Employee),
Applicable To (Role),
Applicable To (User),
Applicant Name,
Applicant for a Job.,
Application of Funds (Assets),
Applications for leave.,
Applies to Company,
Apply On,
Appraisal,
Appraisal Goal,
Appraisal Goals,
Appraisal Template,
Appraisal Template Goal,
Appraisal Template Title,
Appraisal {0} created for Employee {1} in the given date range,
Apprentice,
Approval Status,
Approval Status must be 'Approved' or 'Rejected',
Approved,
Approver,
Approving Role,
Approving Role cannot be same as role the rule is Applicable To,
Approving User,
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 UNSTOP ,
Arrear Amount,
"As Production Order can be made for this item, it must be a stock item.",
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'",
Asset,Składnik aktywów
Assistant,Asystent
Associate,
Atleast one warehouse is mandatory,
Attach Image,Dołącz obrazek
Attach Letterhead,
Attach Logo,
Attach Your Picture,
Attendance,
Attendance Date,
Attendance Details,
Attendance From Date,
Attendance From Date and Attendance To Date is mandatory,
Attendance To Date,
Attendance can not be marked for future dates,
Attendance for employee {0} is already marked,
Attendance record.,
Authorization Control,
Authorization Rule,
Auto Accounting For Stock Settings,
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 extract Job Applicants from a mail box ,
Automatically extract Leads from a mail box e.g.,
Automatically updated via Stock Entry of type Manufacture/Repack,
Automotive,
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 in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet",
Average Age,
Average Commission Rate,
Average Discount,
Awesome Products,
Awesome Services,
BOM Detail No,
BOM Explosion Item,
BOM Item,
BOM No,Nr zestawienia materiałowego
BOM No. for a Finished Good Item,
BOM Operation,
BOM Operations,
BOM Replace Tool,
BOM number is required for 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 replaced,
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 submitted or inactive BOM for Item {1},
Backup Manager,
Backup Right Now,
Backups will be uploaded to,
Balance Qty,
Balance Sheet,
Balance Value,
Balance for Account {0} must always be {1},
Balance must be,
"Balances of Accounts of type ""Bank"" or ""Cash""",
Bank,
Bank A/C No.,
Bank Account,Konto bankowe
Bank Account No.,Nr konta bankowego
Bank Accounts,Konta bankowe
Bank Clearance Summary,
Bank Draft,
Bank Name,Nazwa banku
Bank Overdraft Account,
Bank Reconciliation,
Bank Reconciliation Detail,
Bank Reconciliation Statement,
Bank Voucher,
Bank/Cash Balance,
Banking,
Barcode,Kod kreskowy
Barcode {0} already used in Item {1},
Based On,Bazujący na
Basic,Podstawowy
Basic Info,Informacje podstawowe
Basic Information,
Basic Rate,
Basic Rate (Company Currency),
Batch,
Batch (lot) of an Item.,Batch (lot) produktu.
Batch Finished Date,Data zakończenia lotu
Batch ID,Identyfikator lotu
Batch No,Nr lotu
Batch Started Date,Data rozpoczęcia lotu
Batch Time Logs for billing.,
Batch-Wise Balance History,
Batched for Billing,
Better Prospects,
Bill Date,
Bill No,
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 Materials (BOM),Zestawienie materiałowe (BOM)
Billable,
Billed,
Billed Amount,
Billed Amt,
Billing,
Billing Address,
Billing Address Name,
Billing Status,
Bills raised by Suppliers.,
Bills raised to Customers.,
Bin,
Bio,
Biotechnology,
Birthday,Urodziny
Block Date,
Block Days,
Block leave applications by department.,
Blog Post,
Blog Subscriber,
Blood Group,
Both Warehouse must belong to same Company,
Box,
Branch,
Brand,Marka
Brand Name,Nazwa marki
Brand master.,
Brands,Marki
Breakdown,
Broadcasting,
Brokerage,
Budget,Budżet
Budget Allocated,
Budget Detail,
Budget Details,
Budget Distribution,
Budget Distribution Detail,
Budget Distribution Details,
Budget Variance Report,
Budget cannot be set for Group Cost Centers,
Build Report,
Built on,
Bundle items at time of sale.,
Business Development Manager,
Buying,Zakupy
Buying & Selling,Zakupy i sprzedaż
Buying Amount,
Buying Settings,
C-Form,
C-Form Applicable,
C-Form Invoice Detail,
C-Form No,
C-Form records,
Calculate Based On,
Calculate Total Score,
Calendar Events,
Call,
Calls,
Campaign,Kampania
Campaign Name,
Campaign Name is required,
Campaign Naming By,
Campaign-.####,
Can be approved by {0},
"Can not filter based on Account, if grouped by Account",
"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',
Cancel Material Visit {0} before cancelling this Customer Issue,
Cancel Material Visits {0} before cancelling this Maintenance Visit,
Cancelled,
Cancelling this Stock Reconciliation will nullify its effect.,
Cannot Cancel Opportunity as Quotation Exists,
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 submitted Stock Entry {0} exists,
Cannot carry forward {0},
Cannot change Year Start Date and Year End Date once the Fiscal Year is saved.,
"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.",
Cannot convert Cost Center to ledger as it has child nodes,
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 declare as lost, because Quotation has been made.",
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 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 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 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 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 authorization on basis of Discount for {0},
Capacity,
Capacity Units,
Capital Account,
Capital Equipments,
Carry Forward,
Carry Forwarded Leaves,
Case No(s) already in use. Try from Case No {0},
Case No. cannot be 0,
Cash,Gotówka
Cash In Hand,
Cash Voucher,
Cash or Bank Account is mandatory for making payment entry,
Cash/Bank Account,
Casual Leave,
Cell Number,
Change UOM for an Item.,
Change the starting / current sequence number of an existing series.,
Channel Partner,
Charge of type 'Actual' in row {0} cannot be included in Item Rate,
Chargeable,
Charity and Donations,
Chart Name,
Chart of Accounts,
Chart of Cost Centers,
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 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 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 to disallow fractions. (for Nos),
Check this to pull emails from your mailbox,
Check to activate,
Check to make Shipping Address,
Check to make primary address,
Chemical,
Cheque,
Cheque Date,
Cheque Number,
Child account exists for this account. You can not delete this account.,
City,Miasto
City/Town,Miasto/Miejscowość
Claim Amount,
Claims for company expense.,
Class / Percentage,
Classic,Klasyczny
Clear Table,
Clearance Date,
Clearance Date not mentioned,
Clearance date cannot be before check date in row {0},
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,
Click on a link to get options to expand get options ,
Client,
Close Balance Sheet and book Profit or Loss.,
Closed,
Closing Account Head,
Closing Account {0} must be of type 'Liability',
Closing Date,
Closing Fiscal Year,
Closing Qty,
Closing Value,
CoA Help,
Code,Kod
Cold Calling,
Color,Kolor
Comma separated list of email addresses,
Comments,Komentarze
Commercial,
Commission,Prowizja
Commission Rate,
Commission Rate (%),
Commission on Sales,
Commission rate cannot be greater than 100,
Communication,Komunikacja
Communication HTML,
Communication History,Historia komunikacji
Communication log.,
Communications,
Company,Firma
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 Info,Informacje o firmie
Company Name,Nazwa firmy
Company Settings,Ustawienia firmy
Company is missing in warehouses {0},
Company is required,
Company registration numbers for your reference. Example: VAT Registration Numbers etc.,
Company registration numbers for your reference. Tax numbers etc.,
"Company, Month and Fiscal Year is mandatory",
Compensatory Off,
Complete,
Complete Setup,
Completed,
Completed Production Orders,
Completed Qty,
Completion Date,
Completion Status,
Computer,Komputer
Computers,Komputery
Confirmation Date,Data potwierdzenia
Confirmed orders from Customers.,
Consider Tax or Charge for,
Considered as Opening Balance,
Considered as an Opening Balance,
Consultant,Konsultant
Consulting,Konsulting
Consumable,
Consumable Cost,
Consumable cost per hour,
Consumed Qty,
Consumer Products,
Contact,Kontakt
Contact Control,
Contact Desc,
Contact Details,
Contact Email,
Contact HTML,
Contact Info,Dane kontaktowe
Contact Mobile No,
Contact Name,Nazwa kontaktu
Contact No.,
Contact Person,
Contact Type,
Contact master.,
Contacts,Kontakty
Content,Zawartość
Content Type,
Contra Voucher,
Contract,Kontrakt
Contract End Date,
Contract End Date must be greater than Date of Joining,
Contribution (%),
Contribution to Net Total,
Conversion Factor,
Conversion Factor is required,
Conversion factor cannot be in fractions,
Conversion factor for default Unit of Measure must be 1 in row {0},
Conversion rate cannot be 0 or 1,
Convert into Recurring Invoice,
Convert to Group,
Convert to Ledger,
Converted,
Copy From Item Group,
Cosmetics,
Cost Center,
Cost Center Details,
Cost Center Name,
Cost Center is mandatory for Item {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 with existing transactions can not be converted to group,
Cost Center with existing transactions can not be converted to ledger,
Cost Center {0} does not belong to Company {1},
Cost of Goods Sold,
Costing,Zestawienie kosztów
Country,Kraj
Country Name,Nazwa kraju
"Country, Timezone and Currency",
Create Bank Voucher for the total salary paid for the above selected criteria,
Create Customer,
Create Material Requests,
Create New,
Create Opportunity,
Create Production Orders,
Create Quotation,
Create Receiver List,
Create Salary Slip,
Create Stock Ledger Entries when you submit a Sales Invoice,
"Create and manage daily, weekly and monthly email digests.",
Create rules to restrict transactions based on values.,
Created By,
Creates salary slip for above mentioned criteria.,
Creation Date,Data stworzenia
Creation Document No,
Creation Document Type,
Creation Time,Czas stworzenia
Credentials,
Credit,
Credit Amt,
Credit Card,
Credit Card Voucher,
Credit Controller,
Credit Days,
Credit Limit,
Credit Note,
Credit To,
Currency,
Currency Exchange,
Currency Name,
Currency Settings,
Currency and Price List,Waluta i cennik
Currency exchange rate master.,
Current Address,
Current Address Is,
Current Assets,
Current BOM,
Current BOM and New BOM can not be same,
Current Fiscal Year,
Current Liabilities,
Current Stock,
Current Stock UOM,
Current Value,
Custom,
Custom Autoreply Message,
Custom Message,
Customer,Klient
Customer (Receivable) Account,
Customer / Item Name,
Customer / Lead Address,
Customer / Lead Name,
Customer Account Head,
Customer Acquisition and Loyalty,
Customer Address,Adres klienta
Customer Addresses And Contacts,
Customer Code,
Customer Codes,
Customer Details,
Customer Feedback,
Customer Group,
Customer Group / Customer,
Customer Group Name,
Customer Intro,
Customer Issue,
Customer Issue against Serial No.,
Customer Name,Nazwa klienta
Customer Naming By,
Customer Service,
Customer database.,Baza danych klientów.
Customer is required,
Customer master.,
Customer required for 'Customerwise Discount',
Customer {0} does not belong to project {1},
Customer {0} does not exist,
Customer's Item Code,
Customer's Purchase Order Date,
Customer's Purchase Order No,
Customer's Purchase Order Number,
Customer's Vendor,
Customers Not Buying Since Long Time,
Customerwise Discount,
Customize,
Customize the Notification,
Customize the introductory text that goes as a part of that email. Each transaction has a separate introductory text.,
DN Detail,
Daily,
Daily Time Log Summary,
Database Folder ID,
Database of potential customers.,Baza danych potencjalnych klientów.
Date,Data
Date Format,Format daty
Date Of Retirement,
Date Of Retirement must be greater than Date of Joining,
Date is repeated,
Date of Birth,
Date of Issue,
Date of Joining,
Date of Joining must be greater than Date of Birth,
Date on which lorry started from supplier warehouse,
Date on which lorry started from your warehouse,
Dates,
Days Since Last Order,
Days for which Holidays are blocked for this department.,
Dealer,
Debit,
Debit Amt,
Debit Note,
Debit To,
Debit and Credit not equal for this voucher. Difference is {0}.,
Deduct,
Deduction,
Deduction Type,
Deduction1,
Deductions,
Default,
Default Account,
Default BOM,
Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,
Default Bank Account,
Default Buying Cost Center,
Default Buying Price List,
Default Cash Account,
Default Company,
Default Cost Center for tracking expense for this item.,
Default Currency,Domyślna waluta
Default Customer Group,
Default Expense Account,
Default Income Account,
Default Item Group,
Default Price List,
Default Purchase Account in which cost of the item will be debited.,
Default Selling Cost Center,
Default Settings,
Default Source Warehouse,Domyślny źródłowy magazyn
Default Stock UOM,
Default Supplier,Domyślny dostawca
Default Supplier Type,
Default Target Warehouse,Domyślny magazyn docelowy
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 Valuation Method,
Default Warehouse,Domyślny magazyn
Default Warehouse is mandatory for stock Item.,
Default settings for accounting transactions.,
Default settings for buying transactions.,
Default settings for selling transactions.,
Default settings for stock transactions.,
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}?,
Delivered,
Delivered Items To Be Billed,
Delivered Qty,
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 Items,
Delivery Note Message,
Delivery Note No,Nr dowodu dostawy
Delivery Note Required,
Delivery Note Trends,
Delivery Note {0} is not submitted,
Delivery Note {0} must not be submitted,
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 Stores,
Depends on LWP,
Depreciation,
Description,Opis
Description HTML,Opis HTML
Designation,
Designer,
Detailed Breakup of the totals,
Details,
Difference (Dr - Cr),
Difference Account,
"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.,
Direct Expenses,
Direct Income,
Disable,
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 Percentage,Procent rabatu
Discount must be less than 100,
Discount(%),Rabat (%)
Dispatch,
Display all the individual items delivered with the main items,
Distribute transport overhead across items.,
Distribution,
Distribution Id,
Distribution Name,
Distributor,Dystrybutor
Divorced,
Do Not Contact,
Do not show any symbol like $ etc next to currencies.,
Do really want to unstop production order: ,
Do you really want to STOP ,
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 UNSTOP ,
Do you really want to UNSTOP this Material Request?,
Do you really want to stop production order: ,
Doc Name,
Doc Type,
Document Description,
Document Type,
Documents,Dokumenty
Domain,Domena
Don't send Employee Birthday Reminders,
Download Materials Required,
Download Reconcilation Data,
Download Template,
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.All dates and employee combination in the selected period will come in the template, with existing attendance records",
Draft,Szkic
Dropbox,
Dropbox Access Allowed,
Dropbox Access Key,
Dropbox Access Secret,
Due Date,
Due Date cannot be after {0},
Due Date cannot be before Posting Date,
Duplicate Entry. Please check Authorization Rule {0},
Duplicate Serial No entered for Item {0},
Duplicate entry,
Duplicate row {0} with same {1},
Duties and Taxes,
ERPNext Setup,
Earliest,
Earnest Money,
Earning,
Earning & Deduction,
Earning Type,
Earning1,
Edit,Edytuj
Education,
Educational Qualification,
Educational Qualification Details,
Eg. smsgateway.com/api/send_sms.cgi,
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.,
Electrical,
Electricity Cost,Koszt energii elekrycznej
Electricity cost per hour,Koszt energii elektrycznej na godzinę
Electronics,
Email,
Email Digest,
Email Digest Settings,
Email Digest: ,
Email Id,
"Email Id where a job applicant will email e.g. ""jobs@example.com""",
Email Notifications,
Email Sent?,
"Email id must be unique, already exists for {0}",
Email ids separated by commas.,
"Email settings to extract Leads from sales email id e.g. ""sales@example.com""",
Emergency Contact,
Emergency Contact Details,
Emergency Phone,
Employee,Pracownik
Employee Birthday,Data urodzenia pracownika
Employee Details,
Employee Education,Wykształcenie pracownika
Employee External Work History,
Employee Information,
Employee Internal Work History,
Employee Internal Work Historys,
Employee Leave Approver,
Employee Leave Balance,
Employee Name,
Employee Number,
Employee Records to be created by,
Employee Settings,
Employee Type,
"Employee designation (e.g. CEO, Director etc.).",
Employee master.,
Employee record is created using selected field. ,
Employee records.,
Employee relieved on {0} must be set as 'Left',
Employee {0} has already applied for {1} between {2} and {3},
Employee {0} is not active or does not exist,
Employee {0} was on leave on {1}. Cannot mark attendance.,
Employees Email Id,
Employment Details,
Employment Type,
Enable / disable currencies.,
Enabled,Włączony
Encashment Date,
End Date,
End Date can not be less than Start Date,
End date of current invoice's period,
End of Life,Zakończenie okresu eksploatacji
Energy,Energia
Engineer,Inżynier
Enter Verification Code,
Enter campaign name if the source of lead is campaign.,
Enter department to which this Contact belongs,
Enter designation of this Contact,
"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 name of campaign if source of enquiry is campaign,
"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 url parameter for message,
Enter url parameter for receiver nos,
Entertainment & Leisure,
Entertainment Expenses,
Entries,
Entries against,
Entries are not allowed against this Fiscal Year if the year is closed.,
Entries before {0} are frozen,
Equity,
Error: {0} > {1},
Estimated Material Cost,
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.",
Exchange Rate,
Excise Page Number,
Excise Voucher,
Execution,
Executive Search,
Exemption Limit,
Exhibition,
Existing Customer,
Exit,Wyjście
Exit Interview Details,
Expected,Przewidywany
Expected Completion Date can not be less than Project Start Date,
Expected Date cannot be before Material Request Date,
Expected Delivery Date,
Expected Delivery Date cannot be before Purchase Order Date,
Expected Delivery Date cannot be before Sales Order Date,
Expected End Date,
Expected Start Date,
Expense,
Expense Account,
Expense Account is mandatory,
Expense Claim,
Expense Claim Approved,
Expense Claim Approved Message,
Expense Claim Detail,
Expense Claim Details,
Expense Claim Rejected,
Expense Claim Rejected Message,
Expense Claim Type,
Expense Claim has been approved.,
Expense Claim has been rejected.,
Expense Claim is pending approval. Only the Expense Approver can update status.,
Expense Date,
Expense Details,
Expense Head,
Expense account is mandatory for item {0},
Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,
Expenses,Wydatki
Expenses Booked,
Expenses Included In Valuation,
Expenses booked for the digest period,
Expiry Date,Data ważności
Exports,
External,
Extract Emails,
FCFS Rate,
Failed: ,
Family Background,
Fax,Faks
Features Setup,
Feed,
Feed Type,
Feedback,
Female,
Fetch exploded BOM (including sub-assemblies),
"Field available in Delivery Note, Quotation, Sales Invoice, Sales Order",
Files Folder ID,
Fill the form and save it,
Filter based on customer,
Filter based on item,
Financial / accounting year.,
Financial Analytics,
Financial Services,
Financial Year End Date,
Financial Year Start Date,
Finished Goods,
First Name,
First Responded On,
Fiscal Year,Rok obrotowy
Fixed Asset,
Fixed Assets,
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.",
Food,Żywność
"Food, Beverage & Tobacco",
For Company,Dla firmy
For Employee,Dla pracownika
For Employee Name,
For Price List,
For Production,
For Reference Only.,Wyłącznie w celach informacyjnych.
For Sales Invoice,
For Server Side Print Formats,
For Supplier,Dla dostawcy
For Warehouse,Dla magazynu
For Warehouse is required before Submit,
"For e.g. 2012, 2012-13",
For reference,
For reference only.,
"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes",
Fraction,
Fraction Units,
Freeze Stock Entries,
Freeze Stocks Older Than [Days],
Freight and Forwarding Charges,
Friday,Piątek
From,Od
From Bill of Materials,Z zestawienia materiałowego
From Company,
From Currency,
From Currency and To Currency cannot be same,
From Customer,
From Customer Issue,
From Date,
From Date must be before To Date,
From Delivery Note,
From Employee,
From Lead,
From Maintenance Schedule,
From Material Request,
From Opportunity,
From Package No.,
From Purchase Order,
From Purchase Receipt,
From Quotation,
From Sales Order,
From Supplier Quotation,
From Time,
From Value,
From and To dates required,
From value must be less than to value in row {0},
Frozen,
Frozen Accounts Modifier,
Fulfilled,
Full Name,
Full-time,
Fully Completed,
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 nodes can be only created under 'Group' type nodes,
GL Entry,
Gantt Chart,
Gantt chart of all tasks.,
Gender,
General,
General Ledger,
Generate Description HTML,Generuj opis HTML
Generate Material Requests (MRP) and Production Orders.,
Generate Salary Slips,
Generate Schedule,
Generates HTML to include selected image in the description,Generuje HTML zawierający wybrany obrazek w opisie
Get Advances Paid,
Get Advances Received,
Get Against Entries,
Get Current Stock,Pobierz aktualny stan magazynowy
Get Items,Pobierz produkty
Get Items From Sales Orders,
Get Items from BOM,Weź produkty z zestawienia materiałowego
Get Last Purchase Rate,
Get Outstanding Invoices,
Get Relevant Entries,
Get Sales Orders,
Get Specification Details,Pobierz szczegóły specyfikacji
Get Stock and Rate,Pobierz stan magazynowy i stawkę
Get Template,
Get Terms and Conditions,
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.",
Global Defaults,
Global POS Setting {0} already created for company {1},
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 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,
Goals,
Goods received from Suppliers.,Produkty otrzymane od dostawców.
Google Drive,
Google Drive Access Allowed,
Government,
Graduate,
Grand Total,
Grand Total (Company Currency),
"Grid """,
Grocery,
Gross Margin %,
Gross Margin Value,
Gross Pay,
Gross Pay + Arrear Amount +Encashment Amount - Total Deduction,
Gross Profit,
Gross Profit (%),
Gross Weight,
Gross Weight UOM,
Group,Grupa
Group by Account,
Group by Voucher,
Group or Ledger,
Groups,Grupy
HR Manager,
HR Settings,
HTML / Banner that will show on the top of product list.,
Half Day,
Half Yearly,
Half-yearly,
Happy Birthday!,
Hardware,
Has Batch No,Posada numer lotu (batch'u)
Has Child Node,
Has Serial No,Posiada numer seryjny
Head of Marketing and Sales,
Header,Nagłówek
Health Care,Opieka zdrowotna
Health Concerns,
Health Details,
Held On,
Help HTML,
"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 height, weight, allergies, medical concerns etc",
Hide Currency Symbol,
High,Wysoki
History In Company,
Hold,
Holiday,
Holiday List,
Holiday List Name,
Holiday master.,
Holidays,
Home,
Host,
"Host, Email and Password required if emails are to be pulled",
Hour,Godzina
Hour Rate,Stawka godzinowa
Hour Rate Labour,
Hours,Godziny
How frequently?,Jak często?
"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),
If Income or Expense,
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 Supplier Part Number exists for given Item, it gets stored here",
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, 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 different than customer address,
"If disable, 'Rounded Total' field will not be visible in any transaction",
"If enabled, the system will post accounting entries for inventory automatically.",
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 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 specified, send the newsletter using this email address",
"If the account is frozen, entries are allowed to restricted users.",
"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 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 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 involve in manufacturing activity. Enables Item 'Is Manufactured',
Ignore,
Ignored: ,
Image,Obrazek
Image View,
Implementation Partner,
Import Attendance,
Import Failed!,
Import Log,
Import Successful!,
Imports,
In Hours,
In Process,
In Qty,
In Value,
In Words,Słownie
In Words (Company Currency),
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 Purchase Invoice.,
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 Quotation.,
In Words will be visible once you save the Sales Invoice.,
In Words will be visible once you save the Sales Order.,
Incentives,
Include Reconciled Entries,
Include holidays in Total no. of Working Days,
Income,
Income / Expense,
Income Account,
Income Booked,
Income Tax,
Income Year to Date,
Income booked for the digest period,
Incoming,
Incoming Rate,
Incoming quality inspection.,
Incorrect or Inactive BOM {0} for Item {1} at row {2},
Indicates that the package is a part of this delivery,
Indirect Expenses,
Indirect Income,
Individual,
Industry,
Industry Type,
Inspected By,Skontrolowane przez
Inspection Criteria,Kryteria kontrolne
Inspection Required,Wymagana kontrola
Inspection Type,Typ kontroli
Installation Date,
Installation Note,
Installation Note Item,
Installation Note {0} has already been submitted,
Installation Status,
Installation Time,
Installation date cannot be before delivery date for Item {0},
Installation record for a Serial No.,
Installed Qty,
Instructions,Instrukcje
Integrate incoming support emails to Support Ticket,
Interested,
Intern,
Internal,
Internet Publishing,
Introduction,
Invalid Barcode or Serial No,
Invalid Mail Server. Please rectify and try again.,
Invalid Master Name,
Invalid User Name or Support Password. Please rectify and try again.,
Invalid quantity specified for item {0}. Quantity should be greater than 0.,
Inventory,Inwentarz
Inventory & Support,
Investment Banking,
Investments,
Invoice Date,
Invoice Details,
Invoice No,
Invoice Period From Date,
Invoice Period From and Invoice Period To dates mandatory for recurring invoice,
Invoice Period To Date,
Invoiced Amount (Exculsive Tax),
Is Active,Jest aktywny
Is Advance,
Is Cancelled,
Is Carry Forward,
Is Default,Jest domyślny
Is Encash,
Is Fixed Asset Item,Jest stałą pozycją aktywów
Is LWP,
Is Opening,
Is Opening Entry,
Is POS,
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 this Tax included in Basic Rate?,
Issue,
Issue Date,
Issue Details,
Issued Items Against Production Order,
It can also be used to create opening stock entries and to fix stock value.,
Item,Produkt
Item Advanced,
Item Barcode,Kod kreskowy produktu
Item Batch Nos,
Item Code,Kod produktu
Item Code and Warehouse should already exist.,
Item Code cannot be changed for Serial No.,
Item Code is mandatory because Item is not automatically numbered,
Item Code required at Row No {0},
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 Tree,Drzewo grup produktów
Item Groups in Details,
Item Image (if not slideshow),
Item Name,Nazwa produktu
Item Naming By,
Item Price,Cena produktu
Item Prices,Ceny produktu
Item Quality Inspection Parameter,
Item Reorder,
Item Serial No,Nr seryjny produktu
Item Serial Nos,
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 Tax1,
Item To Manufacture,Produkt do wyprodukowania
Item UOM,Jednostka miary produktu
Item Website Specification,
Item Website Specifications,
Item Wise Tax Detail,
Item Wise Tax Detail ,
Item is required,
Item is updated,
Item master.,
"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 table can not be blank,
Item to be manufactured or repacked,"Produkt, który ma zostać wyprodukowany lub przepakowany"
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} does not exist,
Item {0} does not exist in the system or has expired,
Item {0} does not exist in {1} {2},
Item {0} has already been returned,
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 or warehouse,
Item {0} has been entered twice,
Item {0} has reached its end of life on {1},
Item {0} ignored since it is not a stock item,
Item {0} is cancelled,
Item {0} is not Purchase Item,
Item {0} is not a serialized Item,
Item {0} is not a stock Item,
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. Column must be blank,
Item {0} must be Sales Item,
Item {0} must be Sales or Service Item in {1},
Item {0} must be Service Item,
Item {0} must be a Purchase Item,
Item {0} must be a Sales Item,
Item {0} must be a Service Item.,
Item {0} must be a Sub-contracted Item,
Item {0} must be a stock Item,
Item {0} must be manufactured or sub-contracted,
Item {0} not found,
Item {0} with Serial No {1} is already installed,
Item {0} with same description entered twice,
"Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.",
Item-wise Price List Rate,
Item-wise Purchase History,
Item-wise Purchase Register,
Item-wise Sales History,
Item-wise Sales Register,
"Item: {0} managed batch-wise, can not be reconciled using \					Stock Reconciliation, instead use Stock Entry",
Item: {0} not found in the system,
Items,Produkty
Items To Be Requested,
Items required,
"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,
Itemwise Discount,
Itemwise Recommended Reorder Level,
Job Applicant,
Job Opening,
Job Profile,
Job Title,
"Job profile, qualifications required etc.",
Jobs Email Settings,
Journal Entries,
Journal Entry,
Journal Voucher,
Journal Voucher Detail,
Journal Voucher Detail No,
Journal Voucher {0} does not have account {1} or already matched,
Journal Vouchers {0} are un-linked,
Keep a track of communication related to this enquiry which will help for future reference.,
Keep it web friendly 900px (w) by 100px (h),
Key Performance Area,
Key Responsibility Area,
Kg,
LR Date,
LR No,Nr ciężarówki
Label,
Landed Cost Item,
Landed Cost Items,
Landed Cost Purchase Receipt,
Landed Cost Purchase Receipts,
Landed Cost Wizard,
Landed Cost updated successfully,
Language,
Last Name,
Last Purchase Rate,
Latest,
Lead,
Lead Details,
Lead Id,
Lead Name,
Lead Owner,
Lead Source,
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 Type,
Lead must be set if Opportunity is made from Lead,
Leave Allocation,
Leave Allocation Tool,
Leave Application,
Leave Approver,
Leave Approvers,
Leave Balance Before Application,
Leave Block List,
Leave Block List Allow,
Leave Block List Allowed,
Leave Block List Date,
Leave Block List Dates,
Leave Block List Name,
Leave Blocked,
Leave Control Panel,
Leave Encashed?,
Leave Encashment Amount,
Leave Type,
Leave Type Name,
Leave Without Pay,
Leave application has been approved.,
Leave application has been rejected.,
Leave approver must be one of {0},
Leave blank if considered for all branches,
Leave blank if considered for all departments,
Leave blank if considered for all designations,
Leave blank if considered for all employee types,
"Leave can be approved by users with Role, ""Leave Approver""",
Leave of type {0} cannot be longer than {1},
Leaves Allocated Successfully for {0},
Leaves for type {0} already allocated for Employee {1} for Fiscal Year {0},
Leaves must be allocated in multiples of 0.5,
Ledger,
Ledgers,
Left,
Legal,
Legal Expenses,
Letter Head,
Letter Heads for print templates.,
Level,
Lft,
Liability,
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 items that form the package.,
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 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...,
Loans (Liabilities),
Loans and Advances (Assets),
Local,
Login with your new User ID,
Logo,
Logo and Letter Heads,
Lost,
Lost Reason,
Low,
Lower Income,
MTN Details,
Main,Główny
Main Reports,Raporty główne
Maintain Same Rate Throughout Sales Cycle,
Maintain same rate throughout purchase cycle,
Maintenance,
Maintenance Date,
Maintenance Details,
Maintenance Schedule,
Maintenance Schedule Detail,
Maintenance Schedule Item,
Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',
Maintenance Schedule {0} exists against {0},
Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,
Maintenance Schedules,
Maintenance Status,
Maintenance Time,
Maintenance Type,
Maintenance Visit,
Maintenance Visit Purpose,
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,
Maintenance start date can not be before delivery date for Serial No {0},
Major/Optional Subjects,
Make ,Stwórz
Make Accounting Entry For Every Stock Movement,
Make Bank Voucher,
Make Credit Note,
Make Debit Note,
Make Delivery,
Make Difference Entry,
Make Excise Invoice,
Make Installation Note,
Make Invoice,
Make Maint. Schedule,
Make Maint. Visit,
Make Maintenance Visit,
Make Packing Slip,
Make Payment Entry,
Make Purchase Invoice,
Make Purchase Order,
Make Purchase Receipt,
Make Salary Slip,
Make Salary Structure,
Make Sales Invoice,
Make Sales Order,
Make Supplier Quotation,
Male,
Manage Customer Group Tree.,
Manage Sales Person Tree.,
Manage Territory Tree.,
Manage cost of operations,Zarządzaj kosztami działań
Management,
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/Repack,Produkcja/Przepakowanie
Manufactured Qty,
Manufactured quantity will be updated in this warehouse,
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,
Margin,
Marital Status,
Market Segment,
Marketing,
Marketing Expenses,
Married,
Mass Mailing,
Master Name,
Master Name is mandatory if account type is Warehouse,
Master Type,
Masters,
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 For Warehouse,
Material Request Item,
Material Request Items,
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 used to make this Stock Entry,
Material Request {0} is cancelled or stopped,
Material Requests for which Supplier Quotations are not created,
Material Requests {0} created,
Material Requirement,
Material Transfer,Transfer materiałów
Materials,Materiały
Materials Required (Exploded),
Max 5 characters,
Max Days Leave Allowed,
Max Discount (%),Maksymalny rabat (%)
Max Qty,Maks. Ilość
Maximum allowed credit is {0} days after posting date,
Maximum {0} rows allowed,
Maxiumm discount for Item {0} is {1}%,
Medical,Medyczny
Medium,
"Merging is only possible if following properties are same in both records. Group or Ledger, Root Type, Company",
Message,Wiadomość
Message Parameter,
Message Sent,Wiadomość wysłana
Message updated,
Messages,Wiadomości
Messages greater than 160 characters will be split into multiple messages,
Middle Income,
Milestone,
Milestone Date,
Milestones,
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,
Minimum Order Qty,Minimalna wartość zamówienia
Minute,Minuta
Misc Details,
Miscellaneous Expenses,
Miscelleneous,
Mobile No,Nr tel. Komórkowego
Mobile No.,Nr tel. Komórkowego
Mode of Payment,
Modern,Nowoczesny
Modified Amount,
Monday,Poniedziałek
Month,Miesiąc
Monthly,Miesięcznie
Monthly Attendance Sheet,
Monthly Earning & Deduction,
Monthly Salary Register,
Monthly salary statement.,
More Details,
More Info,Więcej informacji
Motion Picture & Video,
Moving Average,
Moving Average Rate,
Mr,Pan
Ms,Pani
Multiple Item prices.,
"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 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 the Budget Distribution,
Naming Series,
Negative Quantity is not allowed,
Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},
Negative Valuation Rate is not allowed,
Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4},
Net Pay,
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,
Never,Nigdy
New ,Nowy
New Account,Nowe konto
New Account Name,Nowa nazwa konta
New BOM,Nowe zestawienie materiałowe
New Communications,
New Company,Nowa firma
New Cost Center,
New Cost Center Name,
New Delivery Notes,
New Enquiries,
New Leads,
New Leave Application,
New Leaves Allocated,
New Leaves Allocated (In Days),
New Material Requests,
New Projects,Nowe projekty
New Purchase Orders,
New Purchase Receipts,
New Quotations,
New Sales Orders,
New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,
New Stock Entries,
New Stock UOM,
New Stock UOM is required,
New Stock UOM must be different from current stock UOM,
New Supplier Quotations,
New Support Tickets,
New UOM must NOT be of type Whole Number,
New Workplace,
Newsletter,
Newsletter Content,
Newsletter Status,
Newsletter has already been sent,
Newsletters is not allowed for Trial users,
"Newsletters to contacts, leads.",
Newspaper Publishers,
Next,Następny
Next Contact By,
Next Contact Date,
Next Date,
Next email will be sent on:,
No,Nie
No Customer Accounts found.,
No Customer or Supplier Accounts found,
No Expense Approvers. Please assign 'Expense Approver' Role to atleast one user,
No Item with Barcode {0},
No Item with Serial No {0},
No Items to pack,
No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user,
No Permission,
No Production Orders created,
No Supplier Accounts found. Supplier Accounts are identified based on 'Master Type' value in account record.,
No accounting entries for the following warehouses,
No addresses created,
No contacts created,
No default BOM exists for Item {0},
No description given,
No employee found,
No employee found!,
No of Requested SMS,
No of Sent SMS,
No of Visits,
No permission,
No record found,
No salary slip found for month: ,
Non Profit,
Nos,
Not Active,
Not Applicable,
Not Available,Niedostępny
Not Billed,
Not Delivered,
Not Set,
Not allowed to update entries older than {0},
Not authorized to edit frozen Account {0},
Not authroized since {0} exceeds limits,
Not permitted,
Note,
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 Google Drive, you will have to delete them manually.",
Note: Due Date exceeds the allowed credit days by {0} day(s),
Note: Email will not be sent to disabled users,
Note: Item {0} entered multiple times,
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: There is not enough leave balance for Leave Type {0},
Note: This Cost Center is a Group. Cannot make accounting entries against groups.,
Note: {0},
Notes,Notatki
Notes:,Notatki:
Nothing to request,
Notice (days),
Notification Control,
Notification Email Address,
Notify by Email on creation of automatic Material Request,
Number Format,
Offer Date,
Office,Biuro
Office Equipments,
Office Maintenance Expenses,
Office Rent,
Old Parent,
On Net Total,
On Previous Row Amount,
On Previous Row Total,
Online Auctions,
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 the selected Leave Approver can submit this Leave Application,
Open,Otwarty
Open Production Orders,
Open Tickets,
Open source ERP built for the web,
Opening (Cr),
Opening (Dr),
Opening Date,
Opening Entry,
Opening Qty,
Opening Time,
Opening Value,
Opening for a Job.,
Operating Cost,
Operation Description,
Operation No,
Operation Time (mins),
Operation {0} is repeated 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 Items,
Opportunity Lost,
Opportunity Type,Typ szansy
Optional. This setting will be used to filter in various transactions.,
Order Type,Typ zamówienia
Order Type must be one of {1},
Ordered,
Ordered Items To Be Billed,
Ordered Items To Be Delivered,
Ordered Qty,
"Ordered Qty: Quantity ordered for purchase, but not received.",
Ordered Quantity,
Orders released for production.,Zamówienia zwolnione do produkcji.
Organization Name,Nazwa organizacji
Organization Profile,
Organization branch master.,
Organization unit (department) master.,
Original Amount,
Other,Inne
Other Details,
Others,Inni
Out Qty,
Out Value,
Out of AMC,
Out of Warranty,
Outgoing,
Outstanding Amount,
Outstanding for {0} cannot be less than zero ({1}),
Overhead,
Overheads,Koszty ogólne
Overlapping conditions found between:,
Overview,
Owned,
Owner,Właściciel
PL or BS,
PO Date,
PO No,
POP3 Mail Server,
POP3 Mail Settings,
POP3 mail server (e.g. pop.gmail.com),
POP3 server e.g. (pop.gmail.com),
POS Setting,
POS Setting required to make POS Entry,
POS Setting {0} already created for user: {1} and company {2},
POS View,
PR Detail,
PR Posting Date,
Package Item Details,
Package Items,
Package Weight Details,
Packed Item,
Packed quantity must equal quantity for Item {0} in row {1},
Packing Details,
Packing List,
Packing Slip,
Packing Slip Item,
Packing Slip Items,
Packing Slip(s) cancelled,
Page Break,
Page Name,
Paid Amount,
Paid amount + Write Off Amount can not be greater than Grand Total,
Pair,Para
Parameter,Parametr
Parent Account,
Parent Cost Center,
Parent Customer Group,
Parent Detail docname,
Parent Item,
Parent Item Group,
Parent Item {0} must be not Stock Item and must be a Sales Item,
Parent Party Type,
Parent Sales Person,
Parent Territory,
Parent Website Page,
Parent Website Route,
Parent account can not be a ledger,
Parent account does not exist,
Parenttype,
Part-time,
Partially Completed,
Partly Billed,
Partly Delivered,
Partner Target Detail,
Partner Type,
Partner's Website,
Party Type,
Party Type Name,
Passive,
Passport Number,
Password,
Pay To / Recd From,
Payable,
Payables,
Payables Group,
Payment Days,
Payment Due Date,
Payment Period Based On Invoice Date,
Payment Type,
Payment of salary for the month {0} and year {1},
Payment to Invoice Matching Tool,
Payment to Invoice Matching Tool Detail,
Payments,Płatności
Payments Made,
Payments Received,
Payments made during the digest period,
Payments received during the digest period,
Payroll Settings,
Pending,
Pending Amount,
Pending Items {0} updated,
Pending Review,
Pending SO Items For Purchase Request,
Pension Funds,
Percent Complete,
Percentage Allocation,
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.,
Performance appraisal.,
Period,Okres
Period Closing Voucher,
Periodicity,
Permanent Address,
Permanent Address Is,
Permission,Pozwolenie
Personal,
Personal Details,
Personal Email,
Pharmaceutical,
Pharmaceuticals,
Phone,Telefon
Phone No,Nr telefonu
Piecework,
Pincode,Kod PIN
Place of Issue,
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 Quantity,Planowana ilość
Planning,Planowanie
Plant,Zakład
Plant and Machinery,
Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,
Please add expense voucher details,
Please check 'Is Advance' against Account {0} if this is an advance entry.,
Please click on 'Generate Schedule',
Please click on 'Generate Schedule' to fetch Serial No added for Item {0},
Please click on 'Generate Schedule' to get schedule,
Please create Customer from Lead {0},
Please create Salary Structure for employee {0},
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 enter 'Expected Delivery Date',
Please enter 'Is Subcontracted' as Yes or No,
Please enter 'Repeat on Day of Month' field value,
Please enter Account Receivable/Payable group in company master,
Please enter Approving Role or Approving User,
Please enter BOM for Item {0} at row {1},
Please enter Company,
Please enter Cost Center,
Please enter Delivery Note No or Sales Invoice No to proceed,
Please enter Employee Id of this sales parson,
Please enter Expense Account,
Please enter Item Code to get batch no,
Please enter Item Code.,
Please enter Item first,
Please enter Maintaince Details first,
Please enter Master Name once the account is created.,
Please enter Planned Qty for Item {0} at row {1},
Please enter Production Item first,
Please enter Purchase Receipt No to proceed,
Please enter Reference date,
Please enter Warehouse for which Material Request will be raised,
Please enter Write Off Account,
Please enter atleast 1 invoice in the table,
Please enter company first,
Please enter company name first,
Please enter default Unit of Measure,
Please enter default currency in Company Master,
Please enter email address,
Please enter item details,
Please enter message before sending,
Please enter parent account group for warehouse account,
Please enter parent cost center,
Please enter quantity for Item {0},
Please enter relieving date.,
Please enter sales order in the above table,
Please enter valid Company Email,
Please enter valid Email Id,
Please enter valid Personal Email,
Please enter valid mobile nos,
Please install dropbox python module,
Please mention no of visits required,
Please pull items from Delivery Note,
Please save the Newsletter before sending,
Please save the document before generating maintenance schedule,
Please select Account first,
Please select Bank Account,
Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,
Please select Category first,
Please select Charge Type first,
Please select Fiscal Year,
Please select Group or Ledger value,
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 Price List,
Please select Start Date and End Date for Item {0},
Please select a csv file,
Please select a valid csv file with data,
Please select a value for {0} quotation_to {1},
"Please select an ""Image"" first",
Please select charge type first,
Please select company first.,
Please select item code,
Please select month and year,
Please select prefix first,
Please select the document type first,
Please select weekly off day,
Please select {0},
Please select {0} first,
Please set Dropbox access keys in your site config,
Please set Google Drive access keys in {0},
Please set default Cash or Bank account in Mode of Payment {0},
Please set default value {0} in Company {0},
Please set {0},
Please setup Employee Naming System in Human Resource > HR Settings,
Please setup numbering series for Attendance via Setup > Numbering Series,
Please setup your chart of accounts before you start Accounting Entries,
Please specify,
Please specify Company,
Please specify Company to proceed,
Please specify Default Currency in Company Master and Global Defaults,
Please specify a,
Please specify a valid 'From Case No.',
Please specify a valid Row ID for {0} in row {1},
Please specify either Quantity or Valuation Rate or both,
Please submit to update Leave Balance.,
Plot,
Plot By,
Point of Sale,
Point-of-Sale Setting,
Post Graduate,
Postal,
Postal Expenses,
Posting Date,Data publikacji
Posting Time,Czas publikacji
Posting timestamp must be after {0},
Potential opportunities for selling.,Potencjalne okazje na sprzedaż.
Preferred Billing Address,
Preferred Shipping Address,
Prefix,
Present,
Prevdoc DocType,
Prevdoc Doctype,
Preview,
Previous,Wstecz
Previous Work Experience,
Price,Cena
Price / Discount,Cena / Rabat
Price List,Cennik
Price List Currency,Waluta cennika
Price List Currency not selected,
Price List Exchange Rate,
Price List Name,Nazwa cennika
Price List Rate,
Price List Rate (Company Currency),
Price List master.,
Price List must be applicable for Buying or Selling,
Price List not selected,
Price List {0} is disabled,
Price or Discount,
Pricing Rule,
Pricing Rule For Discount,
Pricing Rule For Price,
Print Format Style,
Print Heading,Nagłówek do druku
Print Without Amount,Drukuj bez wartości
Print and Stationary,
Printing and Branding,
Priority,Priorytet
Private Equity,
Privilege Leave,
Probation,
Process Payroll,
Produced,
Produced Quantity,
Product Enquiry,
Production,Produkcja
Production Order,Zamówinie produkcji
Production Order status is {0},
Production Order {0} must be cancelled before cancelling this Sales Order,
Production Order {0} must be submitted,
Production Orders,
Production Orders in Progress,
Production Plan Item,
Production Plan Items,
Production Plan Sales Order,
Production Plan Sales Orders,
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.",
Profit and Loss,
Project,Projekt
Project Costing,
Project Details,
Project Manager,
Project Milestone,
Project Milestones,
Project Name,Nazwa projektu
Project Start Date,
Project Type,
Project Value,
Project activity / task.,
Project master.,
Project will get saved and will be searchable with project name given,
Project wise Stock Tracking,
Project-wise data is not available for Quotation,
Projected,
Projected Qty,Prognozowana ilość
Projects,Projekty
Projects & System,
Prompt for Email on Submission of,
Proposal Writing,
Provide email id registered in company,
Public,
Publishing,
Pull sales orders (pending to deliver) based on the above criteria,
Purchase,Zakup
Purchase / Manufacture Details,
Purchase Analytics,
Purchase Common,
Purchase Details,Szczegóły zakupu
Purchase Discounts,
Purchase In Transit,
Purchase Invoice,
Purchase Invoice Advance,
Purchase Invoice Advances,
Purchase Invoice Item,
Purchase Invoice Trends,
Purchase Invoice {0} is already submitted,
Purchase Order,Zamówienie
Purchase Order Date,Data zamówienia
Purchase Order Item,
Purchase Order Item No,
Purchase Order Item Supplied,
Purchase Order Items,
Purchase Order Items Supplied,
Purchase Order Items To Be Billed,
Purchase Order Items To Be Received,
Purchase Order Message,
Purchase Order Required,
Purchase Order Trends,
Purchase Order number required for Item {0},
Purchase Order {0} is 'Stopped',
Purchase Order {0} is not submitted,
Purchase Orders given to Suppliers.,
Purchase Receipt,Dowód zakupu
Purchase Receipt Item,
Purchase Receipt Item Supplied,
Purchase Receipt Item Supplieds,
Purchase Receipt Items,
Purchase Receipt Message,
Purchase Receipt No,Nr dowodu zakupu
Purchase Receipt Required,
Purchase Receipt Trends,
Purchase Receipt number required for Item {0},
Purchase Receipt {0} is not submitted,
Purchase Register,
Purchase Return,Zwrot zakupu
Purchase Returned,
Purchase Taxes and Charges,
Purchase Taxes and Charges Master,
Purchse Order number required for Item {0},
Purpose,Cel
Purpose must be one of {0},
QA Inspection,Inspecja kontroli jakości
Qty,Ilość
Qty Consumed Per Unit,
Qty To Manufacture,
Qty as per Stock UOM,
Qty to Deliver,
Qty to Order,
Qty to Receive,
Qty to Transfer,
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 Management,
Quantity,Ilość
Quantity Requested for Purchase,
Quantity and Rate,
Quantity and Warehouse,Ilość i magazyn
Quantity cannot be a fraction in row {0},
Quantity for Item {0} must be less than {1},
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},
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 Message,
Quotation To,Wycena dla
Quotation Trends,
Quotation {0} is cancelled,
Quotation {0} not of type {1},
Quotations received from Suppliers.,
Quotes to Leads or Customers.,
Raise Material Request when stock reaches re-order level,
Raised By,
Raised By (Email),
Random,Losowy
Range,Przedział
Rate,Stawka
Rate ,Stawka 
Rate (%),Stawka (%)
Rate (Company Currency),
Rate Of Materials Based On,
Rate and Amount,
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 customer'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 this tax is applied,
Raw Material,Surowiec
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,
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,
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,
Reason,
Reason for Leaving,
Reason for Resignation,
Reason for losing,
Recd Quantity,
Receivable,
Receivable / Payable account will be identified based on the field Master Type,
Receivables,
Receivables / Payables,
Receivables Group,
Received Date,
Received Items To Be Billed,
Received Qty,
Received and Accepted,
Receiver List,
Receiver List is empty. Please create Receiver List,
Receiver Parameter,
Recipients,
Reconcile,
Reconciliation Data,
Reconciliation HTML,
Reconciliation JSON,
Record item movement.,Zapisz ruch produktu.
Recurring Id,
Recurring Invoice,
Recurring Type,
Reduce Deduction for Leave Without Pay (LWP),
Reduce Earning for Leave Without Pay (LWP),
Ref Code,
Ref SQ,
Reference,
Reference #{0} dated {1},
Reference Date,
Reference Name,
Reference No & Reference Date is required for {0},
Reference No is mandatory if you entered Reference Date,
Reference Number,
Reference Row #,
Refresh,Odśwież
Registration Details,
Registration Info,
Rejected,
Rejected Quantity,
Rejected Serial No,
Rejected Warehouse,
Rejected Warehouse is mandatory against regected item,
Relation,
Relieving Date,
Relieving Date must be greater than Date of Joining,
Remark,
Remarks,Uwagi
Rename,Zmień nazwę
Rename Log,
Rename Tool,
Rent Cost,
Rent per hour,
Rented,
Repeat on Day of Month,
Replace,
Replace Item / BOM in all BOMs,
Replied,
Report Date,Data raportu
Report Type,Typ raportu
Report Type is mandatory,Typ raportu jest wymagany
Reports to,
Reqd By Date,
Request Type,
Request for Information,
Request for purchase.,
Requested,
Requested For,
Requested Items To Be Ordered,
Requested Items To Be Transferred,
Requested Qty,
"Requested Qty: Quantity requested for purchase, but not ordered.",
Requests for items.,Zamówienia produktów.
Required By,
Required Date,
Required Qty,Wymagana ilość
Required only for sample item.,
Required raw materials issued to the supplier for producing a sub - contracted item.,
Research,Badania
Research & Development,Badania i rozwój
Researcher,
Reseller,
Reserved,Zarezerwowany
Reserved Qty,Zarezerwowana ilość
"Reserved Qty: Quantity ordered for sale, but not delivered.",
Reserved Quantity,Zarezerwowana ilość
Reserved Warehouse,
Reserved Warehouse in Sales Order / Finished Goods Warehouse,
Reserved Warehouse is missing in Sales Order,
Reserved Warehouse required for stock Item {0} in row {1},
Reserved warehouse required for stock item {0},
Reserves and Surplus,
Reset Filters,
Resignation Letter Date,
Resolution,
Resolution Date,
Resolution Details,
Resolved By,
Rest Of The World,
Retail,
Retail & Wholesale,
Retailer,
Review Date,
Rgt,
Role Allowed to edit frozen stock,
Role that is allowed to submit transactions that exceed credit limits set.,
Root Type,
Root Type is mandatory,
Root account can not be deleted,
Root cannot be edited.,
Root cannot have a parent cost center,
Rounded Off,
Rounded Total,
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 \						Sales Invoice Debit To account,
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}: 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,
Rules for adding shipping costs.,
Rules for applying pricing and discount.,
Rules to calculate shipping amount for a sale,
S.O. No.,
SMS Center,
SMS Control,
SMS Gateway URL,
SMS Log,
SMS Parameter,
SMS Sender Name,
SMS Settings,
SO Date,
SO Pending Qty,
SO Qty,
Salary,Pensja
Salary Information,
Salary Manager,
Salary Mode,
Salary Slip,
Salary Slip Deduction,
Salary Slip Earning,
Salary Slip of employee {0} already created for this month,
Salary Structure,
Salary Structure Deduction,
Salary Structure Earning,
Salary Structure Earnings,
Salary breakup based on Earning and Deduction.,
Salary components.,
Salary template master.,
Sales,Sprzedaż
Sales Analytics,Analityka sprzedaży
Sales BOM,
Sales BOM Help,
Sales BOM Item,
Sales BOM Items,
Sales Browser,
Sales Details,Szczegóły sprzedaży
Sales Discounts,
Sales Email Settings,
Sales Expenses,
Sales Extras,
Sales Funnel,
Sales Invoice,
Sales Invoice Advance,
Sales Invoice Item,
Sales Invoice Items,
Sales Invoice Message,
Sales Invoice No,Nr faktury sprzedażowej
Sales Invoice Trends,
Sales Invoice {0} has already been submitted,
Sales Invoice {0} must be cancelled before cancelling this Sales Order,
Sales Order,Zlecenie sprzedaży
Sales Order Date,
Sales Order Item,
Sales Order Items,
Sales Order Message,
Sales Order No,
Sales Order Required,
Sales Order Trends,
Sales Order required for Item {0},
Sales Order {0} is not submitted,
Sales Order {0} is not valid,
Sales Order {0} is stopped,
Sales Partner,
Sales Partner Name,
Sales Partner Target,
Sales Partners Commission,
Sales Person,
Sales Person Name,
Sales Person Target Variance Item Group-Wise,
Sales Person Targets,
Sales Person-wise Transaction Summary,
Sales Register,
Sales Return,Zwrot sprzedaży
Sales Returned,
Sales Taxes and Charges,
Sales Taxes and Charges Master,
Sales Team,
Sales Team Details,
Sales Team1,
Sales and Purchase,
Sales campaigns.,
Salutation,
Sample Size,Wielkość próby
Sanctioned Amount,
Saturday,
Schedule,
Schedule Date,
Schedule Details,
Scheduled,
Scheduled Date,
Scheduled to send to {0},
Scheduled to send to {0} recipients,
Scheduler Failed Events,
School/University,
Score (0-5),
Score Earned,
Score must be less than or equal to 5,
Scrap %,
Seasonality for setting budgets.,
Secretary,
Secured Loans,
Securities & Commodity Exchanges,
Securities and Deposits,
"See ""Rate Of Materials Based On"" in Costing Section",
"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, if you want to track based on seasonality.",
Select DocType,
Select Items,
Select Purchase Receipts,
Select Sales Orders,
Select Sales Orders from which you want to create Production Orders.,
Select Time Logs and Submit to create a new Sales Invoice.,
Select Transaction,
Select Your Language,
Select account head of the bank where cheque was deposited.,
Select company name first.,
Select template from which you want to get the Goals,
Select the Employee for whom you are creating the Appraisal.,
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 who you want to send this newsletter to,
Select your home country and check the timezone and currency.,
"Selecting ""Yes"" will allow this item to appear in Purchase Order , Purchase Receipt.",Wybranie “Tak” pozwoli na dostępność tego produktu w Zamówieniach i Potwierdzeniach Odbioru
"Selecting ""Yes"" will allow this item to figure in Sales Order, Delivery Note",
"Selecting ""Yes"" will allow 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 give a unique identity to each entity of this item which can be viewed in the Serial No master.",
Selling,Sprzedaż
Selling Settings,
Send,Wyślij
Send Autoreply,
Send Email,
Send From,
Send Notifications To,
Send Now,
Send SMS,
Send To,
Send To Type,
Send mass SMS to your contacts,
Send to this list,
Sender Name,
Sent On,
Separate production order will be created for each finished good item.,
Serial No,Nr seryjny
Serial No / Batch,
Serial No Details,Szczegóły numeru seryjnego
Serial No Service Contract Expiry,
Serial No Status,
Serial No Warranty Expiry,
Serial No is mandatory for Item {0},
Serial No {0} created,
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 Warehouse {1},
Serial No {0} does not exist,
Serial No {0} has already been received,
Serial No {0} is under maintenance contract upto {1},
Serial No {0} is under warranty upto {1},
Serial No {0} not in stock,
Serial No {0} quantity {1} cannot be a fraction,
Serial No {0} status must be 'Available' to Deliver,
Serial Nos Required for Serialized Item {0},
Serial Number Series,
Serial number {0} entered more than once,
Serialized Item {0} cannot be updated \					using Stock Reconciliation,
Series,Seria
Series List for this Transaction,
Series Updated,
Series Updated Successfully,
Series is mandatory,
Series {0} already used in {1},
Service,Usługa
Service Address,
Services,Usługi
Set,Zbiór
"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 as Default,
Set as Lost,
Set prefix for numbering series on your transactions,
Set targets Item Group-wise for this Sales Person.,
Setting Account Type helps in selecting this Account in transactions.,
Setting up...,
Settings,
Settings for HR Module,
"Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""",
Setup,Ustawienia
Setup Already Complete!!,
Setup Complete,
Setup Series,
Setup Wizard,
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 support email id. (e.g. support@example.com),
Share,Podziel się
Share With,Podziel się z
Shareholders Funds,
Shipments to customers.,Dostawy do klientów.
Shipping,Dostawa
Shipping Account,
Shipping Address,Adres dostawy
Shipping Amount,
Shipping Rule,
Shipping Rule Condition,
Shipping Rule Conditions,
Shipping Rule Label,
Shop,Sklep
Shopping Cart,Koszyk
Short biography for website and other publications.,
"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.",
"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 in Website,
Show this slideshow at the top of the page,
Sick Leave,
Signature,Podpis
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.,
Slideshow,
Soap & Detergent,
Software,Oprogramowanie
Software Developer,Programista
"Sorry, Serial Nos cannot be merged",
"Sorry, companies cannot be merged",
Source,Źródło
Source File,
Source Warehouse,Magazyn źródłowy
Source and target warehouse cannot be same for row {0},
Source of Funds (Liabilities),
Source warehouse is mandatory for row {0},
Spartan,
"Special Characters except ""-"" and ""/"" not allowed in naming series",
Specification Details,Szczegóły specyfikacji
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 Taxes Master is valid",
"Specify the operations, operating cost and give a unique Operation no to your operations.",
Split Delivery Note into packages.,
Sports,
Standard,
Standard Buying,
Standard Rate,
Standard Reports,Raporty standardowe
Standard Selling,
Standard contract terms for Sales or Purchase.,
Start,
Start Date,
Start date of current invoice's period,
Start date should be less than end date for Item {0},
State,Stan
Static Parameters,
Status,
Status must be one of {0},
Status of {0} {1} is now {2},
Status updated to {0},
Statutory info and other general information about your Supplier,
Stay Updated,
Stock,Magazyn
Stock Adjustment,
Stock Adjustment Account,
Stock Ageing,
Stock Analytics,Analityka magazynu
Stock Assets,
Stock Balance,
Stock Entries already created for Production Order ,
Stock Entry,Dokument magazynowy
Stock Entry Detail,Szczególy wpisu magazynowego
Stock Expenses,
Stock Frozen Upto,
Stock Ledger,
Stock Ledger Entry,
Stock Ledger entries balances updated,
Stock Level,
Stock Liabilities,
Stock Projected Qty,
Stock Queue (FIFO),
Stock Received But Not Billed,
Stock Reconcilation Data,
Stock Reconcilation Template,
Stock Reconciliation,
"Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory.",
Stock Settings,
Stock UOM,
Stock UOM Replace Utility,
Stock UOM updatd for Item {0},
Stock Uom,
Stock Value,
Stock Value Difference,
Stock balances updated,
Stock cannot be updated against Delivery Note {0},
Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name',
Stop,
Stop Birthday Reminders,
Stop Material Request,
Stop users from making Leave Applications on following days.,
Stop!,
Stopped,
Stopped order cannot be cancelled. Unstop to cancel.,
Stores,
Stub,
Sub Assemblies,
"Sub-currency. For e.g. ""Cent""",
Subcontract,Zlecenie
Subject,Temat
Submit Salary Slip,
Submit all salary slips for the above selected criteria,
Submit this Production Order for further processing.,
Submitted,
Subsidiary,
Successful: ,
Successfully allocated,
Suggestions,Sugestie
Sunday,Niedziela
Supplier,Dostawca
Supplier (Payable) Account,
Supplier (vendor) name as entered in supplier master,
Supplier Account,
Supplier Account Head,
Supplier Address,Adres dostawcy
Supplier Addresses and Contacts,
Supplier Details,Szczegóły dostawcy
Supplier Intro,
Supplier Invoice Date,
Supplier Invoice No,
Supplier Name,Nazwa dostawcy
Supplier Naming By,
Supplier Part Number,Numer katalogowy dostawcy
Supplier Quotation,
Supplier Quotation Item,
Supplier Reference,
Supplier Type,Typ dostawcy
Supplier Type / Supplier,
Supplier Type master.,
Supplier Warehouse,Magazyn dostawcy
Supplier Warehouse mandatory for sub-contracted Purchase Receipt,
Supplier database.,
Supplier master.,
Supplier warehouse where you have issued raw materials for sub - contracting,
Supplier-Wise Sales Analytics,
Support,Wsparcie
Support Analtyics,
Support Analytics,
Support Email,
Support Email Settings,
Support Password,
Support Ticket,
Support queries from customers.,
Symbol,
Sync Support Mails,
Sync with Dropbox,
Sync with Google Drive,
System,
System Settings,
"System User (login) ID. If set, it will become default for all HR forms.",
Target  Amount,
Target Detail,
Target Details,
Target Details1,
Target Distribution,
Target On,
Target Qty,
Target Warehouse,
Target warehouse in row {0} must be same as Production Order,
Target warehouse is mandatory for row {0},
Task,
Task Details,
Tasks,
Tax,Podatek
Tax Amount After Discount Amount,
Tax Assets,
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 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 selling transactions.,
Taxable,
Taxes and Charges,Podatki i opłaty
Taxes and Charges Added,
Taxes and Charges Added (Company Currency),
Taxes and Charges Calculation,
Taxes and Charges Deducted,
Taxes and Charges Deducted (Company Currency),
Taxes and Charges Total,
Taxes and Charges Total (Company Currency),
Technology,Technologia
Telecommunications,
Telephone Expenses,
Television,Telewizja
Template for performance appraisals.,
Template of terms or contract.,
Temporary Accounts (Assets),
Temporary Accounts (Liabilities),
Temporary Assets,
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 Conditions1,
Terretory,Terytorium
Territory,Terytorium
Territory / Customer,
Territory Manager,
Territory Name,
Territory Target Variance Item Group-Wise,
Territory Targets,
Test,
Test Email Id,
Test the Newsletter,
The BOM which will be replaced,
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 Organization,
"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 recurring invoice will be stop,
"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 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 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 net weight of this package. (calculated automatically as sum of net weight of items),
The new BOM after replacement,
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.,
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 is not enough leave balance for Leave Type {0},
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 were errors.,
This Currency is disabled. Enable to use in transactions,
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 cancelled.,
This Time Log conflicts with {0},
This is a root account 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 sales person and cannot be edited.,
This is a root territory and cannot be edited.,
This is an example website auto-generated from ERPNext,
This is the number of the last created transaction with this prefix,
This will be used for setting rule in HR module,
Thread HTML,
Thursday,Czwartek
Time Log,
Time Log Batch,
Time Log Batch Detail,
Time Log Batch Details,
Time Log Batch {0} must be 'Submitted',
Time Log for tasks.,
Time Log {0} must be 'Submitted',
Time Zone,
Time Zones,
Time and Budget,
Time at which items were delivered from warehouse,
Time at which materials were received,
Title,
Titles for print templates e.g. Proforma Invoice.,
To,Do
To Currency,
To Date,
To Date should be same as From Date for Half Day leave,
To Discuss,
To Do List,
To Package No.,
To Produce,
To Time,
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 assign this issue, use the ""Assign"" button in the sidebar.",
To create a Bank Account:,
To create a Tax Account:,
"To create an Account Head under a different company, select the company and save customer.",
To date cannot be before from date,
To enable <b>Point of Sale</b> features,
To enable <b>Point of Sale</b> view,
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 merge, following properties must be same for both items",
"To report an issue, go to ",
"To set this Fiscal Year as Default, click on 'Set as Default'",
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 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 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 Advance,
Total Allocated Amount,
Total Allocated Amount can not be greater than unmatched amount,
Total Amount,Wartość całkowita
Total Amount To Pay,
Total Amount in Words,
Total Billing This Year: ,
Total Claimed Amount,
Total Commission,
Total Cost,Koszt całkowity
Total Credit,
Total Debit,
Total Debit must be equal to Total Credit. The difference is {0},
Total Deduction,
Total Earning,
Total Experience,
Total Hours,
Total Hours (Expected),
Total Invoiced Amount,
Total Leave Days,
Total Leaves Allocated,
Total Message(s),
Total Operating Cost,Całkowity koszt operacyjny
Total Points,
Total Raw Material Cost,Całkowity koszt surowców
Total Sanctioned Amount,
Total Score (Out of 5),
Total Tax (Company Currency),
Total Taxes and Charges,
Total Taxes and Charges (Company Currency),
Total Words,
Total Working Days In The Month,
Total allocated percentage for sales team should be 100,
Total amount of invoices received from suppliers during the digest period,
Total amount of invoices sent to the customer during the digest period,
Total cannot be zero,
Total in words,
Total points for all goals 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 this Delivery Note against any Project,
Track this Sales Order against any Project,
Transaction,
Transaction Date,Data transakcji
Transaction not allowed against stopped Production Order {0},
Transfer,
Transfer Material,
Transfer Raw Materials,
Transferred Qty,
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,
Tree Type,
Tree of Item Groups.,
Tree of finanial Cost Centers.,
Tree of finanial accounts.,
Trial Balance,
Tuesday,Wtorek
Type,Typ
Type of document to rename.,
"Type of leaves like casual, sick etc.",
Types of Expense Claim.,
Types of activities for Time Sheets,
"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 is required in row {0},
UOM Name,Nazwa Jednostki Miary
UOM coversion factor required for UOM {0} in Item {1},
Under AMC,
Under Graduate,
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 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,
Unmatched Amount,
Unpaid,
Unscheduled,
Unsecured Loans,
Unstop,
Unstop Material Request,
Unstop Purchase Order,
Unsubscribed,
Update,
Update Clearance Date,
Update Cost,
Update Finished Goods,
Update Landed Cost,
Update Series,
Update Series Number,
Update Stock,
"Update allocated amount in the above table and then click ""Allocate"" button",
Update bank payment dates with journals.,
Update clearance date of Journal Entries marked as 'Bank Vouchers',
Updated,
Updated Birthday Reminders,
Upload Attendance,
Upload Backups to Dropbox,
Upload Backups to Google Drive,
Upload HTML,
Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,
Upload attendance from a .csv file,
Upload stock balance via csv.,
Upload your letter head and logo - you can edit them later.,
Upper Income,
Urgent,
Use Multi-Level BOM,Używaj wielopoziomowych zestawień materiałowych
Use SSL,
User,Użytkownik
User ID,
User ID not set for Employee {0},
User Name,
User Name or Support Password missing. Please enter and try again.,
User Remark,
User Remark will be added to Auto Remark,
User Remarks is mandatory,
User Specific,
User must always select,
User {0} is already assigned to Employee {1},
User {0} is disabled,
Username,
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,
Utilities,
Utility Expenses,
Valid For Territories,
Valid From,
Valid Upto,
Valid for Territories,
Validate,
Valuation,
Valuation Method,Metoda wyceny
Valuation Rate,
Valuation Rate required for Item {0},
Valuation and Total,
Value,
Value or Qty,
Vehicle Dispatch Date,
Vehicle No,Nr rejestracyjny pojazdu
Venture Capital,
Verified By,Zweryfikowane przez
View Ledger,
View Now,
Visit report for maintenance call.,
Voucher #,
Voucher Detail No,
Voucher ID,
Voucher No,
Voucher No is not valid,
Voucher Type,
Voucher Type and Date,
Walk In,
Warehouse,Magazyn
Warehouse Contact Info,Dane kontaktowe dla magazynu
Warehouse Detail,Szczegóły magazynu
Warehouse Name,Nazwa magazynu
Warehouse and Reference,
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 cannot be changed for Serial No.,
Warehouse is mandatory for stock Item {0} in row {1},
Warehouse is missing in Purchase Order,
Warehouse not found in the system,
Warehouse required for stock Item {0},
Warehouse required in POS Setting,
Warehouse where you are maintaining stock of rejected items,
Warehouse {0} can not be deleted as quantity exists for Item {1},
Warehouse {0} does not belong to company {1},
Warehouse {0} does not exist,
Warehouse-Wise Stock Balance,
Warehouse-wise Item Reorder,
Warehouses,Magazyny
Warehouses.,Magazyny.
Warn,
Warning: Leave application contains following block dates,
Warning: Material Requested Qty is less than Minimum Order Qty,
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,
Warranty / AMC Details,
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 sell this Item,
Website,Strona internetowa
Website Description,
Website Item Group,
Website Item Groups,
Website Settings,
Website Warehouse,
Wednesday,Środa
Weekly,Tygodniowo
Weekly Off,
Weight UOM,
"Weight is mentioned,\nPlease mention ""Weight UOM"" too",
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. Please select your language to begin the Setup Wizard.,
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 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,
Will be calculated automatically when you enter the details,
Will be updated after Sales Invoice is Submitted.,
Will be updated when batched.,
Will be updated when billed.,
Wire Transfer,Przelew
With Operations,Wraz z działaniami
With period closing entry,
Work Details,
Work Done,
Work In Progress,
Work-in-Progress Warehouse,Magazyn dla produkcji
Work-in-Progress Warehouse is required before Submit,
Working,
Workstation,Stacja robocza
Workstation Name,Nazwa stacji roboczej
Write Off Account,
Write Off Amount,
Write Off Amount <=,
Write Off Based On,
Write Off Cost Center,
Write Off Outstanding Amount,
Write Off Voucher,
Wrong Template: Unable to find head row.,
Year,Rok
Year Closed,
Year End Date,
Year Name,
Year Start Date,
Year Start Date and Year End Date are already set in Fiscal Year {0},
Year Start Date and Year End Date are not within Fiscal Year.,
Year Start Date should not be greater than Year End Date,
Year of Passing,
Yearly,Rocznie
Yes,Tak
You are not authorized to add or update entries before {0},
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 Leave Approver for this record. Please Update the 'Status' and Save,
You can enter any date manually,
You can enter the minimum quantity of this item to be ordered.,"Można wpisać minimalna ilość tego produktu, którą zamierza się zamawiać."
You can not assign itself as parent account,
You can not 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 current voucher in 'Against Journal Voucher' column,
You can set Default Bank Account in Company master,
You can start by selecting backup frequency and granting access for sync,
You can submit this Stock Reconciliation.,
You can update either Quantity or Valuation Rate or both.,
You cannot credit and debit same account at the same time,
You have entered duplicate items. Please rectify and try again.,
You may need to update: {0},
You must Save the form before proceeding,
You must allocate amount before reconcile,
Your Customer's TAX registration numbers (if applicable) or any general information,
Your Customers,
Your Login Id,
Your Products or Services,
Your Suppliers,
Your email address,
Your financial year begins on,
Your financial year ends on,
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 setup is complete. Refreshing...,
Your support email id - must be a valid email - this is where your emails will come!,
[Select],
`Freeze Stocks Older Than` should be smaller than %d days.,
and,
are not allowed.,
assigned by,
"e.g. ""Build tools for builders""",
"e.g. ""MC""",
"e.g. ""My Company LLC""",
e.g. 5,
"e.g. Bank, Cash, Credit Card",
"e.g. Kg, Unit, Nos, m",
e.g. VAT,
eg. Cheque Number,
example: Next Day Shipping,
lft,
old_parent,
rgt,
website page link,
{0} '{1}' not in Fiscal Year {2},
{0} Credit limit {0} crossed,
{0} Serial Numbers required for Item {0}. Only {0} provided.,
{0} budget for Account {1} against Cost Center {2} will exceed by {3},
{0} created,
{0} does not belong to Company {1},
{0} entered twice in Item Tax,
{0} is an invalid email address in 'Notification Email Address',
{0} is mandatory,
{0} is mandatory for Item {1},
{0} is not a stock Item,
{0} is not a valid Batch Number for Item {1},
{0} is not a valid Leave Approver,
{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 required,
{0} must be a Purchased or Sub-Contracted Item in row {1},
{0} must be less than or equal to {1},
{0} must have role 'Leave Approver',
{0} valid serial nos for Item {1},
{0} {1} against Bill {2} dated {3},
{0} {1} against Invoice {2},
{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} is not submitted,
{0} {1} must be submitted,
{0} {1} not in any Fiscal Year,
{0} {1} status is 'Stopped',
{0} {1} status is Stopped,
{0} {1} status is Unstopped,
